summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x[-rw-r--r--]Code/Server-Code/ClientClass.py (renamed from For Weekly Test/12-09-2011/ClientClass.py)0
-rw-r--r--Code/Server-Code/ClientClass.pyc (renamed from For Weekly Test/tricode/ClientClass.pyc)bin3628 -> 3628 bytes
-rwxr-xr-xCode/Server-Code/ControllerClass.py (renamed from For Weekly Test/tricode/ControllerClass.py)0
-rw-r--r--Code/Server-Code/ControllerClass.pyc (renamed from For Weekly Test/tricode/ControllerClass.pyc)bin9247 -> 8953 bytes
-rwxr-xr-xCode/Server-Code/DbClass.py (renamed from For Weekly Test/tricode/DbClass.py)0
-rw-r--r--Code/Server-Code/DbClass.pyc (renamed from For Weekly Test/tricode/DbClass.pyc)bin11712 -> 11712 bytes
-rw-r--r--Code/Server-Code/GSMClass.py (renamed from For Weekly Test/tricode/GSMClass.py)0
-rw-r--r--Code/Server-Code/GSMClass.pyc (renamed from For Weekly Test/tricode/GSMClass.pyc)bin7337 -> 7337 bytes
-rw-r--r--Code/Server-Code/GSMExt.Eplus handler.log288
-rw-r--r--Code/Server-Code/GSMExt.O2 handler.log280
-rw-r--r--Code/Server-Code/GSMExt.Tm handler.log328
-rw-r--r--Code/Server-Code/GSMExt.Voda handler.log192
-rw-r--r--Code/Server-Code/GSMHandler.py (renamed from For Weekly Test/tricode/GSMHandler.py)0
-rw-r--r--Code/Server-Code/GSMRZ1 handler.log590
-rw-r--r--Code/Server-Code/Landline handler.log605
-rwxr-xr-x[-rw-r--r--]Code/Server-Code/LogFileClass.py (renamed from For Weekly Test/12-09-2011/LogFileClass.py)0
-rw-r--r--Code/Server-Code/LogFileClass.pyc (renamed from For Weekly Test/tricode/LogFileClass.pyc)bin1509 -> 1509 bytes
-rwxr-xr-x[-rw-r--r--]Code/Server-Code/PingClass.py (renamed from For Weekly Test/12-09-2011/PingClass.py)0
-rw-r--r--Code/Server-Code/PingClass.pyc (renamed from For Weekly Test/tricode/PingClass.pyc)bin1263 -> 1263 bytes
-rw-r--r--Code/Server-Code/SIP handler.log2177
-rwxr-xr-xCode/Server-Code/SIPHandler.py (renamed from For Weekly Test/tricode/SIPHandler.py)0
-rwxr-xr-xCode/Server-Code/SSHTunnelBoxClass.py (renamed from For Weekly Test/tricode/SSHTunnelBoxClass.py)0
-rw-r--r--Code/Server-Code/SSHTunnelBoxClass.pyc (renamed from For Weekly Test/tricode/SSHTunnelBoxClass.pyc)bin1852 -> 1852 bytes
-rwxr-xr-x[-rw-r--r--]Code/Server-Code/ServerClass.py (renamed from For Weekly Test/12-09-2011/ServerClass.py)0
-rw-r--r--Code/Server-Code/ServerClass.pyc (renamed from For Weekly Test/tricode/ServerClass.pyc)bin4596 -> 4596 bytes
-rw-r--r--Code/Server-Code/ServerClassSoftware.py (renamed from For Weekly Test/tricode/ServerClassSoftware.py)0
-rw-r--r--Code/Server-Code/ServerClassSoftware.pyc (renamed from For Weekly Test/tricode/ServerClassSoftware.pyc)bin4802 -> 4802 bytes
-rw-r--r--Code/Server-Code/TestProcessLog.log5589
-rw-r--r--Code/Server-Code/University SIP handler.log633
-rwxr-xr-xCode/Server-Code/gsmselftest.py (renamed from For Weekly Test/tricode/gsmselftest.py)0
-rwxr-xr-xCode/Server-Code/help.txt17
-rwxr-xr-xCode/Server-Code/initTestClass.py (renamed from For Weekly Test/tricode/initTestClass.py)0
-rw-r--r--Code/Server-Code/initTestClass.pyc (renamed from For Weekly Test/tricode/initTestClass.pyc)bin7497 -> 7497 bytes
-rwxr-xr-x[-rw-r--r--]Code/Server-Code/startSoftware.py (renamed from For Weekly Test/tricode/startSoftware.py)2
-rwxr-xr-xCode/Server-Code/trueTableClass.py (renamed from For Weekly Test/tricode/trueTableClass.py)14
-rw-r--r--Code/Server-Code/trueTableClass.pycbin0 -> 4431 bytes
-rwxr-xr-xCode/Server-Code/usbDetectClass.py (renamed from For Weekly Test/tricode/usbDetectClass.py)1
-rw-r--r--Code/Server-Code/usbDetectClass.pycbin0 -> 3384 bytes
-rw-r--r--Database/gsmselftesting.sql196
-rw-r--r--For Weekly Test/.DS_Storebin12292 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/ClientClass.pycbin3655 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/ControllerClass.py227
-rw-r--r--For Weekly Test/12-09-2011/ControllerClass.pycbin7340 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/DbClass.py215
-rw-r--r--For Weekly Test/12-09-2011/DbClass.pycbin6287 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/GSM EPlus handler.log32
-rw-r--r--For Weekly Test/12-09-2011/GSM O2 handler.log104
-rw-r--r--For Weekly Test/12-09-2011/GSM RZ1 handler.log132
-rw-r--r--For Weekly Test/12-09-2011/GSM TMobile handler.log40
-rw-r--r--For Weekly Test/12-09-2011/GSM Vodaphone handler.log48
-rw-r--r--For Weekly Test/12-09-2011/GSMClass.py304
-rw-r--r--For Weekly Test/12-09-2011/GSMClass.pycbin7332 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/GSMHandler.py286
-rw-r--r--For Weekly Test/12-09-2011/Landline handler.log327
-rw-r--r--For Weekly Test/12-09-2011/LogFileClass.pycbin1524 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/PingClass.pycbin1275 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/SIP handler.log882
-rw-r--r--For Weekly Test/12-09-2011/SIPHandler.py233
-rw-r--r--For Weekly Test/12-09-2011/SSHTunnelBoxClass.py45
-rw-r--r--For Weekly Test/12-09-2011/SSHTunnelBoxClass.pycbin1850 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/SSHTunnelClass.py47
-rw-r--r--For Weekly Test/12-09-2011/ServerClass.pycbin4563 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/TestProcessLog.log1210
-rw-r--r--For Weekly Test/12-09-2011/University SIP handler.log184
-rw-r--r--For Weekly Test/12-09-2011/gsmselftest.py783
-rw-r--r--For Weekly Test/12-09-2011/gsmselftest1.py300
-rw-r--r--For Weekly Test/12-09-2011/gsmselftest2.py382
-rw-r--r--For Weekly Test/12-09-2011/help.txt15
-rw-r--r--For Weekly Test/12-09-2011/initTestClass.py148
-rw-r--r--For Weekly Test/12-09-2011/initTestClass.pycbin4284 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/sshtest.py15
-rw-r--r--For Weekly Test/12-09-2011/trueTableClass.py198
-rw-r--r--For Weekly Test/12-09-2011/trueTableClass.pycbin3586 -> 0 bytes
-rw-r--r--For Weekly Test/12-09-2011/usbDetectClass.py88
-rw-r--r--For Weekly Test/12-09-2011/usbDetectClass.pycbin3492 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/.DS_Storebin6148 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/ClientClass.py123
-rw-r--r--For Weekly Test/19-08-2011/ClientClass.pycbin3655 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/ControllerClass.py233
-rw-r--r--For Weekly Test/19-08-2011/ControllerClass.pycbin7153 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/DbClass.py298
-rw-r--r--For Weekly Test/19-08-2011/DbClass.pycbin8232 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/GSM EPlus handler.log202
-rw-r--r--For Weekly Test/19-08-2011/GSM O2 handler.log265
-rw-r--r--For Weekly Test/19-08-2011/GSM TMobile handler.log72
-rw-r--r--For Weekly Test/19-08-2011/GSM Vodaphone handler.log184
-rw-r--r--For Weekly Test/19-08-2011/GSMClass.py304
-rw-r--r--For Weekly Test/19-08-2011/GSMClass.pycbin7202 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/GSMHandler.py286
-rw-r--r--For Weekly Test/19-08-2011/Landline handler.log246
-rw-r--r--For Weekly Test/19-08-2011/LogFileClass.py21
-rw-r--r--For Weekly Test/19-08-2011/LogFileClass.pycbin1524 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/PingClass.py28
-rw-r--r--For Weekly Test/19-08-2011/PingClass.pycbin1275 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/SIP handler.log1465
-rw-r--r--For Weekly Test/19-08-2011/SIPHandler.py229
-rw-r--r--For Weekly Test/19-08-2011/ServerClass.py152
-rw-r--r--For Weekly Test/19-08-2011/ServerClass.pycbin4629 -> 0 bytes
-rw-r--r--For Weekly Test/19-08-2011/TestProcessLog.log1630
-rw-r--r--For Weekly Test/19-08-2011/University SIP handler.log34
-rw-r--r--For Weekly Test/19-08-2011/gsmselftest.py293
-rw-r--r--For Weekly Test/19-08-2011/gsmselftest1.py902
-rw-r--r--For Weekly Test/19-08-2011/help.txt12
-rw-r--r--For Weekly Test/19-08-2011/inserttest.py25
-rw-r--r--For Weekly Test/Advance/.DS_Storebin15364 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/ClientClass.py123
-rw-r--r--For Weekly Test/Advance/ClientClass.pycbin3457 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/ControllerClass.py231
-rw-r--r--For Weekly Test/Advance/ControllerClass.pycbin7712 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/DbClass.py243
-rw-r--r--For Weekly Test/Advance/DbClass.pycbin6699 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/GSMClass.py304
-rw-r--r--For Weekly Test/Advance/GSMClass.pycbin6916 -> 0 bytes
-rw-r--r--For Weekly Test/Advance/GSMExt.Eplus handler.log0
-rw-r--r--For Weekly Test/Advance/GSMExt.O2 handler.log0
-rw-r--r--For Weekly Test/Advance/GSMExt.Tm handler.log0
-rw-r--r--For Weekly Test/Advance/GSMExt.Voda handler.log0
-rwxr-xr-xFor Weekly Test/Advance/GSMHandler.py271
-rw-r--r--For Weekly Test/Advance/GSMRZ1 handler.log601
-rw-r--r--For Weekly Test/Advance/Landline handler.log508
-rwxr-xr-xFor Weekly Test/Advance/LogFileClass.py21
-rw-r--r--For Weekly Test/Advance/LogFileClass.pycbin1414 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/PingClass.py28
-rw-r--r--For Weekly Test/Advance/PingClass.pycbin1187 -> 0 bytes
-rw-r--r--For Weekly Test/Advance/SIP handler.log3063
-rwxr-xr-xFor Weekly Test/Advance/SIPHandler.py252
-rwxr-xr-xFor Weekly Test/Advance/SSHTunnelBoxClass.py45
-rw-r--r--For Weekly Test/Advance/SSHTunnelBoxClass.pycbin1740 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/SSHTunnelClass.py47
-rwxr-xr-xFor Weekly Test/Advance/ServerClass.py152
-rw-r--r--For Weekly Test/Advance/ServerClass.pycbin4387 -> 0 bytes
-rw-r--r--For Weekly Test/Advance/TestProcessLog.log6392
-rw-r--r--For Weekly Test/Advance/University SIP handler.log583
-rw-r--r--For Weekly Test/Advance/callorig.py171
-rw-r--r--For Weekly Test/Advance/callorigTest.py172
-rwxr-xr-xFor Weekly Test/Advance/gsmselftest-website.py480
-rwxr-xr-xFor Weekly Test/Advance/gsmselftest-website2.py461
-rwxr-xr-xFor Weekly Test/Advance/gsmselftest.py389
-rwxr-xr-xFor Weekly Test/Advance/help.txt17
-rwxr-xr-xFor Weekly Test/Advance/initTestClass.py264
-rw-r--r--For Weekly Test/Advance/initTestClass.pycbin6538 -> 0 bytes
-rw-r--r--For Weekly Test/Advance/number.py17
-rwxr-xr-xFor Weekly Test/Advance/serialTest.py38
-rw-r--r--For Weekly Test/Advance/testingfile.py49
-rwxr-xr-xFor Weekly Test/Advance/trueTableClass.py164
-rw-r--r--For Weekly Test/Advance/trueTableClass.pycbin4164 -> 0 bytes
-rwxr-xr-xFor Weekly Test/Advance/usbDetectClass.py93
-rw-r--r--For Weekly Test/Advance/usbDetectClass.pycbin3444 -> 0 bytes
-rw-r--r--For Weekly Test/Backup/_OriglandlineCall.py203
-rw-r--r--For Weekly Test/Backup/checkingNumberClass.py79
-rw-r--r--For Weekly Test/Backup/inserttest.py28
-rw-r--r--For Weekly Test/Backup/landlineCall.py205
-rw-r--r--For Weekly Test/Backup/landlineReceiver.py111
-rw-r--r--For Weekly Test/Backup/truetable.py211
-rw-r--r--For Weekly Test/Backup/usbDetect.py156
-rw-r--r--For Weekly Test/DBProblem/DbClass.py252
-rw-r--r--For Weekly Test/DBProblem/DbClass.pycbin7074 -> 0 bytes
-rw-r--r--For Weekly Test/DBProblem/inserte.py24
-rw-r--r--For Weekly Test/DBProblem/test3.py36
-rw-r--r--For Weekly Test/Old/07-07-2011/Controller-SecondType.py308
-rw-r--r--For Weekly Test/Old/07-07-2011/Controller-SecondType_withDB.py339
-rw-r--r--For Weekly Test/Old/07-07-2011/ca_stMa.py153
-rw-r--r--For Weekly Test/Old/07-07-2011/classClient.py66
-rw-r--r--For Weekly Test/Old/07-07-2011/classClient.pycbin2759 -> 0 bytes
-rw-r--r--For Weekly Test/Old/07-07-2011/classDb.py212
-rw-r--r--For Weekly Test/Old/07-07-2011/classDb.pycbin5926 -> 0 bytes
-rw-r--r--For Weekly Test/Old/07-07-2011/classPing.py28
-rw-r--r--For Weekly Test/Old/07-07-2011/classServer.py94
-rw-r--r--For Weekly Test/Old/07-07-2011/classServer.pycbin3365 -> 0 bytes
-rw-r--r--For Weekly Test/Old/07-07-2011/gsmcall2_.py102
-rw-r--r--For Weekly Test/Old/07-07-2011/gsmcall_.py105
-rw-r--r--For Weekly Test/Old/07-07-2011/gsmincom_.py155
-rw-r--r--For Weekly Test/Old/07-07-2011/sipCall.py176
-rw-r--r--For Weekly Test/Old/07-07-2011/sipReceiver.py177
-rw-r--r--For Weekly Test/Old/15-07-2011/Controller-SecondType.py308
-rw-r--r--For Weekly Test/Old/15-07-2011/Controller-SecondType_withDB.py342
-rw-r--r--For Weekly Test/Old/15-07-2011/LandlineCall.py166
-rw-r--r--For Weekly Test/Old/15-07-2011/LandlineReceiver.py160
-rw-r--r--For Weekly Test/Old/15-07-2011/classClient.py66
-rw-r--r--For Weekly Test/Old/15-07-2011/classClient.pycbin2759 -> 0 bytes
-rw-r--r--For Weekly Test/Old/15-07-2011/classDb.py212
-rw-r--r--For Weekly Test/Old/15-07-2011/classDb.pycbin5926 -> 0 bytes
-rw-r--r--For Weekly Test/Old/15-07-2011/classPing.py28
-rw-r--r--For Weekly Test/Old/15-07-2011/classPing.pycbin1283 -> 0 bytes
-rw-r--r--For Weekly Test/Old/15-07-2011/classServer.py94
-rw-r--r--For Weekly Test/Old/15-07-2011/classServer.pycbin3365 -> 0 bytes
-rw-r--r--For Weekly Test/Old/15-07-2011/gsmcall2_.py102
-rw-r--r--For Weekly Test/Old/15-07-2011/gsmcall_.py105
-rw-r--r--For Weekly Test/Old/15-07-2011/gsmincom_.py134
-rw-r--r--For Weekly Test/Old/15-07-2011/localsipReceiver.py160
-rw-r--r--For Weekly Test/Old/15-07-2011/sipCall.py180
-rw-r--r--For Weekly Test/Old/15-07-2011/sipReceiver.py177
-rw-r--r--For Weekly Test/Old/20-07-2011/Controller.py183
-rw-r--r--For Weekly Test/Old/20-07-2011/LogFileClass.py21
-rw-r--r--For Weekly Test/Old/20-07-2011/LogFileClass.pycbin1534 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/Testing.py44
-rw-r--r--For Weekly Test/Old/20-07-2011/UniSIPRecHandler.log15
-rw-r--r--For Weekly Test/Old/20-07-2011/classClient.py123
-rw-r--r--For Weekly Test/Old/20-07-2011/classClient.pycbin3673 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/classController.py239
-rw-r--r--For Weekly Test/Old/20-07-2011/classController.pycbin4893 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/classDB.py271
-rw-r--r--For Weekly Test/Old/20-07-2011/classDb.pycbin5978 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/classPing.py28
-rw-r--r--For Weekly Test/Old/20-07-2011/classPing.pycbin1283 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/classServer.py152
-rw-r--r--For Weekly Test/Old/20-07-2011/classServer.pycbin4651 -> 0 bytes
-rw-r--r--For Weekly Test/Old/20-07-2011/gsmcall_.py105
-rw-r--r--For Weekly Test/Old/20-07-2011/gsmincom_.py148
-rw-r--r--For Weekly Test/Old/20-07-2011/landlineCall.py135
-rw-r--r--For Weekly Test/Old/20-07-2011/landlineReceiver.py111
-rw-r--r--For Weekly Test/Old/20-07-2011/localsipReceiver.py112
-rw-r--r--For Weekly Test/Old/20-07-2011/sipCall.py135
-rw-r--r--For Weekly Test/Old/20-07-2011/sipCallHandler.log112
-rw-r--r--For Weekly Test/Old/20-07-2011/sipReceiver.py111
-rw-r--r--For Weekly Test/Old/23-07-2011/2classController.py141
-rw-r--r--For Weekly Test/Old/23-07-2011/2sipHandler.py182
-rw-r--r--For Weekly Test/Old/23-07-2011/Controller.py54
-rw-r--r--For Weekly Test/Old/23-07-2011/LogFileClass.py21
-rw-r--r--For Weekly Test/Old/23-07-2011/LogFileClass.pycbin1514 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/Testing.py44
-rw-r--r--For Weekly Test/Old/23-07-2011/classCheck.py28
-rw-r--r--For Weekly Test/Old/23-07-2011/classClient.py122
-rw-r--r--For Weekly Test/Old/23-07-2011/classClient.pycbin3637 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/classController.log91
-rw-r--r--For Weekly Test/Old/23-07-2011/classController.py154
-rw-r--r--For Weekly Test/Old/23-07-2011/classController.pycbin3708 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/classDB.py271
-rw-r--r--For Weekly Test/Old/23-07-2011/classDb.pycbin5978 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/classPing.py28
-rw-r--r--For Weekly Test/Old/23-07-2011/classPing.pycbin1267 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/classServer.py152
-rw-r--r--For Weekly Test/Old/23-07-2011/classServer.pycbin4607 -> 0 bytes
-rw-r--r--For Weekly Test/Old/23-07-2011/sipHandler.log252
-rw-r--r--For Weekly Test/Old/23-07-2011/sipHandler.py189
-rw-r--r--For Weekly Test/Old/23-07-2011/test.py8
-rw-r--r--For Weekly Test/Old/23-07-2011/test1.py7
-rw-r--r--For Weekly Test/Old/23-07-2011/testing.log8
-rw-r--r--For Weekly Test/Old/23-07-2011/testingcc.log4
-rw-r--r--For Weekly Test/Old/30-07-2011/ClientClass.py123
-rw-r--r--For Weekly Test/Old/30-07-2011/ClientClass.pycbin3601 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/Controller.py98
-rw-r--r--For Weekly Test/Old/30-07-2011/ControllerClass.py233
-rw-r--r--For Weekly Test/Old/30-07-2011/ControllerClass.pycbin6970 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/DbClass.py295
-rw-r--r--For Weekly Test/Old/30-07-2011/DbClass.pycbin8119 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/GSMClass.py304
-rw-r--r--For Weekly Test/Old/30-07-2011/GSMClass.pycbin7176 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/GSMHandler.py286
-rw-r--r--For Weekly Test/Old/30-07-2011/Landline handler.log210
-rw-r--r--For Weekly Test/Old/30-07-2011/LogFileClass.py21
-rw-r--r--For Weekly Test/Old/30-07-2011/LogFileClass.pycbin1494 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/PingClass.py28
-rw-r--r--For Weekly Test/Old/30-07-2011/PingClass.pycbin1251 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/SIP handler.log168
-rw-r--r--For Weekly Test/Old/30-07-2011/SIPHandler.py229
-rw-r--r--For Weekly Test/Old/30-07-2011/ServerClass.py152
-rw-r--r--For Weekly Test/Old/30-07-2011/ServerClass.pycbin4563 -> 0 bytes
-rw-r--r--For Weekly Test/Old/30-07-2011/TestProcessLog.log200
-rw-r--r--For Weekly Test/Old/30-07-2011/gsmselftest.py293
-rw-r--r--For Weekly Test/Old/30-07-2011/help.txt11
-rw-r--r--For Weekly Test/Old/30-07-2011/true table.txt43
-rwxr-xr-xFor Weekly Test/tricode/ClientClass.py123
-rw-r--r--For Weekly Test/tricode/GSMExt.Eplus handler.log368
-rw-r--r--For Weekly Test/tricode/GSMExt.O2 handler.log432
-rw-r--r--For Weekly Test/tricode/GSMExt.Tm handler.log352
-rw-r--r--For Weekly Test/tricode/GSMExt.Voda handler.log264
-rw-r--r--For Weekly Test/tricode/GSMRZ1 handler.log888
-rw-r--r--For Weekly Test/tricode/Landline handler.log3142
-rwxr-xr-xFor Weekly Test/tricode/LogFileClass.py21
-rw-r--r--For Weekly Test/tricode/Login.html13
-rwxr-xr-xFor Weekly Test/tricode/PingClass.py28
-rw-r--r--For Weekly Test/tricode/SIP handler.log13841
-rwxr-xr-xFor Weekly Test/tricode/ServerClass.py152
-rw-r--r--For Weekly Test/tricode/TaskTest.html254
-rw-r--r--For Weekly Test/tricode/TestProcessLog.log4574
-rw-r--r--For Weekly Test/tricode/University SIP handler.log4080
-rw-r--r--For Weekly Test/tricode/callorigTest.py172
-rw-r--r--For Weekly Test/tricode/css/layout.css15
-rw-r--r--For Weekly Test/tricode/devconf.html95
-rw-r--r--For Weekly Test/tricode/devconf.php154
-rw-r--r--For Weekly Test/tricode/devconfigManual.php56
-rwxr-xr-xFor Weekly Test/tricode/gsmselftest-website2.py537
-rw-r--r--For Weekly Test/tricode/gsmselftest-website3.py765
-rwxr-xr-xFor Weekly Test/tricode/gsmselftest1.py389
-rwxr-xr-xFor Weekly Test/tricode/help.txt18
-rw-r--r--For Weekly Test/tricode/initTestClass3.py288
-rw-r--r--For Weekly Test/tricode/insertData.php81
-rw-r--r--For Weekly Test/tricode/insertdevice.php21
-rw-r--r--For Weekly Test/tricode/main.php59
-rw-r--r--For Weekly Test/tricode/networkResult.php308
-rw-r--r--For Weekly Test/tricode/nohup.out36
-rw-r--r--For Weekly Test/tricode/post.php470
-rwxr-xr-xFor Weekly Test/tricode/serialTest.py38
-rw-r--r--For Weekly Test/tricode/startTest2.php447
-rw-r--r--For Weekly Test/tricode/testCase.php209
-rw-r--r--For Weekly Test/tricode/testingfile.py49
-rw-r--r--For Weekly Test/tricode/trueTableClass.pycbin4583 -> 0 bytes
-rw-r--r--For Weekly Test/tricode/usbDetectClass.pycbin3590 -> 0 bytes
-rw-r--r--Handler/ca_stMa.py153
-rw-r--r--Handler/classServer.py91
-rw-r--r--Handler/classServer.pycbin3138 -> 0 bytes
-rw-r--r--Handler/re_stMa.py152
-rw-r--r--Handler/sipHandler.py229
-rw-r--r--Website/Images/AutoIcon.png (renamed from For Weekly Test/tricode/Images/AutoIcon.png)bin6470 -> 6470 bytes
-rw-r--r--Website/Images/BackGround.jpg (renamed from For Weekly Test/tricode/Images/BackGround.jpg)bin156368 -> 156368 bytes
-rw-r--r--Website/Images/BackgroundLogin.png (renamed from For Weekly Test/tricode/Images/BackgroundLogin.png)bin88100 -> 88100 bytes
-rw-r--r--Website/Images/CheckAllButton.png (renamed from For Weekly Test/tricode/Images/CheckAllButton.png)bin5425 -> 5425 bytes
-rw-r--r--Website/Images/ChooseIcon.png (renamed from For Weekly Test/tricode/Images/ChooseIcon.png)bin12477 -> 12477 bytes
-rw-r--r--Website/Images/GSMTestButton.png (renamed from For Weekly Test/tricode/Images/GSMTestButton.png)bin5563 -> 5563 bytes
-rw-r--r--Website/Images/ManualIcon.png (renamed from For Weekly Test/tricode/Images/ManualIcon.png)bin6787 -> 6787 bytes
-rw-r--r--Website/Images/MobilePhone.png (renamed from For Weekly Test/tricode/Images/MobilePhone.png)bin45698 -> 45698 bytes
-rw-r--r--Website/Images/MobilePhoneIcon.png (renamed from For Weekly Test/tricode/Images/MobilePhoneIcon.png)bin13814 -> 13814 bytes
-rw-r--r--Website/Images/SIPTestButton.png (renamed from For Weekly Test/tricode/Images/SIPTestButton.png)bin5300 -> 5300 bytes
-rw-r--r--Website/Images/SmartIcon.png (renamed from For Weekly Test/tricode/Images/SmartIcon.png)bin11983 -> 11983 bytes
-rw-r--r--Website/Images/SubmitButton.png (renamed from For Weekly Test/tricode/Images/SubmitButton.png)bin5364 -> 5364 bytes
-rw-r--r--Website/Images/UncheckButton.png (renamed from For Weekly Test/tricode/Images/UncheckButton.png)bin5575 -> 5575 bytes
-rw-r--r--Website/Images/border1.png (renamed from For Weekly Test/tricode/Images/border1.png)bin2950 -> 2950 bytes
-rw-r--r--Website/TaskTest.html (renamed from Website/tricode/TaskTest.html)10
-rw-r--r--Website/about.html (renamed from For Weekly Test/tricode/about.html)4
-rw-r--r--Website/class/pBarcode128.class.php (renamed from For Weekly Test/tricode/class/pBarcode128.class.php)0
-rw-r--r--Website/class/pBarcode39.class.php (renamed from For Weekly Test/tricode/class/pBarcode39.class.php)0
-rw-r--r--Website/class/pBubble.class.php (renamed from For Weekly Test/tricode/class/pBubble.class.php)0
-rw-r--r--Website/class/pCache.class.php (renamed from For Weekly Test/tricode/class/pCache.class.php)0
-rw-r--r--Website/class/pData.class.php (renamed from For Weekly Test/tricode/class/pData.class.php)0
-rw-r--r--Website/class/pDraw.class.php (renamed from For Weekly Test/tricode/class/pDraw.class.php)0
-rw-r--r--Website/class/pImage.class.php (renamed from For Weekly Test/tricode/class/pImage.class.php)0
-rw-r--r--Website/class/pIndicator.class.php (renamed from For Weekly Test/tricode/class/pIndicator.class.php)0
-rw-r--r--Website/class/pPie.class.php (renamed from For Weekly Test/tricode/class/pPie.class.php)0
-rw-r--r--Website/class/pRadar.class.php (renamed from For Weekly Test/tricode/class/pRadar.class.php)0
-rw-r--r--Website/class/pScatter.class.php (renamed from For Weekly Test/tricode/class/pScatter.class.php)0
-rw-r--r--Website/class/pSplit.class.php (renamed from For Weekly Test/tricode/class/pSplit.class.php)0
-rw-r--r--Website/class/pSpring.class.php (renamed from For Weekly Test/tricode/class/pSpring.class.php)0
-rw-r--r--Website/class/pStock.class.php (renamed from For Weekly Test/tricode/class/pStock.class.php)0
-rw-r--r--Website/class/pSurface.class.php (renamed from For Weekly Test/tricode/class/pSurface.class.php)0
-rw-r--r--Website/css/Critical.png (renamed from For Weekly Test/tricode/css/Critical.png)bin4795 -> 4795 bytes
-rw-r--r--Website/css/Help.png (renamed from For Weekly Test/tricode/css/Help.png)bin4907 -> 4907 bytes
-rw-r--r--Website/css/Info.png (renamed from For Weekly Test/tricode/css/Info.png)bin4600 -> 4600 bytes
-rw-r--r--Website/css/Warning.png (renamed from For Weekly Test/tricode/css/Warning.png)bin3467 -> 3467 bytes
-rwxr-xr-xWebsite/css/chk_off.png (renamed from For Weekly Test/tricode/css/chk_off.png)bin655 -> 655 bytes
-rwxr-xr-xWebsite/css/chk_on.png (renamed from For Weekly Test/tricode/css/chk_on.png)bin537 -> 537 bytes
-rw-r--r--Website/css/formCSS.css (renamed from For Weekly Test/tricode/css/formCSS.css)0
-rw-r--r--Website/css/info_rhombus.png (renamed from For Weekly Test/tricode/css/info_rhombus.png)bin1816 -> 1816 bytes
-rw-r--r--Website/css/information.png (renamed from For Weekly Test/tricode/css/information.png)bin2112 -> 2112 bytes
-rw-r--r--Website/css/link.gif (renamed from For Weekly Test/tricode/css/link.gif)bin836 -> 836 bytes
-rw-r--r--Website/css/tableCSS.css (renamed from For Weekly Test/tricode/css/tableCSS.css)3
-rw-r--r--Website/css/tooltip.css (renamed from For Weekly Test/tricode/css/tooltip.css)0
-rw-r--r--Website/css/visitedLink.gif (renamed from For Weekly Test/tricode/css/visitedLink.gif)bin838 -> 838 bytes
-rw-r--r--Website/delayedLoading.js (renamed from For Weekly Test/tricode/delayedLoading.js)0
-rw-r--r--Website/devconf.html (renamed from Website/tricode/devconf.html)2
-rw-r--r--Website/devconf.php (renamed from Website/tricode/devconf.php)0
-rw-r--r--Website/devconfig.php (renamed from Website/tricode/devconfig.php)6
-rw-r--r--Website/devconfigAuto.php (renamed from Website/tricode/devconfigAuto.php)6
-rw-r--r--Website/devconfigManual.php (renamed from Website/tricode/devconfigManual.php)6
-rwxr-xr-xWebsite/execute.php (renamed from For Weekly Test/tricode/execute.php)0
-rw-r--r--Website/fonts/Bedizen.ttf (renamed from For Weekly Test/tricode/fonts/Bedizen.ttf)bin42912 -> 42912 bytes
-rw-r--r--Website/fonts/Forgotte.ttf (renamed from For Weekly Test/tricode/fonts/Forgotte.ttf)bin42148 -> 42148 bytes
-rw-r--r--Website/fonts/GeosansLight.ttf (renamed from For Weekly Test/tricode/fonts/GeosansLight.ttf)bin60072 -> 60072 bytes
-rw-r--r--Website/fonts/MankSans.ttf (renamed from For Weekly Test/tricode/fonts/MankSans.ttf)bin58492 -> 58492 bytes
-rw-r--r--Website/fonts/Silkscreen.ttf (renamed from For Weekly Test/tricode/fonts/Silkscreen.ttf)bin16172 -> 16172 bytes
-rw-r--r--Website/fonts/advent_light.ttf (renamed from For Weekly Test/tricode/fonts/advent_light.ttf)bin45768 -> 45768 bytes
-rw-r--r--Website/fonts/calibri.ttf (renamed from For Weekly Test/tricode/fonts/calibri.ttf)bin811052 -> 811052 bytes
-rw-r--r--Website/fonts/pf_arma_five.ttf (renamed from For Weekly Test/tricode/fonts/pf_arma_five.ttf)bin21936 -> 21936 bytes
-rw-r--r--Website/fonts/verdana.ttf (renamed from For Weekly Test/tricode/fonts/verdana.ttf)bin189144 -> 189144 bytes
-rw-r--r--Website/home.html (renamed from Website/tricode/home.html)2
-rw-r--r--Website/icons/blackberry_dunno.png (renamed from For Weekly Test/tricode/icons/blackberry_dunno.png)bin1922 -> 1922 bytes
-rw-r--r--Website/icons/blackberry_fail.png (renamed from For Weekly Test/tricode/icons/blackberry_fail.png)bin1954 -> 1954 bytes
-rw-r--r--Website/icons/blackberry_work.png (renamed from For Weekly Test/tricode/icons/blackberry_work.png)bin1988 -> 1988 bytes
-rw-r--r--Website/icons/box_dunno.png (renamed from For Weekly Test/tricode/icons/box_dunno.png)bin1255 -> 1255 bytes
-rw-r--r--Website/icons/box_fail.png (renamed from For Weekly Test/tricode/icons/box_fail.png)bin1407 -> 1407 bytes
-rw-r--r--Website/icons/box_work.png (renamed from For Weekly Test/tricode/icons/box_work.png)bin1420 -> 1420 bytes
-rw-r--r--Website/icons/server_dunno.png (renamed from For Weekly Test/tricode/icons/server_dunno.png)bin1410 -> 1410 bytes
-rw-r--r--Website/icons/server_fail.png (renamed from For Weekly Test/tricode/icons/server_fail.png)bin1497 -> 1497 bytes
-rw-r--r--Website/icons/server_work.png (renamed from For Weekly Test/tricode/icons/server_work.png)bin1480 -> 1480 bytes
-rw-r--r--Website/icons/sip_dunno.png (renamed from For Weekly Test/tricode/icons/sip_dunno.png)bin1494 -> 1494 bytes
-rw-r--r--Website/icons/sip_fail.png (renamed from For Weekly Test/tricode/icons/sip_fail.png)bin1621 -> 1621 bytes
-rw-r--r--Website/icons/sip_work.png (renamed from For Weekly Test/tricode/icons/sip_work.png)bin1591 -> 1591 bytes
-rw-r--r--Website/icons/telephone_dunno.png (renamed from For Weekly Test/tricode/icons/telephone_dunno.png)bin1798 -> 1798 bytes
-rw-r--r--Website/icons/telephone_fail.png (renamed from For Weekly Test/tricode/icons/telephone_fail.png)bin1871 -> 1871 bytes
-rw-r--r--Website/icons/telephone_work.png (renamed from For Weekly Test/tricode/icons/telephone_work.png)bin1883 -> 1883 bytes
-rw-r--r--Website/icons/uni-network_dunno.png (renamed from For Weekly Test/tricode/icons/uni-network_dunno.png)bin3126 -> 3126 bytes
-rw-r--r--Website/icons/uni-network_fail.png (renamed from For Weekly Test/tricode/icons/uni-network_fail.png)bin3202 -> 3202 bytes
-rw-r--r--Website/icons/uni-network_work.png (renamed from For Weekly Test/tricode/icons/uni-network_work.png)bin3198 -> 3198 bytes
-rw-r--r--Website/index.php (renamed from For Weekly Test/tricode/home.html)16
-rw-r--r--Website/index1.html1
-rw-r--r--Website/insertData.php (renamed from notFinishedCode/tricode/insertData.php)1
-rw-r--r--Website/insertdevice.php (renamed from Website/tricode/insertdevice.php)0
-rw-r--r--Website/loader.gif (renamed from For Weekly Test/tricode/loader.gif)bin10819 -> 10819 bytes
-rw-r--r--Website/main.php (renamed from Website/tricode/main.php)2
-rw-r--r--Website/moocheck.js (renamed from For Weekly Test/tricode/moocheck.js)0
-rw-r--r--Website/mootools.js (renamed from For Weekly Test/tricode/mootools.js)0
-rw-r--r--Website/mutexFunctions.php (renamed from For Weekly Test/tricode/mutexFunctions.php)0
-rw-r--r--Website/mutexSmartTest.php (renamed from For Weekly Test/tricode/mutexSmartTest.php)194
-rwxr-xr-xWebsite/mutexTry.php (renamed from For Weekly Test/tricode/mutexTry.php)197
-rw-r--r--Website/networkResult.php (renamed from notFinishedCode/web/newModiefiedFilesOnServer/networkResult.php)0
-rw-r--r--Website/post.php (renamed from Website/tricode/post.php)0
-rw-r--r--Website/report.pdf (renamed from notFinishedCode/Report/test.pdf)bin5058627 -> 5056503 bytes
-rwxr-xr-xWebsite/script.sh (renamed from For Weekly Test/tricode/script.sh)0
-rw-r--r--Website/startSoftware.py (renamed from Website/tricode/startSoftware.py)0
-rw-r--r--Website/startTest.php (renamed from For Weekly Test/tricode/startTest.php)0
-rw-r--r--Website/startTest2.php (renamed from Website/tricode/startTest2.php)0
-rw-r--r--Website/testCase.php (renamed from notFinishedCode/web/newModiefiedFilesOnServer/testCase.php)0
-rw-r--r--Website/tricode/Images/AutoIcon.pngbin6470 -> 0 bytes
-rw-r--r--Website/tricode/Images/BackGround.jpgbin156368 -> 0 bytes
-rw-r--r--Website/tricode/Images/BackgroundLogin.pngbin88100 -> 0 bytes
-rw-r--r--Website/tricode/Images/CheckAllButton.pngbin5425 -> 0 bytes
-rw-r--r--Website/tricode/Images/ChooseIcon.pngbin12477 -> 0 bytes
-rw-r--r--Website/tricode/Images/GSMTestButton.pngbin5563 -> 0 bytes
-rw-r--r--Website/tricode/Images/ManualIcon.pngbin6787 -> 0 bytes
-rw-r--r--Website/tricode/Images/MobilePhone.pngbin45698 -> 0 bytes
-rw-r--r--Website/tricode/Images/MobilePhoneIcon.pngbin13814 -> 0 bytes
-rw-r--r--Website/tricode/Images/SIPTestButton.pngbin5300 -> 0 bytes
-rw-r--r--Website/tricode/Images/SmartIcon.pngbin11983 -> 0 bytes
-rw-r--r--Website/tricode/Images/SubmitButton.pngbin5364 -> 0 bytes
-rw-r--r--Website/tricode/Images/UncheckButton.pngbin5575 -> 0 bytes
-rw-r--r--Website/tricode/Images/border1.pngbin2950 -> 0 bytes
-rw-r--r--Website/tricode/class/pBarcode128.class.php184
-rw-r--r--Website/tricode/class/pBarcode39.class.php200
-rw-r--r--Website/tricode/class/pBubble.class.php283
-rw-r--r--Website/tricode/class/pCache.class.php280
-rw-r--r--Website/tricode/class/pData.class.php723
-rw-r--r--Website/tricode/class/pDraw.class.php5799
-rw-r--r--Website/tricode/class/pImage.class.php343
-rw-r--r--Website/tricode/class/pIndicator.class.php241
-rw-r--r--Website/tricode/class/pPie.class.php1493
-rw-r--r--Website/tricode/class/pRadar.class.php669
-rw-r--r--Website/tricode/class/pScatter.class.php954
-rw-r--r--Website/tricode/class/pSplit.class.php131
-rw-r--r--Website/tricode/class/pSpring.class.php868
-rw-r--r--Website/tricode/class/pStock.class.php216
-rw-r--r--Website/tricode/class/pSurface.class.php315
-rw-r--r--Website/tricode/css/Critical.pngbin4795 -> 0 bytes
-rw-r--r--Website/tricode/css/Help.pngbin4907 -> 0 bytes
-rw-r--r--Website/tricode/css/Info.pngbin4600 -> 0 bytes
-rw-r--r--Website/tricode/css/Warning.pngbin3467 -> 0 bytes
-rwxr-xr-xWebsite/tricode/css/chk_off.pngbin655 -> 0 bytes
-rwxr-xr-xWebsite/tricode/css/chk_on.pngbin537 -> 0 bytes
-rw-r--r--Website/tricode/css/formCSS.css46
-rw-r--r--Website/tricode/css/info_rhombus.pngbin1816 -> 0 bytes
-rw-r--r--Website/tricode/css/information.pngbin2112 -> 0 bytes
-rw-r--r--Website/tricode/css/link.gifbin836 -> 0 bytes
-rw-r--r--Website/tricode/css/tableCSS.css146
-rw-r--r--Website/tricode/css/tooltip.css33
-rw-r--r--Website/tricode/css/visitedLink.gifbin838 -> 0 bytes
-rw-r--r--Website/tricode/delayedLoading.js228
-rwxr-xr-xWebsite/tricode/execute.php30
-rw-r--r--Website/tricode/fonts/Bedizen.ttfbin42912 -> 0 bytes
-rw-r--r--Website/tricode/fonts/Forgotte.ttfbin42148 -> 0 bytes
-rw-r--r--Website/tricode/fonts/GeosansLight.ttfbin60072 -> 0 bytes
-rw-r--r--Website/tricode/fonts/MankSans.ttfbin58492 -> 0 bytes
-rw-r--r--Website/tricode/fonts/Silkscreen.ttfbin16172 -> 0 bytes
-rw-r--r--Website/tricode/fonts/advent_light.ttfbin45768 -> 0 bytes
-rw-r--r--Website/tricode/fonts/calibri.ttfbin811052 -> 0 bytes
-rw-r--r--Website/tricode/fonts/pf_arma_five.ttfbin21936 -> 0 bytes
-rw-r--r--Website/tricode/fonts/verdana.ttfbin189144 -> 0 bytes
-rw-r--r--Website/tricode/icons/blackberry_dunno.pngbin1922 -> 0 bytes
-rw-r--r--Website/tricode/icons/blackberry_fail.pngbin1954 -> 0 bytes
-rw-r--r--Website/tricode/icons/blackberry_work.pngbin1988 -> 0 bytes
-rw-r--r--Website/tricode/icons/box_dunno.pngbin1255 -> 0 bytes
-rw-r--r--Website/tricode/icons/box_fail.pngbin1407 -> 0 bytes
-rw-r--r--Website/tricode/icons/box_work.pngbin1420 -> 0 bytes
-rw-r--r--Website/tricode/icons/server_dunno.pngbin1410 -> 0 bytes
-rw-r--r--Website/tricode/icons/server_fail.pngbin1497 -> 0 bytes
-rw-r--r--Website/tricode/icons/server_work.pngbin1480 -> 0 bytes
-rw-r--r--Website/tricode/icons/sip_dunno.pngbin1494 -> 0 bytes
-rw-r--r--Website/tricode/icons/sip_fail.pngbin1621 -> 0 bytes
-rw-r--r--Website/tricode/icons/sip_work.pngbin1591 -> 0 bytes
-rw-r--r--Website/tricode/icons/telephone_dunno.pngbin1798 -> 0 bytes
-rw-r--r--Website/tricode/icons/telephone_fail.pngbin1871 -> 0 bytes
-rw-r--r--Website/tricode/icons/telephone_work.pngbin1883 -> 0 bytes
-rw-r--r--Website/tricode/icons/uni-network_dunno.pngbin3126 -> 0 bytes
-rw-r--r--Website/tricode/icons/uni-network_fail.pngbin3202 -> 0 bytes
-rw-r--r--Website/tricode/icons/uni-network_work.pngbin3198 -> 0 bytes
-rw-r--r--Website/tricode/insertData.php81
-rw-r--r--Website/tricode/loader.gifbin10819 -> 0 bytes
-rw-r--r--Website/tricode/moocheck.js176
-rw-r--r--Website/tricode/mootools.js126
-rw-r--r--Website/tricode/mutexFunctions.php36
-rw-r--r--Website/tricode/mutexSmartTest.php800
-rwxr-xr-xWebsite/tricode/mutexTry.php310
-rw-r--r--Website/tricode/networkResult.php307
-rwxr-xr-xWebsite/tricode/script.sh1
-rw-r--r--Website/tricode/startTest.php438
-rw-r--r--Website/tricode/testCase.php209
-rw-r--r--Website/tricode/wait.gifbin2545 -> 0 bytes
-rw-r--r--Website/trueTableClass.pyc (renamed from Website/tricode/trueTableClass.pyc)bin3936 -> 3936 bytes
-rw-r--r--Website/wait.gif (renamed from For Weekly Test/tricode/wait.gif)bin2545 -> 2545 bytes
-rw-r--r--notFinishedCode/57/serverHandler.py343
-rw-r--r--notFinishedCode/67/serverHandler.py346
-rw-r--r--notFinishedCode/ClientClass.py123
-rw-r--r--notFinishedCode/ClientClass.pycbin3646 -> 0 bytes
-rw-r--r--notFinishedCode/Controller-SecondType.py427
-rw-r--r--notFinishedCode/GSMClass.py310
-rw-r--r--notFinishedCode/GSMClass.pycbin7189 -> 0 bytes
-rw-r--r--notFinishedCode/LogFileClass.py21
-rw-r--r--notFinishedCode/LogFileClass.pycbin1519 -> 0 bytes
-rw-r--r--notFinishedCode/Report/BigPicture_new.pngbin126202 -> 0 bytes
-rw-r--r--notFinishedCode/Report/BigPicture_new1.pngbin136384 -> 0 bytes
-rw-r--r--notFinishedCode/Report/ClientClass.pngbin10718 -> 0 bytes
-rw-r--r--notFinishedCode/Report/DBRelationship.pngbin64566 -> 0 bytes
-rw-r--r--notFinishedCode/Report/First.pngbin408402 -> 0 bytes
-rw-r--r--notFinishedCode/Report/Second.pngbin455939 -> 0 bytes
-rw-r--r--notFinishedCode/Report/ServerHandlerClass.pngbin7930 -> 0 bytes
-rw-r--r--notFinishedCode/Report/Third.pngbin382478 -> 0 bytes
-rw-r--r--notFinishedCode/Report/Tri-report.docbin55296 -> 0 bytes
-rw-r--r--notFinishedCode/Report/activityControllerEdited.pngbin33657 -> 0 bytes
-rw-r--r--notFinishedCode/Report/activity_diagram.pngbin152591 -> 0 bytes
-rw-r--r--notFinishedCode/Report/bb.jpgbin100471 -> 0 bytes
-rw-r--r--notFinishedCode/Report/classDiagram.pngbin92031 -> 0 bytes
-rw-r--r--notFinishedCode/Report/controllerclass.pngbin21495 -> 0 bytes
-rw-r--r--notFinishedCode/Report/dbClass.pngbin22411 -> 0 bytes
-rw-r--r--notFinishedCode/Report/devconf.pngbin54332 -> 0 bytes
-rw-r--r--notFinishedCode/Report/initTestClass.pngbin8963 -> 0 bytes
-rw-r--r--notFinishedCode/Report/logging.pngbin5963 -> 0 bytes
-rw-r--r--notFinishedCode/Report/logo.svg15
-rw-r--r--notFinishedCode/Report/ping.pngbin4129 -> 0 bytes
-rw-r--r--notFinishedCode/Report/protocolCommunicationHandler.pngbin69838 -> 0 bytes
-rw-r--r--notFinishedCode/Report/protocolCommunicationcControllerCaller.pngbin45087 -> 0 bytes
-rw-r--r--notFinishedCode/Report/protocolCommunicationcControllerReceiver.pngbin44459 -> 0 bytes
-rw-r--r--notFinishedCode/Report/protocolRedesign.pngbin5180 -> 0 bytes
-rw-r--r--notFinishedCode/Report/resultsImage.pngbin59169 -> 0 bytes
-rw-r--r--notFinishedCode/Report/resultterminal.pngbin24344 -> 0 bytes
-rw-r--r--notFinishedCode/Report/serialPort.pngbin16604 -> 0 bytes
-rw-r--r--notFinishedCode/Report/serverClass.pngbin7821 -> 0 bytes
-rw-r--r--notFinishedCode/Report/sshTunnel.pngbin18810 -> 0 bytes
-rw-r--r--notFinishedCode/Report/sshTunnelClass.pngbin8853 -> 0 bytes
-rw-r--r--notFinishedCode/Report/terminalCommand.pngbin88885 -> 0 bytes
-rw-r--r--notFinishedCode/Report/test.aux150
-rw-r--r--notFinishedCode/Report/test.log641
-rw-r--r--notFinishedCode/Report/test.out58
-rw-r--r--notFinishedCode/Report/test.tex1376
-rw-r--r--notFinishedCode/Report/test.tex.backup1360
-rw-r--r--notFinishedCode/Report/test.tex.bak1326
-rw-r--r--notFinishedCode/Report/test.tex~1397
-rw-r--r--notFinishedCode/Report/test.toc59
-rw-r--r--notFinishedCode/Report/test_Use_case.pngbin299296 -> 0 bytes
-rw-r--r--notFinishedCode/Report/titlepic.sty76
-rw-r--r--notFinishedCode/Report/trueTable.pngbin6534 -> 0 bytes
-rw-r--r--notFinishedCode/Report/uniLogo1.jpgbin56865 -> 0 bytes
-rw-r--r--notFinishedCode/Report/uniLogo2.pngbin296644 -> 0 bytes
-rw-r--r--notFinishedCode/Report/usbDetectClass.pngbin11421 -> 0 bytes
-rw-r--r--notFinishedCode/Report/webpageReport.pngbin112597 -> 0 bytes
-rw-r--r--notFinishedCode/Report/website1.pngbin463898 -> 0 bytes
-rw-r--r--notFinishedCode/Report/website2.pngbin489975 -> 0 bytes
-rw-r--r--notFinishedCode/Report/website3.pngbin389426 -> 0 bytes
-rw-r--r--notFinishedCode/Report/website4.pngbin350899 -> 0 bytes
-rw-r--r--notFinishedCode/Report/website6.pngbin95087 -> 0 bytes
-rw-r--r--notFinishedCode/SSHTunnelClass.py47
-rw-r--r--notFinishedCode/ServerClass.py162
-rw-r--r--notFinishedCode/ServerClass.pycbin4618 -> 0 bytes
-rw-r--r--notFinishedCode/ServerClassSoftware.py162
-rw-r--r--notFinishedCode/classPing.py28
-rw-r--r--notFinishedCode/clientController.py181
-rw-r--r--notFinishedCode/dbClass.py372
-rw-r--r--notFinishedCode/dbClass.pycbin9074 -> 0 bytes
-rw-r--r--notFinishedCode/dbDemo.py77
-rw-r--r--notFinishedCode/dbTest.py52
-rw-r--r--notFinishedCode/gsmselftesting.sql134
-rw-r--r--notFinishedCode/handler.log933
-rw-r--r--notFinishedCode/pChart2.1.2/GPLv3.txt675
-rw-r--r--notFinishedCode/pChart2.1.2/change.logbin20722 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/class/pBarcode128.class.php184
-rw-r--r--notFinishedCode/pChart2.1.2/class/pBarcode39.class.php200
-rw-r--r--notFinishedCode/pChart2.1.2/class/pBubble.class.php283
-rw-r--r--notFinishedCode/pChart2.1.2/class/pCache.class.php280
-rw-r--r--notFinishedCode/pChart2.1.2/class/pData.class.php723
-rw-r--r--notFinishedCode/pChart2.1.2/class/pDraw.class.php5799
-rw-r--r--notFinishedCode/pChart2.1.2/class/pImage.class.php343
-rw-r--r--notFinishedCode/pChart2.1.2/class/pIndicator.class.php241
-rw-r--r--notFinishedCode/pChart2.1.2/class/pPie.class.php1493
-rw-r--r--notFinishedCode/pChart2.1.2/class/pRadar.class.php669
-rw-r--r--notFinishedCode/pChart2.1.2/class/pScatter.class.php954
-rw-r--r--notFinishedCode/pChart2.1.2/class/pSplit.class.php131
-rw-r--r--notFinishedCode/pChart2.1.2/class/pSpring.class.php868
-rw-r--r--notFinishedCode/pChart2.1.2/class/pStock.class.php216
-rw-r--r--notFinishedCode/pChart2.1.2/class/pSurface.class.php315
-rw-r--r--notFinishedCode/pChart2.1.2/data/128B.db107
-rw-r--r--notFinishedCode/pChart2.1.2/data/39.db44
-rw-r--r--notFinishedCode/pChart2.1.2/examples/BTSCont.pngbin3173 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/buildAll.cmd52
-rw-r--r--notFinishedCode/pChart2.1.2/examples/delayedLoader/delayedLoading.js228
-rw-r--r--notFinishedCode/pChart2.1.2/examples/delayedLoader/draw.php34
-rw-r--r--notFinishedCode/pChart2.1.2/examples/delayedLoader/index.php91
-rw-r--r--notFinishedCode/pChart2.1.2/examples/delayedLoader/wait.gifbin2545 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.Combo.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.Mixed.classes.php87
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.addRandomValues.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.barcode.php77
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.barcode128.php48
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.barcode39.php48
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.basic.php32
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.cache.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw2DPie.labels.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw2DPie.php68
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw2DRing.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw2DRingValues.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw3DPie.labels.php53
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw3DPie.php73
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw3DPie.transparent.php40
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw3DRing.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.draw3DRingValues.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawAnscombeQuartet.php106
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawAntialiasPixel.php35
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.php66
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.simple.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.threshold.php60
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawArrow.php40
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawArrowLabel.php48
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.borders.php52
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.can.php41
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.floating.php45
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.palette.php49
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.poll.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.shaded.php40
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.simple.php50
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.spacing.php52
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBarChart.vertical.php40
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBestfit.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBezier.php40
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.php79
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.simple.php58
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawCircle.php54
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawContour.php61
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawDerivative.php61
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawDerivative.simple.php47
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFilledCircle.php54
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFilledRectangle.php57
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.php74
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.threshold.php76
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFilledStepChart.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFromGIF.php47
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFromJPG.php47
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawFromPNG.php47
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawGeometricMean.php59
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawGradientArea.php53
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawHarmonicMean.php59
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawIndicator.php66
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.barchart.php71
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.bubble.php87
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.caption.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.php70
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.scatter.php87
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLabel.vertical.php51
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLegend.php76
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLine.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLineChart.php66
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawLineChart.simple.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawMedian.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawPieLegend.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.icon.php69
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.php64
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.simple.php52
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawPolygon.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawProgress.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawRectangle.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawRoundedFilledRectangle.php62
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawRoundedRectangle.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.color.php69
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.dates.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.floating.php52
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.manual.php54
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.multiple.php63
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.php53
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScale.reverse.php48
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatter.shape.php69
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatter.simple.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterBestFit.php81
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.php80
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.trigo.php75
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterPlotChart.php80
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.manual.php61
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.php62
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawScatterSplineChart.php81
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSimple.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSpline.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.php66
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.simple.php59
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.normalized.php43
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.php63
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.border.php39
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.can.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.rounded.php53
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.shaded.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStandardDeviation.php79
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStepChart.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStepChart.simple.php44
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStockChart.median.php50
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStockChart.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawStockChart.simple.php49
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSurface.palette.php63
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSurface.php57
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawSurface.simple.php58
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawText.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawThreshold.labels.php53
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawThreshold.php69
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawThresholdArea.php58
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawZoneChart.php61
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.drawingObjects.php50
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.normalize.php42
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.pData.php46
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.polar.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.polar.values.php51
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.radar.labels.php50
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.radar.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.radar.values.php50
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.setFontProperties.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.setShadow.php44
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.singlebarcode128.php30
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.singlebarcode39.php30
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.split.php62
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.spring.complex.php66
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.spring.labels.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.spring.php65
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.spring.relations.php70
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.text.alignment.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.transparent.background.php36
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.writeBounds.php179
-rw-r--r--notFinishedCode/pChart2.1.2/examples/example.writeBounds.php.backup46
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/imagemap.js256
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/index.php209
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DPie.php58
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DRing.php58
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DPie.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DRing.php55
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BarChart.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BubbleChart.php76
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/LineChart.php74
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PlotChart.php69
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PolarChart.php56
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/RadarChart.php57
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterLineChart.php89
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterPlotChart.php89
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterSplineChart.php90
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/Shapes.php91
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/SplineChart.php74
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StackedBarChart.php67
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StepChart.php71
-rw-r--r--notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StockChart.php59
-rw-r--r--notFinishedCode/pChart2.1.2/examples/index.php360
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSIDK3.pngbin8236 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK.pngbin5045 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK1.pngbin4891 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3.pngbin7787 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3little.pngbin1273 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK.pngbin5047 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK1.pngbin4975 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3.pngbin8273 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3little.pngbin1341 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/Help.pngbin4497 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/Help1.pngbin3789 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/NOK.pngbin5750 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/NOKlittle.pngbin1980 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/OK.pngbin5824 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/OKlittle.pngbin2109 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/SIPEXT.pngbin17163 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/SIPLOC.pngbin15220 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/externalCells.pngbin15161 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/newIcons/landline.pngbin8778 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/accept.pngbin781 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/application_view_list.pngbin473 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/application_view_tile.pngbin465 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/blocnote.pngbin21012 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/chart_bar.pngbin541 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/chart_line.pngbin526 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/computer.gifbin5172 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-blank.pngbin156 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-last.pngbin183 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-noleaf.pngbin174 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dash-explorer.pngbin185 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dash.pngbin294 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/dataset.txt25
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/folder.pngbin537 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/hologram.pngbin25951 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/landscape1.jpgbin8204 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/landscape2.jpgbin9199 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/palette.txt6
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/serie1.pngbin741 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/serie2.pngbin753 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/resources/wait.gifbin2545 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/accept.pngbin781 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/application_form.pngbin467 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/background.console.pngbin183 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar.pngbin541 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar_edit.pngbin754 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_curve.pngbin710 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_line.pngbin526 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/cog.pngbin512 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/color_swatch.pngbin209 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/comment.pngbin413 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/database_table.pngbin726 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/layout_edit.pngbin716 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/page_edit.pngbin807 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/paintcan.pngbin707 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/shape_flip_vertical.pngbin418 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/tab.pngbin323 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/vector.pngbin481 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wait.gifbin2545 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wand.pngbin570 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wrench.pngbin610 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/arrow.gifbin66 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/constants.txt61
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/cross.gifbin83 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/functions.js656
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/hs.pngbin2684 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/hv.pngbin2865 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/jscolor.js841
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/includes/rounded_corners_lite.inc.js285
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/index.php707
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/script/render.php891
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/script/session.php24
-rw-r--r--notFinishedCode/pChart2.1.2/examples/sandbox/style.css89
-rw-r--r--notFinishedCode/pChart2.1.2/examples/server.pngbin13589 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/examples/telephone.pngbin6666 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/Bedizen.ttfbin42912 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/Forgotte.ttfbin42148 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/GeosansLight.ttfbin60072 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/MankSans.ttfbin58492 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/Silkscreen.ttfbin16172 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/advent_light.ttfbin45768 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/calibri.ttfbin811052 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/pf_arma_five.ttfbin21936 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/fonts/verdana.ttfbin189144 -> 0 bytes
-rw-r--r--notFinishedCode/pChart2.1.2/index.php6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/autumn.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/blind.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/evening.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/kitchen.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/light.color7
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/navy.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/shade.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/spring.color6
-rw-r--r--notFinishedCode/pChart2.1.2/palettes/summer.color6
-rw-r--r--notFinishedCode/pChart2.1.2/readme.txtbin10084 -> 0 bytes
-rw-r--r--notFinishedCode/serverHandler.py320
-rw-r--r--notFinishedCode/startSoftware.py22
-rw-r--r--notFinishedCode/tables.php170
-rwxr-xr-xnotFinishedCode/tricode/ClientClass.py123
-rwxr-xr-xnotFinishedCode/tricode/ClientClass.pycbin3286 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/ControllerClass.py226
-rw-r--r--notFinishedCode/tricode/ControllerClass.pycbin6875 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/DbClass.py294
-rwxr-xr-xnotFinishedCode/tricode/DbClass.pycbin7155 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/GSM EPlus handler.log40
-rwxr-xr-xnotFinishedCode/tricode/GSM O2 handler.log112
-rwxr-xr-xnotFinishedCode/tricode/GSM RZ1 handler.log445
-rwxr-xr-xnotFinishedCode/tricode/GSM TMobile handler.log56
-rwxr-xr-xnotFinishedCode/tricode/GSM Vodaphone handler.log56
-rwxr-xr-xnotFinishedCode/tricode/GSMClass.py304
-rw-r--r--notFinishedCode/tricode/GSMClass.pycbin6669 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/GSMHandler.py286
-rwxr-xr-xnotFinishedCode/tricode/Landline handler.log252
-rwxr-xr-xnotFinishedCode/tricode/LogFileClass.py21
-rwxr-xr-xnotFinishedCode/tricode/LogFileClass.pycbin1319 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/PingClass.py28
-rwxr-xr-xnotFinishedCode/tricode/PingClass.pycbin1111 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/SIP handler.log1282
-rwxr-xr-xnotFinishedCode/tricode/SIPHandler.py233
-rwxr-xr-xnotFinishedCode/tricode/SSHTunnelBoxClass.py45
-rwxr-xr-xnotFinishedCode/tricode/SSHTunnelBoxClass.pycbin1645 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/SSHTunnelClass.py47
-rwxr-xr-xnotFinishedCode/tricode/ServerClass.py152
-rw-r--r--notFinishedCode/tricode/ServerClass.pycbin4178 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/ServerClassSoftware.py162
-rw-r--r--notFinishedCode/tricode/ServerClassSoftware.pycbin4384 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/TestProcessLog.log1855
-rwxr-xr-xnotFinishedCode/tricode/University SIP handler.log184
-rw-r--r--notFinishedCode/tricode/class/pBarcode128.class.php184
-rw-r--r--notFinishedCode/tricode/class/pBarcode39.class.php200
-rw-r--r--notFinishedCode/tricode/class/pBubble.class.php283
-rw-r--r--notFinishedCode/tricode/class/pCache.class.php280
-rw-r--r--notFinishedCode/tricode/class/pData.class.php723
-rw-r--r--notFinishedCode/tricode/class/pDraw.class.php5799
-rw-r--r--notFinishedCode/tricode/class/pImage.class.php343
-rw-r--r--notFinishedCode/tricode/class/pIndicator.class.php241
-rw-r--r--notFinishedCode/tricode/class/pPie.class.php1493
-rw-r--r--notFinishedCode/tricode/class/pRadar.class.php669
-rw-r--r--notFinishedCode/tricode/class/pScatter.class.php954
-rw-r--r--notFinishedCode/tricode/class/pSplit.class.php131
-rw-r--r--notFinishedCode/tricode/class/pSpring.class.php868
-rw-r--r--notFinishedCode/tricode/class/pStock.class.php216
-rw-r--r--notFinishedCode/tricode/class/pSurface.class.php315
-rw-r--r--notFinishedCode/tricode/css/Critical.pngbin4795 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/Help.pngbin4907 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/Info.pngbin4600 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/Warning.pngbin3467 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/css/chk_off.pngbin655 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/css/chk_on.pngbin537 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/formCSS.css46
-rw-r--r--notFinishedCode/tricode/css/info_rhombus.pngbin1816 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/information.pngbin2112 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/link.gifbin836 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/css/tableCSS.css146
-rw-r--r--notFinishedCode/tricode/css/tooltip.css33
-rw-r--r--notFinishedCode/tricode/css/visitedLink.gifbin838 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/delayedLoading.js228
-rwxr-xr-xnotFinishedCode/tricode/execute.php30
-rw-r--r--notFinishedCode/tricode/fonts/Bedizen.ttfbin42912 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/Forgotte.ttfbin42148 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/GeosansLight.ttfbin60072 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/MankSans.ttfbin58492 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/Silkscreen.ttfbin16172 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/advent_light.ttfbin45768 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/calibri.ttfbin811052 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/pf_arma_five.ttfbin21936 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/fonts/verdana.ttfbin189144 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/gsmselftest.py783
-rwxr-xr-xnotFinishedCode/tricode/gsmselftest1.py300
-rwxr-xr-xnotFinishedCode/tricode/gsmselftest2.py370
-rwxr-xr-xnotFinishedCode/tricode/help.txt15
-rw-r--r--notFinishedCode/tricode/icons/blackberry_dunno.pngbin1922 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/blackberry_fail.pngbin1954 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/blackberry_work.pngbin1988 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/box_dunno.pngbin1255 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/box_fail.pngbin1407 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/box_work.pngbin1420 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/server_dunno.pngbin1410 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/server_fail.pngbin1497 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/server_work.pngbin1480 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/sip_dunno.pngbin1494 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/sip_fail.pngbin1621 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/sip_work.pngbin1591 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/telephone_dunno.pngbin1798 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/telephone_fail.pngbin1871 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/telephone_work.pngbin1883 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/uni-network_dunno.pngbin3126 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/uni-network_fail.pngbin3202 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/icons/uni-network_work.pngbin3198 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/initTestClass.py147
-rwxr-xr-xnotFinishedCode/tricode/initTestClass.pycbin3954 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/loader.gifbin10819 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/moocheck.js176
-rw-r--r--notFinishedCode/tricode/mootools.js126
-rw-r--r--notFinishedCode/tricode/mutexFunctions.php36
-rwxr-xr-xnotFinishedCode/tricode/mutexTry.php238
-rw-r--r--notFinishedCode/tricode/networkResult.php307
-rw-r--r--notFinishedCode/tricode/post.php470
-rwxr-xr-xnotFinishedCode/tricode/script.sh1
-rwxr-xr-xnotFinishedCode/tricode/sshtest.py15
-rw-r--r--notFinishedCode/tricode/startSoftware.py14
-rw-r--r--notFinishedCode/tricode/startTest.php438
-rw-r--r--notFinishedCode/tricode/testCase.php209
-rwxr-xr-xnotFinishedCode/tricode/trueTableClass.py198
-rwxr-xr-xnotFinishedCode/tricode/trueTableClass.pycbin3422 -> 0 bytes
-rwxr-xr-xnotFinishedCode/tricode/usbDetectClass.py88
-rwxr-xr-xnotFinishedCode/tricode/usbDetectClass.pycbin3123 -> 0 bytes
-rw-r--r--notFinishedCode/tricode/wait.gifbin2545 -> 0 bytes
-rw-r--r--notFinishedCode/web/ServerClass.py152
-rw-r--r--notFinishedCode/web/ServerClassSoftware.py162
-rw-r--r--notFinishedCode/web/ajax.php167
-rw-r--r--notFinishedCode/web/class/pBarcode128.class.php184
-rw-r--r--notFinishedCode/web/class/pBarcode39.class.php200
-rw-r--r--notFinishedCode/web/class/pBubble.class.php283
-rw-r--r--notFinishedCode/web/class/pCache.class.php280
-rw-r--r--notFinishedCode/web/class/pData.class.php723
-rw-r--r--notFinishedCode/web/class/pDraw.class.php5799
-rw-r--r--notFinishedCode/web/class/pImage.class.php343
-rw-r--r--notFinishedCode/web/class/pIndicator.class.php241
-rw-r--r--notFinishedCode/web/class/pPie.class.php1493
-rw-r--r--notFinishedCode/web/class/pRadar.class.php669
-rw-r--r--notFinishedCode/web/class/pScatter.class.php954
-rw-r--r--notFinishedCode/web/class/pSplit.class.php131
-rw-r--r--notFinishedCode/web/class/pSpring.class.php868
-rw-r--r--notFinishedCode/web/class/pStock.class.php216
-rw-r--r--notFinishedCode/web/class/pSurface.class.php315
-rw-r--r--notFinishedCode/web/css/Critical.pngbin4795 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/Help.pngbin4907 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/Info.pngbin4600 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/Warning.pngbin3467 -> 0 bytes
-rwxr-xr-xnotFinishedCode/web/css/chk_off.pngbin655 -> 0 bytes
-rwxr-xr-xnotFinishedCode/web/css/chk_on.pngbin537 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/formCSS.css46
-rw-r--r--notFinishedCode/web/css/info_rhombus.pngbin1816 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/information.pngbin2112 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/link.gifbin836 -> 0 bytes
-rw-r--r--notFinishedCode/web/css/tableCSS.css146
-rw-r--r--notFinishedCode/web/css/tooltip.css33
-rw-r--r--notFinishedCode/web/css/visitedLink.gifbin838 -> 0 bytes
-rwxr-xr-xnotFinishedCode/web/dbClass.py367
-rw-r--r--notFinishedCode/web/delayedLoading.js228
-rw-r--r--notFinishedCode/web/example.drawFilledCircle.php275
-rw-r--r--notFinishedCode/web/fonts/Bedizen.ttfbin42912 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/Forgotte.ttfbin42148 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/GeosansLight.ttfbin60072 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/MankSans.ttfbin58492 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/Silkscreen.ttfbin16172 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/advent_light.ttfbin45768 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/calibri.ttfbin811052 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/pf_arma_five.ttfbin21936 -> 0 bytes
-rw-r--r--notFinishedCode/web/fonts/verdana.ttfbin189144 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/blackberry_dunno.pngbin1922 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/blackberry_fail.pngbin1954 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/blackberry_work.pngbin1988 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/box_dunno.pngbin1255 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/box_fail.pngbin1407 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/box_work.pngbin1420 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/server_dunno.pngbin1410 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/server_fail.pngbin1497 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/server_work.pngbin1480 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/sip_dunno.pngbin1494 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/sip_fail.pngbin1621 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/sip_work.pngbin1591 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/telephone_dunno.pngbin1798 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/telephone_fail.pngbin1871 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/telephone_work.pngbin1883 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/uni-network_dunno.pngbin3126 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/uni-network_fail.pngbin3202 -> 0 bytes
-rw-r--r--notFinishedCode/web/icons/uni-network_work.pngbin3198 -> 0 bytes
-rw-r--r--notFinishedCode/web/insertData.php81
-rw-r--r--notFinishedCode/web/loader.gifbin10819 -> 0 bytes
-rw-r--r--notFinishedCode/web/mutex1.php201
-rw-r--r--notFinishedCode/web/mutexFunctions.php36
-rw-r--r--notFinishedCode/web/networkResult.php307
-rw-r--r--notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php349
-rw-r--r--notFinishedCode/web/post.php470
-rw-r--r--notFinishedCode/web/server1.py81
-rw-r--r--notFinishedCode/web/socket2.php73
-rw-r--r--notFinishedCode/web/startTest.php438
-rw-r--r--notFinishedCode/web/testCase.php200
-rw-r--r--notFinishedCode/web/wait.gifbin2545 -> 0 bytes
1021 files changed, 11080 insertions, 167832 deletions
diff --git a/For Weekly Test/12-09-2011/ClientClass.py b/Code/Server-Code/ClientClass.py
index 46c3b00..46c3b00 100644..100755
--- a/For Weekly Test/12-09-2011/ClientClass.py
+++ b/Code/Server-Code/ClientClass.py
diff --git a/For Weekly Test/tricode/ClientClass.pyc b/Code/Server-Code/ClientClass.pyc
index 7a6dfbc..7a6dfbc 100644
--- a/For Weekly Test/tricode/ClientClass.pyc
+++ b/Code/Server-Code/ClientClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/ControllerClass.py b/Code/Server-Code/ControllerClass.py
index a028dd9..a028dd9 100755
--- a/For Weekly Test/tricode/ControllerClass.py
+++ b/Code/Server-Code/ControllerClass.py
diff --git a/For Weekly Test/tricode/ControllerClass.pyc b/Code/Server-Code/ControllerClass.pyc
index aca7796..894bf42 100644
--- a/For Weekly Test/tricode/ControllerClass.pyc
+++ b/Code/Server-Code/ControllerClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/DbClass.py b/Code/Server-Code/DbClass.py
index cc3a083..cc3a083 100755
--- a/For Weekly Test/tricode/DbClass.py
+++ b/Code/Server-Code/DbClass.py
diff --git a/For Weekly Test/tricode/DbClass.pyc b/Code/Server-Code/DbClass.pyc
index 06aca7d..06aca7d 100644
--- a/For Weekly Test/tricode/DbClass.pyc
+++ b/Code/Server-Code/DbClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/GSMClass.py b/Code/Server-Code/GSMClass.py
index b932ab5..b932ab5 100644
--- a/For Weekly Test/tricode/GSMClass.py
+++ b/Code/Server-Code/GSMClass.py
diff --git a/For Weekly Test/tricode/GSMClass.pyc b/Code/Server-Code/GSMClass.pyc
index 0ade94b..0ade94b 100644
--- a/For Weekly Test/tricode/GSMClass.pyc
+++ b/Code/Server-Code/GSMClass.pyc
Binary files differ
diff --git a/Code/Server-Code/GSMExt.Eplus handler.log b/Code/Server-Code/GSMExt.Eplus handler.log
new file mode 100644
index 0000000..63ebde2
--- /dev/null
+++ b/Code/Server-Code/GSMExt.Eplus handler.log
@@ -0,0 +1,288 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:41:55.827358 ------------------
+On: 2011-11-03 14:41:55.827514 Event: LISTEN ON PORT: 51321
+On: 2011-11-03 14:41:57.150098 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59350)
+On: 2011-11-03 14:41:57.212253 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:41:57.212610 Event: RECEIVER READY SENT
+On: 2011-11-03 14:42:12.290131 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:49:22.673514 ------------------
+On: 2011-11-03 14:49:22.673649 Event: LISTEN ON PORT: 42788
+On: 2011-11-03 14:49:23.970145 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43281)
+On: 2011-11-03 14:49:24.042286 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:49:24.042651 Event: RECEIVER READY SENT
+On: 2011-11-03 14:49:39.114049 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:56:43.366203 ------------------
+On: 2011-11-03 14:56:43.366346 Event: LISTEN ON PORT: 47417
+On: 2011-11-03 14:56:44.674082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54767)
+On: 2011-11-03 14:56:44.746281 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:56:44.746634 Event: RECEIVER READY SENT
+On: 2011-11-03 14:56:59.794045 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:04:30.555933 ------------------
+On: 2011-11-03 15:04:30.556073 Event: LISTEN ON PORT: 50452
+On: 2011-11-03 15:04:31.878160 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48996)
+On: 2011-11-03 15:04:31.926259 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:04:31.926621 Event: RECEIVER READY SENT
+On: 2011-11-03 15:04:46.994064 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:11:44.455272 ------------------
+On: 2011-11-03 15:11:44.455397 Event: LISTEN ON PORT: 48362
+On: 2011-11-03 15:11:45.790085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40914)
+On: 2011-11-03 15:11:45.862272 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:11:45.862633 Event: RECEIVER READY SENT
+On: 2011-11-03 15:12:00.930105 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:26:14.251887 ------------------
+On: 2011-11-03 15:26:14.252016 Event: LISTEN ON PORT: 32563
+On: 2011-11-03 15:26:15.594076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39498)
+On: 2011-11-03 15:26:15.662250 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:26:15.666130 Event: RECEIVER READY SENT
+On: 2011-11-03 15:26:30.714044 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:34:22.209484 ------------------
+On: 2011-11-03 15:34:22.209613 Event: LISTEN ON PORT: 58908
+On: 2011-11-03 15:34:23.550084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52149)
+On: 2011-11-03 15:34:23.594566 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:34:23.594916 Event: RECEIVER READY SENT
+On: 2011-11-03 15:34:38.642055 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:42:00.865016 ------------------
+On: 2011-11-03 15:42:00.865140 Event: LISTEN ON PORT: 40716
+On: 2011-11-03 15:42:02.202114 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37033)
+On: 2011-11-03 15:42:02.270319 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:42:02.270675 Event: RECEIVER READY SENT
+On: 2011-11-03 15:42:17.314052 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:49:26.995004 ------------------
+On: 2011-11-03 15:49:26.995133 Event: LISTEN ON PORT: 56074
+On: 2011-11-03 15:49:28.326081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38825)
+On: 2011-11-03 15:49:28.370328 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:49:28.370689 Event: RECEIVER READY SENT
+On: 2011-11-03 15:49:43.418048 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:57:02.252966 ------------------
+On: 2011-11-03 15:57:02.253094 Event: LISTEN ON PORT: 45702
+On: 2011-11-03 15:57:03.590080 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36265)
+On: 2011-11-03 15:57:03.658323 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:57:03.658681 Event: RECEIVER READY SENT
+On: 2011-11-03 15:57:18.702042 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:04:46.611465 ------------------
+On: 2011-11-03 16:04:46.611598 Event: LISTEN ON PORT: 39184
+On: 2011-11-03 16:04:47.922076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36233)
+On: 2011-11-03 16:04:47.994290 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:04:47.994661 Event: RECEIVER READY SENT
+On: 2011-11-03 16:05:03.062112 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:11:56.789798 ------------------
+On: 2011-11-03 16:11:56.789928 Event: LISTEN ON PORT: 58452
+On: 2011-11-03 16:11:58.090138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53744)
+On: 2011-11-03 16:11:58.162262 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:11:58.162611 Event: RECEIVER READY SENT
+On: 2011-11-03 16:12:13.230106 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:22:30.688889 ------------------
+On: 2011-11-03 16:22:30.689025 Event: LISTEN ON PORT: 51668
+On: 2011-11-03 16:22:32.022108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51254)
+On: 2011-11-03 16:22:32.090357 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:22:32.090728 Event: RECEIVER READY SENT
+On: 2011-11-03 16:22:47.134128 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:13.119820 ------------------
+On: 2011-11-03 22:47:13.119950 Event: LISTEN ON PORT: 40007
+On: 2011-11-03 22:47:14.454173 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50694)
+On: 2011-11-03 22:47:14.506253 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:47:14.506614 Event: RECEIVER READY SENT
+On: 2011-11-03 22:47:29.550097 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:54:41.607347 ------------------
+On: 2011-11-03 22:54:41.607475 Event: LISTEN ON PORT: 53562
+On: 2011-11-03 22:54:42.966147 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48316)
+On: 2011-11-03 22:54:43.014257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:54:43.014613 Event: RECEIVER READY SENT
+On: 2011-11-03 22:54:58.058097 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:02:12.374613 ------------------
+On: 2011-11-03 23:02:12.374739 Event: LISTEN ON PORT: 42223
+On: 2011-11-03 23:02:13.718078 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34516)
+On: 2011-11-03 23:02:13.786322 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:02:13.786679 Event: RECEIVER READY SENT
+On: 2011-11-03 23:02:28.830072 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:09:01.121565 ------------------
+On: 2011-11-03 23:09:01.121694 Event: LISTEN ON PORT: 40009
+On: 2011-11-03 23:09:02.490140 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58294)
+On: 2011-11-03 23:09:02.538254 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:09:02.538670 Event: RECEIVER READY SENT
+On: 2011-11-03 23:09:17.586089 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:08.520321 ------------------
+On: 2011-11-03 23:17:08.520448 Event: LISTEN ON PORT: 32917
+On: 2011-11-03 23:17:09.886167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39311)
+On: 2011-11-03 23:17:09.939329 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:17:09.939726 Event: RECEIVER READY SENT
+On: 2011-11-03 23:17:25.010096 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:24:41.552039 ------------------
+On: 2011-11-03 23:24:41.552170 Event: LISTEN ON PORT: 48804
+On: 2011-11-03 23:24:42.890084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46511)
+On: 2011-11-03 23:24:42.958284 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:24:42.958651 Event: RECEIVER READY SENT
+On: 2011-11-03 23:24:58.030056 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:32:13.512899 ------------------
+On: 2011-11-03 23:32:13.513032 Event: LISTEN ON PORT: 44986
+On: 2011-11-03 23:32:14.854159 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37767)
+On: 2011-11-03 23:32:14.922331 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:32:14.922697 Event: RECEIVER READY SENT
+On: 2011-11-03 23:32:29.966068 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:05:18.161151 ------------------
+On: 2011-11-04 13:05:18.161288 Event: LISTEN ON PORT: 58244
+On: 2011-11-04 13:05:19.426078 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38581)
+On: 2011-11-04 13:05:19.482411 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:05:19.484164 Event: RECEIVER READY SENT
+On: 2011-11-04 13:05:34.530095 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:06:55.901449 ------------------
+On: 2011-11-04 13:06:55.901579 Event: LISTEN ON PORT: 44530
+On: 2011-11-04 13:06:57.150096 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56633)
+On: 2011-11-04 13:06:57.222262 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:06:57.223050 Event: RECEIVER READY SENT
+On: 2011-11-04 13:07:12.290099 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:08:09.151546 ------------------
+On: 2011-11-04 13:08:09.151683 Event: LISTEN ON PORT: 42472
+On: 2011-11-04 13:08:10.378080 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38116)
+On: 2011-11-04 13:08:10.450329 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:08:10.454141 Event: RECEIVER READY SENT
+On: 2011-11-04 13:08:25.526047 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:12:41.796025 ------------------
+On: 2011-11-04 13:12:41.796162 Event: LISTEN ON PORT: 59515
+On: 2011-11-04 13:12:43.026171 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41514)
+On: 2011-11-04 13:12:43.098266 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:12:43.098624 Event: RECEIVER READY SENT
+On: 2011-11-04 13:12:58.166050 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:02:14.705441 ------------------
+On: 2011-11-04 14:02:14.705570 Event: LISTEN ON PORT: 57726
+On: 2011-11-04 14:02:15.926091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49288)
+On: 2011-11-04 14:02:15.994367 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:02:15.994734 Event: RECEIVER READY SENT
+On: 2011-11-04 14:02:31.038046 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:04:47.069718 ------------------
+On: 2011-11-04 14:04:47.069855 Event: LISTEN ON PORT: 44795
+On: 2011-11-04 14:04:48.330087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51761)
+On: 2011-11-04 14:04:48.382335 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:04:48.386047 Event: RECEIVER READY SENT
+On: 2011-11-04 14:05:03.454046 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:06:35.544562 ------------------
+On: 2011-11-04 14:06:35.544700 Event: LISTEN ON PORT: 56922
+On: 2011-11-04 14:06:36.810139 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41730)
+On: 2011-11-04 14:06:36.886263 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:06:36.886698 Event: RECEIVER READY SENT
+On: 2011-11-04 14:06:51.954069 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:56.179749 ------------------
+On: 2011-11-04 14:07:56.179887 Event: LISTEN ON PORT: 32354
+On: 2011-11-04 14:07:57.406086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52833)
+On: 2011-11-04 14:07:57.478483 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:57.482334 Event: RECEIVER READY SENT
+On: 2011-11-04 14:08:12.554050 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:08:20.323275 ------------------
+On: 2011-11-04 15:08:20.323461 Event: LISTEN ON PORT: 56238
+On: 2011-11-04 15:08:21.650160 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58358)
+On: 2011-11-04 15:08:21.698262 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:08:21.698632 Event: RECEIVER READY SENT
+On: 2011-11-04 15:08:36.742100 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:12:51.763075 ------------------
+On: 2011-11-04 15:12:51.763206 Event: LISTEN ON PORT: 46658
+On: 2011-11-04 15:12:53.082292 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40434)
+On: 2011-11-04 15:12:53.154258 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:12:53.154626 Event: RECEIVER READY SENT
+On: 2011-11-04 15:13:08.198165 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:15:35.709050 ------------------
+On: 2011-11-04 15:15:35.709183 Event: LISTEN ON PORT: 50033
+On: 2011-11-04 15:15:37.029004 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33304)
+On: 2011-11-04 15:15:37.079249 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:15:37.079746 Event: RECEIVER READY SENT
+On: 2011-11-04 15:15:52.126088 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:18:21.052954 ------------------
+On: 2011-11-04 15:18:21.053088 Event: LISTEN ON PORT: 48857
+On: 2011-11-04 15:18:22.383625 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37672)
+On: 2011-11-04 15:18:22.454253 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:18:22.454617 Event: RECEIVER READY SENT
+On: 2011-11-04 15:18:37.522091 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:20:56.633408 ------------------
+On: 2011-11-04 15:20:56.633543 Event: LISTEN ON PORT: 33646
+On: 2011-11-04 15:20:57.986615 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47707)
+On: 2011-11-04 15:20:58.058328 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:20:58.058742 Event: RECEIVER READY SENT
+On: 2011-11-04 15:21:13.130036 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:22:41.319214 ------------------
+On: 2011-11-04 15:22:41.319348 Event: LISTEN ON PORT: 55949
+On: 2011-11-04 15:22:42.688424 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53071)
+On: 2011-11-04 15:22:42.762252 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:22:42.762681 Event: RECEIVER READY SENT
+On: 2011-11-04 15:22:57.810033 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:24:03.442787 ------------------
+On: 2011-11-04 15:24:03.442918 Event: LISTEN ON PORT: 43103
+On: 2011-11-04 15:24:04.778107 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35031)
+On: 2011-11-04 15:24:04.830255 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:24:04.834112 Event: RECEIVER READY SENT
+On: 2011-11-04 15:24:19.886033 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:46:40.819851 ------------------
+On: 2011-11-04 16:46:40.819976 Event: LISTEN ON PORT: 55883
+On: 2011-11-04 16:46:42.230076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44419)
+On: 2011-11-04 16:46:42.298886 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:46:42.299308 Event: RECEIVER READY SENT
+On: 2011-11-04 16:46:57.346030 Event: RECEIVE STATUS REPORTED
diff --git a/Code/Server-Code/GSMExt.O2 handler.log b/Code/Server-Code/GSMExt.O2 handler.log
new file mode 100644
index 0000000..45468bc
--- /dev/null
+++ b/Code/Server-Code/GSMExt.O2 handler.log
@@ -0,0 +1,280 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:42:18.080779 ------------------
+On: 2011-11-03 14:42:18.080920 Event: LISTEN ON PORT: 55001
+On: 2011-11-03 14:42:19.314165 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56916)
+On: 2011-11-03 14:42:19.390267 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:42:19.390629 Event: RECEIVER READY SENT
+On: 2011-11-03 14:42:31.434126 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:49:44.820567 ------------------
+On: 2011-11-03 14:49:44.820703 Event: LISTEN ON PORT: 41164
+On: 2011-11-03 14:49:46.142192 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42816)
+On: 2011-11-03 14:49:46.210359 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:49:46.210720 Event: RECEIVER READY SENT
+On: 2011-11-03 14:49:57.450039 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:05.542143 ------------------
+On: 2011-11-03 14:57:05.542291 Event: LISTEN ON PORT: 35529
+On: 2011-11-03 14:57:06.858084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49629)
+On: 2011-11-03 14:57:06.930261 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:57:06.930625 Event: RECEIVER READY SENT
+On: 2011-11-03 14:57:21.998111 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:03:48.708863 ------------------
+On: 2011-11-03 15:03:48.708998 Event: LISTEN ON PORT: 36528
+On: 2011-11-03 15:03:50.070076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34963)
+On: 2011-11-03 15:03:50.142289 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:03:50.142714 Event: RECEIVER READY SENT
+On: 2011-11-03 15:04:01.350065 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:06.625796 ------------------
+On: 2011-11-03 15:12:06.625924 Event: LISTEN ON PORT: 40714
+On: 2011-11-03 15:12:07.962106 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50454)
+On: 2011-11-03 15:12:08.030318 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:12:08.030677 Event: RECEIVER READY SENT
+On: 2011-11-03 15:12:18.262045 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:26:57.803625 ------------------
+On: 2011-11-03 15:26:57.803753 Event: LISTEN ON PORT: 44188
+On: 2011-11-03 15:26:59.158143 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39072)
+On: 2011-11-03 15:26:59.206246 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:26:59.206608 Event: RECEIVER READY SENT
+On: 2011-11-03 15:27:10.186087 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:34:44.370624 ------------------
+On: 2011-11-03 15:34:44.370755 Event: LISTEN ON PORT: 36788
+On: 2011-11-03 15:34:45.722114 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34899)
+On: 2011-11-03 15:34:45.770260 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:34:45.770615 Event: RECEIVER READY SENT
+On: 2011-11-03 15:34:58.422073 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:42:23.034571 ------------------
+On: 2011-11-03 15:42:23.034699 Event: LISTEN ON PORT: 39992
+On: 2011-11-03 15:42:24.370160 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39036)
+On: 2011-11-03 15:42:24.442252 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:42:24.442601 Event: RECEIVER READY SENT
+On: 2011-11-03 15:42:34.670038 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:05:08.795096 ------------------
+On: 2011-11-03 16:05:08.795247 Event: LISTEN ON PORT: 46511
+On: 2011-11-03 16:05:10.102088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54508)
+On: 2011-11-03 16:05:10.150290 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:05:10.150654 Event: RECEIVER READY SENT
+On: 2011-11-03 16:05:21.394067 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:12:18.955938 ------------------
+On: 2011-11-03 16:12:18.956071 Event: LISTEN ON PORT: 49676
+On: 2011-11-03 16:12:20.262108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56988)
+On: 2011-11-03 16:12:20.334263 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:12:20.334624 Event: RECEIVER READY SENT
+On: 2011-11-03 16:12:30.710067 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:22:52.871688 ------------------
+On: 2011-11-03 16:22:52.871823 Event: LISTEN ON PORT: 32926
+On: 2011-11-03 16:22:54.194085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54784)
+On: 2011-11-03 16:22:54.266328 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:22:54.266768 Event: RECEIVER READY SENT
+On: 2011-11-03 16:23:04.954081 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:35.269593 ------------------
+On: 2011-11-03 22:47:35.269722 Event: LISTEN ON PORT: 34026
+On: 2011-11-03 22:47:36.610108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58971)
+On: 2011-11-03 22:47:36.658254 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:47:36.658607 Event: RECEIVER READY SENT
+On: 2011-11-03 22:47:47.526047 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:54:00.623130 ------------------
+On: 2011-11-03 22:54:00.623257 Event: LISTEN ON PORT: 42286
+On: 2011-11-03 22:54:01.990092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34515)
+On: 2011-11-03 22:54:02.042249 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:54:02.046127 Event: RECEIVER READY SENT
+On: 2011-11-03 22:54:12.322049 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:02:34.556899 ------------------
+On: 2011-11-03 23:02:34.557027 Event: LISTEN ON PORT: 59187
+On: 2011-11-03 23:02:35.894121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47617)
+On: 2011-11-03 23:02:35.962286 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:02:35.962648 Event: RECEIVER READY SENT
+On: 2011-11-03 23:02:46.526046 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:09:44.309712 ------------------
+On: 2011-11-03 23:09:44.309839 Event: LISTEN ON PORT: 30379
+On: 2011-11-03 23:09:45.646081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45825)
+On: 2011-11-03 23:09:45.718278 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:09:45.718635 Event: RECEIVER READY SENT
+On: 2011-11-03 23:09:56.270042 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:30.706950 ------------------
+On: 2011-11-03 23:17:30.707080 Event: LISTEN ON PORT: 37552
+On: 2011-11-03 23:17:32.042111 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39378)
+On: 2011-11-03 23:17:32.114251 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:17:32.114605 Event: RECEIVER READY SENT
+On: 2011-11-03 23:17:42.518041 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:03.724796 ------------------
+On: 2011-11-03 23:25:03.724923 Event: LISTEN ON PORT: 40956
+On: 2011-11-03 23:25:05.066086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59746)
+On: 2011-11-03 23:25:05.114283 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:25:05.114634 Event: RECEIVER READY SENT
+On: 2011-11-03 23:25:17.074063 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:32:35.688692 ------------------
+On: 2011-11-03 23:32:35.688822 Event: LISTEN ON PORT: 34101
+On: 2011-11-03 23:32:37.026106 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59218)
+On: 2011-11-03 23:32:37.102248 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:32:37.102609 Event: RECEIVER READY SENT
+On: 2011-11-03 23:32:48.638089 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:04:09.437740 ------------------
+On: 2011-11-04 13:04:09.437877 Event: LISTEN ON PORT: 44603
+On: 2011-11-04 13:04:10.698113 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55437)
+On: 2011-11-04 13:04:10.774267 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:04:10.775051 Event: RECEIVER READY SENT
+On: 2011-11-04 13:04:19.638097 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:05:46.569524 ------------------
+On: 2011-11-04 13:05:46.569666 Event: LISTEN ON PORT: 56319
+On: 2011-11-04 13:05:47.835782 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36752)
+On: 2011-11-04 13:05:47.910295 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:05:47.911082 Event: RECEIVER READY SENT
+On: 2011-11-04 13:05:57.046042 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:07:18.281460 ------------------
+On: 2011-11-04 13:07:18.281595 Event: LISTEN ON PORT: 39967
+On: 2011-11-04 13:07:19.498124 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33172)
+On: 2011-11-04 13:07:19.546434 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:07:19.550113 Event: RECEIVER READY SENT
+On: 2011-11-04 13:07:27.918097 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:13:37.158992 ------------------
+On: 2011-11-04 13:13:37.159129 Event: LISTEN ON PORT: 56851
+On: 2011-11-04 13:13:38.406124 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35173)
+On: 2011-11-04 13:13:38.454269 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:13:38.454635 Event: RECEIVER READY SENT
+On: 2011-11-04 13:13:49.247577 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:13.844966 ------------------
+On: 2011-11-04 14:01:13.845101 Event: LISTEN ON PORT: 59677
+On: 2011-11-04 14:01:15.074119 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60602)
+On: 2011-11-04 14:01:15.150872 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:01:15.151282 Event: RECEIVER READY SENT
+On: 2011-11-04 14:01:26.570247 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:03:27.187087 ------------------
+On: 2011-11-04 14:03:27.187222 Event: LISTEN ON PORT: 55970
+On: 2011-11-04 14:03:28.450087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55651)
+On: 2011-11-04 14:03:28.502296 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:03:28.503254 Event: RECEIVER READY SENT
+On: 2011-11-04 14:03:37.808619 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:05:15.480537 ------------------
+On: 2011-11-04 14:05:15.480671 Event: LISTEN ON PORT: 59895
+On: 2011-11-04 14:05:16.754121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36827)
+On: 2011-11-04 14:05:16.810259 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:05:16.810896 Event: RECEIVER READY SENT
+On: 2011-11-04 14:05:27.766096 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:06:57.901418 ------------------
+On: 2011-11-04 14:06:57.901559 Event: LISTEN ON PORT: 30203
+On: 2011-11-04 14:06:59.130126 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44855)
+On: 2011-11-04 14:06:59.198303 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:06:59.202133 Event: RECEIVER READY SENT
+On: 2011-11-04 14:07:08.059622 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:08:42.492787 ------------------
+On: 2011-11-04 15:08:42.492930 Event: LISTEN ON PORT: 54661
+On: 2011-11-04 15:08:43.810165 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37660)
+On: 2011-11-04 15:08:43.882251 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:08:43.882616 Event: RECEIVER READY SENT
+On: 2011-11-04 15:08:58.950062 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:13:13.954820 ------------------
+On: 2011-11-04 15:13:13.954957 Event: LISTEN ON PORT: 37277
+On: 2011-11-04 15:13:15.262157 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59369)
+On: 2011-11-04 15:13:15.334252 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:13:15.334612 Event: RECEIVER READY SENT
+On: 2011-11-04 15:13:26.470080 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:15:57.862459 ------------------
+On: 2011-11-04 15:15:57.862633 Event: LISTEN ON PORT: 43889
+On: 2011-11-04 15:15:59.186101 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49144)
+On: 2011-11-04 15:15:59.262252 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:15:59.262609 Event: RECEIVER READY SENT
+On: 2011-11-04 15:16:09.598036 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:18.059840 ------------------
+On: 2011-11-04 15:17:18.059965 Event: LISTEN ON PORT: 39281
+On: 2011-11-04 15:17:19.382074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45543)
+On: 2011-11-04 15:17:19.454286 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:17:19.454652 Event: RECEIVER READY SENT
+On: 2011-11-04 15:17:30.754055 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:19:35.593177 ------------------
+On: 2011-11-04 15:19:35.593312 Event: LISTEN ON PORT: 45332
+On: 2011-11-04 15:19:36.966168 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60521)
+On: 2011-11-04 15:19:37.018324 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:19:37.019366 Event: RECEIVER READY SENT
+On: 2011-11-04 15:19:48.482033 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:21:25.040310 ------------------
+On: 2011-11-04 15:21:25.040444 Event: LISTEN ON PORT: 43431
+On: 2011-11-04 15:21:26.418167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34449)
+On: 2011-11-04 15:21:26.466255 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:21:26.466768 Event: RECEIVER READY SENT
+On: 2011-11-04 15:21:35.642033 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:03.656595 ------------------
+On: 2011-11-04 15:23:03.656735 Event: LISTEN ON PORT: 48881
+On: 2011-11-04 15:23:05.014170 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50175)
+On: 2011-11-04 15:23:05.062249 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:05.066109 Event: RECEIVER READY SENT
+On: 2011-11-04 15:23:14.448797 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:25:41.173893 ------------------
+On: 2011-11-04 16:25:41.174087 Event: LISTEN ON PORT: 49206
+On: 2011-11-04 16:25:42.582077 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53006)
+On: 2011-11-04 16:25:42.650246 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:25:42.654103 Event: RECEIVER READY SENT
+On: 2011-11-04 16:25:52.434035 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:02.993872 ------------------
+On: 2011-11-04 16:47:02.994066 Event: LISTEN ON PORT: 58261
+On: 2011-11-04 16:47:04.398107 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48670)
+On: 2011-11-04 16:47:04.466372 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:47:04.466689 Event: RECEIVER READY SENT
+On: 2011-11-04 16:47:17.470025 Event: RECEIVE STATUS REPORTED
diff --git a/Code/Server-Code/GSMExt.Tm handler.log b/Code/Server-Code/GSMExt.Tm handler.log
new file mode 100644
index 0000000..a415f5b
--- /dev/null
+++ b/Code/Server-Code/GSMExt.Tm handler.log
@@ -0,0 +1,328 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:41:12.629038 ------------------
+On: 2011-11-03 14:41:12.629190 Event: LISTEN ON PORT: 47709
+On: 2011-11-03 14:41:14.002167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38143)
+On: 2011-11-03 14:41:14.074263 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:41:14.074685 Event: RECEIVER READY SENT
+On: 2011-11-03 14:41:27.318959 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:43:00.597986 ------------------
+On: 2011-11-03 14:43:00.598127 Event: LISTEN ON PORT: 39315
+On: 2011-11-03 14:43:01.810193 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37148)
+On: 2011-11-03 14:43:01.882286 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:43:01.882650 Event: RECEIVER READY SENT
+On: 2011-11-03 14:43:16.950083 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:47:07.129569 ------------------
+On: 2011-11-03 14:47:07.129699 Event: LISTEN ON PORT: 41457
+On: 2011-11-03 14:47:08.474134 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58581)
+On: 2011-11-03 14:47:08.546257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:47:08.550134 Event: RECEIVER READY SENT
+On: 2011-11-03 14:47:18.198060 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:48:42.782373 ------------------
+On: 2011-11-03 14:48:42.782509 Event: LISTEN ON PORT: 48164
+On: 2011-11-03 14:48:44.118088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43517)
+On: 2011-11-03 14:48:44.186257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:48:44.190133 Event: RECEIVER READY SENT
+On: 2011-11-03 14:48:52.674108 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:52:38.295869 ------------------
+On: 2011-11-03 14:52:38.296009 Event: LISTEN ON PORT: 30486
+On: 2011-11-03 14:52:39.646073 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48783)
+On: 2011-11-03 14:52:39.694334 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:52:39.698123 Event: RECEIVER READY SENT
+On: 2011-11-03 14:52:48.238057 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:28.311654 ------------------
+On: 2011-11-03 14:53:28.311784 Event: LISTEN ON PORT: 38363
+On: 2011-11-03 14:53:29.658079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56675)
+On: 2011-11-03 14:53:29.726322 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:53:29.730131 Event: RECEIVER READY SENT
+On: 2011-11-03 14:53:39.282058 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:49.222942 ------------------
+On: 2011-11-03 14:53:49.223076 Event: LISTEN ON PORT: 50878
+On: 2011-11-03 14:53:50.574132 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50114)
+On: 2011-11-03 14:53:50.622259 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:53:50.626122 Event: RECEIVER READY SENT
+On: 2011-11-03 14:54:00.962089 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:54:09.557057 ------------------
+On: 2011-11-03 14:54:09.557189 Event: LISTEN ON PORT: 49013
+On: 2011-11-03 14:54:10.930074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34573)
+On: 2011-11-03 14:54:10.974328 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:54:10.978130 Event: RECEIVER READY SENT
+On: 2011-11-03 14:54:20.126037 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:27.730993 ------------------
+On: 2011-11-03 14:57:27.731144 Event: LISTEN ON PORT: 58132
+On: 2011-11-03 14:57:29.066163 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57052)
+On: 2011-11-03 14:57:29.114261 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:57:29.114624 Event: RECEIVER READY SENT
+On: 2011-11-03 14:57:40.850043 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:04:52.706589 ------------------
+On: 2011-11-03 15:04:52.706723 Event: LISTEN ON PORT: 59761
+On: 2011-11-03 15:04:54.054086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46493)
+On: 2011-11-03 15:04:54.098377 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:04:54.098734 Event: RECEIVER READY SENT
+On: 2011-11-03 15:05:06.102041 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:25.605155 ------------------
+On: 2011-11-03 15:12:25.605283 Event: LISTEN ON PORT: 45145
+On: 2011-11-03 15:12:26.938090 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38324)
+On: 2011-11-03 15:12:27.006319 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:12:27.006680 Event: RECEIVER READY SENT
+On: 2011-11-03 15:12:39.154040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:27:17.532338 ------------------
+On: 2011-11-03 15:27:17.532465 Event: LISTEN ON PORT: 42124
+On: 2011-11-03 15:27:18.870076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50419)
+On: 2011-11-03 15:27:18.942285 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:27:18.942645 Event: RECEIVER READY SENT
+On: 2011-11-03 15:27:29.966038 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:35:05.802780 ------------------
+On: 2011-11-03 15:35:05.802910 Event: LISTEN ON PORT: 58275
+On: 2011-11-03 15:35:07.130167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55944)
+On: 2011-11-03 15:35:07.178340 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:35:07.178681 Event: RECEIVER READY SENT
+On: 2011-11-03 15:35:18.978037 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:41:14.162258 ------------------
+On: 2011-11-03 15:41:14.162394 Event: LISTEN ON PORT: 54143
+On: 2011-11-03 15:41:15.498076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45195)
+On: 2011-11-03 15:41:15.566250 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:41:15.570129 Event: RECEIVER READY SENT
+On: 2011-11-03 15:41:26.622040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:48:44.907879 ------------------
+On: 2011-11-03 15:48:44.908006 Event: LISTEN ON PORT: 52284
+On: 2011-11-03 15:48:46.250072 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60301)
+On: 2011-11-03 15:48:46.318255 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:48:46.322135 Event: RECEIVER READY SENT
+On: 2011-11-03 15:48:56.954026 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:57:36.497530 ------------------
+On: 2011-11-03 15:57:36.497662 Event: LISTEN ON PORT: 47761
+On: 2011-11-03 15:57:37.830133 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36645)
+On: 2011-11-03 15:57:37.898664 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:57:37.899028 Event: RECEIVER READY SENT
+On: 2011-11-03 15:57:50.998082 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:05:28.791933 ------------------
+On: 2011-11-03 16:05:28.792068 Event: LISTEN ON PORT: 33253
+On: 2011-11-03 16:05:30.086346 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43794)
+On: 2011-11-03 16:05:30.130313 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:05:30.130678 Event: RECEIVER READY SENT
+On: 2011-11-03 16:05:43.686065 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:12:38.069326 ------------------
+On: 2011-11-03 16:12:38.069459 Event: LISTEN ON PORT: 54864
+On: 2011-11-03 16:12:39.370151 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43002)
+On: 2011-11-03 16:12:39.438359 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:12:39.438718 Event: RECEIVER READY SENT
+On: 2011-11-03 16:12:50.490088 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:21:48.727474 ------------------
+On: 2011-11-03 16:21:48.727608 Event: LISTEN ON PORT: 37526
+On: 2011-11-03 16:21:50.078135 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55436)
+On: 2011-11-03 16:21:50.131345 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:21:50.131773 Event: RECEIVER READY SENT
+On: 2011-11-03 16:22:01.266040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:54.894801 ------------------
+On: 2011-11-03 22:47:54.894933 Event: LISTEN ON PORT: 46902
+On: 2011-11-03 22:47:56.230144 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47026)
+On: 2011-11-03 22:47:56.306251 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:47:56.306610 Event: RECEIVER READY SENT
+On: 2011-11-03 22:48:11.350048 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:55:03.780201 ------------------
+On: 2011-11-03 22:55:03.780331 Event: LISTEN ON PORT: 52576
+On: 2011-11-03 22:55:05.118140 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54148)
+On: 2011-11-03 22:55:05.166257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:55:05.166604 Event: RECEIVER READY SENT
+On: 2011-11-03 22:55:17.386061 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:01:31.391357 ------------------
+On: 2011-11-03 23:01:31.391487 Event: LISTEN ON PORT: 35343
+On: 2011-11-03 23:01:32.734134 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38929)
+On: 2011-11-03 23:01:32.806251 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:01:32.810133 Event: RECEIVER READY SENT
+On: 2011-11-03 23:01:43.198034 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:10:03.619674 ------------------
+On: 2011-11-03 23:10:03.619801 Event: LISTEN ON PORT: 30987
+On: 2011-11-03 23:10:04.958090 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53044)
+On: 2011-11-03 23:10:05.006314 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:10:05.006675 Event: RECEIVER READY SENT
+On: 2011-11-03 23:10:17.282034 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:49.868706 ------------------
+On: 2011-11-03 23:17:49.868834 Event: LISTEN ON PORT: 53397
+On: 2011-11-03 23:17:51.202085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44387)
+On: 2011-11-03 23:17:51.270319 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:17:51.270682 Event: RECEIVER READY SENT
+On: 2011-11-03 23:18:03.010087 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:24.415135 ------------------
+On: 2011-11-03 23:25:24.415265 Event: LISTEN ON PORT: 54754
+On: 2011-11-03 23:25:25.750148 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51124)
+On: 2011-11-03 23:25:25.798258 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:25:25.798623 Event: RECEIVER READY SENT
+On: 2011-11-03 23:25:39.302071 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:31:32.822061 ------------------
+On: 2011-11-03 23:31:32.822200 Event: LISTEN ON PORT: 37389
+On: 2011-11-03 23:31:34.186078 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58338)
+On: 2011-11-03 23:31:34.234254 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:31:34.238129 Event: RECEIVER READY SENT
+On: 2011-11-03 23:31:43.590038 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:04:33.607194 ------------------
+On: 2011-11-04 13:04:33.607328 Event: LISTEN ON PORT: 35023
+On: 2011-11-04 13:04:34.891274 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39794)
+On: 2011-11-04 13:04:34.941770 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:04:34.942725 Event: RECEIVER READY SENT
+On: 2011-11-04 13:04:45.398220 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:06:11.523454 ------------------
+On: 2011-11-04 13:06:11.523587 Event: LISTEN ON PORT: 41834
+On: 2011-11-04 13:06:12.778091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59541)
+On: 2011-11-04 13:06:12.846334 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:06:12.846762 Event: RECEIVER READY SENT
+On: 2011-11-04 13:06:22.846042 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:07:36.517389 ------------------
+On: 2011-11-04 13:07:36.517528 Event: LISTEN ON PORT: 52254
+On: 2011-11-04 13:07:37.738180 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44143)
+On: 2011-11-04 13:07:37.810262 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:07:37.814114 Event: RECEIVER READY SENT
+On: 2011-11-04 13:07:48.762087 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:13:16.093497 ------------------
+On: 2011-11-04 13:13:16.093632 Event: LISTEN ON PORT: 36100
+On: 2011-11-04 13:13:17.318125 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53533)
+On: 2011-11-04 13:13:17.370269 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:13:17.370628 Event: RECEIVER READY SENT
+On: 2011-11-04 13:13:29.490186 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:34.040286 ------------------
+On: 2011-11-04 14:01:34.040434 Event: LISTEN ON PORT: 43942
+On: 2011-11-04 14:01:35.258086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60579)
+On: 2011-11-04 14:01:35.306325 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:01:35.306691 Event: RECEIVER READY SENT
+On: 2011-11-04 14:01:47.258041 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:03:52.449192 ------------------
+On: 2011-11-04 14:03:52.449326 Event: LISTEN ON PORT: 58656
+On: 2011-11-04 14:03:53.702175 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59147)
+On: 2011-11-04 14:03:53.770343 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:03:53.771135 Event: RECEIVER READY SENT
+On: 2011-11-04 14:04:05.110044 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:05:42.271950 ------------------
+On: 2011-11-04 14:05:42.272077 Event: LISTEN ON PORT: 44789
+On: 2011-11-04 14:05:43.522178 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36737)
+On: 2011-11-04 14:05:43.570273 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:05:43.570715 Event: RECEIVER READY SENT
+On: 2011-11-04 14:05:54.510220 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:16.326195 ------------------
+On: 2011-11-04 14:07:16.326342 Event: LISTEN ON PORT: 42925
+On: 2011-11-04 14:07:17.582092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34087)
+On: 2011-11-04 14:07:17.626510 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:17.630131 Event: RECEIVER READY SENT
+On: 2011-11-04 14:07:27.630254 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:13:33.803788 ------------------
+On: 2011-11-04 15:13:33.803923 Event: LISTEN ON PORT: 43640
+On: 2011-11-04 15:13:35.118138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51118)
+On: 2011-11-04 15:13:35.194377 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:13:35.194702 Event: RECEIVER READY SENT
+On: 2011-11-04 15:13:47.394251 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:16:16.998888 ------------------
+On: 2011-11-04 15:16:16.999024 Event: LISTEN ON PORT: 49141
+On: 2011-11-04 15:16:18.342082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39186)
+On: 2011-11-04 15:16:18.394257 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:16:18.394616 Event: RECEIVER READY SENT
+On: 2011-11-04 15:16:31.519573 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:38.115641 ------------------
+On: 2011-11-04 15:17:38.115775 Event: LISTEN ON PORT: 50610
+On: 2011-11-04 15:17:39.454085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43000)
+On: 2011-11-04 15:17:39.506244 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:17:39.506611 Event: RECEIVER READY SENT
+On: 2011-11-04 15:17:53.158086 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:20:03.031956 ------------------
+On: 2011-11-04 15:20:03.032092 Event: LISTEN ON PORT: 51441
+On: 2011-11-04 15:20:04.386082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37676)
+On: 2011-11-04 15:20:04.462113 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:20:04.462667 Event: RECEIVER READY SENT
+On: 2011-11-04 15:20:15.726060 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:21:50.014996 ------------------
+On: 2011-11-04 15:21:50.015131 Event: LISTEN ON PORT: 31028
+On: 2011-11-04 15:21:51.366128 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60293)
+On: 2011-11-04 15:21:51.446247 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:21:51.446666 Event: RECEIVER READY SENT
+On: 2011-11-04 15:22:01.526828 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:23.087282 ------------------
+On: 2011-11-04 15:23:23.087416 Event: LISTEN ON PORT: 43680
+On: 2011-11-04 15:23:24.418168 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57982)
+On: 2011-11-04 15:23:24.466254 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:24.470108 Event: RECEIVER READY SENT
+On: 2011-11-04 15:23:35.206056 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:24.956072 ------------------
+On: 2011-11-04 16:47:24.956198 Event: LISTEN ON PORT: 48597
+On: 2011-11-04 16:47:26.362079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41384)
+On: 2011-11-04 16:47:26.434660 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:47:26.435032 Event: RECEIVER READY SENT
+On: 2011-11-04 16:47:39.226022 Event: RECEIVE STATUS REPORTED
diff --git a/Code/Server-Code/GSMExt.Voda handler.log b/Code/Server-Code/GSMExt.Voda handler.log
new file mode 100644
index 0000000..98a2150
--- /dev/null
+++ b/Code/Server-Code/GSMExt.Voda handler.log
@@ -0,0 +1,192 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:42:39.011116 ------------------
+On: 2011-11-03 14:42:39.011258 Event: LISTEN ON PORT: 39148
+On: 2011-11-03 14:42:40.190119 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48955)
+On: 2011-11-03 14:42:40.242332 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:42:40.242695 Event: RECEIVER READY SENT
+On: 2011-11-03 14:42:52.934093 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:50:04.878981 ------------------
+On: 2011-11-03 14:50:04.879182 Event: LISTEN ON PORT: 37698
+On: 2011-11-03 14:50:06.206116 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56501)
+On: 2011-11-03 14:50:06.282261 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:50:06.282622 Event: RECEIVER READY SENT
+On: 2011-11-03 14:50:17.530074 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:48.329513 ------------------
+On: 2011-11-03 14:57:48.329646 Event: LISTEN ON PORT: 38862
+On: 2011-11-03 14:57:49.658113 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44619)
+On: 2011-11-03 14:57:49.706365 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:57:49.706729 Event: RECEIVER READY SENT
+On: 2011-11-03 14:58:01.074044 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:05:13.544339 ------------------
+On: 2011-11-03 15:05:13.544560 Event: LISTEN ON PORT: 59734
+On: 2011-11-03 15:05:14.870081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59360)
+On: 2011-11-03 15:05:14.942271 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:05:14.942631 Event: RECEIVER READY SENT
+On: 2011-11-03 15:05:25.666091 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:46.574469 ------------------
+On: 2011-11-03 15:12:46.574598 Event: LISTEN ON PORT: 33477
+On: 2011-11-03 15:12:47.914113 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59952)
+On: 2011-11-03 15:12:47.966250 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:12:47.966608 Event: RECEIVER READY SENT
+On: 2011-11-03 15:12:59.634067 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:35:26.371913 ------------------
+On: 2011-11-03 15:35:26.372038 Event: LISTEN ON PORT: 54967
+On: 2011-11-03 15:35:27.694079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34680)
+On: 2011-11-03 15:35:27.766244 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:35:27.766599 Event: RECEIVER READY SENT
+On: 2011-11-03 15:35:39.130040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:42:41.406166 ------------------
+On: 2011-11-03 15:42:41.406304 Event: LISTEN ON PORT: 41047
+On: 2011-11-03 15:42:42.746110 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37103)
+On: 2011-11-03 15:42:42.814282 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:42:42.814641 Event: RECEIVER READY SENT
+On: 2011-11-03 15:42:54.094040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:50:01.228344 ------------------
+On: 2011-11-03 15:50:01.228473 Event: LISTEN ON PORT: 43440
+On: 2011-11-03 15:50:02.550114 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49371)
+On: 2011-11-03 15:50:02.622281 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:50:02.622641 Event: RECEIVER READY SENT
+On: 2011-11-03 15:50:14.266069 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:56:20.857866 ------------------
+On: 2011-11-03 15:56:20.858027 Event: LISTEN ON PORT: 56210
+On: 2011-11-03 15:56:22.202084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47894)
+On: 2011-11-03 15:56:22.274279 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:56:22.278133 Event: RECEIVER READY SENT
+On: 2011-11-03 15:56:33.306078 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:03:44.754267 ------------------
+On: 2011-11-03 16:03:44.754409 Event: LISTEN ON PORT: 54867
+On: 2011-11-03 16:03:46.094075 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48881)
+On: 2011-11-03 16:03:46.166288 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:03:46.166715 Event: RECEIVER READY SENT
+On: 2011-11-03 16:03:56.334050 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:11:14.879513 ------------------
+On: 2011-11-03 16:11:14.879644 Event: LISTEN ON PORT: 54135
+On: 2011-11-03 16:11:16.194107 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35073)
+On: 2011-11-03 16:11:16.242259 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:11:16.246135 Event: RECEIVER READY SENT
+On: 2011-11-03 16:11:26.818036 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:23:12.337905 ------------------
+On: 2011-11-03 16:23:12.338107 Event: LISTEN ON PORT: 34867
+On: 2011-11-03 16:23:13.650102 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55842)
+On: 2011-11-03 16:23:13.726268 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:23:13.726631 Event: RECEIVER READY SENT
+On: 2011-11-03 16:23:24.814065 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:54.854353 ------------------
+On: 2011-11-04 14:01:54.854493 Event: LISTEN ON PORT: 49546
+On: 2011-11-04 14:01:56.078083 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55886)
+On: 2011-11-04 14:01:56.154295 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:01:56.154654 Event: RECEIVER READY SENT
+On: 2011-11-04 14:02:07.086077 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:04:19.725122 ------------------
+On: 2011-11-04 14:04:19.725256 Event: LISTEN ON PORT: 36409
+On: 2011-11-04 14:04:20.974122 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60802)
+On: 2011-11-04 14:04:21.026266 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:04:21.026692 Event: RECEIVER READY SENT
+On: 2011-11-04 14:04:32.420631 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:06:09.470424 ------------------
+On: 2011-11-04 14:06:09.470572 Event: LISTEN ON PORT: 53506
+On: 2011-11-04 14:06:10.729704 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47419)
+On: 2011-11-04 14:06:10.806262 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:06:10.807037 Event: RECEIVER READY SENT
+On: 2011-11-04 14:06:21.174067 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:35.690936 ------------------
+On: 2011-11-04 14:07:35.691073 Event: LISTEN ON PORT: 57922
+On: 2011-11-04 14:07:36.942109 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58070)
+On: 2011-11-04 14:07:36.994264 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:36.998135 Event: RECEIVER READY SENT
+On: 2011-11-04 14:07:48.138047 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:09:17.668709 ------------------
+On: 2011-11-04 15:09:17.668850 Event: LISTEN ON PORT: 35795
+On: 2011-11-04 15:09:18.990204 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35021)
+On: 2011-11-04 15:09:19.034332 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:09:19.034707 Event: RECEIVER READY SENT
+On: 2011-11-04 15:09:34.086093 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:12:10.899001 ------------------
+On: 2011-11-04 15:12:10.899135 Event: LISTEN ON PORT: 53547
+On: 2011-11-04 15:12:12.246066 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45934)
+On: 2011-11-04 15:12:12.318328 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:12:12.318761 Event: RECEIVER READY SENT
+On: 2011-11-04 15:12:21.462035 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:16:39.043420 ------------------
+On: 2011-11-04 15:16:39.043558 Event: LISTEN ON PORT: 56353
+On: 2011-11-04 15:16:40.358084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60084)
+On: 2011-11-04 15:16:40.426328 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:16:40.426696 Event: RECEIVER READY SENT
+On: 2011-11-04 15:16:51.186032 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:18:00.604936 ------------------
+On: 2011-11-04 15:18:00.605067 Event: LISTEN ON PORT: 31382
+On: 2011-11-04 15:18:01.926337 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49128)
+On: 2011-11-04 15:18:01.975250 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:18:01.975747 Event: RECEIVER READY SENT
+On: 2011-11-04 15:18:13.562082 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:20:30.341199 ------------------
+On: 2011-11-04 15:20:30.341338 Event: LISTEN ON PORT: 56437
+On: 2011-11-04 15:20:31.692346 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60284)
+On: 2011-11-04 15:20:31.766250 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:20:31.767041 Event: RECEIVER READY SENT
+On: 2011-11-04 15:20:42.606034 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:22:16.184371 ------------------
+On: 2011-11-04 15:22:16.184507 Event: LISTEN ON PORT: 58364
+On: 2011-11-04 15:22:17.551633 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36795)
+On: 2011-11-04 15:22:17.602867 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:22:17.603292 Event: RECEIVER READY SENT
+On: 2011-11-04 15:22:26.150031 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:43.423979 ------------------
+On: 2011-11-04 15:23:43.424114 Event: LISTEN ON PORT: 51651
+On: 2011-11-04 15:23:44.762082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47015)
+On: 2011-11-04 15:23:44.806330 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:44.810108 Event: RECEIVER READY SENT
+On: 2011-11-04 15:23:55.214086 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:46.665197 ------------------
+On: 2011-11-04 16:47:46.665325 Event: LISTEN ON PORT: 54786
+On: 2011-11-04 16:47:48.090160 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38424)
+On: 2011-11-04 16:47:48.138236 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:47:48.138600 Event: RECEIVER READY SENT
+On: 2011-11-04 16:48:01.370029 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/tricode/GSMHandler.py b/Code/Server-Code/GSMHandler.py
index cf9a2b4..cf9a2b4 100644
--- a/For Weekly Test/tricode/GSMHandler.py
+++ b/Code/Server-Code/GSMHandler.py
diff --git a/Code/Server-Code/GSMRZ1 handler.log b/Code/Server-Code/GSMRZ1 handler.log
new file mode 100644
index 0000000..b9240b1
--- /dev/null
+++ b/Code/Server-Code/GSMRZ1 handler.log
@@ -0,0 +1,590 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:40:54.410158 ------------------
+On: 2011-11-03 14:40:54.410320 Event: LISTEN ON PORT: 44784
+On: 2011-11-03 14:40:55.762141 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35121)
+On: 2011-11-03 14:40:55.834282 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:40:55.834637 Event: RECEIVER READY SENT
+On: 2011-11-03 14:41:00.858045 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:47:05.033211 ------------------
+On: 2011-11-03 14:47:05.033344 Event: LISTEN ON PORT: 36861
+On: 2011-11-03 14:47:06.374071 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52504)
+On: 2011-11-03 14:47:06.422354 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:47:06.426157 Event: CALLER READY SENT
+On: 2011-11-03 14:47:21.718221 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:48:40.611239 ------------------
+On: 2011-11-03 14:48:40.611372 Event: LISTEN ON PORT: 30838
+On: 2011-11-03 14:48:42.018114 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38544)
+On: 2011-11-03 14:48:42.066260 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:48:42.070161 Event: CALLER READY SENT
+On: 2011-11-03 14:48:55.330117 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:52:36.206854 ------------------
+On: 2011-11-03 14:52:36.206988 Event: LISTEN ON PORT: 50686
+On: 2011-11-03 14:52:37.538092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49208)
+On: 2011-11-03 14:52:37.590257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:52:37.594160 Event: CALLER READY SENT
+On: 2011-11-03 14:52:50.834189 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:26.211851 ------------------
+On: 2011-11-03 14:53:26.211988 Event: LISTEN ON PORT: 45417
+On: 2011-11-03 14:53:27.558110 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44645)
+On: 2011-11-03 14:53:27.606255 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:53:27.610161 Event: CALLER READY SENT
+On: 2011-11-03 14:53:41.766188 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:47.120454 ------------------
+On: 2011-11-03 14:53:47.120587 Event: LISTEN ON PORT: 57745
+On: 2011-11-03 14:53:48.450079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52306)
+On: 2011-11-03 14:53:48.522282 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:53:48.526172 Event: CALLER READY SENT
+On: 2011-11-03 14:54:03.382256 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:54:07.481127 ------------------
+On: 2011-11-03 14:54:07.481259 Event: LISTEN ON PORT: 49192
+On: 2011-11-03 14:54:08.782083 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38440)
+On: 2011-11-03 14:54:08.854260 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:54:08.858172 Event: CALLER READY SENT
+On: 2011-11-03 14:54:22.034172 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:56:10.890870 ------------------
+On: 2011-11-03 14:56:10.891004 Event: LISTEN ON PORT: 59278
+On: 2011-11-03 14:56:12.258078 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46412)
+On: 2011-11-03 14:56:12.326292 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 14:56:12.330192 Event: CALLER READY SENT
+On: 2011-11-03 14:56:16.842070 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:03:24.799394 ------------------
+On: 2011-11-03 15:03:24.799530 Event: LISTEN ON PORT: 54233
+On: 2011-11-03 15:03:26.134152 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46348)
+On: 2011-11-03 15:03:26.206256 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:03:26.206618 Event: RECEIVER READY SENT
+On: 2011-11-03 15:03:36.950040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:11:10.524266 ------------------
+On: 2011-11-03 15:11:10.524393 Event: LISTEN ON PORT: 39263
+On: 2011-11-03 15:11:11.938086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49715)
+On: 2011-11-03 15:11:11.986255 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:11:11.990157 Event: CALLER READY SENT
+On: 2011-11-03 15:11:16.630058 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:26:12.091082 ------------------
+On: 2011-11-03 15:26:12.091209 Event: LISTEN ON PORT: 52128
+On: 2011-11-03 15:26:13.474106 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52070)
+On: 2011-11-03 15:26:13.542319 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:26:13.545929 Event: CALLER READY SENT
+On: 2011-11-03 15:26:22.434057 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:28:01.455849 ------------------
+On: 2011-11-03 15:28:01.455983 Event: LISTEN ON PORT: 43638
+On: 2011-11-03 15:28:02.814108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43334)
+On: 2011-11-03 15:28:02.886251 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:28:02.886608 Event: RECEIVER READY SENT
+On: 2011-11-03 15:28:07.826053 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:33:41.668995 ------------------
+On: 2011-11-03 15:33:41.669121 Event: LISTEN ON PORT: 35791
+On: 2011-11-03 15:33:43.082074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58689)
+On: 2011-11-03 15:33:43.134252 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:33:43.138156 Event: CALLER READY SENT
+On: 2011-11-03 15:33:55.242045 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:41:11.986989 ------------------
+On: 2011-11-03 15:41:11.987117 Event: LISTEN ON PORT: 57874
+On: 2011-11-03 15:41:13.398099 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50826)
+On: 2011-11-03 15:41:13.446255 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:41:13.450157 Event: CALLER READY SENT
+On: 2011-11-03 15:41:29.286069 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:48:42.731600 ------------------
+On: 2011-11-03 15:48:42.731727 Event: LISTEN ON PORT: 52225
+On: 2011-11-03 15:48:44.122111 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60821)
+On: 2011-11-03 15:48:44.194247 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:48:44.198162 Event: CALLER READY SENT
+On: 2011-11-03 15:48:59.458041 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:56:18.682706 ------------------
+On: 2011-11-03 15:56:18.682831 Event: LISTEN ON PORT: 53993
+On: 2011-11-03 15:56:20.094074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45207)
+On: 2011-11-03 15:56:20.146254 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 15:56:20.150340 Event: CALLER READY SENT
+On: 2011-11-03 15:56:35.530070 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:03:25.649700 ------------------
+On: 2011-11-03 16:03:25.649835 Event: LISTEN ON PORT: 32673
+On: 2011-11-03 16:03:26.974109 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50423)
+On: 2011-11-03 16:03:27.050255 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:03:27.050609 Event: RECEIVER READY SENT
+On: 2011-11-03 16:03:32.990071 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:11:12.724338 ------------------
+On: 2011-11-03 16:11:12.724471 Event: LISTEN ON PORT: 50661
+On: 2011-11-03 16:11:14.090080 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58903)
+On: 2011-11-03 16:11:14.138268 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:11:14.142162 Event: CALLER READY SENT
+On: 2011-11-03 16:11:29.354048 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:21:30.222264 ------------------
+On: 2011-11-03 16:21:30.222406 Event: LISTEN ON PORT: 44806
+On: 2011-11-03 16:21:31.558154 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49183)
+On: 2011-11-03 16:21:31.630266 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 16:21:31.630624 Event: RECEIVER READY SENT
+On: 2011-11-03 16:21:36.970042 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:46:23.567181 ------------------
+On: 2011-11-03 22:46:23.567310 Event: LISTEN ON PORT: 53644
+On: 2011-11-03 22:46:24.950138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46202)
+On: 2011-11-03 22:46:24.998248 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:46:24.998597 Event: RECEIVER READY SENT
+On: 2011-11-03 22:46:30.030058 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:53:58.447474 ------------------
+On: 2011-11-03 22:53:58.447606 Event: LISTEN ON PORT: 35701
+On: 2011-11-03 22:53:59.838124 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56826)
+On: 2011-11-03 22:53:59.914258 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 22:53:59.918161 Event: CALLER READY SENT
+On: 2011-11-03 22:54:15.038068 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:01:29.214712 ------------------
+On: 2011-11-03 23:01:29.214839 Event: LISTEN ON PORT: 35550
+On: 2011-11-03 23:01:30.610079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50406)
+On: 2011-11-03 23:01:30.682248 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:01:30.686165 Event: CALLER READY SENT
+On: 2011-11-03 23:01:45.930042 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:08:42.066997 ------------------
+On: 2011-11-03 23:08:42.067124 Event: LISTEN ON PORT: 37391
+On: 2011-11-03 23:08:43.414104 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40457)
+On: 2011-11-03 23:08:43.486272 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:08:43.486627 Event: RECEIVER READY SENT
+On: 2011-11-03 23:08:49.370064 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:16:27.935817 ------------------
+On: 2011-11-03 23:16:27.935943 Event: LISTEN ON PORT: 35205
+On: 2011-11-03 23:16:29.346074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33835)
+On: 2011-11-03 23:16:29.394247 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:16:29.398155 Event: CALLER READY SENT
+On: 2011-11-03 23:16:41.334030 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:24:05.773735 ------------------
+On: 2011-11-03 23:24:05.773863 Event: LISTEN ON PORT: 38401
+On: 2011-11-03 23:24:07.170075 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48321)
+On: 2011-11-03 23:24:07.242285 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:24:07.246164 Event: CALLER READY SENT
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:58.879230 ------------------
+On: 2011-11-03 23:25:58.879357 Event: LISTEN ON PORT: 57375
+On: 2011-11-03 23:26:00.238087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41063)
+On: 2011-11-03 23:26:00.286259 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:26:00.286623 Event: RECEIVER READY SENT
+On: 2011-11-03 23:26:05.022045 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:31:30.643225 ------------------
+On: 2011-11-03 23:31:30.643351 Event: LISTEN ON PORT: 48317
+On: 2011-11-03 23:31:32.038128 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46955)
+On: 2011-11-03 23:31:32.110257 Event: TALK INITIALIZATION SENT
+On: 2011-11-03 23:31:32.114164 Event: CALLER READY SENT
+On: 2011-11-03 23:31:46.442045 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:03:51.464728 ------------------
+On: 2011-11-04 13:03:51.464857 Event: LISTEN ON PORT: 48933
+On: 2011-11-04 13:03:52.738099 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50687)
+On: 2011-11-04 13:03:52.810282 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:03:52.814170 Event: CALLER READY SENT
+On: 2011-11-04 13:03:57.418053 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:07:16.178259 ------------------
+On: 2011-11-04 13:07:16.178403 Event: LISTEN ON PORT: 51943
+On: 2011-11-04 13:07:17.398092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59681)
+On: 2011-11-04 13:07:17.445571 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:07:17.454049 Event: CALLER READY SENT
+On: 2011-11-04 13:07:30.549732 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:07:34.412513 ------------------
+On: 2011-11-04 13:07:34.412647 Event: LISTEN ON PORT: 57322
+On: 2011-11-04 13:07:35.618092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52909)
+On: 2011-11-04 13:07:35.686296 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:07:35.690171 Event: CALLER READY SENT
+On: 2011-11-04 13:07:50.914058 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:07:54.806645 ------------------
+On: 2011-11-04 13:07:54.806784 Event: LISTEN ON PORT: 53884
+On: 2011-11-04 13:07:56.010091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45287)
+On: 2011-11-04 13:07:56.082294 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:07:56.086173 Event: CALLER READY SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:08:07.057146 ------------------
+On: 2011-11-04 13:08:07.057283 Event: LISTEN ON PORT: 34124
+On: 2011-11-04 13:08:08.266144 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40142)
+On: 2011-11-04 13:08:08.318296 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:08:08.322168 Event: CALLER READY SENT
+On: 2011-11-04 13:08:18.335105 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:09:17.460268 ------------------
+On: 2011-11-04 13:09:17.460404 Event: LISTEN ON PORT: 54911
+On: 2011-11-04 13:09:18.746094 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42755)
+On: 2011-11-04 13:09:18.794265 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:09:18.794630 Event: RECEIVER READY SENT
+On: 2011-11-04 13:09:26.569127 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:08.568857 ------------------
+On: 2011-11-04 13:10:08.568994 Event: LISTEN ON PORT: 30772
+On: 2011-11-04 13:10:09.798089 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58810)
+On: 2011-11-04 13:10:09.850288 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:10:09.853700 Event: CALLER READY SENT
+On: 2011-11-04 13:10:21.686096 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:25.538703 ------------------
+On: 2011-11-04 13:10:25.538842 Event: LISTEN ON PORT: 47586
+On: 2011-11-04 13:10:26.786181 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34000)
+On: 2011-11-04 13:10:26.834266 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:10:26.838163 Event: CALLER READY SENT
+On: 2011-11-04 13:10:38.730040 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:11:39.443592 ------------------
+On: 2011-11-04 13:11:39.443728 Event: LISTEN ON PORT: 46464
+On: 2011-11-04 13:11:40.650077 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35468)
+On: 2011-11-04 13:11:40.726344 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:11:40.730192 Event: CALLER READY SENT
+On: 2011-11-04 13:11:45.182225 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:12:28.874165 ------------------
+On: 2011-11-04 13:12:28.874308 Event: LISTEN ON PORT: 54364
+On: 2011-11-04 13:12:30.134203 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40573)
+On: 2011-11-04 13:12:30.210259 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 13:12:30.210619 Event: RECEIVER READY SENT
+On: 2011-11-04 13:12:36.046122 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:03:09.350606 ------------------
+On: 2011-11-04 14:03:09.350739 Event: LISTEN ON PORT: 37825
+On: 2011-11-04 14:03:10.581866 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56925)
+On: 2011-11-04 14:03:10.632413 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:03:10.638042 Event: CALLER READY SENT
+On: 2011-11-04 14:03:15.094224 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:06:55.823316 ------------------
+On: 2011-11-04 14:06:55.823455 Event: LISTEN ON PORT: 56687
+On: 2011-11-04 14:06:57.030106 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57624)
+On: 2011-11-04 14:06:57.074373 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:06:57.078166 Event: CALLER READY SENT
+On: 2011-11-04 14:07:10.362095 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:14.241208 ------------------
+On: 2011-11-04 14:07:14.241337 Event: LISTEN ON PORT: 36494
+On: 2011-11-04 14:07:15.430181 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42894)
+On: 2011-11-04 14:07:15.502301 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:15.506172 Event: CALLER READY SENT
+On: 2011-11-04 14:07:29.730099 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:33.608941 ------------------
+On: 2011-11-04 14:07:33.609074 Event: LISTEN ON PORT: 31925
+On: 2011-11-04 14:07:34.806146 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42314)
+On: 2011-11-04 14:07:34.882266 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:34.886172 Event: CALLER READY SENT
+On: 2011-11-04 14:07:50.238070 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:07:54.084750 ------------------
+On: 2011-11-04 14:07:54.084888 Event: LISTEN ON PORT: 54622
+On: 2011-11-04 14:07:55.282094 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55997)
+On: 2011-11-04 14:07:55.350333 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:07:55.354173 Event: CALLER READY SENT
+On: 2011-11-04 14:08:06.330062 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:09:01.275799 ------------------
+On: 2011-11-04 14:09:01.275946 Event: LISTEN ON PORT: 55936
+On: 2011-11-04 14:09:02.466090 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49520)
+On: 2011-11-04 14:09:02.514338 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:09:02.514708 Event: RECEIVER READY SENT
+On: 2011-11-04 14:09:10.374089 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:09:52.204149 ------------------
+On: 2011-11-04 14:09:52.204283 Event: LISTEN ON PORT: 57244
+On: 2011-11-04 14:09:53.407622 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52012)
+On: 2011-11-04 14:09:53.458411 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:09:53.462055 Event: CALLER READY SENT
+On: 2011-11-04 14:10:05.342047 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:09.138618 ------------------
+On: 2011-11-04 14:10:09.138753 Event: LISTEN ON PORT: 53585
+On: 2011-11-04 14:10:10.334180 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53983)
+On: 2011-11-04 14:10:10.406256 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:10:10.418041 Event: CALLER READY SENT
+On: 2011-11-04 14:10:22.298185 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:11:24.022429 ------------------
+On: 2011-11-04 14:11:24.022564 Event: LISTEN ON PORT: 49361
+On: 2011-11-04 14:11:25.210176 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59588)
+On: 2011-11-04 14:11:25.282257 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:11:25.286170 Event: CALLER READY SENT
+On: 2011-11-04 14:11:29.790094 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:12:13.854538 ------------------
+On: 2011-11-04 14:12:13.854886 Event: LISTEN ON PORT: 44307
+On: 2011-11-04 14:12:15.077452 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35114)
+On: 2011-11-04 14:12:15.122327 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 14:12:15.122691 Event: RECEIVER READY SENT
+On: 2011-11-04 14:12:19.850053 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:11:52.660399 ------------------
+On: 2011-11-04 15:11:52.660533 Event: LISTEN ON PORT: 38077
+On: 2011-11-04 15:11:53.978074 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56245)
+On: 2011-11-04 15:11:54.050272 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:11:54.050631 Event: RECEIVER READY SENT
+On: 2011-11-04 15:11:59.094027 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:14:52.833007 ------------------
+On: 2011-11-04 15:14:52.833142 Event: LISTEN ON PORT: 59640
+On: 2011-11-04 15:14:54.182130 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43567)
+On: 2011-11-04 15:14:54.234284 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:14:54.241163 Event: CALLER READY SENT
+On: 2011-11-04 15:15:09.220062 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:19:17.761174 ------------------
+On: 2011-11-04 15:19:17.761311 Event: LISTEN ON PORT: 49865
+On: 2011-11-04 15:19:19.081187 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44044)
+On: 2011-11-04 15:19:19.154247 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:19:19.158150 Event: CALLER READY SENT
+On: 2011-11-04 15:19:23.678085 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:01.598321 ------------------
+On: 2011-11-04 15:23:01.598473 Event: LISTEN ON PORT: 47201
+On: 2011-11-04 15:23:02.882121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36892)
+On: 2011-11-04 15:23:02.934280 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:02.938138 Event: CALLER READY SENT
+On: 2011-11-04 15:23:17.274084 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:20.997927 ------------------
+On: 2011-11-04 15:23:20.998135 Event: LISTEN ON PORT: 43022
+On: 2011-11-04 15:23:22.318164 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49398)
+On: 2011-11-04 15:23:22.366262 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:22.370140 Event: CALLER READY SENT
+On: 2011-11-04 15:23:37.574307 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:23:41.343977 ------------------
+On: 2011-11-04 15:23:41.344111 Event: LISTEN ON PORT: 32427
+On: 2011-11-04 15:23:42.658162 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43873)
+On: 2011-11-04 15:23:42.706254 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:23:42.710135 Event: CALLER READY SENT
+On: 2011-11-04 15:23:57.590031 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:24:01.360336 ------------------
+On: 2011-11-04 15:24:01.360469 Event: LISTEN ON PORT: 31550
+On: 2011-11-04 15:24:02.646225 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42173)
+On: 2011-11-04 15:24:02.718280 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:24:02.722144 Event: CALLER READY SENT
+On: 2011-11-04 15:24:12.646095 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:25:10.281411 ------------------
+On: 2011-11-04 15:25:10.281542 Event: LISTEN ON PORT: 40082
+On: 2011-11-04 15:25:11.638075 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36611)
+On: 2011-11-04 15:25:11.686316 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:25:11.686711 Event: RECEIVER READY SENT
+On: 2011-11-04 15:25:19.370046 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:01.304558 ------------------
+On: 2011-11-04 15:26:01.304691 Event: LISTEN ON PORT: 54196
+On: 2011-11-04 15:26:02.610077 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48353)
+On: 2011-11-04 15:26:02.658281 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:26:02.662136 Event: CALLER READY SENT
+On: 2011-11-04 15:26:14.638104 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:18.390206 ------------------
+On: 2011-11-04 15:26:18.390353 Event: LISTEN ON PORT: 47718
+On: 2011-11-04 15:26:19.650112 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44534)
+On: 2011-11-04 15:26:19.706254 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:26:19.715476 Event: CALLER READY SENT
+On: 2011-11-04 15:26:31.614242 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:27:32.984006 ------------------
+On: 2011-11-04 15:27:32.984139 Event: LISTEN ON PORT: 55617
+On: 2011-11-04 15:27:34.186078 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45227)
+On: 2011-11-04 15:27:34.254321 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:27:34.258150 Event: CALLER READY SENT
+On: 2011-11-04 15:27:39.478082 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:28:21.555550 ------------------
+On: 2011-11-04 15:28:21.555683 Event: LISTEN ON PORT: 44367
+On: 2011-11-04 15:28:22.898077 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33579)
+On: 2011-11-04 15:28:22.942451 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:28:22.942817 Event: RECEIVER READY SENT
+On: 2011-11-04 15:28:27.690220 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:41:46.983653 ------------------
+On: 2011-11-04 15:41:46.983791 Event: LISTEN ON PORT: 35096
+On: 2011-11-04 15:41:48.342166 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53561)
+On: 2011-11-04 15:41:48.390253 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:41:48.394136 Event: CALLER READY SENT
+On: 2011-11-04 15:42:01.378032 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:42:05.083168 ------------------
+On: 2011-11-04 15:42:05.083304 Event: LISTEN ON PORT: 57615
+On: 2011-11-04 15:42:06.422106 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45051)
+On: 2011-11-04 15:42:06.470259 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 15:42:06.474137 Event: CALLER READY SENT
+On: 2011-11-04 15:42:19.334183 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:25:39.043745 ------------------
+On: 2011-11-04 16:25:39.043876 Event: LISTEN ON PORT: 59221
+On: 2011-11-04 16:25:40.482082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56040)
+On: 2011-11-04 16:25:40.530249 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:25:40.534118 Event: CALLER READY SENT
+On: 2011-11-04 16:25:54.538057 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:45:22.110378 ------------------
+On: 2011-11-04 16:45:22.110503 Event: LISTEN ON PORT: 57454
+On: 2011-11-04 16:45:23.550161 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44172)
+On: 2011-11-04 16:45:23.598245 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:45:23.602118 Event: CALLER READY SENT
+On: 2011-11-04 16:45:45.926054 Event: CALLER STATUS SENT
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:49:55.713851 ------------------
+On: 2011-11-04 16:49:55.714034 Event: LISTEN ON PORT: 42185
+On: 2011-11-04 16:49:57.118159 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35466)
+On: 2011-11-04 16:49:57.190239 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:49:57.190646 Event: RECEIVER READY SENT
+On: 2011-11-04 16:50:12.238026 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:50:37.901148 ------------------
+On: 2011-11-04 16:50:37.901275 Event: LISTEN ON PORT: 43845
+On: 2011-11-04 16:50:39.298081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42431)
+On: 2011-11-04 16:50:39.346308 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:50:39.346669 Event: RECEIVER READY SENT
+On: 2011-11-04 16:50:54.394094 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:52:32.540580 ------------------
+On: 2011-11-04 16:52:32.540704 Event: LISTEN ON PORT: 35943
+On: 2011-11-04 16:52:33.982076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46465)
+On: 2011-11-04 16:52:34.050266 Event: TALK INITIALIZATION SENT
+On: 2011-11-04 16:52:34.050683 Event: RECEIVER READY SENT
+On: 2011-11-04 16:52:49.122033 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:36:17.502860 ------------------
+On: 2011-11-05 00:36:17.502988 Event: LISTEN ON PORT: 35438
+On: 2011-11-05 00:36:18.906075 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45160)
+On: 2011-11-05 00:36:18.978270 Event: TALK INITIALIZATION SENT
+On: 2011-11-05 00:36:18.978625 Event: RECEIVER READY SENT
+On: 2011-11-05 00:36:24.426056 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:37:43.215660 ------------------
+On: 2011-11-05 00:37:43.215786 Event: LISTEN ON PORT: 48435
+On: 2011-11-05 00:37:44.622157 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45314)
+On: 2011-11-05 00:37:44.694240 Event: TALK INITIALIZATION SENT
+On: 2011-11-05 00:37:44.694598 Event: RECEIVER READY SENT
+On: 2011-11-05 00:37:50.162032 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:07:42.828987 ------------------
+On: 2011-11-09 15:07:42.829131 Event: LISTEN ON PORT: 31882
+On: 2011-11-09 15:07:44.130307 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59770)
+On: 2011-11-09 15:07:44.202266 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:07:44.202627 Event: RECEIVER READY SENT
+On: 2011-11-09 15:07:49.738090 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:07:55.492812 ------------------
+On: 2011-11-09 15:07:55.492997 Event: LISTEN ON PORT: 49355
+On: 2011-11-09 15:07:56.802088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42243)
+On: 2011-11-09 15:07:56.874471 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:07:56.874838 Event: RECEIVER READY SENT
+On: 2011-11-09 15:08:02.698098 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:08.363010 ------------------
+On: 2011-11-09 15:08:08.363150 Event: LISTEN ON PORT: 56678
+On: 2011-11-09 15:08:09.666079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43671)
+On: 2011-11-09 15:08:09.738306 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:08:09.738672 Event: RECEIVER READY SENT
+On: 2011-11-09 15:08:15.638094 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:21.307373 ------------------
+On: 2011-11-09 15:08:21.307509 Event: LISTEN ON PORT: 43908
+On: 2011-11-09 15:08:22.614169 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41112)
+On: 2011-11-09 15:08:22.686511 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:08:22.686984 Event: RECEIVER READY SENT
+On: 2011-11-09 15:08:28.598069 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:34.277918 ------------------
+On: 2011-11-09 15:08:34.278249 Event: LISTEN ON PORT: 43252
+On: 2011-11-09 15:08:35.590091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34278)
+On: 2011-11-09 15:08:35.658326 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:08:35.658688 Event: RECEIVER READY SENT
+On: 2011-11-09 15:08:41.522040 Event: RECEIVE STATUS REPORTED
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:47:03.418145 ------------------
+On: 2011-11-09 15:47:03.418295 Event: LISTEN ON PORT: 57434
+On: 2011-11-09 15:47:04.750120 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35898)
+On: 2011-11-09 15:47:04.798261 Event: TALK INITIALIZATION SENT
+On: 2011-11-09 15:47:04.798631 Event: RECEIVER READY SENT
+On: 2011-11-09 15:47:10.702041 Event: RECEIVE STATUS REPORTED
diff --git a/Code/Server-Code/Landline handler.log b/Code/Server-Code/Landline handler.log
new file mode 100644
index 0000000..4978f36
--- /dev/null
+++ b/Code/Server-Code/Landline handler.log
@@ -0,0 +1,605 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:41:32.684290 ------------------
+On: 2011-11-03 14:41:32.704844 Event: try to Connect to Controller
+On: 2011-11-03 14:41:33.969928 Event: init state
+On: 2011-11-03 14:41:33.970223 Event: Register Account to SIP server
+On: 2011-11-03 14:41:33.972668 Event: 100
+On: 2011-11-03 14:41:33.972765 Event: Caller Handler Ready
+On: 2011-11-03 14:41:45.220091 Event: CALL START
+On: 2011-11-03 14:41:45.220150 Event: Make a call to: 07612034661455
+On: 2011-11-03 14:41:50.023820 Event: Call Connecting
+On: 2011-11-03 14:41:50.023870 Event: 200
+On: 2011-11-03 14:41:50.025228 Event: Terminate
+On: 2011-11-03 14:41:50.025279 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:48:59.071882 ------------------
+On: 2011-11-03 14:48:59.092335 Event: try to Connect to Controller
+On: 2011-11-03 14:49:00.329563 Event: init state
+On: 2011-11-03 14:49:00.329796 Event: Register Account to SIP server
+On: 2011-11-03 14:49:00.333335 Event: 100
+On: 2011-11-03 14:49:00.333431 Event: Caller Handler Ready
+On: 2011-11-03 14:49:11.552665 Event: CALL START
+On: 2011-11-03 14:49:11.552724 Event: Make a call to: 07612034661473
+On: 2011-11-03 14:49:16.862645 Event: Call Connecting
+On: 2011-11-03 14:49:16.862695 Event: 200
+On: 2011-11-03 14:49:16.863539 Event: Terminate
+On: 2011-11-03 14:49:16.863592 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:56:20.560966 ------------------
+On: 2011-11-03 14:56:20.581398 Event: try to Connect to Controller
+On: 2011-11-03 14:56:21.846292 Event: init state
+On: 2011-11-03 14:56:21.846642 Event: Register Account to SIP server
+On: 2011-11-03 14:56:21.849931 Event: 100
+On: 2011-11-03 14:56:21.852546 Event: Caller Handler Ready
+On: 2011-11-03 14:56:33.088750 Event: CALL START
+On: 2011-11-03 14:56:33.088807 Event: Make a call to: 07612034661455
+On: 2011-11-03 14:56:37.570560 Event: Call Connecting
+On: 2011-11-03 14:56:37.570609 Event: 200
+On: 2011-11-03 14:56:37.571455 Event: Terminate
+On: 2011-11-03 14:56:37.571508 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:04:07.607307 ------------------
+On: 2011-11-03 15:04:07.627650 Event: try to Connect to Controller
+On: 2011-11-03 15:04:08.907048 Event: init state
+On: 2011-11-03 15:04:08.907285 Event: Register Account to SIP server
+On: 2011-11-03 15:04:08.909618 Event: 100
+On: 2011-11-03 15:04:08.912216 Event: Caller Handler Ready
+On: 2011-11-03 15:04:20.156904 Event: CALL START
+On: 2011-11-03 15:04:20.156960 Event: Make a call to: 07612034661455
+On: 2011-11-03 15:04:24.772529 Event: Call Connecting
+On: 2011-11-03 15:04:24.772579 Event: 200
+On: 2011-11-03 15:04:24.773485 Event: Terminate
+On: 2011-11-03 15:04:24.773542 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:11:20.304318 ------------------
+On: 2011-11-03 15:11:20.324592 Event: try to Connect to Controller
+On: 2011-11-03 15:11:21.604679 Event: init state
+On: 2011-11-03 15:11:21.604926 Event: Register Account to SIP server
+On: 2011-11-03 15:11:21.610010 Event: 100
+On: 2011-11-03 15:11:21.612278 Event: Caller Handler Ready
+On: 2011-11-03 15:11:32.841988 Event: CALL START
+On: 2011-11-03 15:11:32.842044 Event: Make a call to: 07612034661473
+On: 2011-11-03 15:11:38.684985 Event: Call Connecting
+On: 2011-11-03 15:11:38.685033 Event: 200
+On: 2011-11-03 15:11:38.685876 Event: Terminate
+On: 2011-11-03 15:11:38.685927 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:26:34.411539 ------------------
+On: 2011-11-03 15:26:34.432780 Event: try to Connect to Controller
+On: 2011-11-03 15:26:35.717896 Event: init state
+On: 2011-11-03 15:26:35.718319 Event: Register Account to SIP server
+On: 2011-11-03 15:26:35.720881 Event: 100
+On: 2011-11-03 15:26:35.723389 Event: Caller Handler Ready
+On: 2011-11-03 15:26:46.926198 Event: CALL START
+On: 2011-11-03 15:26:46.926255 Event: Make a call to: 07612034661473
+On: 2011-11-03 15:26:52.032765 Event: Call Connecting
+On: 2011-11-03 15:26:52.032812 Event: 200
+On: 2011-11-03 15:26:52.033638 Event: Terminate
+On: 2011-11-03 15:26:52.033688 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:33:58.923071 ------------------
+On: 2011-11-03 15:33:58.943479 Event: try to Connect to Controller
+On: 2011-11-03 15:34:00.234989 Event: init state
+On: 2011-11-03 15:34:00.235212 Event: Register Account to SIP server
+On: 2011-11-03 15:34:00.236762 Event: 100
+On: 2011-11-03 15:34:00.239185 Event: Caller Handler Ready
+On: 2011-11-03 15:34:11.438758 Event: CALL START
+On: 2011-11-03 15:34:11.438814 Event: Make a call to: 07612034661473
+On: 2011-11-03 15:34:16.441528 Event: Call Connecting
+On: 2011-11-03 15:34:16.441575 Event: 200
+On: 2011-11-03 15:34:16.442573 Event: Terminate
+On: 2011-11-03 15:34:16.442628 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:41:32.970161 ------------------
+On: 2011-11-03 15:41:32.990643 Event: try to Connect to Controller
+On: 2011-11-03 15:41:34.282842 Event: init state
+On: 2011-11-03 15:41:34.283083 Event: Register Account to SIP server
+On: 2011-11-03 15:41:34.285543 Event: 100
+On: 2011-11-03 15:41:34.288077 Event: Caller Handler Ready
+On: 2011-11-03 15:41:45.506698 Event: CALL START
+On: 2011-11-03 15:41:45.506755 Event: Make a call to: 07612034661473
+On: 2011-11-03 15:41:55.098481 Event: Call Connecting
+On: 2011-11-03 15:41:55.098529 Event: 200
+On: 2011-11-03 15:41:55.099356 Event: Terminate
+On: 2011-11-03 15:41:55.099407 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:49:03.140843 ------------------
+On: 2011-11-03 15:49:03.161155 Event: try to Connect to Controller
+On: 2011-11-03 15:49:04.454617 Event: init state
+On: 2011-11-03 15:49:04.454864 Event: Register Account to SIP server
+On: 2011-11-03 15:49:04.456908 Event: 100
+On: 2011-11-03 15:49:04.459485 Event: Caller Handler Ready
+On: 2011-11-03 15:49:15.681990 Event: CALL START
+On: 2011-11-03 15:49:15.682053 Event: Make a call to: 07612034661473
+On: 2011-11-03 15:49:21.223862 Event: Call Connecting
+On: 2011-11-03 15:49:21.223910 Event: 200
+On: 2011-11-03 15:49:21.224758 Event: Terminate
+On: 2011-11-03 15:49:21.224810 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:56:39.220259 ------------------
+On: 2011-11-03 15:56:39.240666 Event: try to Connect to Controller
+On: 2011-11-03 15:56:40.529533 Event: init state
+On: 2011-11-03 15:56:40.529779 Event: Register Account to SIP server
+On: 2011-11-03 15:56:40.532662 Event: 100
+On: 2011-11-03 15:56:40.535009 Event: Caller Handler Ready
+On: 2011-11-03 15:56:51.753293 Event: CALL START
+On: 2011-11-03 15:56:51.753349 Event: Make a call to: 07612034661455
+On: 2011-11-03 15:56:56.486610 Event: Call Connecting
+On: 2011-11-03 15:56:56.486658 Event: 200
+On: 2011-11-03 15:56:56.487483 Event: Terminate
+On: 2011-11-03 15:56:56.487533 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:04:02.758569 ------------------
+On: 2011-11-03 16:04:02.778951 Event: try to Connect to Controller
+On: 2011-11-03 16:04:04.040355 Event: init state
+On: 2011-11-03 16:04:04.040605 Event: Register Account to SIP server
+On: 2011-11-03 16:04:04.043117 Event: 100
+On: 2011-11-03 16:04:04.045492 Event: Caller Handler Ready
+On: 2011-11-03 16:04:15.278763 Event: CALL START
+On: 2011-11-03 16:04:15.278821 Event: Make a call to: 07612034661455
+On: 2011-11-03 16:04:40.815663 Event: Terminate
+On: 2011-11-03 16:04:40.815714 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:06:09.946513 ------------------
+On: 2011-11-03 16:06:09.966885 Event: try to Connect to Controller
+On: 2011-11-03 16:06:11.201443 Event: init state
+On: 2011-11-03 16:06:11.201678 Event: Register Account to SIP server
+On: 2011-11-03 16:06:11.204082 Event: 100
+On: 2011-11-03 16:06:11.204460 Event: Receiver Handler Ready
+On: 2011-11-03 16:06:11.204533 Event: RECEIVE START
+On: 2011-11-03 16:06:18.820621 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
+On: 2011-11-03 16:06:18.821170 Event: Call Connecting
+On: 2011-11-03 16:06:18.821215 Event: 200
+On: 2011-11-03 16:06:18.821472 Event: Answer call
+On: 2011-11-03 16:06:18.821523 Event: Hangup call
+On: 2011-11-03 16:06:18.821707 Event: CALL OK
+On: 2011-11-03 16:06:18.872384 Event: Call Disconnected
+On: 2011-11-03 16:06:20.268590 Event: Terminate
+On: 2011-11-03 16:06:20.268633 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:11:33.066814 ------------------
+On: 2011-11-03 16:11:33.087033 Event: try to Connect to Controller
+On: 2011-11-03 16:11:34.347579 Event: init state
+On: 2011-11-03 16:11:34.347829 Event: Register Account to SIP server
+On: 2011-11-03 16:11:34.350290 Event: 100
+On: 2011-11-03 16:11:34.352651 Event: Caller Handler Ready
+On: 2011-11-03 16:11:45.582265 Event: CALL START
+On: 2011-11-03 16:11:45.582319 Event: Make a call to: 07612034661473
+On: 2011-11-03 16:11:50.995711 Event: Call Connecting
+On: 2011-11-03 16:11:50.995757 Event: 200
+On: 2011-11-03 16:11:50.996595 Event: Terminate
+On: 2011-11-03 16:11:50.996650 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:22:07.652659 ------------------
+On: 2011-11-03 16:22:07.673331 Event: try to Connect to Controller
+On: 2011-11-03 16:22:08.942587 Event: init state
+On: 2011-11-03 16:22:08.942823 Event: Register Account to SIP server
+On: 2011-11-03 16:22:08.945070 Event: 100
+On: 2011-11-03 16:22:08.947645 Event: Caller Handler Ready
+On: 2011-11-03 16:22:20.190314 Event: CALL START
+On: 2011-11-03 16:22:20.190373 Event: Make a call to: 07612034661455
+On: 2011-11-03 16:22:24.914942 Event: Call Connecting
+On: 2011-11-03 16:22:24.914990 Event: 200
+On: 2011-11-03 16:22:24.915813 Event: Terminate
+On: 2011-11-03 16:22:24.915866 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:46:50.134442 ------------------
+On: 2011-11-03 22:46:50.154742 Event: try to Connect to Controller
+On: 2011-11-03 22:46:51.442369 Event: init state
+On: 2011-11-03 22:46:51.442604 Event: Register Account to SIP server
+On: 2011-11-03 22:46:51.444260 Event: 100
+On: 2011-11-03 22:46:51.446162 Event: Caller Handler Ready
+On: 2011-11-03 22:47:02.691293 Event: CALL START
+On: 2011-11-03 22:47:02.691345 Event: Make a call to: 07612034661455
+On: 2011-11-03 22:47:07.348797 Event: Call Connecting
+On: 2011-11-03 22:47:07.348844 Event: 200
+On: 2011-11-03 22:47:07.349687 Event: Terminate
+On: 2011-11-03 22:47:07.349736 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:54:18.725249 ------------------
+On: 2011-11-03 22:54:18.745765 Event: try to Connect to Controller
+On: 2011-11-03 22:54:20.033883 Event: init state
+On: 2011-11-03 22:54:20.034302 Event: Register Account to SIP server
+On: 2011-11-03 22:54:20.035922 Event: 100
+On: 2011-11-03 22:54:20.038299 Event: Caller Handler Ready
+On: 2011-11-03 22:54:31.274896 Event: CALL START
+On: 2011-11-03 22:54:31.274953 Event: Make a call to: 07612034661455
+On: 2011-11-03 22:54:35.840715 Event: Call Connecting
+On: 2011-11-03 22:54:35.840761 Event: 200
+On: 2011-11-03 22:54:35.841649 Event: Terminate
+On: 2011-11-03 22:54:35.841725 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:01:49.610196 ------------------
+On: 2011-11-03 23:01:49.630721 Event: try to Connect to Controller
+On: 2011-11-03 23:01:50.921424 Event: init state
+On: 2011-11-03 23:01:50.921669 Event: Register Account to SIP server
+On: 2011-11-03 23:01:50.923436 Event: 100
+On: 2011-11-03 23:01:50.925776 Event: Caller Handler Ready
+On: 2011-11-03 23:02:02.170156 Event: CALL START
+On: 2011-11-03 23:02:02.170212 Event: Make a call to: 07612034661455
+On: 2011-11-03 23:02:06.616494 Event: Call Connecting
+On: 2011-11-03 23:02:06.616540 Event: 200
+On: 2011-11-03 23:02:06.617387 Event: Terminate
+On: 2011-11-03 23:02:06.617438 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:09:21.278940 ------------------
+On: 2011-11-03 23:09:21.299265 Event: try to Connect to Controller
+On: 2011-11-03 23:09:22.591368 Event: init state
+On: 2011-11-03 23:09:22.591612 Event: Register Account to SIP server
+On: 2011-11-03 23:09:22.593567 Event: 100
+On: 2011-11-03 23:09:22.596094 Event: Caller Handler Ready
+On: 2011-11-03 23:09:33.829988 Event: CALL START
+On: 2011-11-03 23:09:33.830044 Event: Make a call to: 07612034661455
+On: 2011-11-03 23:09:38.542577 Event: Call Connecting
+On: 2011-11-03 23:09:38.542622 Event: 200
+On: 2011-11-03 23:09:38.543432 Event: Terminate
+On: 2011-11-03 23:09:38.543483 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:16:44.976808 ------------------
+On: 2011-11-03 23:16:44.996883 Event: try to Connect to Controller
+On: 2011-11-03 23:16:46.288215 Event: init state
+On: 2011-11-03 23:16:46.288459 Event: Register Account to SIP server
+On: 2011-11-03 23:16:46.290201 Event: 100
+On: 2011-11-03 23:16:46.292638 Event: Caller Handler Ready
+On: 2011-11-03 23:16:57.516662 Event: CALL START
+On: 2011-11-03 23:16:57.516716 Event: Make a call to: 07612034661473
+On: 2011-11-03 23:17:02.755788 Event: Call Connecting
+On: 2011-11-03 23:17:02.755834 Event: 200
+On: 2011-11-03 23:17:02.756734 Event: Terminate
+On: 2011-11-03 23:17:02.756783 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:24:18.014984 ------------------
+On: 2011-11-03 23:24:18.035699 Event: try to Connect to Controller
+On: 2011-11-03 23:24:19.324485 Event: init state
+On: 2011-11-03 23:24:19.324734 Event: Register Account to SIP server
+On: 2011-11-03 23:24:19.327031 Event: 100
+On: 2011-11-03 23:24:19.329358 Event: Caller Handler Ready
+On: 2011-11-03 23:24:30.553722 Event: CALL START
+On: 2011-11-03 23:24:30.553776 Event: Make a call to: 07612034661473
+On: 2011-11-03 23:24:35.789362 Event: Call Connecting
+On: 2011-11-03 23:24:35.789410 Event: 200
+On: 2011-11-03 23:24:35.790403 Event: Terminate
+On: 2011-11-03 23:24:35.790457 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:31:50.128163 ------------------
+On: 2011-11-03 23:31:50.148659 Event: try to Connect to Controller
+On: 2011-11-03 23:31:51.437726 Event: init state
+On: 2011-11-03 23:31:51.438000 Event: Register Account to SIP server
+On: 2011-11-03 23:31:51.439624 Event: 100
+On: 2011-11-03 23:31:51.439716 Event: Caller Handler Ready
+On: 2011-11-03 23:32:02.644731 Event: CALL START
+On: 2011-11-03 23:32:02.644787 Event: Make a call to: 07612034661473
+On: 2011-11-03 23:32:07.751258 Event: Call Connecting
+On: 2011-11-03 23:32:07.751305 Event: 200
+On: 2011-11-03 23:32:07.752149 Event: Terminate
+On: 2011-11-03 23:32:07.752200 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:08:31.304960 ------------------
+On: 2011-11-04 13:08:31.329858 Event: try to Connect to Controller
+On: 2011-11-04 13:08:32.518604 Event: init state
+On: 2011-11-04 13:08:32.518842 Event: Register Account to SIP server
+On: 2011-11-04 13:08:32.521584 Event: 100
+On: 2011-11-04 13:08:32.521680 Event: Caller Handler Ready
+On: 2011-11-04 13:08:43.758763 Event: CALL START
+On: 2011-11-04 13:08:43.758822 Event: Make a call to: 07612034661455
+On: 2011-11-04 13:08:49.207993 Event: Call Connecting
+On: 2011-11-04 13:08:49.208045 Event: 200
+On: 2011-11-04 13:08:49.209396 Event: Terminate
+On: 2011-11-04 13:08:49.209450 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:08:53.153364 ------------------
+On: 2011-11-04 13:08:53.174327 Event: try to Connect to Controller
+On: 2011-11-04 13:08:54.274592 Event: init state
+On: 2011-11-04 13:08:54.274841 Event: Register Account to SIP server
+On: 2011-11-04 13:08:54.277317 Event: 100
+On: 2011-11-04 13:08:54.277409 Event: Caller Handler Ready
+On: 2011-11-04 13:09:05.511396 Event: CALL START
+On: 2011-11-04 13:09:05.511457 Event: Make a call to: 07612034661473
+On: 2011-11-04 13:09:11.564381 Event: Call Connecting
+On: 2011-11-04 13:09:11.564432 Event: 200
+On: 2011-11-04 13:09:11.565858 Event: Terminate
+On: 2011-11-04 13:09:11.565912 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:09:15.516321 ------------------
+On: 2011-11-04 13:09:15.543739 Event: try to Connect to Controller
+On: 2011-11-04 13:09:16.644306 Event: init state
+On: 2011-11-04 13:09:16.644545 Event: Register Account to SIP server
+On: 2011-11-04 13:09:16.646368 Event: 100
+On: 2011-11-04 13:09:16.646464 Event: Caller Handler Ready
+On: 2011-11-04 13:09:21.797646 Event: CALL START
+On: 2011-11-04 13:09:21.797704 Event: Make a call to: 07612034661449
+On: 2011-11-04 13:09:26.878650 Event: Call Connecting
+On: 2011-11-04 13:09:26.878701 Event: 200
+On: 2011-11-04 13:09:26.882130 Event: Terminate
+On: 2011-11-04 13:09:26.882192 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:09:30.816621 ------------------
+On: 2011-11-04 13:09:30.842329 Event: try to Connect to Controller
+On: 2011-11-04 13:09:31.950408 Event: init state
+On: 2011-11-04 13:09:31.950645 Event: Register Account to SIP server
+On: 2011-11-04 13:09:31.952873 Event: 100
+On: 2011-11-04 13:09:31.952967 Event: Caller Handler Ready
+On: 2011-11-04 13:09:36.962413 Event: CALL START
+On: 2011-11-04 13:09:36.962472 Event: Make a call to: 07612034661928
+On: 2011-11-04 13:09:39.957706 Event: Call Connecting
+On: 2011-11-04 13:09:39.957757 Event: 200
+On: 2011-11-04 13:09:39.959114 Event: Terminate
+On: 2011-11-04 13:09:39.959161 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:54.745356 ------------------
+On: 2011-11-04 13:10:54.766425 Event: try to Connect to Controller
+On: 2011-11-04 13:10:55.895045 Event: init state
+On: 2011-11-04 13:10:55.895323 Event: Register Account to SIP server
+On: 2011-11-04 13:10:55.897489 Event: 100
+On: 2011-11-04 13:10:55.898016 Event: Receiver Handler Ready
+On: 2011-11-04 13:10:55.898091 Event: RECEIVE START
+On: 2011-11-04 13:11:01.688640 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
+On: 2011-11-04 13:11:01.689202 Event: Call Connecting
+On: 2011-11-04 13:11:01.689247 Event: 200
+On: 2011-11-04 13:11:01.689584 Event: Answer call
+On: 2011-11-04 13:11:01.689649 Event: Hangup call
+On: 2011-11-04 13:11:01.689840 Event: CALL OK
+On: 2011-11-04 13:11:01.740518 Event: Call Disconnected
+On: 2011-11-04 13:11:02.356720 Event: Terminate
+On: 2011-11-04 13:11:02.356759 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:08:16.424246 ------------------
+On: 2011-11-04 14:08:16.444967 Event: try to Connect to Controller
+On: 2011-11-04 14:08:17.543208 Event: init state
+On: 2011-11-04 14:08:17.543462 Event: Register Account to SIP server
+On: 2011-11-04 14:08:17.566066 Event: 100
+On: 2011-11-04 14:08:17.566164 Event: Caller Handler Ready
+On: 2011-11-04 14:08:28.797420 Event: CALL START
+On: 2011-11-04 14:08:28.797488 Event: Make a call to: 07612034661455
+On: 2011-11-04 14:08:33.757792 Event: Call Connecting
+On: 2011-11-04 14:08:33.757843 Event: 200
+On: 2011-11-04 14:08:33.759286 Event: Terminate
+On: 2011-11-04 14:08:33.759340 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:08:37.714426 ------------------
+On: 2011-11-04 14:08:37.735313 Event: try to Connect to Controller
+On: 2011-11-04 14:08:38.843111 Event: init state
+On: 2011-11-04 14:08:38.843357 Event: Register Account to SIP server
+On: 2011-11-04 14:08:38.846348 Event: 100
+On: 2011-11-04 14:08:38.846443 Event: Caller Handler Ready
+On: 2011-11-04 14:08:50.074341 Event: CALL START
+On: 2011-11-04 14:08:50.074407 Event: Make a call to: 07612034661473
+On: 2011-11-04 14:08:55.304456 Event: Call Connecting
+On: 2011-11-04 14:08:55.304508 Event: 200
+On: 2011-11-04 14:08:55.305903 Event: Terminate
+On: 2011-11-04 14:08:55.306018 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:08:59.256707 ------------------
+On: 2011-11-04 14:08:59.277419 Event: try to Connect to Controller
+On: 2011-11-04 14:09:00.383625 Event: init state
+On: 2011-11-04 14:09:00.383870 Event: Register Account to SIP server
+On: 2011-11-04 14:09:00.386265 Event: 100
+On: 2011-11-04 14:09:00.388615 Event: Caller Handler Ready
+On: 2011-11-04 14:09:05.517437 Event: CALL START
+On: 2011-11-04 14:09:05.517490 Event: Make a call to: 07612034661449
+On: 2011-11-04 14:09:10.654324 Event: Call Connecting
+On: 2011-11-04 14:09:10.654374 Event: 200
+On: 2011-11-04 14:09:10.658122 Event: Terminate
+On: 2011-11-04 14:09:10.658181 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:09:14.599510 ------------------
+On: 2011-11-04 14:09:14.620177 Event: try to Connect to Controller
+On: 2011-11-04 14:09:15.720784 Event: init state
+On: 2011-11-04 14:09:15.721015 Event: Register Account to SIP server
+On: 2011-11-04 14:09:15.723545 Event: 100
+On: 2011-11-04 14:09:15.725592 Event: Caller Handler Ready
+On: 2011-11-04 14:09:20.732618 Event: CALL START
+On: 2011-11-04 14:09:20.732682 Event: Make a call to: 07612034661928
+On: 2011-11-04 14:09:23.582481 Event: Call Connecting
+On: 2011-11-04 14:09:23.582530 Event: 200
+On: 2011-11-04 14:09:23.583808 Event: Terminate
+On: 2011-11-04 14:09:23.583855 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:38.305453 ------------------
+On: 2011-11-04 14:10:38.331374 Event: try to Connect to Controller
+On: 2011-11-04 14:10:39.479129 Event: init state
+On: 2011-11-04 14:10:39.479371 Event: Register Account to SIP server
+On: 2011-11-04 14:10:39.481849 Event: 100
+On: 2011-11-04 14:10:39.482283 Event: Receiver Handler Ready
+On: 2011-11-04 14:10:39.482355 Event: RECEIVE START
+On: 2011-11-04 14:10:46.120891 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
+On: 2011-11-04 14:10:46.121447 Event: Call Connecting
+On: 2011-11-04 14:10:46.121490 Event: 200
+On: 2011-11-04 14:10:46.121751 Event: Answer call
+On: 2011-11-04 14:10:46.121803 Event: Hangup call
+On: 2011-11-04 14:10:46.122065 Event: CALL OK
+On: 2011-11-04 14:10:46.172737 Event: Call Disconnected
+On: 2011-11-04 14:10:47.037193 Event: Terminate
+On: 2011-11-04 14:10:47.037229 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:07:56.963559 ------------------
+On: 2011-11-04 15:07:56.987691 Event: try to Connect to Controller
+On: 2011-11-04 15:07:58.181786 Event: init state
+On: 2011-11-04 15:07:58.182069 Event: Register Account to SIP server
+On: 2011-11-04 15:07:58.190758 Event: 100
+On: 2011-11-04 15:07:58.190858 Event: Caller Handler Ready
+On: 2011-11-04 15:08:09.422547 Event: CALL START
+On: 2011-11-04 15:08:09.422609 Event: Make a call to: 07612034661473
+On: 2011-11-04 15:08:14.505590 Event: Call Connecting
+On: 2011-11-04 15:08:14.505640 Event: 200
+On: 2011-11-04 15:08:14.507033 Event: Terminate
+On: 2011-11-04 15:08:14.507086 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:12:27.715857 ------------------
+On: 2011-11-04 15:12:27.736472 Event: try to Connect to Controller
+On: 2011-11-04 15:12:28.990823 Event: init state
+On: 2011-11-04 15:12:28.991053 Event: Register Account to SIP server
+On: 2011-11-04 15:12:28.992834 Event: 100
+On: 2011-11-04 15:12:28.992928 Event: Caller Handler Ready
+On: 2011-11-04 15:12:40.235050 Event: CALL START
+On: 2011-11-04 15:12:40.235116 Event: Make a call to: 07612034661455
+On: 2011-11-04 15:12:45.974041 Event: Call Connecting
+On: 2011-11-04 15:12:45.974093 Event: 200
+On: 2011-11-04 15:12:45.975400 Event: Terminate
+On: 2011-11-04 15:12:45.975453 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:15:12.941758 ------------------
+On: 2011-11-04 15:15:12.965823 Event: try to Connect to Controller
+On: 2011-11-04 15:15:14.226635 Event: init state
+On: 2011-11-04 15:15:14.226871 Event: Register Account to SIP server
+On: 2011-11-04 15:15:14.232980 Event: 100
+On: 2011-11-04 15:15:14.233071 Event: Caller Handler Ready
+On: 2011-11-04 15:15:25.465577 Event: CALL START
+On: 2011-11-04 15:15:25.465645 Event: Make a call to: 07612034661473
+On: 2011-11-04 15:15:29.923233 Event: Call Connecting
+On: 2011-11-04 15:15:29.923285 Event: 200
+On: 2011-11-04 15:15:29.924645 Event: Terminate
+On: 2011-11-04 15:15:29.924700 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:24:23.662525 ------------------
+On: 2011-11-04 15:24:23.687060 Event: try to Connect to Controller
+On: 2011-11-04 15:24:24.896596 Event: init state
+On: 2011-11-04 15:24:24.896915 Event: Register Account to SIP server
+On: 2011-11-04 15:24:24.899557 Event: 100
+On: 2011-11-04 15:24:24.901838 Event: Caller Handler Ready
+On: 2011-11-04 15:24:36.144316 Event: CALL START
+On: 2011-11-04 15:24:36.144376 Event: Make a call to: 07612034661455
+On: 2011-11-04 15:24:42.126239 Event: Call Connecting
+On: 2011-11-04 15:24:42.126286 Event: 200
+On: 2011-11-04 15:24:42.127498 Event: Terminate
+On: 2011-11-04 15:24:42.127548 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:24:45.967448 ------------------
+On: 2011-11-04 15:24:45.988144 Event: try to Connect to Controller
+On: 2011-11-04 15:24:47.188928 Event: init state
+On: 2011-11-04 15:24:47.189170 Event: Register Account to SIP server
+On: 2011-11-04 15:24:47.191420 Event: 100
+On: 2011-11-04 15:24:47.191515 Event: Caller Handler Ready
+On: 2011-11-04 15:24:58.423024 Event: CALL START
+On: 2011-11-04 15:24:58.423090 Event: Make a call to: 07612034661473
+On: 2011-11-04 15:25:04.479879 Event: Call Connecting
+On: 2011-11-04 15:25:04.479927 Event: 200
+On: 2011-11-04 15:25:04.481255 Event: Terminate
+On: 2011-11-04 15:25:04.481308 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:25:08.325621 ------------------
+On: 2011-11-04 15:25:08.346352 Event: try to Connect to Controller
+On: 2011-11-04 15:25:09.557592 Event: init state
+On: 2011-11-04 15:25:09.557831 Event: Register Account to SIP server
+On: 2011-11-04 15:25:09.559776 Event: 100
+On: 2011-11-04 15:25:09.559872 Event: Caller Handler Ready
+On: 2011-11-04 15:25:14.689720 Event: CALL START
+On: 2011-11-04 15:25:14.689780 Event: Make a call to: 07612034661449
+On: 2011-11-04 15:25:19.774253 Event: Call Connecting
+On: 2011-11-04 15:25:19.774302 Event: 200
+On: 2011-11-04 15:25:19.778124 Event: Terminate
+On: 2011-11-04 15:25:19.778184 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:25:23.599408 ------------------
+On: 2011-11-04 15:25:23.630624 Event: try to Connect to Controller
+On: 2011-11-04 15:25:24.839034 Event: init state
+On: 2011-11-04 15:25:24.839262 Event: Register Account to SIP server
+On: 2011-11-04 15:25:24.841190 Event: 100
+On: 2011-11-04 15:25:24.841282 Event: Caller Handler Ready
+On: 2011-11-04 15:25:29.850864 Event: CALL START
+On: 2011-11-04 15:25:29.850920 Event: Make a call to: 07612034661928
+On: 2011-11-04 15:25:32.694695 Event: Call Connecting
+On: 2011-11-04 15:25:32.694745 Event: 200
+On: 2011-11-04 15:25:32.696005 Event: Terminate
+On: 2011-11-04 15:25:32.696053 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:47.489268 ------------------
+On: 2011-11-04 15:26:47.514412 Event: try to Connect to Controller
+On: 2011-11-04 15:26:48.739021 Event: init state
+On: 2011-11-04 15:26:48.739261 Event: Register Account to SIP server
+On: 2011-11-04 15:26:48.741585 Event: 100
+On: 2011-11-04 15:26:48.741676 Event: Receiver Handler Ready
+On: 2011-11-04 15:26:48.742105 Event: RECEIVE START
+On: 2011-11-04 15:26:55.146825 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
+On: 2011-11-04 15:26:55.147362 Event: Call Connecting
+On: 2011-11-04 15:26:55.147405 Event: 200
+On: 2011-11-04 15:26:55.147686 Event: Answer call
+On: 2011-11-04 15:26:55.147743 Event: Hangup call
+On: 2011-11-04 15:26:55.147927 Event: CALL OK
+On: 2011-11-04 15:26:55.198631 Event: Call Disconnected
+On: 2011-11-04 15:26:56.027651 Event: Terminate
+On: 2011-11-04 15:26:56.027688 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:25:58.155555 ------------------
+On: 2011-11-04 16:25:58.175701 Event: try to Connect to Controller
+On: 2011-11-04 16:25:59.535157 Event: init state
+On: 2011-11-04 16:25:59.535393 Event: Register Account to SIP server
+On: 2011-11-04 16:25:59.537427 Event: 100
+On: 2011-11-04 16:25:59.537514 Event: Caller Handler Ready
+On: 2011-11-04 16:26:04.546644 Event: CALL START
+On: 2011-11-04 16:26:04.546701 Event: Make a call to: 07612034661928
+On: 2011-11-04 16:26:07.395982 Event: Call Connecting
+On: 2011-11-04 16:26:07.396029 Event: 200
+On: 2011-11-04 16:26:07.397258 Event: Terminate
+On: 2011-11-04 16:26:07.397302 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:45:50.507554 ------------------
+On: 2011-11-04 16:45:50.528007 Event: try to Connect to Controller
+On: 2011-11-04 16:45:51.889266 Event: init state
+On: 2011-11-04 16:45:51.889500 Event: Register Account to SIP server
+On: 2011-11-04 16:45:51.891711 Event: 100
+On: 2011-11-04 16:45:51.891802 Event: Caller Handler Ready
+On: 2011-11-04 16:46:03.125331 Event: CALL START
+On: 2011-11-04 16:46:03.125398 Event: Make a call to: 07612034661473
+On: 2011-11-04 16:46:09.167398 Event: Call Disconnected
+On: 2011-11-04 16:46:35.126411 Event: Terminate
+On: 2011-11-04 16:46:35.126461 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:52:08.337704 ------------------
+On: 2011-11-04 16:52:08.359358 Event: try to Connect to Controller
+On: 2011-11-04 16:52:09.686160 Event: init state
+On: 2011-11-04 16:52:09.686398 Event: Register Account to SIP server
+On: 2011-11-04 16:52:09.689098 Event: 100
+On: 2011-11-04 16:52:09.689185 Event: Receiver Handler Ready
+On: 2011-11-04 16:52:09.689531 Event: RECEIVE START
+On: 2011-11-04 16:52:19.831115 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
+On: 2011-11-04 16:52:19.831646 Event: Call Connecting
+On: 2011-11-04 16:52:19.831686 Event: 200
+On: 2011-11-04 16:52:19.831966 Event: Answer call
+On: 2011-11-04 16:52:19.832023 Event: Hangup call
+On: 2011-11-04 16:52:19.832201 Event: CALL OK
+On: 2011-11-04 16:52:19.882900 Event: Call Disconnected
+On: 2011-11-04 16:52:20.670671 Event: Terminate
+On: 2011-11-04 16:52:20.670707 Event: Goodbye
diff --git a/For Weekly Test/12-09-2011/LogFileClass.py b/Code/Server-Code/LogFileClass.py
index cb152f4..cb152f4 100644..100755
--- a/For Weekly Test/12-09-2011/LogFileClass.py
+++ b/Code/Server-Code/LogFileClass.py
diff --git a/For Weekly Test/tricode/LogFileClass.pyc b/Code/Server-Code/LogFileClass.pyc
index bbef17d..bbef17d 100644
--- a/For Weekly Test/tricode/LogFileClass.pyc
+++ b/Code/Server-Code/LogFileClass.pyc
Binary files differ
diff --git a/For Weekly Test/12-09-2011/PingClass.py b/Code/Server-Code/PingClass.py
index e13b32b..e13b32b 100644..100755
--- a/For Weekly Test/12-09-2011/PingClass.py
+++ b/Code/Server-Code/PingClass.py
diff --git a/For Weekly Test/tricode/PingClass.pyc b/Code/Server-Code/PingClass.pyc
index d06e20e..d06e20e 100644
--- a/For Weekly Test/tricode/PingClass.pyc
+++ b/Code/Server-Code/PingClass.pyc
Binary files differ
diff --git a/Code/Server-Code/SIP handler.log b/Code/Server-Code/SIP handler.log
new file mode 100644
index 0000000..7d4dc3d
--- /dev/null
+++ b/Code/Server-Code/SIP handler.log
@@ -0,0 +1,2177 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:41:53.784869 ------------------
+On: 2011-11-03 14:41:53.805877 Event: try to Connect to Controller
+On: 2011-11-03 14:41:55.079711 Event: init state
+On: 2011-11-03 14:41:55.079941 Event: Register Account to SIP server
+On: 2011-11-03 14:41:55.080720 Event: 100
+On: 2011-11-03 14:41:55.080809 Event: Caller Handler Ready
+On: 2011-11-03 14:42:00.214009 Event: CALL START
+On: 2011-11-03 14:42:00.214072 Event: Make a call to: 015782677224
+On: 2011-11-03 14:42:06.363763 Event: Call Connecting
+On: 2011-11-03 14:42:06.363812 Event: 200
+On: 2011-11-03 14:42:12.213353 Event: Terminate
+On: 2011-11-03 14:42:12.213387 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:42:16.031960 ------------------
+On: 2011-11-03 14:42:16.055943 Event: try to Connect to Controller
+On: 2011-11-03 14:42:17.261598 Event: init state
+On: 2011-11-03 14:42:17.261832 Event: Register Account to SIP server
+On: 2011-11-03 14:42:17.262678 Event: 100
+On: 2011-11-03 14:42:17.262827 Event: Caller Handler Ready
+On: 2011-11-03 14:42:22.393639 Event: CALL START
+On: 2011-11-03 14:42:22.393696 Event: Make a call to: 017678038038
+On: 2011-11-03 14:42:33.032394 Event: Call Connecting
+On: 2011-11-03 14:42:33.032443 Event: 200
+On: 2011-11-03 14:42:33.037166 Event: Terminate
+On: 2011-11-03 14:42:33.037225 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:42:37.065561 ------------------
+On: 2011-11-03 14:42:37.114570 Event: try to Connect to Controller
+On: 2011-11-03 14:42:38.107083 Event: init state
+On: 2011-11-03 14:42:38.107318 Event: Register Account to SIP server
+On: 2011-11-03 14:42:38.108098 Event: 100
+On: 2011-11-03 14:42:38.108183 Event: Caller Handler Ready
+On: 2011-11-03 14:42:43.243332 Event: CALL START
+On: 2011-11-03 14:42:43.243392 Event: Make a call to: 015252423662
+On: 2011-11-03 14:42:54.651128 Event: Call Connecting
+On: 2011-11-03 14:42:54.651179 Event: 200
+On: 2011-11-03 14:42:54.654257 Event: Terminate
+On: 2011-11-03 14:42:54.654314 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:42:58.475781 ------------------
+On: 2011-11-03 14:42:58.516147 Event: try to Connect to Controller
+On: 2011-11-03 14:42:59.753213 Event: init state
+On: 2011-11-03 14:42:59.753440 Event: Register Account to SIP server
+On: 2011-11-03 14:42:59.753847 Event: 100
+On: 2011-11-03 14:42:59.753930 Event: Caller Handler Ready
+On: 2011-11-03 14:43:04.885693 Event: CALL START
+On: 2011-11-03 14:43:04.885761 Event: Make a call to: 015128040906
+On: 2011-11-03 14:43:07.445752 Event: Call Connecting
+On: 2011-11-03 14:43:07.445802 Event: 200
+On: 2011-11-03 14:43:16.883268 Event: Terminate
+On: 2011-11-03 14:43:16.883301 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:43:20.669462 ------------------
+On: 2011-11-03 14:43:20.694543 Event: try to Connect to Controller
+On: 2011-11-03 14:43:21.926101 Event: init state
+On: 2011-11-03 14:43:21.926379 Event: Register Account to SIP server
+On: 2011-11-03 14:43:21.926798 Event: 100
+On: 2011-11-03 14:43:21.926888 Event: Caller Handler Ready
+On: 2011-11-03 14:43:33.154303 Event: CALL START
+On: 2011-11-03 14:43:33.154367 Event: Make a call to: 07612034661473
+On: 2011-11-03 14:43:34.789010 Event: Call Connecting
+On: 2011-11-03 14:43:34.789060 Event: 200
+On: 2011-11-03 14:43:34.839119 Event: Terminate
+On: 2011-11-03 14:43:34.839153 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:43:38.692052 ------------------
+On: 2011-11-03 14:43:38.712726 Event: try to Connect to Controller
+On: 2011-11-03 14:43:39.913452 Event: init state
+On: 2011-11-03 14:43:39.913691 Event: Register Account to SIP server
+On: 2011-11-03 14:43:39.914525 Event: 100
+On: 2011-11-03 14:43:39.914613 Event: Caller Handler Ready
+On: 2011-11-03 14:43:51.118488 Event: CALL START
+On: 2011-11-03 14:43:51.118557 Event: Make a call to: 07612034661473
+On: 2011-11-03 14:43:53.616174 Event: Call Connecting
+On: 2011-11-03 14:43:53.616224 Event: 200
+On: 2011-11-03 14:43:53.683833 Event: Terminate
+On: 2011-11-03 14:43:53.683886 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:46:54.916100 ------------------
+On: 2011-11-03 14:46:54.936727 Event: try to Connect to Controller
+On: 2011-11-03 14:46:56.158462 Event: init state
+On: 2011-11-03 14:46:56.158694 Event: Register Account to SIP server
+On: 2011-11-03 14:46:56.159477 Event: 100
+On: 2011-11-03 14:46:56.159566 Event: Caller Handler Ready
+On: 2011-11-03 14:47:01.165239 Event: CALL START
+On: 2011-11-03 14:47:01.165298 Event: Make a call to: 076120397898
+On: 2011-11-03 14:47:01.234410 Event: Call Connecting
+On: 2011-11-03 14:47:01.234461 Event: 200
+On: 2011-11-03 14:47:01.234917 Event: Terminate
+On: 2011-11-03 14:47:01.234948 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:49:20.604912 ------------------
+On: 2011-11-03 14:49:20.626658 Event: try to Connect to Controller
+On: 2011-11-03 14:49:21.914640 Event: init state
+On: 2011-11-03 14:49:21.914875 Event: Register Account to SIP server
+On: 2011-11-03 14:49:21.915294 Event: 100
+On: 2011-11-03 14:49:21.915382 Event: Caller Handler Ready
+On: 2011-11-03 14:49:27.045668 Event: CALL START
+On: 2011-11-03 14:49:27.045729 Event: Make a call to: 015782677224
+On: 2011-11-03 14:49:32.823402 Event: Call Connecting
+On: 2011-11-03 14:49:32.823453 Event: 200
+On: 2011-11-03 14:49:39.043512 Event: Terminate
+On: 2011-11-03 14:49:39.043552 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:49:42.796793 ------------------
+On: 2011-11-03 14:49:42.818565 Event: try to Connect to Controller
+On: 2011-11-03 14:49:44.091056 Event: init state
+On: 2011-11-03 14:49:44.091288 Event: Register Account to SIP server
+On: 2011-11-03 14:49:44.091714 Event: 100
+On: 2011-11-03 14:49:44.091801 Event: Caller Handler Ready
+On: 2011-11-03 14:49:49.213723 Event: CALL START
+On: 2011-11-03 14:49:49.213780 Event: Make a call to: 017678038038
+On: 2011-11-03 14:49:59.104059 Event: Call Connecting
+On: 2011-11-03 14:49:59.104109 Event: 200
+On: 2011-11-03 14:49:59.108967 Event: Terminate
+On: 2011-11-03 14:49:59.109028 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:50:02.857078 ------------------
+On: 2011-11-03 14:50:02.878647 Event: try to Connect to Controller
+On: 2011-11-03 14:50:04.153577 Event: init state
+On: 2011-11-03 14:50:04.153802 Event: Register Account to SIP server
+On: 2011-11-03 14:50:04.154590 Event: 100
+On: 2011-11-03 14:50:04.154681 Event: Caller Handler Ready
+On: 2011-11-03 14:50:09.285625 Event: CALL START
+On: 2011-11-03 14:50:09.285682 Event: Make a call to: 015252423662
+On: 2011-11-03 14:50:19.267806 Event: Call Connecting
+On: 2011-11-03 14:50:19.267856 Event: 200
+On: 2011-11-03 14:50:19.272719 Event: Terminate
+On: 2011-11-03 14:50:19.272782 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:56:13.073038 ------------------
+On: 2011-11-03 14:56:13.093750 Event: try to Connect to Controller
+On: 2011-11-03 14:56:14.331004 Event: init state
+On: 2011-11-03 14:56:14.331248 Event: Register Account to SIP server
+On: 2011-11-03 14:56:14.331676 Event: 100
+On: 2011-11-03 14:56:14.331759 Event: Receiver Handler Ready
+On: 2011-11-03 14:56:14.334313 Event: RECEIVE START
+On: 2011-11-03 14:56:15.550566 Event: {Call "449" <sip:449@132.230.4.8>}
+On: 2011-11-03 14:56:15.551077 Event: Call Connecting
+On: 2011-11-03 14:56:15.551118 Event: 200
+On: 2011-11-03 14:56:15.551370 Event: Answer call
+On: 2011-11-03 14:56:15.551421 Event: Hangup call
+On: 2011-11-03 14:56:15.551592 Event: CALL OK
+On: 2011-11-03 14:56:15.602296 Event: Call Disconnected
+On: 2011-11-03 14:56:16.790466 Event: Terminate
+On: 2011-11-03 14:56:16.790500 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:56:41.332643 ------------------
+On: 2011-11-03 14:56:41.353245 Event: try to Connect to Controller
+On: 2011-11-03 14:56:42.619255 Event: init state
+On: 2011-11-03 14:56:42.619480 Event: Register Account to SIP server
+On: 2011-11-03 14:56:42.619905 Event: 100
+On: 2011-11-03 14:56:42.619989 Event: Caller Handler Ready
+On: 2011-11-03 14:56:47.749639 Event: CALL START
+On: 2011-11-03 14:56:47.749693 Event: Make a call to: 015782677224
+On: 2011-11-03 14:56:54.403507 Event: Call Connecting
+On: 2011-11-03 14:56:54.403556 Event: 200
+On: 2011-11-03 14:56:59.747494 Event: Terminate
+On: 2011-11-03 14:56:59.747535 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:03.531354 ------------------
+On: 2011-11-03 14:57:03.551776 Event: try to Connect to Controller
+On: 2011-11-03 14:57:04.795028 Event: init state
+On: 2011-11-03 14:57:04.795255 Event: Register Account to SIP server
+On: 2011-11-03 14:57:04.796039 Event: 100
+On: 2011-11-03 14:57:04.796123 Event: Caller Handler Ready
+On: 2011-11-03 14:57:09.931880 Event: CALL START
+On: 2011-11-03 14:57:09.931933 Event: Make a call to: 017678038038
+On: 2011-11-03 14:57:12.968361 Event: Call Connecting
+On: 2011-11-03 14:57:12.968410 Event: 200
+On: 2011-11-03 14:57:21.931275 Event: Terminate
+On: 2011-11-03 14:57:21.931308 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:25.718969 ------------------
+On: 2011-11-03 14:57:25.739356 Event: try to Connect to Controller
+On: 2011-11-03 14:57:26.988459 Event: init state
+On: 2011-11-03 14:57:26.988708 Event: Register Account to SIP server
+On: 2011-11-03 14:57:26.989131 Event: 100
+On: 2011-11-03 14:57:26.989218 Event: Caller Handler Ready
+On: 2011-11-03 14:57:32.117628 Event: CALL START
+On: 2011-11-03 14:57:32.117684 Event: Make a call to: 015128040906
+On: 2011-11-03 14:57:42.523395 Event: Call Connecting
+On: 2011-11-03 14:57:42.523442 Event: 200
+On: 2011-11-03 14:57:42.526293 Event: Terminate
+On: 2011-11-03 14:57:42.526354 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:57:46.305143 ------------------
+On: 2011-11-03 14:57:46.325673 Event: try to Connect to Controller
+On: 2011-11-03 14:57:47.580784 Event: init state
+On: 2011-11-03 14:57:47.581021 Event: Register Account to SIP server
+On: 2011-11-03 14:57:47.581445 Event: 100
+On: 2011-11-03 14:57:47.581530 Event: Caller Handler Ready
+On: 2011-11-03 14:57:52.709735 Event: CALL START
+On: 2011-11-03 14:57:52.709788 Event: Make a call to: 015252423662
+On: 2011-11-03 14:58:02.855553 Event: Call Connecting
+On: 2011-11-03 14:58:02.855602 Event: 200
+On: 2011-11-03 14:58:02.859602 Event: Terminate
+On: 2011-11-03 14:58:02.859663 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:04:28.529919 ------------------
+On: 2011-11-03 15:04:28.550872 Event: try to Connect to Controller
+On: 2011-11-03 15:04:29.821817 Event: init state
+On: 2011-11-03 15:04:29.822684 Event: Register Account to SIP server
+On: 2011-11-03 15:04:29.823129 Event: 100
+On: 2011-11-03 15:04:29.823216 Event: Caller Handler Ready
+On: 2011-11-03 15:04:34.929625 Event: CALL START
+On: 2011-11-03 15:04:34.929680 Event: Make a call to: 015782677224
+On: 2011-11-03 15:04:41.038302 Event: Call Connecting
+On: 2011-11-03 15:04:41.038351 Event: 200
+On: 2011-11-03 15:04:46.927482 Event: Terminate
+On: 2011-11-03 15:04:46.927521 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:04:50.697044 ------------------
+On: 2011-11-03 15:04:50.717604 Event: try to Connect to Controller
+On: 2011-11-03 15:04:51.976327 Event: init state
+On: 2011-11-03 15:04:51.976582 Event: Register Account to SIP server
+On: 2011-11-03 15:04:51.977006 Event: 100
+On: 2011-11-03 15:04:51.977092 Event: Caller Handler Ready
+On: 2011-11-03 15:04:57.101738 Event: CALL START
+On: 2011-11-03 15:04:57.101792 Event: Make a call to: 015128040906
+On: 2011-11-03 15:05:07.755723 Event: Call Connecting
+On: 2011-11-03 15:05:07.755773 Event: 200
+On: 2011-11-03 15:05:07.758274 Event: Terminate
+On: 2011-11-03 15:05:07.758333 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:05:11.525669 ------------------
+On: 2011-11-03 15:05:11.546266 Event: try to Connect to Controller
+On: 2011-11-03 15:05:12.813466 Event: init state
+On: 2011-11-03 15:05:12.813695 Event: Register Account to SIP server
+On: 2011-11-03 15:05:12.814166 Event: 100
+On: 2011-11-03 15:05:12.814252 Event: Caller Handler Ready
+On: 2011-11-03 15:05:17.944239 Event: CALL START
+On: 2011-11-03 15:05:17.944294 Event: Make a call to: 015252423662
+On: 2011-11-03 15:05:27.358731 Event: Call Connecting
+On: 2011-11-03 15:05:27.358781 Event: 200
+On: 2011-11-03 15:05:27.362283 Event: Terminate
+On: 2011-11-03 15:05:27.362341 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:11:12.703731 ------------------
+On: 2011-11-03 15:11:12.723741 Event: try to Connect to Controller
+On: 2011-11-03 15:11:13.991532 Event: init state
+On: 2011-11-03 15:11:13.991777 Event: Register Account to SIP server
+On: 2011-11-03 15:11:13.992182 Event: 100
+On: 2011-11-03 15:11:13.992263 Event: Receiver Handler Ready
+On: 2011-11-03 15:11:13.998044 Event: RECEIVE START
+On: 2011-11-03 15:11:15.180282 Event: {Call "449" <sip:449@132.230.4.8>}
+On: 2011-11-03 15:11:15.180776 Event: Call Connecting
+On: 2011-11-03 15:11:15.180815 Event: 200
+On: 2011-11-03 15:11:15.181067 Event: Answer call
+On: 2011-11-03 15:11:15.181119 Event: Hangup call
+On: 2011-11-03 15:11:15.181290 Event: CALL OK
+On: 2011-11-03 15:11:15.231968 Event: Call Disconnected
+On: 2011-11-03 15:11:16.550456 Event: Terminate
+On: 2011-11-03 15:11:16.550491 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:11:42.424740 ------------------
+On: 2011-11-03 15:11:42.445186 Event: try to Connect to Controller
+On: 2011-11-03 15:11:43.733258 Event: init state
+On: 2011-11-03 15:11:43.733492 Event: Register Account to SIP server
+On: 2011-11-03 15:11:43.733898 Event: 100
+On: 2011-11-03 15:11:43.734012 Event: Caller Handler Ready
+On: 2011-11-03 15:11:48.864954 Event: CALL START
+On: 2011-11-03 15:11:48.865008 Event: Make a call to: 015782677224
+On: 2011-11-03 15:11:54.469463 Event: Call Connecting
+On: 2011-11-03 15:11:54.469509 Event: 200
+On: 2011-11-03 15:12:00.863453 Event: Terminate
+On: 2011-11-03 15:12:00.863493 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:04.615634 ------------------
+On: 2011-11-03 15:12:04.635780 Event: try to Connect to Controller
+On: 2011-11-03 15:12:05.910905 Event: init state
+On: 2011-11-03 15:12:05.911148 Event: Register Account to SIP server
+On: 2011-11-03 15:12:05.911559 Event: 100
+On: 2011-11-03 15:12:05.911640 Event: Caller Handler Ready
+On: 2011-11-03 15:12:11.033682 Event: CALL START
+On: 2011-11-03 15:12:11.033737 Event: Make a call to: 017678038038
+On: 2011-11-03 15:12:19.838914 Event: Call Connecting
+On: 2011-11-03 15:12:19.838960 Event: 200
+On: 2011-11-03 15:12:19.840188 Event: Terminate
+On: 2011-11-03 15:12:19.840249 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:23.580087 ------------------
+On: 2011-11-03 15:12:23.600354 Event: try to Connect to Controller
+On: 2011-11-03 15:12:24.886978 Event: init state
+On: 2011-11-03 15:12:24.887229 Event: Register Account to SIP server
+On: 2011-11-03 15:12:24.887633 Event: 100
+On: 2011-11-03 15:12:24.887717 Event: Caller Handler Ready
+On: 2011-11-03 15:12:30.009684 Event: CALL START
+On: 2011-11-03 15:12:30.009735 Event: Make a call to: 015128040906
+On: 2011-11-03 15:12:40.794070 Event: Call Connecting
+On: 2011-11-03 15:12:40.794118 Event: 200
+On: 2011-11-03 15:12:40.797913 Event: Terminate
+On: 2011-11-03 15:12:40.798147 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:12:44.557316 ------------------
+On: 2011-11-03 15:12:44.577762 Event: try to Connect to Controller
+On: 2011-11-03 15:12:45.858097 Event: init state
+On: 2011-11-03 15:12:45.858352 Event: Register Account to SIP server
+On: 2011-11-03 15:12:45.858761 Event: 100
+On: 2011-11-03 15:12:45.858843 Event: Caller Handler Ready
+On: 2011-11-03 15:12:50.968056 Event: CALL START
+On: 2011-11-03 15:12:50.968108 Event: Make a call to: 015252423662
+On: 2011-11-03 15:13:01.363392 Event: Call Connecting
+On: 2011-11-03 15:13:01.363439 Event: 200
+On: 2011-11-03 15:13:01.367436 Event: Terminate
+On: 2011-11-03 15:13:01.367497 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:26:55.771410 ------------------
+On: 2011-11-03 15:26:55.791717 Event: try to Connect to Controller
+On: 2011-11-03 15:26:57.080632 Event: init state
+On: 2011-11-03 15:26:57.080875 Event: Register Account to SIP server
+On: 2011-11-03 15:26:57.081285 Event: 100
+On: 2011-11-03 15:26:57.081369 Event: Caller Handler Ready
+On: 2011-11-03 15:27:02.209613 Event: CALL START
+On: 2011-11-03 15:27:02.209669 Event: Make a call to: 017678038038
+On: 2011-11-03 15:27:11.764504 Event: Call Connecting
+On: 2011-11-03 15:27:11.764550 Event: 200
+On: 2011-11-03 15:27:11.766281 Event: Terminate
+On: 2011-11-03 15:27:11.766339 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:27:15.523550 ------------------
+On: 2011-11-03 15:27:15.543697 Event: try to Connect to Controller
+On: 2011-11-03 15:27:16.814937 Event: init state
+On: 2011-11-03 15:27:16.815166 Event: Register Account to SIP server
+On: 2011-11-03 15:27:16.815576 Event: 100
+On: 2011-11-03 15:27:16.815657 Event: Caller Handler Ready
+On: 2011-11-03 15:27:21.943552 Event: CALL START
+On: 2011-11-03 15:27:21.943604 Event: Make a call to: 015128040906
+On: 2011-11-03 15:27:31.614483 Event: Call Connecting
+On: 2011-11-03 15:27:31.614529 Event: 200
+On: 2011-11-03 15:27:31.618253 Event: Terminate
+On: 2011-11-03 15:27:31.618310 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:27:35.354930 ------------------
+On: 2011-11-03 15:27:35.375388 Event: try to Connect to Controller
+On: 2011-11-03 15:27:36.663071 Event: init state
+On: 2011-11-03 15:27:36.663318 Event: Register Account to SIP server
+On: 2011-11-03 15:27:36.663725 Event: 100
+On: 2011-11-03 15:27:36.663807 Event: Caller Handler Ready
+On: 2011-11-03 15:27:41.789638 Event: CALL START
+On: 2011-11-03 15:27:41.789691 Event: Make a call to: 015252423662
+On: 2011-11-03 15:27:55.642244 Event: Call Connecting
+On: 2011-11-03 15:27:55.642289 Event: 200
+On: 2011-11-03 15:27:55.643409 Event: Terminate
+On: 2011-11-03 15:27:55.643442 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:27:59.451287 ------------------
+On: 2011-11-03 15:27:59.471709 Event: try to Connect to Controller
+On: 2011-11-03 15:28:00.739071 Event: init state
+On: 2011-11-03 15:28:00.739302 Event: Register Account to SIP server
+On: 2011-11-03 15:28:00.739711 Event: 100
+On: 2011-11-03 15:28:00.739793 Event: Caller Handler Ready
+On: 2011-11-03 15:28:05.889613 Event: CALL START
+On: 2011-11-03 15:28:05.889664 Event: Make a call to: 07612034661449
+On: 2011-11-03 15:28:07.658684 Event: Call Connecting
+On: 2011-11-03 15:28:07.658730 Event: 200
+On: 2011-11-03 15:28:07.694461 Event: Terminate
+On: 2011-11-03 15:28:07.694495 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:34:20.183192 ------------------
+On: 2011-11-03 15:34:20.203421 Event: try to Connect to Controller
+On: 2011-11-03 15:34:21.490975 Event: init state
+On: 2011-11-03 15:34:21.491223 Event: Register Account to SIP server
+On: 2011-11-03 15:34:21.491990 Event: 100
+On: 2011-11-03 15:34:21.492074 Event: Caller Handler Ready
+On: 2011-11-03 15:34:26.597791 Event: CALL START
+On: 2011-11-03 15:34:26.597852 Event: Make a call to: 015782677224
+On: 2011-11-03 15:34:32.590115 Event: Call Connecting
+On: 2011-11-03 15:34:32.590163 Event: 200
+On: 2011-11-03 15:34:38.595743 Event: Terminate
+On: 2011-11-03 15:34:38.595781 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:34:42.343203 ------------------
+On: 2011-11-03 15:34:42.363475 Event: try to Connect to Controller
+On: 2011-11-03 15:34:43.644384 Event: init state
+On: 2011-11-03 15:34:43.644617 Event: Register Account to SIP server
+On: 2011-11-03 15:34:43.645020 Event: 100
+On: 2011-11-03 15:34:43.645102 Event: Caller Handler Ready
+On: 2011-11-03 15:34:48.773620 Event: CALL START
+On: 2011-11-03 15:34:48.773673 Event: Make a call to: 017678038038
+On: 2011-11-03 15:35:00.021407 Event: Call Connecting
+On: 2011-11-03 15:35:00.021454 Event: 200
+On: 2011-11-03 15:35:00.025439 Event: Terminate
+On: 2011-11-03 15:35:00.025499 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:35:03.775998 ------------------
+On: 2011-11-03 15:35:03.796207 Event: try to Connect to Controller
+On: 2011-11-03 15:35:05.078357 Event: init state
+On: 2011-11-03 15:35:05.078604 Event: Register Account to SIP server
+On: 2011-11-03 15:35:05.079011 Event: 100
+On: 2011-11-03 15:35:05.079093 Event: Caller Handler Ready
+On: 2011-11-03 15:35:10.182030 Event: CALL START
+On: 2011-11-03 15:35:10.182084 Event: Make a call to: 015128040906
+On: 2011-11-03 15:35:20.582226 Event: Call Connecting
+On: 2011-11-03 15:35:20.582274 Event: 200
+On: 2011-11-03 15:35:20.586198 Event: Terminate
+On: 2011-11-03 15:35:20.586255 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:35:24.328256 ------------------
+On: 2011-11-03 15:35:24.348640 Event: try to Connect to Controller
+On: 2011-11-03 15:35:25.638971 Event: init state
+On: 2011-11-03 15:35:25.639212 Event: Register Account to SIP server
+On: 2011-11-03 15:35:25.639989 Event: 100
+On: 2011-11-03 15:35:25.640070 Event: Caller Handler Ready
+On: 2011-11-03 15:35:30.768821 Event: CALL START
+On: 2011-11-03 15:35:30.768880 Event: Make a call to: 015252423662
+On: 2011-11-03 15:35:40.928683 Event: Call Connecting
+On: 2011-11-03 15:35:40.928731 Event: 200
+On: 2011-11-03 15:35:40.932640 Event: Terminate
+On: 2011-11-03 15:35:40.932698 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:41:58.839129 ------------------
+On: 2011-11-03 15:41:58.859600 Event: try to Connect to Controller
+On: 2011-11-03 15:42:00.148187 Event: init state
+On: 2011-11-03 15:42:00.148412 Event: Register Account to SIP server
+On: 2011-11-03 15:42:00.149181 Event: 100
+On: 2011-11-03 15:42:00.149264 Event: Caller Handler Ready
+On: 2011-11-03 15:42:05.273681 Event: CALL START
+On: 2011-11-03 15:42:05.273735 Event: Make a call to: 015782677224
+On: 2011-11-03 15:42:11.242854 Event: Call Connecting
+On: 2011-11-03 15:42:11.242899 Event: 200
+On: 2011-11-03 15:42:17.271498 Event: Terminate
+On: 2011-11-03 15:42:17.271536 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:42:21.023074 ------------------
+On: 2011-11-03 15:42:21.043198 Event: try to Connect to Controller
+On: 2011-11-03 15:42:22.319424 Event: init state
+On: 2011-11-03 15:42:22.319666 Event: Register Account to SIP server
+On: 2011-11-03 15:42:22.320067 Event: 100
+On: 2011-11-03 15:42:22.320150 Event: Caller Handler Ready
+On: 2011-11-03 15:42:27.443282 Event: CALL START
+On: 2011-11-03 15:42:27.443339 Event: Make a call to: 017678038038
+On: 2011-11-03 15:42:35.631768 Event: Call Connecting
+On: 2011-11-03 15:42:35.631815 Event: 200
+On: 2011-11-03 15:42:35.632220 Event: Terminate
+On: 2011-11-03 15:42:35.632250 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:42:39.384363 ------------------
+On: 2011-11-03 15:42:39.404910 Event: try to Connect to Controller
+On: 2011-11-03 15:42:40.689707 Event: init state
+On: 2011-11-03 15:42:40.690125 Event: Register Account to SIP server
+On: 2011-11-03 15:42:40.690567 Event: 100
+On: 2011-11-03 15:42:40.690651 Event: Caller Handler Ready
+On: 2011-11-03 15:42:45.817645 Event: CALL START
+On: 2011-11-03 15:42:45.817697 Event: Make a call to: 015252423662
+On: 2011-11-03 15:42:55.777408 Event: Call Connecting
+On: 2011-11-03 15:42:55.777454 Event: 200
+On: 2011-11-03 15:42:55.781410 Event: Terminate
+On: 2011-11-03 15:42:55.781467 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:49:24.961077 ------------------
+On: 2011-11-03 15:49:24.981611 Event: try to Connect to Controller
+On: 2011-11-03 15:49:26.272683 Event: init state
+On: 2011-11-03 15:49:26.272935 Event: Register Account to SIP server
+On: 2011-11-03 15:49:26.273345 Event: 100
+On: 2011-11-03 15:49:26.273428 Event: Caller Handler Ready
+On: 2011-11-03 15:49:31.373693 Event: CALL START
+On: 2011-11-03 15:49:31.373746 Event: Make a call to: 015782677224
+On: 2011-11-03 15:49:37.467954 Event: Call Connecting
+On: 2011-11-03 15:49:37.468000 Event: 200
+On: 2011-11-03 15:49:43.371511 Event: Terminate
+On: 2011-11-03 15:49:43.371551 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:49:47.132942 ------------------
+On: 2011-11-03 15:49:47.153904 Event: try to Connect to Controller
+On: 2011-11-03 15:49:48.420218 Event: init state
+On: 2011-11-03 15:49:48.420449 Event: Register Account to SIP server
+On: 2011-11-03 15:49:48.420853 Event: 100
+On: 2011-11-03 15:49:48.420935 Event: Caller Handler Ready
+On: 2011-11-03 15:49:55.441626 Event: Terminate
+On: 2011-11-03 15:49:55.441658 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:49:59.192659 ------------------
+On: 2011-11-03 15:49:59.213090 Event: try to Connect to Controller
+On: 2011-11-03 15:50:00.495632 Event: init state
+On: 2011-11-03 15:50:00.495890 Event: Register Account to SIP server
+On: 2011-11-03 15:50:00.496302 Event: 100
+On: 2011-11-03 15:50:00.496381 Event: Caller Handler Ready
+On: 2011-11-03 15:50:05.625645 Event: CALL START
+On: 2011-11-03 15:50:05.625696 Event: Make a call to: 015252423662
+On: 2011-11-03 15:50:16.002413 Event: Call Connecting
+On: 2011-11-03 15:50:16.002458 Event: 200
+On: 2011-11-03 15:50:16.006252 Event: Terminate
+On: 2011-11-03 15:50:16.006312 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:57:00.227087 ------------------
+On: 2011-11-03 15:57:00.247508 Event: try to Connect to Controller
+On: 2011-11-03 15:57:01.535565 Event: init state
+On: 2011-11-03 15:57:01.535811 Event: Register Account to SIP server
+On: 2011-11-03 15:57:01.536587 Event: 100
+On: 2011-11-03 15:57:01.536671 Event: Caller Handler Ready
+On: 2011-11-03 15:57:06.661686 Event: CALL START
+On: 2011-11-03 15:57:06.661736 Event: Make a call to: 015782677224
+On: 2011-11-03 15:57:12.785505 Event: Call Connecting
+On: 2011-11-03 15:57:12.785550 Event: 200
+On: 2011-11-03 15:57:18.659499 Event: Terminate
+On: 2011-11-03 15:57:18.659537 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:57:22.415988 ------------------
+On: 2011-11-03 15:57:22.436103 Event: try to Connect to Controller
+On: 2011-11-03 15:57:23.707880 Event: init state
+On: 2011-11-03 15:57:23.708115 Event: Register Account to SIP server
+On: 2011-11-03 15:57:23.708531 Event: 100
+On: 2011-11-03 15:57:23.708614 Event: Caller Handler Ready
+On: 2011-11-03 15:57:30.729052 Event: Terminate
+On: 2011-11-03 15:57:30.729085 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:57:34.473421 ------------------
+On: 2011-11-03 15:57:34.493824 Event: try to Connect to Controller
+On: 2011-11-03 15:57:35.778959 Event: init state
+On: 2011-11-03 15:57:35.779211 Event: Register Account to SIP server
+On: 2011-11-03 15:57:35.779978 Event: 100
+On: 2011-11-03 15:57:35.780060 Event: Caller Handler Ready
+On: 2011-11-03 15:57:40.901981 Event: CALL START
+On: 2011-11-03 15:57:40.902033 Event: Make a call to: 015128040906
+On: 2011-11-03 15:57:52.710440 Event: Call Connecting
+On: 2011-11-03 15:57:52.710487 Event: 200
+On: 2011-11-03 15:57:52.714265 Event: Terminate
+On: 2011-11-03 15:57:52.714323 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:04:44.580745 ------------------
+On: 2011-11-03 16:04:44.600842 Event: try to Connect to Controller
+On: 2011-11-03 16:04:45.865936 Event: init state
+On: 2011-11-03 16:04:45.866431 Event: Register Account to SIP server
+On: 2011-11-03 16:04:45.866857 Event: 100
+On: 2011-11-03 16:04:45.866948 Event: Caller Handler Ready
+On: 2011-11-03 16:04:50.997665 Event: CALL START
+On: 2011-11-03 16:04:50.997721 Event: Make a call to: 015782677224
+On: 2011-11-03 16:04:56.883379 Event: Call Connecting
+On: 2011-11-03 16:04:56.883430 Event: 200
+On: 2011-11-03 16:05:02.995527 Event: Terminate
+On: 2011-11-03 16:05:02.995568 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:05:06.776799 ------------------
+On: 2011-11-03 16:05:06.797464 Event: try to Connect to Controller
+On: 2011-11-03 16:05:08.043807 Event: init state
+On: 2011-11-03 16:05:08.044063 Event: Register Account to SIP server
+On: 2011-11-03 16:05:08.044487 Event: 100
+On: 2011-11-03 16:05:08.044577 Event: Caller Handler Ready
+On: 2011-11-03 16:05:13.153659 Event: CALL START
+On: 2011-11-03 16:05:13.153713 Event: Make a call to: 017678038038
+On: 2011-11-03 16:05:22.972108 Event: Call Connecting
+On: 2011-11-03 16:05:22.972160 Event: 200
+On: 2011-11-03 16:05:22.977287 Event: Terminate
+On: 2011-11-03 16:05:22.977465 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:05:26.761657 ------------------
+On: 2011-11-03 16:05:26.782332 Event: try to Connect to Controller
+On: 2011-11-03 16:05:28.031029 Event: init state
+On: 2011-11-03 16:05:28.031276 Event: Register Account to SIP server
+On: 2011-11-03 16:05:28.031703 Event: 100
+On: 2011-11-03 16:05:28.031790 Event: Caller Handler Ready
+On: 2011-11-03 16:05:33.133687 Event: CALL START
+On: 2011-11-03 16:05:33.133751 Event: Make a call to: 015128040906
+On: 2011-11-03 16:05:45.363166 Event: Call Connecting
+On: 2011-11-03 16:05:45.363215 Event: 200
+On: 2011-11-03 16:05:45.366279 Event: Terminate
+On: 2011-11-03 16:05:45.366341 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:05:49.122517 ------------------
+On: 2011-11-03 16:05:49.142975 Event: try to Connect to Controller
+On: 2011-11-03 16:05:50.406699 Event: init state
+On: 2011-11-03 16:05:50.406935 Event: Register Account to SIP server
+On: 2011-11-03 16:05:50.407358 Event: 100
+On: 2011-11-03 16:05:50.407439 Event: Caller Handler Ready
+On: 2011-11-03 16:06:01.653813 Event: CALL START
+On: 2011-11-03 16:06:01.653859 Event: Make a call to: 07612034661455
+On: 2011-11-03 16:06:04.084216 Event: Call Connecting
+On: 2011-11-03 16:06:04.084267 Event: 200
+On: 2011-11-03 16:06:04.140620 Event: Terminate
+On: 2011-11-03 16:06:04.140672 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:06:07.911210 ------------------
+On: 2011-11-03 16:06:07.931444 Event: try to Connect to Controller
+On: 2011-11-03 16:06:09.195033 Event: init state
+On: 2011-11-03 16:06:09.195272 Event: Register Account to SIP server
+On: 2011-11-03 16:06:09.195701 Event: 100
+On: 2011-11-03 16:06:09.195789 Event: Caller Handler Ready
+On: 2011-11-03 16:06:14.206792 Event: CALL START
+On: 2011-11-03 16:06:14.206850 Event: Make a call to: 076145875681
+On: 2011-11-03 16:06:20.267210 Event: Call Connecting
+On: 2011-11-03 16:06:20.267263 Event: 200
+On: 2011-11-03 16:06:20.269187 Event: Terminate
+On: 2011-11-03 16:06:20.269241 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:11:54.761007 ------------------
+On: 2011-11-03 16:11:54.781701 Event: try to Connect to Controller
+On: 2011-11-03 16:11:56.042454 Event: init state
+On: 2011-11-03 16:11:56.042680 Event: Register Account to SIP server
+On: 2011-11-03 16:11:56.043464 Event: 100
+On: 2011-11-03 16:11:56.043550 Event: Caller Handler Ready
+On: 2011-11-03 16:12:01.165615 Event: CALL START
+On: 2011-11-03 16:12:01.165668 Event: Make a call to: 015782677224
+On: 2011-11-03 16:12:07.883895 Event: Call Connecting
+On: 2011-11-03 16:12:07.883944 Event: 200
+On: 2011-11-03 16:12:13.163435 Event: Terminate
+On: 2011-11-03 16:12:13.163475 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:12:16.948561 ------------------
+On: 2011-11-03 16:12:16.969449 Event: try to Connect to Controller
+On: 2011-11-03 16:12:18.210558 Event: init state
+On: 2011-11-03 16:12:18.210794 Event: Register Account to SIP server
+On: 2011-11-03 16:12:18.211220 Event: 100
+On: 2011-11-03 16:12:18.211306 Event: Caller Handler Ready
+On: 2011-11-03 16:12:23.337629 Event: CALL START
+On: 2011-11-03 16:12:23.337685 Event: Make a call to: 017678038038
+On: 2011-11-03 16:12:32.270976 Event: Call Connecting
+On: 2011-11-03 16:12:32.271022 Event: 200
+On: 2011-11-03 16:12:32.274274 Event: Terminate
+On: 2011-11-03 16:12:32.274333 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:12:36.044459 ------------------
+On: 2011-11-03 16:12:36.064774 Event: try to Connect to Controller
+On: 2011-11-03 16:12:37.319301 Event: init state
+On: 2011-11-03 16:12:37.319551 Event: Register Account to SIP server
+On: 2011-11-03 16:12:37.319971 Event: 100
+On: 2011-11-03 16:12:37.320055 Event: Caller Handler Ready
+On: 2011-11-03 16:12:42.441722 Event: CALL START
+On: 2011-11-03 16:12:42.441779 Event: Make a call to: 015128040906
+On: 2011-11-03 16:12:52.287985 Event: Call Connecting
+On: 2011-11-03 16:12:52.288035 Event: 200
+On: 2011-11-03 16:12:52.290267 Event: Terminate
+On: 2011-11-03 16:12:52.290327 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:22:28.669049 ------------------
+On: 2011-11-03 16:22:28.689743 Event: try to Connect to Controller
+On: 2011-11-03 16:22:29.965266 Event: init state
+On: 2011-11-03 16:22:29.965518 Event: Register Account to SIP server
+On: 2011-11-03 16:22:29.965944 Event: 100
+On: 2011-11-03 16:22:29.966239 Event: Caller Handler Ready
+On: 2011-11-03 16:22:35.093732 Event: CALL START
+On: 2011-11-03 16:22:35.093789 Event: Make a call to: 015782677224
+On: 2011-11-03 16:22:40.817248 Event: Call Connecting
+On: 2011-11-03 16:22:40.817297 Event: 200
+On: 2011-11-03 16:22:47.091554 Event: Terminate
+On: 2011-11-03 16:22:47.091594 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:22:50.865683 ------------------
+On: 2011-11-03 16:22:50.886305 Event: try to Connect to Controller
+On: 2011-11-03 16:22:52.140776 Event: init state
+On: 2011-11-03 16:22:52.141031 Event: Register Account to SIP server
+On: 2011-11-03 16:22:52.141458 Event: 100
+On: 2011-11-03 16:22:52.141543 Event: Caller Handler Ready
+On: 2011-11-03 16:22:57.269772 Event: CALL START
+On: 2011-11-03 16:22:57.269828 Event: Make a call to: 017678038038
+On: 2011-11-03 16:23:06.543210 Event: Call Connecting
+On: 2011-11-03 16:23:06.543261 Event: 200
+On: 2011-11-03 16:23:06.546281 Event: Terminate
+On: 2011-11-03 16:23:06.546341 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:23:10.311617 ------------------
+On: 2011-11-03 16:23:10.332264 Event: try to Connect to Controller
+On: 2011-11-03 16:23:11.592222 Event: init state
+On: 2011-11-03 16:23:11.592491 Event: Register Account to SIP server
+On: 2011-11-03 16:23:11.592918 Event: 100
+On: 2011-11-03 16:23:11.593008 Event: Caller Handler Ready
+On: 2011-11-03 16:23:16.729635 Event: CALL START
+On: 2011-11-03 16:23:16.729690 Event: Make a call to: 015252423662
+On: 2011-11-03 16:23:27.116275 Event: Call Connecting
+On: 2011-11-03 16:23:27.116325 Event: 200
+On: 2011-11-03 16:23:27.120439 Event: Terminate
+On: 2011-11-03 16:23:27.120503 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 17:17:34.149479 ------------------
+On: 2011-11-03 17:17:34.169779 Event: try to Connect to Controller
+
+
+------------------STARTED THE LOGGING 2011-11-03 17:18:35.173077 ------------------
+On: 2011-11-03 17:18:35.193209 Event: try to Connect to Controller
+On: 2011-11-03 17:18:36.679563 Event: init state
+On: 2011-11-03 17:18:36.679816 Event: Register Account to SIP server
+On: 2011-11-03 17:18:36.680242 Event: 100
+On: 2011-11-03 17:18:36.680328 Event: Caller Handler Ready
+On: 2011-11-03 17:18:41.686079 Event: CALL START
+On: 2011-11-03 17:18:41.686145 Event: Make a call to: 076120397898
+On: 2011-11-03 17:18:41.747005 Event: Call Connecting
+On: 2011-11-03 17:18:41.747055 Event: 200
+On: 2011-11-03 17:18:41.748893 Event: Terminate
+On: 2011-11-03 17:18:41.748953 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:46:41.799717 ------------------
+On: 2011-11-03 22:46:41.820154 Event: try to Connect to Controller
+On: 2011-11-03 22:46:43.115717 Event: init state
+On: 2011-11-03 22:46:43.115958 Event: Register Account to SIP server
+On: 2011-11-03 22:46:43.116374 Event: 100
+On: 2011-11-03 22:46:43.116456 Event: Receiver Handler Ready
+On: 2011-11-03 22:46:43.116858 Event: RECEIVE START
+On: 2011-11-03 22:46:45.044620 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-03 22:46:45.045122 Event: Call Connecting
+On: 2011-11-03 22:46:45.045163 Event: 200
+On: 2011-11-03 22:46:45.045407 Event: Answer call
+On: 2011-11-03 22:46:45.045459 Event: Hangup call
+On: 2011-11-03 22:46:45.045629 Event: CALL OK
+On: 2011-11-03 22:46:45.096322 Event: Call Disconnected
+On: 2011-11-03 22:46:46.390097 Event: Terminate
+On: 2011-11-03 22:46:46.390134 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:11.083933 ------------------
+On: 2011-11-03 22:47:11.104280 Event: try to Connect to Controller
+On: 2011-11-03 22:47:12.399006 Event: init state
+On: 2011-11-03 22:47:12.399250 Event: Register Account to SIP server
+On: 2011-11-03 22:47:12.399662 Event: 100
+On: 2011-11-03 22:47:12.399744 Event: Caller Handler Ready
+On: 2011-11-03 22:47:17.509617 Event: CALL START
+On: 2011-11-03 22:47:17.509672 Event: Make a call to: 015782677224
+On: 2011-11-03 22:47:23.796799 Event: Call Connecting
+On: 2011-11-03 22:47:23.796845 Event: 200
+On: 2011-11-03 22:47:29.507411 Event: Terminate
+On: 2011-11-03 22:47:29.507451 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:33.243494 ------------------
+On: 2011-11-03 22:47:33.263590 Event: try to Connect to Controller
+On: 2011-11-03 22:47:34.555396 Event: init state
+On: 2011-11-03 22:47:34.555639 Event: Register Account to SIP server
+On: 2011-11-03 22:47:34.556057 Event: 100
+On: 2011-11-03 22:47:34.556140 Event: Caller Handler Ready
+On: 2011-11-03 22:47:39.661612 Event: CALL START
+On: 2011-11-03 22:47:39.661665 Event: Make a call to: 017678038038
+On: 2011-11-03 22:47:49.127739 Event: Call Connecting
+On: 2011-11-03 22:47:49.127786 Event: 200
+On: 2011-11-03 22:47:49.130251 Event: Terminate
+On: 2011-11-03 22:47:49.130309 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:47:52.863107 ------------------
+On: 2011-11-03 22:47:52.883220 Event: try to Connect to Controller
+On: 2011-11-03 22:47:54.176059 Event: init state
+On: 2011-11-03 22:47:54.176303 Event: Register Account to SIP server
+On: 2011-11-03 22:47:54.176715 Event: 100
+On: 2011-11-03 22:47:54.176797 Event: Caller Handler Ready
+On: 2011-11-03 22:47:59.309614 Event: CALL START
+On: 2011-11-03 22:47:59.309667 Event: Make a call to: 015128040906
+On: 2011-11-03 22:48:31.310861 Event: Terminate
+On: 2011-11-03 22:48:31.310919 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:48:35.044661 ------------------
+On: 2011-11-03 22:48:35.065297 Event: try to Connect to Controller
+On: 2011-11-03 22:48:36.355109 Event: init state
+On: 2011-11-03 22:48:36.355349 Event: Register Account to SIP server
+On: 2011-11-03 22:48:36.355761 Event: 100
+On: 2011-11-03 22:48:36.355844 Event: Caller Handler Ready
+On: 2011-11-03 22:48:43.376182 Event: Terminate
+On: 2011-11-03 22:48:43.376213 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:54:39.579603 ------------------
+On: 2011-11-03 22:54:39.600133 Event: try to Connect to Controller
+On: 2011-11-03 22:54:40.890615 Event: init state
+On: 2011-11-03 22:54:40.890841 Event: Register Account to SIP server
+On: 2011-11-03 22:54:40.891253 Event: 100
+On: 2011-11-03 22:54:40.891336 Event: Caller Handler Ready
+On: 2011-11-03 22:54:46.017618 Event: CALL START
+On: 2011-11-03 22:54:46.017673 Event: Make a call to: 015782677224
+On: 2011-11-03 22:54:52.856427 Event: Call Connecting
+On: 2011-11-03 22:54:52.856474 Event: 200
+On: 2011-11-03 22:54:58.015398 Event: Terminate
+On: 2011-11-03 22:54:58.015435 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:55:01.751673 ------------------
+On: 2011-11-03 22:55:01.772032 Event: try to Connect to Controller
+On: 2011-11-03 22:55:03.064221 Event: init state
+On: 2011-11-03 22:55:03.064461 Event: Register Account to SIP server
+On: 2011-11-03 22:55:03.064865 Event: 100
+On: 2011-11-03 22:55:03.064948 Event: Caller Handler Ready
+On: 2011-11-03 22:55:08.169609 Event: CALL START
+On: 2011-11-03 22:55:08.169660 Event: Make a call to: 015128040906
+On: 2011-11-03 22:55:19.018098 Event: Call Connecting
+On: 2011-11-03 22:55:19.018146 Event: 200
+On: 2011-11-03 22:55:19.020283 Event: Terminate
+On: 2011-11-03 22:55:19.020338 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:55:22.752238 ------------------
+On: 2011-11-03 22:55:22.772445 Event: try to Connect to Controller
+On: 2011-11-03 22:55:24.066648 Event: init state
+On: 2011-11-03 22:55:24.066889 Event: Register Account to SIP server
+On: 2011-11-03 22:55:24.067297 Event: 100
+On: 2011-11-03 22:55:24.067377 Event: Caller Handler Ready
+On: 2011-11-03 22:55:31.085868 Event: Terminate
+On: 2011-11-03 22:55:31.085899 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:02:10.347881 ------------------
+On: 2011-11-03 23:02:10.368438 Event: try to Connect to Controller
+On: 2011-11-03 23:02:11.666043 Event: init state
+On: 2011-11-03 23:02:11.666303 Event: Register Account to SIP server
+On: 2011-11-03 23:02:11.666722 Event: 100
+On: 2011-11-03 23:02:11.666805 Event: Caller Handler Ready
+On: 2011-11-03 23:02:16.788664 Event: CALL START
+On: 2011-11-03 23:02:16.788717 Event: Make a call to: 015782677224
+On: 2011-11-03 23:02:22.756964 Event: Call Connecting
+On: 2011-11-03 23:02:22.757010 Event: 200
+On: 2011-11-03 23:02:28.787477 Event: Terminate
+On: 2011-11-03 23:02:28.787514 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:02:32.523092 ------------------
+On: 2011-11-03 23:02:32.543760 Event: try to Connect to Controller
+On: 2011-11-03 23:02:33.835464 Event: init state
+On: 2011-11-03 23:02:33.835696 Event: Register Account to SIP server
+On: 2011-11-03 23:02:33.836358 Event: 100
+On: 2011-11-03 23:02:33.836543 Event: Caller Handler Ready
+On: 2011-11-03 23:02:38.963934 Event: CALL START
+On: 2011-11-03 23:02:38.963988 Event: Make a call to: 017678038038
+On: 2011-11-03 23:02:48.097710 Event: Call Connecting
+On: 2011-11-03 23:02:48.097758 Event: 200
+On: 2011-11-03 23:02:48.101706 Event: Terminate
+On: 2011-11-03 23:02:48.101763 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:02:51.832421 ------------------
+On: 2011-11-03 23:02:51.853319 Event: try to Connect to Controller
+On: 2011-11-03 23:02:53.145676 Event: init state
+On: 2011-11-03 23:02:53.145925 Event: Register Account to SIP server
+On: 2011-11-03 23:02:53.146879 Event: 100
+On: 2011-11-03 23:02:53.149152 Event: Caller Handler Ready
+On: 2011-11-03 23:03:00.165920 Event: Terminate
+On: 2011-11-03 23:03:00.165985 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:09:42.279830 ------------------
+On: 2011-11-03 23:09:42.300005 Event: try to Connect to Controller
+On: 2011-11-03 23:09:43.591621 Event: init state
+On: 2011-11-03 23:09:43.591867 Event: Register Account to SIP server
+On: 2011-11-03 23:09:43.592283 Event: 100
+On: 2011-11-03 23:09:43.592366 Event: Caller Handler Ready
+On: 2011-11-03 23:09:48.719739 Event: CALL START
+On: 2011-11-03 23:09:48.719793 Event: Make a call to: 017678038038
+On: 2011-11-03 23:09:57.856636 Event: Call Connecting
+On: 2011-11-03 23:09:57.856686 Event: 200
+On: 2011-11-03 23:09:57.859069 Event: Terminate
+On: 2011-11-03 23:09:57.859130 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:10:01.605487 ------------------
+On: 2011-11-03 23:10:01.626142 Event: try to Connect to Controller
+On: 2011-11-03 23:10:02.904287 Event: init state
+On: 2011-11-03 23:10:02.904522 Event: Register Account to SIP server
+On: 2011-11-03 23:10:02.904934 Event: 100
+On: 2011-11-03 23:10:02.905018 Event: Caller Handler Ready
+On: 2011-11-03 23:10:08.009982 Event: CALL START
+On: 2011-11-03 23:10:08.010034 Event: Make a call to: 015128040906
+On: 2011-11-03 23:10:18.972652 Event: Call Connecting
+On: 2011-11-03 23:10:18.972699 Event: 200
+On: 2011-11-03 23:10:18.976640 Event: Terminate
+On: 2011-11-03 23:10:18.976698 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:10:22.709187 ------------------
+On: 2011-11-03 23:10:22.729551 Event: try to Connect to Controller
+On: 2011-11-03 23:10:24.021600 Event: init state
+On: 2011-11-03 23:10:24.021848 Event: Register Account to SIP server
+On: 2011-11-03 23:10:24.022300 Event: 100
+On: 2011-11-03 23:10:24.022382 Event: Caller Handler Ready
+On: 2011-11-03 23:10:31.041730 Event: Terminate
+On: 2011-11-03 23:10:31.041764 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:10:34.780416 ------------------
+On: 2011-11-03 23:10:34.800654 Event: try to Connect to Controller
+On: 2011-11-03 23:10:36.093198 Event: init state
+On: 2011-11-03 23:10:36.093444 Event: Register Account to SIP server
+On: 2011-11-03 23:10:36.093850 Event: 100
+On: 2011-11-03 23:10:36.093931 Event: Caller Handler Ready
+On: 2011-11-03 23:10:47.320337 Event: CALL START
+On: 2011-11-03 23:10:47.320393 Event: Make a call to: 07612034661473
+On: 2011-11-03 23:10:49.178244 Event: Call Connecting
+On: 2011-11-03 23:10:49.178291 Event: 200
+On: 2011-11-03 23:10:49.253074 Event: Terminate
+On: 2011-11-03 23:10:49.253123 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:06.499428 ------------------
+On: 2011-11-03 23:17:06.519521 Event: try to Connect to Controller
+On: 2011-11-03 23:17:07.806960 Event: init state
+On: 2011-11-03 23:17:07.807202 Event: Register Account to SIP server
+On: 2011-11-03 23:17:07.807609 Event: 100
+On: 2011-11-03 23:17:07.807690 Event: Caller Handler Ready
+On: 2011-11-03 23:17:12.941983 Event: CALL START
+On: 2011-11-03 23:17:12.942038 Event: Make a call to: 015782677224
+On: 2011-11-03 23:17:19.365026 Event: Call Connecting
+On: 2011-11-03 23:17:19.365073 Event: 200
+On: 2011-11-03 23:17:24.940533 Event: Terminate
+On: 2011-11-03 23:17:24.940573 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:28.675600 ------------------
+On: 2011-11-03 23:17:28.696263 Event: try to Connect to Controller
+On: 2011-11-03 23:17:29.988350 Event: init state
+On: 2011-11-03 23:17:29.988577 Event: Register Account to SIP server
+On: 2011-11-03 23:17:29.989346 Event: 100
+On: 2011-11-03 23:17:29.989429 Event: Caller Handler Ready
+On: 2011-11-03 23:17:35.116203 Event: CALL START
+On: 2011-11-03 23:17:35.116257 Event: Make a call to: 017678038038
+On: 2011-11-03 23:17:44.098654 Event: Call Connecting
+On: 2011-11-03 23:17:44.098701 Event: 200
+On: 2011-11-03 23:17:44.102249 Event: Terminate
+On: 2011-11-03 23:17:44.102305 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:17:47.832652 ------------------
+On: 2011-11-03 23:17:47.853858 Event: try to Connect to Controller
+On: 2011-11-03 23:17:49.147701 Event: init state
+On: 2011-11-03 23:17:49.147955 Event: Register Account to SIP server
+On: 2011-11-03 23:17:49.148361 Event: 100
+On: 2011-11-03 23:17:49.148443 Event: Caller Handler Ready
+On: 2011-11-03 23:17:54.273686 Event: CALL START
+On: 2011-11-03 23:17:54.273738 Event: Make a call to: 015128040906
+On: 2011-11-03 23:18:04.795781 Event: Call Connecting
+On: 2011-11-03 23:18:04.795829 Event: 200
+On: 2011-11-03 23:18:04.798257 Event: Terminate
+On: 2011-11-03 23:18:04.798314 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:18:08.531956 ------------------
+On: 2011-11-03 23:18:08.552425 Event: try to Connect to Controller
+On: 2011-11-03 23:18:09.845420 Event: init state
+On: 2011-11-03 23:18:09.845670 Event: Register Account to SIP server
+On: 2011-11-03 23:18:09.846662 Event: 100
+On: 2011-11-03 23:18:09.846776 Event: Caller Handler Ready
+On: 2011-11-03 23:18:16.867559 Event: Terminate
+On: 2011-11-03 23:18:16.867593 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:24:39.524413 ------------------
+On: 2011-11-03 23:24:39.545080 Event: try to Connect to Controller
+On: 2011-11-03 23:24:40.837924 Event: init state
+On: 2011-11-03 23:24:40.838204 Event: Register Account to SIP server
+On: 2011-11-03 23:24:40.838972 Event: 100
+On: 2011-11-03 23:24:40.839056 Event: Caller Handler Ready
+On: 2011-11-03 23:24:45.961656 Event: CALL START
+On: 2011-11-03 23:24:45.961707 Event: Make a call to: 015782677224
+On: 2011-11-03 23:24:53.517445 Event: Call Connecting
+On: 2011-11-03 23:24:53.517489 Event: 200
+On: 2011-11-03 23:24:57.959352 Event: Terminate
+On: 2011-11-03 23:24:57.959390 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:01.692688 ------------------
+On: 2011-11-03 23:25:01.713230 Event: try to Connect to Controller
+On: 2011-11-03 23:25:03.007369 Event: init state
+On: 2011-11-03 23:25:03.007620 Event: Register Account to SIP server
+On: 2011-11-03 23:25:03.008028 Event: 100
+On: 2011-11-03 23:25:03.008110 Event: Caller Handler Ready
+On: 2011-11-03 23:25:08.117638 Event: CALL START
+On: 2011-11-03 23:25:08.117693 Event: Make a call to: 017678038038
+On: 2011-11-03 23:25:18.649718 Event: Call Connecting
+On: 2011-11-03 23:25:18.649763 Event: 200
+On: 2011-11-03 23:25:18.653741 Event: Terminate
+On: 2011-11-03 23:25:18.653800 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:22.388771 ------------------
+On: 2011-11-03 23:25:22.409124 Event: try to Connect to Controller
+On: 2011-11-03 23:25:23.698756 Event: init state
+On: 2011-11-03 23:25:23.699005 Event: Register Account to SIP server
+On: 2011-11-03 23:25:23.699413 Event: 100
+On: 2011-11-03 23:25:23.699495 Event: Caller Handler Ready
+On: 2011-11-03 23:25:28.801626 Event: CALL START
+On: 2011-11-03 23:25:28.801681 Event: Make a call to: 015128040906
+On: 2011-11-03 23:25:41.034066 Event: Call Connecting
+On: 2011-11-03 23:25:41.034113 Event: 200
+On: 2011-11-03 23:25:41.037893 Event: Terminate
+On: 2011-11-03 23:25:41.037992 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:44.767918 ------------------
+On: 2011-11-03 23:25:44.788266 Event: try to Connect to Controller
+On: 2011-11-03 23:25:46.082239 Event: init state
+On: 2011-11-03 23:25:46.082489 Event: Register Account to SIP server
+On: 2011-11-03 23:25:46.082897 Event: 100
+On: 2011-11-03 23:25:46.082980 Event: Caller Handler Ready
+On: 2011-11-03 23:25:53.101841 Event: Terminate
+On: 2011-11-03 23:25:53.101875 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:25:56.872350 ------------------
+On: 2011-11-03 23:25:56.892690 Event: try to Connect to Controller
+On: 2011-11-03 23:25:58.166597 Event: init state
+On: 2011-11-03 23:25:58.166830 Event: Register Account to SIP server
+On: 2011-11-03 23:25:58.167239 Event: 100
+On: 2011-11-03 23:25:58.167319 Event: Caller Handler Ready
+On: 2011-11-03 23:26:03.289628 Event: CALL START
+On: 2011-11-03 23:26:03.289681 Event: Make a call to: 07612034661449
+On: 2011-11-03 23:26:04.826550 Event: Call Connecting
+On: 2011-11-03 23:26:04.826597 Event: 200
+On: 2011-11-03 23:26:04.886574 Event: Terminate
+On: 2011-11-03 23:26:04.886614 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:32:11.491769 ------------------
+On: 2011-11-03 23:32:11.512033 Event: try to Connect to Controller
+On: 2011-11-03 23:32:12.801678 Event: init state
+On: 2011-11-03 23:32:12.801924 Event: Register Account to SIP server
+On: 2011-11-03 23:32:12.802514 Event: 100
+On: 2011-11-03 23:32:12.802604 Event: Caller Handler Ready
+On: 2011-11-03 23:32:17.925701 Event: CALL START
+On: 2011-11-03 23:32:17.925754 Event: Make a call to: 015782677224
+On: 2011-11-03 23:32:26.300071 Event: Call Connecting
+On: 2011-11-03 23:32:26.300119 Event: 200
+On: 2011-11-03 23:32:29.923493 Event: Terminate
+On: 2011-11-03 23:32:29.923532 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:32:33.656876 ------------------
+On: 2011-11-03 23:32:33.677225 Event: try to Connect to Controller
+On: 2011-11-03 23:32:34.971779 Event: init state
+On: 2011-11-03 23:32:34.972028 Event: Register Account to SIP server
+On: 2011-11-03 23:32:34.972434 Event: 100
+On: 2011-11-03 23:32:34.972516 Event: Caller Handler Ready
+On: 2011-11-03 23:32:40.105615 Event: CALL START
+On: 2011-11-03 23:32:40.105669 Event: Make a call to: 017678038038
+On: 2011-11-03 23:32:50.257873 Event: Call Connecting
+On: 2011-11-03 23:32:50.257920 Event: 200
+On: 2011-11-03 23:32:50.261878 Event: Terminate
+On: 2011-11-03 23:32:50.262195 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:32:53.999306 ------------------
+On: 2011-11-03 23:32:54.019701 Event: try to Connect to Controller
+On: 2011-11-03 23:32:55.306963 Event: init state
+On: 2011-11-03 23:32:55.307204 Event: Register Account to SIP server
+On: 2011-11-03 23:32:55.307614 Event: 100
+On: 2011-11-03 23:32:55.307697 Event: Caller Handler Ready
+On: 2011-11-03 23:33:02.328409 Event: Terminate
+On: 2011-11-03 23:33:02.328440 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:09:32.787144 ------------------
+On: 2011-11-04 13:09:32.808813 Event: try to Connect to Controller
+On: 2011-11-04 13:09:33.958540 Event: init state
+On: 2011-11-04 13:09:33.958772 Event: Register Account to SIP server
+On: 2011-11-04 13:09:33.959198 Event: 100
+On: 2011-11-04 13:09:33.959285 Event: Receiver Handler Ready
+On: 2011-11-04 13:09:33.959592 Event: RECEIVE START
+On: 2011-11-04 13:09:39.473556 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
+On: 2011-11-04 13:09:39.474192 Event: Call Connecting
+On: 2011-11-04 13:09:39.474240 Event: 200
+On: 2011-11-04 13:09:39.474485 Event: Answer call
+On: 2011-11-04 13:09:39.474539 Event: Hangup call
+On: 2011-11-04 13:09:39.474724 Event: CALL OK
+On: 2011-11-04 13:09:39.525434 Event: Call Disconnected
+On: 2011-11-04 13:09:39.958748 Event: Terminate
+On: 2011-11-04 13:09:39.958784 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:42.598854 ------------------
+On: 2011-11-04 13:10:42.623648 Event: try to Connect to Controller
+On: 2011-11-04 13:10:43.724734 Event: init state
+On: 2011-11-04 13:10:43.724970 Event: Register Account to SIP server
+On: 2011-11-04 13:10:43.725396 Event: 100
+On: 2011-11-04 13:10:43.725482 Event: Caller Handler Ready
+On: 2011-11-04 13:10:48.732560 Event: CALL START
+On: 2011-11-04 13:10:48.732622 Event: Make a call to: 076120397898
+On: 2011-11-04 13:10:48.827217 Event: Call Connecting
+On: 2011-11-04 13:10:48.827269 Event: 200
+On: 2011-11-04 13:10:48.830297 Event: Terminate
+On: 2011-11-04 13:10:48.830360 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:52.743655 ------------------
+On: 2011-11-04 13:10:52.774682 Event: try to Connect to Controller
+On: 2011-11-04 13:10:53.889678 Event: init state
+On: 2011-11-04 13:10:53.889912 Event: Register Account to SIP server
+On: 2011-11-04 13:10:53.890379 Event: 100
+On: 2011-11-04 13:10:53.890469 Event: Caller Handler Ready
+On: 2011-11-04 13:10:58.898421 Event: CALL START
+On: 2011-11-04 13:10:58.898482 Event: Make a call to: 076145875681
+On: 2011-11-04 13:11:02.355481 Event: Call Connecting
+On: 2011-11-04 13:11:02.355543 Event: 200
+On: 2011-11-04 13:11:02.357237 Event: Terminate
+On: 2011-11-04 13:11:02.357289 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:11:14.455399 ------------------
+On: 2011-11-04 13:11:14.475471 Event: try to Connect to Controller
+On: 2011-11-04 13:11:15.656522 Event: init state
+On: 2011-11-04 13:11:15.656759 Event: Register Account to SIP server
+On: 2011-11-04 13:11:15.657537 Event: 100
+On: 2011-11-04 13:11:15.657622 Event: Receiver Handler Ready
+On: 2011-11-04 13:11:15.658115 Event: RECEIVE START
+On: 2011-11-04 13:11:17.652775 Event: {Call "455" <sip:455@132.230.4.8>}
+On: 2011-11-04 13:11:17.653288 Event: Call Connecting
+On: 2011-11-04 13:11:17.653329 Event: 200
+On: 2011-11-04 13:11:17.653583 Event: Answer call
+On: 2011-11-04 13:11:17.653636 Event: Hangup call
+On: 2011-11-04 13:11:17.653814 Event: CALL OK
+On: 2011-11-04 13:11:17.704505 Event: Call Disconnected
+On: 2011-11-04 13:11:18.939163 Event: Terminate
+On: 2011-11-04 13:11:18.939198 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:11:31.018839 ------------------
+On: 2011-11-04 13:11:31.041833 Event: try to Connect to Controller
+On: 2011-11-04 13:11:32.223172 Event: init state
+On: 2011-11-04 13:11:32.223403 Event: Register Account to SIP server
+On: 2011-11-04 13:11:32.223817 Event: 100
+On: 2011-11-04 13:11:32.223899 Event: Receiver Handler Ready
+On: 2011-11-04 13:11:32.224151 Event: RECEIVE START
+On: 2011-11-04 13:11:34.167198 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-04 13:11:34.167701 Event: Call Connecting
+On: 2011-11-04 13:11:34.167740 Event: 200
+On: 2011-11-04 13:11:34.168002 Event: Answer call
+On: 2011-11-04 13:11:34.168056 Event: Hangup call
+On: 2011-11-04 13:11:34.168234 Event: CALL OK
+On: 2011-11-04 13:11:34.218936 Event: Call Disconnected
+On: 2011-11-04 13:11:35.513166 Event: Terminate
+On: 2011-11-04 13:11:35.513210 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:11:41.553550 ------------------
+On: 2011-11-04 13:11:41.579408 Event: try to Connect to Controller
+On: 2011-11-04 13:11:42.731017 Event: init state
+On: 2011-11-04 13:11:42.731249 Event: Register Account to SIP server
+On: 2011-11-04 13:11:42.732015 Event: 100
+On: 2011-11-04 13:11:42.732101 Event: Receiver Handler Ready
+On: 2011-11-04 13:11:42.734154 Event: RECEIVE START
+On: 2011-11-04 13:11:44.297199 Event: {Call "449" <sip:449@132.230.4.8>}
+On: 2011-11-04 13:11:44.297714 Event: Call Connecting
+On: 2011-11-04 13:11:44.297755 Event: 200
+On: 2011-11-04 13:11:44.298073 Event: Answer call
+On: 2011-11-04 13:11:44.298136 Event: Hangup call
+On: 2011-11-04 13:11:44.298319 Event: CALL OK
+On: 2011-11-04 13:11:44.349013 Event: Call Disconnected
+On: 2011-11-04 13:11:45.178469 Event: Terminate
+On: 2011-11-04 13:11:45.178505 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:11:49.103610 ------------------
+On: 2011-11-04 13:11:49.129177 Event: try to Connect to Controller
+On: 2011-11-04 13:11:50.227628 Event: init state
+On: 2011-11-04 13:11:50.227865 Event: Register Account to SIP server
+On: 2011-11-04 13:11:50.228294 Event: 100
+On: 2011-11-04 13:11:50.228381 Event: Caller Handler Ready
+On: 2011-11-04 13:12:01.477709 Event: CALL START
+On: 2011-11-04 13:12:01.477777 Event: Make a call to: 07612034661455
+On: 2011-11-04 13:12:04.347944 Event: Call Connecting
+On: 2011-11-04 13:12:04.347996 Event: 200
+On: 2011-11-04 13:12:04.394172 Event: Terminate
+On: 2011-11-04 13:12:04.394208 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:12:08.331773 ------------------
+On: 2011-11-04 13:12:08.354282 Event: try to Connect to Controller
+On: 2011-11-04 13:12:09.444191 Event: init state
+On: 2011-11-04 13:12:09.444426 Event: Register Account to SIP server
+On: 2011-11-04 13:12:09.445217 Event: 100
+On: 2011-11-04 13:12:09.445303 Event: Caller Handler Ready
+On: 2011-11-04 13:12:20.668965 Event: CALL START
+On: 2011-11-04 13:12:20.669026 Event: Make a call to: 07612034661473
+On: 2011-11-04 13:12:22.955254 Event: Call Connecting
+On: 2011-11-04 13:12:22.955305 Event: 200
+On: 2011-11-04 13:12:22.991747 Event: Terminate
+On: 2011-11-04 13:12:22.991781 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:12:26.923448 ------------------
+On: 2011-11-04 13:12:26.949782 Event: try to Connect to Controller
+On: 2011-11-04 13:12:28.053147 Event: init state
+On: 2011-11-04 13:12:28.053392 Event: Register Account to SIP server
+On: 2011-11-04 13:12:28.053821 Event: 100
+On: 2011-11-04 13:12:28.053910 Event: Caller Handler Ready
+On: 2011-11-04 13:12:33.213624 Event: CALL START
+On: 2011-11-04 13:12:33.213682 Event: Make a call to: 07612034661449
+On: 2011-11-04 13:12:35.868031 Event: Call Connecting
+On: 2011-11-04 13:12:35.868079 Event: 200
+On: 2011-11-04 13:12:35.910696 Event: Terminate
+On: 2011-11-04 13:12:35.910731 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:12:39.854610 ------------------
+On: 2011-11-04 13:12:39.875893 Event: try to Connect to Controller
+On: 2011-11-04 13:12:40.972520 Event: init state
+On: 2011-11-04 13:12:40.972755 Event: Register Account to SIP server
+On: 2011-11-04 13:12:40.973541 Event: 100
+On: 2011-11-04 13:12:40.973630 Event: Caller Handler Ready
+On: 2011-11-04 13:12:46.101628 Event: CALL START
+On: 2011-11-04 13:12:46.101684 Event: Make a call to: 015782677224
+On: 2011-11-04 13:12:52.383876 Event: Call Connecting
+On: 2011-11-04 13:12:52.383927 Event: 200
+On: 2011-11-04 13:12:58.099272 Event: Terminate
+On: 2011-11-04 13:12:58.099307 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:13:02.025590 ------------------
+On: 2011-11-04 13:13:02.050834 Event: try to Connect to Controller
+On: 2011-11-04 13:13:03.163035 Event: init state
+On: 2011-11-04 13:13:03.163259 Event: Register Account to SIP server
+On: 2011-11-04 13:13:03.163681 Event: 100
+On: 2011-11-04 13:13:03.163766 Event: Caller Handler Ready
+On: 2011-11-04 13:13:10.185031 Event: Terminate
+On: 2011-11-04 13:13:10.185068 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:13:14.127722 ------------------
+On: 2011-11-04 13:13:14.148975 Event: try to Connect to Controller
+On: 2011-11-04 13:13:15.261276 Event: init state
+On: 2011-11-04 13:13:15.261519 Event: Register Account to SIP server
+On: 2011-11-04 13:13:15.261948 Event: 100
+On: 2011-11-04 13:13:15.262072 Event: Caller Handler Ready
+On: 2011-11-04 13:13:20.371916 Event: CALL START
+On: 2011-11-04 13:13:20.371973 Event: Make a call to: 015128040906
+On: 2011-11-04 13:13:31.263713 Event: Call Connecting
+On: 2011-11-04 13:13:31.263771 Event: 200
+On: 2011-11-04 13:13:31.266140 Event: Terminate
+On: 2011-11-04 13:13:31.266200 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:13:35.198656 ------------------
+On: 2011-11-04 13:13:35.219766 Event: try to Connect to Controller
+On: 2011-11-04 13:13:36.326645 Event: init state
+On: 2011-11-04 13:13:36.326883 Event: Register Account to SIP server
+On: 2011-11-04 13:13:36.327674 Event: 100
+On: 2011-11-04 13:13:36.327763 Event: Caller Handler Ready
+On: 2011-11-04 13:13:41.457651 Event: CALL START
+On: 2011-11-04 13:13:41.457711 Event: Make a call to: 017678038038
+On: 2011-11-04 13:13:50.799181 Event: Call Connecting
+On: 2011-11-04 13:13:50.799233 Event: 200
+On: 2011-11-04 13:13:50.802296 Event: Terminate
+On: 2011-11-04 13:13:50.802353 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:11.814684 ------------------
+On: 2011-11-04 14:01:11.840456 Event: try to Connect to Controller
+On: 2011-11-04 14:01:13.015756 Event: init state
+On: 2011-11-04 14:01:13.015992 Event: Register Account to SIP server
+On: 2011-11-04 14:01:13.016750 Event: 100
+On: 2011-11-04 14:01:13.016835 Event: Caller Handler Ready
+On: 2011-11-04 14:01:18.153983 Event: CALL START
+On: 2011-11-04 14:01:18.154038 Event: Make a call to: 017678038038
+On: 2011-11-04 14:01:28.145480 Event: Call Connecting
+On: 2011-11-04 14:01:28.145530 Event: 200
+On: 2011-11-04 14:01:28.149880 Event: Terminate
+On: 2011-11-04 14:01:28.149934 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:32.015320 ------------------
+On: 2011-11-04 14:01:32.040260 Event: try to Connect to Controller
+On: 2011-11-04 14:01:33.200852 Event: init state
+On: 2011-11-04 14:01:33.201087 Event: Register Account to SIP server
+On: 2011-11-04 14:01:33.201856 Event: 100
+On: 2011-11-04 14:01:33.201941 Event: Caller Handler Ready
+On: 2011-11-04 14:01:38.309697 Event: CALL START
+On: 2011-11-04 14:01:38.309753 Event: Make a call to: 015128040906
+On: 2011-11-04 14:01:48.953819 Event: Call Connecting
+On: 2011-11-04 14:01:48.953870 Event: 200
+On: 2011-11-04 14:01:48.958130 Event: Terminate
+On: 2011-11-04 14:01:48.958191 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:52.842831 ------------------
+On: 2011-11-04 14:01:52.863351 Event: try to Connect to Controller
+On: 2011-11-04 14:01:54.019248 Event: init state
+On: 2011-11-04 14:01:54.019481 Event: Register Account to SIP server
+On: 2011-11-04 14:01:54.019908 Event: 100
+On: 2011-11-04 14:01:54.019994 Event: Caller Handler Ready
+On: 2011-11-04 14:01:59.157671 Event: CALL START
+On: 2011-11-04 14:01:59.157729 Event: Make a call to: 015252423662
+On: 2011-11-04 14:02:08.798933 Event: Call Connecting
+On: 2011-11-04 14:02:08.798983 Event: 200
+On: 2011-11-04 14:02:08.802135 Event: Terminate
+On: 2011-11-04 14:02:08.802196 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:02:12.689242 ------------------
+On: 2011-11-04 14:02:12.709947 Event: try to Connect to Controller
+On: 2011-11-04 14:02:13.871326 Event: init state
+On: 2011-11-04 14:02:13.871566 Event: Register Account to SIP server
+On: 2011-11-04 14:02:13.872348 Event: 100
+On: 2011-11-04 14:02:13.872435 Event: Caller Handler Ready
+On: 2011-11-04 14:02:18.997745 Event: CALL START
+On: 2011-11-04 14:02:18.997805 Event: Make a call to: 015782677224
+On: 2011-11-04 14:02:24.598370 Event: Call Connecting
+On: 2011-11-04 14:02:24.598420 Event: 200
+On: 2011-11-04 14:02:30.995564 Event: Terminate
+On: 2011-11-04 14:02:30.995604 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:09:16.563365 ------------------
+On: 2011-11-04 14:09:16.584898 Event: try to Connect to Controller
+On: 2011-11-04 14:09:17.729537 Event: init state
+On: 2011-11-04 14:09:17.729775 Event: Register Account to SIP server
+On: 2011-11-04 14:09:17.730276 Event: 100
+On: 2011-11-04 14:09:17.730366 Event: Receiver Handler Ready
+On: 2011-11-04 14:09:17.730730 Event: RECEIVE START
+On: 2011-11-04 14:09:23.038779 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
+On: 2011-11-04 14:09:23.039304 Event: Call Connecting
+On: 2011-11-04 14:09:23.039347 Event: 200
+On: 2011-11-04 14:09:23.039603 Event: Answer call
+On: 2011-11-04 14:09:23.039700 Event: Hangup call
+On: 2011-11-04 14:09:23.039887 Event: CALL OK
+On: 2011-11-04 14:09:23.090549 Event: Call Disconnected
+On: 2011-11-04 14:09:23.583445 Event: Terminate
+On: 2011-11-04 14:09:23.583481 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:26.187899 ------------------
+On: 2011-11-04 14:10:26.209902 Event: try to Connect to Controller
+On: 2011-11-04 14:10:27.301551 Event: init state
+On: 2011-11-04 14:10:27.301794 Event: Register Account to SIP server
+On: 2011-11-04 14:10:27.302282 Event: 100
+On: 2011-11-04 14:10:27.302373 Event: Caller Handler Ready
+On: 2011-11-04 14:10:32.310307 Event: CALL START
+On: 2011-11-04 14:10:32.310368 Event: Make a call to: 076120397898
+On: 2011-11-04 14:10:32.409890 Event: Call Connecting
+On: 2011-11-04 14:10:32.409942 Event: 200
+On: 2011-11-04 14:10:32.413121 Event: Terminate
+On: 2011-11-04 14:10:32.413179 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:36.346367 ------------------
+On: 2011-11-04 14:10:36.371454 Event: try to Connect to Controller
+On: 2011-11-04 14:10:37.472504 Event: init state
+On: 2011-11-04 14:10:37.472833 Event: Register Account to SIP server
+On: 2011-11-04 14:10:37.473267 Event: 100
+On: 2011-11-04 14:10:37.473353 Event: Caller Handler Ready
+On: 2011-11-04 14:10:42.483760 Event: CALL START
+On: 2011-11-04 14:10:42.483822 Event: Make a call to: 076145875681
+On: 2011-11-04 14:10:47.036024 Event: Call Connecting
+On: 2011-11-04 14:10:47.036075 Event: 200
+On: 2011-11-04 14:10:47.037695 Event: Terminate
+On: 2011-11-04 14:10:47.037746 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:59.123132 ------------------
+On: 2011-11-04 14:10:59.149009 Event: try to Connect to Controller
+On: 2011-11-04 14:11:00.327099 Event: init state
+On: 2011-11-04 14:11:00.327327 Event: Register Account to SIP server
+On: 2011-11-04 14:11:00.327755 Event: 100
+On: 2011-11-04 14:11:00.327843 Event: Receiver Handler Ready
+On: 2011-11-04 14:11:00.328106 Event: RECEIVE START
+On: 2011-11-04 14:11:02.433514 Event: {Call "455" <sip:455@132.230.4.8>}
+On: 2011-11-04 14:11:02.434097 Event: Call Connecting
+On: 2011-11-04 14:11:02.434144 Event: 200
+On: 2011-11-04 14:11:02.434387 Event: Answer call
+On: 2011-11-04 14:11:02.434440 Event: Hangup call
+On: 2011-11-04 14:11:02.434624 Event: CALL OK
+On: 2011-11-04 14:11:02.485328 Event: Call Disconnected
+On: 2011-11-04 14:11:03.649884 Event: Terminate
+On: 2011-11-04 14:11:03.649920 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:11:15.716627 ------------------
+On: 2011-11-04 14:11:15.745223 Event: try to Connect to Controller
+On: 2011-11-04 14:11:16.927121 Event: init state
+On: 2011-11-04 14:11:16.927363 Event: Register Account to SIP server
+On: 2011-11-04 14:11:16.927798 Event: 100
+On: 2011-11-04 14:11:16.927884 Event: Receiver Handler Ready
+On: 2011-11-04 14:11:16.928157 Event: RECEIVE START
+On: 2011-11-04 14:11:18.673161 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-04 14:11:18.673679 Event: Call Connecting
+On: 2011-11-04 14:11:18.673720 Event: 200
+On: 2011-11-04 14:11:18.674034 Event: Answer call
+On: 2011-11-04 14:11:18.674096 Event: Hangup call
+On: 2011-11-04 14:11:18.674282 Event: CALL OK
+On: 2011-11-04 14:11:18.724975 Event: Call Disconnected
+On: 2011-11-04 14:11:20.106820 Event: Terminate
+On: 2011-11-04 14:11:20.106865 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:11:26.121674 ------------------
+On: 2011-11-04 14:11:26.143194 Event: try to Connect to Controller
+On: 2011-11-04 14:11:27.286574 Event: init state
+On: 2011-11-04 14:11:27.286808 Event: Register Account to SIP server
+On: 2011-11-04 14:11:27.287239 Event: 100
+On: 2011-11-04 14:11:27.287325 Event: Receiver Handler Ready
+On: 2011-11-04 14:11:27.288600 Event: RECEIVE START
+On: 2011-11-04 14:11:28.294949 Event: {Call "449" <sip:449@132.230.4.8>}
+On: 2011-11-04 14:11:28.295458 Event: Call Connecting
+On: 2011-11-04 14:11:28.295499 Event: 200
+On: 2011-11-04 14:11:28.295764 Event: Answer call
+On: 2011-11-04 14:11:28.295817 Event: Hangup call
+On: 2011-11-04 14:11:28.295997 Event: CALL OK
+On: 2011-11-04 14:11:28.346696 Event: Call Disconnected
+On: 2011-11-04 14:11:29.738456 Event: Terminate
+On: 2011-11-04 14:11:29.738493 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:11:33.654927 ------------------
+On: 2011-11-04 14:11:33.679979 Event: try to Connect to Controller
+On: 2011-11-04 14:11:34.794535 Event: init state
+On: 2011-11-04 14:11:34.794777 Event: Register Account to SIP server
+On: 2011-11-04 14:11:34.795559 Event: 100
+On: 2011-11-04 14:11:34.795646 Event: Caller Handler Ready
+On: 2011-11-04 14:11:46.014013 Event: CALL START
+On: 2011-11-04 14:11:46.014083 Event: Make a call to: 07612034661455
+On: 2011-11-04 14:11:49.052008 Event: Call Connecting
+On: 2011-11-04 14:11:49.052057 Event: 200
+On: 2011-11-04 14:11:49.120993 Event: Terminate
+On: 2011-11-04 14:11:49.121046 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:11:53.040901 ------------------
+On: 2011-11-04 14:11:53.066570 Event: try to Connect to Controller
+On: 2011-11-04 14:11:54.170448 Event: init state
+On: 2011-11-04 14:11:54.170685 Event: Register Account to SIP server
+On: 2011-11-04 14:11:54.171123 Event: 100
+On: 2011-11-04 14:11:54.171211 Event: Caller Handler Ready
+On: 2011-11-04 14:12:05.403583 Event: CALL START
+On: 2011-11-04 14:12:05.403642 Event: Make a call to: 07612034661473
+On: 2011-11-04 14:12:07.872372 Event: Call Connecting
+On: 2011-11-04 14:12:07.872423 Event: 200
+On: 2011-11-04 14:12:07.961151 Event: Terminate
+On: 2011-11-04 14:12:07.961204 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:12:11.893057 ------------------
+On: 2011-11-04 14:12:11.913357 Event: try to Connect to Controller
+On: 2011-11-04 14:12:13.023565 Event: init state
+On: 2011-11-04 14:12:13.023804 Event: Register Account to SIP server
+On: 2011-11-04 14:12:13.024235 Event: 100
+On: 2011-11-04 14:12:13.024323 Event: Caller Handler Ready
+On: 2011-11-04 14:12:18.125698 Event: CALL START
+On: 2011-11-04 14:12:18.125755 Event: Make a call to: 07612034661449
+On: 2011-11-04 14:12:19.652846 Event: Call Connecting
+On: 2011-11-04 14:12:19.652897 Event: 200
+On: 2011-11-04 14:12:19.718464 Event: Terminate
+On: 2011-11-04 14:12:19.718500 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:08:18.370811 ------------------
+On: 2011-11-04 15:08:18.391057 Event: try to Connect to Controller
+On: 2011-11-04 15:08:19.571278 Event: init state
+On: 2011-11-04 15:08:19.571573 Event: Register Account to SIP server
+On: 2011-11-04 15:08:19.572008 Event: 100
+On: 2011-11-04 15:08:19.572094 Event: Caller Handler Ready
+On: 2011-11-04 15:08:24.701643 Event: CALL START
+On: 2011-11-04 15:08:24.701705 Event: Make a call to: 015782677224
+On: 2011-11-04 15:08:30.754454 Event: Call Connecting
+On: 2011-11-04 15:08:30.754503 Event: 200
+On: 2011-11-04 15:08:36.699281 Event: Terminate
+On: 2011-11-04 15:08:36.699316 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:08:40.535756 ------------------
+On: 2011-11-04 15:08:40.561216 Event: try to Connect to Controller
+On: 2011-11-04 15:08:41.752981 Event: init state
+On: 2011-11-04 15:08:41.753221 Event: Register Account to SIP server
+On: 2011-11-04 15:08:41.753646 Event: 100
+On: 2011-11-04 15:08:41.753734 Event: Caller Handler Ready
+On: 2011-11-04 15:08:46.885626 Event: CALL START
+On: 2011-11-04 15:08:46.885687 Event: Make a call to: 017678038038
+On: 2011-11-04 15:09:11.878937 Event: Call Connecting
+On: 2011-11-04 15:09:11.878987 Event: 200
+On: 2011-11-04 15:09:11.882124 Event: Terminate
+On: 2011-11-04 15:09:11.882187 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:09:15.716994 ------------------
+On: 2011-11-04 15:09:15.741264 Event: try to Connect to Controller
+On: 2011-11-04 15:09:16.933426 Event: init state
+On: 2011-11-04 15:09:16.933666 Event: Register Account to SIP server
+On: 2011-11-04 15:09:16.934174 Event: 100
+On: 2011-11-04 15:09:16.934261 Event: Caller Handler Ready
+On: 2011-11-04 15:09:22.037716 Event: CALL START
+On: 2011-11-04 15:09:22.037777 Event: Make a call to: 015252423662
+On: 2011-11-04 15:09:53.739419 Event: Call Connecting
+On: 2011-11-04 15:09:53.739469 Event: 200
+On: 2011-11-04 15:09:53.742126 Event: Terminate
+On: 2011-11-04 15:09:53.742188 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:09:57.741356 ------------------
+On: 2011-11-04 15:09:57.767658 Event: try to Connect to Controller
+On: 2011-11-04 15:09:58.800735 Event: init state
+On: 2011-11-04 15:09:58.800976 Event: Register Account to SIP server
+On: 2011-11-04 15:09:58.801395 Event: 100
+On: 2011-11-04 15:09:58.801480 Event: Caller Handler Ready
+On: 2011-11-04 15:10:00.820507 Event: Terminate
+On: 2011-11-04 15:10:00.820541 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:10:12.902897 ------------------
+On: 2011-11-04 15:10:12.923609 Event: try to Connect to Controller
+On: 2011-11-04 15:10:14.124147 Event: init state
+On: 2011-11-04 15:10:14.124384 Event: Register Account to SIP server
+On: 2011-11-04 15:10:14.125166 Event: 100
+On: 2011-11-04 15:10:14.125247 Event: Receiver Handler Ready
+On: 2011-11-04 15:10:14.125664 Event: RECEIVE START
+On: 2011-11-04 15:10:16.410869 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-04 15:10:16.411445 Event: Call Connecting
+On: 2011-11-04 15:10:16.411490 Event: 200
+On: 2011-11-04 15:10:16.411740 Event: Answer call
+On: 2011-11-04 15:10:16.411792 Event: Hangup call
+On: 2011-11-04 15:10:16.411972 Event: CALL OK
+On: 2011-11-04 15:10:16.462672 Event: Call Disconnected
+On: 2011-11-04 15:10:17.688782 Event: Terminate
+On: 2011-11-04 15:10:17.688818 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:12:49.747143 ------------------
+On: 2011-11-04 15:12:49.767641 Event: try to Connect to Controller
+On: 2011-11-04 15:12:51.028516 Event: init state
+On: 2011-11-04 15:12:51.028760 Event: Register Account to SIP server
+On: 2011-11-04 15:12:51.029184 Event: 100
+On: 2011-11-04 15:12:51.029272 Event: Caller Handler Ready
+On: 2011-11-04 15:12:56.157638 Event: CALL START
+On: 2011-11-04 15:12:56.157699 Event: Make a call to: 015782677224
+On: 2011-11-04 15:13:02.270443 Event: Call Connecting
+On: 2011-11-04 15:13:02.270493 Event: 200
+On: 2011-11-04 15:13:08.158252 Event: Terminate
+On: 2011-11-04 15:13:08.158287 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:13:11.948686 ------------------
+On: 2011-11-04 15:13:11.969300 Event: try to Connect to Controller
+On: 2011-11-04 15:13:13.210121 Event: init state
+On: 2011-11-04 15:13:13.210363 Event: Register Account to SIP server
+On: 2011-11-04 15:13:13.210778 Event: 100
+On: 2011-11-04 15:13:13.210866 Event: Caller Handler Ready
+On: 2011-11-04 15:13:18.337617 Event: CALL START
+On: 2011-11-04 15:13:18.337672 Event: Make a call to: 017678038038
+On: 2011-11-04 15:13:28.010119 Event: Call Connecting
+On: 2011-11-04 15:13:28.010170 Event: 200
+On: 2011-11-04 15:13:28.014120 Event: Terminate
+On: 2011-11-04 15:13:28.014180 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:13:31.789465 ------------------
+On: 2011-11-04 15:13:31.813729 Event: try to Connect to Controller
+On: 2011-11-04 15:13:33.063451 Event: init state
+On: 2011-11-04 15:13:33.063694 Event: Register Account to SIP server
+On: 2011-11-04 15:13:33.064117 Event: 100
+On: 2011-11-04 15:13:33.064206 Event: Caller Handler Ready
+On: 2011-11-04 15:13:38.197999 Event: CALL START
+On: 2011-11-04 15:13:38.198060 Event: Make a call to: 015128040906
+On: 2011-11-04 15:13:49.083816 Event: Call Connecting
+On: 2011-11-04 15:13:49.083866 Event: 200
+On: 2011-11-04 15:13:49.088569 Event: Terminate
+On: 2011-11-04 15:13:49.088630 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:15:33.692652 ------------------
+On: 2011-11-04 15:15:33.713374 Event: try to Connect to Controller
+On: 2011-11-04 15:15:34.978251 Event: init state
+On: 2011-11-04 15:15:34.978492 Event: Register Account to SIP server
+On: 2011-11-04 15:15:34.978911 Event: 100
+On: 2011-11-04 15:15:34.978991 Event: Caller Handler Ready
+On: 2011-11-04 15:15:40.081970 Event: CALL START
+On: 2011-11-04 15:15:40.082024 Event: Make a call to: 015782677224
+On: 2011-11-04 15:15:46.266978 Event: Call Connecting
+On: 2011-11-04 15:15:46.267028 Event: 200
+On: 2011-11-04 15:15:52.080504 Event: Terminate
+On: 2011-11-04 15:15:52.080539 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:15:55.859808 ------------------
+On: 2011-11-04 15:15:55.891188 Event: try to Connect to Controller
+On: 2011-11-04 15:15:57.131778 Event: init state
+On: 2011-11-04 15:15:57.132017 Event: Register Account to SIP server
+On: 2011-11-04 15:15:57.132439 Event: 100
+On: 2011-11-04 15:15:57.132526 Event: Caller Handler Ready
+On: 2011-11-04 15:16:02.265630 Event: CALL START
+On: 2011-11-04 15:16:02.265693 Event: Make a call to: 017678038038
+On: 2011-11-04 15:16:11.212326 Event: Call Connecting
+On: 2011-11-04 15:16:11.212377 Event: 200
+On: 2011-11-04 15:16:11.217010 Event: Terminate
+On: 2011-11-04 15:16:11.217069 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:16:14.987448 ------------------
+On: 2011-11-04 15:16:15.009014 Event: try to Connect to Controller
+On: 2011-11-04 15:16:16.265612 Event: init state
+On: 2011-11-04 15:16:16.265848 Event: Register Account to SIP server
+On: 2011-11-04 15:16:16.266316 Event: 100
+On: 2011-11-04 15:16:16.266403 Event: Caller Handler Ready
+On: 2011-11-04 15:16:21.397628 Event: CALL START
+On: 2011-11-04 15:16:21.397688 Event: Make a call to: 015128040906
+On: 2011-11-04 15:16:33.250823 Event: Call Connecting
+On: 2011-11-04 15:16:33.250872 Event: 200
+On: 2011-11-04 15:16:33.254123 Event: Terminate
+On: 2011-11-04 15:16:33.254182 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:16:37.032852 ------------------
+On: 2011-11-04 15:16:37.057352 Event: try to Connect to Controller
+On: 2011-11-04 15:16:38.304995 Event: init state
+On: 2011-11-04 15:16:38.305231 Event: Register Account to SIP server
+On: 2011-11-04 15:16:38.305652 Event: 100
+On: 2011-11-04 15:16:38.305736 Event: Caller Handler Ready
+On: 2011-11-04 15:16:43.429709 Event: CALL START
+On: 2011-11-04 15:16:43.429770 Event: Make a call to: 015252423662
+On: 2011-11-04 15:16:52.993691 Event: Call Connecting
+On: 2011-11-04 15:16:52.993740 Event: 200
+On: 2011-11-04 15:16:52.998115 Event: Terminate
+On: 2011-11-04 15:16:52.998174 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:16.156817 ------------------
+On: 2011-11-04 15:17:16.180909 Event: try to Connect to Controller
+On: 2011-11-04 15:17:17.326619 Event: init state
+On: 2011-11-04 15:17:17.326859 Event: Register Account to SIP server
+On: 2011-11-04 15:17:17.327283 Event: 100
+On: 2011-11-04 15:17:17.327367 Event: Caller Handler Ready
+On: 2011-11-04 15:17:22.455976 Event: CALL START
+On: 2011-11-04 15:17:22.456032 Event: Make a call to: 017678038038
+On: 2011-11-04 15:17:32.324894 Event: Call Connecting
+On: 2011-11-04 15:17:32.324945 Event: 200
+On: 2011-11-04 15:17:32.329557 Event: Terminate
+On: 2011-11-04 15:17:32.329615 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:36.100771 ------------------
+On: 2011-11-04 15:17:36.121185 Event: try to Connect to Controller
+On: 2011-11-04 15:17:37.377607 Event: init state
+On: 2011-11-04 15:17:37.377846 Event: Register Account to SIP server
+On: 2011-11-04 15:17:37.378318 Event: 100
+On: 2011-11-04 15:17:37.378406 Event: Caller Handler Ready
+On: 2011-11-04 15:17:42.509622 Event: CALL START
+On: 2011-11-04 15:17:42.509679 Event: Make a call to: 015128040906
+On: 2011-11-04 15:17:54.822612 Event: Call Connecting
+On: 2011-11-04 15:17:54.822662 Event: 200
+On: 2011-11-04 15:17:54.826132 Event: Terminate
+On: 2011-11-04 15:17:54.826190 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:58.592366 ------------------
+On: 2011-11-04 15:17:58.612884 Event: try to Connect to Controller
+On: 2011-11-04 15:17:59.875566 Event: init state
+On: 2011-11-04 15:17:59.875804 Event: Register Account to SIP server
+On: 2011-11-04 15:17:59.876227 Event: 100
+On: 2011-11-04 15:17:59.876312 Event: Caller Handler Ready
+On: 2011-11-04 15:18:04.977971 Event: CALL START
+On: 2011-11-04 15:18:04.978026 Event: Make a call to: 015252423662
+On: 2011-11-04 15:18:15.268499 Event: Call Connecting
+On: 2011-11-04 15:18:15.268549 Event: 200
+On: 2011-11-04 15:18:15.273168 Event: Terminate
+On: 2011-11-04 15:18:15.273227 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:18:19.052732 ------------------
+On: 2011-11-04 15:18:19.076799 Event: try to Connect to Controller
+On: 2011-11-04 15:18:20.330187 Event: init state
+On: 2011-11-04 15:18:20.330428 Event: Register Account to SIP server
+On: 2011-11-04 15:18:20.330836 Event: 100
+On: 2011-11-04 15:18:20.330915 Event: Caller Handler Ready
+On: 2011-11-04 15:18:25.456983 Event: CALL START
+On: 2011-11-04 15:18:25.457045 Event: Make a call to: 015782677224
+On: 2011-11-04 15:18:36.398256 Event: Call Connecting
+On: 2011-11-04 15:18:36.398304 Event: 200
+On: 2011-11-04 15:18:37.455344 Event: Terminate
+On: 2011-11-04 15:18:37.455380 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:25:25.579349 ------------------
+On: 2011-11-04 15:25:25.599700 Event: try to Connect to Controller
+On: 2011-11-04 15:25:26.846851 Event: init state
+On: 2011-11-04 15:25:26.847085 Event: Register Account to SIP server
+On: 2011-11-04 15:25:26.847505 Event: 100
+On: 2011-11-04 15:25:26.847589 Event: Receiver Handler Ready
+On: 2011-11-04 15:25:26.847898 Event: RECEIVE START
+On: 2011-11-04 15:25:32.104032 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
+On: 2011-11-04 15:25:32.104542 Event: Call Connecting
+On: 2011-11-04 15:25:32.104583 Event: 200
+On: 2011-11-04 15:25:32.104837 Event: Answer call
+On: 2011-11-04 15:25:32.104890 Event: Hangup call
+On: 2011-11-04 15:25:32.105066 Event: CALL OK
+On: 2011-11-04 15:25:32.155766 Event: Call Disconnected
+On: 2011-11-04 15:25:32.695645 Event: Terminate
+On: 2011-11-04 15:25:32.695682 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:35.608690 ------------------
+On: 2011-11-04 15:26:35.669240 Event: try to Connect to Controller
+On: 2011-11-04 15:26:36.603977 Event: init state
+On: 2011-11-04 15:26:36.604219 Event: Register Account to SIP server
+On: 2011-11-04 15:26:36.605000 Event: 100
+On: 2011-11-04 15:26:36.605084 Event: Caller Handler Ready
+On: 2011-11-04 15:26:41.614118 Event: CALL START
+On: 2011-11-04 15:26:41.614179 Event: Make a call to: 076120397898
+On: 2011-11-04 15:26:41.671071 Event: Call Connecting
+On: 2011-11-04 15:26:41.671121 Event: 200
+On: 2011-11-04 15:26:41.673829 Event: Terminate
+On: 2011-11-04 15:26:41.673888 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:45.601053 ------------------
+On: 2011-11-04 15:26:45.625913 Event: try to Connect to Controller
+On: 2011-11-04 15:26:46.733168 Event: init state
+On: 2011-11-04 15:26:46.733746 Event: Register Account to SIP server
+On: 2011-11-04 15:26:46.734348 Event: 100
+On: 2011-11-04 15:26:46.734438 Event: Caller Handler Ready
+On: 2011-11-04 15:26:51.742364 Event: CALL START
+On: 2011-11-04 15:26:51.742425 Event: Make a call to: 076145875681
+On: 2011-11-04 15:26:56.026486 Event: Call Connecting
+On: 2011-11-04 15:26:56.026536 Event: 200
+On: 2011-11-04 15:26:56.028159 Event: Terminate
+On: 2011-11-04 15:26:56.028209 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:27:08.104737 ------------------
+On: 2011-11-04 15:27:08.129540 Event: try to Connect to Controller
+On: 2011-11-04 15:27:09.310311 Event: init state
+On: 2011-11-04 15:27:09.310597 Event: Register Account to SIP server
+On: 2011-11-04 15:27:09.311016 Event: 100
+On: 2011-11-04 15:27:09.311102 Event: Receiver Handler Ready
+On: 2011-11-04 15:27:09.311358 Event: RECEIVE START
+On: 2011-11-04 15:27:11.255169 Event: {Call "455" <sip:455@132.230.4.8>}
+On: 2011-11-04 15:27:11.255664 Event: Call Connecting
+On: 2011-11-04 15:27:11.255704 Event: 200
+On: 2011-11-04 15:27:11.255951 Event: Answer call
+On: 2011-11-04 15:27:11.256003 Event: Hangup call
+On: 2011-11-04 15:27:11.256179 Event: CALL OK
+On: 2011-11-04 15:27:11.306863 Event: Call Disconnected
+On: 2011-11-04 15:27:12.615024 Event: Terminate
+On: 2011-11-04 15:27:12.615060 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:27:24.678882 ------------------
+On: 2011-11-04 15:27:24.699512 Event: try to Connect to Controller
+On: 2011-11-04 15:27:25.885426 Event: init state
+On: 2011-11-04 15:27:25.885695 Event: Register Account to SIP server
+On: 2011-11-04 15:27:25.886173 Event: 100
+On: 2011-11-04 15:27:25.886259 Event: Receiver Handler Ready
+On: 2011-11-04 15:27:25.886529 Event: RECEIVE START
+On: 2011-11-04 15:27:27.625734 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-04 15:27:27.626331 Event: Call Connecting
+On: 2011-11-04 15:27:27.626377 Event: 200
+On: 2011-11-04 15:27:27.626630 Event: Answer call
+On: 2011-11-04 15:27:27.626683 Event: Hangup call
+On: 2011-11-04 15:27:27.626858 Event: CALL OK
+On: 2011-11-04 15:27:27.677550 Event: Call Disconnected
+On: 2011-11-04 15:27:29.080508 Event: Terminate
+On: 2011-11-04 15:27:29.080553 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:27:35.007810 ------------------
+On: 2011-11-04 15:27:35.028568 Event: try to Connect to Controller
+On: 2011-11-04 15:27:36.260291 Event: init state
+On: 2011-11-04 15:27:36.260572 Event: Register Account to SIP server
+On: 2011-11-04 15:27:36.260996 Event: 100
+On: 2011-11-04 15:27:36.261082 Event: Receiver Handler Ready
+On: 2011-11-04 15:27:36.266025 Event: RECEIVE START
+On: 2011-11-04 15:27:38.051432 Event: {Call "449" <sip:449@132.230.4.8>}
+On: 2011-11-04 15:27:38.051936 Event: Call Connecting
+On: 2011-11-04 15:27:38.051977 Event: 200
+On: 2011-11-04 15:27:38.052240 Event: Answer call
+On: 2011-11-04 15:27:38.052295 Event: Hangup call
+On: 2011-11-04 15:27:38.052473 Event: CALL OK
+On: 2011-11-04 15:27:38.103183 Event: Call Disconnected
+On: 2011-11-04 15:27:39.422446 Event: Terminate
+On: 2011-11-04 15:27:39.422483 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:27:43.339278 ------------------
+On: 2011-11-04 15:27:43.363968 Event: try to Connect to Controller
+On: 2011-11-04 15:27:44.464994 Event: init state
+On: 2011-11-04 15:27:44.465223 Event: Register Account to SIP server
+On: 2011-11-04 15:27:44.465640 Event: 100
+On: 2011-11-04 15:27:44.465723 Event: Caller Handler Ready
+On: 2011-11-04 15:27:55.701441 Event: CALL START
+On: 2011-11-04 15:27:55.701508 Event: Make a call to: 07612034661455
+On: 2011-11-04 15:27:57.808493 Event: Call Connecting
+On: 2011-11-04 15:27:57.808542 Event: 200
+On: 2011-11-04 15:27:57.874814 Event: Terminate
+On: 2011-11-04 15:27:57.874847 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:28:01.793415 ------------------
+On: 2011-11-04 15:28:01.818346 Event: try to Connect to Controller
+On: 2011-11-04 15:28:02.927289 Event: init state
+On: 2011-11-04 15:28:02.927521 Event: Register Account to SIP server
+On: 2011-11-04 15:28:02.927941 Event: 100
+On: 2011-11-04 15:28:02.928025 Event: Caller Handler Ready
+On: 2011-11-04 15:28:14.158414 Event: CALL START
+On: 2011-11-04 15:28:14.158479 Event: Make a call to: 07612034661473
+On: 2011-11-04 15:28:15.704611 Event: Call Connecting
+On: 2011-11-04 15:28:15.704662 Event: 200
+On: 2011-11-04 15:28:15.754783 Event: Terminate
+On: 2011-11-04 15:28:15.754819 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:28:19.676048 ------------------
+On: 2011-11-04 15:28:19.696785 Event: try to Connect to Controller
+On: 2011-11-04 15:28:20.815051 Event: init state
+On: 2011-11-04 15:28:20.815284 Event: Register Account to SIP server
+On: 2011-11-04 15:28:20.816064 Event: 100
+On: 2011-11-04 15:28:20.816148 Event: Caller Handler Ready
+On: 2011-11-04 15:28:25.945825 Event: CALL START
+On: 2011-11-04 15:28:25.945885 Event: Make a call to: 07612034661449
+On: 2011-11-04 15:28:27.484954 Event: Call Connecting
+On: 2011-11-04 15:28:27.485002 Event: 200
+On: 2011-11-04 15:28:27.554504 Event: Terminate
+On: 2011-11-04 15:28:27.554540 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:26:00.206963 ------------------
+On: 2011-11-04 16:26:00.227155 Event: try to Connect to Controller
+On: 2011-11-04 16:26:01.542960 Event: init state
+On: 2011-11-04 16:26:01.543188 Event: Register Account to SIP server
+On: 2011-11-04 16:26:01.543591 Event: 100
+On: 2011-11-04 16:26:01.543672 Event: Receiver Handler Ready
+On: 2011-11-04 16:26:01.544010 Event: RECEIVE START
+On: 2011-11-04 16:26:06.833306 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
+On: 2011-11-04 16:26:06.833809 Event: Call Connecting
+On: 2011-11-04 16:26:06.833847 Event: 200
+On: 2011-11-04 16:26:06.834339 Event: Answer call
+On: 2011-11-04 16:26:06.834783 Event: Hangup call
+On: 2011-11-04 16:26:06.834986 Event: CALL OK
+On: 2011-11-04 16:26:06.885768 Event: Call Disconnected
+On: 2011-11-04 16:26:07.396914 Event: Terminate
+On: 2011-11-04 16:26:07.396948 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:26:11.067669 ------------------
+On: 2011-11-04 16:26:11.088092 Event: try to Connect to Controller
+On: 2011-11-04 16:26:12.445659 Event: init state
+On: 2011-11-04 16:26:12.445891 Event: Register Account to SIP server
+On: 2011-11-04 16:26:12.446342 Event: 100
+On: 2011-11-04 16:26:12.446422 Event: Caller Handler Ready
+On: 2011-11-04 16:26:17.452321 Event: CALL START
+On: 2011-11-04 16:26:17.452378 Event: Make a call to: 076120397898
+On: 2011-11-04 16:26:17.490549 Event: Call Connecting
+On: 2011-11-04 16:26:17.490596 Event: 200
+On: 2011-11-04 16:26:17.491670 Event: Terminate
+On: 2011-11-04 16:26:17.491704 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:38:32.465132 ------------------
+On: 2011-11-04 16:38:32.485169 Event: try to Connect to Controller
+On: 2011-11-04 16:38:33.843217 Event: init state
+On: 2011-11-04 16:38:33.843446 Event: Register Account to SIP server
+On: 2011-11-04 16:38:33.843854 Event: 100
+On: 2011-11-04 16:38:33.843932 Event: Caller Handler Ready
+On: 2011-11-04 16:38:38.851551 Event: CALL START
+On: 2011-11-04 16:38:38.851610 Event: Make a call to: 076120397898
+On: 2011-11-04 16:38:38.890383 Event: Call Connecting
+On: 2011-11-04 16:38:38.890430 Event: 200
+On: 2011-11-04 16:38:38.892226 Event: Terminate
+On: 2011-11-04 16:38:38.892277 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:46:38.791836 ------------------
+On: 2011-11-04 16:46:38.811985 Event: try to Connect to Controller
+On: 2011-11-04 16:46:40.172973 Event: init state
+On: 2011-11-04 16:46:40.173213 Event: Register Account to SIP server
+On: 2011-11-04 16:46:40.173627 Event: 100
+On: 2011-11-04 16:46:40.173705 Event: Caller Handler Ready
+On: 2011-11-04 16:46:45.301977 Event: CALL START
+On: 2011-11-04 16:46:45.302035 Event: Make a call to: 015782677224
+On: 2011-11-04 16:46:51.207147 Event: Call Connecting
+On: 2011-11-04 16:46:51.207193 Event: 200
+On: 2011-11-04 16:46:57.300231 Event: Terminate
+On: 2011-11-04 16:46:57.300271 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:00.963555 ------------------
+On: 2011-11-04 16:47:00.983680 Event: try to Connect to Controller
+On: 2011-11-04 16:47:02.344682 Event: init state
+On: 2011-11-04 16:47:02.344919 Event: Register Account to SIP server
+On: 2011-11-04 16:47:02.345327 Event: 100
+On: 2011-11-04 16:47:02.345406 Event: Caller Handler Ready
+On: 2011-11-04 16:47:07.469998 Event: CALL START
+On: 2011-11-04 16:47:07.470057 Event: Make a call to: 017678038038
+On: 2011-11-04 16:47:19.262901 Event: Call Connecting
+On: 2011-11-04 16:47:19.262946 Event: 200
+On: 2011-11-04 16:47:19.266213 Event: Terminate
+On: 2011-11-04 16:47:19.266267 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:22.927798 ------------------
+On: 2011-11-04 16:47:22.947965 Event: try to Connect to Controller
+On: 2011-11-04 16:47:24.309017 Event: init state
+On: 2011-11-04 16:47:24.309253 Event: Register Account to SIP server
+On: 2011-11-04 16:47:24.309662 Event: 100
+On: 2011-11-04 16:47:24.309742 Event: Caller Handler Ready
+On: 2011-11-04 16:47:29.437978 Event: CALL START
+On: 2011-11-04 16:47:29.438037 Event: Make a call to: 015128040906
+On: 2011-11-04 16:47:40.971841 Event: Call Connecting
+On: 2011-11-04 16:47:40.971886 Event: 200
+On: 2011-11-04 16:47:40.975773 Event: Terminate
+On: 2011-11-04 16:47:40.975827 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:47:44.636263 ------------------
+On: 2011-11-04 16:47:44.656666 Event: try to Connect to Controller
+On: 2011-11-04 16:47:46.017457 Event: init state
+On: 2011-11-04 16:47:46.017694 Event: Register Account to SIP server
+On: 2011-11-04 16:47:46.018151 Event: 100
+On: 2011-11-04 16:47:46.018232 Event: Caller Handler Ready
+On: 2011-11-04 16:47:51.139890 Event: CALL START
+On: 2011-11-04 16:47:51.139952 Event: Make a call to: 015252423662
+On: 2011-11-04 16:48:03.349368 Event: Call Connecting
+On: 2011-11-04 16:48:03.349414 Event: 200
+On: 2011-11-04 16:48:03.353364 Event: Terminate
+On: 2011-11-04 16:48:03.353418 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:48:07.028315 ------------------
+On: 2011-11-04 16:48:07.048555 Event: try to Connect to Controller
+On: 2011-11-04 16:48:08.403052 Event: init state
+On: 2011-11-04 16:48:08.403285 Event: Register Account to SIP server
+On: 2011-11-04 16:48:08.403697 Event: 100
+On: 2011-11-04 16:48:08.403775 Event: Caller Handler Ready
+On: 2011-11-04 16:48:19.648660 Event: CALL START
+On: 2011-11-04 16:48:19.648727 Event: Make a call to: 07612034661455
+On: 2011-11-04 16:48:19.651813 Event: Call Disconnected
+On: 2011-11-04 16:48:51.651478 Event: Terminate
+On: 2011-11-04 16:48:51.651526 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:48:55.328244 ------------------
+On: 2011-11-04 16:48:55.348285 Event: try to Connect to Controller
+On: 2011-11-04 16:48:56.705092 Event: init state
+On: 2011-11-04 16:48:56.705323 Event: Register Account to SIP server
+On: 2011-11-04 16:48:56.705732 Event: 100
+On: 2011-11-04 16:48:56.705812 Event: Caller Handler Ready
+On: 2011-11-04 16:49:01.712868 Event: CALL START
+On: 2011-11-04 16:49:01.712925 Event: Make a call to: 076120397898
+On: 2011-11-04 16:49:01.752870 Event: Call Connecting
+On: 2011-11-04 16:49:01.752917 Event: 200
+On: 2011-11-04 16:49:01.754749 Event: Terminate
+On: 2011-11-04 16:49:01.754803 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:49:05.429336 ------------------
+On: 2011-11-04 16:49:05.449575 Event: try to Connect to Controller
+On: 2011-11-04 16:49:06.803443 Event: init state
+On: 2011-11-04 16:49:06.803677 Event: Register Account to SIP server
+On: 2011-11-04 16:49:06.804088 Event: 100
+On: 2011-11-04 16:49:06.804166 Event: Caller Handler Ready
+On: 2011-11-04 16:49:18.009598 Event: CALL START
+On: 2011-11-04 16:49:18.009658 Event: Make a call to: 07612034661473
+On: 2011-11-04 16:49:18.050927 Event: Call Disconnected
+On: 2011-11-04 16:49:50.010610 Event: Terminate
+On: 2011-11-04 16:49:50.010660 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:49:53.690258 ------------------
+On: 2011-11-04 16:49:53.710293 Event: try to Connect to Controller
+On: 2011-11-04 16:49:55.065826 Event: init state
+On: 2011-11-04 16:49:55.066258 Event: Register Account to SIP server
+On: 2011-11-04 16:49:55.066681 Event: 100
+On: 2011-11-04 16:49:55.066761 Event: Caller Handler Ready
+On: 2011-11-04 16:50:00.193657 Event: CALL START
+On: 2011-11-04 16:50:00.193719 Event: Make a call to: 07612034661449
+On: 2011-11-04 16:50:00.216016 Event: Call Disconnected
+On: 2011-11-04 16:50:32.194887 Event: Terminate
+On: 2011-11-04 16:50:32.194941 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:50:35.875143 ------------------
+On: 2011-11-04 16:50:35.895577 Event: try to Connect to Controller
+On: 2011-11-04 16:50:37.246531 Event: init state
+On: 2011-11-04 16:50:37.246770 Event: Register Account to SIP server
+On: 2011-11-04 16:50:37.247182 Event: 100
+On: 2011-11-04 16:50:37.247260 Event: Caller Handler Ready
+On: 2011-11-04 16:50:42.348158 Event: CALL START
+On: 2011-11-04 16:50:42.348215 Event: Make a call to: 07612034661449
+On: 2011-11-04 16:50:42.401000 Event: Call Disconnected
+On: 2011-11-04 16:51:14.351012 Event: Terminate
+On: 2011-11-04 16:51:14.351066 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:51:18.028086 ------------------
+On: 2011-11-04 16:51:18.048363 Event: try to Connect to Controller
+On: 2011-11-04 16:51:19.389100 Event: init state
+On: 2011-11-04 16:51:19.389328 Event: Register Account to SIP server
+On: 2011-11-04 16:51:19.389741 Event: 100
+On: 2011-11-04 16:51:19.389820 Event: Caller Handler Ready
+On: 2011-11-04 16:51:30.625182 Event: CALL START
+On: 2011-11-04 16:51:30.625248 Event: Make a call to: 07612034661473
+On: 2011-11-04 16:51:30.648416 Event: Call Disconnected
+On: 2011-11-04 16:52:02.626610 Event: Terminate
+On: 2011-11-04 16:52:02.626660 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:52:06.305977 ------------------
+On: 2011-11-04 16:52:06.326605 Event: try to Connect to Controller
+On: 2011-11-04 16:52:07.679886 Event: init state
+On: 2011-11-04 16:52:07.680119 Event: Register Account to SIP server
+On: 2011-11-04 16:52:07.680534 Event: 100
+On: 2011-11-04 16:52:07.680613 Event: Caller Handler Ready
+On: 2011-11-04 16:52:12.689789 Event: CALL START
+On: 2011-11-04 16:52:12.689846 Event: Make a call to: 076145875681
+On: 2011-11-04 16:52:20.669498 Event: Call Connecting
+On: 2011-11-04 16:52:20.669545 Event: 200
+On: 2011-11-04 16:52:20.671256 Event: Terminate
+On: 2011-11-04 16:52:20.671307 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:36:15.477314 ------------------
+On: 2011-11-05 00:36:15.497549 Event: try to Connect to Controller
+On: 2011-11-05 00:36:16.854586 Event: init state
+On: 2011-11-05 00:36:16.854817 Event: Register Account to SIP server
+On: 2011-11-05 00:36:16.855227 Event: 100
+On: 2011-11-05 00:36:16.855304 Event: Caller Handler Ready
+On: 2011-11-05 00:36:21.981525 Event: CALL START
+On: 2011-11-05 00:36:21.981586 Event: Make a call to: 07612034661449
+On: 2011-11-05 00:36:24.050119 Event: Call Connecting
+On: 2011-11-05 00:36:24.050166 Event: 200
+On: 2011-11-05 00:36:24.082533 Event: Terminate
+On: 2011-11-05 00:36:24.082567 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:37:41.203443 ------------------
+On: 2011-11-05 00:37:41.223663 Event: try to Connect to Controller
+On: 2011-11-05 00:37:42.567175 Event: init state
+On: 2011-11-05 00:37:42.567414 Event: Register Account to SIP server
+On: 2011-11-05 00:37:42.567828 Event: 100
+On: 2011-11-05 00:37:42.567909 Event: Caller Handler Ready
+On: 2011-11-05 00:37:47.696509 Event: CALL START
+On: 2011-11-05 00:37:47.696571 Event: Make a call to: 07612034661449
+On: 2011-11-05 00:37:49.978461 Event: Call Connecting
+On: 2011-11-05 00:37:49.978508 Event: 200
+On: 2011-11-05 00:37:50.026460 Event: Terminate
+On: 2011-11-05 00:37:50.026495 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 12:03:38.252284 ------------------
+On: 2011-11-09 12:03:38.272554 Event: try to Connect to Controller
+On: 2011-11-09 12:03:39.611153 Event: init state
+On: 2011-11-09 12:03:39.611385 Event: Register Account to SIP server
+On: 2011-11-09 12:03:39.611790 Event: 100
+On: 2011-11-09 12:03:39.611868 Event: Caller Handler Ready
+On: 2011-11-09 12:03:46.631899 Event: Terminate
+On: 2011-11-09 12:03:46.631933 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 12:05:09.683636 ------------------
+On: 2011-11-09 12:05:09.703714 Event: try to Connect to Controller
+On: 2011-11-09 12:05:11.053142 Event: init state
+On: 2011-11-09 12:05:11.053368 Event: Register Account to SIP server
+On: 2011-11-09 12:05:11.053776 Event: 100
+On: 2011-11-09 12:05:11.053855 Event: Receiver Handler Ready
+On: 2011-11-09 12:05:11.054284 Event: RECEIVE START
+On: 2011-11-09 12:05:13.187849 Event: {Call "473" <sip:473@132.230.4.8>}
+On: 2011-11-09 12:05:13.188336 Event: Call Connecting
+On: 2011-11-09 12:05:13.188375 Event: 200
+On: 2011-11-09 12:05:13.188616 Event: Answer call
+On: 2011-11-09 12:05:13.188668 Event: Hangup call
+On: 2011-11-09 12:05:13.188838 Event: CALL OK
+On: 2011-11-09 12:05:13.239516 Event: Call Disconnected
+On: 2011-11-09 12:05:14.639645 Event: Terminate
+On: 2011-11-09 12:05:14.639690 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:07:40.935662 ------------------
+On: 2011-11-09 15:07:40.959409 Event: try to Connect to Controller
+On: 2011-11-09 15:07:42.077729 Event: init state
+On: 2011-11-09 15:07:42.078011 Event: Register Account to SIP server
+On: 2011-11-09 15:07:42.078443 Event: 100
+On: 2011-11-09 15:07:42.078529 Event: Caller Handler Ready
+On: 2011-11-09 15:07:47.205638 Event: CALL START
+On: 2011-11-09 15:07:47.205698 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:07:49.519951 Event: Call Connecting
+On: 2011-11-09 15:07:49.520002 Event: 200
+On: 2011-11-09 15:07:49.598476 Event: Terminate
+On: 2011-11-09 15:07:49.598512 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:07:53.498472 ------------------
+On: 2011-11-09 15:07:53.518836 Event: try to Connect to Controller
+On: 2011-11-09 15:07:54.750586 Event: init state
+On: 2011-11-09 15:07:54.750876 Event: Register Account to SIP server
+On: 2011-11-09 15:07:54.751305 Event: 100
+On: 2011-11-09 15:07:54.751388 Event: Caller Handler Ready
+On: 2011-11-09 15:07:59.875227 Event: CALL START
+On: 2011-11-09 15:07:59.875285 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:08:02.490443 Event: Call Connecting
+On: 2011-11-09 15:08:02.490494 Event: 200
+On: 2011-11-09 15:08:02.558473 Event: Terminate
+On: 2011-11-09 15:08:02.558509 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:06.340531 ------------------
+On: 2011-11-09 15:08:06.360794 Event: try to Connect to Controller
+On: 2011-11-09 15:08:07.610096 Event: init state
+On: 2011-11-09 15:08:07.610339 Event: Register Account to SIP server
+On: 2011-11-09 15:08:07.610775 Event: 100
+On: 2011-11-09 15:08:07.610863 Event: Caller Handler Ready
+On: 2011-11-09 15:08:12.741181 Event: CALL START
+On: 2011-11-09 15:08:12.741245 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:08:15.427886 Event: Call Connecting
+On: 2011-11-09 15:08:15.427935 Event: 200
+On: 2011-11-09 15:08:15.498510 Event: Terminate
+On: 2011-11-09 15:08:15.498545 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:19.298915 ------------------
+On: 2011-11-09 15:08:19.323269 Event: try to Connect to Controller
+On: 2011-11-09 15:08:20.560266 Event: init state
+On: 2011-11-09 15:08:20.560576 Event: Register Account to SIP server
+On: 2011-11-09 15:08:20.560998 Event: 100
+On: 2011-11-09 15:08:20.561085 Event: Caller Handler Ready
+On: 2011-11-09 15:08:25.690001 Event: CALL START
+On: 2011-11-09 15:08:25.690063 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:08:28.397007 Event: Call Connecting
+On: 2011-11-09 15:08:28.397056 Event: 200
+On: 2011-11-09 15:08:28.480823 Event: Terminate
+On: 2011-11-09 15:08:28.480859 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:08:32.280924 ------------------
+On: 2011-11-09 15:08:32.305272 Event: try to Connect to Controller
+On: 2011-11-09 15:08:33.537239 Event: init state
+On: 2011-11-09 15:08:33.537471 Event: Register Account to SIP server
+On: 2011-11-09 15:08:33.537901 Event: 100
+On: 2011-11-09 15:08:33.538049 Event: Caller Handler Ready
+On: 2011-11-09 15:08:38.660315 Event: CALL START
+On: 2011-11-09 15:08:38.660376 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:08:41.325173 Event: Call Connecting
+On: 2011-11-09 15:08:41.325223 Event: 200
+On: 2011-11-09 15:08:41.378524 Event: Terminate
+On: 2011-11-09 15:08:41.378557 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:47:01.553697 ------------------
+On: 2011-11-09 15:47:01.574428 Event: try to Connect to Controller
+On: 2011-11-09 15:47:02.669099 Event: init state
+On: 2011-11-09 15:47:02.669340 Event: Register Account to SIP server
+On: 2011-11-09 15:47:02.669757 Event: 100
+On: 2011-11-09 15:47:02.669842 Event: Caller Handler Ready
+On: 2011-11-09 15:47:07.801648 Event: CALL START
+On: 2011-11-09 15:47:07.801709 Event: Make a call to: 07612034661449
+On: 2011-11-09 15:47:10.491571 Event: Call Connecting
+On: 2011-11-09 15:47:10.491618 Event: 200
+On: 2011-11-09 15:47:10.562483 Event: Terminate
+On: 2011-11-09 15:47:10.562517 Event: Goodbye
diff --git a/For Weekly Test/tricode/SIPHandler.py b/Code/Server-Code/SIPHandler.py
index a2f29c1..a2f29c1 100755
--- a/For Weekly Test/tricode/SIPHandler.py
+++ b/Code/Server-Code/SIPHandler.py
diff --git a/For Weekly Test/tricode/SSHTunnelBoxClass.py b/Code/Server-Code/SSHTunnelBoxClass.py
index 49f6251..49f6251 100755
--- a/For Weekly Test/tricode/SSHTunnelBoxClass.py
+++ b/Code/Server-Code/SSHTunnelBoxClass.py
diff --git a/For Weekly Test/tricode/SSHTunnelBoxClass.pyc b/Code/Server-Code/SSHTunnelBoxClass.pyc
index d2f1115..d2f1115 100644
--- a/For Weekly Test/tricode/SSHTunnelBoxClass.pyc
+++ b/Code/Server-Code/SSHTunnelBoxClass.pyc
Binary files differ
diff --git a/For Weekly Test/12-09-2011/ServerClass.py b/Code/Server-Code/ServerClass.py
index 93c2f8e..93c2f8e 100644..100755
--- a/For Weekly Test/12-09-2011/ServerClass.py
+++ b/Code/Server-Code/ServerClass.py
diff --git a/For Weekly Test/tricode/ServerClass.pyc b/Code/Server-Code/ServerClass.pyc
index f935ede..f935ede 100644
--- a/For Weekly Test/tricode/ServerClass.pyc
+++ b/Code/Server-Code/ServerClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/ServerClassSoftware.py b/Code/Server-Code/ServerClassSoftware.py
index 206411e..206411e 100644
--- a/For Weekly Test/tricode/ServerClassSoftware.py
+++ b/Code/Server-Code/ServerClassSoftware.py
diff --git a/For Weekly Test/tricode/ServerClassSoftware.pyc b/Code/Server-Code/ServerClassSoftware.pyc
index 663c1bd..663c1bd 100644
--- a/For Weekly Test/tricode/ServerClassSoftware.pyc
+++ b/Code/Server-Code/ServerClassSoftware.pyc
Binary files differ
diff --git a/Code/Server-Code/TestProcessLog.log b/Code/Server-Code/TestProcessLog.log
new file mode 100644
index 0000000..dc9e7a1
--- /dev/null
+++ b/Code/Server-Code/TestProcessLog.log
@@ -0,0 +1,5589 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:40:51.683249 ------------------
+On: 2011-11-03 14:40:51.683321 Event: init Caller
+On: 2011-11-03 14:40:51.683346 Event: unisip
+On: 2011-11-03 14:40:53.685621 Event: Caller Greeting
+On: 2011-11-03 14:40:53.686671 Event: Connected to Caller Handler
+On: 2011-11-03 14:40:53.686961 Event: Caller Handler respond
+On: 2011-11-03 14:40:53.687731 Event: Caller handler : Ready
+On: 2011-11-03 14:40:53.687771 Event: init Receiver
+On: 2011-11-03 14:40:53.687801 Event: GSMRZ1
+On: 2011-11-03 14:40:53.687855 Event: Init GSM
+On: 2011-11-03 14:40:55.692701 Event: Receiver Greeting
+On: 2011-11-03 14:40:55.695184 Event: Connected to Receiver Handler
+On: 2011-11-03 14:40:55.834161 Event: Receiver Handler respond
+On: 2011-11-03 14:40:55.834448 Event: Receiver handler : Ready
+On: 2011-11-03 14:40:55.834478 Event: Start Call
+On: 2011-11-03 14:40:55.834532 Event: Waiting Feedback
+On: 2011-11-03 14:41:00.682131 Event: Test Succeed
+On: 2011-11-03 14:41:00.682187 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:41:00.682345 Event: init Cancel test
+On: 2011-11-03 14:41:03.727478 Event: -- -X- --
+On: 2011-11-03 14:41:03.727539 Event: init Caller
+On: 2011-11-03 14:41:03.727558 Event: GSMRZ2
+On: 2011-11-03 14:41:11.734022 Event: Caller Greeting
+On: 2011-11-03 14:41:11.734603 Event: Connected to Caller Handler
+On: 2011-11-03 14:41:11.949674 Event: Caller Handler respond
+On: 2011-11-03 14:41:11.951939 Event: Caller handler : Ready
+On: 2011-11-03 14:41:11.951977 Event: init Receiver
+On: 2011-11-03 14:41:11.951998 Event: GSMExt.Tm
+On: 2011-11-03 14:41:11.952054 Event: Init GSM
+On: 2011-11-03 14:41:13.954325 Event: Receiver Greeting
+On: 2011-11-03 14:41:13.956889 Event: Connected to Receiver Handler
+On: 2011-11-03 14:41:14.074140 Event: Receiver Handler respond
+On: 2011-11-03 14:41:14.074432 Event: Receiver handler : Ready
+On: 2011-11-03 14:41:14.074465 Event: Start Call
+On: 2011-11-03 14:41:14.074618 Event: Waiting Feedback
+On: 2011-11-03 14:41:28.910720 Event: Test Failed
+On: 2011-11-03 14:41:28.910782 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:41:28.914536 Event: init Cancel test
+On: 2011-11-03 14:41:31.964617 Event: -- -X- --
+On: 2011-11-03 14:41:31.964681 Event: init Caller
+On: 2011-11-03 14:41:31.964699 Event: landline
+On: 2011-11-03 14:41:33.968903 Event: Caller Greeting
+On: 2011-11-03 14:41:33.969729 Event: Connected to Caller Handler
+On: 2011-11-03 14:41:33.970059 Event: Caller Handler respond
+On: 2011-11-03 14:41:33.972874 Event: Caller handler : Ready
+On: 2011-11-03 14:41:33.972912 Event: init Receiver
+On: 2011-11-03 14:41:33.972932 Event: GSMRZ3
+On: 2011-11-03 14:41:41.982027 Event: Receiver Greeting
+On: 2011-11-03 14:41:41.982606 Event: Connected to Receiver Handler
+On: 2011-11-03 14:41:42.214095 Event: Receiver Handler respond
+On: 2011-11-03 14:41:42.216815 Event: Receiver handler : Ready
+On: 2011-11-03 14:41:42.216880 Event: Start Call
+On: 2011-11-03 14:41:42.216954 Event: Waiting Feedback
+On: 2011-11-03 14:41:50.024463 Event: Test Succeed
+On: 2011-11-03 14:41:50.024520 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:41:50.024712 Event: init Cancel test
+On: 2011-11-03 14:41:53.074487 Event: -- -X- --
+On: 2011-11-03 14:41:53.074546 Event: init Caller
+On: 2011-11-03 14:41:53.074564 Event: sip
+On: 2011-11-03 14:41:55.078676 Event: Caller Greeting
+On: 2011-11-03 14:41:55.079516 Event: Connected to Caller Handler
+On: 2011-11-03 14:41:55.079795 Event: Caller Handler respond
+On: 2011-11-03 14:41:55.080916 Event: Caller handler : Ready
+On: 2011-11-03 14:41:55.080949 Event: init Receiver
+On: 2011-11-03 14:41:55.080969 Event: GSMExt.Eplus
+On: 2011-11-03 14:41:55.081022 Event: Init GSM
+On: 2011-11-03 14:41:57.085375 Event: Receiver Greeting
+On: 2011-11-03 14:41:57.087987 Event: Connected to Receiver Handler
+On: 2011-11-03 14:41:57.212130 Event: Receiver Handler respond
+On: 2011-11-03 14:41:57.212421 Event: Receiver handler : Ready
+On: 2011-11-03 14:41:57.212451 Event: Start Call
+On: 2011-11-03 14:41:57.212506 Event: Waiting Feedback
+On: 2011-11-03 14:42:12.212926 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 14:42:12.213064 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:42:12.213224 Event: init Cancel test
+On: 2011-11-03 14:42:15.256326 Event: -- -X- --
+On: 2011-11-03 14:42:15.256384 Event: init Caller
+On: 2011-11-03 14:42:15.256402 Event: sip
+On: 2011-11-03 14:42:17.260565 Event: Caller Greeting
+On: 2011-11-03 14:42:17.261404 Event: Connected to Caller Handler
+On: 2011-11-03 14:42:17.261681 Event: Caller Handler respond
+On: 2011-11-03 14:42:17.263276 Event: Caller handler : Ready
+On: 2011-11-03 14:42:17.263338 Event: init Receiver
+On: 2011-11-03 14:42:17.263359 Event: GSMExt.O2
+On: 2011-11-03 14:42:17.263414 Event: Init GSM
+On: 2011-11-03 14:42:19.266027 Event: Receiver Greeting
+On: 2011-11-03 14:42:19.268579 Event: Connected to Receiver Handler
+On: 2011-11-03 14:42:19.390144 Event: Receiver Handler respond
+On: 2011-11-03 14:42:19.390439 Event: Receiver handler : Ready
+On: 2011-11-03 14:42:19.390473 Event: Start Call
+On: 2011-11-03 14:42:19.390525 Event: Waiting Feedback
+On: 2011-11-03 14:42:33.033253 Event: Test Succeed
+On: 2011-11-03 14:42:33.033315 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:42:33.033447 Event: init Cancel test
+On: 2011-11-03 14:42:36.101359 Event: -- -X- --
+On: 2011-11-03 14:42:36.101415 Event: init Caller
+On: 2011-11-03 14:42:36.101433 Event: sip
+On: 2011-11-03 14:42:38.106047 Event: Caller Greeting
+On: 2011-11-03 14:42:38.106888 Event: Connected to Caller Handler
+On: 2011-11-03 14:42:38.107166 Event: Caller Handler respond
+On: 2011-11-03 14:42:38.108288 Event: Caller handler : Ready
+On: 2011-11-03 14:42:38.108327 Event: init Receiver
+On: 2011-11-03 14:42:38.108346 Event: GSMExt.Voda
+On: 2011-11-03 14:42:38.108400 Event: Init GSM
+On: 2011-11-03 14:42:40.116749 Event: Receiver Greeting
+On: 2011-11-03 14:42:40.119330 Event: Connected to Receiver Handler
+On: 2011-11-03 14:42:40.242210 Event: Receiver Handler respond
+On: 2011-11-03 14:42:40.242504 Event: Receiver handler : Ready
+On: 2011-11-03 14:42:40.242536 Event: Start Call
+On: 2011-11-03 14:42:40.242591 Event: Waiting Feedback
+On: 2011-11-03 14:42:54.651984 Event: Test Succeed
+On: 2011-11-03 14:42:54.652043 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:42:54.652176 Event: init Cancel test
+On: 2011-11-03 14:42:57.747874 Event: -- -X- --
+On: 2011-11-03 14:42:57.747934 Event: init Caller
+On: 2011-11-03 14:42:57.747953 Event: sip
+On: 2011-11-03 14:42:59.752172 Event: Caller Greeting
+On: 2011-11-03 14:42:59.753019 Event: Connected to Caller Handler
+On: 2011-11-03 14:42:59.753295 Event: Caller Handler respond
+On: 2011-11-03 14:42:59.754205 Event: Caller handler : Ready
+On: 2011-11-03 14:42:59.754255 Event: init Receiver
+On: 2011-11-03 14:42:59.754276 Event: GSMExt.Tm
+On: 2011-11-03 14:42:59.754328 Event: Init GSM
+On: 2011-11-03 14:43:01.758025 Event: Receiver Greeting
+On: 2011-11-03 14:43:01.761091 Event: Connected to Receiver Handler
+On: 2011-11-03 14:43:01.882140 Event: Receiver Handler respond
+On: 2011-11-03 14:43:01.882461 Event: Receiver handler : Ready
+On: 2011-11-03 14:43:01.882492 Event: Start Call
+On: 2011-11-03 14:43:01.882548 Event: Waiting Feedback
+On: 2011-11-03 14:43:16.882955 Event: Test Failed
+On: 2011-11-03 14:43:16.883012 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:43:16.883147 Event: init Cancel test
+On: 2011-11-03 14:43:19.920866 Event: -- -X- --
+On: 2011-11-03 14:43:19.920928 Event: init Caller
+On: 2011-11-03 14:43:19.920946 Event: sip
+On: 2011-11-03 14:43:21.924206 Event: Caller Greeting
+On: 2011-11-03 14:43:21.925050 Event: Connected to Caller Handler
+On: 2011-11-03 14:43:21.926214 Event: Caller Handler respond
+On: 2011-11-03 14:43:21.926992 Event: Caller handler : Ready
+On: 2011-11-03 14:43:21.927029 Event: init Receiver
+On: 2011-11-03 14:43:21.927048 Event: GSMRZ2
+On: 2011-11-03 14:43:29.934292 Event: Receiver Greeting
+On: 2011-11-03 14:43:29.934934 Event: Connected to Receiver Handler
+On: 2011-11-03 14:43:30.151152 Event: Receiver Handler respond
+On: 2011-11-03 14:43:30.153249 Event: Receiver handler : Ready
+On: 2011-11-03 14:43:30.153317 Event: Start Call
+On: 2011-11-03 14:43:30.153390 Event: Waiting Feedback
+On: 2011-11-03 14:43:34.838682 Event: Test Succeed
+On: 2011-11-03 14:43:34.838805 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:43:34.838988 Event: init Cancel test
+On: 2011-11-03 14:43:37.908891 Event: -- -X- --
+On: 2011-11-03 14:43:37.908952 Event: init Caller
+On: 2011-11-03 14:43:37.908971 Event: sip
+On: 2011-11-03 14:43:39.912401 Event: Caller Greeting
+On: 2011-11-03 14:43:39.913255 Event: Connected to Caller Handler
+On: 2011-11-03 14:43:39.913538 Event: Caller Handler respond
+On: 2011-11-03 14:43:39.914847 Event: Caller handler : Ready
+On: 2011-11-03 14:43:39.914892 Event: init Receiver
+On: 2011-11-03 14:43:39.914912 Event: GSMRZ2
+On: 2011-11-03 14:43:47.924074 Event: Receiver Greeting
+On: 2011-11-03 14:43:47.924631 Event: Connected to Receiver Handler
+On: 2011-11-03 14:43:48.112910 Event: Receiver Handler respond
+On: 2011-11-03 14:43:48.115247 Event: Receiver handler : Ready
+On: 2011-11-03 14:43:48.115286 Event: Start Call
+On: 2011-11-03 14:43:48.115349 Event: Waiting Feedback
+On: 2011-11-03 14:43:53.683085 Event: Test Succeed
+On: 2011-11-03 14:43:53.683148 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:43:53.683330 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:46:54.142974 ------------------
+On: 2011-11-03 14:46:54.143051 Event: init Caller
+On: 2011-11-03 14:46:54.143072 Event: sip
+On: 2011-11-03 14:46:56.157111 Event: Caller Greeting
+On: 2011-11-03 14:46:56.158250 Event: Connected to Caller Handler
+On: 2011-11-03 14:46:56.158546 Event: Caller Handler respond
+On: 2011-11-03 14:46:56.159669 Event: Caller handler : Ready
+On: 2011-11-03 14:46:56.159704 Event: init Receiver
+On: 2011-11-03 14:46:56.159724 Event: unisip
+On: 2011-11-03 14:46:58.162772 Event: Receiver Greeting
+On: 2011-11-03 14:46:58.163621 Event: Connected to Receiver Handler
+On: 2011-11-03 14:46:58.163995 Event: Receiver Handler respond
+On: 2011-11-03 14:46:58.164785 Event: Receiver handler : Ready
+On: 2011-11-03 14:46:58.164824 Event: Start Call
+On: 2011-11-03 14:46:58.164882 Event: Waiting Feedback
+On: 2011-11-03 14:47:01.234614 Event: Test Succeed
+On: 2011-11-03 14:47:01.234649 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:47:01.234796 Event: init Cancel test
+On: 2011-11-03 14:47:04.298398 Event: -- -X- --
+On: 2011-11-03 14:47:04.298470 Event: init Caller
+On: 2011-11-03 14:47:04.298489 Event: GSMRZ1
+On: 2011-11-03 14:47:04.298536 Event: Init GSM
+On: 2011-11-03 14:47:06.302617 Event: Caller Greeting
+On: 2011-11-03 14:47:06.305129 Event: Connected to Caller Handler
+On: 2011-11-03 14:47:06.422225 Event: Caller Handler respond
+On: 2011-11-03 14:47:06.422533 Event: Caller handler : Ready
+On: 2011-11-03 14:47:06.422566 Event: init Receiver
+On: 2011-11-03 14:47:06.422586 Event: GSMExt.Tm
+On: 2011-11-03 14:47:06.422637 Event: Init GSM
+On: 2011-11-03 14:47:08.426033 Event: Receiver Greeting
+On: 2011-11-03 14:47:08.428529 Event: Connected to Receiver Handler
+On: 2011-11-03 14:47:08.546136 Event: Receiver Handler respond
+On: 2011-11-03 14:47:08.546429 Event: Receiver handler : Ready
+On: 2011-11-03 14:47:08.546461 Event: Start Call
+On: 2011-11-03 14:47:08.546513 Event: Waiting Feedback
+On: 2011-11-03 14:47:21.658134 Event: Test Succeed
+On: 2011-11-03 14:47:21.658187 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:47:21.658325 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:48:21.526421 ------------------
+On: 2011-11-03 14:48:21.526496 Event: init Caller
+On: 2011-11-03 14:48:21.526521 Event: unisip
+On: 2011-11-03 14:48:23.530054 Event: Caller Greeting
+On: 2011-11-03 14:48:23.531035 Event: Connected to Caller Handler
+On: 2011-11-03 14:48:23.531326 Event: Caller Handler respond
+On: 2011-11-03 14:48:23.532442 Event: Caller handler : Ready
+On: 2011-11-03 14:48:23.532482 Event: init Receiver
+On: 2011-11-03 14:48:23.532502 Event: GSMRZ3
+On: 2011-11-03 14:48:31.544080 Event: Receiver Greeting
+On: 2011-11-03 14:48:31.544691 Event: Connected to Receiver Handler
+On: 2011-11-03 14:48:31.740472 Event: Receiver Handler respond
+On: 2011-11-03 14:48:31.743058 Event: Receiver handler : Ready
+On: 2011-11-03 14:48:31.743097 Event: Start Call
+On: 2011-11-03 14:48:31.743155 Event: Waiting Feedback
+On: 2011-11-03 14:48:36.872903 Event: Test Succeed
+On: 2011-11-03 14:48:36.872963 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:48:36.873168 Event: init Cancel test
+On: 2011-11-03 14:48:39.921525 Event: -- -X- --
+On: 2011-11-03 14:48:39.921591 Event: init Caller
+On: 2011-11-03 14:48:39.921610 Event: GSMRZ1
+On: 2011-11-03 14:48:39.921659 Event: Init GSM
+On: 2011-11-03 14:48:41.925914 Event: Caller Greeting
+On: 2011-11-03 14:48:41.928498 Event: Connected to Caller Handler
+On: 2011-11-03 14:48:42.066134 Event: Caller Handler respond
+On: 2011-11-03 14:48:42.066432 Event: Caller handler : Ready
+On: 2011-11-03 14:48:42.066465 Event: init Receiver
+On: 2011-11-03 14:48:42.066486 Event: GSMExt.Tm
+On: 2011-11-03 14:48:42.066538 Event: Init GSM
+On: 2011-11-03 14:48:44.070647 Event: Receiver Greeting
+On: 2011-11-03 14:48:44.073157 Event: Connected to Receiver Handler
+On: 2011-11-03 14:48:44.186136 Event: Receiver Handler respond
+On: 2011-11-03 14:48:44.186427 Event: Receiver handler : Ready
+On: 2011-11-03 14:48:44.186460 Event: Start Call
+On: 2011-11-03 14:48:44.186513 Event: Waiting Feedback
+On: 2011-11-03 14:48:55.274153 Event: Test Succeed
+On: 2011-11-03 14:48:55.274209 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:48:55.274350 Event: init Cancel test
+On: 2011-11-03 14:48:58.324281 Event: -- -X- --
+On: 2011-11-03 14:48:58.324347 Event: init Caller
+On: 2011-11-03 14:48:58.324365 Event: landline
+On: 2011-11-03 14:49:00.328517 Event: Caller Greeting
+On: 2011-11-03 14:49:00.329363 Event: Connected to Caller Handler
+On: 2011-11-03 14:49:00.329646 Event: Caller Handler respond
+On: 2011-11-03 14:49:00.333538 Event: Caller handler : Ready
+On: 2011-11-03 14:49:00.333576 Event: init Receiver
+On: 2011-11-03 14:49:00.333597 Event: GSMRZ2
+On: 2011-11-03 14:49:08.338011 Event: Receiver Greeting
+On: 2011-11-03 14:49:08.338583 Event: Connected to Receiver Handler
+On: 2011-11-03 14:49:08.549387 Event: Receiver Handler respond
+On: 2011-11-03 14:49:08.551768 Event: Receiver handler : Ready
+On: 2011-11-03 14:49:08.551834 Event: Start Call
+On: 2011-11-03 14:49:08.551906 Event: Waiting Feedback
+On: 2011-11-03 14:49:16.862846 Event: Test Succeed
+On: 2011-11-03 14:49:16.862881 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:49:16.863062 Event: init Cancel test
+On: 2011-11-03 14:49:19.909288 Event: -- -X- --
+On: 2011-11-03 14:49:19.909351 Event: init Caller
+On: 2011-11-03 14:49:19.909369 Event: sip
+On: 2011-11-03 14:49:21.913567 Event: Caller Greeting
+On: 2011-11-03 14:49:21.914446 Event: Connected to Caller Handler
+On: 2011-11-03 14:49:21.914724 Event: Caller Handler respond
+On: 2011-11-03 14:49:21.915490 Event: Caller handler : Ready
+On: 2011-11-03 14:49:21.915528 Event: init Receiver
+On: 2011-11-03 14:49:21.915548 Event: GSMExt.Eplus
+On: 2011-11-03 14:49:21.915599 Event: Init GSM
+On: 2011-11-03 14:49:23.918009 Event: Receiver Greeting
+On: 2011-11-03 14:49:23.920816 Event: Connected to Receiver Handler
+On: 2011-11-03 14:49:24.042160 Event: Receiver Handler respond
+On: 2011-11-03 14:49:24.042460 Event: Receiver handler : Ready
+On: 2011-11-03 14:49:24.042491 Event: Start Call
+On: 2011-11-03 14:49:24.042546 Event: Waiting Feedback
+On: 2011-11-03 14:49:39.042996 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 14:49:39.043130 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:49:39.043287 Event: init Cancel test
+On: 2011-11-03 14:49:42.085321 Event: -- -X- --
+On: 2011-11-03 14:49:42.085383 Event: init Caller
+On: 2011-11-03 14:49:42.085402 Event: sip
+On: 2011-11-03 14:49:44.090014 Event: Caller Greeting
+On: 2011-11-03 14:49:44.090853 Event: Connected to Caller Handler
+On: 2011-11-03 14:49:44.091140 Event: Caller Handler respond
+On: 2011-11-03 14:49:44.091905 Event: Caller handler : Ready
+On: 2011-11-03 14:49:44.091941 Event: init Receiver
+On: 2011-11-03 14:49:44.091961 Event: GSMExt.O2
+On: 2011-11-03 14:49:44.092013 Event: Init GSM
+On: 2011-11-03 14:49:46.096311 Event: Receiver Greeting
+On: 2011-11-03 14:49:46.098576 Event: Connected to Receiver Handler
+On: 2011-11-03 14:49:46.210235 Event: Receiver Handler respond
+On: 2011-11-03 14:49:46.210532 Event: Receiver handler : Ready
+On: 2011-11-03 14:49:46.210565 Event: Start Call
+On: 2011-11-03 14:49:46.210618 Event: Waiting Feedback
+On: 2011-11-03 14:49:59.104934 Event: Test Succeed
+On: 2011-11-03 14:49:59.104992 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:49:59.105132 Event: init Cancel test
+On: 2011-11-03 14:50:02.148225 Event: -- -X- --
+On: 2011-11-03 14:50:02.148287 Event: init Caller
+On: 2011-11-03 14:50:02.148305 Event: sip
+On: 2011-11-03 14:50:04.152539 Event: Caller Greeting
+On: 2011-11-03 14:50:04.153381 Event: Connected to Caller Handler
+On: 2011-11-03 14:50:04.153658 Event: Caller Handler respond
+On: 2011-11-03 14:50:04.154918 Event: Caller handler : Ready
+On: 2011-11-03 14:50:04.154988 Event: init Receiver
+On: 2011-11-03 14:50:04.155009 Event: GSMExt.Voda
+On: 2011-11-03 14:50:04.155062 Event: Init GSM
+On: 2011-11-03 14:50:06.158279 Event: Receiver Greeting
+On: 2011-11-03 14:50:06.160806 Event: Connected to Receiver Handler
+On: 2011-11-03 14:50:06.282136 Event: Receiver Handler respond
+On: 2011-11-03 14:50:06.282432 Event: Receiver handler : Ready
+On: 2011-11-03 14:50:06.282464 Event: Start Call
+On: 2011-11-03 14:50:06.282518 Event: Waiting Feedback
+On: 2011-11-03 14:50:19.268691 Event: Test Succeed
+On: 2011-11-03 14:50:19.268746 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:50:19.268883 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:52:35.438429 ------------------
+On: 2011-11-03 14:52:35.438513 Event: init Caller
+On: 2011-11-03 14:52:35.438537 Event: GSMRZ1
+On: 2011-11-03 14:52:35.438595 Event: Init GSM
+On: 2011-11-03 14:52:37.442718 Event: Caller Greeting
+On: 2011-11-03 14:52:37.445498 Event: Connected to Caller Handler
+On: 2011-11-03 14:52:37.590132 Event: Caller Handler respond
+On: 2011-11-03 14:52:37.590429 Event: Caller handler : Ready
+On: 2011-11-03 14:52:37.590461 Event: init Receiver
+On: 2011-11-03 14:52:37.590481 Event: GSMExt.Tm
+On: 2011-11-03 14:52:37.590534 Event: Init GSM
+On: 2011-11-03 14:52:39.594682 Event: Receiver Greeting
+On: 2011-11-03 14:52:39.597232 Event: Connected to Receiver Handler
+On: 2011-11-03 14:52:39.694208 Event: Receiver Handler respond
+On: 2011-11-03 14:52:39.694503 Event: Receiver handler : Ready
+On: 2011-11-03 14:52:39.694533 Event: Start Call
+On: 2011-11-03 14:52:39.694586 Event: Waiting Feedback
+On: 2011-11-03 14:52:50.774152 Event: Test Succeed
+On: 2011-11-03 14:52:50.774208 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:52:50.774358 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:25.459430 ------------------
+On: 2011-11-03 14:53:25.459511 Event: init Caller
+On: 2011-11-03 14:53:25.459536 Event: GSMRZ1
+On: 2011-11-03 14:53:25.459593 Event: Init GSM
+On: 2011-11-03 14:53:27.465590 Event: Caller Greeting
+On: 2011-11-03 14:53:27.468397 Event: Connected to Caller Handler
+On: 2011-11-03 14:53:27.606130 Event: Caller Handler respond
+On: 2011-11-03 14:53:27.606432 Event: Caller handler : Ready
+On: 2011-11-03 14:53:27.606464 Event: init Receiver
+On: 2011-11-03 14:53:27.606484 Event: GSMExt.Tm
+On: 2011-11-03 14:53:27.606534 Event: Init GSM
+On: 2011-11-03 14:53:29.610671 Event: Receiver Greeting
+On: 2011-11-03 14:53:29.613192 Event: Connected to Receiver Handler
+On: 2011-11-03 14:53:29.726199 Event: Receiver Handler respond
+On: 2011-11-03 14:53:29.726496 Event: Receiver handler : Ready
+On: 2011-11-03 14:53:29.726530 Event: Start Call
+On: 2011-11-03 14:53:29.726583 Event: Waiting Feedback
+On: 2011-11-03 14:53:41.706139 Event: Test Succeed
+On: 2011-11-03 14:53:41.706194 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:53:41.706347 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:53:46.370137 ------------------
+On: 2011-11-03 14:53:46.370218 Event: init Caller
+On: 2011-11-03 14:53:46.370241 Event: GSMRZ1
+On: 2011-11-03 14:53:46.370298 Event: Init GSM
+On: 2011-11-03 14:53:48.377479 Event: Caller Greeting
+On: 2011-11-03 14:53:48.380186 Event: Connected to Caller Handler
+On: 2011-11-03 14:53:48.522156 Event: Caller Handler respond
+On: 2011-11-03 14:53:48.522455 Event: Caller handler : Ready
+On: 2011-11-03 14:53:48.522486 Event: init Receiver
+On: 2011-11-03 14:53:48.522505 Event: GSMExt.Tm
+On: 2011-11-03 14:53:48.522554 Event: Init GSM
+On: 2011-11-03 14:53:50.526043 Event: Receiver Greeting
+On: 2011-11-03 14:53:50.528540 Event: Connected to Receiver Handler
+On: 2011-11-03 14:53:50.622136 Event: Receiver Handler respond
+On: 2011-11-03 14:53:50.622426 Event: Receiver handler : Ready
+On: 2011-11-03 14:53:50.622457 Event: Start Call
+On: 2011-11-03 14:53:50.622511 Event: Waiting Feedback
+On: 2011-11-03 14:54:03.326141 Event: Test Succeed
+On: 2011-11-03 14:54:03.326196 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:54:03.326350 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:54:06.702321 ------------------
+On: 2011-11-03 14:54:06.702402 Event: init Caller
+On: 2011-11-03 14:54:06.702426 Event: GSMRZ1
+On: 2011-11-03 14:54:06.702483 Event: Init GSM
+On: 2011-11-03 14:54:08.710585 Event: Caller Greeting
+On: 2011-11-03 14:54:08.713391 Event: Connected to Caller Handler
+On: 2011-11-03 14:54:08.854134 Event: Caller Handler respond
+On: 2011-11-03 14:54:08.854440 Event: Caller handler : Ready
+On: 2011-11-03 14:54:08.854474 Event: init Receiver
+On: 2011-11-03 14:54:08.854494 Event: GSMExt.Tm
+On: 2011-11-03 14:54:08.854545 Event: Init GSM
+On: 2011-11-03 14:54:10.858661 Event: Receiver Greeting
+On: 2011-11-03 14:54:10.861140 Event: Connected to Receiver Handler
+On: 2011-11-03 14:54:10.974205 Event: Receiver Handler respond
+On: 2011-11-03 14:54:10.974498 Event: Receiver handler : Ready
+On: 2011-11-03 14:54:10.974528 Event: Start Call
+On: 2011-11-03 14:54:10.974581 Event: Waiting Feedback
+On: 2011-11-03 14:54:21.946138 Event: Test Succeed
+On: 2011-11-03 14:54:21.946195 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:54:21.946351 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:55:51.262965 ------------------
+On: 2011-11-03 14:55:51.263043 Event: init Caller
+On: 2011-11-03 14:55:51.263067 Event: unisip
+On: 2011-11-03 14:55:53.267474 Event: Caller Greeting
+On: 2011-11-03 14:55:53.268509 Event: Connected to Caller Handler
+On: 2011-11-03 14:55:53.268793 Event: Caller Handler respond
+On: 2011-11-03 14:55:53.269925 Event: Caller handler : Ready
+On: 2011-11-03 14:55:53.270150 Event: init Receiver
+On: 2011-11-03 14:55:53.270178 Event: GSMRZ2
+On: 2011-11-03 14:56:01.280066 Event: Receiver Greeting
+On: 2011-11-03 14:56:01.280656 Event: Connected to Receiver Handler
+On: 2011-11-03 14:56:01.498607 Event: Receiver Handler respond
+On: 2011-11-03 14:56:01.500852 Event: Receiver handler : Ready
+On: 2011-11-03 14:56:01.500889 Event: Start Call
+On: 2011-11-03 14:56:01.500947 Event: Waiting Feedback
+On: 2011-11-03 14:56:07.138820 Event: Test Succeed
+On: 2011-11-03 14:56:07.138880 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:56:07.139087 Event: init Cancel test
+On: 2011-11-03 14:56:10.182197 Event: -- -X- --
+On: 2011-11-03 14:56:10.182260 Event: init Caller
+On: 2011-11-03 14:56:10.182279 Event: GSMRZ1
+On: 2011-11-03 14:56:10.182329 Event: Init GSM
+On: 2011-11-03 14:56:12.186453 Event: Caller Greeting
+On: 2011-11-03 14:56:12.188945 Event: Connected to Caller Handler
+On: 2011-11-03 14:56:12.326167 Event: Caller Handler respond
+On: 2011-11-03 14:56:12.326468 Event: Caller handler : Ready
+On: 2011-11-03 14:56:12.326498 Event: init Receiver
+On: 2011-11-03 14:56:12.326520 Event: sip
+On: 2011-11-03 14:56:14.330027 Event: Receiver Greeting
+On: 2011-11-03 14:56:14.330717 Event: Connected to Receiver Handler
+On: 2011-11-03 14:56:14.331096 Event: Receiver Handler respond
+On: 2011-11-03 14:56:14.331864 Event: Receiver handler : Ready
+On: 2011-11-03 14:56:14.331902 Event: Start Call
+On: 2011-11-03 14:56:14.334154 Event: Waiting Feedback
+On: 2011-11-03 14:56:16.790147 Event: Test Succeed
+On: 2011-11-03 14:56:16.790203 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:56:16.790346 Event: init Cancel test
+On: 2011-11-03 14:56:19.840912 Event: -- -X- --
+On: 2011-11-03 14:56:19.840979 Event: init Caller
+On: 2011-11-03 14:56:19.840997 Event: landline
+On: 2011-11-03 14:56:21.845196 Event: Caller Greeting
+On: 2011-11-03 14:56:21.846074 Event: Connected to Caller Handler
+On: 2011-11-03 14:56:21.846453 Event: Caller Handler respond
+On: 2011-11-03 14:56:21.850267 Event: Caller handler : Ready
+On: 2011-11-03 14:56:21.850311 Event: init Receiver
+On: 2011-11-03 14:56:21.850331 Event: GSMRZ3
+On: 2011-11-03 14:56:29.858014 Event: Receiver Greeting
+On: 2011-11-03 14:56:29.858575 Event: Connected to Receiver Handler
+On: 2011-11-03 14:56:30.082899 Event: Receiver Handler respond
+On: 2011-11-03 14:56:30.085488 Event: Receiver handler : Ready
+On: 2011-11-03 14:56:30.085523 Event: Start Call
+On: 2011-11-03 14:56:30.085581 Event: Waiting Feedback
+On: 2011-11-03 14:56:37.570760 Event: Test Succeed
+On: 2011-11-03 14:56:37.570795 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:56:37.570974 Event: init Cancel test
+On: 2011-11-03 14:56:40.614042 Event: -- -X- --
+On: 2011-11-03 14:56:40.614106 Event: init Caller
+On: 2011-11-03 14:56:40.614124 Event: sip
+On: 2011-11-03 14:56:42.618238 Event: Caller Greeting
+On: 2011-11-03 14:56:42.619057 Event: Connected to Caller Handler
+On: 2011-11-03 14:56:42.619335 Event: Caller Handler respond
+On: 2011-11-03 14:56:42.620091 Event: Caller handler : Ready
+On: 2011-11-03 14:56:42.620126 Event: init Receiver
+On: 2011-11-03 14:56:42.620146 Event: GSMExt.Eplus
+On: 2011-11-03 14:56:42.620197 Event: Init GSM
+On: 2011-11-03 14:56:44.624528 Event: Receiver Greeting
+On: 2011-11-03 14:56:44.627015 Event: Connected to Receiver Handler
+On: 2011-11-03 14:56:44.746160 Event: Receiver Handler respond
+On: 2011-11-03 14:56:44.746448 Event: Receiver handler : Ready
+On: 2011-11-03 14:56:44.746480 Event: Start Call
+On: 2011-11-03 14:56:44.746534 Event: Waiting Feedback
+On: 2011-11-03 14:56:59.746967 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 14:56:59.747023 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:56:59.747256 Event: init Cancel test
+On: 2011-11-03 14:57:02.789262 Event: -- -X- --
+On: 2011-11-03 14:57:02.789324 Event: init Caller
+On: 2011-11-03 14:57:02.789343 Event: sip
+On: 2011-11-03 14:57:04.794006 Event: Caller Greeting
+On: 2011-11-03 14:57:04.794830 Event: Connected to Caller Handler
+On: 2011-11-03 14:57:04.795110 Event: Caller Handler respond
+On: 2011-11-03 14:57:04.796226 Event: Caller handler : Ready
+On: 2011-11-03 14:57:04.796260 Event: init Receiver
+On: 2011-11-03 14:57:04.796280 Event: GSMExt.O2
+On: 2011-11-03 14:57:04.796332 Event: Init GSM
+On: 2011-11-03 14:57:06.800679 Event: Receiver Greeting
+On: 2011-11-03 14:57:06.803239 Event: Connected to Receiver Handler
+On: 2011-11-03 14:57:06.930140 Event: Receiver Handler respond
+On: 2011-11-03 14:57:06.930436 Event: Receiver handler : Ready
+On: 2011-11-03 14:57:06.930470 Event: Start Call
+On: 2011-11-03 14:57:06.930523 Event: Waiting Feedback
+On: 2011-11-03 14:57:21.930970 Event: Test Failed
+On: 2011-11-03 14:57:21.931025 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:57:21.931165 Event: init Cancel test
+On: 2011-11-03 14:57:24.983206 Event: -- -X- --
+On: 2011-11-03 14:57:24.983275 Event: init Caller
+On: 2011-11-03 14:57:24.983294 Event: sip
+On: 2011-11-03 14:57:26.987463 Event: Caller Greeting
+On: 2011-11-03 14:57:26.988173 Event: Connected to Caller Handler
+On: 2011-11-03 14:57:26.988548 Event: Caller Handler respond
+On: 2011-11-03 14:57:26.989325 Event: Caller handler : Ready
+On: 2011-11-03 14:57:26.989363 Event: init Receiver
+On: 2011-11-03 14:57:26.989383 Event: GSMExt.Tm
+On: 2011-11-03 14:57:26.989435 Event: Init GSM
+On: 2011-11-03 14:57:28.993761 Event: Receiver Greeting
+On: 2011-11-03 14:57:28.996270 Event: Connected to Receiver Handler
+On: 2011-11-03 14:57:29.114138 Event: Receiver Handler respond
+On: 2011-11-03 14:57:29.114432 Event: Receiver handler : Ready
+On: 2011-11-03 14:57:29.114464 Event: Start Call
+On: 2011-11-03 14:57:29.114519 Event: Waiting Feedback
+On: 2011-11-03 14:57:42.523598 Event: Test Succeed
+On: 2011-11-03 14:57:42.523634 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:57:42.523759 Event: init Cancel test
+On: 2011-11-03 14:57:45.575546 Event: -- -X- --
+On: 2011-11-03 14:57:45.575613 Event: init Caller
+On: 2011-11-03 14:57:45.575631 Event: sip
+On: 2011-11-03 14:57:47.579757 Event: Caller Greeting
+On: 2011-11-03 14:57:47.580585 Event: Connected to Caller Handler
+On: 2011-11-03 14:57:47.580872 Event: Caller Handler respond
+On: 2011-11-03 14:57:47.581635 Event: Caller handler : Ready
+On: 2011-11-03 14:57:47.581674 Event: init Receiver
+On: 2011-11-03 14:57:47.581693 Event: GSMExt.Voda
+On: 2011-11-03 14:57:47.581745 Event: Init GSM
+On: 2011-11-03 14:57:49.586135 Event: Receiver Greeting
+On: 2011-11-03 14:57:49.588638 Event: Connected to Receiver Handler
+On: 2011-11-03 14:57:49.706207 Event: Receiver Handler respond
+On: 2011-11-03 14:57:49.706541 Event: Receiver handler : Ready
+On: 2011-11-03 14:57:49.706573 Event: Start Call
+On: 2011-11-03 14:57:49.706628 Event: Waiting Feedback
+On: 2011-11-03 14:58:02.855752 Event: Test Succeed
+On: 2011-11-03 14:58:02.855789 Event: TERMINATE CONNECTION
+On: 2011-11-03 14:58:02.855915 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:03:22.055328 ------------------
+On: 2011-11-03 15:03:22.055405 Event: init Caller
+On: 2011-11-03 15:03:22.055429 Event: unisip
+On: 2011-11-03 15:03:24.059540 Event: Caller Greeting
+On: 2011-11-03 15:03:24.060521 Event: Connected to Caller Handler
+On: 2011-11-03 15:03:24.060806 Event: Caller Handler respond
+On: 2011-11-03 15:03:24.061581 Event: Caller handler : Ready
+On: 2011-11-03 15:03:24.061620 Event: init Receiver
+On: 2011-11-03 15:03:24.061640 Event: GSMRZ1
+On: 2011-11-03 15:03:24.061691 Event: Init GSM
+On: 2011-11-03 15:03:26.066103 Event: Receiver Greeting
+On: 2011-11-03 15:03:26.068631 Event: Connected to Receiver Handler
+On: 2011-11-03 15:03:26.206134 Event: Receiver Handler respond
+On: 2011-11-03 15:03:26.206429 Event: Receiver handler : Ready
+On: 2011-11-03 15:03:26.206461 Event: Start Call
+On: 2011-11-03 15:03:26.206514 Event: Waiting Feedback
+On: 2011-11-03 15:03:36.766253 Event: Test Succeed
+On: 2011-11-03 15:03:36.766308 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:03:36.766467 Event: init Cancel test
+On: 2011-11-03 15:03:39.811276 Event: -- -X- --
+On: 2011-11-03 15:03:39.811340 Event: init Caller
+On: 2011-11-03 15:03:39.811359 Event: GSMRZ2
+On: 2011-11-03 15:03:47.820825 Event: Caller Greeting
+On: 2011-11-03 15:03:47.821460 Event: Connected to Caller Handler
+On: 2011-11-03 15:03:48.012647 Event: Caller Handler respond
+On: 2011-11-03 15:03:48.014958 Event: Caller handler : Ready
+On: 2011-11-03 15:03:48.014997 Event: init Receiver
+On: 2011-11-03 15:03:48.015018 Event: GSMExt.O2
+On: 2011-11-03 15:03:48.015069 Event: Init GSM
+On: 2011-11-03 15:03:50.019181 Event: Receiver Greeting
+On: 2011-11-03 15:03:50.021708 Event: Connected to Receiver Handler
+On: 2011-11-03 15:03:50.142167 Event: Receiver Handler respond
+On: 2011-11-03 15:03:50.142462 Event: Receiver handler : Ready
+On: 2011-11-03 15:03:50.142493 Event: Start Call
+On: 2011-11-03 15:03:50.142647 Event: Waiting Feedback
+On: 2011-11-03 15:04:03.848756 Event: Test Succeed
+On: 2011-11-03 15:04:03.848812 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:04:03.853242 Event: init Cancel test
+On: 2011-11-03 15:04:06.901779 Event: -- -X- --
+On: 2011-11-03 15:04:06.901843 Event: init Caller
+On: 2011-11-03 15:04:06.901861 Event: landline
+On: 2011-11-03 15:04:08.906020 Event: Caller Greeting
+On: 2011-11-03 15:04:08.906846 Event: Connected to Caller Handler
+On: 2011-11-03 15:04:08.907132 Event: Caller Handler respond
+On: 2011-11-03 15:04:08.909769 Event: Caller handler : Ready
+On: 2011-11-03 15:04:08.909807 Event: init Receiver
+On: 2011-11-03 15:04:08.909826 Event: GSMRZ3
+On: 2011-11-03 15:04:16.920062 Event: Receiver Greeting
+On: 2011-11-03 15:04:16.920621 Event: Connected to Receiver Handler
+On: 2011-11-03 15:04:17.150968 Event: Receiver Handler respond
+On: 2011-11-03 15:04:17.153625 Event: Receiver handler : Ready
+On: 2011-11-03 15:04:17.153667 Event: Start Call
+On: 2011-11-03 15:04:17.153730 Event: Waiting Feedback
+On: 2011-11-03 15:04:24.772730 Event: Test Succeed
+On: 2011-11-03 15:04:24.772766 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:04:24.772944 Event: init Cancel test
+On: 2011-11-03 15:04:27.816296 Event: -- -X- --
+On: 2011-11-03 15:04:27.816360 Event: init Caller
+On: 2011-11-03 15:04:27.816378 Event: sip
+On: 2011-11-03 15:04:29.820629 Event: Caller Greeting
+On: 2011-11-03 15:04:29.821620 Event: Connected to Caller Handler
+On: 2011-11-03 15:04:29.821899 Event: Caller Handler respond
+On: 2011-11-03 15:04:29.823321 Event: Caller handler : Ready
+On: 2011-11-03 15:04:29.823354 Event: init Receiver
+On: 2011-11-03 15:04:29.823373 Event: GSMExt.Eplus
+On: 2011-11-03 15:04:29.823425 Event: Init GSM
+On: 2011-11-03 15:04:31.826010 Event: Receiver Greeting
+On: 2011-11-03 15:04:31.828608 Event: Connected to Receiver Handler
+On: 2011-11-03 15:04:31.926133 Event: Receiver Handler respond
+On: 2011-11-03 15:04:31.926433 Event: Receiver handler : Ready
+On: 2011-11-03 15:04:31.926465 Event: Start Call
+On: 2011-11-03 15:04:31.926518 Event: Waiting Feedback
+On: 2011-11-03 15:04:46.926963 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:04:46.927103 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:04:46.927257 Event: init Cancel test
+On: 2011-11-03 15:04:49.971119 Event: -- -X- --
+On: 2011-11-03 15:04:49.971183 Event: init Caller
+On: 2011-11-03 15:04:49.971200 Event: sip
+On: 2011-11-03 15:04:51.975329 Event: Caller Greeting
+On: 2011-11-03 15:04:51.976037 Event: Connected to Caller Handler
+On: 2011-11-03 15:04:51.976419 Event: Caller Handler respond
+On: 2011-11-03 15:04:51.977197 Event: Caller handler : Ready
+On: 2011-11-03 15:04:51.977236 Event: init Receiver
+On: 2011-11-03 15:04:51.977255 Event: GSMExt.Tm
+On: 2011-11-03 15:04:51.977307 Event: Init GSM
+On: 2011-11-03 15:04:53.981739 Event: Receiver Greeting
+On: 2011-11-03 15:04:53.984242 Event: Connected to Receiver Handler
+On: 2011-11-03 15:04:54.098254 Event: Receiver Handler respond
+On: 2011-11-03 15:04:54.098549 Event: Receiver handler : Ready
+On: 2011-11-03 15:04:54.098579 Event: Start Call
+On: 2011-11-03 15:04:54.098630 Event: Waiting Feedback
+On: 2011-11-03 15:05:07.755925 Event: Test Succeed
+On: 2011-11-03 15:05:07.755960 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:05:07.756085 Event: init Cancel test
+On: 2011-11-03 15:05:10.808191 Event: -- -X- --
+On: 2011-11-03 15:05:10.808251 Event: init Caller
+On: 2011-11-03 15:05:10.808269 Event: sip
+On: 2011-11-03 15:05:12.812440 Event: Caller Greeting
+On: 2011-11-03 15:05:12.813269 Event: Connected to Caller Handler
+On: 2011-11-03 15:05:12.813548 Event: Caller Handler respond
+On: 2011-11-03 15:05:12.814354 Event: Caller handler : Ready
+On: 2011-11-03 15:05:12.814390 Event: init Receiver
+On: 2011-11-03 15:05:12.814409 Event: GSMExt.Voda
+On: 2011-11-03 15:05:12.814461 Event: Init GSM
+On: 2011-11-03 15:05:14.818008 Event: Receiver Greeting
+On: 2011-11-03 15:05:14.820459 Event: Connected to Receiver Handler
+On: 2011-11-03 15:05:14.942153 Event: Receiver Handler respond
+On: 2011-11-03 15:05:14.942441 Event: Receiver handler : Ready
+On: 2011-11-03 15:05:14.942472 Event: Start Call
+On: 2011-11-03 15:05:14.942526 Event: Waiting Feedback
+On: 2011-11-03 15:05:27.358930 Event: Test Succeed
+On: 2011-11-03 15:05:27.358963 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:05:27.359085 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:10:51.788687 ------------------
+On: 2011-11-03 15:10:51.788761 Event: init Caller
+On: 2011-11-03 15:10:51.788785 Event: unisip
+On: 2011-11-03 15:10:53.791751 Event: Caller Greeting
+On: 2011-11-03 15:10:53.792800 Event: Connected to Caller Handler
+On: 2011-11-03 15:10:53.794149 Event: Caller Handler respond
+On: 2011-11-03 15:10:53.795286 Event: Caller handler : Ready
+On: 2011-11-03 15:10:53.795326 Event: init Receiver
+On: 2011-11-03 15:10:53.795346 Event: GSMRZ3
+On: 2011-11-03 15:11:01.804066 Event: Receiver Greeting
+On: 2011-11-03 15:11:01.804629 Event: Connected to Receiver Handler
+On: 2011-11-03 15:11:02.029715 Event: Receiver Handler respond
+On: 2011-11-03 15:11:02.032303 Event: Receiver handler : Ready
+On: 2011-11-03 15:11:02.032354 Event: Start Call
+On: 2011-11-03 15:11:02.032419 Event: Waiting Feedback
+On: 2011-11-03 15:11:06.794471 Event: Test Succeed
+On: 2011-11-03 15:11:06.794528 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:11:06.794730 Event: init Cancel test
+On: 2011-11-03 15:11:09.838547 Event: -- -X- --
+On: 2011-11-03 15:11:09.838607 Event: init Caller
+On: 2011-11-03 15:11:09.838625 Event: GSMRZ1
+On: 2011-11-03 15:11:09.838674 Event: Init GSM
+On: 2011-11-03 15:11:11.842012 Event: Caller Greeting
+On: 2011-11-03 15:11:11.844580 Event: Connected to Caller Handler
+On: 2011-11-03 15:11:11.986132 Event: Caller Handler respond
+On: 2011-11-03 15:11:11.986427 Event: Caller handler : Ready
+On: 2011-11-03 15:11:11.986458 Event: init Receiver
+On: 2011-11-03 15:11:11.986478 Event: sip
+On: 2011-11-03 15:11:13.990591 Event: Receiver Greeting
+On: 2011-11-03 15:11:13.991255 Event: Connected to Receiver Handler
+On: 2011-11-03 15:11:13.991625 Event: Receiver Handler respond
+On: 2011-11-03 15:11:13.992363 Event: Receiver handler : Ready
+On: 2011-11-03 15:11:13.992400 Event: Start Call
+On: 2011-11-03 15:11:13.994140 Event: Waiting Feedback
+On: 2011-11-03 15:11:16.550156 Event: Test Succeed
+On: 2011-11-03 15:11:16.550207 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:11:16.550344 Event: init Cancel test
+On: 2011-11-03 15:11:19.599521 Event: -- -X- --
+On: 2011-11-03 15:11:19.599585 Event: init Caller
+On: 2011-11-03 15:11:19.599603 Event: landline
+On: 2011-11-03 15:11:21.603707 Event: Caller Greeting
+On: 2011-11-03 15:11:21.604403 Event: Connected to Caller Handler
+On: 2011-11-03 15:11:21.604768 Event: Caller Handler respond
+On: 2011-11-03 15:11:21.610158 Event: Caller handler : Ready
+On: 2011-11-03 15:11:21.610195 Event: init Receiver
+On: 2011-11-03 15:11:21.610215 Event: GSMRZ2
+On: 2011-11-03 15:11:29.620064 Event: Receiver Greeting
+On: 2011-11-03 15:11:29.620599 Event: Connected to Receiver Handler
+On: 2011-11-03 15:11:29.838325 Event: Receiver Handler respond
+On: 2011-11-03 15:11:29.840606 Event: Receiver handler : Ready
+On: 2011-11-03 15:11:29.840659 Event: Start Call
+On: 2011-11-03 15:11:29.840723 Event: Waiting Feedback
+On: 2011-11-03 15:11:38.685172 Event: Test Succeed
+On: 2011-11-03 15:11:38.685206 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:11:38.685381 Event: init Cancel test
+On: 2011-11-03 15:11:41.727985 Event: -- -X- --
+On: 2011-11-03 15:11:41.728045 Event: init Caller
+On: 2011-11-03 15:11:41.728064 Event: sip
+On: 2011-11-03 15:11:43.732254 Event: Caller Greeting
+On: 2011-11-03 15:11:43.733069 Event: Connected to Caller Handler
+On: 2011-11-03 15:11:43.733344 Event: Caller Handler respond
+On: 2011-11-03 15:11:43.734113 Event: Caller handler : Ready
+On: 2011-11-03 15:11:43.734152 Event: init Receiver
+On: 2011-11-03 15:11:43.734171 Event: GSMExt.Eplus
+On: 2011-11-03 15:11:43.734223 Event: Init GSM
+On: 2011-11-03 15:11:45.738006 Event: Receiver Greeting
+On: 2011-11-03 15:11:45.740417 Event: Connected to Receiver Handler
+On: 2011-11-03 15:11:45.862153 Event: Receiver Handler respond
+On: 2011-11-03 15:11:45.862442 Event: Receiver handler : Ready
+On: 2011-11-03 15:11:45.862475 Event: Start Call
+On: 2011-11-03 15:11:45.862530 Event: Waiting Feedback
+On: 2011-11-03 15:12:00.862963 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:12:00.863018 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:12:00.863239 Event: init Cancel test
+On: 2011-11-03 15:12:03.905729 Event: -- -X- --
+On: 2011-11-03 15:12:03.905787 Event: init Caller
+On: 2011-11-03 15:12:03.905805 Event: sip
+On: 2011-11-03 15:12:05.909935 Event: Caller Greeting
+On: 2011-11-03 15:12:05.910631 Event: Connected to Caller Handler
+On: 2011-11-03 15:12:05.910992 Event: Caller Handler respond
+On: 2011-11-03 15:12:05.911740 Event: Caller handler : Ready
+On: 2011-11-03 15:12:05.911779 Event: init Receiver
+On: 2011-11-03 15:12:05.911799 Event: GSMExt.O2
+On: 2011-11-03 15:12:05.911850 Event: Init GSM
+On: 2011-11-03 15:12:07.915267 Event: Receiver Greeting
+On: 2011-11-03 15:12:07.917701 Event: Connected to Receiver Handler
+On: 2011-11-03 15:12:08.030199 Event: Receiver Handler respond
+On: 2011-11-03 15:12:08.030488 Event: Receiver handler : Ready
+On: 2011-11-03 15:12:08.030522 Event: Start Call
+On: 2011-11-03 15:12:08.030575 Event: Waiting Feedback
+On: 2011-11-03 15:12:19.839102 Event: Test Succeed
+On: 2011-11-03 15:12:19.839137 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:12:19.839262 Event: init Cancel test
+On: 2011-11-03 15:12:22.883189 Event: -- -X- --
+On: 2011-11-03 15:12:22.883249 Event: init Caller
+On: 2011-11-03 15:12:22.883268 Event: sip
+On: 2011-11-03 15:12:24.886006 Event: Caller Greeting
+On: 2011-11-03 15:12:24.886700 Event: Connected to Caller Handler
+On: 2011-11-03 15:12:24.887068 Event: Caller Handler respond
+On: 2011-11-03 15:12:24.887819 Event: Caller handler : Ready
+On: 2011-11-03 15:12:24.887858 Event: init Receiver
+On: 2011-11-03 15:12:24.887878 Event: GSMExt.Tm
+On: 2011-11-03 15:12:24.887929 Event: Init GSM
+On: 2011-11-03 15:12:26.892223 Event: Receiver Greeting
+On: 2011-11-03 15:12:26.894733 Event: Connected to Receiver Handler
+On: 2011-11-03 15:12:27.006202 Event: Receiver Handler respond
+On: 2011-11-03 15:12:27.006491 Event: Receiver handler : Ready
+On: 2011-11-03 15:12:27.006524 Event: Start Call
+On: 2011-11-03 15:12:27.006578 Event: Waiting Feedback
+On: 2011-11-03 15:12:40.794259 Event: Test Succeed
+On: 2011-11-03 15:12:40.794293 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:12:40.794418 Event: init Cancel test
+On: 2011-11-03 15:12:43.848461 Event: -- -X- --
+On: 2011-11-03 15:12:43.848523 Event: init Caller
+On: 2011-11-03 15:12:43.848541 Event: sip
+On: 2011-11-03 15:12:45.857037 Event: Caller Greeting
+On: 2011-11-03 15:12:45.857852 Event: Connected to Caller Handler
+On: 2011-11-03 15:12:45.858190 Event: Caller Handler respond
+On: 2011-11-03 15:12:45.858945 Event: Caller handler : Ready
+On: 2011-11-03 15:12:45.858984 Event: init Receiver
+On: 2011-11-03 15:12:45.859004 Event: GSMExt.Voda
+On: 2011-11-03 15:12:45.859055 Event: Init GSM
+On: 2011-11-03 15:12:47.862005 Event: Receiver Greeting
+On: 2011-11-03 15:12:47.864401 Event: Connected to Receiver Handler
+On: 2011-11-03 15:12:47.966131 Event: Receiver Handler respond
+On: 2011-11-03 15:12:47.966421 Event: Receiver handler : Ready
+On: 2011-11-03 15:12:47.966453 Event: Start Call
+On: 2011-11-03 15:12:47.966508 Event: Waiting Feedback
+On: 2011-11-03 15:13:01.363581 Event: Test Succeed
+On: 2011-11-03 15:13:01.363616 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:13:01.363740 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:25:52.662812 ------------------
+On: 2011-11-03 15:25:52.662888 Event: init Caller
+On: 2011-11-03 15:25:52.662913 Event: unisip
+On: 2011-11-03 15:25:54.667345 Event: Caller Greeting
+On: 2011-11-03 15:25:54.668284 Event: Connected to Caller Handler
+On: 2011-11-03 15:25:54.668551 Event: Caller Handler respond
+On: 2011-11-03 15:25:54.669649 Event: Caller handler : Ready
+On: 2011-11-03 15:25:54.669683 Event: init Receiver
+On: 2011-11-03 15:25:54.669702 Event: GSMRZ3
+On: 2011-11-03 15:26:02.674011 Event: Receiver Greeting
+On: 2011-11-03 15:26:02.674585 Event: Connected to Receiver Handler
+On: 2011-11-03 15:26:02.905984 Event: Receiver Handler respond
+On: 2011-11-03 15:26:02.908625 Event: Receiver handler : Ready
+On: 2011-11-03 15:26:02.908662 Event: Start Call
+On: 2011-11-03 15:26:02.908717 Event: Waiting Feedback
+On: 2011-11-03 15:26:08.351192 Event: Test Succeed
+On: 2011-11-03 15:26:08.351247 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:26:08.351452 Event: init Cancel test
+On: 2011-11-03 15:26:11.399340 Event: -- -X- --
+On: 2011-11-03 15:26:11.399405 Event: init Caller
+On: 2011-11-03 15:26:11.399423 Event: GSMRZ1
+On: 2011-11-03 15:26:11.399472 Event: Init GSM
+On: 2011-11-03 15:26:13.403489 Event: Caller Greeting
+On: 2011-11-03 15:26:13.405945 Event: Connected to Caller Handler
+On: 2011-11-03 15:26:13.542199 Event: Caller Handler respond
+On: 2011-11-03 15:26:13.542489 Event: Caller handler : Ready
+On: 2011-11-03 15:26:13.542521 Event: init Receiver
+On: 2011-11-03 15:26:13.542540 Event: GSMExt.Eplus
+On: 2011-11-03 15:26:13.542592 Event: Init GSM
+On: 2011-11-03 15:26:15.546729 Event: Receiver Greeting
+On: 2011-11-03 15:26:15.549130 Event: Connected to Receiver Handler
+On: 2011-11-03 15:26:15.662132 Event: Receiver Handler respond
+On: 2011-11-03 15:26:15.662412 Event: Receiver handler : Ready
+On: 2011-11-03 15:26:15.662440 Event: Start Call
+On: 2011-11-03 15:26:15.662491 Event: Waiting Feedback
+On: 2011-11-03 15:26:30.666512 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:26:30.666565 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:26:30.666700 Event: init Cancel test
+On: 2011-11-03 15:26:33.712749 Event: -- -X- --
+On: 2011-11-03 15:26:33.712814 Event: init Caller
+On: 2011-11-03 15:26:33.712832 Event: landline
+On: 2011-11-03 15:26:35.716937 Event: Caller Greeting
+On: 2011-11-03 15:26:35.717624 Event: Connected to Caller Handler
+On: 2011-11-03 15:26:35.718017 Event: Caller Handler respond
+On: 2011-11-03 15:26:35.721026 Event: Caller handler : Ready
+On: 2011-11-03 15:26:35.721063 Event: init Receiver
+On: 2011-11-03 15:26:35.721084 Event: GSMRZ2
+On: 2011-11-03 15:26:43.730030 Event: Receiver Greeting
+On: 2011-11-03 15:26:43.730577 Event: Connected to Receiver Handler
+On: 2011-11-03 15:26:43.920663 Event: Receiver Handler respond
+On: 2011-11-03 15:26:43.922936 Event: Receiver handler : Ready
+On: 2011-11-03 15:26:43.922974 Event: Start Call
+On: 2011-11-03 15:26:43.923030 Event: Waiting Feedback
+On: 2011-11-03 15:26:52.032957 Event: Test Succeed
+On: 2011-11-03 15:26:52.032992 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:26:52.033163 Event: init Cancel test
+On: 2011-11-03 15:26:55.075471 Event: -- -X- --
+On: 2011-11-03 15:26:55.075533 Event: init Caller
+On: 2011-11-03 15:26:55.075552 Event: sip
+On: 2011-11-03 15:26:57.079663 Event: Caller Greeting
+On: 2011-11-03 15:26:57.080356 Event: Connected to Caller Handler
+On: 2011-11-03 15:26:57.080720 Event: Caller Handler respond
+On: 2011-11-03 15:26:57.081471 Event: Caller handler : Ready
+On: 2011-11-03 15:26:57.081508 Event: init Receiver
+On: 2011-11-03 15:26:57.081527 Event: GSMExt.O2
+On: 2011-11-03 15:26:57.081581 Event: Init GSM
+On: 2011-11-03 15:26:59.085949 Event: Receiver Greeting
+On: 2011-11-03 15:26:59.088395 Event: Connected to Receiver Handler
+On: 2011-11-03 15:26:59.206129 Event: Receiver Handler respond
+On: 2011-11-03 15:26:59.206416 Event: Receiver handler : Ready
+On: 2011-11-03 15:26:59.206450 Event: Start Call
+On: 2011-11-03 15:26:59.206504 Event: Waiting Feedback
+On: 2011-11-03 15:27:11.764691 Event: Test Succeed
+On: 2011-11-03 15:27:11.764798 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:27:11.764934 Event: init Cancel test
+On: 2011-11-03 15:27:14.809645 Event: -- -X- --
+On: 2011-11-03 15:27:14.809705 Event: init Caller
+On: 2011-11-03 15:27:14.809723 Event: sip
+On: 2011-11-03 15:27:16.813923 Event: Caller Greeting
+On: 2011-11-03 15:27:16.814747 Event: Connected to Caller Handler
+On: 2011-11-03 15:27:16.815020 Event: Caller Handler respond
+On: 2011-11-03 15:27:16.815757 Event: Caller handler : Ready
+On: 2011-11-03 15:27:16.815794 Event: init Receiver
+On: 2011-11-03 15:27:16.815814 Event: GSMExt.Tm
+On: 2011-11-03 15:27:16.815867 Event: Init GSM
+On: 2011-11-03 15:27:18.820201 Event: Receiver Greeting
+On: 2011-11-03 15:27:18.822062 Event: Connected to Receiver Handler
+On: 2011-11-03 15:27:18.942166 Event: Receiver Handler respond
+On: 2011-11-03 15:27:18.942455 Event: Receiver handler : Ready
+On: 2011-11-03 15:27:18.942488 Event: Start Call
+On: 2011-11-03 15:27:18.942542 Event: Waiting Feedback
+On: 2011-11-03 15:27:31.614672 Event: Test Succeed
+On: 2011-11-03 15:27:31.614706 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:27:31.614826 Event: init Cancel test
+On: 2011-11-03 15:27:34.657857 Event: -- -X- --
+On: 2011-11-03 15:27:34.657919 Event: init Caller
+On: 2011-11-03 15:27:34.657938 Event: sip
+On: 2011-11-03 15:27:36.662112 Event: Caller Greeting
+On: 2011-11-03 15:27:36.662796 Event: Connected to Caller Handler
+On: 2011-11-03 15:27:36.663160 Event: Caller Handler respond
+On: 2011-11-03 15:27:36.663906 Event: Caller handler : Ready
+On: 2011-11-03 15:27:36.663945 Event: init Receiver
+On: 2011-11-03 15:27:36.663965 Event: GSMExt.Voda
+On: 2011-11-03 15:27:36.664018 Event: Init GSM
+On: 2011-11-03 15:27:38.668404 Event: Receiver Greeting
+On: 2011-11-03 15:27:38.670876 Event: Connected to Receiver Handler
+On: 2011-11-03 15:27:38.786162 Event: Receiver Handler respond
+On: 2011-11-03 15:27:38.786447 Event: Receiver handler : Ready
+On: 2011-11-03 15:27:38.786478 Event: Start Call
+On: 2011-11-03 15:27:38.786532 Event: Waiting Feedback
+On: 2011-11-03 15:27:55.643107 Event: Test Failed
+On: 2011-11-03 15:27:55.643160 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:27:55.643298 Event: init Cancel test
+On: 2011-11-03 15:27:58.730367 Event: -- -X- --
+On: 2011-11-03 15:27:58.730433 Event: init Caller
+On: 2011-11-03 15:27:58.730451 Event: sip
+On: 2011-11-03 15:28:00.738076 Event: Caller Greeting
+On: 2011-11-03 15:28:00.738878 Event: Connected to Caller Handler
+On: 2011-11-03 15:28:00.739154 Event: Caller Handler respond
+On: 2011-11-03 15:28:00.739896 Event: Caller handler : Ready
+On: 2011-11-03 15:28:00.739933 Event: init Receiver
+On: 2011-11-03 15:28:00.739953 Event: GSMRZ1
+On: 2011-11-03 15:28:00.740006 Event: Init GSM
+On: 2011-11-03 15:28:02.744382 Event: Receiver Greeting
+On: 2011-11-03 15:28:02.746827 Event: Connected to Receiver Handler
+On: 2011-11-03 15:28:02.886134 Event: Receiver Handler respond
+On: 2011-11-03 15:28:02.886420 Event: Receiver handler : Ready
+On: 2011-11-03 15:28:02.886454 Event: Start Call
+On: 2011-11-03 15:28:02.886507 Event: Waiting Feedback
+On: 2011-11-03 15:28:07.694162 Event: Test Succeed
+On: 2011-11-03 15:28:07.694213 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:28:07.694347 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:33:23.010735 ------------------
+On: 2011-11-03 15:33:23.010813 Event: init Caller
+On: 2011-11-03 15:33:23.010838 Event: unisip
+On: 2011-11-03 15:33:25.013630 Event: Caller Greeting
+On: 2011-11-03 15:33:25.014642 Event: Connected to Caller Handler
+On: 2011-11-03 15:33:25.014913 Event: Caller Handler respond
+On: 2011-11-03 15:33:25.015649 Event: Caller handler : Ready
+On: 2011-11-03 15:33:25.015682 Event: init Receiver
+On: 2011-11-03 15:33:25.015702 Event: GSMRZ3
+On: 2011-11-03 15:33:33.026652 Event: Receiver Greeting
+On: 2011-11-03 15:33:33.027227 Event: Connected to Receiver Handler
+On: 2011-11-03 15:33:33.254452 Event: Receiver Handler respond
+On: 2011-11-03 15:33:33.257108 Event: Receiver handler : Ready
+On: 2011-11-03 15:33:33.257157 Event: Start Call
+On: 2011-11-03 15:33:33.257221 Event: Waiting Feedback
+On: 2011-11-03 15:33:37.941948 Event: Test Succeed
+On: 2011-11-03 15:33:37.942028 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:33:37.942233 Event: init Cancel test
+On: 2011-11-03 15:33:40.985658 Event: -- -X- --
+On: 2011-11-03 15:33:40.985726 Event: init Caller
+On: 2011-11-03 15:33:40.985744 Event: GSMRZ1
+On: 2011-11-03 15:33:40.985794 Event: Init GSM
+On: 2011-11-03 15:33:42.989905 Event: Caller Greeting
+On: 2011-11-03 15:33:42.992360 Event: Connected to Caller Handler
+On: 2011-11-03 15:33:43.134132 Event: Caller Handler respond
+On: 2011-11-03 15:33:43.134427 Event: Caller handler : Ready
+On: 2011-11-03 15:33:43.134459 Event: init Receiver
+On: 2011-11-03 15:33:43.134479 Event: GSMRZ2
+On: 2011-11-03 15:33:51.144801 Event: Receiver Greeting
+On: 2011-11-03 15:33:51.145341 Event: Connected to Receiver Handler
+On: 2011-11-03 15:33:51.361945 Event: Receiver Handler respond
+On: 2011-11-03 15:33:51.364271 Event: Receiver handler : Ready
+On: 2011-11-03 15:33:51.364307 Event: Start Call
+On: 2011-11-03 15:33:51.370104 Event: Waiting Feedback
+On: 2011-11-03 15:33:55.186131 Event: Test Succeed
+On: 2011-11-03 15:33:55.186183 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:33:55.186360 Event: init Cancel test
+On: 2011-11-03 15:33:58.231750 Event: -- -X- --
+On: 2011-11-03 15:33:58.231815 Event: init Caller
+On: 2011-11-03 15:33:58.231833 Event: landline
+On: 2011-11-03 15:34:00.234007 Event: Caller Greeting
+On: 2011-11-03 15:34:00.234800 Event: Connected to Caller Handler
+On: 2011-11-03 15:34:00.235069 Event: Caller Handler respond
+On: 2011-11-03 15:34:00.236910 Event: Caller handler : Ready
+On: 2011-11-03 15:34:00.236946 Event: init Receiver
+On: 2011-11-03 15:34:00.236966 Event: GSMRZ2
+On: 2011-11-03 15:34:08.243682 Event: Receiver Greeting
+On: 2011-11-03 15:34:08.244220 Event: Connected to Receiver Handler
+On: 2011-11-03 15:34:08.433162 Event: Receiver Handler respond
+On: 2011-11-03 15:34:08.435496 Event: Receiver handler : Ready
+On: 2011-11-03 15:34:08.435532 Event: Start Call
+On: 2011-11-03 15:34:08.435591 Event: Waiting Feedback
+On: 2011-11-03 15:34:16.441709 Event: Test Succeed
+On: 2011-11-03 15:34:16.441742 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:34:16.441912 Event: init Cancel test
+On: 2011-11-03 15:34:19.485862 Event: -- -X- --
+On: 2011-11-03 15:34:19.485924 Event: init Caller
+On: 2011-11-03 15:34:19.485943 Event: sip
+On: 2011-11-03 15:34:21.490007 Event: Caller Greeting
+On: 2011-11-03 15:34:21.490700 Event: Connected to Caller Handler
+On: 2011-11-03 15:34:21.491064 Event: Caller Handler respond
+On: 2011-11-03 15:34:21.492178 Event: Caller handler : Ready
+On: 2011-11-03 15:34:21.492217 Event: init Receiver
+On: 2011-11-03 15:34:21.492237 Event: GSMExt.Eplus
+On: 2011-11-03 15:34:21.492287 Event: Init GSM
+On: 2011-11-03 15:34:23.496666 Event: Receiver Greeting
+On: 2011-11-03 15:34:23.499187 Event: Connected to Receiver Handler
+On: 2011-11-03 15:34:23.594450 Event: Receiver Handler respond
+On: 2011-11-03 15:34:23.594731 Event: Receiver handler : Ready
+On: 2011-11-03 15:34:23.594760 Event: Start Call
+On: 2011-11-03 15:34:23.594814 Event: Waiting Feedback
+On: 2011-11-03 15:34:38.595245 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:34:38.595300 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:34:38.595526 Event: init Cancel test
+On: 2011-11-03 15:34:41.639238 Event: -- -X- --
+On: 2011-11-03 15:34:41.639299 Event: init Caller
+On: 2011-11-03 15:34:41.639318 Event: sip
+On: 2011-11-03 15:34:43.643384 Event: Caller Greeting
+On: 2011-11-03 15:34:43.644183 Event: Connected to Caller Handler
+On: 2011-11-03 15:34:43.644468 Event: Caller Handler respond
+On: 2011-11-03 15:34:43.645206 Event: Caller handler : Ready
+On: 2011-11-03 15:34:43.645243 Event: init Receiver
+On: 2011-11-03 15:34:43.645264 Event: GSMExt.O2
+On: 2011-11-03 15:34:43.645315 Event: Init GSM
+On: 2011-11-03 15:34:45.650007 Event: Receiver Greeting
+On: 2011-11-03 15:34:45.652434 Event: Connected to Receiver Handler
+On: 2011-11-03 15:34:45.770142 Event: Receiver Handler respond
+On: 2011-11-03 15:34:45.770430 Event: Receiver handler : Ready
+On: 2011-11-03 15:34:45.770462 Event: Start Call
+On: 2011-11-03 15:34:45.770513 Event: Waiting Feedback
+On: 2011-11-03 15:35:00.021599 Event: Test Succeed
+On: 2011-11-03 15:35:00.021633 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:35:00.021756 Event: init Cancel test
+On: 2011-11-03 15:35:03.074127 Event: -- -X- --
+On: 2011-11-03 15:35:03.074191 Event: init Caller
+On: 2011-11-03 15:35:03.074210 Event: sip
+On: 2011-11-03 15:35:05.077294 Event: Caller Greeting
+On: 2011-11-03 15:35:05.078079 Event: Connected to Caller Handler
+On: 2011-11-03 15:35:05.078445 Event: Caller Handler respond
+On: 2011-11-03 15:35:05.079197 Event: Caller handler : Ready
+On: 2011-11-03 15:35:05.079236 Event: init Receiver
+On: 2011-11-03 15:35:05.079256 Event: GSMExt.Tm
+On: 2011-11-03 15:35:05.079308 Event: Init GSM
+On: 2011-11-03 15:35:07.082008 Event: Receiver Greeting
+On: 2011-11-03 15:35:07.084422 Event: Connected to Receiver Handler
+On: 2011-11-03 15:35:07.178134 Event: Receiver Handler respond
+On: 2011-11-03 15:35:07.178532 Event: Receiver handler : Ready
+On: 2011-11-03 15:35:07.178568 Event: Start Call
+On: 2011-11-03 15:35:07.178624 Event: Waiting Feedback
+On: 2011-11-03 15:35:20.582420 Event: Test Succeed
+On: 2011-11-03 15:35:20.582454 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:35:20.582577 Event: init Cancel test
+On: 2011-11-03 15:35:23.633786 Event: -- -X- --
+On: 2011-11-03 15:35:23.633849 Event: init Caller
+On: 2011-11-03 15:35:23.633867 Event: sip
+On: 2011-11-03 15:35:25.638018 Event: Caller Greeting
+On: 2011-11-03 15:35:25.638696 Event: Connected to Caller Handler
+On: 2011-11-03 15:35:25.639058 Event: Caller Handler respond
+On: 2011-11-03 15:35:25.640173 Event: Caller handler : Ready
+On: 2011-11-03 15:35:25.640206 Event: init Receiver
+On: 2011-11-03 15:35:25.640226 Event: GSMExt.Voda
+On: 2011-11-03 15:35:25.640277 Event: Init GSM
+On: 2011-11-03 15:35:27.644632 Event: Receiver Greeting
+On: 2011-11-03 15:35:27.647087 Event: Connected to Receiver Handler
+On: 2011-11-03 15:35:27.766127 Event: Receiver Handler respond
+On: 2011-11-03 15:35:27.766411 Event: Receiver handler : Ready
+On: 2011-11-03 15:35:27.766445 Event: Start Call
+On: 2011-11-03 15:35:27.766499 Event: Waiting Feedback
+On: 2011-11-03 15:35:40.928871 Event: Test Succeed
+On: 2011-11-03 15:35:40.928904 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:35:40.929026 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:40:52.628906 ------------------
+On: 2011-11-03 15:40:52.628985 Event: init Caller
+On: 2011-11-03 15:40:52.629010 Event: unisip
+On: 2011-11-03 15:40:54.631887 Event: Caller Greeting
+On: 2011-11-03 15:40:54.632902 Event: Connected to Caller Handler
+On: 2011-11-03 15:40:54.633190 Event: Caller Handler respond
+On: 2011-11-03 15:40:54.634532 Event: Caller handler : Ready
+On: 2011-11-03 15:40:54.634570 Event: init Receiver
+On: 2011-11-03 15:40:54.634590 Event: GSMRZ3
+On: 2011-11-03 15:41:02.644071 Event: Receiver Greeting
+On: 2011-11-03 15:41:02.644655 Event: Connected to Receiver Handler
+On: 2011-11-03 15:41:02.861978 Event: Receiver Handler respond
+On: 2011-11-03 15:41:02.864628 Event: Receiver handler : Ready
+On: 2011-11-03 15:41:02.864676 Event: Start Call
+On: 2011-11-03 15:41:02.864737 Event: Waiting Feedback
+On: 2011-11-03 15:41:08.251563 Event: Test Succeed
+On: 2011-11-03 15:41:08.251618 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:41:08.251836 Event: init Cancel test
+On: 2011-11-03 15:41:11.299752 Event: -- -X- --
+On: 2011-11-03 15:41:11.299819 Event: init Caller
+On: 2011-11-03 15:41:11.299838 Event: GSMRZ1
+On: 2011-11-03 15:41:11.299889 Event: Init GSM
+On: 2011-11-03 15:41:13.303972 Event: Caller Greeting
+On: 2011-11-03 15:41:13.306481 Event: Connected to Caller Handler
+On: 2011-11-03 15:41:13.446132 Event: Caller Handler respond
+On: 2011-11-03 15:41:13.446428 Event: Caller handler : Ready
+On: 2011-11-03 15:41:13.446460 Event: init Receiver
+On: 2011-11-03 15:41:13.446480 Event: GSMExt.Tm
+On: 2011-11-03 15:41:13.446533 Event: Init GSM
+On: 2011-11-03 15:41:15.450688 Event: Receiver Greeting
+On: 2011-11-03 15:41:15.453101 Event: Connected to Receiver Handler
+On: 2011-11-03 15:41:15.566133 Event: Receiver Handler respond
+On: 2011-11-03 15:41:15.566414 Event: Receiver handler : Ready
+On: 2011-11-03 15:41:15.566443 Event: Start Call
+On: 2011-11-03 15:41:15.566494 Event: Waiting Feedback
+On: 2011-11-03 15:41:29.230134 Event: Test Succeed
+On: 2011-11-03 15:41:29.230198 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:41:29.230332 Event: init Cancel test
+On: 2011-11-03 15:41:32.277621 Event: -- -X- --
+On: 2011-11-03 15:41:32.277687 Event: init Caller
+On: 2011-11-03 15:41:32.277704 Event: landline
+On: 2011-11-03 15:41:34.281853 Event: Caller Greeting
+On: 2011-11-03 15:41:34.282569 Event: Connected to Caller Handler
+On: 2011-11-03 15:41:34.282931 Event: Caller Handler respond
+On: 2011-11-03 15:41:34.285689 Event: Caller handler : Ready
+On: 2011-11-03 15:41:34.285724 Event: init Receiver
+On: 2011-11-03 15:41:34.285744 Event: GSMRZ2
+On: 2011-11-03 15:41:42.290297 Event: Receiver Greeting
+On: 2011-11-03 15:41:42.290843 Event: Connected to Receiver Handler
+On: 2011-11-03 15:41:42.501110 Event: Receiver Handler respond
+On: 2011-11-03 15:41:42.503432 Event: Receiver handler : Ready
+On: 2011-11-03 15:41:42.503469 Event: Start Call
+On: 2011-11-03 15:41:42.503530 Event: Waiting Feedback
+On: 2011-11-03 15:41:55.098671 Event: Test Succeed
+On: 2011-11-03 15:41:55.098705 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:41:55.098878 Event: init Cancel test
+On: 2011-11-03 15:41:58.142892 Event: -- -X- --
+On: 2011-11-03 15:41:58.142955 Event: init Caller
+On: 2011-11-03 15:41:58.142974 Event: sip
+On: 2011-11-03 15:42:00.147181 Event: Caller Greeting
+On: 2011-11-03 15:42:00.147996 Event: Connected to Caller Handler
+On: 2011-11-03 15:42:00.148266 Event: Caller Handler respond
+On: 2011-11-03 15:42:00.149366 Event: Caller handler : Ready
+On: 2011-11-03 15:42:00.149401 Event: init Receiver
+On: 2011-11-03 15:42:00.149421 Event: GSMExt.Eplus
+On: 2011-11-03 15:42:00.149475 Event: Init GSM
+On: 2011-11-03 15:42:02.153850 Event: Receiver Greeting
+On: 2011-11-03 15:42:02.156344 Event: Connected to Receiver Handler
+On: 2011-11-03 15:42:02.270202 Event: Receiver Handler respond
+On: 2011-11-03 15:42:02.270488 Event: Receiver handler : Ready
+On: 2011-11-03 15:42:02.270521 Event: Start Call
+On: 2011-11-03 15:42:02.270575 Event: Waiting Feedback
+On: 2011-11-03 15:42:17.271002 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:42:17.271133 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:42:17.271285 Event: init Cancel test
+On: 2011-11-03 15:42:20.314236 Event: -- -X- --
+On: 2011-11-03 15:42:20.314299 Event: init Caller
+On: 2011-11-03 15:42:20.314318 Event: sip
+On: 2011-11-03 15:42:22.318458 Event: Caller Greeting
+On: 2011-11-03 15:42:22.319151 Event: Connected to Caller Handler
+On: 2011-11-03 15:42:22.319513 Event: Caller Handler respond
+On: 2011-11-03 15:42:22.320250 Event: Caller handler : Ready
+On: 2011-11-03 15:42:22.320284 Event: init Receiver
+On: 2011-11-03 15:42:22.320304 Event: GSMExt.O2
+On: 2011-11-03 15:42:22.320357 Event: Init GSM
+On: 2011-11-03 15:42:24.323227 Event: Receiver Greeting
+On: 2011-11-03 15:42:24.325739 Event: Connected to Receiver Handler
+On: 2011-11-03 15:42:24.442135 Event: Receiver Handler respond
+On: 2011-11-03 15:42:24.442418 Event: Receiver handler : Ready
+On: 2011-11-03 15:42:24.442450 Event: Start Call
+On: 2011-11-03 15:42:24.442501 Event: Waiting Feedback
+On: 2011-11-03 15:42:35.631956 Event: Test Succeed
+On: 2011-11-03 15:42:35.631990 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:42:35.632111 Event: init Cancel test
+On: 2011-11-03 15:42:38.684455 Event: -- -X- --
+On: 2011-11-03 15:42:38.684521 Event: init Caller
+On: 2011-11-03 15:42:38.684540 Event: sip
+On: 2011-11-03 15:42:40.688734 Event: Caller Greeting
+On: 2011-11-03 15:42:40.689431 Event: Connected to Caller Handler
+On: 2011-11-03 15:42:40.689797 Event: Caller Handler respond
+On: 2011-11-03 15:42:40.690755 Event: Caller handler : Ready
+On: 2011-11-03 15:42:40.690793 Event: init Receiver
+On: 2011-11-03 15:42:40.690814 Event: GSMExt.Voda
+On: 2011-11-03 15:42:40.690868 Event: Init GSM
+On: 2011-11-03 15:42:42.694009 Event: Receiver Greeting
+On: 2011-11-03 15:42:42.696473 Event: Connected to Receiver Handler
+On: 2011-11-03 15:42:42.814164 Event: Receiver Handler respond
+On: 2011-11-03 15:42:42.814454 Event: Receiver handler : Ready
+On: 2011-11-03 15:42:42.814487 Event: Start Call
+On: 2011-11-03 15:42:42.814541 Event: Waiting Feedback
+On: 2011-11-03 15:42:55.777596 Event: Test Succeed
+On: 2011-11-03 15:42:55.777630 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:42:55.777753 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:48:23.042605 ------------------
+On: 2011-11-03 15:48:23.042682 Event: init Caller
+On: 2011-11-03 15:48:23.042708 Event: unisip
+On: 2011-11-03 15:48:25.046014 Event: Caller Greeting
+On: 2011-11-03 15:48:25.046975 Event: Connected to Caller Handler
+On: 2011-11-03 15:48:25.047251 Event: Caller Handler respond
+On: 2011-11-03 15:48:25.047999 Event: Caller handler : Ready
+On: 2011-11-03 15:48:25.048037 Event: init Receiver
+On: 2011-11-03 15:48:25.048058 Event: GSMRZ3
+On: 2011-11-03 15:48:33.058619 Event: Receiver Greeting
+On: 2011-11-03 15:48:33.059197 Event: Connected to Receiver Handler
+On: 2011-11-03 15:48:33.273046 Event: Receiver Handler respond
+On: 2011-11-03 15:48:33.275682 Event: Receiver handler : Ready
+On: 2011-11-03 15:48:33.275721 Event: Start Call
+On: 2011-11-03 15:48:33.275778 Event: Waiting Feedback
+On: 2011-11-03 15:48:38.998431 Event: Test Succeed
+On: 2011-11-03 15:48:38.998487 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:48:38.998690 Event: init Cancel test
+On: 2011-11-03 15:48:42.046370 Event: -- -X- --
+On: 2011-11-03 15:48:42.046436 Event: init Caller
+On: 2011-11-03 15:48:42.046455 Event: GSMRZ1
+On: 2011-11-03 15:48:42.046505 Event: Init GSM
+On: 2011-11-03 15:48:44.050541 Event: Caller Greeting
+On: 2011-11-03 15:48:44.053033 Event: Connected to Caller Handler
+On: 2011-11-03 15:48:44.194126 Event: Caller Handler respond
+On: 2011-11-03 15:48:44.194422 Event: Caller handler : Ready
+On: 2011-11-03 15:48:44.194455 Event: init Receiver
+On: 2011-11-03 15:48:44.194475 Event: GSMExt.Tm
+On: 2011-11-03 15:48:44.194529 Event: Init GSM
+On: 2011-11-03 15:48:46.198707 Event: Receiver Greeting
+On: 2011-11-03 15:48:46.201166 Event: Connected to Receiver Handler
+On: 2011-11-03 15:48:46.318135 Event: Receiver Handler respond
+On: 2011-11-03 15:48:46.318420 Event: Receiver handler : Ready
+On: 2011-11-03 15:48:46.318450 Event: Start Call
+On: 2011-11-03 15:48:46.318502 Event: Waiting Feedback
+On: 2011-11-03 15:48:59.402133 Event: Test Succeed
+On: 2011-11-03 15:48:59.402184 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:48:59.402333 Event: init Cancel test
+On: 2011-11-03 15:49:02.449390 Event: -- -X- --
+On: 2011-11-03 15:49:02.449454 Event: init Caller
+On: 2011-11-03 15:49:02.449473 Event: landline
+On: 2011-11-03 15:49:04.453618 Event: Caller Greeting
+On: 2011-11-03 15:49:04.454343 Event: Connected to Caller Handler
+On: 2011-11-03 15:49:04.454706 Event: Caller Handler respond
+On: 2011-11-03 15:49:04.457057 Event: Caller handler : Ready
+On: 2011-11-03 15:49:04.457095 Event: init Receiver
+On: 2011-11-03 15:49:04.457116 Event: GSMRZ2
+On: 2011-11-03 15:49:12.462009 Event: Receiver Greeting
+On: 2011-11-03 15:49:12.462552 Event: Connected to Receiver Handler
+On: 2011-11-03 15:49:12.678317 Event: Receiver Handler respond
+On: 2011-11-03 15:49:12.680594 Event: Receiver handler : Ready
+On: 2011-11-03 15:49:12.680648 Event: Start Call
+On: 2011-11-03 15:49:12.680712 Event: Waiting Feedback
+On: 2011-11-03 15:49:21.224053 Event: Test Succeed
+On: 2011-11-03 15:49:21.224088 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:49:21.224262 Event: init Cancel test
+On: 2011-11-03 15:49:24.267491 Event: -- -X- --
+On: 2011-11-03 15:49:24.267552 Event: init Caller
+On: 2011-11-03 15:49:24.267571 Event: sip
+On: 2011-11-03 15:49:26.271707 Event: Caller Greeting
+On: 2011-11-03 15:49:26.272407 Event: Connected to Caller Handler
+On: 2011-11-03 15:49:26.272774 Event: Caller Handler respond
+On: 2011-11-03 15:49:26.273532 Event: Caller handler : Ready
+On: 2011-11-03 15:49:26.273569 Event: init Receiver
+On: 2011-11-03 15:49:26.273589 Event: GSMExt.Eplus
+On: 2011-11-03 15:49:26.273643 Event: Init GSM
+On: 2011-11-03 15:49:28.277994 Event: Receiver Greeting
+On: 2011-11-03 15:49:28.280430 Event: Connected to Receiver Handler
+On: 2011-11-03 15:49:28.370208 Event: Receiver Handler respond
+On: 2011-11-03 15:49:28.370497 Event: Receiver handler : Ready
+On: 2011-11-03 15:49:28.370531 Event: Start Call
+On: 2011-11-03 15:49:28.370586 Event: Waiting Feedback
+On: 2011-11-03 15:49:43.371022 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:49:43.371150 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:49:43.371300 Event: init Cancel test
+On: 2011-11-03 15:49:46.414988 Event: -- -X- --
+On: 2011-11-03 15:49:46.415050 Event: init Caller
+On: 2011-11-03 15:49:46.415069 Event: sip
+On: 2011-11-03 15:49:48.419220 Event: Caller Greeting
+On: 2011-11-03 15:49:48.420023 Event: Connected to Caller Handler
+On: 2011-11-03 15:49:48.420301 Event: Caller Handler respond
+On: 2011-11-03 15:49:48.421035 Event: Caller handler : Ready
+On: 2011-11-03 15:49:48.421073 Event: init Receiver
+On: 2011-11-03 15:49:48.421093 Event: GSMExt.O2
+On: 2011-11-03 15:49:48.421147 Event: Init GSM
+On: 2011-11-03 15:49:50.425554 Event: Receiver Greeting
+On: 2011-11-03 15:49:50.427719 Event: Connected to Receiver Handler
+On: 2011-11-03 15:49:55.441322 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 15:49:55.441364 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 15:49:55.441388 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:49:55.441519 Event: init Cancel test
+On: 2011-11-03 15:49:58.491136 Event: -- -X- --
+On: 2011-11-03 15:49:58.491199 Event: init Caller
+On: 2011-11-03 15:49:58.491218 Event: sip
+On: 2011-11-03 15:50:00.494605 Event: Caller Greeting
+On: 2011-11-03 15:50:00.495323 Event: Connected to Caller Handler
+On: 2011-11-03 15:50:00.495727 Event: Caller Handler respond
+On: 2011-11-03 15:50:00.496482 Event: Caller handler : Ready
+On: 2011-11-03 15:50:00.496520 Event: init Receiver
+On: 2011-11-03 15:50:00.496541 Event: GSMExt.Voda
+On: 2011-11-03 15:50:00.496594 Event: Init GSM
+On: 2011-11-03 15:50:02.501002 Event: Receiver Greeting
+On: 2011-11-03 15:50:02.503485 Event: Connected to Receiver Handler
+On: 2011-11-03 15:50:02.622164 Event: Receiver Handler respond
+On: 2011-11-03 15:50:02.622450 Event: Receiver handler : Ready
+On: 2011-11-03 15:50:02.622483 Event: Start Call
+On: 2011-11-03 15:50:02.622538 Event: Waiting Feedback
+On: 2011-11-03 15:50:16.002600 Event: Test Succeed
+On: 2011-11-03 15:50:16.002634 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:50:16.002755 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:55:59.388652 ------------------
+On: 2011-11-03 15:55:59.388725 Event: init Caller
+On: 2011-11-03 15:55:59.388749 Event: unisip
+On: 2011-11-03 15:56:01.392888 Event: Caller Greeting
+On: 2011-11-03 15:56:01.393825 Event: Connected to Caller Handler
+On: 2011-11-03 15:56:01.394143 Event: Caller Handler respond
+On: 2011-11-03 15:56:01.394891 Event: Caller handler : Ready
+On: 2011-11-03 15:56:01.394930 Event: init Receiver
+On: 2011-11-03 15:56:01.394949 Event: GSMRZ2
+On: 2011-11-03 15:56:09.404573 Event: Receiver Greeting
+On: 2011-11-03 15:56:09.405134 Event: Connected to Receiver Handler
+On: 2011-11-03 15:56:09.619754 Event: Receiver Handler respond
+On: 2011-11-03 15:56:09.622071 Event: Receiver handler : Ready
+On: 2011-11-03 15:56:09.622109 Event: Start Call
+On: 2011-11-03 15:56:09.622165 Event: Waiting Feedback
+On: 2011-11-03 15:56:14.947471 Event: Test Succeed
+On: 2011-11-03 15:56:14.947526 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:56:14.947722 Event: init Cancel test
+On: 2011-11-03 15:56:17.995114 Event: -- -X- --
+On: 2011-11-03 15:56:17.995178 Event: init Caller
+On: 2011-11-03 15:56:17.995196 Event: GSMRZ1
+On: 2011-11-03 15:56:17.995243 Event: Init GSM
+On: 2011-11-03 15:56:19.999319 Event: Caller Greeting
+On: 2011-11-03 15:56:20.001740 Event: Connected to Caller Handler
+On: 2011-11-03 15:56:20.146132 Event: Caller Handler respond
+On: 2011-11-03 15:56:20.146426 Event: Caller handler : Ready
+On: 2011-11-03 15:56:20.146456 Event: init Receiver
+On: 2011-11-03 15:56:20.146475 Event: GSMExt.Voda
+On: 2011-11-03 15:56:20.146525 Event: Init GSM
+On: 2011-11-03 15:56:22.150630 Event: Receiver Greeting
+On: 2011-11-03 15:56:22.153253 Event: Connected to Receiver Handler
+On: 2011-11-03 15:56:22.274160 Event: Receiver Handler respond
+On: 2011-11-03 15:56:22.274449 Event: Receiver handler : Ready
+On: 2011-11-03 15:56:22.274479 Event: Start Call
+On: 2011-11-03 15:56:22.274530 Event: Waiting Feedback
+On: 2011-11-03 15:56:35.474136 Event: Test Succeed
+On: 2011-11-03 15:56:35.474187 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:56:35.474336 Event: init Cancel test
+On: 2011-11-03 15:56:38.524422 Event: -- -X- --
+On: 2011-11-03 15:56:38.524485 Event: init Caller
+On: 2011-11-03 15:56:38.524502 Event: landline
+On: 2011-11-03 15:56:40.528590 Event: Caller Greeting
+On: 2011-11-03 15:56:40.529259 Event: Connected to Caller Handler
+On: 2011-11-03 15:56:40.529622 Event: Caller Handler respond
+On: 2011-11-03 15:56:40.532811 Event: Caller handler : Ready
+On: 2011-11-03 15:56:40.532849 Event: init Receiver
+On: 2011-11-03 15:56:40.532868 Event: GSMRZ3
+On: 2011-11-03 15:56:48.540952 Event: Receiver Greeting
+On: 2011-11-03 15:56:48.541484 Event: Connected to Receiver Handler
+On: 2011-11-03 15:56:48.747351 Event: Receiver Handler respond
+On: 2011-11-03 15:56:48.750034 Event: Receiver handler : Ready
+On: 2011-11-03 15:56:48.750070 Event: Start Call
+On: 2011-11-03 15:56:48.750126 Event: Waiting Feedback
+On: 2011-11-03 15:56:56.486799 Event: Test Succeed
+On: 2011-11-03 15:56:56.486832 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:56:56.487003 Event: init Cancel test
+On: 2011-11-03 15:56:59.530364 Event: -- -X- --
+On: 2011-11-03 15:56:59.530424 Event: init Caller
+On: 2011-11-03 15:56:59.530442 Event: sip
+On: 2011-11-03 15:57:01.534553 Event: Caller Greeting
+On: 2011-11-03 15:57:01.535292 Event: Connected to Caller Handler
+On: 2011-11-03 15:57:01.535652 Event: Caller Handler respond
+On: 2011-11-03 15:57:01.536772 Event: Caller handler : Ready
+On: 2011-11-03 15:57:01.536809 Event: init Receiver
+On: 2011-11-03 15:57:01.536828 Event: GSMExt.Eplus
+On: 2011-11-03 15:57:01.536880 Event: Init GSM
+On: 2011-11-03 15:57:03.541180 Event: Receiver Greeting
+On: 2011-11-03 15:57:03.543643 Event: Connected to Receiver Handler
+On: 2011-11-03 15:57:03.658205 Event: Receiver Handler respond
+On: 2011-11-03 15:57:03.658495 Event: Receiver handler : Ready
+On: 2011-11-03 15:57:03.658528 Event: Start Call
+On: 2011-11-03 15:57:03.658581 Event: Waiting Feedback
+On: 2011-11-03 15:57:18.659017 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 15:57:18.659141 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:57:18.659290 Event: init Cancel test
+On: 2011-11-03 15:57:21.702780 Event: -- -X- --
+On: 2011-11-03 15:57:21.702841 Event: init Caller
+On: 2011-11-03 15:57:21.702858 Event: sip
+On: 2011-11-03 15:57:23.706895 Event: Caller Greeting
+On: 2011-11-03 15:57:23.707690 Event: Connected to Caller Handler
+On: 2011-11-03 15:57:23.707965 Event: Caller Handler respond
+On: 2011-11-03 15:57:23.708715 Event: Caller handler : Ready
+On: 2011-11-03 15:57:23.708754 Event: init Receiver
+On: 2011-11-03 15:57:23.708773 Event: GSMExt.O2
+On: 2011-11-03 15:57:23.708824 Event: Init GSM
+On: 2011-11-03 15:57:25.713133 Event: Receiver Greeting
+On: 2011-11-03 15:57:25.715653 Event: Connected to Receiver Handler
+On: 2011-11-03 15:57:30.728755 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 15:57:30.728797 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 15:57:30.728819 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:57:30.728947 Event: init Cancel test
+On: 2011-11-03 15:57:33.774871 Event: -- -X- --
+On: 2011-11-03 15:57:33.774930 Event: init Caller
+On: 2011-11-03 15:57:33.774947 Event: sip
+On: 2011-11-03 15:57:35.778006 Event: Caller Greeting
+On: 2011-11-03 15:57:35.778686 Event: Connected to Caller Handler
+On: 2011-11-03 15:57:35.779051 Event: Caller Handler respond
+On: 2011-11-03 15:57:35.780163 Event: Caller handler : Ready
+On: 2011-11-03 15:57:35.780202 Event: init Receiver
+On: 2011-11-03 15:57:35.780221 Event: GSMExt.Tm
+On: 2011-11-03 15:57:35.780272 Event: Init GSM
+On: 2011-11-03 15:57:37.784608 Event: Receiver Greeting
+On: 2011-11-03 15:57:37.787058 Event: Connected to Receiver Handler
+On: 2011-11-03 15:57:37.898545 Event: Receiver Handler respond
+On: 2011-11-03 15:57:37.898837 Event: Receiver handler : Ready
+On: 2011-11-03 15:57:37.898872 Event: Start Call
+On: 2011-11-03 15:57:37.898925 Event: Waiting Feedback
+On: 2011-11-03 15:57:52.710630 Event: Test Succeed
+On: 2011-11-03 15:57:52.710666 Event: TERMINATE CONNECTION
+On: 2011-11-03 15:57:52.710787 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:03:22.896332 ------------------
+On: 2011-11-03 16:03:22.896413 Event: init Caller
+On: 2011-11-03 16:03:22.896437 Event: unisip
+On: 2011-11-03 16:03:24.900617 Event: Caller Greeting
+On: 2011-11-03 16:03:24.901579 Event: Connected to Caller Handler
+On: 2011-11-03 16:03:24.901862 Event: Caller Handler respond
+On: 2011-11-03 16:03:24.902815 Event: Caller handler : Ready
+On: 2011-11-03 16:03:24.902863 Event: init Receiver
+On: 2011-11-03 16:03:24.902883 Event: GSMRZ1
+On: 2011-11-03 16:03:24.902934 Event: Init GSM
+On: 2011-11-03 16:03:26.906010 Event: Receiver Greeting
+On: 2011-11-03 16:03:26.908547 Event: Connected to Receiver Handler
+On: 2011-11-03 16:03:27.050136 Event: Receiver Handler respond
+On: 2011-11-03 16:03:27.050426 Event: Receiver handler : Ready
+On: 2011-11-03 16:03:27.050458 Event: Start Call
+On: 2011-11-03 16:03:27.050510 Event: Waiting Feedback
+On: 2011-11-03 16:03:32.774202 Event: Test Succeed
+On: 2011-11-03 16:03:32.774257 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:03:32.774413 Event: init Cancel test
+On: 2011-11-03 16:03:35.818019 Event: -- -X- --
+On: 2011-11-03 16:03:35.818099 Event: init Caller
+On: 2011-11-03 16:03:35.818117 Event: GSMRZ2
+On: 2011-11-03 16:03:43.826013 Event: Caller Greeting
+On: 2011-11-03 16:03:43.826546 Event: Connected to Caller Handler
+On: 2011-11-03 16:03:44.039097 Event: Caller Handler respond
+On: 2011-11-03 16:03:44.041399 Event: Caller handler : Ready
+On: 2011-11-03 16:03:44.041435 Event: init Receiver
+On: 2011-11-03 16:03:44.041455 Event: GSMExt.Voda
+On: 2011-11-03 16:03:44.041506 Event: Init GSM
+On: 2011-11-03 16:03:46.045659 Event: Receiver Greeting
+On: 2011-11-03 16:03:46.048243 Event: Connected to Receiver Handler
+On: 2011-11-03 16:03:46.166164 Event: Receiver Handler respond
+On: 2011-11-03 16:03:46.166461 Event: Receiver handler : Ready
+On: 2011-11-03 16:03:46.166493 Event: Start Call
+On: 2011-11-03 16:03:46.166646 Event: Waiting Feedback
+On: 2011-11-03 16:03:58.984681 Event: Test Succeed
+On: 2011-11-03 16:03:58.984740 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:03:58.985402 Event: init Cancel test
+On: 2011-11-03 16:04:02.035214 Event: -- -X- --
+On: 2011-11-03 16:04:02.035278 Event: init Caller
+On: 2011-11-03 16:04:02.035295 Event: landline
+On: 2011-11-03 16:04:04.039367 Event: Caller Greeting
+On: 2011-11-03 16:04:04.040066 Event: Connected to Caller Handler
+On: 2011-11-03 16:04:04.040445 Event: Caller Handler respond
+On: 2011-11-03 16:04:04.043274 Event: Caller handler : Ready
+On: 2011-11-03 16:04:04.043313 Event: init Receiver
+On: 2011-11-03 16:04:04.043332 Event: GSMRZ3
+On: 2011-11-03 16:04:12.046244 Event: Receiver Greeting
+On: 2011-11-03 16:04:12.046778 Event: Connected to Receiver Handler
+On: 2011-11-03 16:04:12.276072 Event: Receiver Handler respond
+On: 2011-11-03 16:04:12.278362 Event: Receiver handler : Ready
+On: 2011-11-03 16:04:12.278398 Event: Start Call
+On: 2011-11-03 16:04:12.278458 Event: Waiting Feedback
+On: 2011-11-03 16:04:40.814944 Event: Test Failed
+On: 2011-11-03 16:04:40.814994 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:04:40.815189 Event: init Cancel test
+On: 2011-11-03 16:04:43.860643 Event: -- -X- --
+On: 2011-11-03 16:04:43.860706 Event: init Caller
+On: 2011-11-03 16:04:43.860724 Event: sip
+On: 2011-11-03 16:04:45.864949 Event: Caller Greeting
+On: 2011-11-03 16:04:45.865645 Event: Connected to Caller Handler
+On: 2011-11-03 16:04:45.866220 Event: Caller Handler respond
+On: 2011-11-03 16:04:45.867055 Event: Caller handler : Ready
+On: 2011-11-03 16:04:45.867093 Event: init Receiver
+On: 2011-11-03 16:04:45.867112 Event: GSMExt.Eplus
+On: 2011-11-03 16:04:45.867164 Event: Init GSM
+On: 2011-11-03 16:04:47.870011 Event: Receiver Greeting
+On: 2011-11-03 16:04:47.872543 Event: Connected to Receiver Handler
+On: 2011-11-03 16:04:47.994166 Event: Receiver Handler respond
+On: 2011-11-03 16:04:47.994466 Event: Receiver handler : Ready
+On: 2011-11-03 16:04:47.994500 Event: Start Call
+On: 2011-11-03 16:04:47.994553 Event: Waiting Feedback
+On: 2011-11-03 16:05:02.995007 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 16:05:02.995142 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:05:02.995294 Event: init Cancel test
+On: 2011-11-03 16:05:06.038589 Event: -- -X- --
+On: 2011-11-03 16:05:06.038652 Event: init Caller
+On: 2011-11-03 16:05:06.038670 Event: sip
+On: 2011-11-03 16:05:08.042822 Event: Caller Greeting
+On: 2011-11-03 16:05:08.043515 Event: Connected to Caller Handler
+On: 2011-11-03 16:05:08.043898 Event: Caller Handler respond
+On: 2011-11-03 16:05:08.044683 Event: Caller handler : Ready
+On: 2011-11-03 16:05:08.044723 Event: init Receiver
+On: 2011-11-03 16:05:08.044743 Event: GSMExt.O2
+On: 2011-11-03 16:05:08.044794 Event: Init GSM
+On: 2011-11-03 16:05:10.049206 Event: Receiver Greeting
+On: 2011-11-03 16:05:10.051809 Event: Connected to Receiver Handler
+On: 2011-11-03 16:05:10.150165 Event: Receiver Handler respond
+On: 2011-11-03 16:05:10.150465 Event: Receiver handler : Ready
+On: 2011-11-03 16:05:10.150497 Event: Start Call
+On: 2011-11-03 16:05:10.150548 Event: Waiting Feedback
+On: 2011-11-03 16:05:22.972315 Event: Test Succeed
+On: 2011-11-03 16:05:22.972351 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:05:22.972473 Event: init Cancel test
+On: 2011-11-03 16:05:26.025927 Event: -- -X- --
+On: 2011-11-03 16:05:26.026052 Event: init Caller
+On: 2011-11-03 16:05:26.026071 Event: sip
+On: 2011-11-03 16:05:28.030030 Event: Caller Greeting
+On: 2011-11-03 16:05:28.030736 Event: Connected to Caller Handler
+On: 2011-11-03 16:05:28.031116 Event: Caller Handler respond
+On: 2011-11-03 16:05:28.031894 Event: Caller handler : Ready
+On: 2011-11-03 16:05:28.031934 Event: init Receiver
+On: 2011-11-03 16:05:28.031954 Event: GSMExt.Tm
+On: 2011-11-03 16:05:28.032004 Event: Init GSM
+On: 2011-11-03 16:05:30.036397 Event: Receiver Greeting
+On: 2011-11-03 16:05:30.038999 Event: Connected to Receiver Handler
+On: 2011-11-03 16:05:30.130196 Event: Receiver Handler respond
+On: 2011-11-03 16:05:30.130486 Event: Receiver handler : Ready
+On: 2011-11-03 16:05:30.130518 Event: Start Call
+On: 2011-11-03 16:05:30.130572 Event: Waiting Feedback
+On: 2011-11-03 16:05:45.363363 Event: Test Succeed
+On: 2011-11-03 16:05:45.363399 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:05:45.363520 Event: init Cancel test
+On: 2011-11-03 16:05:48.401395 Event: -- -X- --
+On: 2011-11-03 16:05:48.401460 Event: init Caller
+On: 2011-11-03 16:05:48.401478 Event: sip
+On: 2011-11-03 16:05:50.405645 Event: Caller Greeting
+On: 2011-11-03 16:05:50.406497 Event: Connected to Caller Handler
+On: 2011-11-03 16:05:50.406784 Event: Caller Handler respond
+On: 2011-11-03 16:05:50.407545 Event: Caller handler : Ready
+On: 2011-11-03 16:05:50.407583 Event: init Receiver
+On: 2011-11-03 16:05:50.407603 Event: GSMRZ3
+On: 2011-11-03 16:05:58.416069 Event: Receiver Greeting
+On: 2011-11-03 16:05:58.416616 Event: Connected to Receiver Handler
+On: 2011-11-03 16:05:58.647919 Event: Receiver Handler respond
+On: 2011-11-03 16:05:58.650545 Event: Receiver handler : Ready
+On: 2011-11-03 16:05:58.650583 Event: Start Call
+On: 2011-11-03 16:05:58.650642 Event: Waiting Feedback
+On: 2011-11-03 16:06:04.139886 Event: Test Succeed
+On: 2011-11-03 16:06:04.139945 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:06:04.140123 Event: init Cancel test
+On: 2011-11-03 16:06:07.190170 Event: -- -X- --
+On: 2011-11-03 16:06:07.190237 Event: init Caller
+On: 2011-11-03 16:06:07.190254 Event: sip
+On: 2011-11-03 16:06:09.194009 Event: Caller Greeting
+On: 2011-11-03 16:06:09.194832 Event: Connected to Caller Handler
+On: 2011-11-03 16:06:09.195119 Event: Caller Handler respond
+On: 2011-11-03 16:06:09.195894 Event: Caller handler : Ready
+On: 2011-11-03 16:06:09.195932 Event: init Receiver
+On: 2011-11-03 16:06:09.195952 Event: landline
+On: 2011-11-03 16:06:11.200437 Event: Receiver Greeting
+On: 2011-11-03 16:06:11.201244 Event: Connected to Receiver Handler
+On: 2011-11-03 16:06:11.201531 Event: Receiver Handler respond
+On: 2011-11-03 16:06:11.204239 Event: Receiver handler : Ready
+On: 2011-11-03 16:06:11.204278 Event: Start Call
+On: 2011-11-03 16:06:11.204334 Event: Waiting Feedback
+On: 2011-11-03 16:06:20.268081 Event: Test Succeed
+On: 2011-11-03 16:06:20.268212 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:06:20.268354 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:10:53.500172 ------------------
+On: 2011-11-03 16:10:53.500248 Event: init Caller
+On: 2011-11-03 16:10:53.500271 Event: unisip
+On: 2011-11-03 16:10:55.504415 Event: Caller Greeting
+On: 2011-11-03 16:10:55.505375 Event: Connected to Caller Handler
+On: 2011-11-03 16:10:55.505657 Event: Caller Handler respond
+On: 2011-11-03 16:10:55.507006 Event: Caller handler : Ready
+On: 2011-11-03 16:10:55.507047 Event: init Receiver
+On: 2011-11-03 16:10:55.507065 Event: GSMRZ3
+On: 2011-11-03 16:11:03.510521 Event: Receiver Greeting
+On: 2011-11-03 16:11:03.511109 Event: Connected to Receiver Handler
+On: 2011-11-03 16:11:03.739954 Event: Receiver Handler respond
+On: 2011-11-03 16:11:03.742564 Event: Receiver handler : Ready
+On: 2011-11-03 16:11:03.742601 Event: Start Call
+On: 2011-11-03 16:11:03.742662 Event: Waiting Feedback
+On: 2011-11-03 16:11:08.966177 Event: Test Succeed
+On: 2011-11-03 16:11:08.966241 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:11:08.966439 Event: init Cancel test
+On: 2011-11-03 16:11:12.014407 Event: -- -X- --
+On: 2011-11-03 16:11:12.014469 Event: init Caller
+On: 2011-11-03 16:11:12.014486 Event: GSMRZ1
+On: 2011-11-03 16:11:12.014532 Event: Init GSM
+On: 2011-11-03 16:11:14.018746 Event: Caller Greeting
+On: 2011-11-03 16:11:14.021234 Event: Connected to Caller Handler
+On: 2011-11-03 16:11:14.138154 Event: Caller Handler respond
+On: 2011-11-03 16:11:14.138433 Event: Caller handler : Ready
+On: 2011-11-03 16:11:14.138465 Event: init Receiver
+On: 2011-11-03 16:11:14.138484 Event: GSMExt.Voda
+On: 2011-11-03 16:11:14.138533 Event: Init GSM
+On: 2011-11-03 16:11:16.142770 Event: Receiver Greeting
+On: 2011-11-03 16:11:16.145260 Event: Connected to Receiver Handler
+On: 2011-11-03 16:11:16.242138 Event: Receiver Handler respond
+On: 2011-11-03 16:11:16.242426 Event: Receiver handler : Ready
+On: 2011-11-03 16:11:16.242457 Event: Start Call
+On: 2011-11-03 16:11:16.242508 Event: Waiting Feedback
+On: 2011-11-03 16:11:29.294115 Event: Test Succeed
+On: 2011-11-03 16:11:29.294171 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:11:29.294304 Event: init Cancel test
+On: 2011-11-03 16:11:32.342337 Event: -- -X- --
+On: 2011-11-03 16:11:32.342397 Event: init Caller
+On: 2011-11-03 16:11:32.342415 Event: landline
+On: 2011-11-03 16:11:34.346587 Event: Caller Greeting
+On: 2011-11-03 16:11:34.347292 Event: Connected to Caller Handler
+On: 2011-11-03 16:11:34.347670 Event: Caller Handler respond
+On: 2011-11-03 16:11:34.350451 Event: Caller handler : Ready
+On: 2011-11-03 16:11:34.350490 Event: init Receiver
+On: 2011-11-03 16:11:34.350510 Event: GSMRZ2
+On: 2011-11-03 16:11:42.360067 Event: Receiver Greeting
+On: 2011-11-03 16:11:42.360621 Event: Connected to Receiver Handler
+On: 2011-11-03 16:11:42.576715 Event: Receiver Handler respond
+On: 2011-11-03 16:11:42.578996 Event: Receiver handler : Ready
+On: 2011-11-03 16:11:42.579033 Event: Start Call
+On: 2011-11-03 16:11:42.579093 Event: Waiting Feedback
+On: 2011-11-03 16:11:50.995881 Event: Test Succeed
+On: 2011-11-03 16:11:50.995918 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:11:50.996095 Event: init Cancel test
+On: 2011-11-03 16:11:54.039036 Event: -- -X- --
+On: 2011-11-03 16:11:54.039097 Event: init Caller
+On: 2011-11-03 16:11:54.039115 Event: sip
+On: 2011-11-03 16:11:56.041401 Event: Caller Greeting
+On: 2011-11-03 16:11:56.042257 Event: Connected to Caller Handler
+On: 2011-11-03 16:11:56.042538 Event: Caller Handler respond
+On: 2011-11-03 16:11:56.043652 Event: Caller handler : Ready
+On: 2011-11-03 16:11:56.043686 Event: init Receiver
+On: 2011-11-03 16:11:56.043705 Event: GSMExt.Eplus
+On: 2011-11-03 16:11:56.043755 Event: Init GSM
+On: 2011-11-03 16:11:58.046010 Event: Receiver Greeting
+On: 2011-11-03 16:11:58.048480 Event: Connected to Receiver Handler
+On: 2011-11-03 16:11:58.162140 Event: Receiver Handler respond
+On: 2011-11-03 16:11:58.162428 Event: Receiver handler : Ready
+On: 2011-11-03 16:11:58.162457 Event: Start Call
+On: 2011-11-03 16:11:58.162510 Event: Waiting Feedback
+On: 2011-11-03 16:12:13.162912 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 16:12:13.163049 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:12:13.163200 Event: init Cancel test
+On: 2011-11-03 16:12:16.206902 Event: -- -X- --
+On: 2011-11-03 16:12:16.206962 Event: init Caller
+On: 2011-11-03 16:12:16.206980 Event: sip
+On: 2011-11-03 16:12:18.209508 Event: Caller Greeting
+On: 2011-11-03 16:12:18.210357 Event: Connected to Caller Handler
+On: 2011-11-03 16:12:18.210644 Event: Caller Handler respond
+On: 2011-11-03 16:12:18.211408 Event: Caller handler : Ready
+On: 2011-11-03 16:12:18.211446 Event: init Receiver
+On: 2011-11-03 16:12:18.211465 Event: GSMExt.O2
+On: 2011-11-03 16:12:18.211517 Event: Init GSM
+On: 2011-11-03 16:12:20.214010 Event: Receiver Greeting
+On: 2011-11-03 16:12:20.216538 Event: Connected to Receiver Handler
+On: 2011-11-03 16:12:20.334138 Event: Receiver Handler respond
+On: 2011-11-03 16:12:20.334435 Event: Receiver handler : Ready
+On: 2011-11-03 16:12:20.334467 Event: Start Call
+On: 2011-11-03 16:12:20.334518 Event: Waiting Feedback
+On: 2011-11-03 16:12:32.271147 Event: Test Succeed
+On: 2011-11-03 16:12:32.271184 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:12:32.271307 Event: init Cancel test
+On: 2011-11-03 16:12:35.314094 Event: -- -X- --
+On: 2011-11-03 16:12:35.314154 Event: init Caller
+On: 2011-11-03 16:12:35.314172 Event: sip
+On: 2011-11-03 16:12:37.318314 Event: Caller Greeting
+On: 2011-11-03 16:12:37.319012 Event: Connected to Caller Handler
+On: 2011-11-03 16:12:37.319393 Event: Caller Handler respond
+On: 2011-11-03 16:12:37.320160 Event: Caller handler : Ready
+On: 2011-11-03 16:12:37.320199 Event: init Receiver
+On: 2011-11-03 16:12:37.320218 Event: GSMExt.Tm
+On: 2011-11-03 16:12:37.320268 Event: Init GSM
+On: 2011-11-03 16:12:39.324471 Event: Receiver Greeting
+On: 2011-11-03 16:12:39.327064 Event: Connected to Receiver Handler
+On: 2011-11-03 16:12:39.438236 Event: Receiver Handler respond
+On: 2011-11-03 16:12:39.438529 Event: Receiver handler : Ready
+On: 2011-11-03 16:12:39.438560 Event: Start Call
+On: 2011-11-03 16:12:39.438614 Event: Waiting Feedback
+On: 2011-11-03 16:12:52.288172 Event: Test Succeed
+On: 2011-11-03 16:12:52.288209 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:12:52.288333 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:21:27.479237 ------------------
+On: 2011-11-03 16:21:27.479313 Event: init Caller
+On: 2011-11-03 16:21:27.479338 Event: unisip
+On: 2011-11-03 16:21:29.483490 Event: Caller Greeting
+On: 2011-11-03 16:21:29.484466 Event: Connected to Caller Handler
+On: 2011-11-03 16:21:29.484750 Event: Caller Handler respond
+On: 2011-11-03 16:21:29.485526 Event: Caller handler : Ready
+On: 2011-11-03 16:21:29.485566 Event: init Receiver
+On: 2011-11-03 16:21:29.485585 Event: GSMRZ1
+On: 2011-11-03 16:21:29.485637 Event: Init GSM
+On: 2011-11-03 16:21:31.490005 Event: Receiver Greeting
+On: 2011-11-03 16:21:31.492576 Event: Connected to Receiver Handler
+On: 2011-11-03 16:21:31.630142 Event: Receiver Handler respond
+On: 2011-11-03 16:21:31.630437 Event: Receiver handler : Ready
+On: 2011-11-03 16:21:31.630468 Event: Start Call
+On: 2011-11-03 16:21:31.630521 Event: Waiting Feedback
+On: 2011-11-03 16:21:36.754148 Event: Test Succeed
+On: 2011-11-03 16:21:36.754205 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:21:36.754360 Event: init Cancel test
+On: 2011-11-03 16:21:39.797820 Event: -- -X- --
+On: 2011-11-03 16:21:39.797885 Event: init Caller
+On: 2011-11-03 16:21:39.797903 Event: GSMRZ2
+On: 2011-11-03 16:21:47.808192 Event: Caller Greeting
+On: 2011-11-03 16:21:47.808760 Event: Connected to Caller Handler
+On: 2011-11-03 16:21:48.026878 Event: Caller Handler respond
+On: 2011-11-03 16:21:48.029165 Event: Caller handler : Ready
+On: 2011-11-03 16:21:48.029201 Event: init Receiver
+On: 2011-11-03 16:21:48.029220 Event: GSMExt.Tm
+On: 2011-11-03 16:21:48.029275 Event: Init GSM
+On: 2011-11-03 16:21:50.033478 Event: Receiver Greeting
+On: 2011-11-03 16:21:50.036067 Event: Connected to Receiver Handler
+On: 2011-11-03 16:21:50.131219 Event: Receiver Handler respond
+On: 2011-11-03 16:21:50.131518 Event: Receiver handler : Ready
+On: 2011-11-03 16:21:50.131549 Event: Start Call
+On: 2011-11-03 16:21:50.131706 Event: Waiting Feedback
+On: 2011-11-03 16:22:03.886927 Event: Test Succeed
+On: 2011-11-03 16:22:03.886986 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:22:03.887651 Event: init Cancel test
+On: 2011-11-03 16:22:06.937281 Event: -- -X- --
+On: 2011-11-03 16:22:06.937346 Event: init Caller
+On: 2011-11-03 16:22:06.937364 Event: landline
+On: 2011-11-03 16:22:08.941528 Event: Caller Greeting
+On: 2011-11-03 16:22:08.942387 Event: Connected to Caller Handler
+On: 2011-11-03 16:22:08.942672 Event: Caller Handler respond
+On: 2011-11-03 16:22:08.945224 Event: Caller handler : Ready
+On: 2011-11-03 16:22:08.945262 Event: init Receiver
+On: 2011-11-03 16:22:08.945281 Event: GSMRZ3
+On: 2011-11-03 16:22:16.953709 Event: Receiver Greeting
+On: 2011-11-03 16:22:16.954416 Event: Connected to Receiver Handler
+On: 2011-11-03 16:22:17.184398 Event: Receiver Handler respond
+On: 2011-11-03 16:22:17.187046 Event: Receiver handler : Ready
+On: 2011-11-03 16:22:17.187083 Event: Start Call
+On: 2011-11-03 16:22:17.187141 Event: Waiting Feedback
+On: 2011-11-03 16:22:24.915116 Event: Test Succeed
+On: 2011-11-03 16:22:24.915152 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:22:24.915335 Event: init Cancel test
+On: 2011-11-03 16:22:27.959971 Event: -- -X- --
+On: 2011-11-03 16:22:27.960031 Event: init Caller
+On: 2011-11-03 16:22:27.960050 Event: sip
+On: 2011-11-03 16:22:29.964271 Event: Caller Greeting
+On: 2011-11-03 16:22:29.964976 Event: Connected to Caller Handler
+On: 2011-11-03 16:22:29.965354 Event: Caller Handler respond
+On: 2011-11-03 16:22:29.966346 Event: Caller handler : Ready
+On: 2011-11-03 16:22:29.966385 Event: init Receiver
+On: 2011-11-03 16:22:29.966405 Event: GSMExt.Eplus
+On: 2011-11-03 16:22:29.966460 Event: Init GSM
+On: 2011-11-03 16:22:31.970102 Event: Receiver Greeting
+On: 2011-11-03 16:22:31.972543 Event: Connected to Receiver Handler
+On: 2011-11-03 16:22:32.090199 Event: Receiver Handler respond
+On: 2011-11-03 16:22:32.090535 Event: Receiver handler : Ready
+On: 2011-11-03 16:22:32.090569 Event: Start Call
+On: 2011-11-03 16:22:32.090624 Event: Waiting Feedback
+On: 2011-11-03 16:22:47.091034 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 16:22:47.091179 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:22:47.091329 Event: init Cancel test
+On: 2011-11-03 16:22:50.135526 Event: -- -X- --
+On: 2011-11-03 16:22:50.135588 Event: init Caller
+On: 2011-11-03 16:22:50.135607 Event: sip
+On: 2011-11-03 16:22:52.139789 Event: Caller Greeting
+On: 2011-11-03 16:22:52.140491 Event: Connected to Caller Handler
+On: 2011-11-03 16:22:52.140869 Event: Caller Handler respond
+On: 2011-11-03 16:22:52.141649 Event: Caller handler : Ready
+On: 2011-11-03 16:22:52.141688 Event: init Receiver
+On: 2011-11-03 16:22:52.141708 Event: GSMExt.O2
+On: 2011-11-03 16:22:52.141761 Event: Init GSM
+On: 2011-11-03 16:22:54.145990 Event: Receiver Greeting
+On: 2011-11-03 16:22:54.148485 Event: Connected to Receiver Handler
+On: 2011-11-03 16:22:54.266178 Event: Receiver Handler respond
+On: 2011-11-03 16:22:54.266570 Event: Receiver handler : Ready
+On: 2011-11-03 16:22:54.266608 Event: Start Call
+On: 2011-11-03 16:22:54.266664 Event: Waiting Feedback
+On: 2011-11-03 16:23:06.543390 Event: Test Succeed
+On: 2011-11-03 16:23:06.543427 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:23:06.543549 Event: init Cancel test
+On: 2011-11-03 16:23:09.587027 Event: -- -X- --
+On: 2011-11-03 16:23:09.587089 Event: init Caller
+On: 2011-11-03 16:23:09.587108 Event: sip
+On: 2011-11-03 16:23:11.591234 Event: Caller Greeting
+On: 2011-11-03 16:23:11.591933 Event: Connected to Caller Handler
+On: 2011-11-03 16:23:11.592314 Event: Caller Handler respond
+On: 2011-11-03 16:23:11.593114 Event: Caller handler : Ready
+On: 2011-11-03 16:23:11.593152 Event: init Receiver
+On: 2011-11-03 16:23:11.593171 Event: GSMExt.Voda
+On: 2011-11-03 16:23:11.593223 Event: Init GSM
+On: 2011-11-03 16:23:13.597655 Event: Receiver Greeting
+On: 2011-11-03 16:23:13.600185 Event: Connected to Receiver Handler
+On: 2011-11-03 16:23:13.726142 Event: Receiver Handler respond
+On: 2011-11-03 16:23:13.726439 Event: Receiver handler : Ready
+On: 2011-11-03 16:23:13.726472 Event: Start Call
+On: 2011-11-03 16:23:13.726525 Event: Waiting Feedback
+On: 2011-11-03 16:23:27.116447 Event: Test Succeed
+On: 2011-11-03 16:23:27.116485 Event: TERMINATE CONNECTION
+On: 2011-11-03 16:23:27.116610 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 17:17:25.208491 ------------------
+On: 2011-11-03 17:17:25.208568 Event: init Caller
+On: 2011-11-03 17:17:25.208589 Event: sip
+On: 2011-11-03 17:17:27.212685 Event: Caller Greeting
+On: 2011-11-03 17:17:27.213602 Event: Cannt connect to Caller
+On: 2011-11-03 17:17:27.213655 Event: 999 General Handler Error: Could not connect to Caller handler
+
+
+------------------STARTED THE LOGGING 2011-11-03 17:18:34.674397 ------------------
+On: 2011-11-03 17:18:34.674477 Event: init Caller
+On: 2011-11-03 17:18:34.674499 Event: sip
+On: 2011-11-03 17:18:36.678275 Event: Caller Greeting
+On: 2011-11-03 17:18:36.679361 Event: Connected to Caller Handler
+On: 2011-11-03 17:18:36.679649 Event: Caller Handler respond
+On: 2011-11-03 17:18:36.680442 Event: Caller handler : Ready
+On: 2011-11-03 17:18:36.680483 Event: init Receiver
+On: 2011-11-03 17:18:36.680502 Event: unisip
+On: 2011-11-03 17:18:38.683612 Event: Receiver Greeting
+On: 2011-11-03 17:18:38.684360 Event: Connected to Receiver Handler
+On: 2011-11-03 17:18:38.684791 Event: Receiver Handler respond
+On: 2011-11-03 17:18:38.685566 Event: Receiver handler : Ready
+On: 2011-11-03 17:18:38.685605 Event: Start Call
+On: 2011-11-03 17:18:38.685665 Event: Waiting Feedback
+On: 2011-11-03 17:18:41.747838 Event: Test Succeed
+On: 2011-11-03 17:18:41.747901 Event: TERMINATE CONNECTION
+On: 2011-11-03 17:18:41.748063 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:46:20.846873 ------------------
+On: 2011-11-03 22:46:20.846947 Event: init Caller
+On: 2011-11-03 22:46:20.846971 Event: unisip
+On: 2011-11-03 22:46:22.851081 Event: Caller Greeting
+On: 2011-11-03 22:46:22.852021 Event: Connected to Caller Handler
+On: 2011-11-03 22:46:22.852293 Event: Caller Handler respond
+On: 2011-11-03 22:46:22.853027 Event: Caller handler : Ready
+On: 2011-11-03 22:46:22.853063 Event: init Receiver
+On: 2011-11-03 22:46:22.853082 Event: GSMRZ1
+On: 2011-11-03 22:46:22.853133 Event: Init GSM
+On: 2011-11-03 22:46:24.857538 Event: Receiver Greeting
+On: 2011-11-03 22:46:24.860011 Event: Connected to Receiver Handler
+On: 2011-11-03 22:46:24.998127 Event: Receiver Handler respond
+On: 2011-11-03 22:46:24.998416 Event: Receiver handler : Ready
+On: 2011-11-03 22:46:24.998445 Event: Start Call
+On: 2011-11-03 22:46:24.998497 Event: Waiting Feedback
+On: 2011-11-03 22:46:29.846155 Event: Test Succeed
+On: 2011-11-03 22:46:29.846208 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:46:29.846363 Event: init Cancel test
+On: 2011-11-03 22:46:32.886462 Event: -- -X- --
+On: 2011-11-03 22:46:32.886522 Event: init Caller
+On: 2011-11-03 22:46:32.886541 Event: GSMRZ2
+On: 2011-11-03 22:46:40.896604 Event: Caller Greeting
+On: 2011-11-03 22:46:40.897151 Event: Connected to Caller Handler
+On: 2011-11-03 22:46:41.108199 Event: Caller Handler respond
+On: 2011-11-03 22:46:41.110580 Event: Caller handler : Ready
+On: 2011-11-03 22:46:41.110615 Event: init Receiver
+On: 2011-11-03 22:46:41.110636 Event: sip
+On: 2011-11-03 22:46:43.114777 Event: Receiver Greeting
+On: 2011-11-03 22:46:43.115443 Event: Connected to Receiver Handler
+On: 2011-11-03 22:46:43.115808 Event: Receiver Handler respond
+On: 2011-11-03 22:46:43.116556 Event: Receiver handler : Ready
+On: 2011-11-03 22:46:43.116593 Event: Start Call
+On: 2011-11-03 22:46:43.116749 Event: Waiting Feedback
+On: 2011-11-03 22:46:46.389155 Event: Test Succeed
+On: 2011-11-03 22:46:46.389217 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:46:46.389879 Event: init Cancel test
+On: 2011-11-03 22:46:49.437130 Event: -- -X- --
+On: 2011-11-03 22:46:49.437193 Event: init Caller
+On: 2011-11-03 22:46:49.437211 Event: landline
+On: 2011-11-03 22:46:51.441362 Event: Caller Greeting
+On: 2011-11-03 22:46:51.442177 Event: Connected to Caller Handler
+On: 2011-11-03 22:46:51.442454 Event: Caller Handler respond
+On: 2011-11-03 22:46:51.444405 Event: Caller handler : Ready
+On: 2011-11-03 22:46:51.444444 Event: init Receiver
+On: 2011-11-03 22:46:51.444464 Event: GSMRZ3
+On: 2011-11-03 22:46:59.454880 Event: Receiver Greeting
+On: 2011-11-03 22:46:59.455404 Event: Connected to Receiver Handler
+On: 2011-11-03 22:46:59.685421 Event: Receiver Handler respond
+On: 2011-11-03 22:46:59.688030 Event: Receiver handler : Ready
+On: 2011-11-03 22:46:59.688066 Event: Start Call
+On: 2011-11-03 22:46:59.688126 Event: Waiting Feedback
+On: 2011-11-03 22:47:07.348961 Event: Test Succeed
+On: 2011-11-03 22:47:07.349000 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:47:07.349175 Event: init Cancel test
+On: 2011-11-03 22:47:10.393733 Event: -- -X- --
+On: 2011-11-03 22:47:10.393792 Event: init Caller
+On: 2011-11-03 22:47:10.393811 Event: sip
+On: 2011-11-03 22:47:12.398050 Event: Caller Greeting
+On: 2011-11-03 22:47:12.398730 Event: Connected to Caller Handler
+On: 2011-11-03 22:47:12.399095 Event: Caller Handler respond
+On: 2011-11-03 22:47:12.399844 Event: Caller handler : Ready
+On: 2011-11-03 22:47:12.399882 Event: init Receiver
+On: 2011-11-03 22:47:12.399902 Event: GSMExt.Eplus
+On: 2011-11-03 22:47:12.399953 Event: Init GSM
+On: 2011-11-03 22:47:14.403970 Event: Receiver Greeting
+On: 2011-11-03 22:47:14.406486 Event: Connected to Receiver Handler
+On: 2011-11-03 22:47:14.506131 Event: Receiver Handler respond
+On: 2011-11-03 22:47:14.506425 Event: Receiver handler : Ready
+On: 2011-11-03 22:47:14.506457 Event: Start Call
+On: 2011-11-03 22:47:14.506511 Event: Waiting Feedback
+On: 2011-11-03 22:47:29.506921 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 22:47:29.506978 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:47:29.507193 Event: init Cancel test
+On: 2011-11-03 22:47:32.550233 Event: -- -X- --
+On: 2011-11-03 22:47:32.550293 Event: init Caller
+On: 2011-11-03 22:47:32.550311 Event: sip
+On: 2011-11-03 22:47:34.554446 Event: Caller Greeting
+On: 2011-11-03 22:47:34.555122 Event: Connected to Caller Handler
+On: 2011-11-03 22:47:34.555483 Event: Caller Handler respond
+On: 2011-11-03 22:47:34.556240 Event: Caller handler : Ready
+On: 2011-11-03 22:47:34.556278 Event: init Receiver
+On: 2011-11-03 22:47:34.556298 Event: GSMExt.O2
+On: 2011-11-03 22:47:34.556349 Event: Init GSM
+On: 2011-11-03 22:47:36.560710 Event: Receiver Greeting
+On: 2011-11-03 22:47:36.563176 Event: Connected to Receiver Handler
+On: 2011-11-03 22:47:36.658131 Event: Receiver Handler respond
+On: 2011-11-03 22:47:36.658424 Event: Receiver handler : Ready
+On: 2011-11-03 22:47:36.658456 Event: Start Call
+On: 2011-11-03 22:47:36.658507 Event: Waiting Feedback
+On: 2011-11-03 22:47:49.127903 Event: Test Succeed
+On: 2011-11-03 22:47:49.127941 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:47:49.128063 Event: init Cancel test
+On: 2011-11-03 22:47:52.170880 Event: -- -X- --
+On: 2011-11-03 22:47:52.170940 Event: init Caller
+On: 2011-11-03 22:47:52.170959 Event: sip
+On: 2011-11-03 22:47:54.175115 Event: Caller Greeting
+On: 2011-11-03 22:47:54.175788 Event: Connected to Caller Handler
+On: 2011-11-03 22:47:54.176148 Event: Caller Handler respond
+On: 2011-11-03 22:47:54.176897 Event: Caller handler : Ready
+On: 2011-11-03 22:47:54.176937 Event: init Receiver
+On: 2011-11-03 22:47:54.176956 Event: GSMExt.Tm
+On: 2011-11-03 22:47:54.177007 Event: Init GSM
+On: 2011-11-03 22:47:56.181362 Event: Receiver Greeting
+On: 2011-11-03 22:47:56.183890 Event: Connected to Receiver Handler
+On: 2011-11-03 22:47:56.306133 Event: Receiver Handler respond
+On: 2011-11-03 22:47:56.306423 Event: Receiver handler : Ready
+On: 2011-11-03 22:47:56.306455 Event: Start Call
+On: 2011-11-03 22:47:56.306508 Event: Waiting Feedback
+On: 2011-11-03 22:48:31.306989 Event: Test Failed
+On: 2011-11-03 22:48:31.307044 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:48:31.307192 Event: init Cancel test
+On: 2011-11-03 22:48:34.349888 Event: -- -X- --
+On: 2011-11-03 22:48:34.349948 Event: init Caller
+On: 2011-11-03 22:48:34.350029 Event: sip
+On: 2011-11-03 22:48:36.354163 Event: Caller Greeting
+On: 2011-11-03 22:48:36.354840 Event: Connected to Caller Handler
+On: 2011-11-03 22:48:36.355197 Event: Caller Handler respond
+On: 2011-11-03 22:48:36.355946 Event: Caller handler : Ready
+On: 2011-11-03 22:48:36.355980 Event: init Receiver
+On: 2011-11-03 22:48:36.355999 Event: GSMExt.Voda
+On: 2011-11-03 22:48:36.356050 Event: Init GSM
+On: 2011-11-03 22:48:38.360382 Event: Receiver Greeting
+On: 2011-11-03 22:48:38.362829 Event: Connected to Receiver Handler
+On: 2011-11-03 22:48:43.375885 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 22:48:43.375929 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 22:48:43.375951 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:48:43.376080 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:53:39.502481 ------------------
+On: 2011-11-03 22:53:39.502553 Event: init Caller
+On: 2011-11-03 22:53:39.502578 Event: unisip
+On: 2011-11-03 22:53:41.506973 Event: Caller Greeting
+On: 2011-11-03 22:53:41.507903 Event: Connected to Caller Handler
+On: 2011-11-03 22:53:41.508175 Event: Caller Handler respond
+On: 2011-11-03 22:53:41.508917 Event: Caller handler : Ready
+On: 2011-11-03 22:53:41.508955 Event: init Receiver
+On: 2011-11-03 22:53:41.508975 Event: GSMRZ2
+On: 2011-11-03 22:53:49.515684 Event: Receiver Greeting
+On: 2011-11-03 22:53:49.516246 Event: Connected to Receiver Handler
+On: 2011-11-03 22:53:49.729867 Event: Receiver Handler respond
+On: 2011-11-03 22:53:49.732190 Event: Receiver handler : Ready
+On: 2011-11-03 22:53:49.732231 Event: Start Call
+On: 2011-11-03 22:53:49.732288 Event: Waiting Feedback
+On: 2011-11-03 22:53:54.713470 Event: Test Succeed
+On: 2011-11-03 22:53:54.713531 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:53:54.713731 Event: init Cancel test
+On: 2011-11-03 22:53:57.762296 Event: -- -X- --
+On: 2011-11-03 22:53:57.762361 Event: init Caller
+On: 2011-11-03 22:53:57.762379 Event: GSMRZ1
+On: 2011-11-03 22:53:57.762427 Event: Init GSM
+On: 2011-11-03 22:53:59.766509 Event: Caller Greeting
+On: 2011-11-03 22:53:59.768983 Event: Connected to Caller Handler
+On: 2011-11-03 22:53:59.914134 Event: Caller Handler respond
+On: 2011-11-03 22:53:59.914432 Event: Caller handler : Ready
+On: 2011-11-03 22:53:59.914465 Event: init Receiver
+On: 2011-11-03 22:53:59.914485 Event: GSMExt.O2
+On: 2011-11-03 22:53:59.914535 Event: Init GSM
+On: 2011-11-03 22:54:01.918691 Event: Receiver Greeting
+On: 2011-11-03 22:54:01.921133 Event: Connected to Receiver Handler
+On: 2011-11-03 22:54:02.042131 Event: Receiver Handler respond
+On: 2011-11-03 22:54:02.042417 Event: Receiver handler : Ready
+On: 2011-11-03 22:54:02.042448 Event: Start Call
+On: 2011-11-03 22:54:02.042499 Event: Waiting Feedback
+On: 2011-11-03 22:54:14.982166 Event: Test Succeed
+On: 2011-11-03 22:54:14.982221 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:54:14.982354 Event: init Cancel test
+On: 2011-11-03 22:54:18.028632 Event: -- -X- --
+On: 2011-11-03 22:54:18.028695 Event: init Caller
+On: 2011-11-03 22:54:18.028713 Event: landline
+On: 2011-11-03 22:54:20.032934 Event: Caller Greeting
+On: 2011-11-03 22:54:20.033608 Event: Connected to Caller Handler
+On: 2011-11-03 22:54:20.034002 Event: Caller Handler respond
+On: 2011-11-03 22:54:20.036067 Event: Caller handler : Ready
+On: 2011-11-03 22:54:20.036106 Event: init Receiver
+On: 2011-11-03 22:54:20.036126 Event: GSMRZ3
+On: 2011-11-03 22:54:28.045605 Event: Receiver Greeting
+On: 2011-11-03 22:54:28.046165 Event: Connected to Receiver Handler
+On: 2011-11-03 22:54:28.268900 Event: Receiver Handler respond
+On: 2011-11-03 22:54:28.271606 Event: Receiver handler : Ready
+On: 2011-11-03 22:54:28.271652 Event: Start Call
+On: 2011-11-03 22:54:28.271719 Event: Waiting Feedback
+On: 2011-11-03 22:54:35.840883 Event: Test Succeed
+On: 2011-11-03 22:54:35.840920 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:54:35.841094 Event: init Cancel test
+On: 2011-11-03 22:54:38.885330 Event: -- -X- --
+On: 2011-11-03 22:54:38.885389 Event: init Caller
+On: 2011-11-03 22:54:38.885408 Event: sip
+On: 2011-11-03 22:54:40.889602 Event: Caller Greeting
+On: 2011-11-03 22:54:40.890430 Event: Connected to Caller Handler
+On: 2011-11-03 22:54:40.890697 Event: Caller Handler respond
+On: 2011-11-03 22:54:40.891438 Event: Caller handler : Ready
+On: 2011-11-03 22:54:40.891471 Event: init Receiver
+On: 2011-11-03 22:54:40.891491 Event: GSMExt.Eplus
+On: 2011-11-03 22:54:40.891541 Event: Init GSM
+On: 2011-11-03 22:54:42.894008 Event: Receiver Greeting
+On: 2011-11-03 22:54:42.896479 Event: Connected to Receiver Handler
+On: 2011-11-03 22:54:43.014137 Event: Receiver Handler respond
+On: 2011-11-03 22:54:43.014425 Event: Receiver handler : Ready
+On: 2011-11-03 22:54:43.014456 Event: Start Call
+On: 2011-11-03 22:54:43.014511 Event: Waiting Feedback
+On: 2011-11-03 22:54:58.014916 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 22:54:58.015042 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:54:58.015190 Event: init Cancel test
+On: 2011-11-03 22:55:01.059055 Event: -- -X- --
+On: 2011-11-03 22:55:01.059114 Event: init Caller
+On: 2011-11-03 22:55:01.059132 Event: sip
+On: 2011-11-03 22:55:03.063289 Event: Caller Greeting
+On: 2011-11-03 22:55:03.063953 Event: Connected to Caller Handler
+On: 2011-11-03 22:55:03.064311 Event: Caller Handler respond
+On: 2011-11-03 22:55:03.065047 Event: Caller handler : Ready
+On: 2011-11-03 22:55:03.065081 Event: init Receiver
+On: 2011-11-03 22:55:03.065101 Event: GSMExt.Tm
+On: 2011-11-03 22:55:03.065151 Event: Init GSM
+On: 2011-11-03 22:55:05.069493 Event: Receiver Greeting
+On: 2011-11-03 22:55:05.071953 Event: Connected to Receiver Handler
+On: 2011-11-03 22:55:05.166136 Event: Receiver Handler respond
+On: 2011-11-03 22:55:05.166422 Event: Receiver handler : Ready
+On: 2011-11-03 22:55:05.166452 Event: Start Call
+On: 2011-11-03 22:55:05.166505 Event: Waiting Feedback
+On: 2011-11-03 22:55:19.018263 Event: Test Succeed
+On: 2011-11-03 22:55:19.018298 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:55:19.018424 Event: init Cancel test
+On: 2011-11-03 22:55:22.060087 Event: -- -X- --
+On: 2011-11-03 22:55:22.060146 Event: init Caller
+On: 2011-11-03 22:55:22.060165 Event: sip
+On: 2011-11-03 22:55:24.065679 Event: Caller Greeting
+On: 2011-11-03 22:55:24.066375 Event: Connected to Caller Handler
+On: 2011-11-03 22:55:24.066734 Event: Caller Handler respond
+On: 2011-11-03 22:55:24.067476 Event: Caller handler : Ready
+On: 2011-11-03 22:55:24.067511 Event: init Receiver
+On: 2011-11-03 22:55:24.067531 Event: GSMExt.Voda
+On: 2011-11-03 22:55:24.067580 Event: Init GSM
+On: 2011-11-03 22:55:26.070006 Event: Receiver Greeting
+On: 2011-11-03 22:55:26.072422 Event: Connected to Receiver Handler
+On: 2011-11-03 22:55:31.085565 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 22:55:31.085608 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 22:55:31.085631 Event: TERMINATE CONNECTION
+On: 2011-11-03 22:55:31.085762 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:01:09.711225 ------------------
+On: 2011-11-03 23:01:09.711299 Event: init Caller
+On: 2011-11-03 23:01:09.711324 Event: unisip
+On: 2011-11-03 23:01:11.715738 Event: Caller Greeting
+On: 2011-11-03 23:01:11.716677 Event: Connected to Caller Handler
+On: 2011-11-03 23:01:11.716944 Event: Caller Handler respond
+On: 2011-11-03 23:01:11.717684 Event: Caller handler : Ready
+On: 2011-11-03 23:01:11.717720 Event: init Receiver
+On: 2011-11-03 23:01:11.717739 Event: GSMRZ2
+On: 2011-11-03 23:01:19.726987 Event: Receiver Greeting
+On: 2011-11-03 23:01:19.727578 Event: Connected to Receiver Handler
+On: 2011-11-03 23:01:19.945454 Event: Receiver Handler respond
+On: 2011-11-03 23:01:19.947744 Event: Receiver handler : Ready
+On: 2011-11-03 23:01:19.947795 Event: Start Call
+On: 2011-11-03 23:01:19.947859 Event: Waiting Feedback
+On: 2011-11-03 23:01:25.484353 Event: Test Succeed
+On: 2011-11-03 23:01:25.484413 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:01:25.484616 Event: init Cancel test
+On: 2011-11-03 23:01:28.532386 Event: -- -X- --
+On: 2011-11-03 23:01:28.532451 Event: init Caller
+On: 2011-11-03 23:01:28.532469 Event: GSMRZ1
+On: 2011-11-03 23:01:28.532516 Event: Init GSM
+On: 2011-11-03 23:01:30.536700 Event: Caller Greeting
+On: 2011-11-03 23:01:30.539215 Event: Connected to Caller Handler
+On: 2011-11-03 23:01:30.682128 Event: Caller Handler respond
+On: 2011-11-03 23:01:30.682415 Event: Caller handler : Ready
+On: 2011-11-03 23:01:30.682446 Event: init Receiver
+On: 2011-11-03 23:01:30.682465 Event: GSMExt.Tm
+On: 2011-11-03 23:01:30.682516 Event: Init GSM
+On: 2011-11-03 23:01:32.686665 Event: Receiver Greeting
+On: 2011-11-03 23:01:32.689084 Event: Connected to Receiver Handler
+On: 2011-11-03 23:01:32.806133 Event: Receiver Handler respond
+On: 2011-11-03 23:01:32.806419 Event: Receiver handler : Ready
+On: 2011-11-03 23:01:32.806449 Event: Start Call
+On: 2011-11-03 23:01:32.806501 Event: Waiting Feedback
+On: 2011-11-03 23:01:45.870128 Event: Test Succeed
+On: 2011-11-03 23:01:45.870184 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:01:45.870320 Event: init Cancel test
+On: 2011-11-03 23:01:48.916288 Event: -- -X- --
+On: 2011-11-03 23:01:48.916352 Event: init Caller
+On: 2011-11-03 23:01:48.916370 Event: landline
+On: 2011-11-03 23:01:50.920470 Event: Caller Greeting
+On: 2011-11-03 23:01:50.921148 Event: Connected to Caller Handler
+On: 2011-11-03 23:01:50.921512 Event: Caller Handler respond
+On: 2011-11-03 23:01:50.923583 Event: Caller handler : Ready
+On: 2011-11-03 23:01:50.923620 Event: init Receiver
+On: 2011-11-03 23:01:50.923640 Event: GSMRZ3
+On: 2011-11-03 23:01:58.931143 Event: Receiver Greeting
+On: 2011-11-03 23:01:58.931679 Event: Connected to Receiver Handler
+On: 2011-11-03 23:01:59.164429 Event: Receiver Handler respond
+On: 2011-11-03 23:01:59.167069 Event: Receiver handler : Ready
+On: 2011-11-03 23:01:59.167106 Event: Start Call
+On: 2011-11-03 23:01:59.167166 Event: Waiting Feedback
+On: 2011-11-03 23:02:06.616654 Event: Test Succeed
+On: 2011-11-03 23:02:06.616691 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:02:06.616869 Event: init Cancel test
+On: 2011-11-03 23:02:09.660743 Event: -- -X- --
+On: 2011-11-03 23:02:09.660803 Event: init Caller
+On: 2011-11-03 23:02:09.660822 Event: sip
+On: 2011-11-03 23:02:11.665045 Event: Caller Greeting
+On: 2011-11-03 23:02:11.665731 Event: Connected to Caller Handler
+On: 2011-11-03 23:02:11.666139 Event: Caller Handler respond
+On: 2011-11-03 23:02:11.666903 Event: Caller handler : Ready
+On: 2011-11-03 23:02:11.666941 Event: init Receiver
+On: 2011-11-03 23:02:11.666961 Event: GSMExt.Eplus
+On: 2011-11-03 23:02:11.667012 Event: Init GSM
+On: 2011-11-03 23:02:13.670007 Event: Receiver Greeting
+On: 2011-11-03 23:02:13.672428 Event: Connected to Receiver Handler
+On: 2011-11-03 23:02:13.786203 Event: Receiver Handler respond
+On: 2011-11-03 23:02:13.786489 Event: Receiver handler : Ready
+On: 2011-11-03 23:02:13.786521 Event: Start Call
+On: 2011-11-03 23:02:13.786576 Event: Waiting Feedback
+On: 2011-11-03 23:02:28.786980 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 23:02:28.787111 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:02:28.787265 Event: init Cancel test
+On: 2011-11-03 23:02:31.830912 Event: -- -X- --
+On: 2011-11-03 23:02:31.830974 Event: init Caller
+On: 2011-11-03 23:02:31.830992 Event: sip
+On: 2011-11-03 23:02:33.834014 Event: Caller Greeting
+On: 2011-11-03 23:02:33.835273 Event: Connected to Caller Handler
+On: 2011-11-03 23:02:33.835547 Event: Caller Handler respond
+On: 2011-11-03 23:02:33.836720 Event: Caller handler : Ready
+On: 2011-11-03 23:02:33.836757 Event: init Receiver
+On: 2011-11-03 23:02:33.836778 Event: GSMExt.O2
+On: 2011-11-03 23:02:33.836829 Event: Init GSM
+On: 2011-11-03 23:02:35.841461 Event: Receiver Greeting
+On: 2011-11-03 23:02:35.844154 Event: Connected to Receiver Handler
+On: 2011-11-03 23:02:35.962169 Event: Receiver Handler respond
+On: 2011-11-03 23:02:35.962462 Event: Receiver handler : Ready
+On: 2011-11-03 23:02:35.962493 Event: Start Call
+On: 2011-11-03 23:02:35.962546 Event: Waiting Feedback
+On: 2011-11-03 23:02:48.097874 Event: Test Succeed
+On: 2011-11-03 23:02:48.097910 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:02:48.098065 Event: init Cancel test
+On: 2011-11-03 23:02:51.140509 Event: -- -X- --
+On: 2011-11-03 23:02:51.140569 Event: init Caller
+On: 2011-11-03 23:02:51.140588 Event: sip
+On: 2011-11-03 23:02:53.144721 Event: Caller Greeting
+On: 2011-11-03 23:02:53.145400 Event: Connected to Caller Handler
+On: 2011-11-03 23:02:53.145764 Event: Caller Handler respond
+On: 2011-11-03 23:02:53.147029 Event: Caller handler : Ready
+On: 2011-11-03 23:02:53.147069 Event: init Receiver
+On: 2011-11-03 23:02:53.147088 Event: GSMExt.Voda
+On: 2011-11-03 23:02:53.147140 Event: Init GSM
+On: 2011-11-03 23:02:55.150006 Event: Receiver Greeting
+On: 2011-11-03 23:02:55.152384 Event: Connected to Receiver Handler
+On: 2011-11-03 23:03:00.165617 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:03:00.165660 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:03:00.165683 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:03:00.165815 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:08:39.334598 ------------------
+On: 2011-11-03 23:08:39.334672 Event: init Caller
+On: 2011-11-03 23:08:39.334696 Event: unisip
+On: 2011-11-03 23:08:41.338013 Event: Caller Greeting
+On: 2011-11-03 23:08:41.338957 Event: Connected to Caller Handler
+On: 2011-11-03 23:08:41.339234 Event: Caller Handler respond
+On: 2011-11-03 23:08:41.339986 Event: Caller handler : Ready
+On: 2011-11-03 23:08:41.340026 Event: init Receiver
+On: 2011-11-03 23:08:41.340046 Event: GSMRZ1
+On: 2011-11-03 23:08:41.340095 Event: Init GSM
+On: 2011-11-03 23:08:43.344481 Event: Receiver Greeting
+On: 2011-11-03 23:08:43.346938 Event: Connected to Receiver Handler
+On: 2011-11-03 23:08:43.486153 Event: Receiver Handler respond
+On: 2011-11-03 23:08:43.486442 Event: Receiver handler : Ready
+On: 2011-11-03 23:08:43.486473 Event: Start Call
+On: 2011-11-03 23:08:43.486526 Event: Waiting Feedback
+On: 2011-11-03 23:08:49.190155 Event: Test Succeed
+On: 2011-11-03 23:08:49.190209 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:08:49.190361 Event: init Cancel test
+On: 2011-11-03 23:08:52.233885 Event: -- -X- --
+On: 2011-11-03 23:08:52.233946 Event: init Caller
+On: 2011-11-03 23:08:52.234025 Event: GSMRZ2
+On: 2011-11-03 23:09:00.244320 Event: Caller Greeting
+On: 2011-11-03 23:09:00.244872 Event: Connected to Caller Handler
+On: 2011-11-03 23:09:00.435401 Event: Caller Handler respond
+On: 2011-11-03 23:09:00.437740 Event: Caller handler : Ready
+On: 2011-11-03 23:09:00.437776 Event: init Receiver
+On: 2011-11-03 23:09:00.437797 Event: GSMExt.Eplus
+On: 2011-11-03 23:09:00.437849 Event: Init GSM
+On: 2011-11-03 23:09:02.442017 Event: Receiver Greeting
+On: 2011-11-03 23:09:02.444462 Event: Connected to Receiver Handler
+On: 2011-11-03 23:09:02.538136 Event: Receiver Handler respond
+On: 2011-11-03 23:09:02.538424 Event: Receiver handler : Ready
+On: 2011-11-03 23:09:02.538455 Event: Start Call
+On: 2011-11-03 23:09:02.538602 Event: Waiting Feedback
+On: 2011-11-03 23:09:17.539006 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 23:09:17.539059 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:09:17.539249 Event: init Cancel test
+On: 2011-11-03 23:09:20.586227 Event: -- -X- --
+On: 2011-11-03 23:09:20.586292 Event: init Caller
+On: 2011-11-03 23:09:20.586311 Event: landline
+On: 2011-11-03 23:09:22.590429 Event: Caller Greeting
+On: 2011-11-03 23:09:22.591095 Event: Connected to Caller Handler
+On: 2011-11-03 23:09:22.591457 Event: Caller Handler respond
+On: 2011-11-03 23:09:22.593712 Event: Caller handler : Ready
+On: 2011-11-03 23:09:22.593750 Event: init Receiver
+On: 2011-11-03 23:09:22.593770 Event: GSMRZ3
+On: 2011-11-03 23:09:30.599562 Event: Receiver Greeting
+On: 2011-11-03 23:09:30.600099 Event: Connected to Receiver Handler
+On: 2011-11-03 23:09:30.825472 Event: Receiver Handler respond
+On: 2011-11-03 23:09:30.828082 Event: Receiver handler : Ready
+On: 2011-11-03 23:09:30.828123 Event: Start Call
+On: 2011-11-03 23:09:30.828182 Event: Waiting Feedback
+On: 2011-11-03 23:09:38.542741 Event: Test Succeed
+On: 2011-11-03 23:09:38.542778 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:09:38.542954 Event: init Cancel test
+On: 2011-11-03 23:09:41.586455 Event: -- -X- --
+On: 2011-11-03 23:09:41.586514 Event: init Caller
+On: 2011-11-03 23:09:41.586532 Event: sip
+On: 2011-11-03 23:09:43.590670 Event: Caller Greeting
+On: 2011-11-03 23:09:43.591349 Event: Connected to Caller Handler
+On: 2011-11-03 23:09:43.591709 Event: Caller Handler respond
+On: 2011-11-03 23:09:43.592467 Event: Caller handler : Ready
+On: 2011-11-03 23:09:43.592505 Event: init Receiver
+On: 2011-11-03 23:09:43.592524 Event: GSMExt.O2
+On: 2011-11-03 23:09:43.592574 Event: Init GSM
+On: 2011-11-03 23:09:45.597009 Event: Receiver Greeting
+On: 2011-11-03 23:09:45.599497 Event: Connected to Receiver Handler
+On: 2011-11-03 23:09:45.718160 Event: Receiver Handler respond
+On: 2011-11-03 23:09:45.718446 Event: Receiver handler : Ready
+On: 2011-11-03 23:09:45.718478 Event: Start Call
+On: 2011-11-03 23:09:45.718531 Event: Waiting Feedback
+On: 2011-11-03 23:09:57.856843 Event: Test Succeed
+On: 2011-11-03 23:09:57.856969 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:09:57.857102 Event: init Cancel test
+On: 2011-11-03 23:10:00.899092 Event: -- -X- --
+On: 2011-11-03 23:10:00.899150 Event: init Caller
+On: 2011-11-03 23:10:00.899169 Event: sip
+On: 2011-11-03 23:10:02.903303 Event: Caller Greeting
+On: 2011-11-03 23:10:02.904098 Event: Connected to Caller Handler
+On: 2011-11-03 23:10:02.904371 Event: Caller Handler respond
+On: 2011-11-03 23:10:02.905117 Event: Caller handler : Ready
+On: 2011-11-03 23:10:02.905157 Event: init Receiver
+On: 2011-11-03 23:10:02.905177 Event: GSMExt.Tm
+On: 2011-11-03 23:10:02.905228 Event: Init GSM
+On: 2011-11-03 23:10:04.910011 Event: Receiver Greeting
+On: 2011-11-03 23:10:04.912390 Event: Connected to Receiver Handler
+On: 2011-11-03 23:10:05.006197 Event: Receiver Handler respond
+On: 2011-11-03 23:10:05.006528 Event: Receiver handler : Ready
+On: 2011-11-03 23:10:05.006564 Event: Start Call
+On: 2011-11-03 23:10:05.006619 Event: Waiting Feedback
+On: 2011-11-03 23:10:18.972817 Event: Test Succeed
+On: 2011-11-03 23:10:18.972855 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:10:18.972976 Event: init Cancel test
+On: 2011-11-03 23:10:22.016425 Event: -- -X- --
+On: 2011-11-03 23:10:22.016485 Event: init Caller
+On: 2011-11-03 23:10:22.016503 Event: sip
+On: 2011-11-03 23:10:24.020663 Event: Caller Greeting
+On: 2011-11-03 23:10:24.021329 Event: Connected to Caller Handler
+On: 2011-11-03 23:10:24.021689 Event: Caller Handler respond
+On: 2011-11-03 23:10:24.022608 Event: Caller handler : Ready
+On: 2011-11-03 23:10:24.022651 Event: init Receiver
+On: 2011-11-03 23:10:24.022671 Event: GSMExt.Voda
+On: 2011-11-03 23:10:24.022722 Event: Init GSM
+On: 2011-11-03 23:10:26.026009 Event: Receiver Greeting
+On: 2011-11-03 23:10:26.028452 Event: Connected to Receiver Handler
+On: 2011-11-03 23:10:31.041431 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:10:31.041475 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:10:31.041498 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:10:31.041627 Event: init Cancel test
+On: 2011-11-03 23:10:34.087117 Event: -- -X- --
+On: 2011-11-03 23:10:34.087178 Event: init Caller
+On: 2011-11-03 23:10:34.087197 Event: sip
+On: 2011-11-03 23:10:36.092243 Event: Caller Greeting
+On: 2011-11-03 23:10:36.092925 Event: Connected to Caller Handler
+On: 2011-11-03 23:10:36.093286 Event: Caller Handler respond
+On: 2011-11-03 23:10:36.094173 Event: Caller handler : Ready
+On: 2011-11-03 23:10:36.094218 Event: init Receiver
+On: 2011-11-03 23:10:36.094238 Event: GSMRZ2
+On: 2011-11-03 23:10:44.100885 Event: Receiver Greeting
+On: 2011-11-03 23:10:44.101417 Event: Connected to Receiver Handler
+On: 2011-11-03 23:10:44.314759 Event: Receiver Handler respond
+On: 2011-11-03 23:10:44.317077 Event: Receiver handler : Ready
+On: 2011-11-03 23:10:44.317113 Event: Start Call
+On: 2011-11-03 23:10:44.317171 Event: Waiting Feedback
+On: 2011-11-03 23:10:49.252347 Event: Test Succeed
+On: 2011-11-03 23:10:49.252406 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:10:49.252576 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:16:09.306824 ------------------
+On: 2011-11-03 23:16:09.306898 Event: init Caller
+On: 2011-11-03 23:16:09.306922 Event: unisip
+On: 2011-11-03 23:16:11.310511 Event: Caller Greeting
+On: 2011-11-03 23:16:11.311468 Event: Connected to Caller Handler
+On: 2011-11-03 23:16:11.312587 Event: Caller Handler respond
+On: 2011-11-03 23:16:11.313677 Event: Caller handler : Ready
+On: 2011-11-03 23:16:11.313712 Event: init Receiver
+On: 2011-11-03 23:16:11.313731 Event: GSMRZ3
+On: 2011-11-03 23:16:19.324216 Event: Receiver Greeting
+On: 2011-11-03 23:16:19.324778 Event: Connected to Receiver Handler
+On: 2011-11-03 23:16:19.548338 Event: Receiver Handler respond
+On: 2011-11-03 23:16:19.550948 Event: Receiver handler : Ready
+On: 2011-11-03 23:16:19.550998 Event: Start Call
+On: 2011-11-03 23:16:19.551064 Event: Waiting Feedback
+On: 2011-11-03 23:16:24.203207 Event: Test Succeed
+On: 2011-11-03 23:16:24.203267 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:16:24.203466 Event: init Cancel test
+On: 2011-11-03 23:16:27.246897 Event: -- -X- --
+On: 2011-11-03 23:16:27.246958 Event: init Caller
+On: 2011-11-03 23:16:27.246977 Event: GSMRZ1
+On: 2011-11-03 23:16:27.247023 Event: Init GSM
+On: 2011-11-03 23:16:29.251118 Event: Caller Greeting
+On: 2011-11-03 23:16:29.253588 Event: Connected to Caller Handler
+On: 2011-11-03 23:16:29.394128 Event: Caller Handler respond
+On: 2011-11-03 23:16:29.394420 Event: Caller handler : Ready
+On: 2011-11-03 23:16:29.394450 Event: init Receiver
+On: 2011-11-03 23:16:29.394470 Event: GSMRZ2
+On: 2011-11-03 23:16:37.404844 Event: Receiver Greeting
+On: 2011-11-03 23:16:37.405385 Event: Connected to Receiver Handler
+On: 2011-11-03 23:16:37.620414 Event: Receiver Handler respond
+On: 2011-11-03 23:16:37.622685 Event: Receiver handler : Ready
+On: 2011-11-03 23:16:37.622720 Event: Start Call
+On: 2011-11-03 23:16:37.626134 Event: Waiting Feedback
+On: 2011-11-03 23:16:41.238082 Event: Test Succeed
+On: 2011-11-03 23:16:41.238135 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:16:41.238312 Event: init Cancel test
+On: 2011-11-03 23:16:44.283054 Event: -- -X- --
+On: 2011-11-03 23:16:44.283116 Event: init Caller
+On: 2011-11-03 23:16:44.283134 Event: landline
+On: 2011-11-03 23:16:46.287258 Event: Caller Greeting
+On: 2011-11-03 23:16:46.287935 Event: Connected to Caller Handler
+On: 2011-11-03 23:16:46.288301 Event: Caller Handler respond
+On: 2011-11-03 23:16:46.290354 Event: Caller handler : Ready
+On: 2011-11-03 23:16:46.290392 Event: init Receiver
+On: 2011-11-03 23:16:46.290412 Event: GSMRZ2
+On: 2011-11-03 23:16:54.296779 Event: Receiver Greeting
+On: 2011-11-03 23:16:54.297314 Event: Connected to Receiver Handler
+On: 2011-11-03 23:16:54.511304 Event: Receiver Handler respond
+On: 2011-11-03 23:16:54.513570 Event: Receiver handler : Ready
+On: 2011-11-03 23:16:54.513605 Event: Start Call
+On: 2011-11-03 23:16:54.513666 Event: Waiting Feedback
+On: 2011-11-03 23:17:02.755953 Event: Test Succeed
+On: 2011-11-03 23:17:02.755991 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:17:02.756167 Event: init Cancel test
+On: 2011-11-03 23:17:05.801845 Event: -- -X- --
+On: 2011-11-03 23:17:05.801904 Event: init Caller
+On: 2011-11-03 23:17:05.801922 Event: sip
+On: 2011-11-03 23:17:07.806008 Event: Caller Greeting
+On: 2011-11-03 23:17:07.806686 Event: Connected to Caller Handler
+On: 2011-11-03 23:17:07.807048 Event: Caller Handler respond
+On: 2011-11-03 23:17:07.807793 Event: Caller handler : Ready
+On: 2011-11-03 23:17:07.807830 Event: init Receiver
+On: 2011-11-03 23:17:07.807850 Event: GSMExt.Eplus
+On: 2011-11-03 23:17:07.807901 Event: Init GSM
+On: 2011-11-03 23:17:09.812245 Event: Receiver Greeting
+On: 2011-11-03 23:17:09.814727 Event: Connected to Receiver Handler
+On: 2011-11-03 23:17:09.939209 Event: Receiver Handler respond
+On: 2011-11-03 23:17:09.939501 Event: Receiver handler : Ready
+On: 2011-11-03 23:17:09.939543 Event: Start Call
+On: 2011-11-03 23:17:09.939600 Event: Waiting Feedback
+On: 2011-11-03 23:17:24.940036 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 23:17:24.940092 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:17:24.940314 Event: init Cancel test
+On: 2011-11-03 23:17:27.983164 Event: -- -X- --
+On: 2011-11-03 23:17:27.983223 Event: init Caller
+On: 2011-11-03 23:17:27.983242 Event: sip
+On: 2011-11-03 23:17:29.987382 Event: Caller Greeting
+On: 2011-11-03 23:17:29.988167 Event: Connected to Caller Handler
+On: 2011-11-03 23:17:29.988432 Event: Caller Handler respond
+On: 2011-11-03 23:17:29.989532 Event: Caller handler : Ready
+On: 2011-11-03 23:17:29.989565 Event: init Receiver
+On: 2011-11-03 23:17:29.989585 Event: GSMExt.O2
+On: 2011-11-03 23:17:29.989637 Event: Init GSM
+On: 2011-11-03 23:17:31.993994 Event: Receiver Greeting
+On: 2011-11-03 23:17:31.996380 Event: Connected to Receiver Handler
+On: 2011-11-03 23:17:32.114132 Event: Receiver Handler respond
+On: 2011-11-03 23:17:32.114422 Event: Receiver handler : Ready
+On: 2011-11-03 23:17:32.114451 Event: Start Call
+On: 2011-11-03 23:17:32.114503 Event: Waiting Feedback
+On: 2011-11-03 23:17:44.098819 Event: Test Succeed
+On: 2011-11-03 23:17:44.098854 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:17:44.098980 Event: init Cancel test
+On: 2011-11-03 23:17:47.142561 Event: -- -X- --
+On: 2011-11-03 23:17:47.142620 Event: init Caller
+On: 2011-11-03 23:17:47.142638 Event: sip
+On: 2011-11-03 23:17:49.146745 Event: Caller Greeting
+On: 2011-11-03 23:17:49.147424 Event: Connected to Caller Handler
+On: 2011-11-03 23:17:49.147792 Event: Caller Handler respond
+On: 2011-11-03 23:17:49.148547 Event: Caller handler : Ready
+On: 2011-11-03 23:17:49.148585 Event: init Receiver
+On: 2011-11-03 23:17:49.148604 Event: GSMExt.Tm
+On: 2011-11-03 23:17:49.148656 Event: Init GSM
+On: 2011-11-03 23:17:51.153009 Event: Receiver Greeting
+On: 2011-11-03 23:17:51.155458 Event: Connected to Receiver Handler
+On: 2011-11-03 23:17:51.270201 Event: Receiver Handler respond
+On: 2011-11-03 23:17:51.270490 Event: Receiver handler : Ready
+On: 2011-11-03 23:17:51.270521 Event: Start Call
+On: 2011-11-03 23:17:51.270579 Event: Waiting Feedback
+On: 2011-11-03 23:18:04.795950 Event: Test Succeed
+On: 2011-11-03 23:18:04.795988 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:18:04.796112 Event: init Cancel test
+On: 2011-11-03 23:18:07.840114 Event: -- -X- --
+On: 2011-11-03 23:18:07.840172 Event: init Caller
+On: 2011-11-03 23:18:07.840190 Event: sip
+On: 2011-11-03 23:18:09.844419 Event: Caller Greeting
+On: 2011-11-03 23:18:09.845145 Event: Connected to Caller Handler
+On: 2011-11-03 23:18:09.845511 Event: Caller Handler respond
+On: 2011-11-03 23:18:09.846877 Event: Caller handler : Ready
+On: 2011-11-03 23:18:09.846915 Event: init Receiver
+On: 2011-11-03 23:18:09.846935 Event: GSMExt.Voda
+On: 2011-11-03 23:18:09.846987 Event: Init GSM
+On: 2011-11-03 23:18:11.850024 Event: Receiver Greeting
+On: 2011-11-03 23:18:11.852625 Event: Connected to Receiver Handler
+On: 2011-11-03 23:18:16.867256 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:18:16.867299 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:18:16.867322 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:18:16.867453 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:23:41.194476 ------------------
+On: 2011-11-03 23:23:41.194549 Event: init Caller
+On: 2011-11-03 23:23:41.194573 Event: unisip
+On: 2011-11-03 23:23:43.198928 Event: Caller Greeting
+On: 2011-11-03 23:23:43.199850 Event: Connected to Caller Handler
+On: 2011-11-03 23:23:43.200126 Event: Caller Handler respond
+On: 2011-11-03 23:23:43.200872 Event: Caller handler : Ready
+On: 2011-11-03 23:23:43.200910 Event: init Receiver
+On: 2011-11-03 23:23:43.200930 Event: GSMRZ3
+On: 2011-11-03 23:23:51.208165 Event: Receiver Greeting
+On: 2011-11-03 23:23:51.208722 Event: Connected to Receiver Handler
+On: 2011-11-03 23:23:51.434986 Event: Receiver Handler respond
+On: 2011-11-03 23:23:51.437563 Event: Receiver handler : Ready
+On: 2011-11-03 23:23:51.437601 Event: Start Call
+On: 2011-11-03 23:23:51.437658 Event: Waiting Feedback
+On: 2011-11-03 23:24:02.044669 Event: Test Succeed
+On: 2011-11-03 23:24:02.044730 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:24:02.044932 Event: init Cancel test
+On: 2011-11-03 23:24:05.092602 Event: -- -X- --
+On: 2011-11-03 23:24:05.092665 Event: init Caller
+On: 2011-11-03 23:24:05.092683 Event: GSMRZ1
+On: 2011-11-03 23:24:05.092730 Event: Init GSM
+On: 2011-11-03 23:24:07.096973 Event: Caller Greeting
+On: 2011-11-03 23:24:07.099407 Event: Connected to Caller Handler
+On: 2011-11-03 23:24:07.242163 Event: Caller Handler respond
+On: 2011-11-03 23:24:07.242461 Event: Caller handler : Ready
+On: 2011-11-03 23:24:07.242493 Event: init Receiver
+On: 2011-11-03 23:24:07.242513 Event: GSMExt.Voda
+On: 2011-11-03 23:24:07.242563 Event: Init GSM
+On: 2011-11-03 23:24:09.246679 Event: Receiver Greeting
+On: 2011-11-03 23:24:09.249129 Event: Connected to Receiver Handler
+On: 2011-11-03 23:24:14.262458 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:24:14.262501 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:24:14.262523 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:24:14.262652 Event: init Cancel test
+On: 2011-11-03 23:24:17.319319 Event: -- -X- --
+On: 2011-11-03 23:24:17.319380 Event: init Caller
+On: 2011-11-03 23:24:17.319398 Event: landline
+On: 2011-11-03 23:24:19.323543 Event: Caller Greeting
+On: 2011-11-03 23:24:19.324210 Event: Connected to Caller Handler
+On: 2011-11-03 23:24:19.324575 Event: Caller Handler respond
+On: 2011-11-03 23:24:19.327179 Event: Caller handler : Ready
+On: 2011-11-03 23:24:19.327217 Event: init Receiver
+On: 2011-11-03 23:24:19.327237 Event: GSMRZ2
+On: 2011-11-03 23:24:27.335779 Event: Receiver Greeting
+On: 2011-11-03 23:24:27.336309 Event: Connected to Receiver Handler
+On: 2011-11-03 23:24:27.548162 Event: Receiver Handler respond
+On: 2011-11-03 23:24:27.550458 Event: Receiver handler : Ready
+On: 2011-11-03 23:24:27.550494 Event: Start Call
+On: 2011-11-03 23:24:27.550555 Event: Waiting Feedback
+On: 2011-11-03 23:24:35.789526 Event: Test Succeed
+On: 2011-11-03 23:24:35.789563 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:24:35.789736 Event: init Cancel test
+On: 2011-11-03 23:24:38.832639 Event: -- -X- --
+On: 2011-11-03 23:24:38.832699 Event: init Caller
+On: 2011-11-03 23:24:38.832717 Event: sip
+On: 2011-11-03 23:24:40.836949 Event: Caller Greeting
+On: 2011-11-03 23:24:40.837738 Event: Connected to Caller Handler
+On: 2011-11-03 23:24:40.838050 Event: Caller Handler respond
+On: 2011-11-03 23:24:40.839155 Event: Caller handler : Ready
+On: 2011-11-03 23:24:40.839194 Event: init Receiver
+On: 2011-11-03 23:24:40.839214 Event: GSMExt.Eplus
+On: 2011-11-03 23:24:40.839266 Event: Init GSM
+On: 2011-11-03 23:24:42.842005 Event: Receiver Greeting
+On: 2011-11-03 23:24:42.844463 Event: Connected to Receiver Handler
+On: 2011-11-03 23:24:42.958164 Event: Receiver Handler respond
+On: 2011-11-03 23:24:42.958460 Event: Receiver handler : Ready
+On: 2011-11-03 23:24:42.958492 Event: Start Call
+On: 2011-11-03 23:24:42.958549 Event: Waiting Feedback
+On: 2011-11-03 23:24:57.958960 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 23:24:57.959016 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:24:57.959154 Event: init Cancel test
+On: 2011-11-03 23:25:01.000871 Event: -- -X- --
+On: 2011-11-03 23:25:01.000932 Event: init Caller
+On: 2011-11-03 23:25:01.000951 Event: sip
+On: 2011-11-03 23:25:03.006432 Event: Caller Greeting
+On: 2011-11-03 23:25:03.007096 Event: Connected to Caller Handler
+On: 2011-11-03 23:25:03.007459 Event: Caller Handler respond
+On: 2011-11-03 23:25:03.008210 Event: Caller handler : Ready
+On: 2011-11-03 23:25:03.008249 Event: init Receiver
+On: 2011-11-03 23:25:03.008268 Event: GSMExt.O2
+On: 2011-11-03 23:25:03.008319 Event: Init GSM
+On: 2011-11-03 23:25:05.012639 Event: Receiver Greeting
+On: 2011-11-03 23:25:05.015085 Event: Connected to Receiver Handler
+On: 2011-11-03 23:25:05.114165 Event: Receiver Handler respond
+On: 2011-11-03 23:25:05.114448 Event: Receiver handler : Ready
+On: 2011-11-03 23:25:05.114477 Event: Start Call
+On: 2011-11-03 23:25:05.114530 Event: Waiting Feedback
+On: 2011-11-03 23:25:18.649882 Event: Test Succeed
+On: 2011-11-03 23:25:18.649922 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:25:18.650080 Event: init Cancel test
+On: 2011-11-03 23:25:21.693512 Event: -- -X- --
+On: 2011-11-03 23:25:21.693571 Event: init Caller
+On: 2011-11-03 23:25:21.693590 Event: sip
+On: 2011-11-03 23:25:23.697784 Event: Caller Greeting
+On: 2011-11-03 23:25:23.698478 Event: Connected to Caller Handler
+On: 2011-11-03 23:25:23.698845 Event: Caller Handler respond
+On: 2011-11-03 23:25:23.699595 Event: Caller handler : Ready
+On: 2011-11-03 23:25:23.699633 Event: init Receiver
+On: 2011-11-03 23:25:23.699653 Event: GSMExt.Tm
+On: 2011-11-03 23:25:23.699704 Event: Init GSM
+On: 2011-11-03 23:25:25.702007 Event: Receiver Greeting
+On: 2011-11-03 23:25:25.704457 Event: Connected to Receiver Handler
+On: 2011-11-03 23:25:25.798137 Event: Receiver Handler respond
+On: 2011-11-03 23:25:25.798431 Event: Receiver handler : Ready
+On: 2011-11-03 23:25:25.798462 Event: Start Call
+On: 2011-11-03 23:25:25.798519 Event: Waiting Feedback
+On: 2011-11-03 23:25:41.034230 Event: Test Succeed
+On: 2011-11-03 23:25:41.034268 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:25:41.034388 Event: init Cancel test
+On: 2011-11-03 23:25:44.077076 Event: -- -X- --
+On: 2011-11-03 23:25:44.077135 Event: init Caller
+On: 2011-11-03 23:25:44.077153 Event: sip
+On: 2011-11-03 23:25:46.081274 Event: Caller Greeting
+On: 2011-11-03 23:25:46.081939 Event: Connected to Caller Handler
+On: 2011-11-03 23:25:46.082330 Event: Caller Handler respond
+On: 2011-11-03 23:25:46.083084 Event: Caller handler : Ready
+On: 2011-11-03 23:25:46.083123 Event: init Receiver
+On: 2011-11-03 23:25:46.083143 Event: GSMExt.Voda
+On: 2011-11-03 23:25:46.083193 Event: Init GSM
+On: 2011-11-03 23:25:48.086006 Event: Receiver Greeting
+On: 2011-11-03 23:25:48.088411 Event: Connected to Receiver Handler
+On: 2011-11-03 23:25:53.101538 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:25:53.101583 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:25:53.101605 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:25:53.101736 Event: init Cancel test
+On: 2011-11-03 23:25:56.161293 Event: -- -X- --
+On: 2011-11-03 23:25:56.161351 Event: init Caller
+On: 2011-11-03 23:25:56.161369 Event: sip
+On: 2011-11-03 23:25:58.165584 Event: Caller Greeting
+On: 2011-11-03 23:25:58.166406 Event: Connected to Caller Handler
+On: 2011-11-03 23:25:58.166679 Event: Caller Handler respond
+On: 2011-11-03 23:25:58.167421 Event: Caller handler : Ready
+On: 2011-11-03 23:25:58.167459 Event: init Receiver
+On: 2011-11-03 23:25:58.167478 Event: GSMRZ1
+On: 2011-11-03 23:25:58.167530 Event: Init GSM
+On: 2011-11-03 23:26:00.170005 Event: Receiver Greeting
+On: 2011-11-03 23:26:00.172446 Event: Connected to Receiver Handler
+On: 2011-11-03 23:26:00.286139 Event: Receiver Handler respond
+On: 2011-11-03 23:26:00.286431 Event: Receiver handler : Ready
+On: 2011-11-03 23:26:00.286463 Event: Start Call
+On: 2011-11-03 23:26:00.286520 Event: Waiting Feedback
+On: 2011-11-03 23:26:04.886175 Event: Test Succeed
+On: 2011-11-03 23:26:04.886230 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:26:04.886374 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:31:10.963952 ------------------
+On: 2011-11-03 23:31:10.964025 Event: init Caller
+On: 2011-11-03 23:31:10.964050 Event: unisip
+On: 2011-11-03 23:31:12.968262 Event: Caller Greeting
+On: 2011-11-03 23:31:12.969255 Event: Connected to Caller Handler
+On: 2011-11-03 23:31:12.969521 Event: Caller Handler respond
+On: 2011-11-03 23:31:12.970482 Event: Caller handler : Ready
+On: 2011-11-03 23:31:12.970516 Event: init Receiver
+On: 2011-11-03 23:31:12.970536 Event: GSMRZ3
+On: 2011-11-03 23:31:20.980069 Event: Receiver Greeting
+On: 2011-11-03 23:31:20.980638 Event: Connected to Receiver Handler
+On: 2011-11-03 23:31:21.212828 Event: Receiver Handler respond
+On: 2011-11-03 23:31:21.215448 Event: Receiver handler : Ready
+On: 2011-11-03 23:31:21.215485 Event: Start Call
+On: 2011-11-03 23:31:21.215541 Event: Waiting Feedback
+On: 2011-11-03 23:31:26.916197 Event: Test Succeed
+On: 2011-11-03 23:31:26.916257 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:31:26.916461 Event: init Cancel test
+On: 2011-11-03 23:31:29.963675 Event: -- -X- --
+On: 2011-11-03 23:31:29.963738 Event: init Caller
+On: 2011-11-03 23:31:29.963756 Event: GSMRZ1
+On: 2011-11-03 23:31:29.963804 Event: Init GSM
+On: 2011-11-03 23:31:31.967857 Event: Caller Greeting
+On: 2011-11-03 23:31:31.970299 Event: Connected to Caller Handler
+On: 2011-11-03 23:31:32.110134 Event: Caller Handler respond
+On: 2011-11-03 23:31:32.110430 Event: Caller handler : Ready
+On: 2011-11-03 23:31:32.110462 Event: init Receiver
+On: 2011-11-03 23:31:32.110483 Event: GSMExt.Tm
+On: 2011-11-03 23:31:32.110534 Event: Init GSM
+On: 2011-11-03 23:31:34.114698 Event: Receiver Greeting
+On: 2011-11-03 23:31:34.117158 Event: Connected to Receiver Handler
+On: 2011-11-03 23:31:34.234134 Event: Receiver Handler respond
+On: 2011-11-03 23:31:34.234419 Event: Receiver handler : Ready
+On: 2011-11-03 23:31:34.234449 Event: Start Call
+On: 2011-11-03 23:31:34.234500 Event: Waiting Feedback
+On: 2011-11-03 23:31:46.386100 Event: Test Succeed
+On: 2011-11-03 23:31:46.386154 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:31:46.386292 Event: init Cancel test
+On: 2011-11-03 23:31:49.432494 Event: -- -X- --
+On: 2011-11-03 23:31:49.432556 Event: init Caller
+On: 2011-11-03 23:31:49.432575 Event: landline
+On: 2011-11-03 23:31:51.436728 Event: Caller Greeting
+On: 2011-11-03 23:31:51.437533 Event: Connected to Caller Handler
+On: 2011-11-03 23:31:51.437809 Event: Caller Handler respond
+On: 2011-11-03 23:31:51.439818 Event: Caller handler : Ready
+On: 2011-11-03 23:31:51.439856 Event: init Receiver
+On: 2011-11-03 23:31:51.439876 Event: GSMRZ2
+On: 2011-11-03 23:31:59.448541 Event: Receiver Greeting
+On: 2011-11-03 23:31:59.449081 Event: Connected to Receiver Handler
+On: 2011-11-03 23:31:59.639192 Event: Receiver Handler respond
+On: 2011-11-03 23:31:59.641468 Event: Receiver handler : Ready
+On: 2011-11-03 23:31:59.641503 Event: Start Call
+On: 2011-11-03 23:31:59.641563 Event: Waiting Feedback
+On: 2011-11-03 23:32:07.751423 Event: Test Succeed
+On: 2011-11-03 23:32:07.751462 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:32:07.751639 Event: init Cancel test
+On: 2011-11-03 23:32:10.796389 Event: -- -X- --
+On: 2011-11-03 23:32:10.796450 Event: init Caller
+On: 2011-11-03 23:32:10.796468 Event: sip
+On: 2011-11-03 23:32:12.800720 Event: Caller Greeting
+On: 2011-11-03 23:32:12.801408 Event: Connected to Caller Handler
+On: 2011-11-03 23:32:12.801767 Event: Caller Handler respond
+On: 2011-11-03 23:32:12.802705 Event: Caller handler : Ready
+On: 2011-11-03 23:32:12.802743 Event: init Receiver
+On: 2011-11-03 23:32:12.802762 Event: GSMExt.Eplus
+On: 2011-11-03 23:32:12.802815 Event: Init GSM
+On: 2011-11-03 23:32:14.806008 Event: Receiver Greeting
+On: 2011-11-03 23:32:14.808487 Event: Connected to Receiver Handler
+On: 2011-11-03 23:32:14.922209 Event: Receiver Handler respond
+On: 2011-11-03 23:32:14.922504 Event: Receiver handler : Ready
+On: 2011-11-03 23:32:14.922537 Event: Start Call
+On: 2011-11-03 23:32:14.922594 Event: Waiting Feedback
+On: 2011-11-03 23:32:29.923004 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-03 23:32:29.923132 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:32:29.923283 Event: init Cancel test
+On: 2011-11-03 23:32:32.966560 Event: -- -X- --
+On: 2011-11-03 23:32:32.966621 Event: init Caller
+On: 2011-11-03 23:32:32.966640 Event: sip
+On: 2011-11-03 23:32:34.970825 Event: Caller Greeting
+On: 2011-11-03 23:32:34.971505 Event: Connected to Caller Handler
+On: 2011-11-03 23:32:34.971868 Event: Caller Handler respond
+On: 2011-11-03 23:32:34.972617 Event: Caller handler : Ready
+On: 2011-11-03 23:32:34.972655 Event: init Receiver
+On: 2011-11-03 23:32:34.972676 Event: GSMExt.O2
+On: 2011-11-03 23:32:34.972728 Event: Init GSM
+On: 2011-11-03 23:32:36.977088 Event: Receiver Greeting
+On: 2011-11-03 23:32:36.979588 Event: Connected to Receiver Handler
+On: 2011-11-03 23:32:37.102128 Event: Receiver Handler respond
+On: 2011-11-03 23:32:37.102422 Event: Receiver handler : Ready
+On: 2011-11-03 23:32:37.102454 Event: Start Call
+On: 2011-11-03 23:32:37.102507 Event: Waiting Feedback
+On: 2011-11-03 23:32:50.258070 Event: Test Succeed
+On: 2011-11-03 23:32:50.258109 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:32:50.258241 Event: init Cancel test
+On: 2011-11-03 23:32:53.301880 Event: -- -X- --
+On: 2011-11-03 23:32:53.301939 Event: init Caller
+On: 2011-11-03 23:32:53.302019 Event: sip
+On: 2011-11-03 23:32:55.306007 Event: Caller Greeting
+On: 2011-11-03 23:32:55.306690 Event: Connected to Caller Handler
+On: 2011-11-03 23:32:55.307050 Event: Caller Handler respond
+On: 2011-11-03 23:32:55.307796 Event: Caller handler : Ready
+On: 2011-11-03 23:32:55.307830 Event: init Receiver
+On: 2011-11-03 23:32:55.307849 Event: GSMExt.Voda
+On: 2011-11-03 23:32:55.307901 Event: Init GSM
+On: 2011-11-03 23:32:57.312336 Event: Receiver Greeting
+On: 2011-11-03 23:32:57.314842 Event: Connected to Receiver Handler
+On: 2011-11-03 23:33:02.328102 Event: Connect to Caller but device doesnt work
+On: 2011-11-03 23:33:02.328146 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-03 23:33:02.328169 Event: TERMINATE CONNECTION
+On: 2011-11-03 23:33:02.328303 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:03:17.626180 ------------------
+On: 2011-11-04 13:03:17.626257 Event: init Caller
+On: 2011-11-04 13:03:17.626282 Event: GSMRZ3
+On: 2011-11-04 13:03:25.643844 Event: Caller Greeting
+On: 2011-11-04 13:03:25.644570 Event: Connected to Caller Handler
+On: 2011-11-04 13:03:25.854494 Event: Caller Handler respond
+On: 2011-11-04 13:03:25.857194 Event: Caller handler : Ready
+On: 2011-11-04 13:03:25.857256 Event: init Receiver
+On: 2011-11-04 13:03:25.857277 Event: unisip
+On: 2011-11-04 13:03:27.860808 Event: Receiver Greeting
+On: 2011-11-04 13:03:27.861668 Event: Connected to Receiver Handler
+On: 2011-11-04 13:03:27.861942 Event: Receiver Handler respond
+On: 2011-11-04 13:03:27.862759 Event: Receiver handler : Ready
+On: 2011-11-04 13:03:27.862797 Event: Start Call
+On: 2011-11-04 13:03:27.863063 Event: Waiting Feedback
+On: 2011-11-04 13:03:31.182710 Event: Test Succeed
+On: 2011-11-04 13:03:31.182776 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:03:31.183854 Event: init Cancel test
+On: 2011-11-04 13:03:34.225744 Event: -- -X- --
+On: 2011-11-04 13:03:34.225807 Event: init Caller
+On: 2011-11-04 13:03:34.225825 Event: GSMRZ2
+On: 2011-11-04 13:03:42.234749 Event: Caller Greeting
+On: 2011-11-04 13:03:42.235333 Event: Connected to Caller Handler
+On: 2011-11-04 13:03:42.445277 Event: Caller Handler respond
+On: 2011-11-04 13:03:42.447542 Event: Caller handler : Ready
+On: 2011-11-04 13:03:42.447580 Event: init Receiver
+On: 2011-11-04 13:03:42.447601 Event: unisip
+On: 2011-11-04 13:03:44.451089 Event: Receiver Greeting
+On: 2011-11-04 13:03:44.451916 Event: Connected to Receiver Handler
+On: 2011-11-04 13:03:44.452200 Event: Receiver Handler respond
+On: 2011-11-04 13:03:44.453294 Event: Receiver handler : Ready
+On: 2011-11-04 13:03:44.453331 Event: Start Call
+On: 2011-11-04 13:03:44.453493 Event: Waiting Feedback
+On: 2011-11-04 13:03:47.608802 Event: Test Succeed
+On: 2011-11-04 13:03:47.608867 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:03:47.609047 Event: init Cancel test
+On: 2011-11-04 13:03:50.660497 Event: -- -X- --
+On: 2011-11-04 13:03:50.660559 Event: init Caller
+On: 2011-11-04 13:03:50.660578 Event: GSMRZ1
+On: 2011-11-04 13:03:50.660625 Event: Init GSM
+On: 2011-11-04 13:03:52.664831 Event: Caller Greeting
+On: 2011-11-04 13:03:52.667506 Event: Connected to Caller Handler
+On: 2011-11-04 13:03:52.810159 Event: Caller Handler respond
+On: 2011-11-04 13:03:52.810459 Event: Caller handler : Ready
+On: 2011-11-04 13:03:52.810492 Event: init Receiver
+On: 2011-11-04 13:03:52.810512 Event: unisip
+On: 2011-11-04 13:03:54.814885 Event: Receiver Greeting
+On: 2011-11-04 13:03:54.815698 Event: Connected to Receiver Handler
+On: 2011-11-04 13:03:54.815983 Event: Receiver Handler respond
+On: 2011-11-04 13:03:54.817114 Event: Receiver handler : Ready
+On: 2011-11-04 13:03:54.817153 Event: Start Call
+On: 2011-11-04 13:03:54.822003 Event: Waiting Feedback
+On: 2011-11-04 13:03:57.360162 Event: Test Succeed
+On: 2011-11-04 13:03:57.360223 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:03:57.360362 Event: init Cancel test
+On: 2011-11-04 13:04:00.419226 Event: -- -X- --
+On: 2011-11-04 13:04:00.419291 Event: init Caller
+On: 2011-11-04 13:04:00.419309 Event: GSMRZ3
+On: 2011-11-04 13:04:08.429745 Event: Caller Greeting
+On: 2011-11-04 13:04:08.430370 Event: Connected to Caller Handler
+On: 2011-11-04 13:04:08.638110 Event: Caller Handler respond
+On: 2011-11-04 13:04:08.640672 Event: Caller handler : Ready
+On: 2011-11-04 13:04:08.640710 Event: init Receiver
+On: 2011-11-04 13:04:08.640730 Event: GSMExt.O2
+On: 2011-11-04 13:04:08.640783 Event: Init GSM
+On: 2011-11-04 13:04:10.645041 Event: Receiver Greeting
+On: 2011-11-04 13:04:10.647672 Event: Connected to Receiver Handler
+On: 2011-11-04 13:04:10.774141 Event: Receiver Handler respond
+On: 2011-11-04 13:04:10.774439 Event: Receiver handler : Ready
+On: 2011-11-04 13:04:10.774470 Event: Start Call
+On: 2011-11-04 13:04:10.774983 Event: Waiting Feedback
+On: 2011-11-04 13:04:21.497482 Event: Test Succeed
+On: 2011-11-04 13:04:21.497546 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:04:21.501676 Event: init Cancel test
+On: 2011-11-04 13:04:24.563971 Event: -- -X- --
+On: 2011-11-04 13:04:24.564036 Event: init Caller
+On: 2011-11-04 13:04:24.564054 Event: GSMRZ3
+On: 2011-11-04 13:04:32.578024 Event: Caller Greeting
+On: 2011-11-04 13:04:32.578610 Event: Connected to Caller Handler
+On: 2011-11-04 13:04:32.810633 Event: Caller Handler respond
+On: 2011-11-04 13:04:32.813211 Event: Caller handler : Ready
+On: 2011-11-04 13:04:32.813247 Event: init Receiver
+On: 2011-11-04 13:04:32.813267 Event: GSMExt.Tm
+On: 2011-11-04 13:04:32.813319 Event: Init GSM
+On: 2011-11-04 13:04:34.817584 Event: Receiver Greeting
+On: 2011-11-04 13:04:34.820228 Event: Connected to Receiver Handler
+On: 2011-11-04 13:04:34.941646 Event: Receiver Handler respond
+On: 2011-11-04 13:04:34.941944 Event: Receiver handler : Ready
+On: 2011-11-04 13:04:34.942008 Event: Start Call
+On: 2011-11-04 13:04:34.942537 Event: Waiting Feedback
+On: 2011-11-04 13:04:47.733088 Event: Test Succeed
+On: 2011-11-04 13:04:47.733152 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:04:47.737331 Event: init Cancel test
+On: 2011-11-04 13:04:50.794528 Event: -- -X- --
+On: 2011-11-04 13:04:50.794592 Event: init Caller
+On: 2011-11-04 13:04:50.794610 Event: GSMRZ3
+On: 2011-11-04 13:04:58.814878 Event: Caller Greeting
+On: 2011-11-04 13:04:58.815457 Event: Connected to Caller Handler
+On: 2011-11-04 13:04:59.039853 Event: Caller Handler respond
+On: 2011-11-04 13:04:59.042131 Event: Caller handler : Ready
+On: 2011-11-04 13:04:59.042168 Event: init Receiver
+On: 2011-11-04 13:04:59.042188 Event: GSMExt.Voda
+On: 2011-11-04 13:04:59.042240 Event: Init GSM
+On: 2011-11-04 13:05:01.046499 Event: Receiver Greeting
+On: 2011-11-04 13:05:01.049110 Event: Connected to Receiver Handler
+On: 2011-11-04 13:05:06.066717 Event: Connect to Caller but device doesnt work
+On: 2011-11-04 13:05:06.066762 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-04 13:05:06.066784 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:05:06.067443 Event: init Cancel test
+On: 2011-11-04 13:05:09.138650 Event: -- -X- --
+On: 2011-11-04 13:05:09.138711 Event: init Caller
+On: 2011-11-04 13:05:09.138729 Event: GSMRZ3
+On: 2011-11-04 13:05:17.153541 Event: Caller Greeting
+On: 2011-11-04 13:05:17.154161 Event: Connected to Caller Handler
+On: 2011-11-04 13:05:17.359735 Event: Caller Handler respond
+On: 2011-11-04 13:05:17.362255 Event: Caller handler : Ready
+On: 2011-11-04 13:05:17.362311 Event: init Receiver
+On: 2011-11-04 13:05:17.362332 Event: GSMExt.Eplus
+On: 2011-11-04 13:05:17.362386 Event: Init GSM
+On: 2011-11-04 13:05:19.366600 Event: Receiver Greeting
+On: 2011-11-04 13:05:19.369211 Event: Connected to Receiver Handler
+On: 2011-11-04 13:05:19.482286 Event: Receiver Handler respond
+On: 2011-11-04 13:05:19.482587 Event: Receiver handler : Ready
+On: 2011-11-04 13:05:19.482621 Event: Start Call
+On: 2011-11-04 13:05:19.483146 Event: Waiting Feedback
+On: 2011-11-04 13:05:34.484575 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 13:05:34.484632 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:05:34.485342 Event: init Cancel test
+On: 2011-11-04 13:05:37.544190 Event: -- -X- --
+On: 2011-11-04 13:05:37.544252 Event: init Caller
+On: 2011-11-04 13:05:37.544271 Event: GSMRZ2
+On: 2011-11-04 13:05:45.554094 Event: Caller Greeting
+On: 2011-11-04 13:05:45.554682 Event: Connected to Caller Handler
+On: 2011-11-04 13:05:45.770611 Event: Caller Handler respond
+On: 2011-11-04 13:05:45.772865 Event: Caller handler : Ready
+On: 2011-11-04 13:05:45.772900 Event: init Receiver
+On: 2011-11-04 13:05:45.772921 Event: GSMExt.O2
+On: 2011-11-04 13:05:45.772973 Event: Init GSM
+On: 2011-11-04 13:05:47.777218 Event: Receiver Greeting
+On: 2011-11-04 13:05:47.779932 Event: Connected to Receiver Handler
+On: 2011-11-04 13:05:47.910173 Event: Receiver Handler respond
+On: 2011-11-04 13:05:47.910470 Event: Receiver handler : Ready
+On: 2011-11-04 13:05:47.910501 Event: Start Call
+On: 2011-11-04 13:05:47.911011 Event: Waiting Feedback
+On: 2011-11-04 13:05:59.442959 Event: Test Succeed
+On: 2011-11-04 13:05:59.443023 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:05:59.446566 Event: init Cancel test
+On: 2011-11-04 13:06:02.505153 Event: -- -X- --
+On: 2011-11-04 13:06:02.505220 Event: init Caller
+On: 2011-11-04 13:06:02.505238 Event: GSMRZ2
+On: 2011-11-04 13:06:10.512707 Event: Caller Greeting
+On: 2011-11-04 13:06:10.513287 Event: Connected to Caller Handler
+On: 2011-11-04 13:06:10.724962 Event: Caller Handler respond
+On: 2011-11-04 13:06:10.727254 Event: Caller handler : Ready
+On: 2011-11-04 13:06:10.727295 Event: init Receiver
+On: 2011-11-04 13:06:10.727315 Event: GSMExt.Tm
+On: 2011-11-04 13:06:10.727367 Event: Init GSM
+On: 2011-11-04 13:06:12.730043 Event: Receiver Greeting
+On: 2011-11-04 13:06:12.732719 Event: Connected to Receiver Handler
+On: 2011-11-04 13:06:12.846209 Event: Receiver Handler respond
+On: 2011-11-04 13:06:12.846510 Event: Receiver handler : Ready
+On: 2011-11-04 13:06:12.846542 Event: Start Call
+On: 2011-11-04 13:06:12.846693 Event: Waiting Feedback
+On: 2011-11-04 13:06:25.506766 Event: Test Succeed
+On: 2011-11-04 13:06:25.506832 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:06:25.510672 Event: init Cancel test
+On: 2011-11-04 13:06:28.568861 Event: -- -X- --
+On: 2011-11-04 13:06:28.568929 Event: init Caller
+On: 2011-11-04 13:06:28.568947 Event: GSMRZ2
+On: 2011-11-04 13:06:36.576281 Event: Caller Greeting
+On: 2011-11-04 13:06:36.576866 Event: Connected to Caller Handler
+On: 2011-11-04 13:06:36.788546 Event: Caller Handler respond
+On: 2011-11-04 13:06:36.790833 Event: Caller handler : Ready
+On: 2011-11-04 13:06:36.790871 Event: init Receiver
+On: 2011-11-04 13:06:36.790892 Event: GSMExt.Voda
+On: 2011-11-04 13:06:36.790945 Event: Init GSM
+On: 2011-11-04 13:06:38.795166 Event: Receiver Greeting
+On: 2011-11-04 13:06:38.797814 Event: Connected to Receiver Handler
+On: 2011-11-04 13:06:43.810975 Event: Connect to Caller but device doesnt work
+On: 2011-11-04 13:06:43.811020 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-04 13:06:43.811042 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:06:43.811727 Event: init Cancel test
+On: 2011-11-04 13:06:46.883953 Event: -- -X- --
+On: 2011-11-04 13:06:46.884017 Event: init Caller
+On: 2011-11-04 13:06:46.884035 Event: GSMRZ2
+On: 2011-11-04 13:06:54.899644 Event: Caller Greeting
+On: 2011-11-04 13:06:54.900231 Event: Connected to Caller Handler
+On: 2011-11-04 13:06:55.094145 Event: Caller Handler respond
+On: 2011-11-04 13:06:55.096506 Event: Caller handler : Ready
+On: 2011-11-04 13:06:55.096561 Event: init Receiver
+On: 2011-11-04 13:06:55.096582 Event: GSMExt.Eplus
+On: 2011-11-04 13:06:55.096635 Event: Init GSM
+On: 2011-11-04 13:06:57.100930 Event: Receiver Greeting
+On: 2011-11-04 13:06:57.103572 Event: Connected to Receiver Handler
+On: 2011-11-04 13:06:57.222137 Event: Receiver Handler respond
+On: 2011-11-04 13:06:57.222438 Event: Receiver handler : Ready
+On: 2011-11-04 13:06:57.222469 Event: Start Call
+On: 2011-11-04 13:06:57.222981 Event: Waiting Feedback
+On: 2011-11-04 13:07:12.223404 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 13:07:12.223463 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:07:12.224174 Event: init Cancel test
+On: 2011-11-04 13:07:15.294553 Event: -- -X- --
+On: 2011-11-04 13:07:15.294621 Event: init Caller
+On: 2011-11-04 13:07:15.294639 Event: GSMRZ1
+On: 2011-11-04 13:07:15.294683 Event: Init GSM
+On: 2011-11-04 13:07:17.298924 Event: Caller Greeting
+On: 2011-11-04 13:07:17.301521 Event: Connected to Caller Handler
+On: 2011-11-04 13:07:17.445441 Event: Caller Handler respond
+On: 2011-11-04 13:07:17.445753 Event: Caller handler : Ready
+On: 2011-11-04 13:07:17.445786 Event: init Receiver
+On: 2011-11-04 13:07:17.445806 Event: GSMExt.O2
+On: 2011-11-04 13:07:17.445857 Event: Init GSM
+On: 2011-11-04 13:07:19.450187 Event: Receiver Greeting
+On: 2011-11-04 13:07:19.452792 Event: Connected to Receiver Handler
+On: 2011-11-04 13:07:19.546310 Event: Receiver Handler respond
+On: 2011-11-04 13:07:19.546610 Event: Receiver handler : Ready
+On: 2011-11-04 13:07:19.546644 Event: Start Call
+On: 2011-11-04 13:07:19.546696 Event: Waiting Feedback
+On: 2011-11-04 13:07:30.466124 Event: Test Succeed
+On: 2011-11-04 13:07:30.466179 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:07:30.466315 Event: init Cancel test
+On: 2011-11-04 13:07:33.528013 Event: -- -X- --
+On: 2011-11-04 13:07:33.528080 Event: init Caller
+On: 2011-11-04 13:07:33.528098 Event: GSMRZ1
+On: 2011-11-04 13:07:33.528143 Event: Init GSM
+On: 2011-11-04 13:07:35.542980 Event: Caller Greeting
+On: 2011-11-04 13:07:35.545622 Event: Connected to Caller Handler
+On: 2011-11-04 13:07:35.686168 Event: Caller Handler respond
+On: 2011-11-04 13:07:35.686475 Event: Caller handler : Ready
+On: 2011-11-04 13:07:35.686508 Event: init Receiver
+On: 2011-11-04 13:07:35.686528 Event: GSMExt.Tm
+On: 2011-11-04 13:07:35.686578 Event: Init GSM
+On: 2011-11-04 13:07:37.690015 Event: Receiver Greeting
+On: 2011-11-04 13:07:37.692585 Event: Connected to Receiver Handler
+On: 2011-11-04 13:07:37.810139 Event: Receiver Handler respond
+On: 2011-11-04 13:07:37.810438 Event: Receiver handler : Ready
+On: 2011-11-04 13:07:37.810470 Event: Start Call
+On: 2011-11-04 13:07:37.810525 Event: Waiting Feedback
+On: 2011-11-04 13:07:50.856877 Event: Test Succeed
+On: 2011-11-04 13:07:50.856937 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:07:50.857104 Event: init Cancel test
+On: 2011-11-04 13:07:53.917706 Event: -- -X- --
+On: 2011-11-04 13:07:53.917770 Event: init Caller
+On: 2011-11-04 13:07:53.917788 Event: GSMRZ1
+On: 2011-11-04 13:07:53.917833 Event: Init GSM
+On: 2011-11-04 13:07:55.932357 Event: Caller Greeting
+On: 2011-11-04 13:07:55.934959 Event: Connected to Caller Handler
+On: 2011-11-04 13:07:56.082167 Event: Caller Handler respond
+On: 2011-11-04 13:07:56.082472 Event: Caller handler : Ready
+On: 2011-11-04 13:07:56.082504 Event: init Receiver
+On: 2011-11-04 13:07:56.082524 Event: GSMExt.Voda
+On: 2011-11-04 13:07:56.082574 Event: Init GSM
+On: 2011-11-04 13:07:58.085183 Event: Receiver Greeting
+On: 2011-11-04 13:07:58.087824 Event: Connected to Receiver Handler
+On: 2011-11-04 13:08:03.105517 Event: Connect to Caller but device doesnt work
+On: 2011-11-04 13:08:03.105561 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-04 13:08:03.105583 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:08:03.105717 Event: init Cancel test
+On: 2011-11-04 13:08:06.191421 Event: -- -X- --
+On: 2011-11-04 13:08:06.191485 Event: init Caller
+On: 2011-11-04 13:08:06.191504 Event: GSMRZ1
+On: 2011-11-04 13:08:06.191548 Event: Init GSM
+On: 2011-11-04 13:08:08.194017 Event: Caller Greeting
+On: 2011-11-04 13:08:08.196611 Event: Connected to Caller Handler
+On: 2011-11-04 13:08:08.318171 Event: Caller Handler respond
+On: 2011-11-04 13:08:08.318471 Event: Caller handler : Ready
+On: 2011-11-04 13:08:08.318503 Event: init Receiver
+On: 2011-11-04 13:08:08.318522 Event: GSMExt.Eplus
+On: 2011-11-04 13:08:08.318573 Event: Init GSM
+On: 2011-11-04 13:08:10.322122 Event: Receiver Greeting
+On: 2011-11-04 13:08:10.324711 Event: Connected to Receiver Handler
+On: 2011-11-04 13:08:10.450205 Event: Receiver Handler respond
+On: 2011-11-04 13:08:10.450500 Event: Receiver handler : Ready
+On: 2011-11-04 13:08:10.450531 Event: Start Call
+On: 2011-11-04 13:08:10.450586 Event: Waiting Feedback
+On: 2011-11-04 13:08:25.454522 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 13:08:25.454581 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:08:25.454720 Event: init Cancel test
+On: 2011-11-04 13:08:30.513224 Event: -- -X- --
+On: 2011-11-04 13:08:30.513286 Event: init Caller
+On: 2011-11-04 13:08:30.513304 Event: landline
+On: 2011-11-04 13:08:32.517541 Event: Caller Greeting
+On: 2011-11-04 13:08:32.518409 Event: Connected to Caller Handler
+On: 2011-11-04 13:08:32.518688 Event: Caller Handler respond
+On: 2011-11-04 13:08:32.521785 Event: Caller handler : Ready
+On: 2011-11-04 13:08:32.521824 Event: init Receiver
+On: 2011-11-04 13:08:32.521844 Event: GSMRZ3
+On: 2011-11-04 13:08:40.530011 Event: Receiver Greeting
+On: 2011-11-04 13:08:40.530605 Event: Connected to Receiver Handler
+On: 2011-11-04 13:08:40.752677 Event: Receiver Handler respond
+On: 2011-11-04 13:08:40.755391 Event: Receiver handler : Ready
+On: 2011-11-04 13:08:40.755533 Event: Start Call
+On: 2011-11-04 13:08:40.755616 Event: Waiting Feedback
+On: 2011-11-04 13:08:49.208646 Event: Test Succeed
+On: 2011-11-04 13:08:49.208701 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:08:49.208892 Event: init Cancel test
+On: 2011-11-04 13:08:52.269238 Event: -- -X- --
+On: 2011-11-04 13:08:52.269302 Event: init Caller
+On: 2011-11-04 13:08:52.269320 Event: landline
+On: 2011-11-04 13:08:54.273522 Event: Caller Greeting
+On: 2011-11-04 13:08:54.274391 Event: Connected to Caller Handler
+On: 2011-11-04 13:08:54.274675 Event: Caller Handler respond
+On: 2011-11-04 13:08:54.277513 Event: Caller handler : Ready
+On: 2011-11-04 13:08:54.277554 Event: init Receiver
+On: 2011-11-04 13:08:54.277573 Event: GSMRZ2
+On: 2011-11-04 13:09:02.288163 Event: Receiver Greeting
+On: 2011-11-04 13:09:02.288722 Event: Connected to Receiver Handler
+On: 2011-11-04 13:09:02.505840 Event: Receiver Handler respond
+On: 2011-11-04 13:09:02.508064 Event: Receiver handler : Ready
+On: 2011-11-04 13:09:02.508103 Event: Start Call
+On: 2011-11-04 13:09:02.508162 Event: Waiting Feedback
+On: 2011-11-04 13:09:11.565037 Event: Test Succeed
+On: 2011-11-04 13:09:11.565094 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:09:11.565285 Event: init Cancel test
+On: 2011-11-04 13:09:14.640257 Event: -- -X- --
+On: 2011-11-04 13:09:14.640317 Event: init Caller
+On: 2011-11-04 13:09:14.640336 Event: landline
+On: 2011-11-04 13:09:16.643250 Event: Caller Greeting
+On: 2011-11-04 13:09:16.644106 Event: Connected to Caller Handler
+On: 2011-11-04 13:09:16.644392 Event: Caller Handler respond
+On: 2011-11-04 13:09:16.646573 Event: Caller handler : Ready
+On: 2011-11-04 13:09:16.646611 Event: init Receiver
+On: 2011-11-04 13:09:16.646631 Event: GSMRZ1
+On: 2011-11-04 13:09:16.646681 Event: Init GSM
+On: 2011-11-04 13:09:18.650009 Event: Receiver Greeting
+On: 2011-11-04 13:09:18.652563 Event: Connected to Receiver Handler
+On: 2011-11-04 13:09:18.794141 Event: Receiver Handler respond
+On: 2011-11-04 13:09:18.794440 Event: Receiver handler : Ready
+On: 2011-11-04 13:09:18.794472 Event: Start Call
+On: 2011-11-04 13:09:18.794523 Event: Waiting Feedback
+On: 2011-11-04 13:09:26.879305 Event: Test Succeed
+On: 2011-11-04 13:09:26.879362 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:09:26.879506 Event: init Cancel test
+On: 2011-11-04 13:09:29.940670 Event: -- -X- --
+On: 2011-11-04 13:09:29.940731 Event: init Caller
+On: 2011-11-04 13:09:29.940749 Event: landline
+On: 2011-11-04 13:09:31.949359 Event: Caller Greeting
+On: 2011-11-04 13:09:31.950211 Event: Connected to Caller Handler
+On: 2011-11-04 13:09:31.950492 Event: Caller Handler respond
+On: 2011-11-04 13:09:31.953074 Event: Caller handler : Ready
+On: 2011-11-04 13:09:31.953114 Event: init Receiver
+On: 2011-11-04 13:09:31.953134 Event: sip
+On: 2011-11-04 13:09:33.957504 Event: Receiver Greeting
+On: 2011-11-04 13:09:33.958344 Event: Connected to Receiver Handler
+On: 2011-11-04 13:09:33.958629 Event: Receiver Handler respond
+On: 2011-11-04 13:09:33.959388 Event: Receiver handler : Ready
+On: 2011-11-04 13:09:33.959422 Event: Start Call
+On: 2011-11-04 13:09:33.959648 Event: Waiting Feedback
+On: 2011-11-04 13:09:39.958411 Event: Test Succeed
+On: 2011-11-04 13:09:39.958468 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:09:39.958609 Event: init Cancel test
+On: 2011-11-04 13:09:43.003580 Event: -- -X- --
+On: 2011-11-04 13:09:43.003642 Event: init Caller
+On: 2011-11-04 13:09:43.003660 Event: GSMRZ2
+On: 2011-11-04 13:09:51.014012 Event: Caller Greeting
+On: 2011-11-04 13:09:51.014594 Event: Connected to Caller Handler
+On: 2011-11-04 13:09:51.226844 Event: Caller Handler respond
+On: 2011-11-04 13:09:51.229133 Event: Caller handler : Ready
+On: 2011-11-04 13:09:51.229171 Event: init Receiver
+On: 2011-11-04 13:09:51.229192 Event: GSMRZ3
+On: 2011-11-04 13:09:59.239645 Event: Receiver Greeting
+On: 2011-11-04 13:09:59.240216 Event: Connected to Receiver Handler
+On: 2011-11-04 13:09:59.466201 Event: Receiver Handler respond
+On: 2011-11-04 13:09:59.468879 Event: Receiver handler : Ready
+On: 2011-11-04 13:09:59.469027 Event: Start Call
+On: 2011-11-04 13:09:59.469109 Event: Waiting Feedback
+On: 2011-11-04 13:10:04.641364 Event: Test Succeed
+On: 2011-11-04 13:10:04.641429 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:10:04.641619 Event: init Cancel test
+On: 2011-11-04 13:10:07.696279 Event: -- -X- --
+On: 2011-11-04 13:10:07.696343 Event: init Caller
+On: 2011-11-04 13:10:07.696361 Event: GSMRZ1
+On: 2011-11-04 13:10:07.696405 Event: Init GSM
+On: 2011-11-04 13:10:09.700568 Event: Caller Greeting
+On: 2011-11-04 13:10:09.703192 Event: Connected to Caller Handler
+On: 2011-11-04 13:10:09.850163 Event: Caller Handler respond
+On: 2011-11-04 13:10:09.850471 Event: Caller handler : Ready
+On: 2011-11-04 13:10:09.850503 Event: init Receiver
+On: 2011-11-04 13:10:09.850522 Event: GSMRZ3
+On: 2011-11-04 13:10:17.858022 Event: Receiver Greeting
+On: 2011-11-04 13:10:17.858589 Event: Connected to Receiver Handler
+On: 2011-11-04 13:10:18.084928 Event: Receiver Handler respond
+On: 2011-11-04 13:10:18.087159 Event: Receiver handler : Ready
+On: 2011-11-04 13:10:18.087197 Event: Start Call
+On: 2011-11-04 13:10:18.087257 Event: Waiting Feedback
+On: 2011-11-04 13:10:21.630158 Event: Test Succeed
+On: 2011-11-04 13:10:21.630216 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:10:21.630401 Event: init Cancel test
+On: 2011-11-04 13:10:24.682600 Event: -- -X- --
+On: 2011-11-04 13:10:24.682660 Event: init Caller
+On: 2011-11-04 13:10:24.682678 Event: GSMRZ1
+On: 2011-11-04 13:10:24.682723 Event: Init GSM
+On: 2011-11-04 13:10:26.691320 Event: Caller Greeting
+On: 2011-11-04 13:10:26.693932 Event: Connected to Caller Handler
+On: 2011-11-04 13:10:26.834138 Event: Caller Handler respond
+On: 2011-11-04 13:10:26.834444 Event: Caller handler : Ready
+On: 2011-11-04 13:10:26.834475 Event: init Receiver
+On: 2011-11-04 13:10:26.834495 Event: GSMRZ2
+On: 2011-11-04 13:10:34.842027 Event: Receiver Greeting
+On: 2011-11-04 13:10:34.842604 Event: Connected to Receiver Handler
+On: 2011-11-04 13:10:35.057381 Event: Receiver Handler respond
+On: 2011-11-04 13:10:35.059637 Event: Receiver handler : Ready
+On: 2011-11-04 13:10:35.059677 Event: Start Call
+On: 2011-11-04 13:10:35.059734 Event: Waiting Feedback
+On: 2011-11-04 13:10:38.674138 Event: Test Succeed
+On: 2011-11-04 13:10:38.674198 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:10:38.674383 Event: init Cancel test
+On: 2011-11-04 13:10:41.719567 Event: -- -X- --
+On: 2011-11-04 13:10:41.719628 Event: init Caller
+On: 2011-11-04 13:10:41.719646 Event: sip
+On: 2011-11-04 13:10:43.723669 Event: Caller Greeting
+On: 2011-11-04 13:10:43.724532 Event: Connected to Caller Handler
+On: 2011-11-04 13:10:43.724818 Event: Caller Handler respond
+On: 2011-11-04 13:10:43.725589 Event: Caller handler : Ready
+On: 2011-11-04 13:10:43.725628 Event: init Receiver
+On: 2011-11-04 13:10:43.725647 Event: unisip
+On: 2011-11-04 13:10:45.730039 Event: Receiver Greeting
+On: 2011-11-04 13:10:45.730854 Event: Connected to Receiver Handler
+On: 2011-11-04 13:10:45.731139 Event: Receiver Handler respond
+On: 2011-11-04 13:10:45.731899 Event: Receiver handler : Ready
+On: 2011-11-04 13:10:45.731939 Event: Start Call
+On: 2011-11-04 13:10:45.731999 Event: Waiting Feedback
+On: 2011-11-04 13:10:48.828031 Event: Test Succeed
+On: 2011-11-04 13:10:48.828091 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:10:48.828235 Event: init Cancel test
+On: 2011-11-04 13:10:51.879995 Event: -- -X- --
+On: 2011-11-04 13:10:51.880057 Event: init Caller
+On: 2011-11-04 13:10:51.880075 Event: sip
+On: 2011-11-04 13:10:53.888657 Event: Caller Greeting
+On: 2011-11-04 13:10:53.889479 Event: Connected to Caller Handler
+On: 2011-11-04 13:10:53.889761 Event: Caller Handler respond
+On: 2011-11-04 13:10:53.890588 Event: Caller handler : Ready
+On: 2011-11-04 13:10:53.890626 Event: init Receiver
+On: 2011-11-04 13:10:53.890646 Event: landline
+On: 2011-11-04 13:10:55.894010 Event: Receiver Greeting
+On: 2011-11-04 13:10:55.894834 Event: Connected to Receiver Handler
+On: 2011-11-04 13:10:55.895166 Event: Receiver Handler respond
+On: 2011-11-04 13:10:55.897645 Event: Receiver handler : Ready
+On: 2011-11-04 13:10:55.897758 Event: Start Call
+On: 2011-11-04 13:10:55.897904 Event: Waiting Feedback
+On: 2011-11-04 13:11:02.356353 Event: Test Succeed
+On: 2011-11-04 13:11:02.356412 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:11:02.356553 Event: init Cancel test
+On: 2011-11-04 13:11:05.404432 Event: -- -X- --
+On: 2011-11-04 13:11:05.404508 Event: init Caller
+On: 2011-11-04 13:11:05.404525 Event: GSMRZ3
+On: 2011-11-04 13:11:13.418030 Event: Caller Greeting
+On: 2011-11-04 13:11:13.418612 Event: Connected to Caller Handler
+On: 2011-11-04 13:11:13.649707 Event: Caller Handler respond
+On: 2011-11-04 13:11:13.652352 Event: Caller handler : Ready
+On: 2011-11-04 13:11:13.652390 Event: init Receiver
+On: 2011-11-04 13:11:13.652412 Event: sip
+On: 2011-11-04 13:11:15.655439 Event: Receiver Greeting
+On: 2011-11-04 13:11:15.656321 Event: Connected to Receiver Handler
+On: 2011-11-04 13:11:15.656612 Event: Receiver Handler respond
+On: 2011-11-04 13:11:15.657729 Event: Receiver handler : Ready
+On: 2011-11-04 13:11:15.657768 Event: Start Call
+On: 2011-11-04 13:11:15.657941 Event: Waiting Feedback
+On: 2011-11-04 13:11:18.938787 Event: Test Succeed
+On: 2011-11-04 13:11:18.938853 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:11:18.939031 Event: init Cancel test
+On: 2011-11-04 13:11:21.984165 Event: -- -X- --
+On: 2011-11-04 13:11:21.984224 Event: init Caller
+On: 2011-11-04 13:11:21.984242 Event: GSMRZ2
+On: 2011-11-04 13:11:29.994176 Event: Caller Greeting
+On: 2011-11-04 13:11:29.994762 Event: Connected to Caller Handler
+On: 2011-11-04 13:11:30.215774 Event: Caller Handler respond
+On: 2011-11-04 13:11:30.218201 Event: Caller handler : Ready
+On: 2011-11-04 13:11:30.218269 Event: init Receiver
+On: 2011-11-04 13:11:30.218291 Event: sip
+On: 2011-11-04 13:11:32.222117 Event: Receiver Greeting
+On: 2011-11-04 13:11:32.222974 Event: Connected to Receiver Handler
+On: 2011-11-04 13:11:32.223259 Event: Receiver Handler respond
+On: 2011-11-04 13:11:32.223999 Event: Receiver handler : Ready
+On: 2011-11-04 13:11:32.224033 Event: Start Call
+On: 2011-11-04 13:11:32.224291 Event: Waiting Feedback
+On: 2011-11-04 13:11:35.512864 Event: Test Succeed
+On: 2011-11-04 13:11:35.512925 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:11:35.514032 Event: init Cancel test
+On: 2011-11-04 13:11:38.572999 Event: -- -X- --
+On: 2011-11-04 13:11:38.573062 Event: init Caller
+On: 2011-11-04 13:11:38.573081 Event: GSMRZ1
+On: 2011-11-04 13:11:38.573125 Event: Init GSM
+On: 2011-11-04 13:11:40.577360 Event: Caller Greeting
+On: 2011-11-04 13:11:40.579953 Event: Connected to Caller Handler
+On: 2011-11-04 13:11:40.726218 Event: Caller Handler respond
+On: 2011-11-04 13:11:40.726520 Event: Caller handler : Ready
+On: 2011-11-04 13:11:40.726551 Event: init Receiver
+On: 2011-11-04 13:11:40.726572 Event: sip
+On: 2011-11-04 13:11:42.730013 Event: Receiver Greeting
+On: 2011-11-04 13:11:42.730821 Event: Connected to Receiver Handler
+On: 2011-11-04 13:11:42.731103 Event: Receiver Handler respond
+On: 2011-11-04 13:11:42.732204 Event: Receiver handler : Ready
+On: 2011-11-04 13:11:42.732243 Event: Start Call
+On: 2011-11-04 13:11:42.734020 Event: Waiting Feedback
+On: 2011-11-04 13:11:45.178146 Event: Test Succeed
+On: 2011-11-04 13:11:45.178206 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:11:45.178346 Event: init Cancel test
+On: 2011-11-04 13:11:48.222328 Event: -- -X- --
+On: 2011-11-04 13:11:48.222388 Event: init Caller
+On: 2011-11-04 13:11:48.222406 Event: sip
+On: 2011-11-04 13:11:50.226603 Event: Caller Greeting
+On: 2011-11-04 13:11:50.227430 Event: Connected to Caller Handler
+On: 2011-11-04 13:11:50.227712 Event: Caller Handler respond
+On: 2011-11-04 13:11:50.228486 Event: Caller handler : Ready
+On: 2011-11-04 13:11:50.228525 Event: init Receiver
+On: 2011-11-04 13:11:50.228545 Event: GSMRZ3
+On: 2011-11-04 13:11:58.238671 Event: Receiver Greeting
+On: 2011-11-04 13:11:58.239227 Event: Connected to Receiver Handler
+On: 2011-11-04 13:11:58.471729 Event: Receiver Handler respond
+On: 2011-11-04 13:11:58.474359 Event: Receiver handler : Ready
+On: 2011-11-04 13:11:58.474399 Event: Start Call
+On: 2011-11-04 13:11:58.474549 Event: Waiting Feedback
+On: 2011-11-04 13:12:04.393767 Event: Test Succeed
+On: 2011-11-04 13:12:04.393830 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:12:04.394036 Event: init Cancel test
+On: 2011-11-04 13:12:07.438881 Event: -- -X- --
+On: 2011-11-04 13:12:07.438940 Event: init Caller
+On: 2011-11-04 13:12:07.438958 Event: sip
+On: 2011-11-04 13:12:09.443155 Event: Caller Greeting
+On: 2011-11-04 13:12:09.443987 Event: Connected to Caller Handler
+On: 2011-11-04 13:12:09.444275 Event: Caller Handler respond
+On: 2011-11-04 13:12:09.445407 Event: Caller handler : Ready
+On: 2011-11-04 13:12:09.445446 Event: init Receiver
+On: 2011-11-04 13:12:09.445466 Event: GSMRZ2
+On: 2011-11-04 13:12:17.454776 Event: Receiver Greeting
+On: 2011-11-04 13:12:17.455342 Event: Connected to Receiver Handler
+On: 2011-11-04 13:12:17.663536 Event: Receiver Handler respond
+On: 2011-11-04 13:12:17.665734 Event: Receiver handler : Ready
+On: 2011-11-04 13:12:17.665773 Event: Start Call
+On: 2011-11-04 13:12:17.665832 Event: Waiting Feedback
+On: 2011-11-04 13:12:22.991370 Event: Test Succeed
+On: 2011-11-04 13:12:22.991432 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:12:22.991613 Event: init Cancel test
+On: 2011-11-04 13:12:26.047771 Event: -- -X- --
+On: 2011-11-04 13:12:26.047835 Event: init Caller
+On: 2011-11-04 13:12:26.047853 Event: sip
+On: 2011-11-04 13:12:28.052111 Event: Caller Greeting
+On: 2011-11-04 13:12:28.052947 Event: Connected to Caller Handler
+On: 2011-11-04 13:12:28.053235 Event: Caller Handler respond
+On: 2011-11-04 13:12:28.054066 Event: Caller handler : Ready
+On: 2011-11-04 13:12:28.054107 Event: init Receiver
+On: 2011-11-04 13:12:28.054127 Event: GSMRZ1
+On: 2011-11-04 13:12:28.054178 Event: Init GSM
+On: 2011-11-04 13:12:30.058019 Event: Receiver Greeting
+On: 2011-11-04 13:12:30.061651 Event: Connected to Receiver Handler
+On: 2011-11-04 13:12:30.210139 Event: Receiver Handler respond
+On: 2011-11-04 13:12:30.210428 Event: Receiver handler : Ready
+On: 2011-11-04 13:12:30.210459 Event: Start Call
+On: 2011-11-04 13:12:30.210512 Event: Waiting Feedback
+On: 2011-11-04 13:12:35.910355 Event: Test Succeed
+On: 2011-11-04 13:12:35.910424 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:12:35.910568 Event: init Cancel test
+On: 2011-11-04 13:12:38.967210 Event: -- -X- --
+On: 2011-11-04 13:12:38.967267 Event: init Caller
+On: 2011-11-04 13:12:38.967285 Event: sip
+On: 2011-11-04 13:12:40.971506 Event: Caller Greeting
+On: 2011-11-04 13:12:40.972328 Event: Connected to Caller Handler
+On: 2011-11-04 13:12:40.972603 Event: Caller Handler respond
+On: 2011-11-04 13:12:40.973736 Event: Caller handler : Ready
+On: 2011-11-04 13:12:40.973775 Event: init Receiver
+On: 2011-11-04 13:12:40.973794 Event: GSMExt.Eplus
+On: 2011-11-04 13:12:40.973846 Event: Init GSM
+On: 2011-11-04 13:12:42.978010 Event: Receiver Greeting
+On: 2011-11-04 13:12:42.980616 Event: Connected to Receiver Handler
+On: 2011-11-04 13:12:43.098148 Event: Receiver Handler respond
+On: 2011-11-04 13:12:43.098433 Event: Receiver handler : Ready
+On: 2011-11-04 13:12:43.098466 Event: Start Call
+On: 2011-11-04 13:12:43.098520 Event: Waiting Feedback
+On: 2011-11-04 13:12:58.098948 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 13:12:58.099008 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:12:58.099148 Event: init Cancel test
+On: 2011-11-04 13:13:01.155216 Event: -- -X- --
+On: 2011-11-04 13:13:01.155275 Event: init Caller
+On: 2011-11-04 13:13:01.155293 Event: sip
+On: 2011-11-04 13:13:03.162010 Event: Caller Greeting
+On: 2011-11-04 13:13:03.162847 Event: Connected to Caller Handler
+On: 2011-11-04 13:13:03.163115 Event: Caller Handler respond
+On: 2011-11-04 13:13:03.163870 Event: Caller handler : Ready
+On: 2011-11-04 13:13:03.163906 Event: init Receiver
+On: 2011-11-04 13:13:03.163927 Event: GSMExt.Voda
+On: 2011-11-04 13:13:03.163977 Event: Init GSM
+On: 2011-11-04 13:13:05.168320 Event: Receiver Greeting
+On: 2011-11-04 13:13:05.170958 Event: Connected to Receiver Handler
+On: 2011-11-04 13:13:10.184522 Event: Connect to Caller but device doesnt work
+On: 2011-11-04 13:13:10.184566 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-04 13:13:10.184669 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:13:10.184820 Event: init Cancel test
+On: 2011-11-04 13:13:13.247818 Event: -- -X- --
+On: 2011-11-04 13:13:13.247880 Event: init Caller
+On: 2011-11-04 13:13:13.247898 Event: sip
+On: 2011-11-04 13:13:15.260237 Event: Caller Greeting
+On: 2011-11-04 13:13:15.261075 Event: Connected to Caller Handler
+On: 2011-11-04 13:13:15.261362 Event: Caller Handler respond
+On: 2011-11-04 13:13:15.262188 Event: Caller handler : Ready
+On: 2011-11-04 13:13:15.262225 Event: init Receiver
+On: 2011-11-04 13:13:15.262245 Event: GSMExt.Tm
+On: 2011-11-04 13:13:15.262296 Event: Init GSM
+On: 2011-11-04 13:13:17.265609 Event: Receiver Greeting
+On: 2011-11-04 13:13:17.268131 Event: Connected to Receiver Handler
+On: 2011-11-04 13:13:17.370144 Event: Receiver Handler respond
+On: 2011-11-04 13:13:17.370440 Event: Receiver handler : Ready
+On: 2011-11-04 13:13:17.370470 Event: Start Call
+On: 2011-11-04 13:13:17.370523 Event: Waiting Feedback
+On: 2011-11-04 13:13:31.264588 Event: Test Succeed
+On: 2011-11-04 13:13:31.264648 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:13:31.264787 Event: init Cancel test
+On: 2011-11-04 13:13:34.320968 Event: -- -X- --
+On: 2011-11-04 13:13:34.321034 Event: init Caller
+On: 2011-11-04 13:13:34.321052 Event: sip
+On: 2011-11-04 13:13:36.325533 Event: Caller Greeting
+On: 2011-11-04 13:13:36.326444 Event: Connected to Caller Handler
+On: 2011-11-04 13:13:36.326731 Event: Caller Handler respond
+On: 2011-11-04 13:13:36.327868 Event: Caller handler : Ready
+On: 2011-11-04 13:13:36.327907 Event: init Receiver
+On: 2011-11-04 13:13:36.327926 Event: GSMExt.O2
+On: 2011-11-04 13:13:36.327977 Event: Init GSM
+On: 2011-11-04 13:13:38.333174 Event: Receiver Greeting
+On: 2011-11-04 13:13:38.335831 Event: Connected to Receiver Handler
+On: 2011-11-04 13:13:38.454145 Event: Receiver Handler respond
+On: 2011-11-04 13:13:38.454444 Event: Receiver handler : Ready
+On: 2011-11-04 13:13:38.454475 Event: Start Call
+On: 2011-11-04 13:13:38.454528 Event: Waiting Feedback
+On: 2011-11-04 13:13:50.799918 Event: Test Succeed
+On: 2011-11-04 13:13:50.799979 Event: TERMINATE CONNECTION
+On: 2011-11-04 13:13:50.800120 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:01:11.010188 ------------------
+On: 2011-11-04 14:01:11.010265 Event: init Caller
+On: 2011-11-04 14:01:11.010289 Event: sip
+On: 2011-11-04 14:01:13.014525 Event: Caller Greeting
+On: 2011-11-04 14:01:13.015550 Event: Connected to Caller Handler
+On: 2011-11-04 14:01:13.015841 Event: Caller Handler respond
+On: 2011-11-04 14:01:13.016942 Event: Caller handler : Ready
+On: 2011-11-04 14:01:13.016982 Event: init Receiver
+On: 2011-11-04 14:01:13.017002 Event: GSMExt.O2
+On: 2011-11-04 14:01:13.017054 Event: Init GSM
+On: 2011-11-04 14:01:15.021583 Event: Receiver Greeting
+On: 2011-11-04 14:01:15.024170 Event: Connected to Receiver Handler
+On: 2011-11-04 14:01:15.150614 Event: Receiver Handler respond
+On: 2011-11-04 14:01:15.151080 Event: Receiver handler : Ready
+On: 2011-11-04 14:01:15.151116 Event: Start Call
+On: 2011-11-04 14:01:15.151175 Event: Waiting Feedback
+On: 2011-11-04 14:01:28.145817 Event: Test Succeed
+On: 2011-11-04 14:01:28.145865 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:01:28.146051 Event: init Cancel test
+On: 2011-11-04 14:01:31.192488 Event: -- -X- --
+On: 2011-11-04 14:01:31.192550 Event: init Caller
+On: 2011-11-04 14:01:31.192569 Event: sip
+On: 2011-11-04 14:01:33.199756 Event: Caller Greeting
+On: 2011-11-04 14:01:33.200654 Event: Connected to Caller Handler
+On: 2011-11-04 14:01:33.200936 Event: Caller Handler respond
+On: 2011-11-04 14:01:33.202070 Event: Caller handler : Ready
+On: 2011-11-04 14:01:33.202110 Event: init Receiver
+On: 2011-11-04 14:01:33.202130 Event: GSMExt.Tm
+On: 2011-11-04 14:01:33.202181 Event: Init GSM
+On: 2011-11-04 14:01:35.206016 Event: Receiver Greeting
+On: 2011-11-04 14:01:35.208564 Event: Connected to Receiver Handler
+On: 2011-11-04 14:01:35.306204 Event: Receiver Handler respond
+On: 2011-11-04 14:01:35.306501 Event: Receiver handler : Ready
+On: 2011-11-04 14:01:35.306533 Event: Start Call
+On: 2011-11-04 14:01:35.306586 Event: Waiting Feedback
+On: 2011-11-04 14:01:48.954718 Event: Test Succeed
+On: 2011-11-04 14:01:48.954780 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:01:48.954924 Event: init Cancel test
+On: 2011-11-04 14:01:52.013795 Event: -- -X- --
+On: 2011-11-04 14:01:52.013862 Event: init Caller
+On: 2011-11-04 14:01:52.013880 Event: sip
+On: 2011-11-04 14:01:54.018229 Event: Caller Greeting
+On: 2011-11-04 14:01:54.019051 Event: Connected to Caller Handler
+On: 2011-11-04 14:01:54.019333 Event: Caller Handler respond
+On: 2011-11-04 14:01:54.020100 Event: Caller handler : Ready
+On: 2011-11-04 14:01:54.020135 Event: init Receiver
+On: 2011-11-04 14:01:54.020155 Event: GSMExt.Voda
+On: 2011-11-04 14:01:54.020206 Event: Init GSM
+On: 2011-11-04 14:01:56.022882 Event: Receiver Greeting
+On: 2011-11-04 14:01:56.025509 Event: Connected to Receiver Handler
+On: 2011-11-04 14:01:56.154169 Event: Receiver Handler respond
+On: 2011-11-04 14:01:56.154465 Event: Receiver handler : Ready
+On: 2011-11-04 14:01:56.154494 Event: Start Call
+On: 2011-11-04 14:01:56.154550 Event: Waiting Feedback
+On: 2011-11-04 14:02:08.799796 Event: Test Succeed
+On: 2011-11-04 14:02:08.799856 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:02:08.800000 Event: init Cancel test
+On: 2011-11-04 14:02:11.859509 Event: -- -X- --
+On: 2011-11-04 14:02:11.859570 Event: init Caller
+On: 2011-11-04 14:02:11.859801 Event: sip
+On: 2011-11-04 14:02:13.870274 Event: Caller Greeting
+On: 2011-11-04 14:02:13.871127 Event: Connected to Caller Handler
+On: 2011-11-04 14:02:13.871412 Event: Caller Handler respond
+On: 2011-11-04 14:02:13.872542 Event: Caller handler : Ready
+On: 2011-11-04 14:02:13.872580 Event: init Receiver
+On: 2011-11-04 14:02:13.872600 Event: GSMExt.Eplus
+On: 2011-11-04 14:02:13.872653 Event: Init GSM
+On: 2011-11-04 14:02:15.877277 Event: Receiver Greeting
+On: 2011-11-04 14:02:15.879829 Event: Connected to Receiver Handler
+On: 2011-11-04 14:02:15.994239 Event: Receiver Handler respond
+On: 2011-11-04 14:02:15.994540 Event: Receiver handler : Ready
+On: 2011-11-04 14:02:15.994572 Event: Start Call
+On: 2011-11-04 14:02:15.994627 Event: Waiting Feedback
+On: 2011-11-04 14:02:30.995050 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 14:02:30.995188 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:02:30.995342 Event: init Cancel test
+On: 2011-11-04 14:02:34.041764 Event: -- -X- --
+On: 2011-11-04 14:02:34.041830 Event: init Caller
+On: 2011-11-04 14:02:34.041849 Event: GSMRZ3
+On: 2011-11-04 14:02:42.061763 Event: Caller Greeting
+On: 2011-11-04 14:02:42.062385 Event: Connected to Caller Handler
+On: 2011-11-04 14:02:42.275985 Event: Caller Handler respond
+On: 2011-11-04 14:02:42.278620 Event: Caller handler : Ready
+On: 2011-11-04 14:02:42.278671 Event: init Receiver
+On: 2011-11-04 14:02:42.278693 Event: unisip
+On: 2011-11-04 14:02:44.282898 Event: Receiver Greeting
+On: 2011-11-04 14:02:44.283759 Event: Connected to Receiver Handler
+On: 2011-11-04 14:02:44.284048 Event: Receiver Handler respond
+On: 2011-11-04 14:02:44.285429 Event: Receiver handler : Ready
+On: 2011-11-04 14:02:44.285487 Event: Start Call
+On: 2011-11-04 14:02:44.285809 Event: Waiting Feedback
+On: 2011-11-04 14:02:48.423186 Event: Test Succeed
+On: 2011-11-04 14:02:48.423249 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:02:48.424327 Event: init Cancel test
+On: 2011-11-04 14:02:51.465684 Event: -- -X- --
+On: 2011-11-04 14:02:51.465748 Event: init Caller
+On: 2011-11-04 14:02:51.465766 Event: GSMRZ2
+On: 2011-11-04 14:02:59.474228 Event: Caller Greeting
+On: 2011-11-04 14:02:59.474833 Event: Connected to Caller Handler
+On: 2011-11-04 14:02:59.670266 Event: Caller Handler respond
+On: 2011-11-04 14:02:59.672354 Event: Caller handler : Ready
+On: 2011-11-04 14:02:59.672391 Event: init Receiver
+On: 2011-11-04 14:02:59.672412 Event: unisip
+On: 2011-11-04 14:03:01.676895 Event: Receiver Greeting
+On: 2011-11-04 14:03:01.677751 Event: Connected to Receiver Handler
+On: 2011-11-04 14:03:01.678101 Event: Receiver Handler respond
+On: 2011-11-04 14:03:01.678880 Event: Receiver handler : Ready
+On: 2011-11-04 14:03:01.678919 Event: Start Call
+On: 2011-11-04 14:03:01.679184 Event: Waiting Feedback
+On: 2011-11-04 14:03:05.466369 Event: Test Succeed
+On: 2011-11-04 14:03:05.466433 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:03:05.467477 Event: init Cancel test
+On: 2011-11-04 14:03:08.524081 Event: -- -X- --
+On: 2011-11-04 14:03:08.524146 Event: init Caller
+On: 2011-11-04 14:03:08.524164 Event: GSMRZ1
+On: 2011-11-04 14:03:08.524212 Event: Init GSM
+On: 2011-11-04 14:03:10.532262 Event: Caller Greeting
+On: 2011-11-04 14:03:10.534989 Event: Connected to Caller Handler
+On: 2011-11-04 14:03:10.632284 Event: Caller Handler respond
+On: 2011-11-04 14:03:10.632593 Event: Caller handler : Ready
+On: 2011-11-04 14:03:10.632626 Event: init Receiver
+On: 2011-11-04 14:03:10.632646 Event: unisip
+On: 2011-11-04 14:03:12.637260 Event: Receiver Greeting
+On: 2011-11-04 14:03:12.638154 Event: Connected to Receiver Handler
+On: 2011-11-04 14:03:12.638447 Event: Receiver Handler respond
+On: 2011-11-04 14:03:12.639214 Event: Receiver handler : Ready
+On: 2011-11-04 14:03:12.639253 Event: Start Call
+On: 2011-11-04 14:03:12.642012 Event: Waiting Feedback
+On: 2011-11-04 14:03:15.090118 Event: Test Succeed
+On: 2011-11-04 14:03:15.090177 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:03:15.090319 Event: init Cancel test
+On: 2011-11-04 14:03:18.146159 Event: -- -X- --
+On: 2011-11-04 14:03:18.146231 Event: init Caller
+On: 2011-11-04 14:03:18.146250 Event: GSMRZ3
+On: 2011-11-04 14:03:26.156661 Event: Caller Greeting
+On: 2011-11-04 14:03:26.157255 Event: Connected to Caller Handler
+On: 2011-11-04 14:03:26.386332 Event: Caller Handler respond
+On: 2011-11-04 14:03:26.388980 Event: Caller handler : Ready
+On: 2011-11-04 14:03:26.389016 Event: init Receiver
+On: 2011-11-04 14:03:26.389037 Event: GSMExt.O2
+On: 2011-11-04 14:03:26.389092 Event: Init GSM
+On: 2011-11-04 14:03:28.393426 Event: Receiver Greeting
+On: 2011-11-04 14:03:28.396122 Event: Connected to Receiver Handler
+On: 2011-11-04 14:03:28.502172 Event: Receiver Handler respond
+On: 2011-11-04 14:03:28.502474 Event: Receiver handler : Ready
+On: 2011-11-04 14:03:28.502506 Event: Start Call
+On: 2011-11-04 14:03:28.503019 Event: Waiting Feedback
+On: 2011-11-04 14:03:40.371194 Event: Test Succeed
+On: 2011-11-04 14:03:40.371259 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:03:40.374543 Event: init Cancel test
+On: 2011-11-04 14:03:43.432543 Event: -- -X- --
+On: 2011-11-04 14:03:43.432608 Event: init Caller
+On: 2011-11-04 14:03:43.432627 Event: GSMRZ3
+On: 2011-11-04 14:03:51.441438 Event: Caller Greeting
+On: 2011-11-04 14:03:51.442075 Event: Connected to Caller Handler
+On: 2011-11-04 14:03:51.645496 Event: Caller Handler respond
+On: 2011-11-04 14:03:51.648152 Event: Caller handler : Ready
+On: 2011-11-04 14:03:51.648189 Event: init Receiver
+On: 2011-11-04 14:03:51.648210 Event: GSMExt.Tm
+On: 2011-11-04 14:03:51.648264 Event: Init GSM
+On: 2011-11-04 14:03:53.652606 Event: Receiver Greeting
+On: 2011-11-04 14:03:53.655311 Event: Connected to Receiver Handler
+On: 2011-11-04 14:03:53.770217 Event: Receiver Handler respond
+On: 2011-11-04 14:03:53.770522 Event: Receiver handler : Ready
+On: 2011-11-04 14:03:53.770555 Event: Start Call
+On: 2011-11-04 14:03:53.771068 Event: Waiting Feedback
+On: 2011-11-04 14:04:07.622085 Event: Test Succeed
+On: 2011-11-04 14:04:07.622147 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:04:07.626275 Event: init Cancel test
+On: 2011-11-04 14:04:10.683378 Event: -- -X- --
+On: 2011-11-04 14:04:10.683442 Event: init Caller
+On: 2011-11-04 14:04:10.683461 Event: GSMRZ3
+On: 2011-11-04 14:04:18.694197 Event: Caller Greeting
+On: 2011-11-04 14:04:18.694793 Event: Connected to Caller Handler
+On: 2011-11-04 14:04:18.919656 Event: Caller Handler respond
+On: 2011-11-04 14:04:18.922220 Event: Caller handler : Ready
+On: 2011-11-04 14:04:18.922258 Event: init Receiver
+On: 2011-11-04 14:04:18.922279 Event: GSMExt.Voda
+On: 2011-11-04 14:04:18.922332 Event: Init GSM
+On: 2011-11-04 14:04:20.926053 Event: Receiver Greeting
+On: 2011-11-04 14:04:20.928653 Event: Connected to Receiver Handler
+On: 2011-11-04 14:04:21.026140 Event: Receiver Handler respond
+On: 2011-11-04 14:04:21.026439 Event: Receiver handler : Ready
+On: 2011-11-04 14:04:21.026471 Event: Start Call
+On: 2011-11-04 14:04:21.026623 Event: Waiting Feedback
+On: 2011-11-04 14:04:34.975267 Event: Test Succeed
+On: 2011-11-04 14:04:34.975331 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:04:34.978541 Event: init Cancel test
+On: 2011-11-04 14:04:38.035325 Event: -- -X- --
+On: 2011-11-04 14:04:38.035389 Event: init Caller
+On: 2011-11-04 14:04:38.035408 Event: GSMRZ3
+On: 2011-11-04 14:04:46.042184 Event: Caller Greeting
+On: 2011-11-04 14:04:46.042781 Event: Connected to Caller Handler
+On: 2011-11-04 14:04:46.265877 Event: Caller Handler respond
+On: 2011-11-04 14:04:46.268584 Event: Caller handler : Ready
+On: 2011-11-04 14:04:46.268649 Event: init Receiver
+On: 2011-11-04 14:04:46.268670 Event: GSMExt.Eplus
+On: 2011-11-04 14:04:46.268726 Event: Init GSM
+On: 2011-11-04 14:04:48.272990 Event: Receiver Greeting
+On: 2011-11-04 14:04:48.275696 Event: Connected to Receiver Handler
+On: 2011-11-04 14:04:48.382210 Event: Receiver Handler respond
+On: 2011-11-04 14:04:48.382507 Event: Receiver handler : Ready
+On: 2011-11-04 14:04:48.382539 Event: Start Call
+On: 2011-11-04 14:04:48.382943 Event: Waiting Feedback
+On: 2011-11-04 14:05:03.386461 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 14:05:03.386523 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:05:03.387210 Event: init Cancel test
+On: 2011-11-04 14:05:06.444229 Event: -- -X- --
+On: 2011-11-04 14:05:06.444294 Event: init Caller
+On: 2011-11-04 14:05:06.444313 Event: GSMRZ2
+On: 2011-11-04 14:05:14.458238 Event: Caller Greeting
+On: 2011-11-04 14:05:14.458832 Event: Connected to Caller Handler
+On: 2011-11-04 14:05:14.675739 Event: Caller Handler respond
+On: 2011-11-04 14:05:14.678034 Event: Caller handler : Ready
+On: 2011-11-04 14:05:14.678071 Event: init Receiver
+On: 2011-11-04 14:05:14.678092 Event: GSMExt.O2
+On: 2011-11-04 14:05:14.678145 Event: Init GSM
+On: 2011-11-04 14:05:16.682406 Event: Receiver Greeting
+On: 2011-11-04 14:05:16.685000 Event: Connected to Receiver Handler
+On: 2011-11-04 14:05:16.810137 Event: Receiver Handler respond
+On: 2011-11-04 14:05:16.810434 Event: Receiver handler : Ready
+On: 2011-11-04 14:05:16.810537 Event: Start Call
+On: 2011-11-04 14:05:16.810801 Event: Waiting Feedback
+On: 2011-11-04 14:05:30.176528 Event: Test Succeed
+On: 2011-11-04 14:05:30.176591 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:05:30.178559 Event: init Cancel test
+On: 2011-11-04 14:05:33.235714 Event: -- -X- --
+On: 2011-11-04 14:05:33.235778 Event: init Caller
+On: 2011-11-04 14:05:33.235797 Event: GSMRZ2
+On: 2011-11-04 14:05:41.246193 Event: Caller Greeting
+On: 2011-11-04 14:05:41.246797 Event: Connected to Caller Handler
+On: 2011-11-04 14:05:41.466224 Event: Caller Handler respond
+On: 2011-11-04 14:05:41.468538 Event: Caller handler : Ready
+On: 2011-11-04 14:05:41.468574 Event: init Receiver
+On: 2011-11-04 14:05:41.468595 Event: GSMExt.Tm
+On: 2011-11-04 14:05:41.468649 Event: Init GSM
+On: 2011-11-04 14:05:43.472959 Event: Receiver Greeting
+On: 2011-11-04 14:05:43.475593 Event: Connected to Receiver Handler
+On: 2011-11-04 14:05:43.570145 Event: Receiver Handler respond
+On: 2011-11-04 14:05:43.570456 Event: Receiver handler : Ready
+On: 2011-11-04 14:05:43.570489 Event: Start Call
+On: 2011-11-04 14:05:43.570645 Event: Waiting Feedback
+On: 2011-11-04 14:05:57.380671 Event: Test Succeed
+On: 2011-11-04 14:05:57.380737 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:05:57.382616 Event: init Cancel test
+On: 2011-11-04 14:06:00.438412 Event: -- -X- --
+On: 2011-11-04 14:06:00.438480 Event: init Caller
+On: 2011-11-04 14:06:00.438499 Event: GSMRZ2
+On: 2011-11-04 14:06:08.446040 Event: Caller Greeting
+On: 2011-11-04 14:06:08.446640 Event: Connected to Caller Handler
+On: 2011-11-04 14:06:08.662596 Event: Caller Handler respond
+On: 2011-11-04 14:06:08.664880 Event: Caller handler : Ready
+On: 2011-11-04 14:06:08.664916 Event: init Receiver
+On: 2011-11-04 14:06:08.664937 Event: GSMExt.Voda
+On: 2011-11-04 14:06:08.664989 Event: Init GSM
+On: 2011-11-04 14:06:10.669275 Event: Receiver Greeting
+On: 2011-11-04 14:06:10.671985 Event: Connected to Receiver Handler
+On: 2011-11-04 14:06:10.806139 Event: Receiver Handler respond
+On: 2011-11-04 14:06:10.806442 Event: Receiver handler : Ready
+On: 2011-11-04 14:06:10.806474 Event: Start Call
+On: 2011-11-04 14:06:10.806970 Event: Waiting Feedback
+On: 2011-11-04 14:06:23.491448 Event: Test Succeed
+On: 2011-11-04 14:06:23.491512 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:06:23.494645 Event: init Cancel test
+On: 2011-11-04 14:06:26.553439 Event: -- -X- --
+On: 2011-11-04 14:06:26.553506 Event: init Caller
+On: 2011-11-04 14:06:26.553525 Event: GSMRZ2
+On: 2011-11-04 14:06:34.558021 Event: Caller Greeting
+On: 2011-11-04 14:06:34.558613 Event: Connected to Caller Handler
+On: 2011-11-04 14:06:34.750448 Event: Caller Handler respond
+On: 2011-11-04 14:06:34.752546 Event: Caller handler : Ready
+On: 2011-11-04 14:06:34.752582 Event: init Receiver
+On: 2011-11-04 14:06:34.752603 Event: GSMExt.Eplus
+On: 2011-11-04 14:06:34.752657 Event: Init GSM
+On: 2011-11-04 14:06:36.757016 Event: Receiver Greeting
+On: 2011-11-04 14:06:36.759653 Event: Connected to Receiver Handler
+On: 2011-11-04 14:06:36.886138 Event: Receiver Handler respond
+On: 2011-11-04 14:06:36.886443 Event: Receiver handler : Ready
+On: 2011-11-04 14:06:36.886475 Event: Start Call
+On: 2011-11-04 14:06:36.886632 Event: Waiting Feedback
+On: 2011-11-04 14:06:51.887043 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 14:06:51.887102 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:06:51.887800 Event: init Cancel test
+On: 2011-11-04 14:06:54.948539 Event: -- -X- --
+On: 2011-11-04 14:06:54.948606 Event: init Caller
+On: 2011-11-04 14:06:54.948625 Event: GSMRZ1
+On: 2011-11-04 14:06:54.948672 Event: Init GSM
+On: 2011-11-04 14:06:56.952973 Event: Caller Greeting
+On: 2011-11-04 14:06:56.955663 Event: Connected to Caller Handler
+On: 2011-11-04 14:06:57.074241 Event: Caller Handler respond
+On: 2011-11-04 14:06:57.074554 Event: Caller handler : Ready
+On: 2011-11-04 14:06:57.074587 Event: init Receiver
+On: 2011-11-04 14:06:57.074607 Event: GSMExt.O2
+On: 2011-11-04 14:06:57.074660 Event: Init GSM
+On: 2011-11-04 14:06:59.078965 Event: Receiver Greeting
+On: 2011-11-04 14:06:59.081715 Event: Connected to Receiver Handler
+On: 2011-11-04 14:06:59.198179 Event: Receiver Handler respond
+On: 2011-11-04 14:06:59.198480 Event: Receiver handler : Ready
+On: 2011-11-04 14:06:59.198513 Event: Start Call
+On: 2011-11-04 14:06:59.198567 Event: Waiting Feedback
+On: 2011-11-04 14:07:10.306123 Event: Test Succeed
+On: 2011-11-04 14:07:10.306180 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:07:10.306335 Event: init Cancel test
+On: 2011-11-04 14:07:13.377999 Event: -- -X- --
+On: 2011-11-04 14:07:13.378068 Event: init Caller
+On: 2011-11-04 14:07:13.378086 Event: GSMRZ1
+On: 2011-11-04 14:07:13.378134 Event: Init GSM
+On: 2011-11-04 14:07:15.382442 Event: Caller Greeting
+On: 2011-11-04 14:07:15.385042 Event: Connected to Caller Handler
+On: 2011-11-04 14:07:15.502170 Event: Caller Handler respond
+On: 2011-11-04 14:07:15.502486 Event: Caller handler : Ready
+On: 2011-11-04 14:07:15.502519 Event: init Receiver
+On: 2011-11-04 14:07:15.502540 Event: GSMExt.Tm
+On: 2011-11-04 14:07:15.502592 Event: Init GSM
+On: 2011-11-04 14:07:17.506810 Event: Receiver Greeting
+On: 2011-11-04 14:07:17.509451 Event: Connected to Receiver Handler
+On: 2011-11-04 14:07:17.626384 Event: Receiver Handler respond
+On: 2011-11-04 14:07:17.626683 Event: Receiver handler : Ready
+On: 2011-11-04 14:07:17.626715 Event: Start Call
+On: 2011-11-04 14:07:17.626768 Event: Waiting Feedback
+On: 2011-11-04 14:07:29.678123 Event: Test Succeed
+On: 2011-11-04 14:07:29.678182 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:07:29.678317 Event: init Cancel test
+On: 2011-11-04 14:07:32.746560 Event: -- -X- --
+On: 2011-11-04 14:07:32.746632 Event: init Caller
+On: 2011-11-04 14:07:32.746651 Event: GSMRZ1
+On: 2011-11-04 14:07:32.746698 Event: Init GSM
+On: 2011-11-04 14:07:34.754627 Event: Caller Greeting
+On: 2011-11-04 14:07:34.757293 Event: Connected to Caller Handler
+On: 2011-11-04 14:07:34.882139 Event: Caller Handler respond
+On: 2011-11-04 14:07:34.882442 Event: Caller handler : Ready
+On: 2011-11-04 14:07:34.882472 Event: init Receiver
+On: 2011-11-04 14:07:34.882493 Event: GSMExt.Voda
+On: 2011-11-04 14:07:34.882545 Event: Init GSM
+On: 2011-11-04 14:07:36.886019 Event: Receiver Greeting
+On: 2011-11-04 14:07:36.888723 Event: Connected to Receiver Handler
+On: 2011-11-04 14:07:36.994139 Event: Receiver Handler respond
+On: 2011-11-04 14:07:36.994443 Event: Receiver handler : Ready
+On: 2011-11-04 14:07:36.994475 Event: Start Call
+On: 2011-11-04 14:07:36.994528 Event: Waiting Feedback
+On: 2011-11-04 14:07:50.158119 Event: Test Succeed
+On: 2011-11-04 14:07:50.158177 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:07:50.158331 Event: init Cancel test
+On: 2011-11-04 14:07:53.227543 Event: -- -X- --
+On: 2011-11-04 14:07:53.227613 Event: init Caller
+On: 2011-11-04 14:07:53.227632 Event: GSMRZ1
+On: 2011-11-04 14:07:53.227680 Event: Init GSM
+On: 2011-11-04 14:07:55.231828 Event: Caller Greeting
+On: 2011-11-04 14:07:55.234462 Event: Connected to Caller Handler
+On: 2011-11-04 14:07:55.350206 Event: Caller Handler respond
+On: 2011-11-04 14:07:55.350508 Event: Caller handler : Ready
+On: 2011-11-04 14:07:55.350541 Event: init Receiver
+On: 2011-11-04 14:07:55.350561 Event: GSMExt.Eplus
+On: 2011-11-04 14:07:55.350613 Event: Init GSM
+On: 2011-11-04 14:07:57.354314 Event: Receiver Greeting
+On: 2011-11-04 14:07:57.356924 Event: Connected to Receiver Handler
+On: 2011-11-04 14:07:57.478358 Event: Receiver Handler respond
+On: 2011-11-04 14:07:57.478658 Event: Receiver handler : Ready
+On: 2011-11-04 14:07:57.478690 Event: Start Call
+On: 2011-11-04 14:07:57.478743 Event: Waiting Feedback
+On: 2011-11-04 14:08:12.482729 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 14:08:12.482791 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:08:12.482930 Event: init Cancel test
+On: 2011-11-04 14:08:15.538933 Event: -- -X- --
+On: 2011-11-04 14:08:15.539000 Event: init Caller
+On: 2011-11-04 14:08:15.539018 Event: landline
+On: 2011-11-04 14:08:17.542053 Event: Caller Greeting
+On: 2011-11-04 14:08:17.542919 Event: Connected to Caller Handler
+On: 2011-11-04 14:08:17.543304 Event: Caller Handler respond
+On: 2011-11-04 14:08:17.566272 Event: Caller handler : Ready
+On: 2011-11-04 14:08:17.566312 Event: init Receiver
+On: 2011-11-04 14:08:17.566331 Event: GSMRZ3
+On: 2011-11-04 14:08:25.569990 Event: Receiver Greeting
+On: 2011-11-04 14:08:25.570570 Event: Connected to Receiver Handler
+On: 2011-11-04 14:08:25.791589 Event: Receiver Handler respond
+On: 2011-11-04 14:08:25.794174 Event: Receiver handler : Ready
+On: 2011-11-04 14:08:25.794211 Event: Start Call
+On: 2011-11-04 14:08:25.794269 Event: Waiting Feedback
+On: 2011-11-04 14:08:33.758485 Event: Test Succeed
+On: 2011-11-04 14:08:33.758542 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:08:33.758734 Event: init Cancel test
+On: 2011-11-04 14:08:36.836891 Event: -- -X- --
+On: 2011-11-04 14:08:36.836958 Event: init Caller
+On: 2011-11-04 14:08:36.836976 Event: landline
+On: 2011-11-04 14:08:38.842032 Event: Caller Greeting
+On: 2011-11-04 14:08:38.842908 Event: Connected to Caller Handler
+On: 2011-11-04 14:08:38.843200 Event: Caller Handler respond
+On: 2011-11-04 14:08:38.846552 Event: Caller handler : Ready
+On: 2011-11-04 14:08:38.846590 Event: init Receiver
+On: 2011-11-04 14:08:38.846610 Event: GSMRZ2
+On: 2011-11-04 14:08:46.855010 Event: Receiver Greeting
+On: 2011-11-04 14:08:46.855628 Event: Connected to Receiver Handler
+On: 2011-11-04 14:08:47.068676 Event: Receiver Handler respond
+On: 2011-11-04 14:08:47.071052 Event: Receiver handler : Ready
+On: 2011-11-04 14:08:47.071118 Event: Start Call
+On: 2011-11-04 14:08:47.071192 Event: Waiting Feedback
+On: 2011-11-04 14:08:55.305106 Event: Test Succeed
+On: 2011-11-04 14:08:55.305160 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:08:55.305352 Event: init Cancel test
+On: 2011-11-04 14:08:58.378235 Event: -- -X- --
+On: 2011-11-04 14:08:58.378302 Event: init Caller
+On: 2011-11-04 14:08:58.378320 Event: landline
+On: 2011-11-04 14:09:00.382576 Event: Caller Greeting
+On: 2011-11-04 14:09:00.383424 Event: Connected to Caller Handler
+On: 2011-11-04 14:09:00.383712 Event: Caller Handler respond
+On: 2011-11-04 14:09:00.386423 Event: Caller handler : Ready
+On: 2011-11-04 14:09:00.386463 Event: init Receiver
+On: 2011-11-04 14:09:00.386484 Event: GSMRZ1
+On: 2011-11-04 14:09:00.386536 Event: Init GSM
+On: 2011-11-04 14:09:02.390015 Event: Receiver Greeting
+On: 2011-11-04 14:09:02.392605 Event: Connected to Receiver Handler
+On: 2011-11-04 14:09:02.514215 Event: Receiver Handler respond
+On: 2011-11-04 14:09:02.514513 Event: Receiver handler : Ready
+On: 2011-11-04 14:09:02.514546 Event: Start Call
+On: 2011-11-04 14:09:02.514600 Event: Waiting Feedback
+On: 2011-11-04 14:09:10.654984 Event: Test Succeed
+On: 2011-11-04 14:09:10.655043 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:09:10.655179 Event: init Cancel test
+On: 2011-11-04 14:09:13.716329 Event: -- -X- --
+On: 2011-11-04 14:09:13.716388 Event: init Caller
+On: 2011-11-04 14:09:13.716406 Event: landline
+On: 2011-11-04 14:09:15.719693 Event: Caller Greeting
+On: 2011-11-04 14:09:15.720585 Event: Connected to Caller Handler
+On: 2011-11-04 14:09:15.720868 Event: Caller Handler respond
+On: 2011-11-04 14:09:15.723704 Event: Caller handler : Ready
+On: 2011-11-04 14:09:15.723741 Event: init Receiver
+On: 2011-11-04 14:09:15.723763 Event: sip
+On: 2011-11-04 14:09:17.728501 Event: Receiver Greeting
+On: 2011-11-04 14:09:17.729337 Event: Connected to Receiver Handler
+On: 2011-11-04 14:09:17.729626 Event: Receiver Handler respond
+On: 2011-11-04 14:09:17.730485 Event: Receiver handler : Ready
+On: 2011-11-04 14:09:17.730523 Event: Start Call
+On: 2011-11-04 14:09:17.730583 Event: Waiting Feedback
+On: 2011-11-04 14:09:23.583126 Event: Test Succeed
+On: 2011-11-04 14:09:23.583182 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:09:23.583315 Event: init Cancel test
+On: 2011-11-04 14:09:26.626372 Event: -- -X- --
+On: 2011-11-04 14:09:26.626438 Event: init Caller
+On: 2011-11-04 14:09:26.626457 Event: GSMRZ2
+On: 2011-11-04 14:09:34.636127 Event: Caller Greeting
+On: 2011-11-04 14:09:34.636723 Event: Connected to Caller Handler
+On: 2011-11-04 14:09:34.851983 Event: Caller Handler respond
+On: 2011-11-04 14:09:34.854401 Event: Caller handler : Ready
+On: 2011-11-04 14:09:34.854467 Event: init Receiver
+On: 2011-11-04 14:09:34.854489 Event: GSMRZ3
+On: 2011-11-04 14:09:42.864991 Event: Receiver Greeting
+On: 2011-11-04 14:09:42.865584 Event: Connected to Receiver Handler
+On: 2011-11-04 14:09:43.083214 Event: Receiver Handler respond
+On: 2011-11-04 14:09:43.085802 Event: Receiver handler : Ready
+On: 2011-11-04 14:09:43.085838 Event: Start Call
+On: 2011-11-04 14:09:43.085900 Event: Waiting Feedback
+On: 2011-11-04 14:09:48.274151 Event: Test Succeed
+On: 2011-11-04 14:09:48.274218 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:09:48.274411 Event: init Cancel test
+On: 2011-11-04 14:09:51.330551 Event: -- -X- --
+On: 2011-11-04 14:09:51.330617 Event: init Caller
+On: 2011-11-04 14:09:51.330636 Event: GSMRZ1
+On: 2011-11-04 14:09:51.330808 Event: Init GSM
+On: 2011-11-04 14:09:53.334553 Event: Caller Greeting
+On: 2011-11-04 14:09:53.337146 Event: Connected to Caller Handler
+On: 2011-11-04 14:09:53.458281 Event: Caller Handler respond
+On: 2011-11-04 14:09:53.458592 Event: Caller handler : Ready
+On: 2011-11-04 14:09:53.458623 Event: init Receiver
+On: 2011-11-04 14:09:53.458644 Event: GSMRZ3
+On: 2011-11-04 14:10:01.469146 Event: Receiver Greeting
+On: 2011-11-04 14:10:01.469724 Event: Connected to Receiver Handler
+On: 2011-11-04 14:10:01.678155 Event: Receiver Handler respond
+On: 2011-11-04 14:10:01.680666 Event: Receiver handler : Ready
+On: 2011-11-04 14:10:01.680703 Event: Start Call
+On: 2011-11-04 14:10:01.680763 Event: Waiting Feedback
+On: 2011-11-04 14:10:05.226129 Event: Test Succeed
+On: 2011-11-04 14:10:05.226202 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:10:05.226394 Event: init Cancel test
+On: 2011-11-04 14:10:08.282258 Event: -- -X- --
+On: 2011-11-04 14:10:08.282327 Event: init Caller
+On: 2011-11-04 14:10:08.282346 Event: GSMRZ1
+On: 2011-11-04 14:10:08.282392 Event: Init GSM
+On: 2011-11-04 14:10:10.285947 Event: Caller Greeting
+On: 2011-11-04 14:10:10.288589 Event: Connected to Caller Handler
+On: 2011-11-04 14:10:10.406134 Event: Caller Handler respond
+On: 2011-11-04 14:10:10.406438 Event: Caller handler : Ready
+On: 2011-11-04 14:10:10.406470 Event: init Receiver
+On: 2011-11-04 14:10:10.406491 Event: GSMRZ2
+On: 2011-11-04 14:10:18.419338 Event: Receiver Greeting
+On: 2011-11-04 14:10:18.419927 Event: Connected to Receiver Handler
+On: 2011-11-04 14:10:18.635462 Event: Receiver Handler respond
+On: 2011-11-04 14:10:18.637791 Event: Receiver handler : Ready
+On: 2011-11-04 14:10:18.637857 Event: Start Call
+On: 2011-11-04 14:10:18.637928 Event: Waiting Feedback
+On: 2011-11-04 14:10:22.242124 Event: Test Succeed
+On: 2011-11-04 14:10:22.242182 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:10:22.242365 Event: init Cancel test
+On: 2011-11-04 14:10:25.288811 Event: -- -X- --
+On: 2011-11-04 14:10:25.288872 Event: init Caller
+On: 2011-11-04 14:10:25.288891 Event: sip
+On: 2011-11-04 14:10:27.300493 Event: Caller Greeting
+On: 2011-11-04 14:10:27.301351 Event: Connected to Caller Handler
+On: 2011-11-04 14:10:27.301640 Event: Caller Handler respond
+On: 2011-11-04 14:10:27.302491 Event: Caller handler : Ready
+On: 2011-11-04 14:10:27.302529 Event: init Receiver
+On: 2011-11-04 14:10:27.302549 Event: unisip
+On: 2011-11-04 14:10:29.305931 Event: Receiver Greeting
+On: 2011-11-04 14:10:29.306838 Event: Connected to Receiver Handler
+On: 2011-11-04 14:10:29.307131 Event: Receiver Handler respond
+On: 2011-11-04 14:10:29.307899 Event: Receiver handler : Ready
+On: 2011-11-04 14:10:29.307937 Event: Start Call
+On: 2011-11-04 14:10:29.308160 Event: Waiting Feedback
+On: 2011-11-04 14:10:32.410773 Event: Test Succeed
+On: 2011-11-04 14:10:32.410833 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:10:32.410978 Event: init Cancel test
+On: 2011-11-04 14:10:35.467538 Event: -- -X- --
+On: 2011-11-04 14:10:35.467604 Event: init Caller
+On: 2011-11-04 14:10:35.467623 Event: sip
+On: 2011-11-04 14:10:37.471403 Event: Caller Greeting
+On: 2011-11-04 14:10:37.472303 Event: Connected to Caller Handler
+On: 2011-11-04 14:10:37.472586 Event: Caller Handler respond
+On: 2011-11-04 14:10:37.473459 Event: Caller handler : Ready
+On: 2011-11-04 14:10:37.473497 Event: init Receiver
+On: 2011-11-04 14:10:37.473518 Event: landline
+On: 2011-11-04 14:10:39.478087 Event: Receiver Greeting
+On: 2011-11-04 14:10:39.478929 Event: Connected to Receiver Handler
+On: 2011-11-04 14:10:39.479222 Event: Receiver Handler respond
+On: 2011-11-04 14:10:39.482053 Event: Receiver handler : Ready
+On: 2011-11-04 14:10:39.482094 Event: Start Call
+On: 2011-11-04 14:10:39.482155 Event: Waiting Feedback
+On: 2011-11-04 14:10:47.036867 Event: Test Succeed
+On: 2011-11-04 14:10:47.036927 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:10:47.037069 Event: init Cancel test
+On: 2011-11-04 14:10:50.082221 Event: -- -X- --
+On: 2011-11-04 14:10:50.082285 Event: init Caller
+On: 2011-11-04 14:10:50.082304 Event: GSMRZ3
+On: 2011-11-04 14:10:58.092115 Event: Caller Greeting
+On: 2011-11-04 14:10:58.092702 Event: Connected to Caller Handler
+On: 2011-11-04 14:10:58.321026 Event: Caller Handler respond
+On: 2011-11-04 14:10:58.323657 Event: Caller handler : Ready
+On: 2011-11-04 14:10:58.323694 Event: init Receiver
+On: 2011-11-04 14:10:58.323716 Event: sip
+On: 2011-11-04 14:11:00.326049 Event: Receiver Greeting
+On: 2011-11-04 14:11:00.326901 Event: Connected to Receiver Handler
+On: 2011-11-04 14:11:00.327185 Event: Receiver Handler respond
+On: 2011-11-04 14:11:00.327950 Event: Receiver handler : Ready
+On: 2011-11-04 14:11:00.327985 Event: Start Call
+On: 2011-11-04 14:11:00.328242 Event: Waiting Feedback
+On: 2011-11-04 14:11:03.649511 Event: Test Succeed
+On: 2011-11-04 14:11:03.649575 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:11:03.649755 Event: init Cancel test
+On: 2011-11-04 14:11:06.694847 Event: -- -X- --
+On: 2011-11-04 14:11:06.694908 Event: init Caller
+On: 2011-11-04 14:11:06.694926 Event: GSMRZ2
+On: 2011-11-04 14:11:14.700729 Event: Caller Greeting
+On: 2011-11-04 14:11:14.701329 Event: Connected to Caller Handler
+On: 2011-11-04 14:11:14.919427 Event: Caller Handler respond
+On: 2011-11-04 14:11:14.921692 Event: Caller handler : Ready
+On: 2011-11-04 14:11:14.921728 Event: init Receiver
+On: 2011-11-04 14:11:14.921751 Event: sip
+On: 2011-11-04 14:11:16.926054 Event: Receiver Greeting
+On: 2011-11-04 14:11:16.926918 Event: Connected to Receiver Handler
+On: 2011-11-04 14:11:16.927213 Event: Receiver Handler respond
+On: 2011-11-04 14:11:16.927992 Event: Receiver handler : Ready
+On: 2011-11-04 14:11:16.928032 Event: Start Call
+On: 2011-11-04 14:11:16.928295 Event: Waiting Feedback
+On: 2011-11-04 14:11:20.106528 Event: Test Succeed
+On: 2011-11-04 14:11:20.106592 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:11:20.107633 Event: init Cancel test
+On: 2011-11-04 14:11:23.162271 Event: -- -X- --
+On: 2011-11-04 14:11:23.162337 Event: init Caller
+On: 2011-11-04 14:11:23.162355 Event: GSMRZ1
+On: 2011-11-04 14:11:23.162403 Event: Init GSM
+On: 2011-11-04 14:11:25.165302 Event: Caller Greeting
+On: 2011-11-04 14:11:25.167954 Event: Connected to Caller Handler
+On: 2011-11-04 14:11:25.282131 Event: Caller Handler respond
+On: 2011-11-04 14:11:25.282434 Event: Caller handler : Ready
+On: 2011-11-04 14:11:25.282465 Event: init Receiver
+On: 2011-11-04 14:11:25.282487 Event: sip
+On: 2011-11-04 14:11:27.285493 Event: Receiver Greeting
+On: 2011-11-04 14:11:27.286374 Event: Connected to Receiver Handler
+On: 2011-11-04 14:11:27.286661 Event: Receiver Handler respond
+On: 2011-11-04 14:11:27.287432 Event: Receiver handler : Ready
+On: 2011-11-04 14:11:27.287472 Event: Start Call
+On: 2011-11-04 14:11:27.290015 Event: Waiting Feedback
+On: 2011-11-04 14:11:29.738121 Event: Test Succeed
+On: 2011-11-04 14:11:29.738177 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:11:29.738315 Event: init Cancel test
+On: 2011-11-04 14:11:32.786450 Event: -- -X- --
+On: 2011-11-04 14:11:32.786514 Event: init Caller
+On: 2011-11-04 14:11:32.786532 Event: sip
+On: 2011-11-04 14:11:34.793428 Event: Caller Greeting
+On: 2011-11-04 14:11:34.794336 Event: Connected to Caller Handler
+On: 2011-11-04 14:11:34.794624 Event: Caller Handler respond
+On: 2011-11-04 14:11:34.795755 Event: Caller handler : Ready
+On: 2011-11-04 14:11:34.795868 Event: init Receiver
+On: 2011-11-04 14:11:34.795892 Event: GSMRZ3
+On: 2011-11-04 14:11:42.805730 Event: Receiver Greeting
+On: 2011-11-04 14:11:42.806385 Event: Connected to Receiver Handler
+On: 2011-11-04 14:11:43.010905 Event: Receiver Handler respond
+On: 2011-11-04 14:11:43.013510 Event: Receiver handler : Ready
+On: 2011-11-04 14:11:43.013545 Event: Start Call
+On: 2011-11-04 14:11:43.013608 Event: Waiting Feedback
+On: 2011-11-04 14:11:49.120235 Event: Test Succeed
+On: 2011-11-04 14:11:49.120298 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:11:49.120481 Event: init Cancel test
+On: 2011-11-04 14:11:52.164976 Event: -- -X- --
+On: 2011-11-04 14:11:52.165039 Event: init Caller
+On: 2011-11-04 14:11:52.165057 Event: sip
+On: 2011-11-04 14:11:54.169343 Event: Caller Greeting
+On: 2011-11-04 14:11:54.170248 Event: Connected to Caller Handler
+On: 2011-11-04 14:11:54.170532 Event: Caller Handler respond
+On: 2011-11-04 14:11:54.171317 Event: Caller handler : Ready
+On: 2011-11-04 14:11:54.171356 Event: init Receiver
+On: 2011-11-04 14:11:54.171376 Event: GSMRZ2
+On: 2011-11-04 14:12:02.180085 Event: Receiver Greeting
+On: 2011-11-04 14:12:02.180661 Event: Connected to Receiver Handler
+On: 2011-11-04 14:12:02.398157 Event: Receiver Handler respond
+On: 2011-11-04 14:12:02.400416 Event: Receiver handler : Ready
+On: 2011-11-04 14:12:02.400452 Event: Start Call
+On: 2011-11-04 14:12:02.400513 Event: Waiting Feedback
+On: 2011-11-04 14:12:07.960392 Event: Test Succeed
+On: 2011-11-04 14:12:07.960455 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:12:07.960640 Event: init Cancel test
+On: 2011-11-04 14:12:11.019004 Event: -- -X- --
+On: 2011-11-04 14:12:11.019065 Event: init Caller
+On: 2011-11-04 14:12:11.019084 Event: sip
+On: 2011-11-04 14:12:13.022493 Event: Caller Greeting
+On: 2011-11-04 14:12:13.023365 Event: Connected to Caller Handler
+On: 2011-11-04 14:12:13.023652 Event: Caller Handler respond
+On: 2011-11-04 14:12:13.024429 Event: Caller handler : Ready
+On: 2011-11-04 14:12:13.024467 Event: init Receiver
+On: 2011-11-04 14:12:13.024487 Event: GSMRZ1
+On: 2011-11-04 14:12:13.024539 Event: Init GSM
+On: 2011-11-04 14:12:15.029260 Event: Receiver Greeting
+On: 2011-11-04 14:12:15.031898 Event: Connected to Receiver Handler
+On: 2011-11-04 14:12:15.122205 Event: Receiver Handler respond
+On: 2011-11-04 14:12:15.122500 Event: Receiver handler : Ready
+On: 2011-11-04 14:12:15.122531 Event: Start Call
+On: 2011-11-04 14:12:15.122587 Event: Waiting Feedback
+On: 2011-11-04 14:12:19.718132 Event: Test Succeed
+On: 2011-11-04 14:12:19.718189 Event: TERMINATE CONNECTION
+On: 2011-11-04 14:12:19.718343 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:07:32.770119 ------------------
+On: 2011-11-04 15:07:32.770197 Event: init Caller
+On: 2011-11-04 15:07:32.770221 Event: unisip
+On: 2011-11-04 15:07:34.776227 Event: Caller Greeting
+On: 2011-11-04 15:07:34.777229 Event: Connected to Caller Handler
+On: 2011-11-04 15:07:34.777520 Event: Caller Handler respond
+On: 2011-11-04 15:07:34.778389 Event: Caller handler : Ready
+On: 2011-11-04 15:07:34.778428 Event: init Receiver
+On: 2011-11-04 15:07:34.778447 Event: GSMRZ3
+On: 2011-11-04 15:07:42.810045 Event: Receiver Greeting
+On: 2011-11-04 15:07:42.810650 Event: Connected to Receiver Handler
+On: 2011-11-04 15:07:43.044212 Event: Receiver Handler respond
+On: 2011-11-04 15:07:43.046802 Event: Receiver handler : Ready
+On: 2011-11-04 15:07:43.046841 Event: Start Call
+On: 2011-11-04 15:07:43.046901 Event: Waiting Feedback
+On: 2011-11-04 15:07:47.997308 Event: Test Succeed
+On: 2011-11-04 15:07:47.997371 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:07:47.997583 Event: init Cancel test
+On: 2011-11-04 15:07:51.088545 Event: -- -X- --
+On: 2011-11-04 15:07:51.088610 Event: init Caller
+On: 2011-11-04 15:07:51.088629 Event: GSMRZ1
+On: 2011-11-04 15:07:51.088679 Event: Init GSM
+On: 2011-11-04 15:07:53.092862 Event: Caller Greeting
+On: 2011-11-04 15:07:53.095560 Event: Connected to Caller Handler
+On: 2011-11-04 15:07:53.111023 Event: Cannt connect to Caller
+On: 2011-11-04 15:07:53.111063 Event: 999 General Handler Error: Could not connect to Caller handler
+On: 2011-11-04 15:07:56.176494 Event: -- -X- --
+On: 2011-11-04 15:07:56.176558 Event: init Caller
+On: 2011-11-04 15:07:56.176576 Event: landline
+On: 2011-11-04 15:07:58.180751 Event: Caller Greeting
+On: 2011-11-04 15:07:58.181583 Event: Connected to Caller Handler
+On: 2011-11-04 15:07:58.181872 Event: Caller Handler respond
+On: 2011-11-04 15:07:58.190967 Event: Caller handler : Ready
+On: 2011-11-04 15:07:58.191007 Event: init Receiver
+On: 2011-11-04 15:07:58.191027 Event: GSMRZ2
+On: 2011-11-04 15:08:06.200066 Event: Receiver Greeting
+On: 2011-11-04 15:08:06.200623 Event: Connected to Receiver Handler
+On: 2011-11-04 15:08:06.416852 Event: Receiver Handler respond
+On: 2011-11-04 15:08:06.419255 Event: Receiver handler : Ready
+On: 2011-11-04 15:08:06.419325 Event: Start Call
+On: 2011-11-04 15:08:06.419402 Event: Waiting Feedback
+On: 2011-11-04 15:08:14.506272 Event: Test Succeed
+On: 2011-11-04 15:08:14.506327 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:08:14.506520 Event: init Cancel test
+On: 2011-11-04 15:08:17.564888 Event: -- -X- --
+On: 2011-11-04 15:08:17.564949 Event: init Caller
+On: 2011-11-04 15:08:17.564967 Event: sip
+On: 2011-11-04 15:08:19.569190 Event: Caller Greeting
+On: 2011-11-04 15:08:19.570148 Event: Connected to Caller Handler
+On: 2011-11-04 15:08:19.571404 Event: Caller Handler respond
+On: 2011-11-04 15:08:19.572202 Event: Caller handler : Ready
+On: 2011-11-04 15:08:19.572241 Event: init Receiver
+On: 2011-11-04 15:08:19.572260 Event: GSMExt.Eplus
+On: 2011-11-04 15:08:19.572311 Event: Init GSM
+On: 2011-11-04 15:08:21.575999 Event: Receiver Greeting
+On: 2011-11-04 15:08:21.578566 Event: Connected to Receiver Handler
+On: 2011-11-04 15:08:21.698135 Event: Receiver Handler respond
+On: 2011-11-04 15:08:21.698438 Event: Receiver handler : Ready
+On: 2011-11-04 15:08:21.698469 Event: Start Call
+On: 2011-11-04 15:08:21.698525 Event: Waiting Feedback
+On: 2011-11-04 15:08:36.698955 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:08:36.699017 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:08:36.699157 Event: init Cancel test
+On: 2011-11-04 15:08:39.747731 Event: -- -X- --
+On: 2011-11-04 15:08:39.747789 Event: init Caller
+On: 2011-11-04 15:08:39.747808 Event: sip
+On: 2011-11-04 15:08:41.751948 Event: Caller Greeting
+On: 2011-11-04 15:08:41.752784 Event: Connected to Caller Handler
+On: 2011-11-04 15:08:41.753069 Event: Caller Handler respond
+On: 2011-11-04 15:08:41.753841 Event: Caller handler : Ready
+On: 2011-11-04 15:08:41.753876 Event: init Receiver
+On: 2011-11-04 15:08:41.753896 Event: GSMExt.O2
+On: 2011-11-04 15:08:41.753997 Event: Init GSM
+On: 2011-11-04 15:08:43.760883 Event: Receiver Greeting
+On: 2011-11-04 15:08:43.763536 Event: Connected to Receiver Handler
+On: 2011-11-04 15:08:43.882127 Event: Receiver Handler respond
+On: 2011-11-04 15:08:43.882427 Event: Receiver handler : Ready
+On: 2011-11-04 15:08:43.882458 Event: Start Call
+On: 2011-11-04 15:08:43.882512 Event: Waiting Feedback
+On: 2011-11-04 15:09:11.879796 Event: Test Failed
+On: 2011-11-04 15:09:11.879858 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:09:11.879997 Event: init Cancel test
+On: 2011-11-04 15:09:14.927901 Event: -- -X- --
+On: 2011-11-04 15:09:14.927961 Event: init Caller
+On: 2011-11-04 15:09:14.927980 Event: sip
+On: 2011-11-04 15:09:16.932370 Event: Caller Greeting
+On: 2011-11-04 15:09:16.933226 Event: Connected to Caller Handler
+On: 2011-11-04 15:09:16.933512 Event: Caller Handler respond
+On: 2011-11-04 15:09:16.934378 Event: Caller handler : Ready
+On: 2011-11-04 15:09:16.934417 Event: init Receiver
+On: 2011-11-04 15:09:16.934437 Event: GSMExt.Voda
+On: 2011-11-04 15:09:16.934488 Event: Init GSM
+On: 2011-11-04 15:09:18.938038 Event: Receiver Greeting
+On: 2011-11-04 15:09:18.940616 Event: Connected to Receiver Handler
+On: 2011-11-04 15:09:19.034206 Event: Receiver Handler respond
+On: 2011-11-04 15:09:19.034509 Event: Receiver handler : Ready
+On: 2011-11-04 15:09:19.034540 Event: Start Call
+On: 2011-11-04 15:09:19.034598 Event: Waiting Feedback
+On: 2011-11-04 15:09:53.740267 Event: Test Failed
+On: 2011-11-04 15:09:53.740333 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:09:53.740471 Event: init Cancel test
+On: 2011-11-04 15:09:56.794617 Event: -- -X- --
+On: 2011-11-04 15:09:56.794678 Event: init Caller
+On: 2011-11-04 15:09:56.794696 Event: sip
+On: 2011-11-04 15:09:58.799703 Event: Caller Greeting
+On: 2011-11-04 15:09:58.800535 Event: Connected to Caller Handler
+On: 2011-11-04 15:09:58.800821 Event: Caller Handler respond
+On: 2011-11-04 15:09:58.801586 Event: Caller handler : Ready
+On: 2011-11-04 15:09:58.801625 Event: init Receiver
+On: 2011-11-04 15:09:58.801644 Event: GSMExt.Tm
+On: 2011-11-04 15:09:58.801695 Event: Init GSM
+On: 2011-11-04 15:10:00.805981 Event: Receiver Greeting
+On: 2011-11-04 15:10:00.808574 Event: Connected to Receiver Handler
+On: 2011-11-04 15:10:00.820236 Event: Cannt connect to Caller
+On: 2011-11-04 15:10:00.820272 Event: 998 General Handler Error: Could not connect Destination handler
+On: 2011-11-04 15:10:00.820373 Event: init Cancel test
+On: 2011-11-04 15:10:00.820397 Event: init Cancel test
+On: 2011-11-04 15:10:03.883373 Event: -- -X- --
+On: 2011-11-04 15:10:03.883436 Event: init Caller
+On: 2011-11-04 15:10:03.883454 Event: GSMRZ2
+On: 2011-11-04 15:10:11.898969 Event: Caller Greeting
+On: 2011-11-04 15:10:11.899525 Event: Connected to Caller Handler
+On: 2011-11-04 15:10:12.118138 Event: Caller Handler respond
+On: 2011-11-04 15:10:12.120454 Event: Caller handler : Ready
+On: 2011-11-04 15:10:12.120491 Event: init Receiver
+On: 2011-11-04 15:10:12.120511 Event: sip
+On: 2011-11-04 15:10:14.123106 Event: Receiver Greeting
+On: 2011-11-04 15:10:14.123940 Event: Connected to Receiver Handler
+On: 2011-11-04 15:10:14.124236 Event: Receiver Handler respond
+On: 2011-11-04 15:10:14.125347 Event: Receiver handler : Ready
+On: 2011-11-04 15:10:14.125385 Event: Start Call
+On: 2011-11-04 15:10:14.125549 Event: Waiting Feedback
+On: 2011-11-04 15:10:17.688415 Event: Test Succeed
+On: 2011-11-04 15:10:17.688478 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:10:17.688650 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:11:49.918775 ------------------
+On: 2011-11-04 15:11:49.918862 Event: init Caller
+On: 2011-11-04 15:11:49.918886 Event: unisip
+On: 2011-11-04 15:11:51.922957 Event: Caller Greeting
+On: 2011-11-04 15:11:51.923942 Event: Connected to Caller Handler
+On: 2011-11-04 15:11:51.924223 Event: Caller Handler respond
+On: 2011-11-04 15:11:51.925013 Event: Caller handler : Ready
+On: 2011-11-04 15:11:51.925053 Event: init Receiver
+On: 2011-11-04 15:11:51.925073 Event: GSMRZ1
+On: 2011-11-04 15:11:51.925126 Event: Init GSM
+On: 2011-11-04 15:11:53.929902 Event: Receiver Greeting
+On: 2011-11-04 15:11:53.932687 Event: Connected to Receiver Handler
+On: 2011-11-04 15:11:54.050156 Event: Receiver Handler respond
+On: 2011-11-04 15:11:54.050442 Event: Receiver handler : Ready
+On: 2011-11-04 15:11:54.050474 Event: Start Call
+On: 2011-11-04 15:11:54.050527 Event: Waiting Feedback
+On: 2011-11-04 15:11:58.918283 Event: Test Succeed
+On: 2011-11-04 15:11:58.918340 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:11:58.918501 Event: init Cancel test
+On: 2011-11-04 15:12:01.963049 Event: -- -X- --
+On: 2011-11-04 15:12:01.963110 Event: init Caller
+On: 2011-11-04 15:12:01.963128 Event: GSMRZ2
+On: 2011-11-04 15:12:09.973412 Event: Caller Greeting
+On: 2011-11-04 15:12:09.974017 Event: Connected to Caller Handler
+On: 2011-11-04 15:12:10.186014 Event: Caller Handler respond
+On: 2011-11-04 15:12:10.188271 Event: Caller handler : Ready
+On: 2011-11-04 15:12:10.188309 Event: init Receiver
+On: 2011-11-04 15:12:10.188330 Event: GSMExt.Voda
+On: 2011-11-04 15:12:10.188384 Event: Init GSM
+On: 2011-11-04 15:12:12.192646 Event: Receiver Greeting
+On: 2011-11-04 15:12:12.195221 Event: Connected to Receiver Handler
+On: 2011-11-04 15:12:12.318205 Event: Receiver Handler respond
+On: 2011-11-04 15:12:12.318506 Event: Receiver handler : Ready
+On: 2011-11-04 15:12:12.318538 Event: Start Call
+On: 2011-11-04 15:12:12.318693 Event: Waiting Feedback
+On: 2011-11-04 15:12:23.936117 Event: Test Succeed
+On: 2011-11-04 15:12:23.936179 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:12:23.938531 Event: init Cancel test
+On: 2011-11-04 15:12:26.985507 Event: -- -X- --
+On: 2011-11-04 15:12:26.985572 Event: init Caller
+On: 2011-11-04 15:12:26.985591 Event: landline
+On: 2011-11-04 15:12:28.989766 Event: Caller Greeting
+On: 2011-11-04 15:12:28.990630 Event: Connected to Caller Handler
+On: 2011-11-04 15:12:28.990906 Event: Caller Handler respond
+On: 2011-11-04 15:12:28.993034 Event: Caller handler : Ready
+On: 2011-11-04 15:12:28.993068 Event: init Receiver
+On: 2011-11-04 15:12:28.993088 Event: GSMRZ3
+On: 2011-11-04 15:12:36.998002 Event: Receiver Greeting
+On: 2011-11-04 15:12:36.998559 Event: Connected to Receiver Handler
+On: 2011-11-04 15:12:37.230027 Event: Receiver Handler respond
+On: 2011-11-04 15:12:37.232721 Event: Receiver handler : Ready
+On: 2011-11-04 15:12:37.232790 Event: Start Call
+On: 2011-11-04 15:12:37.232863 Event: Waiting Feedback
+On: 2011-11-04 15:12:45.974689 Event: Test Succeed
+On: 2011-11-04 15:12:45.974742 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:12:45.974929 Event: init Cancel test
+On: 2011-11-04 15:12:49.023206 Event: -- -X- --
+On: 2011-11-04 15:12:49.023265 Event: init Caller
+On: 2011-11-04 15:12:49.023284 Event: sip
+On: 2011-11-04 15:12:51.027436 Event: Caller Greeting
+On: 2011-11-04 15:12:51.028321 Event: Connected to Caller Handler
+On: 2011-11-04 15:12:51.028603 Event: Caller Handler respond
+On: 2011-11-04 15:12:51.029378 Event: Caller handler : Ready
+On: 2011-11-04 15:12:51.029416 Event: init Receiver
+On: 2011-11-04 15:12:51.029437 Event: GSMExt.Eplus
+On: 2011-11-04 15:12:51.029489 Event: Init GSM
+On: 2011-11-04 15:12:53.033857 Event: Receiver Greeting
+On: 2011-11-04 15:12:53.036411 Event: Connected to Receiver Handler
+On: 2011-11-04 15:12:53.154133 Event: Receiver Handler respond
+On: 2011-11-04 15:12:53.154433 Event: Receiver handler : Ready
+On: 2011-11-04 15:12:53.154465 Event: Start Call
+On: 2011-11-04 15:12:53.154520 Event: Waiting Feedback
+On: 2011-11-04 15:13:08.157807 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:13:08.157938 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:13:08.158120 Event: init Cancel test
+On: 2011-11-04 15:13:11.205077 Event: -- -X- --
+On: 2011-11-04 15:13:11.205135 Event: init Caller
+On: 2011-11-04 15:13:11.205154 Event: sip
+On: 2011-11-04 15:13:13.209026 Event: Caller Greeting
+On: 2011-11-04 15:13:13.209886 Event: Connected to Caller Handler
+On: 2011-11-04 15:13:13.210207 Event: Caller Handler respond
+On: 2011-11-04 15:13:13.210972 Event: Caller handler : Ready
+On: 2011-11-04 15:13:13.211010 Event: init Receiver
+On: 2011-11-04 15:13:13.211030 Event: GSMExt.O2
+On: 2011-11-04 15:13:13.211083 Event: Init GSM
+On: 2011-11-04 15:13:15.214003 Event: Receiver Greeting
+On: 2011-11-04 15:13:15.216535 Event: Connected to Receiver Handler
+On: 2011-11-04 15:13:15.334131 Event: Receiver Handler respond
+On: 2011-11-04 15:13:15.334425 Event: Receiver handler : Ready
+On: 2011-11-04 15:13:15.334456 Event: Start Call
+On: 2011-11-04 15:13:15.334508 Event: Waiting Feedback
+On: 2011-11-04 15:13:28.010974 Event: Test Succeed
+On: 2011-11-04 15:13:28.011033 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:13:28.011168 Event: init Cancel test
+On: 2011-11-04 15:13:31.058213 Event: -- -X- --
+On: 2011-11-04 15:13:31.058277 Event: init Caller
+On: 2011-11-04 15:13:31.058296 Event: sip
+On: 2011-11-04 15:13:33.062432 Event: Caller Greeting
+On: 2011-11-04 15:13:33.063253 Event: Connected to Caller Handler
+On: 2011-11-04 15:13:33.063539 Event: Caller Handler respond
+On: 2011-11-04 15:13:33.064310 Event: Caller handler : Ready
+On: 2011-11-04 15:13:33.064349 Event: init Receiver
+On: 2011-11-04 15:13:33.064369 Event: GSMExt.Tm
+On: 2011-11-04 15:13:33.064421 Event: Init GSM
+On: 2011-11-04 15:13:35.068854 Event: Receiver Greeting
+On: 2011-11-04 15:13:35.071396 Event: Connected to Receiver Handler
+On: 2011-11-04 15:13:35.194253 Event: Receiver Handler respond
+On: 2011-11-04 15:13:35.194557 Event: Receiver handler : Ready
+On: 2011-11-04 15:13:35.194589 Event: Start Call
+On: 2011-11-04 15:13:35.194644 Event: Waiting Feedback
+On: 2011-11-04 15:13:49.084667 Event: Test Succeed
+On: 2011-11-04 15:13:49.084726 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:13:49.084859 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:14:33.788206 ------------------
+On: 2011-11-04 15:14:33.788281 Event: init Caller
+On: 2011-11-04 15:14:33.788305 Event: unisip
+On: 2011-11-04 15:14:35.793872 Event: Caller Greeting
+On: 2011-11-04 15:14:35.794887 Event: Connected to Caller Handler
+On: 2011-11-04 15:14:35.795173 Event: Caller Handler respond
+On: 2011-11-04 15:14:35.796310 Event: Caller handler : Ready
+On: 2011-11-04 15:14:35.796347 Event: init Receiver
+On: 2011-11-04 15:14:35.796367 Event: GSMRZ3
+On: 2011-11-04 15:14:43.801481 Event: Receiver Greeting
+On: 2011-11-04 15:14:43.802162 Event: Connected to Receiver Handler
+On: 2011-11-04 15:14:44.032396 Event: Receiver Handler respond
+On: 2011-11-04 15:14:44.034980 Event: Receiver handler : Ready
+On: 2011-11-04 15:14:44.035021 Event: Start Call
+On: 2011-11-04 15:14:44.035081 Event: Waiting Feedback
+On: 2011-11-04 15:14:49.079515 Event: Test Succeed
+On: 2011-11-04 15:14:49.079578 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:14:49.079792 Event: init Cancel test
+On: 2011-11-04 15:14:52.126360 Event: -- -X- --
+On: 2011-11-04 15:14:52.126424 Event: init Caller
+On: 2011-11-04 15:14:52.126442 Event: GSMRZ1
+On: 2011-11-04 15:14:52.126492 Event: Init GSM
+On: 2011-11-04 15:14:54.130633 Event: Caller Greeting
+On: 2011-11-04 15:14:54.133245 Event: Connected to Caller Handler
+On: 2011-11-04 15:14:54.234159 Event: Caller Handler respond
+On: 2011-11-04 15:14:54.234461 Event: Caller handler : Ready
+On: 2011-11-04 15:14:54.234494 Event: init Receiver
+On: 2011-11-04 15:14:54.234513 Event: GSMRZ2
+On: 2011-11-04 15:15:02.242357 Event: Receiver Greeting
+On: 2011-11-04 15:15:02.242932 Event: Connected to Receiver Handler
+On: 2011-11-04 15:15:02.459640 Event: Receiver Handler respond
+On: 2011-11-04 15:15:02.461894 Event: Receiver handler : Ready
+On: 2011-11-04 15:15:02.461932 Event: Start Call
+On: 2011-11-04 15:15:02.462015 Event: Waiting Feedback
+On: 2011-11-04 15:15:09.162115 Event: Test Succeed
+On: 2011-11-04 15:15:09.162173 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:15:09.162361 Event: init Cancel test
+On: 2011-11-04 15:15:12.221257 Event: -- -X- --
+On: 2011-11-04 15:15:12.221321 Event: init Caller
+On: 2011-11-04 15:15:12.221339 Event: landline
+On: 2011-11-04 15:15:14.225513 Event: Caller Greeting
+On: 2011-11-04 15:15:14.226427 Event: Connected to Caller Handler
+On: 2011-11-04 15:15:14.226718 Event: Caller Handler respond
+On: 2011-11-04 15:15:14.233172 Event: Caller handler : Ready
+On: 2011-11-04 15:15:14.233209 Event: init Receiver
+On: 2011-11-04 15:15:14.233228 Event: GSMRZ2
+On: 2011-11-04 15:15:22.242020 Event: Receiver Greeting
+On: 2011-11-04 15:15:22.242608 Event: Connected to Receiver Handler
+On: 2011-11-04 15:15:22.460724 Event: Receiver Handler respond
+On: 2011-11-04 15:15:22.462694 Event: Receiver handler : Ready
+On: 2011-11-04 15:15:22.462731 Event: Start Call
+On: 2011-11-04 15:15:22.462793 Event: Waiting Feedback
+On: 2011-11-04 15:15:29.923879 Event: Test Succeed
+On: 2011-11-04 15:15:29.923935 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:15:29.924127 Event: init Cancel test
+On: 2011-11-04 15:15:32.972880 Event: -- -X- --
+On: 2011-11-04 15:15:32.972941 Event: init Caller
+On: 2011-11-04 15:15:32.972958 Event: sip
+On: 2011-11-04 15:15:34.977173 Event: Caller Greeting
+On: 2011-11-04 15:15:34.978046 Event: Connected to Caller Handler
+On: 2011-11-04 15:15:34.978337 Event: Caller Handler respond
+On: 2011-11-04 15:15:34.979090 Event: Caller handler : Ready
+On: 2011-11-04 15:15:34.979128 Event: init Receiver
+On: 2011-11-04 15:15:34.979147 Event: GSMExt.Eplus
+On: 2011-11-04 15:15:34.979197 Event: Init GSM
+On: 2011-11-04 15:15:36.982003 Event: Receiver Greeting
+On: 2011-11-04 15:15:36.984596 Event: Connected to Receiver Handler
+On: 2011-11-04 15:15:37.079122 Event: Receiver Handler respond
+On: 2011-11-04 15:15:37.079423 Event: Receiver handler : Ready
+On: 2011-11-04 15:15:37.079455 Event: Start Call
+On: 2011-11-04 15:15:37.079512 Event: Waiting Feedback
+On: 2011-11-04 15:15:52.080082 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:15:52.080142 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:15:52.080367 Event: init Cancel test
+On: 2011-11-04 15:15:55.127846 Event: -- -X- --
+On: 2011-11-04 15:15:55.127909 Event: init Caller
+On: 2011-11-04 15:15:55.127927 Event: sip
+On: 2011-11-04 15:15:57.130703 Event: Caller Greeting
+On: 2011-11-04 15:15:57.131579 Event: Connected to Caller Handler
+On: 2011-11-04 15:15:57.131864 Event: Caller Handler respond
+On: 2011-11-04 15:15:57.132633 Event: Caller handler : Ready
+On: 2011-11-04 15:15:57.132671 Event: init Receiver
+On: 2011-11-04 15:15:57.132690 Event: GSMExt.O2
+On: 2011-11-04 15:15:57.132741 Event: Init GSM
+On: 2011-11-04 15:15:59.135976 Event: Receiver Greeting
+On: 2011-11-04 15:15:59.138543 Event: Connected to Receiver Handler
+On: 2011-11-04 15:15:59.262130 Event: Receiver Handler respond
+On: 2011-11-04 15:15:59.262422 Event: Receiver handler : Ready
+On: 2011-11-04 15:15:59.262453 Event: Start Call
+On: 2011-11-04 15:15:59.262506 Event: Waiting Feedback
+On: 2011-11-04 15:16:11.213192 Event: Test Succeed
+On: 2011-11-04 15:16:11.213253 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:16:11.213396 Event: init Cancel test
+On: 2011-11-04 15:16:14.260349 Event: -- -X- --
+On: 2011-11-04 15:16:14.260410 Event: init Caller
+On: 2011-11-04 15:16:14.260427 Event: sip
+On: 2011-11-04 15:16:16.264571 Event: Caller Greeting
+On: 2011-11-04 15:16:16.265410 Event: Connected to Caller Handler
+On: 2011-11-04 15:16:16.265698 Event: Caller Handler respond
+On: 2011-11-04 15:16:16.266520 Event: Caller handler : Ready
+On: 2011-11-04 15:16:16.266555 Event: init Receiver
+On: 2011-11-04 15:16:16.266574 Event: GSMExt.Tm
+On: 2011-11-04 15:16:16.266625 Event: Init GSM
+On: 2011-11-04 15:16:18.269998 Event: Receiver Greeting
+On: 2011-11-04 15:16:18.272564 Event: Connected to Receiver Handler
+On: 2011-11-04 15:16:18.394134 Event: Receiver Handler respond
+On: 2011-11-04 15:16:18.394428 Event: Receiver handler : Ready
+On: 2011-11-04 15:16:18.394458 Event: Start Call
+On: 2011-11-04 15:16:18.394515 Event: Waiting Feedback
+On: 2011-11-04 15:16:33.251680 Event: Test Succeed
+On: 2011-11-04 15:16:33.251740 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:16:33.251875 Event: init Cancel test
+On: 2011-11-04 15:16:36.299616 Event: -- -X- --
+On: 2011-11-04 15:16:36.299680 Event: init Caller
+On: 2011-11-04 15:16:36.299698 Event: sip
+On: 2011-11-04 15:16:38.303960 Event: Caller Greeting
+On: 2011-11-04 15:16:38.304801 Event: Connected to Caller Handler
+On: 2011-11-04 15:16:38.305079 Event: Caller Handler respond
+On: 2011-11-04 15:16:38.305842 Event: Caller handler : Ready
+On: 2011-11-04 15:16:38.305880 Event: init Receiver
+On: 2011-11-04 15:16:38.305899 Event: GSMExt.Voda
+On: 2011-11-04 15:16:38.306001 Event: Init GSM
+On: 2011-11-04 15:16:40.310002 Event: Receiver Greeting
+On: 2011-11-04 15:16:40.312603 Event: Connected to Receiver Handler
+On: 2011-11-04 15:16:40.426203 Event: Receiver Handler respond
+On: 2011-11-04 15:16:40.426503 Event: Receiver handler : Ready
+On: 2011-11-04 15:16:40.426534 Event: Start Call
+On: 2011-11-04 15:16:40.426592 Event: Waiting Feedback
+On: 2011-11-04 15:16:52.994584 Event: Test Succeed
+On: 2011-11-04 15:16:52.994645 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:16:52.994789 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:17:15.321073 ------------------
+On: 2011-11-04 15:17:15.321150 Event: init Caller
+On: 2011-11-04 15:17:15.321173 Event: sip
+On: 2011-11-04 15:17:17.325404 Event: Caller Greeting
+On: 2011-11-04 15:17:17.326417 Event: Connected to Caller Handler
+On: 2011-11-04 15:17:17.326704 Event: Caller Handler respond
+On: 2011-11-04 15:17:17.327472 Event: Caller handler : Ready
+On: 2011-11-04 15:17:17.327512 Event: init Receiver
+On: 2011-11-04 15:17:17.327532 Event: GSMExt.O2
+On: 2011-11-04 15:17:17.327582 Event: Init GSM
+On: 2011-11-04 15:17:19.330004 Event: Receiver Greeting
+On: 2011-11-04 15:17:19.332626 Event: Connected to Receiver Handler
+On: 2011-11-04 15:17:19.454165 Event: Receiver Handler respond
+On: 2011-11-04 15:17:19.454460 Event: Receiver handler : Ready
+On: 2011-11-04 15:17:19.454491 Event: Start Call
+On: 2011-11-04 15:17:19.454546 Event: Waiting Feedback
+On: 2011-11-04 15:17:32.325750 Event: Test Succeed
+On: 2011-11-04 15:17:32.325811 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:17:32.326009 Event: init Cancel test
+On: 2011-11-04 15:17:35.372384 Event: -- -X- --
+On: 2011-11-04 15:17:35.372445 Event: init Caller
+On: 2011-11-04 15:17:35.372463 Event: sip
+On: 2011-11-04 15:17:37.376602 Event: Caller Greeting
+On: 2011-11-04 15:17:37.377418 Event: Connected to Caller Handler
+On: 2011-11-04 15:17:37.377693 Event: Caller Handler respond
+On: 2011-11-04 15:17:37.378524 Event: Caller handler : Ready
+On: 2011-11-04 15:17:37.378562 Event: init Receiver
+On: 2011-11-04 15:17:37.378582 Event: GSMExt.Tm
+On: 2011-11-04 15:17:37.378632 Event: Init GSM
+On: 2011-11-04 15:17:39.381592 Event: Receiver Greeting
+On: 2011-11-04 15:17:39.384195 Event: Connected to Receiver Handler
+On: 2011-11-04 15:17:39.506125 Event: Receiver Handler respond
+On: 2011-11-04 15:17:39.506422 Event: Receiver handler : Ready
+On: 2011-11-04 15:17:39.506454 Event: Start Call
+On: 2011-11-04 15:17:39.506507 Event: Waiting Feedback
+On: 2011-11-04 15:17:54.823461 Event: Test Succeed
+On: 2011-11-04 15:17:54.823519 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:17:54.823659 Event: init Cancel test
+On: 2011-11-04 15:17:57.871557 Event: -- -X- --
+On: 2011-11-04 15:17:57.871617 Event: init Caller
+On: 2011-11-04 15:17:57.871635 Event: sip
+On: 2011-11-04 15:17:59.874531 Event: Caller Greeting
+On: 2011-11-04 15:17:59.875368 Event: Connected to Caller Handler
+On: 2011-11-04 15:17:59.875651 Event: Caller Handler respond
+On: 2011-11-04 15:17:59.876417 Event: Caller handler : Ready
+On: 2011-11-04 15:17:59.876455 Event: init Receiver
+On: 2011-11-04 15:17:59.876475 Event: GSMExt.Voda
+On: 2011-11-04 15:17:59.876526 Event: Init GSM
+On: 2011-11-04 15:18:01.880986 Event: Receiver Greeting
+On: 2011-11-04 15:18:01.883567 Event: Connected to Receiver Handler
+On: 2011-11-04 15:18:01.975128 Event: Receiver Handler respond
+On: 2011-11-04 15:18:01.975429 Event: Receiver handler : Ready
+On: 2011-11-04 15:18:01.975461 Event: Start Call
+On: 2011-11-04 15:18:01.975515 Event: Waiting Feedback
+On: 2011-11-04 15:18:15.269346 Event: Test Succeed
+On: 2011-11-04 15:18:15.269404 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:18:15.269545 Event: init Cancel test
+On: 2011-11-04 15:18:18.318891 Event: -- -X- --
+On: 2011-11-04 15:18:18.318954 Event: init Caller
+On: 2011-11-04 15:18:18.318973 Event: sip
+On: 2011-11-04 15:18:20.329110 Event: Caller Greeting
+On: 2011-11-04 15:18:20.329982 Event: Connected to Caller Handler
+On: 2011-11-04 15:18:20.330272 Event: Caller Handler respond
+On: 2011-11-04 15:18:20.331015 Event: Caller handler : Ready
+On: 2011-11-04 15:18:20.331052 Event: init Receiver
+On: 2011-11-04 15:18:20.331072 Event: GSMExt.Eplus
+On: 2011-11-04 15:18:20.331122 Event: Init GSM
+On: 2011-11-04 15:18:22.334042 Event: Receiver Greeting
+On: 2011-11-04 15:18:22.336629 Event: Connected to Receiver Handler
+On: 2011-11-04 15:18:22.454131 Event: Receiver Handler respond
+On: 2011-11-04 15:18:22.454428 Event: Receiver handler : Ready
+On: 2011-11-04 15:18:22.454460 Event: Start Call
+On: 2011-11-04 15:18:22.454513 Event: Waiting Feedback
+On: 2011-11-04 15:18:37.454935 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:18:37.455066 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:18:37.455221 Event: init Cancel test
+On: 2011-11-04 15:18:40.495628 Event: -- -X- --
+On: 2011-11-04 15:18:40.495692 Event: init Caller
+On: 2011-11-04 15:18:40.495710 Event: GSMRZ3
+On: 2011-11-04 15:18:48.513289 Event: Caller Greeting
+On: 2011-11-04 15:18:48.513867 Event: Connected to Caller Handler
+On: 2011-11-04 15:18:48.747365 Event: Caller Handler respond
+On: 2011-11-04 15:18:48.750021 Event: Caller handler : Ready
+On: 2011-11-04 15:18:48.750061 Event: init Receiver
+On: 2011-11-04 15:18:48.750083 Event: unisip
+On: 2011-11-04 15:18:50.754273 Event: Receiver Greeting
+On: 2011-11-04 15:18:50.755099 Event: Connected to Receiver Handler
+On: 2011-11-04 15:18:50.755383 Event: Receiver Handler respond
+On: 2011-11-04 15:18:50.756509 Event: Receiver handler : Ready
+On: 2011-11-04 15:18:50.756542 Event: Start Call
+On: 2011-11-04 15:18:50.756798 Event: Waiting Feedback
+On: 2011-11-04 15:18:57.294159 Event: Test Succeed
+On: 2011-11-04 15:18:57.294223 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:18:57.295276 Event: init Cancel test
+On: 2011-11-04 15:19:00.338429 Event: -- -X- --
+On: 2011-11-04 15:19:00.338490 Event: init Caller
+On: 2011-11-04 15:19:00.338509 Event: GSMRZ2
+On: 2011-11-04 15:19:08.348780 Event: Caller Greeting
+On: 2011-11-04 15:19:08.349357 Event: Connected to Caller Handler
+On: 2011-11-04 15:19:08.565306 Event: Caller Handler respond
+On: 2011-11-04 15:19:08.567381 Event: Caller handler : Ready
+On: 2011-11-04 15:19:08.567420 Event: init Receiver
+On: 2011-11-04 15:19:08.567441 Event: unisip
+On: 2011-11-04 15:19:10.571608 Event: Receiver Greeting
+On: 2011-11-04 15:19:10.572434 Event: Connected to Receiver Handler
+On: 2011-11-04 15:19:10.572720 Event: Receiver Handler respond
+On: 2011-11-04 15:19:10.573478 Event: Receiver handler : Ready
+On: 2011-11-04 15:19:10.573516 Event: Start Call
+On: 2011-11-04 15:19:10.573772 Event: Waiting Feedback
+On: 2011-11-04 15:19:13.970888 Event: Test Succeed
+On: 2011-11-04 15:19:13.970951 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:19:13.971984 Event: init Cancel test
+On: 2011-11-04 15:19:17.027950 Event: -- -X- --
+On: 2011-11-04 15:19:17.028013 Event: init Caller
+On: 2011-11-04 15:19:17.028031 Event: GSMRZ1
+On: 2011-11-04 15:19:17.028077 Event: Init GSM
+On: 2011-11-04 15:19:19.032281 Event: Caller Greeting
+On: 2011-11-04 15:19:19.034916 Event: Connected to Caller Handler
+On: 2011-11-04 15:19:19.154124 Event: Caller Handler respond
+On: 2011-11-04 15:19:19.154426 Event: Caller handler : Ready
+On: 2011-11-04 15:19:19.154458 Event: init Receiver
+On: 2011-11-04 15:19:19.154478 Event: unisip
+On: 2011-11-04 15:19:21.158005 Event: Receiver Greeting
+On: 2011-11-04 15:19:21.158834 Event: Connected to Receiver Handler
+On: 2011-11-04 15:19:21.159116 Event: Receiver Handler respond
+On: 2011-11-04 15:19:21.159874 Event: Receiver handler : Ready
+On: 2011-11-04 15:19:21.159912 Event: Start Call
+On: 2011-11-04 15:19:21.162124 Event: Waiting Feedback
+On: 2011-11-04 15:19:23.602107 Event: Test Succeed
+On: 2011-11-04 15:19:23.602164 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:19:23.602321 Event: init Cancel test
+On: 2011-11-04 15:19:26.656796 Event: -- -X- --
+On: 2011-11-04 15:19:26.656861 Event: init Caller
+On: 2011-11-04 15:19:26.656880 Event: GSMRZ3
+On: 2011-11-04 15:19:34.665624 Event: Caller Greeting
+On: 2011-11-04 15:19:34.666227 Event: Connected to Caller Handler
+On: 2011-11-04 15:19:34.889767 Event: Caller Handler respond
+On: 2011-11-04 15:19:34.892397 Event: Caller handler : Ready
+On: 2011-11-04 15:19:34.892435 Event: init Receiver
+On: 2011-11-04 15:19:34.892455 Event: GSMExt.O2
+On: 2011-11-04 15:19:34.892505 Event: Init GSM
+On: 2011-11-04 15:19:36.896615 Event: Receiver Greeting
+On: 2011-11-04 15:19:36.899234 Event: Connected to Receiver Handler
+On: 2011-11-04 15:19:37.018201 Event: Receiver Handler respond
+On: 2011-11-04 15:19:37.018498 Event: Receiver handler : Ready
+On: 2011-11-04 15:19:37.018529 Event: Start Call
+On: 2011-11-04 15:19:37.019033 Event: Waiting Feedback
+On: 2011-11-04 15:19:51.046680 Event: Test Succeed
+On: 2011-11-04 15:19:51.046743 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:19:51.050544 Event: init Cancel test
+On: 2011-11-04 15:19:54.106521 Event: -- -X- --
+On: 2011-11-04 15:19:54.106587 Event: init Caller
+On: 2011-11-04 15:19:54.106605 Event: GSMRZ3
+On: 2011-11-04 15:20:02.116872 Event: Caller Greeting
+On: 2011-11-04 15:20:02.117443 Event: Connected to Caller Handler
+On: 2011-11-04 15:20:02.329092 Event: Caller Handler respond
+On: 2011-11-04 15:20:02.331687 Event: Caller handler : Ready
+On: 2011-11-04 15:20:02.331727 Event: init Receiver
+On: 2011-11-04 15:20:02.331756 Event: GSMExt.Tm
+On: 2011-11-04 15:20:02.331808 Event: Init GSM
+On: 2011-11-04 15:20:04.334039 Event: Receiver Greeting
+On: 2011-11-04 15:20:04.336646 Event: Connected to Receiver Handler
+On: 2011-11-04 15:20:04.461987 Event: Receiver Handler respond
+On: 2011-11-04 15:20:04.462292 Event: Receiver handler : Ready
+On: 2011-11-04 15:20:04.462323 Event: Start Call
+On: 2011-11-04 15:20:04.462477 Event: Waiting Feedback
+On: 2011-11-04 15:20:18.336814 Event: Test Succeed
+On: 2011-11-04 15:20:18.336876 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:20:18.341011 Event: init Cancel test
+On: 2011-11-04 15:20:21.398033 Event: -- -X- --
+On: 2011-11-04 15:20:21.398100 Event: init Caller
+On: 2011-11-04 15:20:21.398119 Event: GSMRZ3
+On: 2011-11-04 15:20:29.406008 Event: Caller Greeting
+On: 2011-11-04 15:20:29.406554 Event: Connected to Caller Handler
+On: 2011-11-04 15:20:29.634640 Event: Caller Handler respond
+On: 2011-11-04 15:20:29.637282 Event: Caller handler : Ready
+On: 2011-11-04 15:20:29.637319 Event: init Receiver
+On: 2011-11-04 15:20:29.637339 Event: GSMExt.Voda
+On: 2011-11-04 15:20:29.637390 Event: Init GSM
+On: 2011-11-04 15:20:31.641701 Event: Receiver Greeting
+On: 2011-11-04 15:20:31.644385 Event: Connected to Receiver Handler
+On: 2011-11-04 15:20:31.766128 Event: Receiver Handler respond
+On: 2011-11-04 15:20:31.766427 Event: Receiver handler : Ready
+On: 2011-11-04 15:20:31.766459 Event: Start Call
+On: 2011-11-04 15:20:31.766973 Event: Waiting Feedback
+On: 2011-11-04 15:20:44.643345 Event: Test Succeed
+On: 2011-11-04 15:20:44.643410 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:20:44.646564 Event: init Cancel test
+On: 2011-11-04 15:20:47.702299 Event: -- -X- --
+On: 2011-11-04 15:20:47.702366 Event: init Caller
+On: 2011-11-04 15:20:47.702384 Event: GSMRZ3
+On: 2011-11-04 15:20:55.712724 Event: Caller Greeting
+On: 2011-11-04 15:20:55.713306 Event: Connected to Caller Handler
+On: 2011-11-04 15:20:55.933012 Event: Caller Handler respond
+On: 2011-11-04 15:20:55.935602 Event: Caller handler : Ready
+On: 2011-11-04 15:20:55.935641 Event: init Receiver
+On: 2011-11-04 15:20:55.935661 Event: GSMExt.Eplus
+On: 2011-11-04 15:20:55.935713 Event: Init GSM
+On: 2011-11-04 15:20:57.938019 Event: Receiver Greeting
+On: 2011-11-04 15:20:57.940630 Event: Connected to Receiver Handler
+On: 2011-11-04 15:20:58.058206 Event: Receiver Handler respond
+On: 2011-11-04 15:20:58.058499 Event: Receiver handler : Ready
+On: 2011-11-04 15:20:58.058530 Event: Start Call
+On: 2011-11-04 15:20:58.058674 Event: Waiting Feedback
+On: 2011-11-04 15:21:13.061422 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:21:13.061484 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:21:13.062225 Event: init Cancel test
+On: 2011-11-04 15:21:16.117791 Event: -- -X- --
+On: 2011-11-04 15:21:16.117859 Event: init Caller
+On: 2011-11-04 15:21:16.117877 Event: GSMRZ2
+On: 2011-11-04 15:21:24.126018 Event: Caller Greeting
+On: 2011-11-04 15:21:24.126595 Event: Connected to Caller Handler
+On: 2011-11-04 15:21:24.337078 Event: Caller Handler respond
+On: 2011-11-04 15:21:24.339428 Event: Caller handler : Ready
+On: 2011-11-04 15:21:24.339489 Event: init Receiver
+On: 2011-11-04 15:21:24.339509 Event: GSMExt.O2
+On: 2011-11-04 15:21:24.339562 Event: Init GSM
+On: 2011-11-04 15:21:26.342746 Event: Receiver Greeting
+On: 2011-11-04 15:21:26.345297 Event: Connected to Receiver Handler
+On: 2011-11-04 15:21:26.466131 Event: Receiver Handler respond
+On: 2011-11-04 15:21:26.466428 Event: Receiver handler : Ready
+On: 2011-11-04 15:21:26.466521 Event: Start Call
+On: 2011-11-04 15:21:26.466693 Event: Waiting Feedback
+On: 2011-11-04 15:21:38.024591 Event: Test Succeed
+On: 2011-11-04 15:21:38.024654 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:21:38.026567 Event: init Cancel test
+On: 2011-11-04 15:21:41.077413 Event: -- -X- --
+On: 2011-11-04 15:21:41.077480 Event: init Caller
+On: 2011-11-04 15:21:41.077498 Event: GSMRZ2
+On: 2011-11-04 15:21:49.092078 Event: Caller Greeting
+On: 2011-11-04 15:21:49.092654 Event: Connected to Caller Handler
+On: 2011-11-04 15:21:49.307036 Event: Caller Handler respond
+On: 2011-11-04 15:21:49.309341 Event: Caller handler : Ready
+On: 2011-11-04 15:21:49.309379 Event: init Receiver
+On: 2011-11-04 15:21:49.309399 Event: GSMExt.Tm
+On: 2011-11-04 15:21:49.309450 Event: Init GSM
+On: 2011-11-04 15:21:51.313571 Event: Receiver Greeting
+On: 2011-11-04 15:21:51.316213 Event: Connected to Receiver Handler
+On: 2011-11-04 15:21:51.446125 Event: Receiver Handler respond
+On: 2011-11-04 15:21:51.446413 Event: Receiver handler : Ready
+On: 2011-11-04 15:21:51.446443 Event: Start Call
+On: 2011-11-04 15:21:51.446599 Event: Waiting Feedback
+On: 2011-11-04 15:22:04.190310 Event: Test Succeed
+On: 2011-11-04 15:22:04.190372 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:22:04.194551 Event: init Cancel test
+On: 2011-11-04 15:22:07.250113 Event: -- -X- --
+On: 2011-11-04 15:22:07.250180 Event: init Caller
+On: 2011-11-04 15:22:07.250198 Event: GSMRZ2
+On: 2011-11-04 15:22:15.260511 Event: Caller Greeting
+On: 2011-11-04 15:22:15.261089 Event: Connected to Caller Handler
+On: 2011-11-04 15:22:15.472084 Event: Caller Handler respond
+On: 2011-11-04 15:22:15.474398 Event: Caller handler : Ready
+On: 2011-11-04 15:22:15.474437 Event: init Receiver
+On: 2011-11-04 15:22:15.474457 Event: GSMExt.Voda
+On: 2011-11-04 15:22:15.474509 Event: Init GSM
+On: 2011-11-04 15:22:17.478606 Event: Receiver Greeting
+On: 2011-11-04 15:22:17.481239 Event: Connected to Receiver Handler
+On: 2011-11-04 15:22:17.602744 Event: Receiver Handler respond
+On: 2011-11-04 15:22:17.603045 Event: Receiver handler : Ready
+On: 2011-11-04 15:22:17.603077 Event: Start Call
+On: 2011-11-04 15:22:17.603226 Event: Waiting Feedback
+On: 2011-11-04 15:22:29.347332 Event: Test Succeed
+On: 2011-11-04 15:22:29.347395 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:22:29.350549 Event: init Cancel test
+On: 2011-11-04 15:22:32.406397 Event: -- -X- --
+On: 2011-11-04 15:22:32.406459 Event: init Caller
+On: 2011-11-04 15:22:32.406477 Event: GSMRZ2
+On: 2011-11-04 15:22:40.416785 Event: Caller Greeting
+On: 2011-11-04 15:22:40.417354 Event: Connected to Caller Handler
+On: 2011-11-04 15:22:40.629556 Event: Caller Handler respond
+On: 2011-11-04 15:22:40.631846 Event: Caller handler : Ready
+On: 2011-11-04 15:22:40.631885 Event: init Receiver
+On: 2011-11-04 15:22:40.631906 Event: GSMExt.Eplus
+On: 2011-11-04 15:22:40.631958 Event: Init GSM
+On: 2011-11-04 15:22:42.636116 Event: Receiver Greeting
+On: 2011-11-04 15:22:42.638800 Event: Connected to Receiver Handler
+On: 2011-11-04 15:22:42.762130 Event: Receiver Handler respond
+On: 2011-11-04 15:22:42.762429 Event: Receiver handler : Ready
+On: 2011-11-04 15:22:42.762460 Event: Start Call
+On: 2011-11-04 15:22:42.762613 Event: Waiting Feedback
+On: 2011-11-04 15:22:57.763037 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:22:57.763097 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:22:57.763774 Event: init Cancel test
+On: 2011-11-04 15:23:00.822906 Event: -- -X- --
+On: 2011-11-04 15:23:00.822971 Event: init Caller
+On: 2011-11-04 15:23:00.822989 Event: GSMRZ1
+On: 2011-11-04 15:23:00.823036 Event: Init GSM
+On: 2011-11-04 15:23:02.827150 Event: Caller Greeting
+On: 2011-11-04 15:23:02.829706 Event: Connected to Caller Handler
+On: 2011-11-04 15:23:02.934155 Event: Caller Handler respond
+On: 2011-11-04 15:23:02.934462 Event: Caller handler : Ready
+On: 2011-11-04 15:23:02.934493 Event: init Receiver
+On: 2011-11-04 15:23:02.934513 Event: GSMExt.O2
+On: 2011-11-04 15:23:02.934563 Event: Init GSM
+On: 2011-11-04 15:23:04.938715 Event: Receiver Greeting
+On: 2011-11-04 15:23:04.941380 Event: Connected to Receiver Handler
+On: 2011-11-04 15:23:05.062126 Event: Receiver Handler respond
+On: 2011-11-04 15:23:05.062422 Event: Receiver handler : Ready
+On: 2011-11-04 15:23:05.062452 Event: Start Call
+On: 2011-11-04 15:23:05.062505 Event: Waiting Feedback
+On: 2011-11-04 15:23:17.170125 Event: Test Succeed
+On: 2011-11-04 15:23:17.170183 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:23:17.170338 Event: init Cancel test
+On: 2011-11-04 15:23:20.232381 Event: -- -X- --
+On: 2011-11-04 15:23:20.232453 Event: init Caller
+On: 2011-11-04 15:23:20.232471 Event: GSMRZ1
+On: 2011-11-04 15:23:20.232518 Event: Init GSM
+On: 2011-11-04 15:23:22.241687 Event: Caller Greeting
+On: 2011-11-04 15:23:22.244248 Event: Connected to Caller Handler
+On: 2011-11-04 15:23:22.366135 Event: Caller Handler respond
+On: 2011-11-04 15:23:22.366440 Event: Caller handler : Ready
+On: 2011-11-04 15:23:22.366472 Event: init Receiver
+On: 2011-11-04 15:23:22.366492 Event: GSMExt.Tm
+On: 2011-11-04 15:23:22.366541 Event: Init GSM
+On: 2011-11-04 15:23:24.370658 Event: Receiver Greeting
+On: 2011-11-04 15:23:24.373220 Event: Connected to Receiver Handler
+On: 2011-11-04 15:23:24.466132 Event: Receiver Handler respond
+On: 2011-11-04 15:23:24.466429 Event: Receiver handler : Ready
+On: 2011-11-04 15:23:24.466461 Event: Start Call
+On: 2011-11-04 15:23:24.466513 Event: Waiting Feedback
+On: 2011-11-04 15:23:37.514120 Event: Test Succeed
+On: 2011-11-04 15:23:37.514177 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:23:37.514313 Event: init Cancel test
+On: 2011-11-04 15:23:40.573439 Event: -- -X- --
+On: 2011-11-04 15:23:40.573502 Event: init Caller
+On: 2011-11-04 15:23:40.573520 Event: GSMRZ1
+On: 2011-11-04 15:23:40.573566 Event: Init GSM
+On: 2011-11-04 15:23:42.584170 Event: Caller Greeting
+On: 2011-11-04 15:23:42.586789 Event: Connected to Caller Handler
+On: 2011-11-04 15:23:42.706129 Event: Caller Handler respond
+On: 2011-11-04 15:23:42.706434 Event: Caller handler : Ready
+On: 2011-11-04 15:23:42.706466 Event: init Receiver
+On: 2011-11-04 15:23:42.706486 Event: GSMExt.Voda
+On: 2011-11-04 15:23:42.706536 Event: Init GSM
+On: 2011-11-04 15:23:44.710703 Event: Receiver Greeting
+On: 2011-11-04 15:23:44.713292 Event: Connected to Receiver Handler
+On: 2011-11-04 15:23:44.806205 Event: Receiver Handler respond
+On: 2011-11-04 15:23:44.806508 Event: Receiver handler : Ready
+On: 2011-11-04 15:23:44.806541 Event: Start Call
+On: 2011-11-04 15:23:44.806594 Event: Waiting Feedback
+On: 2011-11-04 15:23:57.534108 Event: Test Succeed
+On: 2011-11-04 15:23:57.534166 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:23:57.534315 Event: init Cancel test
+On: 2011-11-04 15:24:00.593068 Event: -- -X- --
+On: 2011-11-04 15:24:00.593131 Event: init Caller
+On: 2011-11-04 15:24:00.593149 Event: GSMRZ1
+On: 2011-11-04 15:24:00.593195 Event: Init GSM
+On: 2011-11-04 15:24:02.597327 Event: Caller Greeting
+On: 2011-11-04 15:24:02.599964 Event: Connected to Caller Handler
+On: 2011-11-04 15:24:02.718155 Event: Caller Handler respond
+On: 2011-11-04 15:24:02.718461 Event: Caller handler : Ready
+On: 2011-11-04 15:24:02.718492 Event: init Receiver
+On: 2011-11-04 15:24:02.718512 Event: GSMExt.Eplus
+On: 2011-11-04 15:24:02.718561 Event: Init GSM
+On: 2011-11-04 15:24:04.722929 Event: Receiver Greeting
+On: 2011-11-04 15:24:04.725499 Event: Connected to Receiver Handler
+On: 2011-11-04 15:24:04.830131 Event: Receiver Handler respond
+On: 2011-11-04 15:24:04.830431 Event: Receiver handler : Ready
+On: 2011-11-04 15:24:04.830462 Event: Start Call
+On: 2011-11-04 15:24:04.830515 Event: Waiting Feedback
+On: 2011-11-04 15:24:19.834497 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 15:24:19.834556 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:24:19.834690 Event: init Cancel test
+On: 2011-11-04 15:24:22.891009 Event: -- -X- --
+On: 2011-11-04 15:24:22.891074 Event: init Caller
+On: 2011-11-04 15:24:22.891092 Event: landline
+On: 2011-11-04 15:24:24.895149 Event: Caller Greeting
+On: 2011-11-04 15:24:24.895973 Event: Connected to Caller Handler
+On: 2011-11-04 15:24:24.896737 Event: Caller Handler respond
+On: 2011-11-04 15:24:24.899716 Event: Caller handler : Ready
+On: 2011-11-04 15:24:24.899755 Event: init Receiver
+On: 2011-11-04 15:24:24.899775 Event: GSMRZ3
+On: 2011-11-04 15:24:32.906892 Event: Receiver Greeting
+On: 2011-11-04 15:24:32.907545 Event: Connected to Receiver Handler
+On: 2011-11-04 15:24:33.138277 Event: Receiver Handler respond
+On: 2011-11-04 15:24:33.141042 Event: Receiver handler : Ready
+On: 2011-11-04 15:24:33.141107 Event: Start Call
+On: 2011-11-04 15:24:33.141180 Event: Waiting Feedback
+On: 2011-11-04 15:24:42.126561 Event: Test Succeed
+On: 2011-11-04 15:24:42.126604 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:24:42.126784 Event: init Cancel test
+On: 2011-11-04 15:24:45.184024 Event: -- -X- --
+On: 2011-11-04 15:24:45.184089 Event: init Caller
+On: 2011-11-04 15:24:45.184107 Event: landline
+On: 2011-11-04 15:24:47.187867 Event: Caller Greeting
+On: 2011-11-04 15:24:47.188727 Event: Connected to Caller Handler
+On: 2011-11-04 15:24:47.189014 Event: Caller Handler respond
+On: 2011-11-04 15:24:47.191622 Event: Caller handler : Ready
+On: 2011-11-04 15:24:47.191661 Event: init Receiver
+On: 2011-11-04 15:24:47.191681 Event: GSMRZ2
+On: 2011-11-04 15:24:55.200071 Event: Receiver Greeting
+On: 2011-11-04 15:24:55.200637 Event: Connected to Receiver Handler
+On: 2011-11-04 15:24:55.417676 Event: Receiver Handler respond
+On: 2011-11-04 15:24:55.419746 Event: Receiver handler : Ready
+On: 2011-11-04 15:24:55.419806 Event: Start Call
+On: 2011-11-04 15:24:55.419876 Event: Waiting Feedback
+On: 2011-11-04 15:25:04.480530 Event: Test Succeed
+On: 2011-11-04 15:25:04.480586 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:25:04.480775 Event: init Cancel test
+On: 2011-11-04 15:25:07.552327 Event: -- -X- --
+On: 2011-11-04 15:25:07.552397 Event: init Caller
+On: 2011-11-04 15:25:07.552415 Event: landline
+On: 2011-11-04 15:25:09.556564 Event: Caller Greeting
+On: 2011-11-04 15:25:09.557394 Event: Connected to Caller Handler
+On: 2011-11-04 15:25:09.557678 Event: Caller Handler respond
+On: 2011-11-04 15:25:09.559978 Event: Caller handler : Ready
+On: 2011-11-04 15:25:09.560017 Event: init Receiver
+On: 2011-11-04 15:25:09.560036 Event: GSMRZ1
+On: 2011-11-04 15:25:09.560086 Event: Init GSM
+On: 2011-11-04 15:25:11.564206 Event: Receiver Greeting
+On: 2011-11-04 15:25:11.566406 Event: Connected to Receiver Handler
+On: 2011-11-04 15:25:11.686195 Event: Receiver Handler respond
+On: 2011-11-04 15:25:11.686487 Event: Receiver handler : Ready
+On: 2011-11-04 15:25:11.686516 Event: Start Call
+On: 2011-11-04 15:25:11.686580 Event: Waiting Feedback
+On: 2011-11-04 15:25:19.774902 Event: Test Succeed
+On: 2011-11-04 15:25:19.774957 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:25:19.775094 Event: init Cancel test
+On: 2011-11-04 15:25:22.832890 Event: -- -X- --
+On: 2011-11-04 15:25:22.832951 Event: init Caller
+On: 2011-11-04 15:25:22.832969 Event: landline
+On: 2011-11-04 15:25:24.838002 Event: Caller Greeting
+On: 2011-11-04 15:25:24.838839 Event: Connected to Caller Handler
+On: 2011-11-04 15:25:24.839115 Event: Caller Handler respond
+On: 2011-11-04 15:25:24.841388 Event: Caller handler : Ready
+On: 2011-11-04 15:25:24.841422 Event: init Receiver
+On: 2011-11-04 15:25:24.841443 Event: sip
+On: 2011-11-04 15:25:26.845805 Event: Receiver Greeting
+On: 2011-11-04 15:25:26.846654 Event: Connected to Receiver Handler
+On: 2011-11-04 15:25:26.846939 Event: Receiver Handler respond
+On: 2011-11-04 15:25:26.847692 Event: Receiver handler : Ready
+On: 2011-11-04 15:25:26.847731 Event: Start Call
+On: 2011-11-04 15:25:26.847954 Event: Waiting Feedback
+On: 2011-11-04 15:25:32.695337 Event: Test Succeed
+On: 2011-11-04 15:25:32.695389 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:25:32.695520 Event: init Cancel test
+On: 2011-11-04 15:25:35.733185 Event: -- -X- --
+On: 2011-11-04 15:25:35.733248 Event: init Caller
+On: 2011-11-04 15:25:35.733266 Event: GSMRZ2
+On: 2011-11-04 15:25:43.738011 Event: Caller Greeting
+On: 2011-11-04 15:25:43.738589 Event: Connected to Caller Handler
+On: 2011-11-04 15:25:43.950778 Event: Caller Handler respond
+On: 2011-11-04 15:25:43.953070 Event: Caller handler : Ready
+On: 2011-11-04 15:25:43.953118 Event: init Receiver
+On: 2011-11-04 15:25:43.953138 Event: GSMRZ3
+On: 2011-11-04 15:25:51.962021 Event: Receiver Greeting
+On: 2011-11-04 15:25:51.962600 Event: Connected to Receiver Handler
+On: 2011-11-04 15:25:52.190022 Event: Receiver Handler respond
+On: 2011-11-04 15:25:52.192630 Event: Receiver handler : Ready
+On: 2011-11-04 15:25:52.192666 Event: Start Call
+On: 2011-11-04 15:25:52.192725 Event: Waiting Feedback
+On: 2011-11-04 15:25:57.474305 Event: Test Succeed
+On: 2011-11-04 15:25:57.474370 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:25:57.474558 Event: init Cancel test
+On: 2011-11-04 15:26:00.527991 Event: -- -X- --
+On: 2011-11-04 15:26:00.528056 Event: init Caller
+On: 2011-11-04 15:26:00.528075 Event: GSMRZ1
+On: 2011-11-04 15:26:00.528122 Event: Init GSM
+On: 2011-11-04 15:26:02.532203 Event: Caller Greeting
+On: 2011-11-04 15:26:02.534859 Event: Connected to Caller Handler
+On: 2011-11-04 15:26:02.658154 Event: Caller Handler respond
+On: 2011-11-04 15:26:02.658463 Event: Caller handler : Ready
+On: 2011-11-04 15:26:02.658495 Event: init Receiver
+On: 2011-11-04 15:26:02.658516 Event: GSMRZ3
+On: 2011-11-04 15:26:10.666026 Event: Receiver Greeting
+On: 2011-11-04 15:26:10.666593 Event: Connected to Receiver Handler
+On: 2011-11-04 15:26:10.869791 Event: Receiver Handler respond
+On: 2011-11-04 15:26:10.872366 Event: Receiver handler : Ready
+On: 2011-11-04 15:26:10.872404 Event: Start Call
+On: 2011-11-04 15:26:10.872463 Event: Waiting Feedback
+On: 2011-11-04 15:26:14.514112 Event: Test Succeed
+On: 2011-11-04 15:26:14.514170 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:26:14.514375 Event: init Cancel test
+On: 2011-11-04 15:26:17.569176 Event: -- -X- --
+On: 2011-11-04 15:26:17.569240 Event: init Caller
+On: 2011-11-04 15:26:17.569258 Event: GSMRZ1
+On: 2011-11-04 15:26:17.569304 Event: Init GSM
+On: 2011-11-04 15:26:19.573419 Event: Caller Greeting
+On: 2011-11-04 15:26:19.576104 Event: Connected to Caller Handler
+On: 2011-11-04 15:26:19.706128 Event: Caller Handler respond
+On: 2011-11-04 15:26:19.706435 Event: Caller handler : Ready
+On: 2011-11-04 15:26:19.706467 Event: init Receiver
+On: 2011-11-04 15:26:19.706487 Event: GSMRZ2
+On: 2011-11-04 15:26:27.718016 Event: Receiver Greeting
+On: 2011-11-04 15:26:27.718591 Event: Connected to Receiver Handler
+On: 2011-11-04 15:26:27.929513 Event: Receiver Handler respond
+On: 2011-11-04 15:26:27.931895 Event: Receiver handler : Ready
+On: 2011-11-04 15:26:27.931956 Event: Start Call
+On: 2011-11-04 15:26:27.932027 Event: Waiting Feedback
+On: 2011-11-04 15:26:31.538113 Event: Test Succeed
+On: 2011-11-04 15:26:31.538184 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:26:31.538368 Event: init Cancel test
+On: 2011-11-04 15:26:34.591105 Event: -- -X- --
+On: 2011-11-04 15:26:34.591164 Event: init Caller
+On: 2011-11-04 15:26:34.591183 Event: sip
+On: 2011-11-04 15:26:36.602235 Event: Caller Greeting
+On: 2011-11-04 15:26:36.603805 Event: Connected to Caller Handler
+On: 2011-11-04 15:26:36.604080 Event: Caller Handler respond
+On: 2011-11-04 15:26:36.605200 Event: Caller handler : Ready
+On: 2011-11-04 15:26:36.605231 Event: init Receiver
+On: 2011-11-04 15:26:36.605251 Event: unisip
+On: 2011-11-04 15:26:38.610702 Event: Receiver Greeting
+On: 2011-11-04 15:26:38.611520 Event: Connected to Receiver Handler
+On: 2011-11-04 15:26:38.612696 Event: Receiver Handler respond
+On: 2011-11-04 15:26:38.613471 Event: Receiver handler : Ready
+On: 2011-11-04 15:26:38.613508 Event: Start Call
+On: 2011-11-04 15:26:38.613565 Event: Waiting Feedback
+On: 2011-11-04 15:26:41.671916 Event: Test Succeed
+On: 2011-11-04 15:26:41.671973 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:26:41.672114 Event: init Cancel test
+On: 2011-11-04 15:26:44.727904 Event: -- -X- --
+On: 2011-11-04 15:26:44.727965 Event: init Caller
+On: 2011-11-04 15:26:44.727983 Event: sip
+On: 2011-11-04 15:26:46.732134 Event: Caller Greeting
+On: 2011-11-04 15:26:46.732967 Event: Connected to Caller Handler
+On: 2011-11-04 15:26:46.733251 Event: Caller Handler respond
+On: 2011-11-04 15:26:46.734556 Event: Caller handler : Ready
+On: 2011-11-04 15:26:46.734595 Event: init Receiver
+On: 2011-11-04 15:26:46.734722 Event: landline
+On: 2011-11-04 15:26:48.738003 Event: Receiver Greeting
+On: 2011-11-04 15:26:48.738819 Event: Connected to Receiver Handler
+On: 2011-11-04 15:26:48.739111 Event: Receiver Handler respond
+On: 2011-11-04 15:26:48.741784 Event: Receiver handler : Ready
+On: 2011-11-04 15:26:48.741823 Event: Start Call
+On: 2011-11-04 15:26:48.742007 Event: Waiting Feedback
+On: 2011-11-04 15:26:56.027325 Event: Test Succeed
+On: 2011-11-04 15:26:56.027383 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:26:56.027526 Event: init Cancel test
+On: 2011-11-04 15:26:59.065247 Event: -- -X- --
+On: 2011-11-04 15:26:59.065307 Event: init Caller
+On: 2011-11-04 15:26:59.065326 Event: GSMRZ3
+On: 2011-11-04 15:27:07.075612 Event: Caller Greeting
+On: 2011-11-04 15:27:07.076188 Event: Connected to Caller Handler
+On: 2011-11-04 15:27:07.302251 Event: Caller Handler respond
+On: 2011-11-04 15:27:07.304882 Event: Caller handler : Ready
+On: 2011-11-04 15:27:07.304920 Event: init Receiver
+On: 2011-11-04 15:27:07.304941 Event: sip
+On: 2011-11-04 15:27:09.309085 Event: Receiver Greeting
+On: 2011-11-04 15:27:09.309814 Event: Connected to Receiver Handler
+On: 2011-11-04 15:27:09.310437 Event: Receiver Handler respond
+On: 2011-11-04 15:27:09.311204 Event: Receiver handler : Ready
+On: 2011-11-04 15:27:09.311238 Event: Start Call
+On: 2011-11-04 15:27:09.311494 Event: Waiting Feedback
+On: 2011-11-04 15:27:12.614647 Event: Test Succeed
+On: 2011-11-04 15:27:12.614709 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:27:12.614884 Event: init Cancel test
+On: 2011-11-04 15:27:15.657367 Event: -- -X- --
+On: 2011-11-04 15:27:15.657427 Event: init Caller
+On: 2011-11-04 15:27:15.657446 Event: GSMRZ2
+On: 2011-11-04 15:27:23.666268 Event: Caller Greeting
+On: 2011-11-04 15:27:23.666839 Event: Connected to Caller Handler
+On: 2011-11-04 15:27:23.877108 Event: Caller Handler respond
+On: 2011-11-04 15:27:23.879396 Event: Caller handler : Ready
+On: 2011-11-04 15:27:23.879433 Event: init Receiver
+On: 2011-11-04 15:27:23.879455 Event: sip
+On: 2011-11-04 15:27:25.883596 Event: Receiver Greeting
+On: 2011-11-04 15:27:25.884404 Event: Connected to Receiver Handler
+On: 2011-11-04 15:27:25.885536 Event: Receiver Handler respond
+On: 2011-11-04 15:27:25.886373 Event: Receiver handler : Ready
+On: 2011-11-04 15:27:25.886408 Event: Start Call
+On: 2011-11-04 15:27:25.886663 Event: Waiting Feedback
+On: 2011-11-04 15:27:29.080229 Event: Test Succeed
+On: 2011-11-04 15:27:29.080292 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:27:29.081290 Event: init Cancel test
+On: 2011-11-04 15:27:32.134918 Event: -- -X- --
+On: 2011-11-04 15:27:32.134981 Event: init Caller
+On: 2011-11-04 15:27:32.135000 Event: GSMRZ1
+On: 2011-11-04 15:27:32.135047 Event: Init GSM
+On: 2011-11-04 15:27:34.138007 Event: Caller Greeting
+On: 2011-11-04 15:27:34.140578 Event: Connected to Caller Handler
+On: 2011-11-04 15:27:34.254196 Event: Caller Handler respond
+On: 2011-11-04 15:27:34.254501 Event: Caller handler : Ready
+On: 2011-11-04 15:27:34.254533 Event: init Receiver
+On: 2011-11-04 15:27:34.254554 Event: sip
+On: 2011-11-04 15:27:36.258428 Event: Receiver Greeting
+On: 2011-11-04 15:27:36.259259 Event: Connected to Receiver Handler
+On: 2011-11-04 15:27:36.260409 Event: Receiver Handler respond
+On: 2011-11-04 15:27:36.261188 Event: Receiver handler : Ready
+On: 2011-11-04 15:27:36.261226 Event: Start Call
+On: 2011-11-04 15:27:36.266109 Event: Waiting Feedback
+On: 2011-11-04 15:27:39.422126 Event: Test Succeed
+On: 2011-11-04 15:27:39.422183 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:27:39.422325 Event: init Cancel test
+On: 2011-11-04 15:27:42.460723 Event: -- -X- --
+On: 2011-11-04 15:27:42.460784 Event: init Caller
+On: 2011-11-04 15:27:42.460803 Event: sip
+On: 2011-11-04 15:27:44.463940 Event: Caller Greeting
+On: 2011-11-04 15:27:44.464801 Event: Connected to Caller Handler
+On: 2011-11-04 15:27:44.465077 Event: Caller Handler respond
+On: 2011-11-04 15:27:44.465828 Event: Caller handler : Ready
+On: 2011-11-04 15:27:44.465929 Event: init Receiver
+On: 2011-11-04 15:27:44.466001 Event: GSMRZ3
+On: 2011-11-04 15:27:52.474019 Event: Receiver Greeting
+On: 2011-11-04 15:27:52.474594 Event: Connected to Receiver Handler
+On: 2011-11-04 15:27:52.695642 Event: Receiver Handler respond
+On: 2011-11-04 15:27:52.698200 Event: Receiver handler : Ready
+On: 2011-11-04 15:27:52.698236 Event: Start Call
+On: 2011-11-04 15:27:52.698295 Event: Waiting Feedback
+On: 2011-11-04 15:27:57.874453 Event: Test Succeed
+On: 2011-11-04 15:27:57.874509 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:27:57.874684 Event: init Cancel test
+On: 2011-11-04 15:28:00.922074 Event: -- -X- --
+On: 2011-11-04 15:28:00.922140 Event: init Caller
+On: 2011-11-04 15:28:00.922158 Event: sip
+On: 2011-11-04 15:28:02.926261 Event: Caller Greeting
+On: 2011-11-04 15:28:02.927089 Event: Connected to Caller Handler
+On: 2011-11-04 15:28:02.927370 Event: Caller Handler respond
+On: 2011-11-04 15:28:02.928130 Event: Caller handler : Ready
+On: 2011-11-04 15:28:02.928169 Event: init Receiver
+On: 2011-11-04 15:28:02.928189 Event: GSMRZ2
+On: 2011-11-04 15:28:10.938418 Event: Receiver Greeting
+On: 2011-11-04 15:28:10.938997 Event: Connected to Receiver Handler
+On: 2011-11-04 15:28:11.153060 Event: Receiver Handler respond
+On: 2011-11-04 15:28:11.155313 Event: Receiver handler : Ready
+On: 2011-11-04 15:28:11.155351 Event: Start Call
+On: 2011-11-04 15:28:11.155412 Event: Waiting Feedback
+On: 2011-11-04 15:28:15.754407 Event: Test Succeed
+On: 2011-11-04 15:28:15.754468 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:28:15.754650 Event: init Cancel test
+On: 2011-11-04 15:28:18.810017 Event: -- -X- --
+On: 2011-11-04 15:28:18.810077 Event: init Caller
+On: 2011-11-04 15:28:18.810096 Event: sip
+On: 2011-11-04 15:28:20.814016 Event: Caller Greeting
+On: 2011-11-04 15:28:20.814853 Event: Connected to Caller Handler
+On: 2011-11-04 15:28:20.815134 Event: Caller Handler respond
+On: 2011-11-04 15:28:20.816252 Event: Caller handler : Ready
+On: 2011-11-04 15:28:20.816291 Event: init Receiver
+On: 2011-11-04 15:28:20.816311 Event: GSMRZ1
+On: 2011-11-04 15:28:20.816359 Event: Init GSM
+On: 2011-11-04 15:28:22.820738 Event: Receiver Greeting
+On: 2011-11-04 15:28:22.822746 Event: Connected to Receiver Handler
+On: 2011-11-04 15:28:22.942327 Event: Receiver Handler respond
+On: 2011-11-04 15:28:22.942625 Event: Receiver handler : Ready
+On: 2011-11-04 15:28:22.942656 Event: Start Call
+On: 2011-11-04 15:28:22.942711 Event: Waiting Feedback
+On: 2011-11-04 15:28:27.554178 Event: Test Succeed
+On: 2011-11-04 15:28:27.554235 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:28:27.554381 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:41:22.638751 ------------------
+On: 2011-11-04 15:41:22.638829 Event: init Caller
+On: 2011-11-04 15:41:22.638856 Event: GSMRZ2
+On: 2011-11-04 15:41:30.650016 Event: Caller Greeting
+On: 2011-11-04 15:41:30.650769 Event: Connected to Caller Handler
+On: 2011-11-04 15:41:30.870194 Event: Caller Handler respond
+On: 2011-11-04 15:41:30.872480 Event: Caller handler : Ready
+On: 2011-11-04 15:41:30.872518 Event: init Receiver
+On: 2011-11-04 15:41:30.872539 Event: GSMRZ3
+On: 2011-11-04 15:41:38.878019 Event: Receiver Greeting
+On: 2011-11-04 15:41:38.878646 Event: Connected to Receiver Handler
+On: 2011-11-04 15:41:39.077794 Event: Receiver Handler respond
+On: 2011-11-04 15:41:39.080347 Event: Receiver handler : Ready
+On: 2011-11-04 15:41:39.080388 Event: Start Call
+On: 2011-11-04 15:41:39.080452 Event: Waiting Feedback
+On: 2011-11-04 15:41:43.221656 Event: Test Succeed
+On: 2011-11-04 15:41:43.221721 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:41:43.221978 Event: init Cancel test
+On: 2011-11-04 15:41:46.269661 Event: -- -X- --
+On: 2011-11-04 15:41:46.269726 Event: init Caller
+On: 2011-11-04 15:41:46.269745 Event: GSMRZ1
+On: 2011-11-04 15:41:46.269793 Event: Init GSM
+On: 2011-11-04 15:41:48.273978 Event: Caller Greeting
+On: 2011-11-04 15:41:48.276632 Event: Connected to Caller Handler
+On: 2011-11-04 15:41:48.390125 Event: Caller Handler respond
+On: 2011-11-04 15:41:48.390438 Event: Caller handler : Ready
+On: 2011-11-04 15:41:48.390470 Event: init Receiver
+On: 2011-11-04 15:41:48.390491 Event: GSMRZ3
+On: 2011-11-04 15:41:56.396212 Event: Receiver Greeting
+On: 2011-11-04 15:41:56.396789 Event: Connected to Receiver Handler
+On: 2011-11-04 15:41:56.624915 Event: Receiver Handler respond
+On: 2011-11-04 15:41:56.627548 Event: Receiver handler : Ready
+On: 2011-11-04 15:41:56.627586 Event: Start Call
+On: 2011-11-04 15:41:56.627646 Event: Waiting Feedback
+On: 2011-11-04 15:42:01.322112 Event: Test Succeed
+On: 2011-11-04 15:42:01.322169 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:42:01.322376 Event: init Cancel test
+On: 2011-11-04 15:42:04.370391 Event: -- -X- --
+On: 2011-11-04 15:42:04.370456 Event: init Caller
+On: 2011-11-04 15:42:04.370475 Event: GSMRZ1
+On: 2011-11-04 15:42:04.370521 Event: Init GSM
+On: 2011-11-04 15:42:06.374609 Event: Caller Greeting
+On: 2011-11-04 15:42:06.377211 Event: Connected to Caller Handler
+On: 2011-11-04 15:42:06.470132 Event: Caller Handler respond
+On: 2011-11-04 15:42:06.470435 Event: Caller handler : Ready
+On: 2011-11-04 15:42:06.470465 Event: init Receiver
+On: 2011-11-04 15:42:06.470485 Event: GSMRZ2
+On: 2011-11-04 15:42:14.480828 Event: Receiver Greeting
+On: 2011-11-04 15:42:14.481378 Event: Connected to Receiver Handler
+On: 2011-11-04 15:42:14.692397 Event: Receiver Handler respond
+On: 2011-11-04 15:42:14.694649 Event: Receiver handler : Ready
+On: 2011-11-04 15:42:14.694688 Event: Start Call
+On: 2011-11-04 15:42:14.694748 Event: Waiting Feedback
+On: 2011-11-04 15:42:19.280193 Event: Test Succeed
+On: 2011-11-04 15:42:19.280253 Event: TERMINATE CONNECTION
+On: 2011-11-04 15:42:19.280439 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:25:38.428053 ------------------
+On: 2011-11-04 16:25:38.428126 Event: init Caller
+On: 2011-11-04 16:25:38.428153 Event: GSMRZ1
+On: 2011-11-04 16:25:38.428213 Event: Init GSM
+On: 2011-11-04 16:25:40.432389 Event: Caller Greeting
+On: 2011-11-04 16:25:40.435076 Event: Connected to Caller Handler
+On: 2011-11-04 16:25:40.530125 Event: Caller Handler respond
+On: 2011-11-04 16:25:40.530423 Event: Caller handler : Ready
+On: 2011-11-04 16:25:40.530456 Event: init Receiver
+On: 2011-11-04 16:25:40.530475 Event: GSMExt.O2
+On: 2011-11-04 16:25:40.530526 Event: Init GSM
+On: 2011-11-04 16:25:42.534637 Event: Receiver Greeting
+On: 2011-11-04 16:25:42.537125 Event: Connected to Receiver Handler
+On: 2011-11-04 16:25:42.650126 Event: Receiver Handler respond
+On: 2011-11-04 16:25:42.650418 Event: Receiver handler : Ready
+On: 2011-11-04 16:25:42.650450 Event: Start Call
+On: 2011-11-04 16:25:42.650504 Event: Waiting Feedback
+On: 2011-11-04 16:25:54.482126 Event: Test Succeed
+On: 2011-11-04 16:25:54.482184 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:25:54.482341 Event: init Cancel test
+On: 2011-11-04 16:25:57.530893 Event: -- -X- --
+On: 2011-11-04 16:25:57.530951 Event: init Caller
+On: 2011-11-04 16:25:57.530970 Event: landline
+On: 2011-11-04 16:25:59.534030 Event: Caller Greeting
+On: 2011-11-04 16:25:59.534968 Event: Connected to Caller Handler
+On: 2011-11-04 16:25:59.535241 Event: Caller Handler respond
+On: 2011-11-04 16:25:59.537615 Event: Caller handler : Ready
+On: 2011-11-04 16:25:59.537654 Event: init Receiver
+On: 2011-11-04 16:25:59.537676 Event: sip
+On: 2011-11-04 16:26:01.541982 Event: Receiver Greeting
+On: 2011-11-04 16:26:01.542771 Event: Connected to Receiver Handler
+On: 2011-11-04 16:26:01.543045 Event: Receiver Handler respond
+On: 2011-11-04 16:26:01.543773 Event: Receiver handler : Ready
+On: 2011-11-04 16:26:01.543810 Event: Start Call
+On: 2011-11-04 16:26:01.543869 Event: Waiting Feedback
+On: 2011-11-04 16:26:07.396607 Event: Test Succeed
+On: 2011-11-04 16:26:07.396660 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:26:07.396790 Event: init Cancel test
+On: 2011-11-04 16:26:10.431289 Event: -- -X- --
+On: 2011-11-04 16:26:10.431346 Event: init Caller
+On: 2011-11-04 16:26:10.431364 Event: sip
+On: 2011-11-04 16:26:12.444661 Event: Caller Greeting
+On: 2011-11-04 16:26:12.445470 Event: Connected to Caller Handler
+On: 2011-11-04 16:26:12.445743 Event: Caller Handler respond
+On: 2011-11-04 16:26:12.446633 Event: Caller handler : Ready
+On: 2011-11-04 16:26:12.446675 Event: init Receiver
+On: 2011-11-04 16:26:12.446695 Event: unisip
+On: 2011-11-04 16:26:14.450003 Event: Receiver Greeting
+On: 2011-11-04 16:26:14.450790 Event: Connected to Receiver Handler
+On: 2011-11-04 16:26:14.451063 Event: Receiver Handler respond
+On: 2011-11-04 16:26:14.451796 Event: Receiver handler : Ready
+On: 2011-11-04 16:26:14.451833 Event: Start Call
+On: 2011-11-04 16:26:14.451892 Event: Waiting Feedback
+On: 2011-11-04 16:26:17.491363 Event: Test Succeed
+On: 2011-11-04 16:26:17.491418 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:26:17.491553 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:38:31.838332 ------------------
+On: 2011-11-04 16:38:31.838405 Event: init Caller
+On: 2011-11-04 16:38:31.838429 Event: sip
+On: 2011-11-04 16:38:33.842013 Event: Caller Greeting
+On: 2011-11-04 16:38:33.843020 Event: Connected to Caller Handler
+On: 2011-11-04 16:38:33.843298 Event: Caller Handler respond
+On: 2011-11-04 16:38:33.844032 Event: Caller handler : Ready
+On: 2011-11-04 16:38:33.844096 Event: init Receiver
+On: 2011-11-04 16:38:33.844117 Event: unisip
+On: 2011-11-04 16:38:35.848616 Event: Receiver Greeting
+On: 2011-11-04 16:38:35.849468 Event: Connected to Receiver Handler
+On: 2011-11-04 16:38:35.849748 Event: Receiver Handler respond
+On: 2011-11-04 16:38:35.851027 Event: Receiver handler : Ready
+On: 2011-11-04 16:38:35.851071 Event: Start Call
+On: 2011-11-04 16:38:35.851142 Event: Waiting Feedback
+On: 2011-11-04 16:38:38.891196 Event: Test Succeed
+On: 2011-11-04 16:38:38.891252 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:38:38.891406 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:44:33.198689 ------------------
+On: 2011-11-04 16:44:33.198765 Event: init Caller
+On: 2011-11-04 16:44:33.198790 Event: unisip
+On: 2011-11-04 16:44:35.203161 Event: Caller Greeting
+On: 2011-11-04 16:44:35.204130 Event: Connected to Caller Handler
+On: 2011-11-04 16:44:35.204406 Event: Caller Handler respond
+On: 2011-11-04 16:44:35.205151 Event: Caller handler : Ready
+On: 2011-11-04 16:44:35.205190 Event: init Receiver
+On: 2011-11-04 16:44:35.205210 Event: GSMRZ3
+On: 2011-11-04 16:44:43.210006 Event: Receiver Greeting
+On: 2011-11-04 16:44:43.210582 Event: Connected to Receiver Handler
+On: 2011-11-04 16:44:43.446031 Event: Receiver Handler respond
+On: 2011-11-04 16:44:43.448567 Event: Receiver handler : Ready
+On: 2011-11-04 16:44:43.448609 Event: Start Call
+On: 2011-11-04 16:44:43.448669 Event: Waiting Feedback
+On: 2011-11-04 16:45:18.452750 Event: Test Failed
+On: 2011-11-04 16:45:18.452803 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:45:18.453029 Event: init Cancel test
+On: 2011-11-04 16:45:21.497465 Event: -- -X- --
+On: 2011-11-04 16:45:21.497530 Event: init Caller
+On: 2011-11-04 16:45:21.497549 Event: GSMRZ1
+On: 2011-11-04 16:45:21.497598 Event: Init GSM
+On: 2011-11-04 16:45:23.501676 Event: Caller Greeting
+On: 2011-11-04 16:45:23.504152 Event: Connected to Caller Handler
+On: 2011-11-04 16:45:23.598121 Event: Caller Handler respond
+On: 2011-11-04 16:45:23.598419 Event: Caller handler : Ready
+On: 2011-11-04 16:45:23.598451 Event: init Receiver
+On: 2011-11-04 16:45:23.598471 Event: GSMRZ2
+On: 2011-11-04 16:45:31.608805 Event: Receiver Greeting
+On: 2011-11-04 16:45:31.609364 Event: Connected to Receiver Handler
+On: 2011-11-04 16:45:31.829481 Event: Receiver Handler respond
+On: 2011-11-04 16:45:31.831797 Event: Receiver handler : Ready
+On: 2011-11-04 16:45:31.831855 Event: Start Call
+On: 2011-11-04 16:45:31.831926 Event: Waiting Feedback
+On: 2011-11-04 16:45:46.837044 Event: Test Failed
+On: 2011-11-04 16:45:46.837100 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:45:46.837275 Event: init Cancel test
+On: 2011-11-04 16:45:49.885083 Event: -- -X- --
+On: 2011-11-04 16:45:49.885230 Event: init Caller
+On: 2011-11-04 16:45:49.885250 Event: landline
+On: 2011-11-04 16:45:51.888238 Event: Caller Greeting
+On: 2011-11-04 16:45:51.889075 Event: Connected to Caller Handler
+On: 2011-11-04 16:45:51.889350 Event: Caller Handler respond
+On: 2011-11-04 16:45:51.891904 Event: Caller handler : Ready
+On: 2011-11-04 16:45:51.891941 Event: init Receiver
+On: 2011-11-04 16:45:51.891962 Event: GSMRZ2
+On: 2011-11-04 16:45:59.900433 Event: Receiver Greeting
+On: 2011-11-04 16:45:59.901054 Event: Connected to Receiver Handler
+On: 2011-11-04 16:46:00.119832 Event: Receiver Handler respond
+On: 2011-11-04 16:46:00.122090 Event: Receiver handler : Ready
+On: 2011-11-04 16:46:00.122127 Event: Start Call
+On: 2011-11-04 16:46:00.122190 Event: Waiting Feedback
+On: 2011-11-04 16:46:35.125678 Event: Test Failed
+On: 2011-11-04 16:46:35.125731 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:46:35.125927 Event: init Cancel test
+On: 2011-11-04 16:46:38.169040 Event: -- -X- --
+On: 2011-11-04 16:46:38.169101 Event: init Caller
+On: 2011-11-04 16:46:38.169119 Event: sip
+On: 2011-11-04 16:46:40.171941 Event: Caller Greeting
+On: 2011-11-04 16:46:40.172783 Event: Connected to Caller Handler
+On: 2011-11-04 16:46:40.173058 Event: Caller Handler respond
+On: 2011-11-04 16:46:40.173805 Event: Caller handler : Ready
+On: 2011-11-04 16:46:40.173844 Event: init Receiver
+On: 2011-11-04 16:46:40.173864 Event: GSMExt.Eplus
+On: 2011-11-04 16:46:40.173915 Event: Init GSM
+On: 2011-11-04 16:46:42.178000 Event: Receiver Greeting
+On: 2011-11-04 16:46:42.180454 Event: Connected to Receiver Handler
+On: 2011-11-04 16:46:42.298762 Event: Receiver Handler respond
+On: 2011-11-04 16:46:42.299058 Event: Receiver handler : Ready
+On: 2011-11-04 16:46:42.299090 Event: Start Call
+On: 2011-11-04 16:46:42.299146 Event: Waiting Feedback
+On: 2011-11-04 16:46:57.299621 Event: Test Failed - Eplus No credit on Eplus
+On: 2011-11-04 16:46:57.299676 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:46:57.299890 Event: init Cancel test
+On: 2011-11-04 16:47:00.341266 Event: -- -X- --
+On: 2011-11-04 16:47:00.341335 Event: init Caller
+On: 2011-11-04 16:47:00.341354 Event: sip
+On: 2011-11-04 16:47:02.343649 Event: Caller Greeting
+On: 2011-11-04 16:47:02.344490 Event: Connected to Caller Handler
+On: 2011-11-04 16:47:02.344768 Event: Caller Handler respond
+On: 2011-11-04 16:47:02.345505 Event: Caller handler : Ready
+On: 2011-11-04 16:47:02.345543 Event: init Receiver
+On: 2011-11-04 16:47:02.345563 Event: GSMExt.O2
+On: 2011-11-04 16:47:02.345615 Event: Init GSM
+On: 2011-11-04 16:47:04.349930 Event: Receiver Greeting
+On: 2011-11-04 16:47:04.352401 Event: Connected to Receiver Handler
+On: 2011-11-04 16:47:04.466252 Event: Receiver Handler respond
+On: 2011-11-04 16:47:04.466545 Event: Receiver handler : Ready
+On: 2011-11-04 16:47:04.466576 Event: Start Call
+On: 2011-11-04 16:47:04.466632 Event: Waiting Feedback
+On: 2011-11-04 16:47:19.263064 Event: Test Succeed
+On: 2011-11-04 16:47:19.263102 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:47:19.263231 Event: init Cancel test
+On: 2011-11-04 16:47:22.305409 Event: -- -X- --
+On: 2011-11-04 16:47:22.305468 Event: init Caller
+On: 2011-11-04 16:47:22.305487 Event: sip
+On: 2011-11-04 16:47:24.307994 Event: Caller Greeting
+On: 2011-11-04 16:47:24.308828 Event: Connected to Caller Handler
+On: 2011-11-04 16:47:24.309101 Event: Caller Handler respond
+On: 2011-11-04 16:47:24.309842 Event: Caller handler : Ready
+On: 2011-11-04 16:47:24.309880 Event: init Receiver
+On: 2011-11-04 16:47:24.309900 Event: GSMExt.Tm
+On: 2011-11-04 16:47:24.310096 Event: Init GSM
+On: 2011-11-04 16:47:26.313999 Event: Receiver Greeting
+On: 2011-11-04 16:47:26.316427 Event: Connected to Receiver Handler
+On: 2011-11-04 16:47:26.434505 Event: Receiver Handler respond
+On: 2011-11-04 16:47:26.434837 Event: Receiver handler : Ready
+On: 2011-11-04 16:47:26.434869 Event: Start Call
+On: 2011-11-04 16:47:26.434926 Event: Waiting Feedback
+On: 2011-11-04 16:47:40.972005 Event: Test Succeed
+On: 2011-11-04 16:47:40.972043 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:47:40.972174 Event: init Cancel test
+On: 2011-11-04 16:47:44.013673 Event: -- -X- --
+On: 2011-11-04 16:47:44.013733 Event: init Caller
+On: 2011-11-04 16:47:44.013752 Event: sip
+On: 2011-11-04 16:47:46.016426 Event: Caller Greeting
+On: 2011-11-04 16:47:46.017270 Event: Connected to Caller Handler
+On: 2011-11-04 16:47:46.017543 Event: Caller Handler respond
+On: 2011-11-04 16:47:46.018447 Event: Caller handler : Ready
+On: 2011-11-04 16:47:46.018491 Event: init Receiver
+On: 2011-11-04 16:47:46.018511 Event: GSMExt.Voda
+On: 2011-11-04 16:47:46.018564 Event: Init GSM
+On: 2011-11-04 16:47:48.022000 Event: Receiver Greeting
+On: 2011-11-04 16:47:48.024427 Event: Connected to Receiver Handler
+On: 2011-11-04 16:47:48.138116 Event: Receiver Handler respond
+On: 2011-11-04 16:47:48.138407 Event: Receiver handler : Ready
+On: 2011-11-04 16:47:48.138437 Event: Start Call
+On: 2011-11-04 16:47:48.138495 Event: Waiting Feedback
+On: 2011-11-04 16:48:03.349532 Event: Test Succeed
+On: 2011-11-04 16:48:03.349570 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:48:03.349699 Event: init Cancel test
+On: 2011-11-04 16:48:06.397860 Event: -- -X- --
+On: 2011-11-04 16:48:06.397922 Event: init Caller
+On: 2011-11-04 16:48:06.397969 Event: sip
+On: 2011-11-04 16:48:08.402044 Event: Caller Greeting
+On: 2011-11-04 16:48:08.402860 Event: Connected to Caller Handler
+On: 2011-11-04 16:48:08.403136 Event: Caller Handler respond
+On: 2011-11-04 16:48:08.403877 Event: Caller handler : Ready
+On: 2011-11-04 16:48:08.403916 Event: init Receiver
+On: 2011-11-04 16:48:08.403935 Event: GSMRZ3
+On: 2011-11-04 16:48:16.410001 Event: Receiver Greeting
+On: 2011-11-04 16:48:16.410551 Event: Connected to Receiver Handler
+On: 2011-11-04 16:48:16.643682 Event: Receiver Handler respond
+On: 2011-11-04 16:48:16.646438 Event: Receiver handler : Ready
+On: 2011-11-04 16:48:16.646500 Event: Start Call
+On: 2011-11-04 16:48:16.646574 Event: Waiting Feedback
+On: 2011-11-04 16:48:51.650657 Event: Test Failed
+On: 2011-11-04 16:48:51.650775 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:48:51.650989 Event: init Cancel test
+On: 2011-11-04 16:48:54.690804 Event: -- -X- --
+On: 2011-11-04 16:48:54.690862 Event: init Caller
+On: 2011-11-04 16:48:54.690880 Event: sip
+On: 2011-11-04 16:48:56.704088 Event: Caller Greeting
+On: 2011-11-04 16:48:56.704900 Event: Connected to Caller Handler
+On: 2011-11-04 16:48:56.705174 Event: Caller Handler respond
+On: 2011-11-04 16:48:56.705910 Event: Caller handler : Ready
+On: 2011-11-04 16:48:56.706097 Event: init Receiver
+On: 2011-11-04 16:48:56.706125 Event: unisip
+On: 2011-11-04 16:48:58.710001 Event: Receiver Greeting
+On: 2011-11-04 16:48:58.710804 Event: Connected to Receiver Handler
+On: 2011-11-04 16:48:58.711080 Event: Receiver Handler respond
+On: 2011-11-04 16:48:58.711815 Event: Receiver handler : Ready
+On: 2011-11-04 16:48:58.711853 Event: Start Call
+On: 2011-11-04 16:48:58.711916 Event: Waiting Feedback
+On: 2011-11-04 16:49:01.753679 Event: Test Succeed
+On: 2011-11-04 16:49:01.753735 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:49:01.753874 Event: init Cancel test
+On: 2011-11-04 16:49:04.790386 Event: -- -X- --
+On: 2011-11-04 16:49:04.790446 Event: init Caller
+On: 2011-11-04 16:49:04.790464 Event: sip
+On: 2011-11-04 16:49:06.802443 Event: Caller Greeting
+On: 2011-11-04 16:49:06.803253 Event: Connected to Caller Handler
+On: 2011-11-04 16:49:06.803526 Event: Caller Handler respond
+On: 2011-11-04 16:49:06.804265 Event: Caller handler : Ready
+On: 2011-11-04 16:49:06.804302 Event: init Receiver
+On: 2011-11-04 16:49:06.804322 Event: GSMRZ2
+On: 2011-11-04 16:49:14.809795 Event: Receiver Greeting
+On: 2011-11-04 16:49:14.810404 Event: Connected to Receiver Handler
+On: 2011-11-04 16:49:15.004114 Event: Receiver Handler respond
+On: 2011-11-04 16:49:15.006372 Event: Receiver handler : Ready
+On: 2011-11-04 16:49:15.006410 Event: Start Call
+On: 2011-11-04 16:49:15.006473 Event: Waiting Feedback
+On: 2011-11-04 16:49:50.009895 Event: Test Failed
+On: 2011-11-04 16:49:50.009965 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:49:50.010165 Event: init Cancel test
+On: 2011-11-04 16:49:53.060251 Event: -- -X- --
+On: 2011-11-04 16:49:53.060310 Event: init Caller
+On: 2011-11-04 16:49:53.060329 Event: sip
+On: 2011-11-04 16:49:55.064515 Event: Caller Greeting
+On: 2011-11-04 16:49:55.065635 Event: Connected to Caller Handler
+On: 2011-11-04 16:49:55.065908 Event: Caller Handler respond
+On: 2011-11-04 16:49:55.066860 Event: Caller handler : Ready
+On: 2011-11-04 16:49:55.066897 Event: init Receiver
+On: 2011-11-04 16:49:55.066915 Event: GSMRZ1
+On: 2011-11-04 16:49:55.066964 Event: Init GSM
+On: 2011-11-04 16:49:57.070001 Event: Receiver Greeting
+On: 2011-11-04 16:49:57.072496 Event: Connected to Receiver Handler
+On: 2011-11-04 16:49:57.190118 Event: Receiver Handler respond
+On: 2011-11-04 16:49:57.190449 Event: Receiver handler : Ready
+On: 2011-11-04 16:49:57.190483 Event: Start Call
+On: 2011-11-04 16:49:57.190540 Event: Waiting Feedback
+On: 2011-11-04 16:50:32.191034 Event: Test Failed
+On: 2011-11-04 16:50:32.191087 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:50:32.191240 Event: init Cancel test
+On: 2011-11-04 16:50:35.241252 Event: -- -X- --
+On: 2011-11-04 16:50:35.241310 Event: init Caller
+On: 2011-11-04 16:50:35.241329 Event: sip
+On: 2011-11-04 16:50:37.245493 Event: Caller Greeting
+On: 2011-11-04 16:50:37.246340 Event: Connected to Caller Handler
+On: 2011-11-04 16:50:37.246617 Event: Caller Handler respond
+On: 2011-11-04 16:50:37.247360 Event: Caller handler : Ready
+On: 2011-11-04 16:50:37.247398 Event: init Receiver
+On: 2011-11-04 16:50:37.247418 Event: GSMRZ1
+On: 2011-11-04 16:50:37.247468 Event: Init GSM
+On: 2011-11-04 16:50:39.250000 Event: Receiver Greeting
+On: 2011-11-04 16:50:39.252462 Event: Connected to Receiver Handler
+On: 2011-11-04 16:50:39.346189 Event: Receiver Handler respond
+On: 2011-11-04 16:50:39.346479 Event: Receiver handler : Ready
+On: 2011-11-04 16:50:39.346509 Event: Start Call
+On: 2011-11-04 16:50:39.346565 Event: Waiting Feedback
+On: 2011-11-04 16:51:14.347051 Event: Test Failed
+On: 2011-11-04 16:51:14.347103 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:51:14.347328 Event: init Cancel test
+On: 2011-11-04 16:51:17.385439 Event: -- -X- --
+On: 2011-11-04 16:51:17.385499 Event: init Caller
+On: 2011-11-04 16:51:17.385517 Event: sip
+On: 2011-11-04 16:51:19.388068 Event: Caller Greeting
+On: 2011-11-04 16:51:19.388910 Event: Connected to Caller Handler
+On: 2011-11-04 16:51:19.389181 Event: Caller Handler respond
+On: 2011-11-04 16:51:19.389921 Event: Caller handler : Ready
+On: 2011-11-04 16:51:19.390109 Event: init Receiver
+On: 2011-11-04 16:51:19.390135 Event: GSMRZ2
+On: 2011-11-04 16:51:27.400067 Event: Receiver Greeting
+On: 2011-11-04 16:51:27.400607 Event: Connected to Receiver Handler
+On: 2011-11-04 16:51:27.619640 Event: Receiver Handler respond
+On: 2011-11-04 16:51:27.621917 Event: Receiver handler : Ready
+On: 2011-11-04 16:51:27.621978 Event: Start Call
+On: 2011-11-04 16:51:27.622041 Event: Waiting Feedback
+On: 2011-11-04 16:52:02.625884 Event: Test Failed
+On: 2011-11-04 16:52:02.625937 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:52:02.626156 Event: init Cancel test
+On: 2011-11-04 16:52:05.674708 Event: -- -X- --
+On: 2011-11-04 16:52:05.674769 Event: init Caller
+On: 2011-11-04 16:52:05.674787 Event: sip
+On: 2011-11-04 16:52:07.678881 Event: Caller Greeting
+On: 2011-11-04 16:52:07.679695 Event: Connected to Caller Handler
+On: 2011-11-04 16:52:07.679970 Event: Caller Handler respond
+On: 2011-11-04 16:52:07.680716 Event: Caller handler : Ready
+On: 2011-11-04 16:52:07.680753 Event: init Receiver
+On: 2011-11-04 16:52:07.680773 Event: landline
+On: 2011-11-04 16:52:09.685137 Event: Receiver Greeting
+On: 2011-11-04 16:52:09.685939 Event: Connected to Receiver Handler
+On: 2011-11-04 16:52:09.686251 Event: Receiver Handler respond
+On: 2011-11-04 16:52:09.689286 Event: Receiver handler : Ready
+On: 2011-11-04 16:52:09.689325 Event: Start Call
+On: 2011-11-04 16:52:09.689390 Event: Waiting Feedback
+On: 2011-11-04 16:52:20.670344 Event: Test Succeed
+On: 2011-11-04 16:52:20.670400 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:52:20.670538 Event: init Cancel test
+On: 2011-11-04 16:52:23.719400 Event: -- -X- --
+On: 2011-11-04 16:52:23.719463 Event: init Caller
+On: 2011-11-04 16:52:23.719482 Event: GSMRZ2
+On: 2011-11-04 16:52:31.729863 Event: Caller Greeting
+On: 2011-11-04 16:52:31.730427 Event: Connected to Caller Handler
+On: 2011-11-04 16:52:31.927326 Event: Caller Handler respond
+On: 2011-11-04 16:52:31.929645 Event: Caller handler : Ready
+On: 2011-11-04 16:52:31.929680 Event: init Receiver
+On: 2011-11-04 16:52:31.929701 Event: GSMRZ1
+On: 2011-11-04 16:52:31.929753 Event: Init GSM
+On: 2011-11-04 16:52:33.933891 Event: Receiver Greeting
+On: 2011-11-04 16:52:33.936367 Event: Connected to Receiver Handler
+On: 2011-11-04 16:52:34.050147 Event: Receiver Handler respond
+On: 2011-11-04 16:52:34.050436 Event: Receiver handler : Ready
+On: 2011-11-04 16:52:34.050467 Event: Start Call
+On: 2011-11-04 16:52:34.050615 Event: Waiting Feedback
+On: 2011-11-04 16:52:49.051011 Event: Test Failed
+On: 2011-11-04 16:52:49.051064 Event: TERMINATE CONNECTION
+On: 2011-11-04 16:52:49.051724 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:36:14.849160 ------------------
+On: 2011-11-05 00:36:14.849228 Event: init Caller
+On: 2011-11-05 00:36:14.849252 Event: sip
+On: 2011-11-05 00:36:16.853409 Event: Caller Greeting
+On: 2011-11-05 00:36:16.854396 Event: Connected to Caller Handler
+On: 2011-11-05 00:36:16.854668 Event: Caller Handler respond
+On: 2011-11-05 00:36:16.855404 Event: Caller handler : Ready
+On: 2011-11-05 00:36:16.855441 Event: init Receiver
+On: 2011-11-05 00:36:16.855461 Event: GSMRZ1
+On: 2011-11-05 00:36:16.855511 Event: Init GSM
+On: 2011-11-05 00:36:18.857806 Event: Receiver Greeting
+On: 2011-11-05 00:36:18.860322 Event: Connected to Receiver Handler
+On: 2011-11-05 00:36:18.978153 Event: Receiver Handler respond
+On: 2011-11-05 00:36:18.978440 Event: Receiver handler : Ready
+On: 2011-11-05 00:36:18.978470 Event: Start Call
+On: 2011-11-05 00:36:18.978523 Event: Waiting Feedback
+On: 2011-11-05 00:36:24.082192 Event: Test Succeed
+On: 2011-11-05 00:36:24.082248 Event: TERMINATE CONNECTION
+On: 2011-11-05 00:36:24.082408 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-05 00:37:40.563017 ------------------
+On: 2011-11-05 00:37:40.563087 Event: init Caller
+On: 2011-11-05 00:37:40.563111 Event: sip
+On: 2011-11-05 00:37:42.566010 Event: Caller Greeting
+On: 2011-11-05 00:37:42.566985 Event: Connected to Caller Handler
+On: 2011-11-05 00:37:42.567260 Event: Caller Handler respond
+On: 2011-11-05 00:37:42.568008 Event: Caller handler : Ready
+On: 2011-11-05 00:37:42.568048 Event: init Receiver
+On: 2011-11-05 00:37:42.568068 Event: GSMRZ1
+On: 2011-11-05 00:37:42.568120 Event: Init GSM
+On: 2011-11-05 00:37:44.572445 Event: Receiver Greeting
+On: 2011-11-05 00:37:44.574970 Event: Connected to Receiver Handler
+On: 2011-11-05 00:37:44.694122 Event: Receiver Handler respond
+On: 2011-11-05 00:37:44.694411 Event: Receiver handler : Ready
+On: 2011-11-05 00:37:44.694443 Event: Start Call
+On: 2011-11-05 00:37:44.694496 Event: Waiting Feedback
+On: 2011-11-05 00:37:50.026123 Event: Test Succeed
+On: 2011-11-05 00:37:50.026176 Event: TERMINATE CONNECTION
+On: 2011-11-05 00:37:50.026334 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-09 12:03:37.605412 ------------------
+On: 2011-11-09 12:03:37.605482 Event: init Caller
+On: 2011-11-09 12:03:37.605505 Event: sip
+On: 2011-11-09 12:03:39.610002 Event: Caller Greeting
+On: 2011-11-09 12:03:39.610963 Event: Connected to Caller Handler
+On: 2011-11-09 12:03:39.611236 Event: Caller Handler respond
+On: 2011-11-09 12:03:39.611967 Event: Caller handler : Ready
+On: 2011-11-09 12:03:39.612006 Event: init Receiver
+On: 2011-11-09 12:03:39.612026 Event: GSMRZ1
+On: 2011-11-09 12:03:39.612077 Event: Init GSM
+On: 2011-11-09 12:03:41.616442 Event: Receiver Greeting
+On: 2011-11-09 12:03:41.618891 Event: Connected to Receiver Handler
+On: 2011-11-09 12:03:46.631568 Event: Connect to Caller but device doesnt work
+On: 2011-11-09 12:03:46.631613 Event: 802 General Device Error: Destination device no respond timeout
+On: 2011-11-09 12:03:46.631636 Event: TERMINATE CONNECTION
+On: 2011-11-09 12:03:46.631785 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-09 12:05:00.814458 ------------------
+On: 2011-11-09 12:05:00.814525 Event: init Caller
+On: 2011-11-09 12:05:00.814548 Event: GSMRZ2
+On: 2011-11-09 12:05:08.824060 Event: Caller Greeting
+On: 2011-11-09 12:05:08.824751 Event: Connected to Caller Handler
+On: 2011-11-09 12:05:09.045736 Event: Caller Handler respond
+On: 2011-11-09 12:05:09.048017 Event: Caller handler : Ready
+On: 2011-11-09 12:05:09.048056 Event: init Receiver
+On: 2011-11-09 12:05:09.048078 Event: sip
+On: 2011-11-09 12:05:11.052133 Event: Receiver Greeting
+On: 2011-11-09 12:05:11.052954 Event: Connected to Receiver Handler
+On: 2011-11-09 12:05:11.053227 Event: Receiver Handler respond
+On: 2011-11-09 12:05:11.054094 Event: Receiver handler : Ready
+On: 2011-11-09 12:05:11.054139 Event: Start Call
+On: 2011-11-09 12:05:11.054426 Event: Waiting Feedback
+On: 2011-11-09 12:05:14.639349 Event: Test Succeed
+On: 2011-11-09 12:05:14.639413 Event: TERMINATE CONNECTION
+On: 2011-11-09 12:05:14.640413 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:07:40.069652 ------------------
+On: 2011-11-09 15:07:40.069730 Event: init Caller
+On: 2011-11-09 15:07:40.069753 Event: sip
+On: 2011-11-09 15:07:42.076541 Event: Caller Greeting
+On: 2011-11-09 15:07:42.077525 Event: Connected to Caller Handler
+On: 2011-11-09 15:07:42.077813 Event: Caller Handler respond
+On: 2011-11-09 15:07:42.078646 Event: Caller handler : Ready
+On: 2011-11-09 15:07:42.078687 Event: init Receiver
+On: 2011-11-09 15:07:42.078707 Event: GSMRZ1
+On: 2011-11-09 15:07:42.078759 Event: Init GSM
+On: 2011-11-09 15:07:44.082016 Event: Receiver Greeting
+On: 2011-11-09 15:07:44.084696 Event: Connected to Receiver Handler
+On: 2011-11-09 15:07:44.202143 Event: Receiver Handler respond
+On: 2011-11-09 15:07:44.202441 Event: Receiver handler : Ready
+On: 2011-11-09 15:07:44.202472 Event: Start Call
+On: 2011-11-09 15:07:44.202523 Event: Waiting Feedback
+On: 2011-11-09 15:07:49.598127 Event: Test Succeed
+On: 2011-11-09 15:07:49.598187 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:07:49.598347 Event: init Cancel test
+On: 2011-11-09 15:07:52.746047 Event: -- -X- --
+On: 2011-11-09 15:07:52.746110 Event: init Caller
+On: 2011-11-09 15:07:52.746128 Event: sip
+On: 2011-11-09 15:07:54.748712 Event: Caller Greeting
+On: 2011-11-09 15:07:54.749548 Event: Connected to Caller Handler
+On: 2011-11-09 15:07:54.750704 Event: Caller Handler respond
+On: 2011-11-09 15:07:54.751495 Event: Caller handler : Ready
+On: 2011-11-09 15:07:54.751533 Event: init Receiver
+On: 2011-11-09 15:07:54.751553 Event: GSMRZ1
+On: 2011-11-09 15:07:54.751604 Event: Init GSM
+On: 2011-11-09 15:07:56.754010 Event: Receiver Greeting
+On: 2011-11-09 15:07:56.756577 Event: Connected to Receiver Handler
+On: 2011-11-09 15:07:56.874346 Event: Receiver Handler respond
+On: 2011-11-09 15:07:56.874649 Event: Receiver handler : Ready
+On: 2011-11-09 15:07:56.874681 Event: Start Call
+On: 2011-11-09 15:07:56.874733 Event: Waiting Feedback
+On: 2011-11-09 15:08:02.558155 Event: Test Succeed
+On: 2011-11-09 15:08:02.558213 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:08:02.558352 Event: init Cancel test
+On: 2011-11-09 15:08:05.604778 Event: -- -X- --
+On: 2011-11-09 15:08:05.604839 Event: init Caller
+On: 2011-11-09 15:08:05.604858 Event: sip
+On: 2011-11-09 15:08:07.609042 Event: Caller Greeting
+On: 2011-11-09 15:08:07.609864 Event: Connected to Caller Handler
+On: 2011-11-09 15:08:07.610186 Event: Caller Handler respond
+On: 2011-11-09 15:08:07.610969 Event: Caller handler : Ready
+On: 2011-11-09 15:08:07.611008 Event: init Receiver
+On: 2011-11-09 15:08:07.611028 Event: GSMRZ1
+On: 2011-11-09 15:08:07.611078 Event: Init GSM
+On: 2011-11-09 15:08:09.614011 Event: Receiver Greeting
+On: 2011-11-09 15:08:09.616582 Event: Connected to Receiver Handler
+On: 2011-11-09 15:08:09.738182 Event: Receiver Handler respond
+On: 2011-11-09 15:08:09.738481 Event: Receiver handler : Ready
+On: 2011-11-09 15:08:09.738513 Event: Start Call
+On: 2011-11-09 15:08:09.738566 Event: Waiting Feedback
+On: 2011-11-09 15:08:15.498191 Event: Test Succeed
+On: 2011-11-09 15:08:15.498250 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:08:15.498388 Event: init Cancel test
+On: 2011-11-09 15:08:18.554125 Event: -- -X- --
+On: 2011-11-09 15:08:18.554192 Event: init Caller
+On: 2011-11-09 15:08:18.554210 Event: sip
+On: 2011-11-09 15:08:20.558357 Event: Caller Greeting
+On: 2011-11-09 15:08:20.559187 Event: Connected to Caller Handler
+On: 2011-11-09 15:08:20.560397 Event: Caller Handler respond
+On: 2011-11-09 15:08:20.561192 Event: Caller handler : Ready
+On: 2011-11-09 15:08:20.561230 Event: init Receiver
+On: 2011-11-09 15:08:20.561250 Event: GSMRZ1
+On: 2011-11-09 15:08:20.561302 Event: Init GSM
+On: 2011-11-09 15:08:22.565628 Event: Receiver Greeting
+On: 2011-11-09 15:08:22.568229 Event: Connected to Receiver Handler
+On: 2011-11-09 15:08:22.685846 Event: Receiver Handler respond
+On: 2011-11-09 15:08:22.686773 Event: Receiver handler : Ready
+On: 2011-11-09 15:08:22.686814 Event: Start Call
+On: 2011-11-09 15:08:22.686874 Event: Waiting Feedback
+On: 2011-11-09 15:08:28.458202 Event: Test Succeed
+On: 2011-11-09 15:08:28.480472 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:08:28.480690 Event: init Cancel test
+On: 2011-11-09 15:08:31.529797 Event: -- -X- --
+On: 2011-11-09 15:08:31.529862 Event: init Caller
+On: 2011-11-09 15:08:31.529880 Event: sip
+On: 2011-11-09 15:08:33.536152 Event: Caller Greeting
+On: 2011-11-09 15:08:33.537043 Event: Connected to Caller Handler
+On: 2011-11-09 15:08:33.537322 Event: Caller Handler respond
+On: 2011-11-09 15:08:33.538154 Event: Caller handler : Ready
+On: 2011-11-09 15:08:33.538189 Event: init Receiver
+On: 2011-11-09 15:08:33.538209 Event: GSMRZ1
+On: 2011-11-09 15:08:33.538260 Event: Init GSM
+On: 2011-11-09 15:08:35.542008 Event: Receiver Greeting
+On: 2011-11-09 15:08:35.544585 Event: Connected to Receiver Handler
+On: 2011-11-09 15:08:35.658203 Event: Receiver Handler respond
+On: 2011-11-09 15:08:35.658499 Event: Receiver handler : Ready
+On: 2011-11-09 15:08:35.658531 Event: Start Call
+On: 2011-11-09 15:08:35.658585 Event: Waiting Feedback
+On: 2011-11-09 15:08:41.378210 Event: Test Succeed
+On: 2011-11-09 15:08:41.378269 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:08:41.378403 Event: init Cancel test
+
+
+------------------STARTED THE LOGGING 2011-11-09 15:47:00.661436 ------------------
+On: 2011-11-09 15:47:00.661513 Event: init Caller
+On: 2011-11-09 15:47:00.661535 Event: sip
+On: 2011-11-09 15:47:02.667900 Event: Caller Greeting
+On: 2011-11-09 15:47:02.668897 Event: Connected to Caller Handler
+On: 2011-11-09 15:47:02.669187 Event: Caller Handler respond
+On: 2011-11-09 15:47:02.669947 Event: Caller handler : Ready
+On: 2011-11-09 15:47:02.670032 Event: init Receiver
+On: 2011-11-09 15:47:02.670052 Event: GSMRZ1
+On: 2011-11-09 15:47:02.670103 Event: Init GSM
+On: 2011-11-09 15:47:04.674412 Event: Receiver Greeting
+On: 2011-11-09 15:47:04.677128 Event: Connected to Receiver Handler
+On: 2011-11-09 15:47:04.798138 Event: Receiver Handler respond
+On: 2011-11-09 15:47:04.798440 Event: Receiver handler : Ready
+On: 2011-11-09 15:47:04.798473 Event: Start Call
+On: 2011-11-09 15:47:04.798526 Event: Waiting Feedback
+On: 2011-11-09 15:47:10.562131 Event: Test Succeed
+On: 2011-11-09 15:47:10.562189 Event: TERMINATE CONNECTION
+On: 2011-11-09 15:47:10.562352 Event: init Cancel test
diff --git a/Code/Server-Code/University SIP handler.log b/Code/Server-Code/University SIP handler.log
new file mode 100644
index 0000000..ead9d23
--- /dev/null
+++ b/Code/Server-Code/University SIP handler.log
@@ -0,0 +1,633 @@
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:40:52.384958 ------------------
+On: 2011-11-03 14:40:52.405941 Event: try to Connect to Controller
+On: 2011-11-03 14:40:53.686875 Event: init state
+On: 2011-11-03 14:40:53.687113 Event: Register Account to SIP server
+On: 2011-11-03 14:40:53.687533 Event: 100
+On: 2011-11-03 14:40:53.687628 Event: Caller Handler Ready
+On: 2011-11-03 14:40:58.837679 Event: CALL START
+On: 2011-11-03 14:40:58.837750 Event: Make a call to: 4661449
+On: 2011-11-03 14:41:00.601050 Event: Call Connecting
+On: 2011-11-03 14:41:00.601098 Event: 200
+On: 2011-11-03 14:41:00.682474 Event: Terminate
+On: 2011-11-03 14:41:00.682508 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:46:56.889493 ------------------
+On: 2011-11-03 14:46:56.910266 Event: try to Connect to Controller
+On: 2011-11-03 14:46:58.163817 Event: init state
+On: 2011-11-03 14:46:58.164159 Event: Register Account to SIP server
+On: 2011-11-03 14:46:58.164593 Event: 100
+On: 2011-11-03 14:46:58.164680 Event: Receiver Handler Ready
+On: 2011-11-03 14:46:58.164981 Event: RECEIVE START
+On: 2011-11-03 14:47:01.215877 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-03 14:47:01.216386 Event: Call Connecting
+On: 2011-11-03 14:47:01.216429 Event: 200
+On: 2011-11-03 14:47:01.216687 Event: Answer call
+On: 2011-11-03 14:47:01.216741 Event: Hangup call
+On: 2011-11-03 14:47:01.216932 Event: CALL OK
+On: 2011-11-03 14:47:01.235049 Event: Terminate
+On: 2011-11-03 14:47:01.235082 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:48:22.450670 ------------------
+On: 2011-11-03 14:48:22.506326 Event: try to Connect to Controller
+On: 2011-11-03 14:48:23.531240 Event: init state
+On: 2011-11-03 14:48:23.531481 Event: Register Account to SIP server
+On: 2011-11-03 14:48:23.532245 Event: 100
+On: 2011-11-03 14:48:23.532332 Event: Caller Handler Ready
+On: 2011-11-03 14:48:34.746336 Event: CALL START
+On: 2011-11-03 14:48:34.746402 Event: Make a call to: 4661455
+On: 2011-11-03 14:48:36.815961 Event: Call Connecting
+On: 2011-11-03 14:48:36.816012 Event: 200
+On: 2011-11-03 14:48:36.873713 Event: Terminate
+On: 2011-11-03 14:48:36.873766 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 14:55:51.987732 ------------------
+On: 2011-11-03 14:55:52.008034 Event: try to Connect to Controller
+On: 2011-11-03 14:55:53.268711 Event: init state
+On: 2011-11-03 14:55:53.268944 Event: Register Account to SIP server
+On: 2011-11-03 14:55:53.269731 Event: 100
+On: 2011-11-03 14:55:53.269821 Event: Caller Handler Ready
+On: 2011-11-03 14:56:04.504118 Event: CALL START
+On: 2011-11-03 14:56:04.504175 Event: Make a call to: 4661473
+On: 2011-11-03 14:56:07.054591 Event: Call Connecting
+On: 2011-11-03 14:56:07.054640 Event: 200
+On: 2011-11-03 14:56:07.139786 Event: Terminate
+On: 2011-11-03 14:56:07.139841 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:03:22.771276 ------------------
+On: 2011-11-03 15:03:22.792146 Event: try to Connect to Controller
+On: 2011-11-03 15:03:24.060722 Event: init state
+On: 2011-11-03 15:03:24.060957 Event: Register Account to SIP server
+On: 2011-11-03 15:03:24.061386 Event: 100
+On: 2011-11-03 15:03:24.061474 Event: Caller Handler Ready
+On: 2011-11-03 15:03:29.209623 Event: CALL START
+On: 2011-11-03 15:03:29.209678 Event: Make a call to: 4661449
+On: 2011-11-03 15:03:36.713593 Event: Call Connecting
+On: 2011-11-03 15:03:36.713641 Event: 200
+On: 2011-11-03 15:03:36.766588 Event: Terminate
+On: 2011-11-03 15:03:36.766624 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:10:52.491426 ------------------
+On: 2011-11-03 15:10:52.511596 Event: try to Connect to Controller
+On: 2011-11-03 15:10:53.793926 Event: init state
+On: 2011-11-03 15:10:53.794373 Event: Register Account to SIP server
+On: 2011-11-03 15:10:53.795106 Event: 100
+On: 2011-11-03 15:10:53.795186 Event: Caller Handler Ready
+On: 2011-11-03 15:11:05.033982 Event: CALL START
+On: 2011-11-03 15:11:05.034038 Event: Make a call to: 4661455
+On: 2011-11-03 15:11:06.738405 Event: Call Connecting
+On: 2011-11-03 15:11:06.738451 Event: 200
+On: 2011-11-03 15:11:06.795215 Event: Terminate
+On: 2011-11-03 15:11:06.795265 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:25:53.353090 ------------------
+On: 2011-11-03 15:25:53.373415 Event: try to Connect to Controller
+On: 2011-11-03 15:25:54.668472 Event: init state
+On: 2011-11-03 15:25:54.668693 Event: Register Account to SIP server
+On: 2011-11-03 15:25:54.669465 Event: 100
+On: 2011-11-03 15:25:54.669546 Event: Caller Handler Ready
+On: 2011-11-03 15:26:05.911844 Event: CALL START
+On: 2011-11-03 15:26:05.911899 Event: Make a call to: 4661455
+On: 2011-11-03 15:26:08.265438 Event: Call Connecting
+On: 2011-11-03 15:26:08.265485 Event: 200
+On: 2011-11-03 15:26:08.351939 Event: Terminate
+On: 2011-11-03 15:26:08.351989 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:33:23.712812 ------------------
+On: 2011-11-03 15:33:23.733594 Event: try to Connect to Controller
+On: 2011-11-03 15:33:25.014833 Event: init state
+On: 2011-11-03 15:33:25.015056 Event: Register Account to SIP server
+On: 2011-11-03 15:33:25.015464 Event: 100
+On: 2011-11-03 15:33:25.015546 Event: Caller Handler Ready
+On: 2011-11-03 15:33:36.260396 Event: CALL START
+On: 2011-11-03 15:33:36.260450 Event: Make a call to: 4661455
+On: 2011-11-03 15:33:37.909502 Event: Call Connecting
+On: 2011-11-03 15:33:37.909548 Event: 200
+On: 2011-11-03 15:33:37.942826 Event: Terminate
+On: 2011-11-03 15:33:37.942879 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:40:53.328652 ------------------
+On: 2011-11-03 15:40:53.349069 Event: try to Connect to Controller
+On: 2011-11-03 15:40:54.633105 Event: init state
+On: 2011-11-03 15:40:54.633341 Event: Register Account to SIP server
+On: 2011-11-03 15:40:54.634334 Event: 100
+On: 2011-11-03 15:40:54.634431 Event: Caller Handler Ready
+On: 2011-11-03 15:41:05.866002 Event: CALL START
+On: 2011-11-03 15:41:05.866062 Event: Make a call to: 4661455
+On: 2011-11-03 15:41:08.199630 Event: Call Connecting
+On: 2011-11-03 15:41:08.199677 Event: 200
+On: 2011-11-03 15:41:08.252676 Event: Terminate
+On: 2011-11-03 15:41:08.252726 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:48:23.742438 ------------------
+On: 2011-11-03 15:48:23.762672 Event: try to Connect to Controller
+On: 2011-11-03 15:48:25.047168 Event: init state
+On: 2011-11-03 15:48:25.047401 Event: Register Account to SIP server
+On: 2011-11-03 15:48:25.047813 Event: 100
+On: 2011-11-03 15:48:25.047896 Event: Caller Handler Ready
+On: 2011-11-03 15:48:36.278949 Event: CALL START
+On: 2011-11-03 15:48:36.279003 Event: Make a call to: 4661455
+On: 2011-11-03 15:48:38.908847 Event: Call Connecting
+On: 2011-11-03 15:48:38.908897 Event: 200
+On: 2011-11-03 15:48:38.999159 Event: Terminate
+On: 2011-11-03 15:48:38.999209 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 15:56:00.097942 ------------------
+On: 2011-11-03 15:56:00.118443 Event: try to Connect to Controller
+On: 2011-11-03 15:56:01.394054 Event: init state
+On: 2011-11-03 15:56:01.394295 Event: Register Account to SIP server
+On: 2011-11-03 15:56:01.394708 Event: 100
+On: 2011-11-03 15:56:01.394790 Event: Caller Handler Ready
+On: 2011-11-03 15:56:12.625333 Event: CALL START
+On: 2011-11-03 15:56:12.625389 Event: Make a call to: 4661473
+On: 2011-11-03 15:56:14.908214 Event: Call Connecting
+On: 2011-11-03 15:56:14.908262 Event: 200
+On: 2011-11-03 15:56:14.948230 Event: Terminate
+On: 2011-11-03 15:56:14.948281 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:03:23.627765 ------------------
+On: 2011-11-03 16:03:23.648330 Event: try to Connect to Controller
+On: 2011-11-03 16:03:24.901776 Event: init state
+On: 2011-11-03 16:03:24.902050 Event: Register Account to SIP server
+On: 2011-11-03 16:03:24.902486 Event: 100
+On: 2011-11-03 16:03:24.902573 Event: Caller Handler Ready
+On: 2011-11-03 16:03:30.051563 Event: CALL START
+On: 2011-11-03 16:03:30.051619 Event: Make a call to: 4661449
+On: 2011-11-03 16:03:32.711443 Event: Call Connecting
+On: 2011-11-03 16:03:32.711490 Event: 200
+On: 2011-11-03 16:03:32.774533 Event: Terminate
+On: 2011-11-03 16:03:32.774568 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:10:54.228505 ------------------
+On: 2011-11-03 16:10:54.248744 Event: try to Connect to Controller
+On: 2011-11-03 16:10:55.505571 Event: init state
+On: 2011-11-03 16:10:55.505808 Event: Register Account to SIP server
+On: 2011-11-03 16:10:55.506806 Event: 100
+On: 2011-11-03 16:10:55.506903 Event: Caller Handler Ready
+On: 2011-11-03 16:11:06.745832 Event: CALL START
+On: 2011-11-03 16:11:06.745891 Event: Make a call to: 4661455
+On: 2011-11-03 16:11:08.885202 Event: Call Connecting
+On: 2011-11-03 16:11:08.885250 Event: 200
+On: 2011-11-03 16:11:08.966921 Event: Terminate
+On: 2011-11-03 16:11:08.966972 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 16:21:28.193457 ------------------
+On: 2011-11-03 16:21:28.214141 Event: try to Connect to Controller
+On: 2011-11-03 16:21:29.484667 Event: init state
+On: 2011-11-03 16:21:29.484905 Event: Register Account to SIP server
+On: 2011-11-03 16:21:29.485331 Event: 100
+On: 2011-11-03 16:21:29.485420 Event: Caller Handler Ready
+On: 2011-11-03 16:21:34.633629 Event: CALL START
+On: 2011-11-03 16:21:34.633680 Event: Make a call to: 4661449
+On: 2011-11-03 16:21:36.714780 Event: Call Connecting
+On: 2011-11-03 16:21:36.714827 Event: 200
+On: 2011-11-03 16:21:36.754491 Event: Terminate
+On: 2011-11-03 16:21:36.754524 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 17:18:36.921235 ------------------
+On: 2011-11-03 17:18:36.941655 Event: try to Connect to Controller
+On: 2011-11-03 17:18:38.684690 Event: init state
+On: 2011-11-03 17:18:38.684950 Event: Register Account to SIP server
+On: 2011-11-03 17:18:38.685370 Event: 100
+On: 2011-11-03 17:18:38.685457 Event: Receiver Handler Ready
+On: 2011-11-03 17:18:38.685815 Event: RECEIVE START
+On: 2011-11-03 17:18:41.703467 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-03 17:18:41.703980 Event: Call Connecting
+On: 2011-11-03 17:18:41.704022 Event: 200
+On: 2011-11-03 17:18:41.704276 Event: Answer call
+On: 2011-11-03 17:18:41.704328 Event: Hangup call
+On: 2011-11-03 17:18:41.704502 Event: CALL OK
+On: 2011-11-03 17:18:41.749584 Event: Terminate
+On: 2011-11-03 17:18:41.749645 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:46:21.541415 ------------------
+On: 2011-11-03 22:46:21.562260 Event: try to Connect to Controller
+On: 2011-11-03 22:46:22.852211 Event: init state
+On: 2011-11-03 22:46:22.852438 Event: Register Account to SIP server
+On: 2011-11-03 22:46:22.852848 Event: 100
+On: 2011-11-03 22:46:22.852928 Event: Caller Handler Ready
+On: 2011-11-03 22:46:28.001603 Event: CALL START
+On: 2011-11-03 22:46:28.001658 Event: Make a call to: 4661449
+On: 2011-11-03 22:46:29.799979 Event: Call Connecting
+On: 2011-11-03 22:46:29.800025 Event: 200
+On: 2011-11-03 22:46:29.846502 Event: Terminate
+On: 2011-11-03 22:46:29.846536 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 22:53:40.195661 ------------------
+On: 2011-11-03 22:53:40.215937 Event: try to Connect to Controller
+On: 2011-11-03 22:53:41.508093 Event: init state
+On: 2011-11-03 22:53:41.508323 Event: Register Account to SIP server
+On: 2011-11-03 22:53:41.508733 Event: 100
+On: 2011-11-03 22:53:41.508815 Event: Caller Handler Ready
+On: 2011-11-03 22:53:52.733981 Event: CALL START
+On: 2011-11-03 22:53:52.734038 Event: Make a call to: 4661473
+On: 2011-11-03 22:53:54.645753 Event: Call Connecting
+On: 2011-11-03 22:53:54.645799 Event: 200
+On: 2011-11-03 22:53:54.714299 Event: Terminate
+On: 2011-11-03 22:53:54.714351 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:01:10.406838 ------------------
+On: 2011-11-03 23:01:10.427375 Event: try to Connect to Controller
+On: 2011-11-03 23:01:11.716864 Event: init state
+On: 2011-11-03 23:01:11.717087 Event: Register Account to SIP server
+On: 2011-11-03 23:01:11.717500 Event: 100
+On: 2011-11-03 23:01:11.717583 Event: Caller Handler Ready
+On: 2011-11-03 23:01:22.949983 Event: CALL START
+On: 2011-11-03 23:01:22.950039 Event: Make a call to: 4661473
+On: 2011-11-03 23:01:25.421070 Event: Call Connecting
+On: 2011-11-03 23:01:25.421117 Event: 200
+On: 2011-11-03 23:01:25.485126 Event: Terminate
+On: 2011-11-03 23:01:25.485177 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:08:40.032850 ------------------
+On: 2011-11-03 23:08:40.053172 Event: try to Connect to Controller
+On: 2011-11-03 23:08:41.339149 Event: init state
+On: 2011-11-03 23:08:41.339386 Event: Register Account to SIP server
+On: 2011-11-03 23:08:41.339804 Event: 100
+On: 2011-11-03 23:08:41.339886 Event: Caller Handler Ready
+On: 2011-11-03 23:08:46.489631 Event: CALL START
+On: 2011-11-03 23:08:46.489686 Event: Make a call to: 4661449
+On: 2011-11-03 23:08:49.110741 Event: Call Connecting
+On: 2011-11-03 23:08:49.110787 Event: 200
+On: 2011-11-03 23:08:49.190480 Event: Terminate
+On: 2011-11-03 23:08:49.190513 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:16:10.008821 ------------------
+On: 2011-11-03 23:16:10.029431 Event: try to Connect to Controller
+On: 2011-11-03 23:16:11.312479 Event: init state
+On: 2011-11-03 23:16:11.312749 Event: Register Account to SIP server
+On: 2011-11-03 23:16:11.313495 Event: 100
+On: 2011-11-03 23:16:11.313577 Event: Caller Handler Ready
+On: 2011-11-03 23:16:22.554240 Event: CALL START
+On: 2011-11-03 23:16:22.554291 Event: Make a call to: 4661455
+On: 2011-11-03 23:16:24.152713 Event: Call Connecting
+On: 2011-11-03 23:16:24.152760 Event: 200
+On: 2011-11-03 23:16:24.203955 Event: Terminate
+On: 2011-11-03 23:16:24.204006 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:23:41.887686 ------------------
+On: 2011-11-03 23:23:41.908297 Event: try to Connect to Controller
+On: 2011-11-03 23:23:43.200042 Event: init state
+On: 2011-11-03 23:23:43.200278 Event: Register Account to SIP server
+On: 2011-11-03 23:23:43.200688 Event: 100
+On: 2011-11-03 23:23:43.200772 Event: Caller Handler Ready
+On: 2011-11-03 23:23:54.440840 Event: CALL START
+On: 2011-11-03 23:23:54.440902 Event: Make a call to: 4661455
+On: 2011-11-03 23:24:01.965707 Event: Call Connecting
+On: 2011-11-03 23:24:01.965754 Event: 200
+On: 2011-11-03 23:24:02.045415 Event: Terminate
+On: 2011-11-03 23:24:02.045465 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-03 23:31:11.667931 ------------------
+On: 2011-11-03 23:31:11.688496 Event: try to Connect to Controller
+On: 2011-11-03 23:31:12.969441 Event: init state
+On: 2011-11-03 23:31:12.969664 Event: Register Account to SIP server
+On: 2011-11-03 23:31:12.970289 Event: 100
+On: 2011-11-03 23:31:12.970385 Event: Caller Handler Ready
+On: 2011-11-03 23:31:24.218707 Event: CALL START
+On: 2011-11-03 23:31:24.218761 Event: Make a call to: 4661455
+On: 2011-11-03 23:31:26.835569 Event: Call Connecting
+On: 2011-11-03 23:31:26.835616 Event: 200
+On: 2011-11-03 23:31:26.916941 Event: Terminate
+On: 2011-11-03 23:31:26.916991 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:03:26.680180 ------------------
+On: 2011-11-04 13:03:26.701270 Event: try to Connect to Controller
+On: 2011-11-04 13:03:27.861856 Event: init state
+On: 2011-11-04 13:03:27.862142 Event: Register Account to SIP server
+On: 2011-11-04 13:03:27.862567 Event: 100
+On: 2011-11-04 13:03:27.862653 Event: Receiver Handler Ready
+On: 2011-11-04 13:03:27.862919 Event: RECEIVE START
+On: 2011-11-04 13:03:29.621434 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
+On: 2011-11-04 13:03:29.622032 Event: Call Connecting
+On: 2011-11-04 13:03:29.622080 Event: 200
+On: 2011-11-04 13:03:29.622331 Event: Answer call
+On: 2011-11-04 13:03:29.622384 Event: Hangup call
+On: 2011-11-04 13:03:29.622555 Event: CALL OK
+On: 2011-11-04 13:03:29.723681 Event: Call Disconnected
+On: 2011-11-04 13:03:31.183019 Event: Terminate
+On: 2011-11-04 13:03:31.183067 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:03:43.245777 ------------------
+On: 2011-11-04 13:03:43.270657 Event: try to Connect to Controller
+On: 2011-11-04 13:03:44.452115 Event: init state
+On: 2011-11-04 13:03:44.452344 Event: Register Account to SIP server
+On: 2011-11-04 13:03:44.453100 Event: 100
+On: 2011-11-04 13:03:44.453188 Event: Receiver Handler Ready
+On: 2011-11-04 13:03:44.453603 Event: RECEIVE START
+On: 2011-11-04 13:03:46.092624 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
+On: 2011-11-04 13:03:46.093142 Event: Call Connecting
+On: 2011-11-04 13:03:46.093183 Event: 200
+On: 2011-11-04 13:03:46.093440 Event: Answer call
+On: 2011-11-04 13:03:46.093493 Event: Hangup call
+On: 2011-11-04 13:03:46.093670 Event: CALL OK
+On: 2011-11-04 13:03:46.194787 Event: Call Disconnected
+On: 2011-11-04 13:03:47.609181 Event: Terminate
+On: 2011-11-04 13:03:47.609217 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:03:53.641735 ------------------
+On: 2011-11-04 13:03:53.663151 Event: try to Connect to Controller
+On: 2011-11-04 13:03:54.815896 Event: init state
+On: 2011-11-04 13:03:54.816131 Event: Register Account to SIP server
+On: 2011-11-04 13:03:54.816922 Event: 100
+On: 2011-11-04 13:03:54.817009 Event: Receiver Handler Ready
+On: 2011-11-04 13:03:54.822138 Event: RECEIVE START
+On: 2011-11-04 13:03:55.976250 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
+On: 2011-11-04 13:03:55.976776 Event: Call Connecting
+On: 2011-11-04 13:03:55.976819 Event: 200
+On: 2011-11-04 13:03:55.977078 Event: Answer call
+On: 2011-11-04 13:03:55.977131 Event: Hangup call
+On: 2011-11-04 13:03:55.977309 Event: CALL OK
+On: 2011-11-04 13:03:56.078414 Event: Call Disconnected
+On: 2011-11-04 13:03:57.361026 Event: Terminate
+On: 2011-11-04 13:03:57.361070 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 13:10:44.561744 ------------------
+On: 2011-11-04 13:10:44.583321 Event: try to Connect to Controller
+On: 2011-11-04 13:10:45.731051 Event: init state
+On: 2011-11-04 13:10:45.731284 Event: Register Account to SIP server
+On: 2011-11-04 13:10:45.731706 Event: 100
+On: 2011-11-04 13:10:45.731793 Event: Receiver Handler Ready
+On: 2011-11-04 13:10:45.732145 Event: RECEIVE START
+On: 2011-11-04 13:10:48.782523 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 13:10:48.783049 Event: Call Connecting
+On: 2011-11-04 13:10:48.783091 Event: 200
+On: 2011-11-04 13:10:48.783348 Event: Answer call
+On: 2011-11-04 13:10:48.783401 Event: Hangup call
+On: 2011-11-04 13:10:48.783705 Event: CALL OK
+On: 2011-11-04 13:10:48.828360 Event: Terminate
+On: 2011-11-04 13:10:48.828396 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:02:43.077931 ------------------
+On: 2011-11-04 14:02:43.103298 Event: try to Connect to Controller
+On: 2011-11-04 14:02:44.283961 Event: init state
+On: 2011-11-04 14:02:44.284192 Event: Register Account to SIP server
+On: 2011-11-04 14:02:44.285001 Event: 100
+On: 2011-11-04 14:02:44.285086 Event: Receiver Handler Ready
+On: 2011-11-04 14:02:44.285730 Event: RECEIVE START
+On: 2011-11-04 14:02:47.052047 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
+On: 2011-11-04 14:02:47.052567 Event: Call Connecting
+On: 2011-11-04 14:02:47.052608 Event: 200
+On: 2011-11-04 14:02:47.052871 Event: Answer call
+On: 2011-11-04 14:02:47.052925 Event: Hangup call
+On: 2011-11-04 14:02:47.053099 Event: CALL OK
+On: 2011-11-04 14:02:47.154225 Event: Call Disconnected
+On: 2011-11-04 14:02:48.423499 Event: Terminate
+On: 2011-11-04 14:02:48.423547 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:03:00.477653 ------------------
+On: 2011-11-04 14:03:00.502451 Event: try to Connect to Controller
+On: 2011-11-04 14:03:01.677995 Event: init state
+On: 2011-11-04 14:03:01.678258 Event: Register Account to SIP server
+On: 2011-11-04 14:03:01.678689 Event: 100
+On: 2011-11-04 14:03:01.678773 Event: Receiver Handler Ready
+On: 2011-11-04 14:03:01.679041 Event: RECEIVE START
+On: 2011-11-04 14:03:03.986925 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
+On: 2011-11-04 14:03:03.987451 Event: Call Connecting
+On: 2011-11-04 14:03:03.987492 Event: 200
+On: 2011-11-04 14:03:03.987750 Event: Answer call
+On: 2011-11-04 14:03:03.987804 Event: Hangup call
+On: 2011-11-04 14:03:03.987982 Event: CALL OK
+On: 2011-11-04 14:03:04.089090 Event: Call Disconnected
+On: 2011-11-04 14:03:05.466660 Event: Terminate
+On: 2011-11-04 14:03:05.466704 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:03:11.472177 ------------------
+On: 2011-11-04 14:03:11.492524 Event: try to Connect to Controller
+On: 2011-11-04 14:03:12.638362 Event: init state
+On: 2011-11-04 14:03:12.638593 Event: Register Account to SIP server
+On: 2011-11-04 14:03:12.639021 Event: 100
+On: 2011-11-04 14:03:12.639108 Event: Receiver Handler Ready
+On: 2011-11-04 14:03:12.640558 Event: RECEIVE START
+On: 2011-11-04 14:03:13.644540 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
+On: 2011-11-04 14:03:13.645058 Event: Call Connecting
+On: 2011-11-04 14:03:13.645100 Event: 200
+On: 2011-11-04 14:03:13.645357 Event: Answer call
+On: 2011-11-04 14:03:13.645409 Event: Hangup call
+On: 2011-11-04 14:03:13.645581 Event: CALL OK
+On: 2011-11-04 14:03:13.746715 Event: Call Disconnected
+On: 2011-11-04 14:03:15.090462 Event: Terminate
+On: 2011-11-04 14:03:15.090499 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 14:10:28.139667 ------------------
+On: 2011-11-04 14:10:28.165492 Event: try to Connect to Controller
+On: 2011-11-04 14:10:29.307043 Event: init state
+On: 2011-11-04 14:10:29.307282 Event: Register Account to SIP server
+On: 2011-11-04 14:10:29.307712 Event: 100
+On: 2011-11-04 14:10:29.307796 Event: Receiver Handler Ready
+On: 2011-11-04 14:10:29.308102 Event: RECEIVE START
+On: 2011-11-04 14:10:32.365524 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 14:10:32.366194 Event: Call Connecting
+On: 2011-11-04 14:10:32.366242 Event: 200
+On: 2011-11-04 14:10:32.366496 Event: Answer call
+On: 2011-11-04 14:10:32.366549 Event: Hangup call
+On: 2011-11-04 14:10:32.366731 Event: CALL OK
+On: 2011-11-04 14:10:32.411104 Event: Terminate
+On: 2011-11-04 14:10:32.411139 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:07:33.689496 ------------------
+On: 2011-11-04 15:07:33.713292 Event: try to Connect to Controller
+On: 2011-11-04 15:07:34.777433 Event: init state
+On: 2011-11-04 15:07:34.777676 Event: Register Account to SIP server
+On: 2011-11-04 15:07:34.778181 Event: 100
+On: 2011-11-04 15:07:34.778271 Event: Caller Handler Ready
+On: 2011-11-04 15:07:46.050044 Event: CALL START
+On: 2011-11-04 15:07:46.050110 Event: Make a call to: 4661455
+On: 2011-11-04 15:07:47.956573 Event: Call Connecting
+On: 2011-11-04 15:07:47.956624 Event: 200
+On: 2011-11-04 15:07:47.997721 Event: Terminate
+On: 2011-11-04 15:07:47.997757 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:11:50.723700 ------------------
+On: 2011-11-04 15:11:50.744460 Event: try to Connect to Controller
+On: 2011-11-04 15:11:51.924139 Event: init state
+On: 2011-11-04 15:11:51.924376 Event: Register Account to SIP server
+On: 2011-11-04 15:11:51.924809 Event: 100
+On: 2011-11-04 15:11:51.924892 Event: Caller Handler Ready
+On: 2011-11-04 15:11:57.053650 Event: CALL START
+On: 2011-11-04 15:11:57.053710 Event: Make a call to: 4661449
+On: 2011-11-04 15:11:58.850078 Event: Call Connecting
+On: 2011-11-04 15:11:58.850126 Event: 200
+On: 2011-11-04 15:11:58.918631 Event: Terminate
+On: 2011-11-04 15:11:58.918666 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:14:34.617110 ------------------
+On: 2011-11-04 15:14:34.641333 Event: try to Connect to Controller
+On: 2011-11-04 15:14:35.795086 Event: init state
+On: 2011-11-04 15:14:35.795328 Event: Register Account to SIP server
+On: 2011-11-04 15:14:35.796118 Event: 100
+On: 2011-11-04 15:14:35.796204 Event: Caller Handler Ready
+On: 2011-11-04 15:14:47.037985 Event: CALL START
+On: 2011-11-04 15:14:47.038053 Event: Make a call to: 4661455
+On: 2011-11-04 15:14:49.038368 Event: Call Connecting
+On: 2011-11-04 15:14:49.038417 Event: 200
+On: 2011-11-04 15:14:49.079932 Event: Terminate
+On: 2011-11-04 15:14:49.079966 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:18:49.457488 ------------------
+On: 2011-11-04 15:18:49.482249 Event: try to Connect to Controller
+On: 2011-11-04 15:18:50.755297 Event: init state
+On: 2011-11-04 15:18:50.755890 Event: Register Account to SIP server
+On: 2011-11-04 15:18:50.756314 Event: 100
+On: 2011-11-04 15:18:50.756405 Event: Receiver Handler Ready
+On: 2011-11-04 15:18:50.756663 Event: RECEIVE START
+On: 2011-11-04 15:18:55.937550 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
+On: 2011-11-04 15:18:55.938132 Event: Call Connecting
+On: 2011-11-04 15:18:55.938178 Event: 200
+On: 2011-11-04 15:18:55.938424 Event: Answer call
+On: 2011-11-04 15:18:55.938477 Event: Hangup call
+On: 2011-11-04 15:18:55.938651 Event: CALL OK
+On: 2011-11-04 15:18:56.039754 Event: Call Disconnected
+On: 2011-11-04 15:18:57.294465 Event: Terminate
+On: 2011-11-04 15:18:57.294512 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:19:09.275121 ------------------
+On: 2011-11-04 15:19:09.295791 Event: try to Connect to Controller
+On: 2011-11-04 15:19:10.572635 Event: init state
+On: 2011-11-04 15:19:10.572865 Event: Register Account to SIP server
+On: 2011-11-04 15:19:10.573286 Event: 100
+On: 2011-11-04 15:19:10.573373 Event: Receiver Handler Ready
+On: 2011-11-04 15:19:10.573636 Event: RECEIVE START
+On: 2011-11-04 15:19:12.527730 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
+On: 2011-11-04 15:19:12.528239 Event: Call Connecting
+On: 2011-11-04 15:19:12.528280 Event: 200
+On: 2011-11-04 15:19:12.528535 Event: Answer call
+On: 2011-11-04 15:19:12.528588 Event: Hangup call
+On: 2011-11-04 15:19:12.528759 Event: CALL OK
+On: 2011-11-04 15:19:12.629848 Event: Call Disconnected
+On: 2011-11-04 15:19:13.971177 Event: Terminate
+On: 2011-11-04 15:19:13.971223 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:19:19.892249 ------------------
+On: 2011-11-04 15:19:19.916618 Event: try to Connect to Controller
+On: 2011-11-04 15:19:21.159032 Event: init state
+On: 2011-11-04 15:19:21.159261 Event: Register Account to SIP server
+On: 2011-11-04 15:19:21.159684 Event: 100
+On: 2011-11-04 15:19:21.159769 Event: Receiver Handler Ready
+On: 2011-11-04 15:19:21.162040 Event: RECEIVE START
+On: 2011-11-04 15:19:22.173176 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
+On: 2011-11-04 15:19:22.173690 Event: Call Connecting
+On: 2011-11-04 15:19:22.173733 Event: 200
+On: 2011-11-04 15:19:22.174043 Event: Answer call
+On: 2011-11-04 15:19:22.174107 Event: Hangup call
+On: 2011-11-04 15:19:22.174285 Event: CALL OK
+On: 2011-11-04 15:19:22.275403 Event: Call Disconnected
+On: 2011-11-04 15:19:23.602443 Event: Terminate
+On: 2011-11-04 15:19:23.602480 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 15:26:37.394708 ------------------
+On: 2011-11-04 15:26:37.431298 Event: try to Connect to Controller
+On: 2011-11-04 15:26:38.612558 Event: init state
+On: 2011-11-04 15:26:38.612863 Event: Register Account to SIP server
+On: 2011-11-04 15:26:38.613284 Event: 100
+On: 2011-11-04 15:26:38.613367 Event: Receiver Handler Ready
+On: 2011-11-04 15:26:38.613712 Event: RECEIVE START
+On: 2011-11-04 15:26:41.632041 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 15:26:41.632624 Event: Call Connecting
+On: 2011-11-04 15:26:41.632669 Event: 200
+On: 2011-11-04 15:26:41.632923 Event: Answer call
+On: 2011-11-04 15:26:41.632976 Event: Hangup call
+On: 2011-11-04 15:26:41.633158 Event: CALL OK
+On: 2011-11-04 15:26:41.672242 Event: Terminate
+On: 2011-11-04 15:26:41.672279 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:26:13.103169 ------------------
+On: 2011-11-04 16:26:13.125301 Event: try to Connect to Controller
+On: 2011-11-04 16:26:14.450976 Event: init state
+On: 2011-11-04 16:26:14.451205 Event: Register Account to SIP server
+On: 2011-11-04 16:26:14.451617 Event: 100
+On: 2011-11-04 16:26:14.451696 Event: Receiver Handler Ready
+On: 2011-11-04 16:26:14.452033 Event: RECEIVE START
+On: 2011-11-04 16:26:17.478757 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 16:26:17.479251 Event: Call Connecting
+On: 2011-11-04 16:26:17.479289 Event: 200
+On: 2011-11-04 16:26:17.479537 Event: Answer call
+On: 2011-11-04 16:26:17.479590 Event: Hangup call
+On: 2011-11-04 16:26:17.480102 Event: CALL OK
+On: 2011-11-04 16:26:17.492185 Event: Terminate
+On: 2011-11-04 16:26:17.492237 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:38:34.500734 ------------------
+On: 2011-11-04 16:38:34.522612 Event: try to Connect to Controller
+On: 2011-11-04 16:38:35.849661 Event: init state
+On: 2011-11-04 16:38:35.849893 Event: Register Account to SIP server
+On: 2011-11-04 16:38:35.850724 Event: 100
+On: 2011-11-04 16:38:35.850802 Event: Receiver Handler Ready
+On: 2011-11-04 16:38:35.851288 Event: RECEIVE START
+On: 2011-11-04 16:38:38.876733 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 16:38:38.877228 Event: Call Connecting
+On: 2011-11-04 16:38:38.877267 Event: 200
+On: 2011-11-04 16:38:38.877511 Event: Answer call
+On: 2011-11-04 16:38:38.877562 Event: Hangup call
+On: 2011-11-04 16:38:38.877731 Event: CALL OK
+On: 2011-11-04 16:38:38.891532 Event: Terminate
+On: 2011-11-04 16:38:38.891567 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:44:33.824769 ------------------
+On: 2011-11-04 16:44:33.847388 Event: try to Connect to Controller
+On: 2011-11-04 16:44:35.204321 Event: init state
+On: 2011-11-04 16:44:35.204558 Event: Register Account to SIP server
+On: 2011-11-04 16:44:35.204971 Event: 100
+On: 2011-11-04 16:44:35.205050 Event: Caller Handler Ready
+On: 2011-11-04 16:44:46.449461 Event: CALL START
+On: 2011-11-04 16:44:46.449520 Event: Make a call to: 4661455
+On: 2011-11-04 16:45:00.627867 Event: Call Disconnected
+On: 2011-11-04 16:45:18.453481 Event: Terminate
+On: 2011-11-04 16:45:18.453530 Event: Goodbye
+
+
+------------------STARTED THE LOGGING 2011-11-04 16:48:57.362116 ------------------
+On: 2011-11-04 16:48:57.384069 Event: try to Connect to Controller
+On: 2011-11-04 16:48:58.710991 Event: init state
+On: 2011-11-04 16:48:58.711223 Event: Register Account to SIP server
+On: 2011-11-04 16:48:58.711638 Event: 100
+On: 2011-11-04 16:48:58.711717 Event: Receiver Handler Ready
+On: 2011-11-04 16:48:58.712056 Event: RECEIVE START
+On: 2011-11-04 16:49:01.737263 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
+On: 2011-11-04 16:49:01.737755 Event: Call Connecting
+On: 2011-11-04 16:49:01.737794 Event: 200
+On: 2011-11-04 16:49:01.738206 Event: Answer call
+On: 2011-11-04 16:49:01.738277 Event: Hangup call
+On: 2011-11-04 16:49:01.738453 Event: CALL OK
+On: 2011-11-04 16:49:01.754027 Event: Terminate
+On: 2011-11-04 16:49:01.754065 Event: Goodbye
diff --git a/For Weekly Test/tricode/gsmselftest.py b/Code/Server-Code/gsmselftest.py
index 3bda2c5..3bda2c5 100755
--- a/For Weekly Test/tricode/gsmselftest.py
+++ b/Code/Server-Code/gsmselftest.py
diff --git a/Code/Server-Code/help.txt b/Code/Server-Code/help.txt
new file mode 100755
index 0000000..5491f26
--- /dev/null
+++ b/Code/Server-Code/help.txt
@@ -0,0 +1,17 @@
+
+Usage: ./gsmselftest.py [option]
+
+Options and arguments (and corresponding environment variables):
+
+--db [caller] [callee] : To execute the test case given by defining the caller and callee
+--all : To execute all test cases
+--sip : To execute SIP test cases
+--gsmrz : To check whether GSM RZ network has problems or not
+--gsmext : To check whether GSM BOX modem has problems or not
+--incoming : To check incoming calls from Landline
+--smart : To test only important points in the network and to identify the problems
+--devconf : To configure the USB device on the server
+
+ example : ./gsmselftest.py --devconf
+ ./gsmselftest.py --smart
+ ./gsmselftest.py --db sip GSMRZ1
diff --git a/For Weekly Test/tricode/initTestClass.py b/Code/Server-Code/initTestClass.py
index 8b854a7..8b854a7 100755
--- a/For Weekly Test/tricode/initTestClass.py
+++ b/Code/Server-Code/initTestClass.py
diff --git a/For Weekly Test/tricode/initTestClass.pyc b/Code/Server-Code/initTestClass.pyc
index 4ffa2ee..4ffa2ee 100644
--- a/For Weekly Test/tricode/initTestClass.pyc
+++ b/Code/Server-Code/initTestClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/startSoftware.py b/Code/Server-Code/startSoftware.py
index 68f7b6e..23ba57e 100644..100755
--- a/For Weekly Test/tricode/startSoftware.py
+++ b/Code/Server-Code/startSoftware.py
@@ -8,7 +8,7 @@ while 1:
test = server.receiveData(2)
if test == 'START APP':
print 'start'
- subprocess.Popen(args=['gnome-terminal','--command= python gsmselftest-website3.py'])
+ subprocess.Popen(args=['gnome-terminal','--command= python gsmselftest.py'])
server.closeConnection()
del server
diff --git a/For Weekly Test/tricode/trueTableClass.py b/Code/Server-Code/trueTableClass.py
index 1b50aed..e2fff55 100755
--- a/For Weekly Test/tricode/trueTableClass.py
+++ b/Code/Server-Code/trueTableClass.py
@@ -136,7 +136,7 @@ class trueTable:
elif j == i:
stop = True
- if call[0:5]=='GSMEx' and int(result) == 999 and int(result) == 801: # looking for calling from GSMexternal
+ if call[0:5]=='GSMEx': # looking for calling from GSMexternal
found = False
if len(self.nanoBts) == 0:
self.nanoBts.append([call,result])
@@ -145,14 +145,15 @@ class trueTable:
for y in self.nanoBts: #find the existing result for GSM external in the list
name = y[0]
if name == call:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 801:
- self.nanoBts.remove(y)
+ if int(result) == 200:
+ if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 801:
+ self.nanoBts.remove(y)
else:
found = True
if found != True:
self.nanoBts.append([call,result])
- if dest[0:5]=='GSMEx' and int(result) == 998 and int(result) == 802: # looking for destination call to GSMexternal
+ if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal
found = False
if len(self.nanoBts) == 0:
self.nanoBts.append([dest,result])
@@ -162,8 +163,9 @@ class trueTable:
for y in self.nanoBts:
name = y[0]
if name == dest:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 402 or int(y[1]) == 802:
- self.nanoBts.remove(y)
+ if int(result) == 200:
+ if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998 or int(y[1]) == 402 or int(y[1]) == 802:
+ self.nanoBts.remove(y)
else:
found = True
if found != True:
diff --git a/Code/Server-Code/trueTableClass.pyc b/Code/Server-Code/trueTableClass.pyc
new file mode 100644
index 0000000..58efc48
--- /dev/null
+++ b/Code/Server-Code/trueTableClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/usbDetectClass.py b/Code/Server-Code/usbDetectClass.py
index 57f4dd1..13aebfd 100755
--- a/For Weekly Test/tricode/usbDetectClass.py
+++ b/Code/Server-Code/usbDetectClass.py
@@ -40,7 +40,6 @@ class serialPort:
self.portExist = 1
except Exception, e:
- print 'error'
return 0
def isInteger(self, x):
diff --git a/Code/Server-Code/usbDetectClass.pyc b/Code/Server-Code/usbDetectClass.pyc
new file mode 100644
index 0000000..f1d2d93
--- /dev/null
+++ b/Code/Server-Code/usbDetectClass.pyc
Binary files differ
diff --git a/Database/gsmselftesting.sql b/Database/gsmselftesting.sql
deleted file mode 100644
index 566997d..0000000
--- a/Database/gsmselftesting.sql
+++ /dev/null
@@ -1,196 +0,0 @@
--- phpMyAdmin SQL Dump
--- version 3.3.10deb1
--- http://www.phpmyadmin.net
---
--- Host: localhost
--- Generation Time: Oct 30, 2011 at 10:28 PM
--- Server version: 5.1.54
--- PHP Version: 5.3.5-1ubuntu7.2
-
-SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- Database: `gsmselftesting`
---
-
--- --------------------------------------------------------
-
---
--- Table structure for table `DeviceAddressTable`
---
-
-CREATE TABLE IF NOT EXISTS `DeviceAddressTable` (
- `deviceName` varchar(15) NOT NULL,
- `portName` varchar(15) NOT NULL,
- `number` varchar(20) NOT NULL,
- `lastChange` datetime NOT NULL,
- `username` varchar(20) NOT NULL DEFAULT 'root',
- `password` varchar(20) NOT NULL DEFAULT 'root',
- `server` varchar(20) NOT NULL,
- PRIMARY KEY (`deviceName`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `DeviceAddressTable`
---
-
-INSERT INTO `DeviceAddressTable` (`deviceName`, `portName`, `number`, `lastChange`, `username`, `password`, `server`) VALUES
-('sip', 'localhost', '07612034661928', '2011-07-26 00:00:00', 'mpselftest1', '1mpselftest', '132.230.4.8'),
-('unisip', 'localhost', '076120397898', '2011-07-27 00:00:00', '4976120397898', 'itzEfmLkzvS9', '132.230.252.228'),
-('landline', 'localhost', '076145875681', '2011-07-26 00:00:00', '1289459', 'MMW9AX', 'sipgate.de'),
-('GSMRZ1', '/dev/ttyUSB0', '07612034661449', '2011-07-27 15:47:08', '', '', ''),
-('GSMRZ2', 'localhost', '07612034661473', '2011-07-27 15:48:04', 'lsfks', 'lsfks', '132.230.4.67'),
-('GSMExt.Eplus', '/dev/ttyUSB4', '015782677224', '2011-07-28 14:33:43', '', '', ''),
-('GSMExt.Voda', '/dev/ttyUSB3', '015252423662', '2011-07-28 14:35:33', '', '', ''),
-('GSMExt.Tm', '/dev/ttyUSB1', '015128040906', '2011-08-29 14:47:18', '', '', ''),
-('GSMExt.O2', '/dev/ttyUSB2', '017678038038', '2011-07-28 14:36:13', '', '', ''),
-('GSMRZ3', 'localhost', '07612034661455', '2011-10-14 16:34:07', 'lsfks', 'root', '132.230.4.57');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `ErrorCodeTable`
---
-
-CREATE TABLE IF NOT EXISTS `ErrorCodeTable` (
- `respondCode` int(4) NOT NULL,
- `description` varchar(100) NOT NULL,
- PRIMARY KEY (`respondCode`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ErrorCodeTable`
---
-
-INSERT INTO `ErrorCodeTable` (`respondCode`, `description`) VALUES
-(200, 'Call was OK'),
-(604, 'General Handler Error: Destination handler did not respond. Timeout'),
-(998, 'General Handler Error: Could not connect to the destination handler!'),
-(605, 'General Handler Error: Caller handler did not respond. Timeout'),
-(999, 'General Handler Error: Could not connect to the caller handler!'),
-(486, 'Call Failed'),
-(500, 'Server Internal Error'),
-(333, 'Could not establish a connection to the database!'),
-(100, 'Missing account detail'),
-(402, 'Payment Required (Eplus Card)'),
-(801, 'Connection to caller establishment, but device error'),
-(802, 'Connection to destination establishment, but device error');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `GSMPrefix`
---
-
-CREATE TABLE IF NOT EXISTS `GSMPrefix` (
- `carrier` varchar(13) NOT NULL,
- `prefix` varchar(4) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `GSMPrefix`
---
-
-INSERT INTO `GSMPrefix` (`carrier`, `prefix`) VALUES
-('GSMExt.Tm', '0151'),
-('GSMExt.Tm', '0160'),
-('GSMExt.Tm', '0170'),
-('GSMExt.Tm', '0175'),
-('GSMExt.Tm', '0171'),
-('GSMExt.Voda', '0162'),
-('GSMExt.Voda', '0172'),
-('GSMExt.Voda', '0173'),
-('GSMExt.Voda', '0174'),
-('GSMExt.Eplus', '0157'),
-('GSMExt.Eplus', '0177'),
-('GSMExt.Eplus', '0155'),
-('GSMExt.Eplus', '0163'),
-('GSMExt.Eplus', '0178'),
-('GSMExt.O2', '0159'),
-('GSMExt.O2', '0176'),
-('GSMExt.O2', '0179'),
-('GSMRZ1', '0761'),
-('GSMExt.Voda', '0152');
-
--- --------------------------------------------------------
-
---
--- Table structure for table `PingResultTable`
---
-
-CREATE TABLE IF NOT EXISTS `PingResultTable` (
- `taskNo` int(11) NOT NULL,
- `sipServer` int(3) NOT NULL,
- `sipGate` int(3) NOT NULL,
- `unisip` int(3) NOT NULL,
- `gsmBox1` int(3) NOT NULL,
- `gsmBox2` int(3) NOT NULL,
- PRIMARY KEY (`taskNo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `PingResultTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `ResultTable`
---
-
-CREATE TABLE IF NOT EXISTS `ResultTable` (
- `taskID` int(11) NOT NULL,
- `result` int(3) NOT NULL,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ResultTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `TaskTable`
---
-
-CREATE TABLE IF NOT EXISTS `TaskTable` (
- `taskID` int(11) NOT NULL AUTO_INCREMENT,
- `taskNo` int(11) NOT NULL,
- `from` varchar(15) NOT NULL,
- `to` varchar(15) NOT NULL,
- `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-
---
--- Dumping data for table `TaskTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `TempTaskTable`
---
-
-CREATE TABLE IF NOT EXISTS `TempTaskTable` (
- `taskID` int(11) NOT NULL,
- `taskNo` int(11) NOT NULL,
- `from` varchar(15) NOT NULL,
- `to` varchar(15) NOT NULL,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `TempTaskTable`
---
-
diff --git a/For Weekly Test/.DS_Store b/For Weekly Test/.DS_Store
deleted file mode 100644
index 99e8f73..0000000
--- a/For Weekly Test/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/ClientClass.pyc b/For Weekly Test/12-09-2011/ClientClass.pyc
deleted file mode 100644
index 3f6b726..0000000
--- a/For Weekly Test/12-09-2011/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/ControllerClass.py b/For Weekly Test/12-09-2011/ControllerClass.py
deleted file mode 100644
index 57a0c6d..0000000
--- a/For Weekly Test/12-09-2011/ControllerClass.py
+++ /dev/null
@@ -1,227 +0,0 @@
-import sys
-import os
-import subprocess
-import SSHTunnelBoxClass
-import ClientClass
-
-import LogFileClass
-logger = LogFileClass.Logging('TestProcessLog.log')
-
-from time import sleep
-
-
-class doTheTest:
-
- def __init__(self, callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest):
-
- self.callFrom = callFrom
- self.dest = callTo
- self.destNo = destNo
- self.accDest = accDest
- self.accCaller = accCaller
- self.callPortName = callPortName
- self.destPortName = destPortName
- self.portCaller = None
- self.portDest = None
- self.resultCaller = None
- self.resultDest = None
- self.testResult = None
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- self.initCaller()
- sleep(2)
-
- self.callerGreeting()
-
- if self.connected == 'OK':
-
- self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(10)
-
- if callerHandler == "CALLER READY":
- logger.logEvent('Caller handler : Ready')
-
- self.initReceiver()
- sleep(2)
- self.receiverGreeting()
-
- if self.connected == 'OK':
-
- self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(10)
-
- if destHandler == 'RECEIVER READY':
- logger.logEvent('Receiver handler : Ready')
-
- self.startCall()
- self.waitingFeedback()
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.closeConnection()
-
- else:
- logger.logEvent('998 General Handler Error: Could not connect Destination handler')
- self.testResult = 998
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: caller handler no respond timeout')
-
- self.caller.closeConnection()
-
- else:
- self.testResult = 999
- logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
-
-
-
- def waitingFeedback(self):
- logger.logEvent('Waiting Feedback')
- self.resultCaller = self.caller.receiveData(15)
- self.resultDest = self.receiver.receiveData(15)
-
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- logger.logEvent('Test Failed')
- self.testResult = 486
- self.initTerminate()
-
- else:
- logger.logEvent('Test Succeed')
- self.testResult = 200
- self.initTerminate()
-
- def startCall(self):
- logger.logEvent('Start Call')
- self.receiver.sendData('RECEIVE START')
- self.caller.sendData('CALL START')
-
- def initCaller(self):
- logger.logEvent('init Caller')
- logger.logEvent(self.callFrom)
-
- if self.callFrom =="GSMRZ1":
- self.portCaller = 50007
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMRZ2":
- self.portCaller = 40000
- self.box1 = SSHTunnelBoxClass.SSHTunneling(40000, 50008, '10.4.58.241', 'lsfks', 'r')
- self.box1.startTunneling()
-
- elif self.callFrom =="GSMRZ3":
- self.portCaller = 20000
- self.box2 = SSHTunnelBoxClass.SSHTunneling(20000, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
- self.box2.startTunneling()
-
- elif self.callFrom =="GSMExt.O2":
- self.portCaller = 50010
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Voda":
- self.portCaller = 50011
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Tm":
- self.portCaller = 50012
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Eplus":
- self.portCaller = 50013
- self.initGSM(self.portCaller, self.callPortName)
-
- else:
- self.portCaller = 50099
- subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)])
-
- def initReceiver(self):
- logger.logEvent('init Receiver')
- logger.logEvent(self.dest)
-
- if self.dest =="GSMRZ1":
- self.portDest = 50007
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMRZ2":
- self.portDest = 40000
- self.box1 = SSHTunnelBoxClass.SSHTunneling(40000, 50008, '10.4.58.241', 'lsfks', 'r')
- self.box1.startTunneling()
-
- elif self.dest =="GSMRZ3":
- self.portDest = 20000#should be 9
- self.box2 = SSHTunnelBoxClass.SSHTunneling(20000, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
- self.box2.startTunneling()
-
- elif self.dest =="GSMExt.O2":
- self.portDest = 50010
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Voda":
- self.portDest = 50011
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Tm":
- self.portDest = 50012
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Eplus":
- self.portDest = 50013
- self.initGSM(self.portDest, self.destPortName)
-
- else:
- self.portDest = 50100
- subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)])
- #os.system("/usr/bin/python SIPHandler.py > /dev/null 2>&1 &")
-
- def initTerminate(self):
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
- if self.dest =="GSMRZ2" or self.callFrom =="GSMRZ2":
- self.box1.killTunneling()
- if self.dest =="GSMRZ3" or self.callFrom =="GSMRZ3":
- self.box2.killTunneling()
-
- def callerGreeting(self):
- self.connected = None
- self.caller = ClientClass.Connection('localhost',self.portCaller)
- self.caller.connect()
-
- if self.caller.connected == 1:
- logger.logEvent('Connected to Caller Handler')
- self.caller.sendData('HELLO HANDLER')
- if self.caller.receiveData(10) == 'HELLO CONTROLLER':
- logger.logEvent('Caller Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Caller')
- self.connected = 'NOT OK'
-
- def receiverGreeting(self):
- self.connected = None
- self.receiver = ClientClass.Connection('localhost', self.portDest)
- self.receiver.connect()
-
- if self.receiver.connected == 1:
- logger.logEvent('Connected to Receiver Handler')
- self.receiver.sendData('HELLO HANDLER')
- if self.receiver.receiveData(10) == 'HELLO CONTROLLER':
- logger.logEvent('Receiver Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Receiver')
- self.connected = 'NOT OK'
-
- def initGSM(self, portCommunication, portDevice):
-
- subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)])
-
-
-
-
diff --git a/For Weekly Test/12-09-2011/ControllerClass.pyc b/For Weekly Test/12-09-2011/ControllerClass.pyc
deleted file mode 100644
index 171975e..0000000
--- a/For Weekly Test/12-09-2011/ControllerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/DbClass.py b/For Weekly Test/12-09-2011/DbClass.py
deleted file mode 100644
index 3e4a610..0000000
--- a/For Weekly Test/12-09-2011/DbClass.py
+++ /dev/null
@@ -1,215 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.callerLists = list()
- self.errCode = None
- self.deviceUpdate = None
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- if not self.tasksList:
- return 0
- else:
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `portName`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall()
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateGSMDevice(self, deviceName, newPortName, newNumber):
- if self.connectionCreated == 1:
- try:
- stmt = "UPDATE DeviceAddressTable SET portName = '"+ newPortName + "', number = '"+ newNumber+ "' WHERE deviceName = '" + deviceName+ "'"
- self.cur.execute(stmt)
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, unisip=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(unisip), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def errorCode(self,code):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code)
- data = self.cur.fetchone()
- self.errCode = data[0]
- return self.errCode
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
diff --git a/For Weekly Test/12-09-2011/DbClass.pyc b/For Weekly Test/12-09-2011/DbClass.pyc
deleted file mode 100644
index 25606ea..0000000
--- a/For Weekly Test/12-09-2011/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/GSM EPlus handler.log b/For Weekly Test/12-09-2011/GSM EPlus handler.log
deleted file mode 100644
index bd7db52..0000000
--- a/For Weekly Test/12-09-2011/GSM EPlus handler.log
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:27.264683 ------------------
-On: 2011-09-09 12:48:27.265058 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 12:48:28.558466 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49184)
-On: 2011-09-09 12:48:28.558826 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:28.559020 Event: RECEIVER READY SENT
-On: 2011-09-09 12:48:41.101556 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:06.848402 ------------------
-On: 2011-09-09 12:59:06.848758 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 12:59:08.158183 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57214)
-On: 2011-09-09 12:59:08.158555 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:59:08.158752 Event: RECEIVER READY SENT
-On: 2011-09-09 12:59:19.917552 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:13.387544 ------------------
-On: 2011-09-09 13:06:13.387893 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 13:06:14.689750 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46713)
-On: 2011-09-09 13:06:14.690101 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:14.690286 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:27.129506 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:32.215390 ------------------
-On: 2011-09-09 16:26:32.215752 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 16:26:33.562369 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42523)
-On: 2011-09-09 16:26:33.562737 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:26:33.562934 Event: RECEIVER READY SENT
-On: 2011-09-09 16:26:45.033768 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/12-09-2011/GSM O2 handler.log b/For Weekly Test/12-09-2011/GSM O2 handler.log
deleted file mode 100644
index 88ad182..0000000
--- a/For Weekly Test/12-09-2011/GSM O2 handler.log
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:16.340815 ------------------
-On: 2011-09-02 13:19:16.341186 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:19:17.518510 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58024)
-On: 2011-09-02 13:19:17.518877 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:19:17.519088 Event: RECEIVER READY SENT
-On: 2011-09-02 13:19:52.565859 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:12.787827 ------------------
-On: 2011-09-02 13:20:12.788178 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:20:14.086507 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58028)
-On: 2011-09-02 13:20:14.086878 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:20:14.087087 Event: RECEIVER READY SENT
-On: 2011-09-02 13:20:49.131352 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:04.327838 ------------------
-On: 2011-09-02 13:21:04.328190 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:21:05.622153 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58032)
-On: 2011-09-02 13:21:05.622509 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:21:05.622716 Event: RECEIVER READY SENT
-On: 2011-09-02 13:21:40.669855 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:20.540569 ------------------
-On: 2011-09-02 13:29:20.540925 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:29:21.822541 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35657)
-On: 2011-09-02 13:29:21.823061 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:29:21.823284 Event: RECEIVER READY SENT
-On: 2011-09-02 13:29:56.893863 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:46:00.662353 ------------------
-On: 2011-09-02 13:46:00.662704 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:46:01.954462 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50620)
-On: 2011-09-02 13:46:01.954832 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:46:01.955047 Event: RECEIVER READY SENT
-On: 2011-09-02 13:46:37.001865 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:55.948391 ------------------
-On: 2011-09-02 13:49:55.948742 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:49:57.222503 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34857)
-On: 2011-09-02 13:49:57.222862 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:49:57.223068 Event: RECEIVER READY SENT
-On: 2011-09-02 13:50:32.269865 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:04.613859 ------------------
-On: 2011-09-02 13:55:04.614276 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:55:05.900791 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49252)
-On: 2011-09-02 13:55:05.901155 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:55:05.901360 Event: RECEIVER READY SENT
-On: 2011-09-02 13:55:40.945864 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:08.553238 ------------------
-On: 2011-09-09 12:01:08.553690 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:01:09.633472 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37013)
-On: 2011-09-09 12:01:09.633839 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:01:09.634040 Event: RECEIVER READY SENT
-On: 2011-09-09 12:01:20.697548 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:38.800491 ------------------
-On: 2011-09-09 12:47:38.800847 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:47:40.099170 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38025)
-On: 2011-09-09 12:47:40.099532 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:47:40.099759 Event: RECEIVER READY SENT
-On: 2011-09-09 12:47:52.645510 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:04.852997 ------------------
-On: 2011-09-09 12:51:04.853352 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:51:05.992284 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52593)
-On: 2011-09-09 12:51:05.992645 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:05.992845 Event: CALLER READY SENT
-On: 2011-09-09 12:51:18.173129 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:45.031428 ------------------
-On: 2011-09-09 12:58:45.031786 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:58:46.137551 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50390)
-On: 2011-09-09 12:58:46.137917 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:58:46.138115 Event: RECEIVER READY SENT
-On: 2011-09-09 12:58:57.525504 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:28.675031 ------------------
-On: 2011-09-09 13:05:28.675384 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 13:05:29.989932 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58734)
-On: 2011-09-09 13:05:29.990321 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:29.990516 Event: RECEIVER READY SENT
-On: 2011-09-09 13:05:41.029529 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:14.182184 ------------------
-On: 2011-09-09 16:25:14.182544 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 16:25:15.512986 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41638)
-On: 2011-09-09 16:25:15.513359 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:25:15.513559 Event: RECEIVER READY SENT
-On: 2011-09-09 16:25:50.557079 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/12-09-2011/GSM RZ1 handler.log b/For Weekly Test/12-09-2011/GSM RZ1 handler.log
deleted file mode 100644
index d696ff7..0000000
--- a/For Weekly Test/12-09-2011/GSM RZ1 handler.log
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:04.252668 ------------------
-On: 2011-09-09 12:09:04.253031 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:09:05.548461 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56426)
-On: 2011-09-09 12:09:05.548828 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:09:05.549026 Event: RECEIVER READY SENT
-On: 2011-09-09 12:09:10.346080 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:14.607291 ------------------
-On: 2011-09-09 12:49:14.607750 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:49:15.835788 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56351)
-On: 2011-09-09 12:49:15.836139 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:49:15.836444 Event: RECEIVER READY SENT
-On: 2011-09-09 12:49:20.734057 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:58.309936 ------------------
-On: 2011-09-09 12:49:58.310290 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:49:59.620358 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56362)
-On: 2011-09-09 12:49:59.620713 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:49:59.620910 Event: CALLER READY SENT
-On: 2011-09-09 12:50:07.098264 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:12.795225 ------------------
-On: 2011-09-09 12:50:12.795583 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:50:14.118855 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56366)
-On: 2011-09-09 12:50:14.119213 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:50:14.119408 Event: CALLER READY SENT
-On: 2011-09-09 12:50:19.922092 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:27.671994 ------------------
-On: 2011-09-09 12:50:27.672351 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:50:28.975329 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56372)
-On: 2011-09-09 12:50:28.975692 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:50:28.975891 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:04.023944 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:06.711538 ------------------
-On: 2011-09-09 12:51:06.711896 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:51:07.998006 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56376)
-On: 2011-09-09 12:51:07.998560 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:07.998802 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:14.901568 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:25.887230 ------------------
-On: 2011-09-09 12:51:25.887589 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:51:27.186301 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56380)
-On: 2011-09-09 12:51:27.186663 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:27.186859 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:34.905569 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:58.642536 ------------------
-On: 2011-09-09 13:06:58.642891 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:06:59.926611 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55773)
-On: 2011-09-09 13:06:59.926965 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:59.927150 Event: RECEIVER READY SENT
-On: 2011-09-09 13:07:04.714132 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:42.389809 ------------------
-On: 2011-09-09 13:07:42.390169 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:07:43.727870 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55784)
-On: 2011-09-09 13:07:43.728236 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:07:43.728439 Event: CALLER READY SENT
-On: 2011-09-09 13:07:52.374208 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:58.054747 ------------------
-On: 2011-09-09 13:07:58.055099 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:07:59.392133 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55789)
-On: 2011-09-09 13:07:59.392493 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:07:59.392689 Event: CALLER READY SENT
-On: 2011-09-09 13:08:04.658096 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:12.432386 ------------------
-On: 2011-09-09 13:08:12.432741 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:08:13.714138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55795)
-On: 2011-09-09 13:08:13.714495 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:08:13.714691 Event: RECEIVER READY SENT
-On: 2011-09-09 13:08:21.713585 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:33.320470 ------------------
-On: 2011-09-09 16:27:33.320821 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:27:34.665873 Event: $connection established but device not working: ('127.0.0.1', 46371)
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:12.758156 ------------------
-On: 2011-09-09 16:28:12.758516 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:28:14.140885 Event: $connection established but device not working: ('127.0.0.1', 46381)
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:21.843292 ------------------
-On: 2011-09-09 16:28:21.843645 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:28:23.189381 Event: $connection established but device not working: ('127.0.0.1', 46385)
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:03.739982 ------------------
-On: 2011-09-09 21:08:03.740341 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 21:08:57.457214 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:15:35.606482 ------------------
-On: 2011-09-11 19:15:35.606619 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 19:15:37.423661 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33430)
-On: 2011-09-11 19:15:37.423945 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 19:15:37.424330 Event: RECEIVER READY SENT
-On: 2011-09-11 19:15:43.166850 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:28:41.689353 ------------------
-On: 2011-09-11 19:28:41.689498 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 19:28:43.543219 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52563)
-On: 2011-09-11 19:28:43.543549 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 19:28:43.543807 Event: RECEIVER READY SENT
-On: 2011-09-11 19:28:49.826873 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:30:55.685312 ------------------
-On: 2011-09-11 19:30:55.685455 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 19:30:57.547061 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52566)
-On: 2011-09-11 19:30:57.547343 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 19:30:57.547593 Event: RECEIVER READY SENT
-On: 2011-09-11 19:31:02.354866 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/12-09-2011/GSM TMobile handler.log b/For Weekly Test/12-09-2011/GSM TMobile handler.log
deleted file mode 100644
index acf0f61..0000000
--- a/For Weekly Test/12-09-2011/GSM TMobile handler.log
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:50.590312 ------------------
-On: 2011-09-09 12:48:50.590686 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 12:48:51.813655 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47771)
-On: 2011-09-09 12:48:51.814016 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:51.814216 Event: RECEIVER READY SENT
-On: 2011-09-09 12:49:05.881506 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:29.325937 ------------------
-On: 2011-09-09 12:59:29.326293 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 12:59:30.568222 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57949)
-On: 2011-09-09 12:59:30.568583 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:59:30.568778 Event: RECEIVER READY SENT
-On: 2011-09-09 12:59:44.301288 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:00.413015 ------------------
-On: 2011-09-09 13:05:00.413369 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 13:05:01.734174 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44493)
-On: 2011-09-09 13:05:01.734527 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:01.734718 Event: RECEIVER READY SENT
-On: 2011-09-09 13:05:13.425508 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:36.468289 ------------------
-On: 2011-09-09 13:06:36.468641 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 13:06:37.752250 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44509)
-On: 2011-09-09 13:06:37.752613 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:37.752814 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:49.193498 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:54.291836 ------------------
-On: 2011-09-09 16:26:54.292192 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 16:26:55.638609 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42778)
-On: 2011-09-09 16:26:55.638985 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:26:55.639188 Event: RECEIVER READY SENT
-On: 2011-09-09 16:27:30.685203 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/12-09-2011/GSM Vodaphone handler.log b/For Weekly Test/12-09-2011/GSM Vodaphone handler.log
deleted file mode 100644
index b07dcaf..0000000
--- a/For Weekly Test/12-09-2011/GSM Vodaphone handler.log
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:29.973703 ------------------
-On: 2011-09-09 12:01:29.974088 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:01:31.288549 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39844)
-On: 2011-09-09 12:01:31.288923 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:01:31.289125 Event: RECEIVER READY SENT
-On: 2011-09-09 12:01:42.069538 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:01.958543 ------------------
-On: 2011-09-09 12:48:01.958901 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:48:03.266126 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46507)
-On: 2011-09-09 12:48:03.266485 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:03.266679 Event: RECEIVER READY SENT
-On: 2011-09-09 12:48:19.538059 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:23.872295 ------------------
-On: 2011-09-09 12:51:23.872646 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:51:25.180609 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58881)
-On: 2011-09-09 12:51:25.180965 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:25.181157 Event: CALLER READY SENT
-On: 2011-09-09 12:51:35.665094 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:22.590937 ------------------
-On: 2011-09-09 12:58:22.591294 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:58:23.464597 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34076)
-On: 2011-09-09 12:58:23.464968 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:58:23.465167 Event: RECEIVER READY SENT
-On: 2011-09-09 12:58:35.341553 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:50.346578 ------------------
-On: 2011-09-09 13:05:50.346932 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 13:05:51.666150 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55008)
-On: 2011-09-09 13:05:51.666510 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:51.666703 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:02.993510 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:53.192832 ------------------
-On: 2011-09-09 16:25:53.193191 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 16:25:54.538374 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39631)
-On: 2011-09-09 16:25:54.538750 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:25:54.538949 Event: RECEIVER READY SENT
-On: 2011-09-09 16:26:29.585947 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/12-09-2011/GSMClass.py b/For Weekly Test/12-09-2011/GSMClass.py
deleted file mode 100644
index e994814..0000000
--- a/For Weekly Test/12-09-2011/GSMClass.py
+++ /dev/null
@@ -1,304 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
-
- self.debugMode = 0
-
- def portInit(self):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
-
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
-
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/For Weekly Test/12-09-2011/GSMClass.pyc b/For Weekly Test/12-09-2011/GSMClass.pyc
deleted file mode 100644
index 59960f8..0000000
--- a/For Weekly Test/12-09-2011/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/GSMHandler.py b/For Weekly Test/12-09-2011/GSMHandler.py
deleted file mode 100644
index d701d94..0000000
--- a/For Weekly Test/12-09-2011/GSMHandler.py
+++ /dev/null
@@ -1,286 +0,0 @@
-import ServerClass
-import GSMClass
-import LogFileClass
-from time import sleep
-import sys
-
-global portListen
-global portAddress
-
-
-if len(sys.argv) <> 3:
- print "Error given command"
- sys.exit(2)
-
-
-portListen = int(sys.argv[1])
-portAddress = sys.argv[2]
-
-def initLogfile():
- global nameOfLogFile
-
- if portListen == 50007:
- nameOfLogFile = 'GSM RZ1 handler.log'
-
- elif portListen == 50010:
- nameOfLogFile = 'GSM O2 handler.log'
-
- elif portListen == 50011:
- nameOfLogFile = 'GSM Vodaphone handler.log'
-
- elif portListen == 50012:
- nameOfLogFile = 'GSM TMobile handler.log'
-
- elif portListen == 50013:
- nameOfLogFile = 'GSM EPlus handler.log'
- else:
- print "No port listening found"
-
-
-baudRate = 19200
-
-initLogfile()
-logger = LogFileClass.Logging(nameOfLogFile)
-
-errorCount = 0
-
-logger.logEvent('')
-
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-lastState = 0
-resetState = 0
-
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass.serialPort(portAddress, baudRate, 35)
-
- initDevice = gsmDevice.portInit()
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- terminateConnection()
- return 2
- else:
- logger.logEvent('$no connection')
- sys.exit(1)
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
-
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
- terminateConnection()
-
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- lastState = 3
- receiveCall = gsmDevice.receiveCall()
-
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- sendMessage = handlerSocket.sendData(callSuccess)
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller'
-
- #call the number here
- global lastState
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 6:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- return handlerSocket.sendData(callSuccess)
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- sys.exit(0.5)
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- receivedMessage += receiveMessage(10)
-
- del handlerSocket
- del gsmDevice
diff --git a/For Weekly Test/12-09-2011/Landline handler.log b/For Weekly Test/12-09-2011/Landline handler.log
deleted file mode 100644
index 7c81d53..0000000
--- a/For Weekly Test/12-09-2011/Landline handler.log
+++ /dev/null
@@ -1,327 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:18.607406 ------------------
-On: 2011-09-02 12:52:18.630918 Event: try to Connect to Controller
-On: 2011-09-02 12:52:19.825005 Event: init state
-On: 2011-09-02 12:52:19.825252 Event: Register Account to SIP server
-On: 2011-09-02 12:52:19.827301 Event: 100
-On: 2011-09-02 12:52:19.827695 Event: Receiver Handler Ready
-On: 2011-09-02 12:52:19.827758 Event: RECEIVE START
-On: 2011-09-02 12:52:25.854718 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 12:52:25.855212 Event: Call Connecting
-On: 2011-09-02 12:52:25.855251 Event: 200
-On: 2011-09-02 12:52:25.855397 Event: Answer call
-On: 2011-09-02 12:52:25.855429 Event: Hangup call
-On: 2011-09-02 12:52:25.855582 Event: CALL OK
-On: 2011-09-02 12:52:25.906299 Event: Call Disconnected
-On: 2011-09-02 12:52:26.635047 Event: Terminate
-On: 2011-09-02 12:52:26.635111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:21.554606 ------------------
-On: 2011-09-02 13:04:21.575322 Event: try to Connect to Controller
-On: 2011-09-02 13:04:22.858718 Event: init state
-On: 2011-09-02 13:04:22.858946 Event: Register Account to SIP server
-On: 2011-09-02 13:04:22.860443 Event: 100
-On: 2011-09-02 13:04:22.860784 Event: Receiver Handler Ready
-On: 2011-09-02 13:04:22.860838 Event: RECEIVE START
-On: 2011-09-02 13:04:28.893785 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:04:28.894283 Event: Call Connecting
-On: 2011-09-02 13:04:28.894322 Event: 200
-On: 2011-09-02 13:04:28.894465 Event: Answer call
-On: 2011-09-02 13:04:28.894496 Event: Hangup call
-On: 2011-09-02 13:04:28.894648 Event: CALL OK
-On: 2011-09-02 13:04:28.945299 Event: Call Disconnected
-On: 2011-09-02 13:04:29.581365 Event: Terminate
-On: 2011-09-02 13:04:29.581424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:05.499955 ------------------
-On: 2011-09-02 13:09:05.520757 Event: try to Connect to Controller
-On: 2011-09-02 13:09:06.657084 Event: init state
-On: 2011-09-02 13:09:06.657313 Event: Register Account to SIP server
-On: 2011-09-02 13:09:06.659550 Event: 100
-On: 2011-09-02 13:09:06.659647 Event: Receiver Handler Ready
-On: 2011-09-02 13:09:06.659955 Event: RECEIVE START
-On: 2011-09-02 13:09:12.539174 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:09:12.539661 Event: Call Connecting
-On: 2011-09-02 13:09:12.539700 Event: 200
-On: 2011-09-02 13:09:12.539844 Event: Answer call
-On: 2011-09-02 13:09:12.539876 Event: Hangup call
-On: 2011-09-02 13:09:12.540029 Event: CALL OK
-On: 2011-09-02 13:09:12.590670 Event: Call Disconnected
-On: 2011-09-02 13:09:13.239354 Event: Terminate
-On: 2011-09-02 13:09:13.239412 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:40.364573 ------------------
-On: 2011-09-02 13:15:40.385233 Event: try to Connect to Controller
-On: 2011-09-02 13:15:41.649241 Event: init state
-On: 2011-09-02 13:15:41.649477 Event: Register Account to SIP server
-On: 2011-09-02 13:15:41.651355 Event: 100
-On: 2011-09-02 13:15:41.651703 Event: Receiver Handler Ready
-On: 2011-09-02 13:15:41.651760 Event: RECEIVE START
-On: 2011-09-02 13:15:48.166113 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:15:48.166609 Event: Call Connecting
-On: 2011-09-02 13:15:48.166648 Event: 200
-On: 2011-09-02 13:15:48.166795 Event: Answer call
-On: 2011-09-02 13:15:48.166827 Event: Hangup call
-On: 2011-09-02 13:15:48.166985 Event: CALL OK
-On: 2011-09-02 13:15:48.217641 Event: Call Disconnected
-On: 2011-09-02 13:15:50.013696 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:15:50.014310 Event: Call Connecting
-On: 2011-09-02 13:15:50.014351 Event: 200
-On: 2011-09-02 13:15:50.014501 Event: Answer call
-On: 2011-09-02 13:15:50.014529 Event: Hangup call
-On: 2011-09-02 13:15:50.014674 Event: CALL OK
-On: 2011-09-02 13:15:50.065382 Event: Call Disconnected
-On: 2011-09-02 13:15:50.633895 Event: Terminate
-On: 2011-09-02 13:15:50.633956 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:13.402457 ------------------
-On: 2011-09-09 12:04:13.423005 Event: try to Connect to Controller
-On: 2011-09-09 12:04:14.626365 Event: init state
-On: 2011-09-09 12:04:14.626599 Event: Register Account to SIP server
-On: 2011-09-09 12:04:14.628265 Event: 100
-On: 2011-09-09 12:04:14.628609 Event: Receiver Handler Ready
-On: 2011-09-09 12:04:14.628669 Event: RECEIVE START
-On: 2011-09-09 12:04:20.692145 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:04:20.692639 Event: Call Connecting
-On: 2011-09-09 12:04:20.692678 Event: 200
-On: 2011-09-09 12:04:20.692825 Event: Answer call
-On: 2011-09-09 12:04:20.692858 Event: Hangup call
-On: 2011-09-09 12:04:20.693013 Event: CALL OK
-On: 2011-09-09 12:04:20.743692 Event: Call Disconnected
-On: 2011-09-09 12:04:21.365368 Event: Terminate
-On: 2011-09-09 12:04:21.365436 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:03.859314 ------------------
-On: 2011-09-09 12:46:03.879880 Event: try to Connect to Controller
-On: 2011-09-09 12:46:05.154437 Event: init state
-On: 2011-09-09 12:46:05.154665 Event: Register Account to SIP server
-On: 2011-09-09 12:46:05.156405 Event: 100
-On: 2011-09-09 12:46:05.156501 Event: Receiver Handler Ready
-On: 2011-09-09 12:46:05.156814 Event: RECEIVE START
-On: 2011-09-09 12:46:12.993331 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:46:12.993883 Event: Call Connecting
-On: 2011-09-09 12:46:12.993928 Event: 200
-On: 2011-09-09 12:46:12.994076 Event: Answer call
-On: 2011-09-09 12:46:12.994108 Event: Hangup call
-On: 2011-09-09 12:46:12.994260 Event: CALL OK
-On: 2011-09-09 12:46:13.044912 Event: Call Disconnected
-On: 2011-09-09 12:46:13.518160 Event: Terminate
-On: 2011-09-09 12:46:13.518225 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:32.523406 ------------------
-On: 2011-09-09 12:49:32.543709 Event: try to Connect to Controller
-On: 2011-09-09 12:49:33.806652 Event: init state
-On: 2011-09-09 12:49:33.806878 Event: Register Account to SIP server
-On: 2011-09-09 12:49:33.808777 Event: 100
-On: 2011-09-09 12:49:33.808873 Event: Receiver Handler Ready
-On: 2011-09-09 12:49:33.809184 Event: RECEIVE START
-On: 2011-09-09 12:49:39.767163 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:49:39.767661 Event: Call Connecting
-On: 2011-09-09 12:49:39.767702 Event: 200
-On: 2011-09-09 12:49:39.767853 Event: Answer call
-On: 2011-09-09 12:49:39.767885 Event: Hangup call
-On: 2011-09-09 12:49:39.768044 Event: CALL OK
-On: 2011-09-09 12:49:39.818702 Event: Call Disconnected
-On: 2011-09-09 12:49:40.461803 Event: Terminate
-On: 2011-09-09 12:49:40.461843 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:00.424514 ------------------
-On: 2011-09-09 12:50:00.445863 Event: try to Connect to Controller
-On: 2011-09-09 12:50:01.624553 Event: init state
-On: 2011-09-09 12:50:01.624780 Event: Register Account to SIP server
-On: 2011-09-09 12:50:01.626454 Event: 100
-On: 2011-09-09 12:50:01.629675 Event: Receiver Handler Ready
-On: 2011-09-09 12:50:01.629749 Event: RECEIVE START
-On: 2011-09-09 12:50:05.984948 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:50:05.985490 Event: Call Connecting
-On: 2011-09-09 12:50:05.985534 Event: 200
-On: 2011-09-09 12:50:05.985714 Event: Answer call
-On: 2011-09-09 12:50:05.985747 Event: Hangup call
-On: 2011-09-09 12:50:05.985917 Event: CALL OK
-On: 2011-09-09 12:50:06.036590 Event: Call Disconnected
-On: 2011-09-09 12:50:07.097850 Event: Terminate
-On: 2011-09-09 12:50:07.097890 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:25.754304 ------------------
-On: 2011-09-09 12:50:25.774778 Event: try to Connect to Controller
-On: 2011-09-09 12:50:26.968180 Event: init state
-On: 2011-09-09 12:50:26.968417 Event: Register Account to SIP server
-On: 2011-09-09 12:50:26.970431 Event: 100
-On: 2011-09-09 12:50:26.972636 Event: Caller Handler Ready
-On: 2011-09-09 12:50:31.977419 Event: CALL START
-On: 2011-09-09 12:50:31.977472 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:50:41.588213 Event: Call Disconnected
-On: 2011-09-09 12:50:58.976542 Event: Terminate
-On: 2011-09-09 12:50:58.976585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:16.481749 ------------------
-On: 2011-09-09 13:07:16.502112 Event: try to Connect to Controller
-On: 2011-09-09 13:07:17.789958 Event: init state
-On: 2011-09-09 13:07:17.790193 Event: Register Account to SIP server
-On: 2011-09-09 13:07:17.792481 Event: 100
-On: 2011-09-09 13:07:17.792829 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:17.792886 Event: RECEIVE START
-On: 2011-09-09 13:07:23.872615 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 13:07:23.873116 Event: Call Connecting
-On: 2011-09-09 13:07:23.873157 Event: 200
-On: 2011-09-09 13:07:23.873306 Event: Answer call
-On: 2011-09-09 13:07:23.873337 Event: Hangup call
-On: 2011-09-09 13:07:23.873542 Event: CALL OK
-On: 2011-09-09 13:07:23.924191 Event: Call Disconnected
-On: 2011-09-09 13:07:24.560455 Event: Terminate
-On: 2011-09-09 13:07:24.560513 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:44.432287 ------------------
-On: 2011-09-09 13:07:44.452745 Event: try to Connect to Controller
-On: 2011-09-09 13:07:45.733130 Event: init state
-On: 2011-09-09 13:07:45.733364 Event: Register Account to SIP server
-On: 2011-09-09 13:07:45.734871 Event: 100
-On: 2011-09-09 13:07:45.737681 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:45.737757 Event: RECEIVE START
-On: 2011-09-09 13:07:51.067366 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 13:07:51.067862 Event: Call Connecting
-On: 2011-09-09 13:07:51.067903 Event: 200
-On: 2011-09-09 13:07:51.068051 Event: Answer call
-On: 2011-09-09 13:07:51.068082 Event: Hangup call
-On: 2011-09-09 13:07:51.068238 Event: CALL OK
-On: 2011-09-09 13:07:51.118875 Event: Call Disconnected
-On: 2011-09-09 13:07:52.373796 Event: Terminate
-On: 2011-09-09 13:07:52.373836 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:10.420396 ------------------
-On: 2011-09-09 13:08:10.440680 Event: try to Connect to Controller
-On: 2011-09-09 13:08:11.707489 Event: init state
-On: 2011-09-09 13:08:11.707723 Event: Register Account to SIP server
-On: 2011-09-09 13:08:11.709786 Event: 100
-On: 2011-09-09 13:08:11.712030 Event: Caller Handler Ready
-On: 2011-09-09 13:08:16.720169 Event: CALL START
-On: 2011-09-09 13:08:16.720225 Event: Make a call to: 07612034661447
-On: 2011-09-09 13:08:22.021697 Event: Call Connecting
-On: 2011-09-09 13:08:22.021750 Event: 200
-On: 2011-09-09 13:08:22.025668 Event: Terminate
-On: 2011-09-09 13:08:22.025730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:44.548708 ------------------
-On: 2011-09-09 16:27:44.569970 Event: try to Connect to Controller
-On: 2011-09-09 16:27:45.884718 Event: init state
-On: 2011-09-09 16:27:45.884946 Event: Register Account to SIP server
-On: 2011-09-09 16:27:45.886676 Event: 100
-On: 2011-09-09 16:27:45.886773 Event: Receiver Handler Ready
-On: 2011-09-09 16:27:45.887092 Event: RECEIVE START
-On: 2011-09-09 16:27:54.508082 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 16:27:54.508585 Event: Call Connecting
-On: 2011-09-09 16:27:54.508627 Event: 200
-On: 2011-09-09 16:27:54.508773 Event: Answer call
-On: 2011-09-09 16:27:54.508805 Event: Hangup call
-On: 2011-09-09 16:27:54.508962 Event: CALL OK
-On: 2011-09-09 16:27:54.559680 Event: Call Disconnected
-On: 2011-09-09 16:27:55.022441 Event: Terminate
-On: 2011-09-09 16:27:55.022481 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:19.816093 ------------------
-On: 2011-09-09 16:28:19.837183 Event: try to Connect to Controller
-On: 2011-09-09 16:28:21.181980 Event: init state
-On: 2011-09-09 16:28:21.182208 Event: Register Account to SIP server
-On: 2011-09-09 16:28:21.184143 Event: 100
-On: 2011-09-09 16:28:21.184237 Event: Caller Handler Ready
-On: 2011-09-09 16:28:23.194234 Event: Terminate
-On: 2011-09-09 16:28:23.194275 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:09:03.763605 ------------------
-On: 2011-09-09 21:09:03.807874 Event: try to Connect to Controller
-On: 2011-09-09 21:09:04.504740 Event: init state
-On: 2011-09-09 21:09:04.504968 Event: Register Account to SIP server
-On: 2011-09-09 21:09:04.506507 Event: 100
-On: 2011-09-09 21:09:04.506597 Event: Caller Handler Ready
-On: 2011-09-09 21:09:08.512560 Event: Terminate
-On: 2011-09-09 21:09:08.512597 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:23:47.399526 ------------------
-On: 2011-10-07 16:23:47.407969 Event: try to Connect to Controller
-On: 2011-10-07 16:23:49.251647 Event: init state
-On: 2011-10-07 16:23:49.251812 Event: Register Account to SIP server
-On: 2011-10-07 16:23:49.272337 Event: 100
-On: 2011-10-07 16:23:49.273567 Event: Receiver Handler Ready
-On: 2011-10-07 16:23:49.273623 Event: RECEIVE START
-On: 2011-10-07 16:23:55.044276 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:23:55.044677 Event: Call Connecting
-On: 2011-10-07 16:23:55.044698 Event: 200
-On: 2011-10-07 16:23:55.044964 Event: Answer call
-On: 2011-10-07 16:23:55.044994 Event: Hangup call
-On: 2011-10-07 16:23:55.045095 Event: CALL OK
-On: 2011-10-07 16:23:55.045496 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:23:55.045856 Event: Call Connecting
-On: 2011-10-07 16:23:55.045881 Event: 200
-On: 2011-10-07 16:23:55.046041 Event: Answer call
-On: 2011-10-07 16:23:55.046067 Event: Hangup call
-On: 2011-10-07 16:23:55.046177 Event: CALL OK
-On: 2011-10-07 16:23:55.199153 Event: Call Disconnected
-On: 2011-10-07 16:23:55.249688 Event: Call Disconnected
-On: 2011-10-07 16:23:55.677637 Event: Terminate
-On: 2011-10-07 16:23:55.677674 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:11.530380 ------------------
-On: 2011-10-07 16:24:11.538611 Event: try to Connect to Controller
-On: 2011-10-07 16:24:13.406460 Event: init state
-On: 2011-10-07 16:24:13.406702 Event: Register Account to SIP server
-On: 2011-10-07 16:24:13.426621 Event: 100
-On: 2011-10-07 16:24:13.426727 Event: Receiver Handler Ready
-On: 2011-10-07 16:24:13.426853 Event: RECEIVE START
-On: 2011-10-07 16:24:20.846173 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:24:20.846617 Event: Call Connecting
-On: 2011-10-07 16:24:20.846661 Event: 200
-On: 2011-10-07 16:24:20.846809 Event: Answer call
-On: 2011-10-07 16:24:20.846842 Event: Hangup call
-On: 2011-10-07 16:24:20.846965 Event: CALL OK
-On: 2011-10-07 16:24:20.847410 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:24:20.847776 Event: Call Connecting
-On: 2011-10-07 16:24:20.847801 Event: 200
-On: 2011-10-07 16:24:20.847929 Event: Answer call
-On: 2011-10-07 16:24:20.847955 Event: Hangup call
-On: 2011-10-07 16:24:20.848068 Event: CALL OK
-On: 2011-10-07 16:24:21.001290 Event: Call Disconnected
-On: 2011-10-07 16:24:21.051837 Event: Call Disconnected
-On: 2011-10-07 16:24:21.586477 Event: Terminate
-On: 2011-10-07 16:24:21.586512 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:36.995238 ------------------
-On: 2011-10-07 16:24:37.004567 Event: try to Connect to Controller
-On: 2011-10-07 16:24:38.862159 Event: init state
-On: 2011-10-07 16:24:38.862284 Event: Register Account to SIP server
-On: 2011-10-07 16:24:38.899503 Event: 100
-On: 2011-10-07 16:24:38.900695 Event: Receiver Handler Ready
-On: 2011-10-07 16:24:38.900752 Event: RECEIVE START
-On: 2011-10-07 16:24:45.271658 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:24:45.272042 Event: Call Connecting
-On: 2011-10-07 16:24:45.272063 Event: 200
-On: 2011-10-07 16:24:45.272224 Event: Answer call
-On: 2011-10-07 16:24:45.272252 Event: Hangup call
-On: 2011-10-07 16:24:45.272353 Event: CALL OK
-On: 2011-10-07 16:24:45.322893 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-07 16:24:45.323236 Event: Call Connecting
-On: 2011-10-07 16:24:45.323257 Event: 200
-On: 2011-10-07 16:24:45.323413 Event: Answer call
-On: 2011-10-07 16:24:45.323437 Event: Hangup call
-On: 2011-10-07 16:24:45.323531 Event: CALL OK
-On: 2011-10-07 16:24:45.475574 Event: Call Disconnected
-On: 2011-10-07 16:24:45.526161 Event: Call Disconnected
-On: 2011-10-07 16:24:46.344003 Event: Terminate
-On: 2011-10-07 16:24:46.344048 Event: Goodbye
diff --git a/For Weekly Test/12-09-2011/LogFileClass.pyc b/For Weekly Test/12-09-2011/LogFileClass.pyc
deleted file mode 100644
index 7de94eb..0000000
--- a/For Weekly Test/12-09-2011/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/PingClass.pyc b/For Weekly Test/12-09-2011/PingClass.pyc
deleted file mode 100644
index 0f45b75..0000000
--- a/For Weekly Test/12-09-2011/PingClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/SIP handler.log b/For Weekly Test/12-09-2011/SIP handler.log
deleted file mode 100644
index 9a276ff..0000000
--- a/For Weekly Test/12-09-2011/SIP handler.log
+++ /dev/null
@@ -1,882 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:16.569462 ------------------
-On: 2011-09-02 12:52:16.590556 Event: try to Connect to Controller
-On: 2011-09-02 12:52:17.818389 Event: init state
-On: 2011-09-02 12:52:17.818926 Event: Register Account to SIP server
-On: 2011-09-02 12:52:17.819346 Event: 100
-On: 2011-09-02 12:52:17.819430 Event: Caller Handler Ready
-On: 2011-09-02 12:52:22.830562 Event: CALL START
-On: 2011-09-02 12:52:22.830621 Event: Make a call to: 076145875681
-On: 2011-09-02 12:52:26.633015 Event: Call Connecting
-On: 2011-09-02 12:52:26.633066 Event: 200
-On: 2011-09-02 12:52:26.635568 Event: Terminate
-On: 2011-09-02 12:52:26.635620 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:19.521527 ------------------
-On: 2011-09-02 13:04:19.542334 Event: try to Connect to Controller
-On: 2011-09-02 13:04:20.853864 Event: init state
-On: 2011-09-02 13:04:20.854098 Event: Register Account to SIP server
-On: 2011-09-02 13:04:20.854507 Event: 100
-On: 2011-09-02 13:04:20.854585 Event: Caller Handler Ready
-On: 2011-09-02 13:04:25.862590 Event: CALL START
-On: 2011-09-02 13:04:25.862647 Event: Make a call to: 076145875681
-On: 2011-09-02 13:04:29.575870 Event: Call Connecting
-On: 2011-09-02 13:04:29.575919 Event: 200
-On: 2011-09-02 13:04:29.579191 Event: Terminate
-On: 2011-09-02 13:04:29.579251 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:30.400558 ------------------
-On: 2011-09-02 13:04:30.426054 Event: try to Connect to Controller
-On: 2011-09-02 13:04:31.589851 Event: init state
-On: 2011-09-02 13:04:31.590091 Event: Register Account to SIP server
-On: 2011-09-02 13:04:31.590501 Event: 100
-On: 2011-09-02 13:04:31.590582 Event: Caller Handler Ready
-On: 2011-09-02 13:04:33.595630 Event: No number to call
-On: 2011-09-02 13:04:33.595665 Event: CALL NOT OK
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:03.332562 ------------------
-On: 2011-09-02 13:09:03.353588 Event: try to Connect to Controller
-On: 2011-09-02 13:09:04.647294 Event: init state
-On: 2011-09-02 13:09:04.647968 Event: Register Account to SIP server
-On: 2011-09-02 13:09:04.648454 Event: 100
-On: 2011-09-02 13:09:04.648542 Event: Caller Handler Ready
-On: 2011-09-02 13:09:09.660442 Event: CALL START
-On: 2011-09-02 13:09:09.660500 Event: Make a call to: 076145875681
-On: 2011-09-02 13:09:13.238056 Event: Call Connecting
-On: 2011-09-02 13:09:13.238106 Event: 200
-On: 2011-09-02 13:09:13.239830 Event: Terminate
-On: 2011-09-02 13:09:13.239882 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:14.079176 ------------------
-On: 2011-09-02 13:09:14.111735 Event: try to Connect to Controller
-On: 2011-09-02 13:09:15.252127 Event: init state
-On: 2011-09-02 13:09:15.252359 Event: Register Account to SIP server
-On: 2011-09-02 13:09:15.252768 Event: 100
-On: 2011-09-02 13:09:15.252850 Event: Caller Handler Ready
-On: 2011-09-02 13:09:20.260518 Event: CALL START
-On: 2011-09-02 13:09:20.260572 Event: Make a call to: 076120397898
-On: 2011-09-02 13:09:20.312559 Event: Call Connecting
-On: 2011-09-02 13:09:20.312602 Event: 200
-On: 2011-09-02 13:09:20.317870 Event: Terminate
-On: 2011-09-02 13:09:20.317929 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:38.321140 ------------------
-On: 2011-09-02 13:15:38.342105 Event: try to Connect to Controller
-On: 2011-09-02 13:15:39.643146 Event: init state
-On: 2011-09-02 13:15:39.643373 Event: Register Account to SIP server
-On: 2011-09-02 13:15:39.643790 Event: 100
-On: 2011-09-02 13:15:39.643872 Event: Caller Handler Ready
-On: 2011-09-02 13:15:44.652007 Event: CALL START
-On: 2011-09-02 13:15:44.652063 Event: Make a call to: 076145875681
-On: 2011-09-02 13:15:50.628202 Event: Call Connecting
-On: 2011-09-02 13:15:50.628251 Event: 200
-On: 2011-09-02 13:15:50.631622 Event: Terminate
-On: 2011-09-02 13:15:50.631677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:51.475577 ------------------
-On: 2011-09-02 13:15:51.511402 Event: try to Connect to Controller
-On: 2011-09-02 13:15:52.640715 Event: init state
-On: 2011-09-02 13:15:52.640948 Event: Register Account to SIP server
-On: 2011-09-02 13:15:52.641361 Event: 100
-On: 2011-09-02 13:15:52.641438 Event: Caller Handler Ready
-On: 2011-09-02 13:15:57.647572 Event: CALL START
-On: 2011-09-02 13:15:57.647631 Event: Make a call to: 076120397898
-On: 2011-09-02 13:15:57.758051 Event: Call Connecting
-On: 2011-09-02 13:15:57.758099 Event: 200
-On: 2011-09-02 13:15:57.762095 Event: Terminate
-On: 2011-09-02 13:15:57.762156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:14.235203 ------------------
-On: 2011-09-02 13:19:14.255845 Event: try to Connect to Controller
-On: 2011-09-02 13:19:15.513986 Event: init state
-On: 2011-09-02 13:19:15.514215 Event: Register Account to SIP server
-On: 2011-09-02 13:19:15.514634 Event: 100
-On: 2011-09-02 13:19:15.514714 Event: Caller Handler Ready
-On: 2011-09-02 13:19:20.521761 Event: CALL START
-On: 2011-09-02 13:19:20.521815 Event: Make a call to: 017678038038
-On: 2011-09-02 13:19:24.029595 Event: Call Connecting
-On: 2011-09-02 13:19:24.029643 Event: 200
-On: 2011-09-02 13:19:39.030951 Event: Terminate
-On: 2011-09-02 13:19:39.031002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:10.793411 ------------------
-On: 2011-09-02 13:20:10.814030 Event: try to Connect to Controller
-On: 2011-09-02 13:20:12.082004 Event: init state
-On: 2011-09-02 13:20:12.082234 Event: Register Account to SIP server
-On: 2011-09-02 13:20:12.082649 Event: 100
-On: 2011-09-02 13:20:12.082731 Event: Caller Handler Ready
-On: 2011-09-02 13:20:17.092943 Event: CALL START
-On: 2011-09-02 13:20:17.092999 Event: Make a call to: 017678038038
-On: 2011-09-02 13:20:20.135349 Event: Call Connecting
-On: 2011-09-02 13:20:20.135396 Event: 200
-On: 2011-09-02 13:20:35.136635 Event: Terminate
-On: 2011-09-02 13:20:35.136685 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:02.335449 ------------------
-On: 2011-09-02 13:21:02.356332 Event: try to Connect to Controller
-On: 2011-09-02 13:21:03.616157 Event: init state
-On: 2011-09-02 13:21:03.616388 Event: Register Account to SIP server
-On: 2011-09-02 13:21:03.616815 Event: 100
-On: 2011-09-02 13:21:03.616894 Event: Caller Handler Ready
-On: 2011-09-02 13:21:08.628942 Event: CALL START
-On: 2011-09-02 13:21:08.628995 Event: Make a call to: 017678038038
-On: 2011-09-02 13:21:11.214323 Event: Call Connecting
-On: 2011-09-02 13:21:11.214371 Event: 200
-On: 2011-09-02 13:21:26.215654 Event: Terminate
-On: 2011-09-02 13:21:26.215704 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:18.535751 ------------------
-On: 2011-09-02 13:29:18.556882 Event: try to Connect to Controller
-On: 2011-09-02 13:29:19.818174 Event: init state
-On: 2011-09-02 13:29:19.818503 Event: Register Account to SIP server
-On: 2011-09-02 13:29:19.818926 Event: 100
-On: 2011-09-02 13:29:19.819009 Event: Caller Handler Ready
-On: 2011-09-02 13:29:24.825761 Event: CALL START
-On: 2011-09-02 13:29:24.825816 Event: Make a call to: 017678038038
-On: 2011-09-02 13:29:32.222022 Event: Call Connecting
-On: 2011-09-02 13:29:32.222069 Event: 200
-On: 2011-09-02 13:29:47.223206 Event: Terminate
-On: 2011-09-02 13:29:47.223249 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:45:58.666059 ------------------
-On: 2011-09-02 13:45:58.686845 Event: try to Connect to Controller
-On: 2011-09-02 13:45:59.948541 Event: init state
-On: 2011-09-02 13:45:59.948778 Event: Register Account to SIP server
-On: 2011-09-02 13:45:59.949189 Event: 100
-On: 2011-09-02 13:45:59.949271 Event: Caller Handler Ready
-On: 2011-09-02 13:46:04.960957 Event: CALL START
-On: 2011-09-02 13:46:04.961018 Event: Make a call to: 017678038038
-On: 2011-09-02 13:46:08.725986 Event: Call Connecting
-On: 2011-09-02 13:46:08.726034 Event: 200
-On: 2011-09-02 13:46:23.727944 Event: Terminate
-On: 2011-09-02 13:46:23.727996 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:53.956104 ------------------
-On: 2011-09-02 13:49:53.976967 Event: try to Connect to Controller
-On: 2011-09-02 13:49:55.218183 Event: init state
-On: 2011-09-02 13:49:55.218439 Event: Register Account to SIP server
-On: 2011-09-02 13:49:55.218849 Event: 100
-On: 2011-09-02 13:49:55.218931 Event: Caller Handler Ready
-On: 2011-09-02 13:50:00.228948 Event: CALL START
-On: 2011-09-02 13:50:00.229003 Event: Make a call to: 017678038038
-On: 2011-09-02 13:50:03.854561 Event: Call Connecting
-On: 2011-09-02 13:50:03.854608 Event: 200
-On: 2011-09-02 13:50:18.855761 Event: Terminate
-On: 2011-09-02 13:50:18.855801 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:02.607072 ------------------
-On: 2011-09-02 13:55:02.628231 Event: try to Connect to Controller
-On: 2011-09-02 13:55:03.894910 Event: init state
-On: 2011-09-02 13:55:03.895136 Event: Register Account to SIP server
-On: 2011-09-02 13:55:03.895551 Event: 100
-On: 2011-09-02 13:55:03.895634 Event: Caller Handler Ready
-On: 2011-09-02 13:55:08.908330 Event: CALL START
-On: 2011-09-02 13:55:08.908385 Event: Make a call to: 017678038038
-On: 2011-09-02 13:55:13.119741 Event: Call Connecting
-On: 2011-09-02 13:55:13.119787 Event: 200
-On: 2011-09-02 13:55:28.120884 Event: Terminate
-On: 2011-09-02 13:55:28.120926 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:06.420185 ------------------
-On: 2011-09-09 12:01:06.441073 Event: try to Connect to Controller
-On: 2011-09-09 12:01:07.624045 Event: init state
-On: 2011-09-09 12:01:07.624285 Event: Register Account to SIP server
-On: 2011-09-09 12:01:07.625055 Event: 100
-On: 2011-09-09 12:01:07.625137 Event: Caller Handler Ready
-On: 2011-09-09 12:01:12.640588 Event: CALL START
-On: 2011-09-09 12:01:12.640715 Event: Make a call to: 017678038038
-On: 2011-09-09 12:01:22.265854 Event: Call Connecting
-On: 2011-09-09 12:01:22.265902 Event: 200
-On: 2011-09-09 12:01:22.269543 Event: Terminate
-On: 2011-09-09 12:01:22.269602 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:27.972292 ------------------
-On: 2011-09-09 12:01:27.992997 Event: try to Connect to Controller
-On: 2011-09-09 12:01:29.282631 Event: init state
-On: 2011-09-09 12:01:29.282872 Event: Register Account to SIP server
-On: 2011-09-09 12:01:29.283281 Event: 100
-On: 2011-09-09 12:01:29.283364 Event: Caller Handler Ready
-On: 2011-09-09 12:01:34.289743 Event: CALL START
-On: 2011-09-09 12:01:34.289799 Event: Make a call to: 015252423662
-On: 2011-09-09 12:01:43.808484 Event: Call Connecting
-On: 2011-09-09 12:01:43.808533 Event: 200
-On: 2011-09-09 12:01:43.812409 Event: Terminate
-On: 2011-09-09 12:01:43.812469 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:11.310443 ------------------
-On: 2011-09-09 12:04:11.331278 Event: try to Connect to Controller
-On: 2011-09-09 12:04:12.620596 Event: init state
-On: 2011-09-09 12:04:12.620841 Event: Register Account to SIP server
-On: 2011-09-09 12:04:12.621254 Event: 100
-On: 2011-09-09 12:04:12.621337 Event: Caller Handler Ready
-On: 2011-09-09 12:04:17.630856 Event: CALL START
-On: 2011-09-09 12:04:17.630920 Event: Make a call to: 076145875681
-On: 2011-09-09 12:04:21.364288 Event: Call Connecting
-On: 2011-09-09 12:04:21.364340 Event: 200
-On: 2011-09-09 12:04:21.365852 Event: Terminate
-On: 2011-09-09 12:04:21.365905 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:27.072709 ------------------
-On: 2011-09-09 12:04:27.093893 Event: try to Connect to Controller
-On: 2011-09-09 12:04:28.386696 Event: init state
-On: 2011-09-09 12:04:28.386933 Event: Register Account to SIP server
-On: 2011-09-09 12:04:28.387349 Event: 100
-On: 2011-09-09 12:04:28.387431 Event: Caller Handler Ready
-On: 2011-09-09 12:04:33.394162 Event: CALL START
-On: 2011-09-09 12:04:33.394221 Event: Make a call to: 076120397898
-On: 2011-09-09 12:04:33.442576 Event: Call Connecting
-On: 2011-09-09 12:04:33.442622 Event: 200
-On: 2011-09-09 12:04:33.443707 Event: Terminate
-On: 2011-09-09 12:04:33.443768 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:02.294476 ------------------
-On: 2011-09-09 12:09:02.314819 Event: try to Connect to Controller
-On: 2011-09-09 12:09:03.542291 Event: init state
-On: 2011-09-09 12:09:03.542526 Event: Register Account to SIP server
-On: 2011-09-09 12:09:03.542939 Event: 100
-On: 2011-09-09 12:09:03.543023 Event: Caller Handler Ready
-On: 2011-09-09 12:09:08.549418 Event: CALL START
-On: 2011-09-09 12:09:08.549474 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:09:10.146099 Event: Call Connecting
-On: 2011-09-09 12:09:10.146148 Event: 200
-On: 2011-09-09 12:09:10.345788 Event: Terminate
-On: 2011-09-09 12:09:10.345831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:01.821854 ------------------
-On: 2011-09-09 12:46:01.842126 Event: try to Connect to Controller
-On: 2011-09-09 12:46:03.149724 Event: init state
-On: 2011-09-09 12:46:03.149956 Event: Register Account to SIP server
-On: 2011-09-09 12:46:03.150372 Event: 100
-On: 2011-09-09 12:46:03.150456 Event: Caller Handler Ready
-On: 2011-09-09 12:46:08.157069 Event: CALL START
-On: 2011-09-09 12:46:08.157127 Event: Make a call to: 076145875681
-On: 2011-09-09 12:46:13.516165 Event: Call Connecting
-On: 2011-09-09 12:46:13.516213 Event: 200
-On: 2011-09-09 12:46:13.516633 Event: Terminate
-On: 2011-09-09 12:46:13.516673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:19.200607 ------------------
-On: 2011-09-09 12:46:19.221192 Event: try to Connect to Controller
-On: 2011-09-09 12:46:20.538553 Event: init state
-On: 2011-09-09 12:46:20.538784 Event: Register Account to SIP server
-On: 2011-09-09 12:46:20.539209 Event: 100
-On: 2011-09-09 12:46:20.539293 Event: Caller Handler Ready
-On: 2011-09-09 12:46:25.546196 Event: CALL START
-On: 2011-09-09 12:46:25.546257 Event: Make a call to: 076120397898
-On: 2011-09-09 12:46:25.620261 Event: Call Connecting
-On: 2011-09-09 12:46:25.620311 Event: 200
-On: 2011-09-09 12:46:25.620673 Event: Terminate
-On: 2011-09-09 12:46:25.620708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:36.818688 ------------------
-On: 2011-09-09 12:47:36.838962 Event: try to Connect to Controller
-On: 2011-09-09 12:47:38.093716 Event: init state
-On: 2011-09-09 12:47:38.093947 Event: Register Account to SIP server
-On: 2011-09-09 12:47:38.094345 Event: 100
-On: 2011-09-09 12:47:38.094424 Event: Caller Handler Ready
-On: 2011-09-09 12:47:43.104501 Event: CALL START
-On: 2011-09-09 12:47:43.104558 Event: Make a call to: 017678038038
-On: 2011-09-09 12:47:54.243504 Event: Call Connecting
-On: 2011-09-09 12:47:54.243553 Event: 200
-On: 2011-09-09 12:47:54.248176 Event: Terminate
-On: 2011-09-09 12:47:54.248240 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:59.948642 ------------------
-On: 2011-09-09 12:47:59.972325 Event: try to Connect to Controller
-On: 2011-09-09 12:48:01.261000 Event: init state
-On: 2011-09-09 12:48:01.261228 Event: Register Account to SIP server
-On: 2011-09-09 12:48:01.261688 Event: 100
-On: 2011-09-09 12:48:01.261775 Event: Caller Handler Ready
-On: 2011-09-09 12:48:06.272095 Event: CALL START
-On: 2011-09-09 12:48:06.272150 Event: Make a call to: 015252423662
-On: 2011-09-09 12:48:19.537769 Event: Terminate
-On: 2011-09-09 12:48:19.537809 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:25.257085 ------------------
-On: 2011-09-09 12:48:25.277858 Event: try to Connect to Controller
-On: 2011-09-09 12:48:26.554221 Event: init state
-On: 2011-09-09 12:48:26.554449 Event: Register Account to SIP server
-On: 2011-09-09 12:48:26.554863 Event: 100
-On: 2011-09-09 12:48:26.554945 Event: Caller Handler Ready
-On: 2011-09-09 12:48:31.561418 Event: CALL START
-On: 2011-09-09 12:48:31.561470 Event: Make a call to: 015782677224
-On: 2011-09-09 12:48:42.790005 Event: Call Connecting
-On: 2011-09-09 12:48:42.790053 Event: 200
-On: 2011-09-09 12:48:42.793676 Event: Terminate
-On: 2011-09-09 12:48:42.793741 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:48.496361 ------------------
-On: 2011-09-09 12:48:48.516769 Event: try to Connect to Controller
-On: 2011-09-09 12:48:49.807782 Event: init state
-On: 2011-09-09 12:48:49.808010 Event: Register Account to SIP server
-On: 2011-09-09 12:48:49.808428 Event: 100
-On: 2011-09-09 12:48:49.808513 Event: Caller Handler Ready
-On: 2011-09-09 12:48:54.820514 Event: CALL START
-On: 2011-09-09 12:48:54.820566 Event: Make a call to: 015128040906
-On: 2011-09-09 12:49:06.817545 Event: Terminate
-On: 2011-09-09 12:49:06.817607 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:12.538517 ------------------
-On: 2011-09-09 12:49:12.558970 Event: try to Connect to Controller
-On: 2011-09-09 12:49:13.830382 Event: init state
-On: 2011-09-09 12:49:13.830609 Event: Register Account to SIP server
-On: 2011-09-09 12:49:13.831028 Event: 100
-On: 2011-09-09 12:49:13.831112 Event: Caller Handler Ready
-On: 2011-09-09 12:49:18.839366 Event: CALL START
-On: 2011-09-09 12:49:18.839421 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:49:20.543018 Event: Call Connecting
-On: 2011-09-09 12:49:20.543066 Event: 200
-On: 2011-09-09 12:49:20.733764 Event: Terminate
-On: 2011-09-09 12:49:20.733805 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:30.502233 ------------------
-On: 2011-09-09 12:49:30.522419 Event: try to Connect to Controller
-On: 2011-09-09 12:49:31.801363 Event: init state
-On: 2011-09-09 12:49:31.801840 Event: Register Account to SIP server
-On: 2011-09-09 12:49:31.802279 Event: 100
-On: 2011-09-09 12:49:31.802366 Event: Caller Handler Ready
-On: 2011-09-09 12:49:36.809543 Event: CALL START
-On: 2011-09-09 12:49:36.809603 Event: Make a call to: 076145875681
-On: 2011-09-09 12:49:40.460699 Event: Call Connecting
-On: 2011-09-09 12:49:40.460753 Event: 200
-On: 2011-09-09 12:49:40.462290 Event: Terminate
-On: 2011-09-09 12:49:40.462345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:46.198801 ------------------
-On: 2011-09-09 12:49:46.219626 Event: try to Connect to Controller
-On: 2011-09-09 12:49:47.486204 Event: init state
-On: 2011-09-09 12:49:47.486444 Event: Register Account to SIP server
-On: 2011-09-09 12:49:47.486859 Event: 100
-On: 2011-09-09 12:49:47.486941 Event: Caller Handler Ready
-On: 2011-09-09 12:49:52.491671 Event: CALL START
-On: 2011-09-09 12:49:52.491731 Event: Make a call to: 076120397898
-On: 2011-09-09 12:49:52.569288 Event: Call Connecting
-On: 2011-09-09 12:49:52.569338 Event: 200
-On: 2011-09-09 12:49:52.569742 Event: Terminate
-On: 2011-09-09 12:49:52.569777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:20.174197 ------------------
-On: 2011-09-09 12:58:20.195014 Event: try to Connect to Controller
-On: 2011-09-09 12:58:21.458654 Event: init state
-On: 2011-09-09 12:58:21.458892 Event: Register Account to SIP server
-On: 2011-09-09 12:58:21.459311 Event: 100
-On: 2011-09-09 12:58:21.459398 Event: Caller Handler Ready
-On: 2011-09-09 12:58:26.472479 Event: CALL START
-On: 2011-09-09 12:58:26.472535 Event: Make a call to: 015252423662
-On: 2011-09-09 12:58:37.114342 Event: Call Connecting
-On: 2011-09-09 12:58:37.114393 Event: 200
-On: 2011-09-09 12:58:37.117854 Event: Terminate
-On: 2011-09-09 12:58:37.117915 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:42.916843 ------------------
-On: 2011-09-09 12:58:42.937147 Event: try to Connect to Controller
-On: 2011-09-09 12:58:44.132837 Event: init state
-On: 2011-09-09 12:58:44.133066 Event: Register Account to SIP server
-On: 2011-09-09 12:58:44.133523 Event: 100
-On: 2011-09-09 12:58:44.133611 Event: Caller Handler Ready
-On: 2011-09-09 12:58:49.138793 Event: CALL START
-On: 2011-09-09 12:58:49.138850 Event: Make a call to: 017678038038
-On: 2011-09-09 12:58:59.126113 Event: Call Connecting
-On: 2011-09-09 12:58:59.126165 Event: 200
-On: 2011-09-09 12:58:59.129673 Event: Terminate
-On: 2011-09-09 12:58:59.129736 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:04.942801 ------------------
-On: 2011-09-09 12:59:04.990449 Event: try to Connect to Controller
-On: 2011-09-09 12:59:06.152581 Event: init state
-On: 2011-09-09 12:59:06.152824 Event: Register Account to SIP server
-On: 2011-09-09 12:59:06.153236 Event: 100
-On: 2011-09-09 12:59:06.153322 Event: Caller Handler Ready
-On: 2011-09-09 12:59:11.161419 Event: CALL START
-On: 2011-09-09 12:59:11.161474 Event: Make a call to: 015782677224
-On: 2011-09-09 12:59:21.541457 Event: Call Connecting
-On: 2011-09-09 12:59:21.541510 Event: 200
-On: 2011-09-09 12:59:21.545672 Event: Terminate
-On: 2011-09-09 12:59:21.545735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:27.340187 ------------------
-On: 2011-09-09 12:59:27.360782 Event: try to Connect to Controller
-On: 2011-09-09 12:59:28.561500 Event: init state
-On: 2011-09-09 12:59:28.561749 Event: Register Account to SIP server
-On: 2011-09-09 12:59:28.562158 Event: 100
-On: 2011-09-09 12:59:28.562241 Event: Caller Handler Ready
-On: 2011-09-09 12:59:33.576600 Event: CALL START
-On: 2011-09-09 12:59:33.576660 Event: Make a call to: 015128040906
-On: 2011-09-09 12:59:45.569369 Event: Terminate
-On: 2011-09-09 12:59:45.569441 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:04:58.421962 ------------------
-On: 2011-09-09 13:04:58.442647 Event: try to Connect to Controller
-On: 2011-09-09 13:04:59.728794 Event: init state
-On: 2011-09-09 13:04:59.729021 Event: Register Account to SIP server
-On: 2011-09-09 13:04:59.729834 Event: 100
-On: 2011-09-09 13:04:59.729922 Event: Caller Handler Ready
-On: 2011-09-09 13:05:04.740606 Event: CALL START
-On: 2011-09-09 13:05:04.740660 Event: Make a call to: 015128040906
-On: 2011-09-09 13:05:15.030801 Event: Call Connecting
-On: 2011-09-09 13:05:15.030851 Event: 200
-On: 2011-09-09 13:05:15.033546 Event: Terminate
-On: 2011-09-09 13:05:15.033606 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:26.648660 ------------------
-On: 2011-09-09 13:05:26.669361 Event: try to Connect to Controller
-On: 2011-09-09 13:05:27.985769 Event: init state
-On: 2011-09-09 13:05:27.986002 Event: Register Account to SIP server
-On: 2011-09-09 13:05:27.986407 Event: 100
-On: 2011-09-09 13:05:27.986491 Event: Caller Handler Ready
-On: 2011-09-09 13:05:32.996493 Event: CALL START
-On: 2011-09-09 13:05:32.996545 Event: Make a call to: 017678038038
-On: 2011-09-09 13:05:42.643592 Event: Call Connecting
-On: 2011-09-09 13:05:42.643644 Event: 200
-On: 2011-09-09 13:05:42.647437 Event: Terminate
-On: 2011-09-09 13:05:42.647501 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:48.327361 ------------------
-On: 2011-09-09 13:05:48.348139 Event: try to Connect to Controller
-On: 2011-09-09 13:05:49.660344 Event: init state
-On: 2011-09-09 13:05:49.660579 Event: Register Account to SIP server
-On: 2011-09-09 13:05:49.661345 Event: 100
-On: 2011-09-09 13:05:49.663653 Event: Caller Handler Ready
-On: 2011-09-09 13:05:54.672639 Event: CALL START
-On: 2011-09-09 13:05:54.672694 Event: Make a call to: 015252423662
-On: 2011-09-09 13:06:05.667086 Event: Call Connecting
-On: 2011-09-09 13:06:05.667136 Event: 200
-On: 2011-09-09 13:06:05.671226 Event: Terminate
-On: 2011-09-09 13:06:05.671290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:11.405119 ------------------
-On: 2011-09-09 13:06:11.425872 Event: try to Connect to Controller
-On: 2011-09-09 13:06:12.683847 Event: init state
-On: 2011-09-09 13:06:12.684074 Event: Register Account to SIP server
-On: 2011-09-09 13:06:12.684493 Event: 100
-On: 2011-09-09 13:06:12.684578 Event: Caller Handler Ready
-On: 2011-09-09 13:06:17.696611 Event: CALL START
-On: 2011-09-09 13:06:17.696665 Event: Make a call to: 015782677224
-On: 2011-09-09 13:06:28.728114 Event: Call Connecting
-On: 2011-09-09 13:06:28.728164 Event: 200
-On: 2011-09-09 13:06:28.732045 Event: Terminate
-On: 2011-09-09 13:06:28.732110 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:34.452717 ------------------
-On: 2011-09-09 13:06:34.474895 Event: try to Connect to Controller
-On: 2011-09-09 13:06:35.745335 Event: init state
-On: 2011-09-09 13:06:35.745603 Event: Register Account to SIP server
-On: 2011-09-09 13:06:35.746018 Event: 100
-On: 2011-09-09 13:06:35.746104 Event: Caller Handler Ready
-On: 2011-09-09 13:06:40.760614 Event: CALL START
-On: 2011-09-09 13:06:40.760671 Event: Make a call to: 015128040906
-On: 2011-09-09 13:06:50.907716 Event: Call Connecting
-On: 2011-09-09 13:06:50.907768 Event: 200
-On: 2011-09-09 13:06:50.911592 Event: Terminate
-On: 2011-09-09 13:06:50.911654 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:56.605366 ------------------
-On: 2011-09-09 13:06:56.625913 Event: try to Connect to Controller
-On: 2011-09-09 13:06:57.921131 Event: init state
-On: 2011-09-09 13:06:57.921367 Event: Register Account to SIP server
-On: 2011-09-09 13:06:57.921806 Event: 100
-On: 2011-09-09 13:06:57.921892 Event: Caller Handler Ready
-On: 2011-09-09 13:07:02.929420 Event: CALL START
-On: 2011-09-09 13:07:02.929473 Event: Make a call to: 07612034661447
-On: 2011-09-09 13:07:04.508943 Event: Call Connecting
-On: 2011-09-09 13:07:04.508991 Event: 200
-On: 2011-09-09 13:07:04.713844 Event: Terminate
-On: 2011-09-09 13:07:04.713885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:14.452722 ------------------
-On: 2011-09-09 13:07:14.473633 Event: try to Connect to Controller
-On: 2011-09-09 13:07:15.783664 Event: init state
-On: 2011-09-09 13:07:15.784093 Event: Register Account to SIP server
-On: 2011-09-09 13:07:15.784532 Event: 100
-On: 2011-09-09 13:07:15.784617 Event: Caller Handler Ready
-On: 2011-09-09 13:07:20.793868 Event: CALL START
-On: 2011-09-09 13:07:20.793927 Event: Make a call to: 076145875681
-On: 2011-09-09 13:07:24.558896 Event: Call Connecting
-On: 2011-09-09 13:07:24.558946 Event: 200
-On: 2011-09-09 13:07:24.559967 Event: Terminate
-On: 2011-09-09 13:07:24.560005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:30.255299 ------------------
-On: 2011-09-09 13:07:30.275748 Event: try to Connect to Controller
-On: 2011-09-09 13:07:31.584377 Event: init state
-On: 2011-09-09 13:07:31.584611 Event: Register Account to SIP server
-On: 2011-09-09 13:07:31.585019 Event: 100
-On: 2011-09-09 13:07:31.585102 Event: Caller Handler Ready
-On: 2011-09-09 13:07:36.591716 Event: CALL START
-On: 2011-09-09 13:07:36.591776 Event: Make a call to: 076120397898
-On: 2011-09-09 13:07:36.676807 Event: Call Connecting
-On: 2011-09-09 13:07:36.676854 Event: 200
-On: 2011-09-09 13:07:36.677205 Event: Terminate
-On: 2011-09-09 13:07:36.677239 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:38:38.862334 ------------------
-On: 2011-09-09 15:38:38.883937 Event: try to Connect to Controller
-On: 2011-09-09 15:38:40.171851 Event: init state
-On: 2011-09-09 15:38:40.172085 Event: Register Account to SIP server
-On: 2011-09-09 15:38:40.172494 Event: 100
-On: 2011-09-09 15:38:40.172579 Event: Caller Handler Ready
-On: 2011-09-09 15:38:42.178095 Event: Terminate
-On: 2011-09-09 15:38:42.178134 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:39:17.710963 ------------------
-On: 2011-09-09 15:39:17.731386 Event: try to Connect to Controller
-On: 2011-09-09 15:39:19.018300 Event: init state
-On: 2011-09-09 15:39:19.018532 Event: Register Account to SIP server
-On: 2011-09-09 15:39:19.018958 Event: 100
-On: 2011-09-09 15:39:19.019036 Event: Caller Handler Ready
-On: 2011-09-09 15:39:21.025863 Event: Terminate
-On: 2011-09-09 15:39:21.025902 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:41:19.074634 ------------------
-On: 2011-09-09 15:41:19.095189 Event: try to Connect to Controller
-On: 2011-09-09 15:41:20.360841 Event: init state
-On: 2011-09-09 15:41:20.361067 Event: Register Account to SIP server
-On: 2011-09-09 15:41:20.361537 Event: 100
-On: 2011-09-09 15:41:20.361621 Event: Caller Handler Ready
-On: 2011-09-09 15:41:22.370715 Event: Terminate
-On: 2011-09-09 15:41:22.370764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:42:15.189735 ------------------
-On: 2011-09-09 15:42:15.210301 Event: try to Connect to Controller
-On: 2011-09-09 15:42:16.404871 Event: init state
-On: 2011-09-09 15:42:16.405539 Event: Register Account to SIP server
-On: 2011-09-09 15:42:16.405967 Event: 100
-On: 2011-09-09 15:42:16.406055 Event: Caller Handler Ready
-On: 2011-09-09 15:42:18.414642 Event: Terminate
-On: 2011-09-09 15:42:18.414681 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:43:05.543327 ------------------
-On: 2011-09-09 15:43:05.564248 Event: try to Connect to Controller
-On: 2011-09-09 15:43:06.842160 Event: init state
-On: 2011-09-09 15:43:06.842401 Event: Register Account to SIP server
-On: 2011-09-09 15:43:06.842824 Event: 100
-On: 2011-09-09 15:43:06.842905 Event: Caller Handler Ready
-On: 2011-09-09 15:43:08.853668 Event: Terminate
-On: 2011-09-09 15:43:08.853708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:22.249976 ------------------
-On: 2011-09-09 15:44:22.270438 Event: try to Connect to Controller
-On: 2011-09-09 15:44:23.538514 Event: init state
-On: 2011-09-09 15:44:23.538769 Event: Register Account to SIP server
-On: 2011-09-09 15:44:23.539189 Event: 100
-On: 2011-09-09 15:44:23.539271 Event: Caller Handler Ready
-On: 2011-09-09 15:44:25.545562 Event: Terminate
-On: 2011-09-09 15:44:25.545604 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:53.336432 ------------------
-On: 2011-09-09 15:44:53.356993 Event: try to Connect to Controller
-On: 2011-09-09 15:44:54.551974 Event: init state
-On: 2011-09-09 15:44:54.552203 Event: Register Account to SIP server
-On: 2011-09-09 15:44:54.552621 Event: 100
-On: 2011-09-09 15:44:54.552706 Event: Caller Handler Ready
-On: 2011-09-09 15:44:56.562051 Event: Terminate
-On: 2011-09-09 15:44:56.562100 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:46:14.749046 ------------------
-On: 2011-09-09 15:46:14.770803 Event: try to Connect to Controller
-On: 2011-09-09 15:46:15.974206 Event: init state
-On: 2011-09-09 15:46:15.974433 Event: Register Account to SIP server
-On: 2011-09-09 15:46:15.974854 Event: 100
-On: 2011-09-09 15:46:15.974936 Event: Caller Handler Ready
-On: 2011-09-09 15:46:17.981376 Event: Terminate
-On: 2011-09-09 15:46:17.981446 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:47:37.228684 ------------------
-On: 2011-09-09 15:47:37.249277 Event: try to Connect to Controller
-On: 2011-09-09 15:47:38.525094 Event: init state
-On: 2011-09-09 15:47:38.525330 Event: Register Account to SIP server
-On: 2011-09-09 15:47:38.525783 Event: 100
-On: 2011-09-09 15:47:38.525871 Event: Caller Handler Ready
-On: 2011-09-09 15:47:40.534503 Event: Terminate
-On: 2011-09-09 15:47:40.534550 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:12.215770 ------------------
-On: 2011-09-09 16:25:12.236503 Event: try to Connect to Controller
-On: 2011-09-09 16:25:13.507069 Event: init state
-On: 2011-09-09 16:25:13.507301 Event: Register Account to SIP server
-On: 2011-09-09 16:25:13.507719 Event: 100
-On: 2011-09-09 16:25:13.507800 Event: Caller Handler Ready
-On: 2011-09-09 16:25:18.516795 Event: CALL START
-On: 2011-09-09 16:25:18.516851 Event: Make a call to: 017678038038
-On: 2011-09-09 16:25:45.514445 Event: Terminate
-On: 2011-09-09 16:25:45.514489 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:51.281243 ------------------
-On: 2011-09-09 16:25:51.302095 Event: try to Connect to Controller
-On: 2011-09-09 16:25:52.533635 Event: init state
-On: 2011-09-09 16:25:52.533906 Event: Register Account to SIP server
-On: 2011-09-09 16:25:52.534322 Event: 100
-On: 2011-09-09 16:25:52.534406 Event: Caller Handler Ready
-On: 2011-09-09 16:25:57.541638 Event: CALL START
-On: 2011-09-09 16:25:57.541699 Event: Make a call to: 015252423662
-On: 2011-09-09 16:26:24.539587 Event: Terminate
-On: 2011-09-09 16:26:24.539627 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:30.307947 ------------------
-On: 2011-09-09 16:26:30.329095 Event: try to Connect to Controller
-On: 2011-09-09 16:26:31.557342 Event: init state
-On: 2011-09-09 16:26:31.557574 Event: Register Account to SIP server
-On: 2011-09-09 16:26:31.558034 Event: 100
-On: 2011-09-09 16:26:31.558122 Event: Caller Handler Ready
-On: 2011-09-09 16:26:36.565637 Event: CALL START
-On: 2011-09-09 16:26:36.565699 Event: Make a call to: 015782677224
-On: 2011-09-09 16:26:46.616524 Event: Call Connecting
-On: 2011-09-09 16:26:46.616576 Event: 200
-On: 2011-09-09 16:26:46.620666 Event: Terminate
-On: 2011-09-09 16:26:46.620732 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:52.259958 ------------------
-On: 2011-09-09 16:26:52.280364 Event: try to Connect to Controller
-On: 2011-09-09 16:26:53.634030 Event: init state
-On: 2011-09-09 16:26:53.634261 Event: Register Account to SIP server
-On: 2011-09-09 16:26:53.634680 Event: 100
-On: 2011-09-09 16:26:53.634766 Event: Caller Handler Ready
-On: 2011-09-09 16:26:58.641649 Event: CALL START
-On: 2011-09-09 16:26:58.641713 Event: Make a call to: 015128040906
-On: 2011-09-09 16:27:25.606837 Event: Call Connecting
-On: 2011-09-09 16:27:25.606888 Event: 200
-On: 2011-09-09 16:27:25.639857 Event: Terminate
-On: 2011-09-09 16:27:25.639901 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:31.408855 ------------------
-On: 2011-09-09 16:27:31.429888 Event: try to Connect to Controller
-On: 2011-09-09 16:27:32.659182 Event: init state
-On: 2011-09-09 16:27:32.659415 Event: Register Account to SIP server
-On: 2011-09-09 16:27:32.660211 Event: 100
-On: 2011-09-09 16:27:32.660293 Event: Caller Handler Ready
-On: 2011-09-09 16:27:34.670023 Event: Terminate
-On: 2011-09-09 16:27:34.670079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:42.491745 ------------------
-On: 2011-09-09 16:27:42.512376 Event: try to Connect to Controller
-On: 2011-09-09 16:27:43.865970 Event: init state
-On: 2011-09-09 16:27:43.866200 Event: Register Account to SIP server
-On: 2011-09-09 16:27:43.866626 Event: 100
-On: 2011-09-09 16:27:43.866712 Event: Caller Handler Ready
-On: 2011-09-09 16:27:48.889806 Event: CALL START
-On: 2011-09-09 16:27:48.889866 Event: Make a call to: 076145875681
-On: 2011-09-09 16:27:55.021303 Event: Call Connecting
-On: 2011-09-09 16:27:55.021355 Event: 200
-On: 2011-09-09 16:27:55.022924 Event: Terminate
-On: 2011-09-09 16:27:55.022977 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:00.672211 ------------------
-On: 2011-09-09 16:28:00.692884 Event: try to Connect to Controller
-On: 2011-09-09 16:28:02.044754 Event: init state
-On: 2011-09-09 16:28:02.044982 Event: Register Account to SIP server
-On: 2011-09-09 16:28:02.045399 Event: 100
-On: 2011-09-09 16:28:02.045484 Event: Caller Handler Ready
-On: 2011-09-09 16:28:07.053669 Event: CALL START
-On: 2011-09-09 16:28:07.053731 Event: Make a call to: 076120397898
-On: 2011-09-09 16:28:07.102375 Event: Call Connecting
-On: 2011-09-09 16:28:07.102424 Event: 200
-On: 2011-09-09 16:28:07.102788 Event: Terminate
-On: 2011-09-09 16:28:07.102824 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:13:08.268235 ------------------
-On: 2011-09-09 21:13:08.288873 Event: try to Connect to Controller
-On: 2011-09-09 21:13:09.522915 Event: init state
-On: 2011-09-09 21:13:09.523144 Event: Register Account to SIP server
-On: 2011-09-09 21:13:09.523552 Event: 100
-On: 2011-09-09 21:13:09.523632 Event: Caller Handler Ready
-On: 2011-09-09 21:13:13.533965 Event: Terminate
-On: 2011-09-09 21:13:13.534002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:01.155335 ------------------
-On: 2011-09-09 21:14:01.176101 Event: try to Connect to Controller
-On: 2011-09-09 21:14:02.425716 Event: init state
-On: 2011-09-09 21:14:02.426285 Event: Register Account to SIP server
-On: 2011-09-09 21:14:02.427064 Event: 100
-On: 2011-09-09 21:14:02.427144 Event: Caller Handler Ready
-On: 2011-09-09 21:14:09.445645 Event: CALL START
-On: 2011-09-09 21:14:09.445712 Event: Make a call to: 07612034661447
-On: 2011-09-09 21:14:11.160668 Event: Call Connecting
-On: 2011-09-09 21:14:11.160719 Event: 200
-On: 2011-09-09 21:14:11.370512 Event: Terminate
-On: 2011-09-09 21:14:11.370573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:57.856204 ------------------
-On: 2011-09-09 21:14:57.877032 Event: try to Connect to Controller
-On: 2011-09-09 21:14:59.130334 Event: init state
-On: 2011-09-09 21:14:59.130571 Event: Register Account to SIP server
-On: 2011-09-09 21:14:59.130983 Event: 100
-On: 2011-09-09 21:14:59.131066 Event: Caller Handler Ready
-On: 2011-09-09 21:15:06.148501 Event: CALL START
-On: 2011-09-09 21:15:06.148559 Event: Make a call to: 07612034661447
-On: 2011-09-09 21:15:08.884062 Event: Call Connecting
-On: 2011-09-09 21:15:08.884111 Event: 200
-On: 2011-09-09 21:15:09.068798 Event: Terminate
-On: 2011-09-09 21:15:09.068860 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:15:33.766068 ------------------
-On: 2011-09-11 19:15:33.774711 Event: try to Connect to Controller
-On: 2011-09-11 19:15:35.417153 Event: init state
-On: 2011-09-11 19:15:35.417417 Event: Register Account to SIP server
-On: 2011-09-11 19:15:35.417963 Event: 100
-On: 2011-09-11 19:15:35.418041 Event: Caller Handler Ready
-On: 2011-09-11 19:15:40.426004 Event: CALL START
-On: 2011-09-11 19:15:40.426035 Event: Make a call to: 07612034661447
-On: 2011-09-11 19:15:42.988003 Event: Call Connecting
-On: 2011-09-11 19:15:42.988031 Event: 200
-On: 2011-09-11 19:15:43.167299 Event: Terminate
-On: 2011-09-11 19:15:43.167324 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:28:39.750652 ------------------
-On: 2011-09-11 19:28:39.759566 Event: try to Connect to Controller
-On: 2011-09-11 19:28:41.535864 Event: init state
-On: 2011-09-11 19:28:41.536207 Event: Register Account to SIP server
-On: 2011-09-11 19:28:41.537025 Event: 100
-On: 2011-09-11 19:28:41.537142 Event: Caller Handler Ready
-On: 2011-09-11 19:28:46.546774 Event: CALL START
-On: 2011-09-11 19:28:46.546821 Event: Make a call to: 07612034661447
-On: 2011-09-11 19:28:49.638442 Event: Call Connecting
-On: 2011-09-11 19:28:49.638470 Event: 200
-On: 2011-09-11 19:28:49.827043 Event: Terminate
-On: 2011-09-11 19:28:49.827114 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:30:53.805436 ------------------
-On: 2011-09-11 19:30:53.814752 Event: try to Connect to Controller
-On: 2011-09-11 19:30:55.541769 Event: init state
-On: 2011-09-11 19:30:55.541888 Event: Register Account to SIP server
-On: 2011-09-11 19:30:55.542222 Event: 100
-On: 2011-09-11 19:30:55.542304 Event: Caller Handler Ready
-On: 2011-09-11 19:31:00.548988 Event: CALL START
-On: 2011-09-11 19:31:00.549023 Event: Make a call to: 07612034661447
-On: 2011-09-11 19:31:02.156565 Event: Call Connecting
-On: 2011-09-11 19:31:02.156587 Event: 200
-On: 2011-09-11 19:31:02.354954 Event: Terminate
-On: 2011-09-11 19:31:02.354977 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:06.914614 ------------------
-On: 2011-10-07 16:20:06.926710 Event: try to Connect to Controller
-On: 2011-10-07 16:20:08.738475 Event: init state
-On: 2011-10-07 16:20:08.738585 Event: Register Account to SIP server
-On: 2011-10-07 16:20:08.738755 Event: 100
-On: 2011-10-07 16:20:08.738777 Event: Caller Handler Ready
-On: 2011-10-07 16:20:10.740754 Event: Terminate
-On: 2011-10-07 16:20:10.740792 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:29.171072 ------------------
-On: 2011-10-07 16:20:29.179393 Event: try to Connect to Controller
-On: 2011-10-07 16:20:31.044155 Event: init state
-On: 2011-10-07 16:20:31.044321 Event: Register Account to SIP server
-On: 2011-10-07 16:20:31.044709 Event: 100
-On: 2011-10-07 16:20:31.044761 Event: Caller Handler Ready
-On: 2011-10-07 16:20:33.049444 Event: Terminate
-On: 2011-10-07 16:20:33.049481 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:51.278545 ------------------
-On: 2011-10-07 16:20:51.287911 Event: try to Connect to Controller
-On: 2011-10-07 16:20:53.141920 Event: init state
-On: 2011-10-07 16:20:53.142067 Event: Register Account to SIP server
-On: 2011-10-07 16:20:53.142379 Event: 100
-On: 2011-10-07 16:20:53.142422 Event: Caller Handler Ready
-On: 2011-10-07 16:20:55.146880 Event: Terminate
-On: 2011-10-07 16:20:55.146916 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:23:45.369869 ------------------
-On: 2011-10-07 16:23:45.380545 Event: try to Connect to Controller
-On: 2011-10-07 16:23:47.246475 Event: init state
-On: 2011-10-07 16:23:47.246601 Event: Register Account to SIP server
-On: 2011-10-07 16:23:47.246905 Event: 100
-On: 2011-10-07 16:23:47.246949 Event: Caller Handler Ready
-On: 2011-10-07 16:23:52.275435 Event: CALL START
-On: 2011-10-07 16:23:52.275487 Event: Make a call to: 076145875681
-On: 2011-10-07 16:23:55.676862 Event: Call Connecting
-On: 2011-10-07 16:23:55.676895 Event: 200
-On: 2011-10-07 16:23:55.677996 Event: Terminate
-On: 2011-10-07 16:23:55.678029 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:09.539116 ------------------
-On: 2011-10-07 16:24:09.547369 Event: try to Connect to Controller
-On: 2011-10-07 16:24:11.401238 Event: init state
-On: 2011-10-07 16:24:11.401384 Event: Register Account to SIP server
-On: 2011-10-07 16:24:11.401699 Event: 100
-On: 2011-10-07 16:24:11.401742 Event: Caller Handler Ready
-On: 2011-10-07 16:24:16.430008 Event: CALL START
-On: 2011-10-07 16:24:16.430061 Event: Make a call to: 076145875681
-On: 2011-10-07 16:24:21.586123 Event: Call Connecting
-On: 2011-10-07 16:24:21.586157 Event: 200
-On: 2011-10-07 16:24:21.586791 Event: Terminate
-On: 2011-10-07 16:24:21.586817 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:35.011569 ------------------
-On: 2011-10-07 16:24:35.022197 Event: try to Connect to Controller
-On: 2011-10-07 16:24:36.857069 Event: init state
-On: 2011-10-07 16:24:36.857196 Event: Register Account to SIP server
-On: 2011-10-07 16:24:36.857494 Event: 100
-On: 2011-10-07 16:24:36.857570 Event: Caller Handler Ready
-On: 2011-10-07 16:24:41.901101 Event: CALL START
-On: 2011-10-07 16:24:41.901149 Event: Make a call to: 076145875681
-On: 2011-10-07 16:24:46.343573 Event: Call Connecting
-On: 2011-10-07 16:24:46.343611 Event: 200
-On: 2011-10-07 16:24:46.344398 Event: Terminate
-On: 2011-10-07 16:24:46.344433 Event: Goodbye
diff --git a/For Weekly Test/12-09-2011/SIPHandler.py b/For Weekly Test/12-09-2011/SIPHandler.py
deleted file mode 100644
index 8802a09..0000000
--- a/For Weekly Test/12-09-2011/SIPHandler.py
+++ /dev/null
@@ -1,233 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print '\n'
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
-
- call.answer(200)
- logger.logEvent("Answer call")
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('Cant connect to Controller')
- sys.exit(1)
-
-def initLogFile(sipServer):
-
- global logger
-
- if sipServer == '132.230.4.8':
- nameOfLogFile = 'SIP handler.log'
- print '--SIP Asterisk--'
-
- elif sipServer == 'sipgate.de':
- nameOfLogFile = 'Landline handler.log'
- print '--Landline--'
-
- elif sipServer == '132.230.252.228':
- nameOfLogFile = 'University SIP handler.log'
- print '--university tephone network--'
-
- logger = LogFileClass.Logging(nameOfLogFile)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- num = message[7:]
-
-def initHandler():
- global sipServer
- global username
- global password
-
-
- accConf = sys.argv[1]
- username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- sipServer = newLine[0:newLine.find(':')]
-
-
-lib = pj.Lib()
-stop = False
-
-initHandler()
-
-initLogFile(sipServer)
-
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
-
-
- try:
- initState()
- acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password))
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'RECEIVE START':
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'CALL START':
- if num <> '':
- sleep(3)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/12-09-2011/SSHTunnelBoxClass.py b/For Weekly Test/12-09-2011/SSHTunnelBoxClass.py
deleted file mode 100644
index 0447365..0000000
--- a/For Weekly Test/12-09-2011/SSHTunnelBoxClass.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-from time import sleep
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- #self.__sshTunnel = subprocess.Popen(['ssh','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- sleep(2)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-
diff --git a/For Weekly Test/12-09-2011/SSHTunnelBoxClass.pyc b/For Weekly Test/12-09-2011/SSHTunnelBoxClass.pyc
deleted file mode 100644
index 97a2eff..0000000
--- a/For Weekly Test/12-09-2011/SSHTunnelBoxClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/SSHTunnelClass.py b/For Weekly Test/12-09-2011/SSHTunnelClass.py
deleted file mode 100644
index 12bedeb..0000000
--- a/For Weekly Test/12-09-2011/SSHTunnelClass.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-x = SSHTunneling(50000, 50008, '10.4.58.241', 'lsfks', 'r')
-print x.startTunneling()
-print 'Tunnel started '
-sleep(50)
-print x.killTunneling()
-print 'kill tunnel'
diff --git a/For Weekly Test/12-09-2011/ServerClass.pyc b/For Weekly Test/12-09-2011/ServerClass.pyc
deleted file mode 100644
index 64585cb..0000000
--- a/For Weekly Test/12-09-2011/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/TestProcessLog.log b/For Weekly Test/12-09-2011/TestProcessLog.log
deleted file mode 100644
index 6add96b..0000000
--- a/For Weekly Test/12-09-2011/TestProcessLog.log
+++ /dev/null
@@ -1,1210 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:15.812810 ------------------
-On: 2011-09-02 12:52:15.812883 Event: init Caller
-On: 2011-09-02 12:52:15.812903 Event: sip
-On: 2011-09-02 12:52:17.817969 Event: Connected to Caller Handler
-On: 2011-09-02 12:52:17.818675 Event: Caller Handler respond
-On: 2011-09-02 12:52:17.819528 Event: Caller handler : Ready
-On: 2011-09-02 12:52:17.819569 Event: init Receiver
-On: 2011-09-02 12:52:17.819595 Event: landline
-On: 2011-09-02 12:52:19.824816 Event: Connected to Receiver Handler
-On: 2011-09-02 12:52:19.825098 Event: Receiver Handler respond
-On: 2011-09-02 12:52:19.827498 Event: Receiver handler : Ready
-On: 2011-09-02 12:52:19.827537 Event: Start Call
-On: 2011-09-02 12:52:19.827601 Event: Waiting Feedback
-On: 2011-09-02 12:52:26.633878 Event: Test Succeed
-On: 2011-09-02 12:52:26.644193 Event:
-On: 2011-09-02 12:52:26.644251 Event: init Caller
-On: 2011-09-02 12:52:26.644269 Event: sip
-On: 2011-09-02 12:52:28.649312 Event: Connected to Caller Handler
-On: 2011-09-02 12:52:28.649590 Event: Caller Handler respond
-On: 2011-09-02 12:52:28.650405 Event: Caller handler : Ready
-On: 2011-09-02 12:52:28.650443 Event: init Receiver
-On: 2011-09-02 12:52:28.650469 Event: unisip
-On: 2011-09-02 12:52:30.655084 Event: Connected to Receiver Handler
-On: 2011-09-02 12:52:30.655364 Event: Receiver Handler respond
-On: 2011-09-02 12:52:30.656066 Event: Receiver handler : Ready
-On: 2011-09-02 12:52:30.656105 Event: Start Call
-On: 2011-09-02 12:52:30.656698 Event: Waiting Feedback
-On: 2011-09-02 12:53:00.656958 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:18.848335 ------------------
-On: 2011-09-02 13:04:18.848398 Event: init Caller
-On: 2011-09-02 13:04:18.848417 Event: sip
-On: 2011-09-02 13:04:20.853617 Event: Connected to Caller Handler
-On: 2011-09-02 13:04:20.853958 Event: Caller Handler respond
-On: 2011-09-02 13:04:20.854678 Event: Caller handler : Ready
-On: 2011-09-02 13:04:20.854719 Event: init Receiver
-On: 2011-09-02 13:04:20.854743 Event: landline
-On: 2011-09-02 13:04:22.858461 Event: Connected to Receiver Handler
-On: 2011-09-02 13:04:22.858814 Event: Receiver Handler respond
-On: 2011-09-02 13:04:22.860591 Event: Receiver handler : Ready
-On: 2011-09-02 13:04:22.860627 Event: Start Call
-On: 2011-09-02 13:04:22.860685 Event: Waiting Feedback
-On: 2011-09-02 13:04:29.576696 Event: Test Succeed
-On: 2011-09-02 13:04:29.584650 Event:
-On: 2011-09-02 13:04:29.584707 Event: init Caller
-On: 2011-09-02 13:04:29.584726 Event: sip
-On: 2011-09-02 13:04:31.589550 Event: Connected to Caller Handler
-On: 2011-09-02 13:04:31.589950 Event: Caller Handler respond
-On: 2011-09-02 13:04:31.590679 Event: Caller handler : Ready
-On: 2011-09-02 13:04:31.590718 Event: init Receiver
-On: 2011-09-02 13:04:31.590741 Event: unisip
-On: 2011-09-02 13:04:33.594421 Event: Connected to Receiver Handler
-On: 2011-09-02 13:04:33.594764 Event: Receiver Handler respond
-On: 2011-09-02 13:04:33.595457 Event: Receiver handler : Ready
-On: 2011-09-02 13:04:33.595495 Event: Start Call
-On: 2011-09-02 13:04:33.595556 Event: Waiting Feedback
-On: 2011-09-02 13:05:03.595791 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:02.641693 ------------------
-On: 2011-09-02 13:09:02.641830 Event: init Caller
-On: 2011-09-02 13:09:02.641850 Event: sip
-On: 2011-09-02 13:09:04.647125 Event: Connected to Caller Handler
-On: 2011-09-02 13:09:04.647767 Event: Caller Handler respond
-On: 2011-09-02 13:09:04.648935 Event: Caller handler : Ready
-On: 2011-09-02 13:09:04.649021 Event: init Receiver
-On: 2011-09-02 13:09:04.649044 Event: landline
-On: 2011-09-02 13:09:06.656899 Event: Connected to Receiver Handler
-On: 2011-09-02 13:09:06.657181 Event: Receiver Handler respond
-On: 2011-09-02 13:09:06.659748 Event: Receiver handler : Ready
-On: 2011-09-02 13:09:06.659786 Event: Start Call
-On: 2011-09-02 13:09:06.659847 Event: Waiting Feedback
-On: 2011-09-02 13:09:13.238259 Event: Test Succeed
-On: 2011-09-02 13:09:13.247357 Event:
-On: 2011-09-02 13:09:13.247417 Event: init Caller
-On: 2011-09-02 13:09:13.247435 Event: sip
-On: 2011-09-02 13:09:15.251937 Event: Connected to Caller Handler
-On: 2011-09-02 13:09:15.252220 Event: Caller Handler respond
-On: 2011-09-02 13:09:15.252946 Event: Caller handler : Ready
-On: 2011-09-02 13:09:15.252984 Event: init Receiver
-On: 2011-09-02 13:09:15.253008 Event: unisip
-On: 2011-09-02 13:09:17.258093 Event: Connected to Receiver Handler
-On: 2011-09-02 13:09:17.258378 Event: Receiver Handler respond
-On: 2011-09-02 13:09:17.259084 Event: Receiver handler : Ready
-On: 2011-09-02 13:09:17.259121 Event: Start Call
-On: 2011-09-02 13:09:17.259183 Event: Waiting Feedback
-On: 2011-09-02 13:09:20.312755 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:37.637599 ------------------
-On: 2011-09-02 13:15:37.637663 Event: init Caller
-On: 2011-09-02 13:15:37.637682 Event: sip
-On: 2011-09-02 13:15:39.642941 Event: Connected to Caller Handler
-On: 2011-09-02 13:15:39.643236 Event: Caller Handler respond
-On: 2011-09-02 13:15:39.643967 Event: Caller handler : Ready
-On: 2011-09-02 13:15:39.644003 Event: init Receiver
-On: 2011-09-02 13:15:39.644028 Event: landline
-On: 2011-09-02 13:15:41.648975 Event: Connected to Receiver Handler
-On: 2011-09-02 13:15:41.649337 Event: Receiver Handler respond
-On: 2011-09-02 13:15:41.651502 Event: Receiver handler : Ready
-On: 2011-09-02 13:15:41.651540 Event: Start Call
-On: 2011-09-02 13:15:41.651599 Event: Waiting Feedback
-On: 2011-09-02 13:15:50.629049 Event: Test Failed
-On: 2011-09-02 13:15:50.637139 Event:
-On: 2011-09-02 13:15:50.637197 Event: init Caller
-On: 2011-09-02 13:15:50.637215 Event: sip
-On: 2011-09-02 13:15:52.640454 Event: Connected to Caller Handler
-On: 2011-09-02 13:15:52.640806 Event: Caller Handler respond
-On: 2011-09-02 13:15:52.641530 Event: Caller handler : Ready
-On: 2011-09-02 13:15:52.641566 Event: init Receiver
-On: 2011-09-02 13:15:52.641590 Event: unisip
-On: 2011-09-02 13:15:54.645612 Event: Connected to Receiver Handler
-On: 2011-09-02 13:15:54.646019 Event: Receiver Handler respond
-On: 2011-09-02 13:15:54.647105 Event: Receiver handler : Ready
-On: 2011-09-02 13:15:54.647144 Event: Start Call
-On: 2011-09-02 13:15:54.647206 Event: Waiting Feedback
-On: 2011-09-02 13:15:57.758864 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:13.508499 ------------------
-On: 2011-09-02 13:19:13.508577 Event: init Caller
-On: 2011-09-02 13:19:13.508596 Event: sip
-On: 2011-09-02 13:19:15.513781 Event: Connected to Caller Handler
-On: 2011-09-02 13:19:15.514080 Event: Caller Handler respond
-On: 2011-09-02 13:19:15.514811 Event: Caller handler : Ready
-On: 2011-09-02 13:19:15.514853 Event: init Receiver
-On: 2011-09-02 13:19:15.514877 Event: GSMExt.O2
-On: 2011-09-02 13:19:17.518679 Event: Connected to Receiver Handler
-On: 2011-09-02 13:19:17.518968 Event: Receiver Handler respond
-On: 2011-09-02 13:19:17.519149 Event: Receiver handler : Ready
-On: 2011-09-02 13:19:17.519179 Event: Start Call
-On: 2011-09-02 13:19:17.519230 Event: Waiting Feedback
-On: 2011-09-02 13:19:39.030524 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:10.076476 ------------------
-On: 2011-09-02 13:20:10.076554 Event: init Caller
-On: 2011-09-02 13:20:10.076574 Event: sip
-On: 2011-09-02 13:20:12.081798 Event: Connected to Caller Handler
-On: 2011-09-02 13:20:12.082100 Event: Caller Handler respond
-On: 2011-09-02 13:20:12.082828 Event: Caller handler : Ready
-On: 2011-09-02 13:20:12.082869 Event: init Receiver
-On: 2011-09-02 13:20:12.082894 Event: GSMExt.O2
-On: 2011-09-02 13:20:14.086675 Event: Connected to Receiver Handler
-On: 2011-09-02 13:20:14.086970 Event: Receiver Handler respond
-On: 2011-09-02 13:20:14.087147 Event: Receiver handler : Ready
-On: 2011-09-02 13:20:14.087177 Event: Start Call
-On: 2011-09-02 13:20:14.087226 Event: Waiting Feedback
-On: 2011-09-02 13:20:35.136213 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:01.610728 ------------------
-On: 2011-09-02 13:21:01.610805 Event: init Caller
-On: 2011-09-02 13:21:01.610824 Event: sip
-On: 2011-09-02 13:21:03.615958 Event: Connected to Caller Handler
-On: 2011-09-02 13:21:03.616251 Event: Caller Handler respond
-On: 2011-09-02 13:21:03.616991 Event: Caller handler : Ready
-On: 2011-09-02 13:21:03.617033 Event: init Receiver
-On: 2011-09-02 13:21:03.617058 Event: GSMExt.O2
-On: 2011-09-02 13:21:05.622314 Event: Connected to Receiver Handler
-On: 2011-09-02 13:21:05.622597 Event: Receiver Handler respond
-On: 2011-09-02 13:21:05.622778 Event: Receiver handler : Ready
-On: 2011-09-02 13:21:05.622806 Event: Start Call
-On: 2011-09-02 13:21:05.622856 Event: Waiting Feedback
-On: 2011-09-02 13:21:26.215228 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:17.812561 ------------------
-On: 2011-09-02 13:29:17.812640 Event: init Caller
-On: 2011-09-02 13:29:17.812660 Event: sip
-On: 2011-09-02 13:29:19.817817 Event: Connected to Caller Handler
-On: 2011-09-02 13:29:19.818345 Event: Caller Handler respond
-On: 2011-09-02 13:29:19.819103 Event: Caller handler : Ready
-On: 2011-09-02 13:29:19.819144 Event: init Receiver
-On: 2011-09-02 13:29:19.819168 Event: GSMExt.O2
-On: 2011-09-02 13:29:21.822807 Event: Connected to Receiver Handler
-On: 2011-09-02 13:29:21.823161 Event: Receiver Handler respond
-On: 2011-09-02 13:29:21.823346 Event: Receiver handler : Ready
-On: 2011-09-02 13:29:21.823375 Event: Start Call
-On: 2011-09-02 13:29:21.823424 Event: Waiting Feedback
-On: 2011-09-02 13:29:47.222920 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:45:57.943323 ------------------
-On: 2011-09-02 13:45:57.943398 Event: init Caller
-On: 2011-09-02 13:45:57.943418 Event: sip
-On: 2011-09-02 13:45:59.948336 Event: Connected to Caller Handler
-On: 2011-09-02 13:45:59.948639 Event: Caller Handler respond
-On: 2011-09-02 13:45:59.949368 Event: Caller handler : Ready
-On: 2011-09-02 13:45:59.949409 Event: init Receiver
-On: 2011-09-02 13:45:59.949434 Event: GSMExt.O2
-On: 2011-09-02 13:46:01.954630 Event: Connected to Receiver Handler
-On: 2011-09-02 13:46:01.954927 Event: Receiver Handler respond
-On: 2011-09-02 13:46:01.955110 Event: Receiver handler : Ready
-On: 2011-09-02 13:46:01.955140 Event: Start Call
-On: 2011-09-02 13:46:01.955191 Event: Waiting Feedback
-On: 2011-09-02 13:46:23.726910 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:53.213947 ------------------
-On: 2011-09-02 13:49:53.214026 Event: init Caller
-On: 2011-09-02 13:49:53.214045 Event: sip
-On: 2011-09-02 13:49:55.217988 Event: Connected to Caller Handler
-On: 2011-09-02 13:49:55.218301 Event: Caller Handler respond
-On: 2011-09-02 13:49:55.219031 Event: Caller handler : Ready
-On: 2011-09-02 13:49:55.219066 Event: init Receiver
-On: 2011-09-02 13:49:55.219090 Event: GSMExt.O2
-On: 2011-09-02 13:49:57.222667 Event: Connected to Receiver Handler
-On: 2011-09-02 13:49:57.222952 Event: Receiver Handler respond
-On: 2011-09-02 13:49:57.223128 Event: Receiver handler : Ready
-On: 2011-09-02 13:49:57.223156 Event: Start Call
-On: 2011-09-02 13:49:57.223205 Event: Waiting Feedback
-On: 2011-09-02 13:50:18.855495 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:01.889409 ------------------
-On: 2011-09-02 13:55:01.889481 Event: init Caller
-On: 2011-09-02 13:55:01.889501 Event: sip
-On: 2011-09-02 13:55:03.894714 Event: Connected to Caller Handler
-On: 2011-09-02 13:55:03.895000 Event: Caller Handler respond
-On: 2011-09-02 13:55:03.895730 Event: Caller handler : Ready
-On: 2011-09-02 13:55:03.895773 Event: init Receiver
-On: 2011-09-02 13:55:03.895798 Event: GSMExt.O2
-On: 2011-09-02 13:55:05.900959 Event: Connected to Receiver Handler
-On: 2011-09-02 13:55:05.901245 Event: Receiver Handler respond
-On: 2011-09-02 13:55:05.901419 Event: Receiver handler : Ready
-On: 2011-09-02 13:55:05.901448 Event: Start Call
-On: 2011-09-02 13:55:05.901497 Event: Waiting Feedback
-On: 2011-09-02 13:55:28.120619 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:05.619501 ------------------
-On: 2011-09-09 12:01:05.619577 Event: init Caller
-On: 2011-09-09 12:01:05.619599 Event: sip
-On: 2011-09-09 12:01:07.623842 Event: Connected to Caller Handler
-On: 2011-09-09 12:01:07.624141 Event: Caller Handler respond
-On: 2011-09-09 12:01:07.625241 Event: Caller handler : Ready
-On: 2011-09-09 12:01:07.625281 Event: init Receiver
-On: 2011-09-09 12:01:07.625302 Event: GSMExt.O2
-On: 2011-09-09 12:01:09.633642 Event: Connected to Receiver Handler
-On: 2011-09-09 12:01:09.633923 Event: Receiver Handler respond
-On: 2011-09-09 12:01:09.634113 Event: Receiver handler : Ready
-On: 2011-09-09 12:01:09.634144 Event: Start Call
-On: 2011-09-09 12:01:09.634195 Event: Waiting Feedback
-On: 2011-09-09 12:01:22.266054 Event: Test Succeed
-On: 2011-09-09 12:01:27.277575 Event:
-On: 2011-09-09 12:01:27.277634 Event: init Caller
-On: 2011-09-09 12:01:27.277652 Event: sip
-On: 2011-09-09 12:01:29.282370 Event: Connected to Caller Handler
-On: 2011-09-09 12:01:29.282725 Event: Caller Handler respond
-On: 2011-09-09 12:01:29.283468 Event: Caller handler : Ready
-On: 2011-09-09 12:01:29.283508 Event: init Receiver
-On: 2011-09-09 12:01:29.283529 Event: GSMExt.Voda
-On: 2011-09-09 12:01:31.288720 Event: Connected to Receiver Handler
-On: 2011-09-09 12:01:31.289008 Event: Receiver Handler respond
-On: 2011-09-09 12:01:31.289199 Event: Receiver handler : Ready
-On: 2011-09-09 12:01:31.289228 Event: Start Call
-On: 2011-09-09 12:01:31.289279 Event: Waiting Feedback
-On: 2011-09-09 12:01:43.808688 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:10.615217 ------------------
-On: 2011-09-09 12:04:10.615292 Event: init Caller
-On: 2011-09-09 12:04:10.615314 Event: sip
-On: 2011-09-09 12:04:12.620325 Event: Connected to Caller Handler
-On: 2011-09-09 12:04:12.620691 Event: Caller Handler respond
-On: 2011-09-09 12:04:12.621478 Event: Caller handler : Ready
-On: 2011-09-09 12:04:12.621519 Event: init Receiver
-On: 2011-09-09 12:04:12.621540 Event: landline
-On: 2011-09-09 12:04:14.626109 Event: Connected to Receiver Handler
-On: 2011-09-09 12:04:14.626460 Event: Receiver Handler respond
-On: 2011-09-09 12:04:14.628417 Event: Receiver handler : Ready
-On: 2011-09-09 12:04:14.628455 Event: Start Call
-On: 2011-09-09 12:04:14.628512 Event: Waiting Feedback
-On: 2011-09-09 12:04:21.365130 Event: Test Succeed
-On: 2011-09-09 12:04:26.381644 Event:
-On: 2011-09-09 12:04:26.381698 Event: init Caller
-On: 2011-09-09 12:04:26.381716 Event: sip
-On: 2011-09-09 12:04:28.386440 Event: Connected to Caller Handler
-On: 2011-09-09 12:04:28.386789 Event: Caller Handler respond
-On: 2011-09-09 12:04:28.387534 Event: Caller handler : Ready
-On: 2011-09-09 12:04:28.387573 Event: init Receiver
-On: 2011-09-09 12:04:28.387594 Event: unisip
-On: 2011-09-09 12:04:30.392544 Event: Connected to Receiver Handler
-On: 2011-09-09 12:04:30.392822 Event: Receiver Handler respond
-On: 2011-09-09 12:04:30.393628 Event: Receiver handler : Ready
-On: 2011-09-09 12:04:30.393666 Event: Start Call
-On: 2011-09-09 12:04:30.393850 Event: Waiting Feedback
-On: 2011-09-09 12:04:33.442773 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:01.536879 ------------------
-On: 2011-09-09 12:09:01.536956 Event: init Caller
-On: 2011-09-09 12:09:01.536978 Event: sip
-On: 2011-09-09 12:09:03.542094 Event: Connected to Caller Handler
-On: 2011-09-09 12:09:03.542383 Event: Caller Handler respond
-On: 2011-09-09 12:09:03.543125 Event: Caller handler : Ready
-On: 2011-09-09 12:09:03.543165 Event: init Receiver
-On: 2011-09-09 12:09:03.543185 Event: GSMRZ1
-On: 2011-09-09 12:09:05.548629 Event: Connected to Receiver Handler
-On: 2011-09-09 12:09:05.548909 Event: Receiver Handler respond
-On: 2011-09-09 12:09:05.549100 Event: Receiver handler : Ready
-On: 2011-09-09 12:09:05.549129 Event: Start Call
-On: 2011-09-09 12:09:05.549179 Event: Waiting Feedback
-On: 2011-09-09 12:09:10.345535 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:01.144322 ------------------
-On: 2011-09-09 12:46:01.144390 Event: init Caller
-On: 2011-09-09 12:46:01.144413 Event: sip
-On: 2011-09-09 12:46:03.149521 Event: Connected to Caller Handler
-On: 2011-09-09 12:46:03.149816 Event: Caller Handler respond
-On: 2011-09-09 12:46:03.150558 Event: Caller handler : Ready
-On: 2011-09-09 12:46:03.150599 Event: init Receiver
-On: 2011-09-09 12:46:03.150620 Event: landline
-On: 2011-09-09 12:46:05.154250 Event: Connected to Receiver Handler
-On: 2011-09-09 12:46:05.154530 Event: Receiver Handler respond
-On: 2011-09-09 12:46:05.156606 Event: Receiver handler : Ready
-On: 2011-09-09 12:46:05.156646 Event: Start Call
-On: 2011-09-09 12:46:05.156706 Event: Waiting Feedback
-On: 2011-09-09 12:46:13.516381 Event: Test Succeed
-On: 2011-09-09 12:46:18.533509 Event:
-On: 2011-09-09 12:46:18.533571 Event: init Caller
-On: 2011-09-09 12:46:18.533589 Event: sip
-On: 2011-09-09 12:46:20.538367 Event: Connected to Caller Handler
-On: 2011-09-09 12:46:20.538645 Event: Caller Handler respond
-On: 2011-09-09 12:46:20.539395 Event: Caller handler : Ready
-On: 2011-09-09 12:46:20.539434 Event: init Receiver
-On: 2011-09-09 12:46:20.539455 Event: unisip
-On: 2011-09-09 12:46:22.544487 Event: Connected to Receiver Handler
-On: 2011-09-09 12:46:22.544849 Event: Receiver Handler respond
-On: 2011-09-09 12:46:22.545635 Event: Receiver handler : Ready
-On: 2011-09-09 12:46:22.545674 Event: Start Call
-On: 2011-09-09 12:46:22.545732 Event: Waiting Feedback
-On: 2011-09-09 12:46:25.620472 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:36.088306 ------------------
-On: 2011-09-09 12:47:36.088376 Event: init Caller
-On: 2011-09-09 12:47:36.088398 Event: sip
-On: 2011-09-09 12:47:38.093513 Event: Connected to Caller Handler
-On: 2011-09-09 12:47:38.093811 Event: Caller Handler respond
-On: 2011-09-09 12:47:38.094524 Event: Caller handler : Ready
-On: 2011-09-09 12:47:38.094565 Event: init Receiver
-On: 2011-09-09 12:47:38.094588 Event: GSMExt.O2
-On: 2011-09-09 12:47:40.099336 Event: Connected to Receiver Handler
-On: 2011-09-09 12:47:40.099640 Event: Receiver Handler respond
-On: 2011-09-09 12:47:40.099832 Event: Receiver handler : Ready
-On: 2011-09-09 12:47:40.099861 Event: Start Call
-On: 2011-09-09 12:47:40.099912 Event: Waiting Feedback
-On: 2011-09-09 12:47:54.244354 Event: Test Succeed
-On: 2011-09-09 12:47:59.255888 Event:
-On: 2011-09-09 12:47:59.255948 Event: init Caller
-On: 2011-09-09 12:47:59.255967 Event: sip
-On: 2011-09-09 12:48:01.260814 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:01.261091 Event: Caller Handler respond
-On: 2011-09-09 12:48:01.261878 Event: Caller handler : Ready
-On: 2011-09-09 12:48:01.261916 Event: init Receiver
-On: 2011-09-09 12:48:01.261939 Event: GSMExt.Voda
-On: 2011-09-09 12:48:03.266290 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:03.266567 Event: Receiver Handler respond
-On: 2011-09-09 12:48:03.266752 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:03.266781 Event: Start Call
-On: 2011-09-09 12:48:03.266831 Event: Waiting Feedback
-On: 2011-09-09 12:48:19.537540 Event: Test Failed
-On: 2011-09-09 12:48:24.549113 Event:
-On: 2011-09-09 12:48:24.549173 Event: init Caller
-On: 2011-09-09 12:48:24.549192 Event: sip
-On: 2011-09-09 12:48:26.554040 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:26.554313 Event: Caller Handler respond
-On: 2011-09-09 12:48:26.555048 Event: Caller handler : Ready
-On: 2011-09-09 12:48:26.555089 Event: init Receiver
-On: 2011-09-09 12:48:26.555110 Event: GSMExt.Eplus
-On: 2011-09-09 12:48:28.558631 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:28.558907 Event: Receiver Handler respond
-On: 2011-09-09 12:48:28.559092 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:28.559122 Event: Start Call
-On: 2011-09-09 12:48:28.559170 Event: Waiting Feedback
-On: 2011-09-09 12:48:42.790837 Event: Test Succeed
-On: 2011-09-09 12:48:47.802750 Event:
-On: 2011-09-09 12:48:47.802811 Event: init Caller
-On: 2011-09-09 12:48:47.802830 Event: sip
-On: 2011-09-09 12:48:49.807600 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:49.807872 Event: Caller Handler respond
-On: 2011-09-09 12:48:49.808614 Event: Caller handler : Ready
-On: 2011-09-09 12:48:49.808652 Event: init Receiver
-On: 2011-09-09 12:48:49.808675 Event: GSMExt.Tm
-On: 2011-09-09 12:48:51.813820 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:51.814101 Event: Receiver Handler respond
-On: 2011-09-09 12:48:51.814289 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:51.814319 Event: Start Call
-On: 2011-09-09 12:48:51.814369 Event: Waiting Feedback
-On: 2011-09-09 12:49:06.814537 Event: Test Failed
-On: 2011-09-09 12:49:11.825921 Event:
-On: 2011-09-09 12:49:11.825980 Event: init Caller
-On: 2011-09-09 12:49:11.825999 Event: sip
-On: 2011-09-09 12:49:13.830202 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:13.830473 Event: Caller Handler respond
-On: 2011-09-09 12:49:13.831213 Event: Caller handler : Ready
-On: 2011-09-09 12:49:13.831251 Event: init Receiver
-On: 2011-09-09 12:49:13.831272 Event: GSMRZ1
-On: 2011-09-09 12:49:15.835950 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:15.836309 Event: Receiver Handler respond
-On: 2011-09-09 12:49:15.836522 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:15.836547 Event: Start Call
-On: 2011-09-09 12:49:15.836595 Event: Waiting Feedback
-On: 2011-09-09 12:49:20.733540 Event: Test Succeed
-On: 2011-09-09 12:49:29.796274 Event:
-On: 2011-09-09 12:49:29.796334 Event: init Caller
-On: 2011-09-09 12:49:29.796353 Event: sip
-On: 2011-09-09 12:49:31.801098 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:31.801495 Event: Caller Handler respond
-On: 2011-09-09 12:49:31.802466 Event: Caller handler : Ready
-On: 2011-09-09 12:49:31.802506 Event: init Receiver
-On: 2011-09-09 12:49:31.802527 Event: landline
-On: 2011-09-09 12:49:33.806467 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:33.806746 Event: Receiver Handler respond
-On: 2011-09-09 12:49:33.808977 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:33.809018 Event: Start Call
-On: 2011-09-09 12:49:33.809076 Event: Waiting Feedback
-On: 2011-09-09 12:49:40.461582 Event: Test Succeed
-On: 2011-09-09 12:49:45.481119 Event:
-On: 2011-09-09 12:49:45.481178 Event: init Caller
-On: 2011-09-09 12:49:45.481197 Event: sip
-On: 2011-09-09 12:49:47.485941 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:47.486300 Event: Caller Handler respond
-On: 2011-09-09 12:49:47.487042 Event: Caller handler : Ready
-On: 2011-09-09 12:49:47.487082 Event: init Receiver
-On: 2011-09-09 12:49:47.487103 Event: unisip
-On: 2011-09-09 12:49:49.490090 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:49.490452 Event: Receiver Handler respond
-On: 2011-09-09 12:49:49.491203 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:49.491242 Event: Start Call
-On: 2011-09-09 12:49:49.491302 Event: Waiting Feedback
-On: 2011-09-09 12:49:52.569543 Event: Test Succeed
-On: 2011-09-09 12:49:57.610176 Event:
-On: 2011-09-09 12:49:57.610237 Event: init Caller
-On: 2011-09-09 12:49:57.610256 Event: GSMRZ1
-On: 2011-09-09 12:49:59.620522 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:59.620792 Event: Caller Handler respond
-On: 2011-09-09 12:49:59.620981 Event: Caller handler : Ready
-On: 2011-09-09 12:49:59.621010 Event: init Receiver
-On: 2011-09-09 12:49:59.621029 Event: landline
-On: 2011-09-09 12:50:01.624373 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:01.624646 Event: Receiver Handler respond
-On: 2011-09-09 12:50:01.626604 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:01.626643 Event: Start Call
-On: 2011-09-09 12:50:01.629568 Event: Waiting Feedback
-On: 2011-09-09 12:50:07.097630 Event: Test Succeed
-On: 2011-09-09 12:50:12.113981 Event:
-On: 2011-09-09 12:50:12.114041 Event: init Caller
-On: 2011-09-09 12:50:12.114060 Event: GSMRZ1
-On: 2011-09-09 12:50:14.119019 Event: Connected to Caller Handler
-On: 2011-09-09 12:50:14.119291 Event: Caller Handler respond
-On: 2011-09-09 12:50:14.119481 Event: Caller handler : Ready
-On: 2011-09-09 12:50:14.119511 Event: init Receiver
-On: 2011-09-09 12:50:14.119530 Event: unisip
-On: 2011-09-09 12:50:16.124483 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:16.124845 Event: Receiver Handler respond
-On: 2011-09-09 12:50:16.125623 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:16.125663 Event: Start Call
-On: 2011-09-09 12:50:16.129569 Event: Waiting Feedback
-On: 2011-09-09 12:50:19.921589 Event: Test Succeed
-On: 2011-09-09 12:50:24.963154 Event:
-On: 2011-09-09 12:50:24.963216 Event: init Caller
-On: 2011-09-09 12:50:24.963235 Event: landline
-On: 2011-09-09 12:50:26.967918 Event: Connected to Caller Handler
-On: 2011-09-09 12:50:26.968274 Event: Caller Handler respond
-On: 2011-09-09 12:50:26.970586 Event: Caller handler : Ready
-On: 2011-09-09 12:50:26.970625 Event: init Receiver
-On: 2011-09-09 12:50:26.970647 Event: GSMRZ1
-On: 2011-09-09 12:50:28.975496 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:28.975776 Event: Receiver Handler respond
-On: 2011-09-09 12:50:28.975963 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:28.975993 Event: Start Call
-On: 2011-09-09 12:50:28.976044 Event: Waiting Feedback
-On: 2011-09-09 12:50:58.976271 Event: Test Failed
-On: 2011-09-09 12:51:03.983591 Event:
-On: 2011-09-09 12:51:03.983642 Event: init Caller
-On: 2011-09-09 12:51:03.983660 Event: GSMExt.O2
-On: 2011-09-09 12:51:05.992451 Event: Connected to Caller Handler
-On: 2011-09-09 12:51:05.992726 Event: Caller Handler respond
-On: 2011-09-09 12:51:05.992918 Event: Caller handler : Ready
-On: 2011-09-09 12:51:05.992948 Event: init Receiver
-On: 2011-09-09 12:51:05.992968 Event: GSMRZ1
-On: 2011-09-09 12:51:07.998170 Event: Connected to Receiver Handler
-On: 2011-09-09 12:51:07.998675 Event: Receiver Handler respond
-On: 2011-09-09 12:51:07.998877 Event: Receiver handler : Ready
-On: 2011-09-09 12:51:07.998904 Event: Start Call
-On: 2011-09-09 12:51:08.001577 Event: Waiting Feedback
-On: 2011-09-09 12:51:18.169584 Event: Test Failed
-On: 2011-09-09 12:51:23.175667 Event:
-On: 2011-09-09 12:51:23.175720 Event: init Caller
-On: 2011-09-09 12:51:23.175738 Event: GSMExt.Voda
-On: 2011-09-09 12:51:25.180773 Event: Connected to Caller Handler
-On: 2011-09-09 12:51:25.181042 Event: Caller Handler respond
-On: 2011-09-09 12:51:25.181230 Event: Caller handler : Ready
-On: 2011-09-09 12:51:25.181259 Event: init Receiver
-On: 2011-09-09 12:51:25.181278 Event: GSMRZ1
-On: 2011-09-09 12:51:27.186469 Event: Connected to Receiver Handler
-On: 2011-09-09 12:51:27.186746 Event: Receiver Handler respond
-On: 2011-09-09 12:51:27.186931 Event: Receiver handler : Ready
-On: 2011-09-09 12:51:27.186960 Event: Start Call
-On: 2011-09-09 12:51:27.189454 Event: Waiting Feedback
-On: 2011-09-09 12:51:35.661555 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:19.454818 ------------------
-On: 2011-09-09 12:58:19.454891 Event: init Caller
-On: 2011-09-09 12:58:19.454914 Event: sip
-On: 2011-09-09 12:58:21.458456 Event: Connected to Caller Handler
-On: 2011-09-09 12:58:21.458751 Event: Caller Handler respond
-On: 2011-09-09 12:58:21.459501 Event: Caller handler : Ready
-On: 2011-09-09 12:58:21.459540 Event: init Receiver
-On: 2011-09-09 12:58:21.459562 Event: GSMExt.Voda
-On: 2011-09-09 12:58:23.464764 Event: Connected to Receiver Handler
-On: 2011-09-09 12:58:23.465052 Event: Receiver Handler respond
-On: 2011-09-09 12:58:23.465240 Event: Receiver handler : Ready
-On: 2011-09-09 12:58:23.465270 Event: Start Call
-On: 2011-09-09 12:58:23.465321 Event: Waiting Feedback
-On: 2011-09-09 12:58:37.115022 Event: Test Succeed
-On: 2011-09-09 12:58:42.127750 Event:
-On: 2011-09-09 12:58:42.127809 Event: init Caller
-On: 2011-09-09 12:58:42.127828 Event: sip
-On: 2011-09-09 12:58:44.132655 Event: Connected to Caller Handler
-On: 2011-09-09 12:58:44.132928 Event: Caller Handler respond
-On: 2011-09-09 12:58:44.133715 Event: Caller handler : Ready
-On: 2011-09-09 12:58:44.133755 Event: init Receiver
-On: 2011-09-09 12:58:44.133776 Event: GSMExt.O2
-On: 2011-09-09 12:58:46.137720 Event: Connected to Receiver Handler
-On: 2011-09-09 12:58:46.138000 Event: Receiver Handler respond
-On: 2011-09-09 12:58:46.138189 Event: Receiver handler : Ready
-On: 2011-09-09 12:58:46.138219 Event: Start Call
-On: 2011-09-09 12:58:46.138268 Event: Waiting Feedback
-On: 2011-09-09 12:58:59.126955 Event: Test Succeed
-On: 2011-09-09 12:59:04.145864 Event:
-On: 2011-09-09 12:59:04.145924 Event: init Caller
-On: 2011-09-09 12:59:04.145942 Event: sip
-On: 2011-09-09 12:59:06.152317 Event: Connected to Caller Handler
-On: 2011-09-09 12:59:06.152679 Event: Caller Handler respond
-On: 2011-09-09 12:59:06.153467 Event: Caller handler : Ready
-On: 2011-09-09 12:59:06.153504 Event: init Receiver
-On: 2011-09-09 12:59:06.153525 Event: GSMExt.Eplus
-On: 2011-09-09 12:59:08.158353 Event: Connected to Receiver Handler
-On: 2011-09-09 12:59:08.158637 Event: Receiver Handler respond
-On: 2011-09-09 12:59:08.158826 Event: Receiver handler : Ready
-On: 2011-09-09 12:59:08.158856 Event: Start Call
-On: 2011-09-09 12:59:08.161443 Event: Waiting Feedback
-On: 2011-09-09 12:59:21.542318 Event: Test Succeed
-On: 2011-09-09 12:59:26.556958 Event:
-On: 2011-09-09 12:59:26.557015 Event: init Caller
-On: 2011-09-09 12:59:26.557034 Event: sip
-On: 2011-09-09 12:59:28.561206 Event: Connected to Caller Handler
-On: 2011-09-09 12:59:28.561603 Event: Caller Handler respond
-On: 2011-09-09 12:59:28.562346 Event: Caller handler : Ready
-On: 2011-09-09 12:59:28.562385 Event: init Receiver
-On: 2011-09-09 12:59:28.562406 Event: GSMExt.Tm
-On: 2011-09-09 12:59:30.568388 Event: Connected to Receiver Handler
-On: 2011-09-09 12:59:30.568665 Event: Receiver Handler respond
-On: 2011-09-09 12:59:30.568851 Event: Receiver handler : Ready
-On: 2011-09-09 12:59:30.568879 Event: Start Call
-On: 2011-09-09 12:59:30.568927 Event: Waiting Feedback
-On: 2011-09-09 12:59:45.569112 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:04:57.723379 ------------------
-On: 2011-09-09 13:04:57.723453 Event: init Caller
-On: 2011-09-09 13:04:57.723475 Event: sip
-On: 2011-09-09 13:04:59.728595 Event: Connected to Caller Handler
-On: 2011-09-09 13:04:59.728885 Event: Caller Handler respond
-On: 2011-09-09 13:04:59.730024 Event: Caller handler : Ready
-On: 2011-09-09 13:04:59.730076 Event: init Receiver
-On: 2011-09-09 13:04:59.730097 Event: GSMExt.Tm
-On: 2011-09-09 13:05:01.734340 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:01.734609 Event: Receiver Handler respond
-On: 2011-09-09 13:05:01.734790 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:01.734815 Event: Start Call
-On: 2011-09-09 13:05:01.734865 Event: Waiting Feedback
-On: 2011-09-09 13:05:15.031001 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:25.980348 ------------------
-On: 2011-09-09 13:05:25.980415 Event: init Caller
-On: 2011-09-09 13:05:25.980437 Event: sip
-On: 2011-09-09 13:05:27.985494 Event: Connected to Caller Handler
-On: 2011-09-09 13:05:27.985861 Event: Caller Handler respond
-On: 2011-09-09 13:05:27.986592 Event: Caller handler : Ready
-On: 2011-09-09 13:05:27.986629 Event: init Receiver
-On: 2011-09-09 13:05:27.986652 Event: GSMExt.O2
-On: 2011-09-09 13:05:29.990123 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:29.990408 Event: Receiver Handler respond
-On: 2011-09-09 13:05:29.990585 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:29.990609 Event: Start Call
-On: 2011-09-09 13:05:29.990658 Event: Waiting Feedback
-On: 2011-09-09 13:05:42.643801 Event: Test Succeed
-On: 2011-09-09 13:05:47.655181 Event:
-On: 2011-09-09 13:05:47.655238 Event: init Caller
-On: 2011-09-09 13:05:47.655256 Event: sip
-On: 2011-09-09 13:05:49.660085 Event: Connected to Caller Handler
-On: 2011-09-09 13:05:49.660436 Event: Caller Handler respond
-On: 2011-09-09 13:05:49.661518 Event: Caller handler : Ready
-On: 2011-09-09 13:05:49.661575 Event: init Receiver
-On: 2011-09-09 13:05:49.661599 Event: GSMExt.Voda
-On: 2011-09-09 13:05:51.666317 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:51.666592 Event: Receiver Handler respond
-On: 2011-09-09 13:05:51.666774 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:51.666798 Event: Start Call
-On: 2011-09-09 13:05:51.666847 Event: Waiting Feedback
-On: 2011-09-09 13:06:05.667291 Event: Test Succeed
-On: 2011-09-09 13:06:10.678591 Event:
-On: 2011-09-09 13:06:10.678653 Event: init Caller
-On: 2011-09-09 13:06:10.678671 Event: sip
-On: 2011-09-09 13:06:12.683667 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:12.683938 Event: Caller Handler respond
-On: 2011-09-09 13:06:12.684680 Event: Caller handler : Ready
-On: 2011-09-09 13:06:12.684714 Event: init Receiver
-On: 2011-09-09 13:06:12.684735 Event: GSMExt.Eplus
-On: 2011-09-09 13:06:14.689915 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:14.690180 Event: Receiver Handler respond
-On: 2011-09-09 13:06:14.690356 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:14.690379 Event: Start Call
-On: 2011-09-09 13:06:14.690429 Event: Waiting Feedback
-On: 2011-09-09 13:06:28.728315 Event: Test Succeed
-On: 2011-09-09 13:06:33.739613 Event:
-On: 2011-09-09 13:06:33.739672 Event: init Caller
-On: 2011-09-09 13:06:33.739691 Event: sip
-On: 2011-09-09 13:06:35.745154 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:35.745459 Event: Caller Handler respond
-On: 2011-09-09 13:06:35.746205 Event: Caller handler : Ready
-On: 2011-09-09 13:06:35.746246 Event: init Receiver
-On: 2011-09-09 13:06:35.746267 Event: GSMExt.Tm
-On: 2011-09-09 13:06:37.752416 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:37.752695 Event: Receiver Handler respond
-On: 2011-09-09 13:06:37.752889 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:37.752919 Event: Start Call
-On: 2011-09-09 13:06:37.752972 Event: Waiting Feedback
-On: 2011-09-09 13:06:50.907924 Event: Test Succeed
-On: 2011-09-09 13:06:55.915835 Event:
-On: 2011-09-09 13:06:55.915895 Event: init Caller
-On: 2011-09-09 13:06:55.915913 Event: sip
-On: 2011-09-09 13:06:57.920870 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:57.921224 Event: Caller Handler respond
-On: 2011-09-09 13:06:57.921995 Event: Caller handler : Ready
-On: 2011-09-09 13:06:57.922035 Event: init Receiver
-On: 2011-09-09 13:06:57.922055 Event: GSMRZ1
-On: 2011-09-09 13:06:59.926777 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:59.927043 Event: Receiver Handler respond
-On: 2011-09-09 13:06:59.927219 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:59.927244 Event: Start Call
-On: 2011-09-09 13:06:59.927290 Event: Waiting Feedback
-On: 2011-09-09 13:07:04.713563 Event: Test Succeed
-On: 2011-09-09 13:07:13.778583 Event:
-On: 2011-09-09 13:07:13.778642 Event: init Caller
-On: 2011-09-09 13:07:13.778661 Event: sip
-On: 2011-09-09 13:07:15.783404 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:15.783757 Event: Caller Handler respond
-On: 2011-09-09 13:07:15.784719 Event: Caller handler : Ready
-On: 2011-09-09 13:07:15.784758 Event: init Receiver
-On: 2011-09-09 13:07:15.784779 Event: landline
-On: 2011-09-09 13:07:17.789693 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:17.790052 Event: Receiver Handler respond
-On: 2011-09-09 13:07:17.792634 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:17.792673 Event: Start Call
-On: 2011-09-09 13:07:17.792729 Event: Waiting Feedback
-On: 2011-09-09 13:07:24.559737 Event: Test Succeed
-On: 2011-09-09 13:07:29.579205 Event:
-On: 2011-09-09 13:07:29.579265 Event: init Caller
-On: 2011-09-09 13:07:29.579284 Event: sip
-On: 2011-09-09 13:07:31.584117 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:31.584470 Event: Caller Handler respond
-On: 2011-09-09 13:07:31.585202 Event: Caller handler : Ready
-On: 2011-09-09 13:07:31.585240 Event: init Receiver
-On: 2011-09-09 13:07:31.585261 Event: unisip
-On: 2011-09-09 13:07:33.590249 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:33.590521 Event: Receiver Handler respond
-On: 2011-09-09 13:07:33.591254 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:33.591292 Event: Start Call
-On: 2011-09-09 13:07:33.591350 Event: Waiting Feedback
-On: 2011-09-09 13:07:36.677009 Event: Test Succeed
-On: 2011-09-09 13:07:41.722972 Event:
-On: 2011-09-09 13:07:41.723030 Event: init Caller
-On: 2011-09-09 13:07:41.723048 Event: GSMRZ1
-On: 2011-09-09 13:07:43.728040 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:43.728319 Event: Caller Handler respond
-On: 2011-09-09 13:07:43.728513 Event: Caller handler : Ready
-On: 2011-09-09 13:07:43.728544 Event: init Receiver
-On: 2011-09-09 13:07:43.728563 Event: landline
-On: 2011-09-09 13:07:45.732870 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:45.733224 Event: Receiver Handler respond
-On: 2011-09-09 13:07:45.735013 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:45.735050 Event: Start Call
-On: 2011-09-09 13:07:45.737574 Event: Waiting Feedback
-On: 2011-09-09 13:07:52.373582 Event: Test Succeed
-On: 2011-09-09 13:07:57.387174 Event:
-On: 2011-09-09 13:07:57.387237 Event: init Caller
-On: 2011-09-09 13:07:57.387255 Event: GSMRZ1
-On: 2011-09-09 13:07:59.392300 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:59.392572 Event: Caller Handler respond
-On: 2011-09-09 13:07:59.392762 Event: Caller handler : Ready
-On: 2011-09-09 13:07:59.392791 Event: init Receiver
-On: 2011-09-09 13:07:59.392809 Event: unisip
-On: 2011-09-09 13:08:01.397824 Event: Connected to Receiver Handler
-On: 2011-09-09 13:08:01.398174 Event: Receiver Handler respond
-On: 2011-09-09 13:08:01.398902 Event: Receiver handler : Ready
-On: 2011-09-09 13:08:01.398943 Event: Start Call
-On: 2011-09-09 13:08:01.401568 Event: Waiting Feedback
-On: 2011-09-09 13:08:04.657590 Event: Test Succeed
-On: 2011-09-09 13:08:09.702428 Event:
-On: 2011-09-09 13:08:09.702487 Event: init Caller
-On: 2011-09-09 13:08:09.702505 Event: landline
-On: 2011-09-09 13:08:11.707232 Event: Connected to Caller Handler
-On: 2011-09-09 13:08:11.707582 Event: Caller Handler respond
-On: 2011-09-09 13:08:11.709940 Event: Caller handler : Ready
-On: 2011-09-09 13:08:11.709976 Event: init Receiver
-On: 2011-09-09 13:08:11.709997 Event: GSMRZ1
-On: 2011-09-09 13:08:13.714305 Event: Connected to Receiver Handler
-On: 2011-09-09 13:08:13.714577 Event: Receiver Handler respond
-On: 2011-09-09 13:08:13.714765 Event: Receiver handler : Ready
-On: 2011-09-09 13:08:13.714794 Event: Start Call
-On: 2011-09-09 13:08:13.714845 Event: Waiting Feedback
-On: 2011-09-09 13:08:22.022370 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:38:38.166477 ------------------
-On: 2011-09-09 15:38:38.166549 Event: init Caller
-On: 2011-09-09 15:38:38.166571 Event: sip
-On: 2011-09-09 15:38:40.171649 Event: Connected to Caller Handler
-On: 2011-09-09 15:38:40.171946 Event: Caller Handler respond
-On: 2011-09-09 15:38:40.172683 Event: Caller handler : Ready
-On: 2011-09-09 15:38:40.172724 Event: init Receiver
-On: 2011-09-09 15:38:40.172746 Event: GSMRZ3
-On: 2011-09-09 15:38:42.177853 Event: Cannt connect to Receiver
-On: 2011-09-09 15:38:42.177912 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:39:17.005589 ------------------
-On: 2011-09-09 15:39:17.005666 Event: init Caller
-On: 2011-09-09 15:39:17.005689 Event: sip
-On: 2011-09-09 15:39:19.018101 Event: Connected to Caller Handler
-On: 2011-09-09 15:39:19.018392 Event: Caller Handler respond
-On: 2011-09-09 15:39:19.019134 Event: Caller handler : Ready
-On: 2011-09-09 15:39:19.019174 Event: init Receiver
-On: 2011-09-09 15:39:19.019195 Event: GSMRZ3
-On: 2011-09-09 15:39:21.025622 Event: Cannt connect to Receiver
-On: 2011-09-09 15:39:21.025683 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:41:18.355443 ------------------
-On: 2011-09-09 15:41:18.355514 Event: init Caller
-On: 2011-09-09 15:41:18.355536 Event: sip
-On: 2011-09-09 15:41:20.360646 Event: Connected to Caller Handler
-On: 2011-09-09 15:41:20.360934 Event: Caller Handler respond
-On: 2011-09-09 15:41:20.361723 Event: Caller handler : Ready
-On: 2011-09-09 15:41:20.361762 Event: init Receiver
-On: 2011-09-09 15:41:20.361782 Event: GSMRZ3
-On: 2011-09-09 15:41:22.365990 Event: Connected to Receiver Handler
-On: 2011-09-09 15:41:22.370408 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:42:14.399425 ------------------
-On: 2011-09-09 15:42:14.399502 Event: init Caller
-On: 2011-09-09 15:42:14.399525 Event: sip
-On: 2011-09-09 15:42:16.404668 Event: Connected to Caller Handler
-On: 2011-09-09 15:42:16.405286 Event: Caller Handler respond
-On: 2011-09-09 15:42:16.406163 Event: Caller handler : Ready
-On: 2011-09-09 15:42:16.406205 Event: init Receiver
-On: 2011-09-09 15:42:16.406226 Event: GSMRZ3
-On: 2011-09-09 15:42:18.411125 Event: Connected to Receiver Handler
-On: 2011-09-09 15:42:18.414418 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:43:04.829692 ------------------
-On: 2011-09-09 15:43:04.829764 Event: init Caller
-On: 2011-09-09 15:43:04.829786 Event: sip
-On: 2011-09-09 15:43:06.841993 Event: Connected to Caller Handler
-On: 2011-09-09 15:43:06.842272 Event: Caller Handler respond
-On: 2011-09-09 15:43:06.843022 Event: Caller handler : Ready
-On: 2011-09-09 15:43:06.843061 Event: init Receiver
-On: 2011-09-09 15:43:06.843083 Event: GSMRZ3
-On: 2011-09-09 15:43:08.850163 Event: Connected to Receiver Handler
-On: 2011-09-09 15:43:08.853444 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:21.525747 ------------------
-On: 2011-09-09 15:44:21.525822 Event: init Caller
-On: 2011-09-09 15:44:21.525843 Event: sip
-On: 2011-09-09 15:44:23.538345 Event: Connected to Caller Handler
-On: 2011-09-09 15:44:23.538628 Event: Caller Handler respond
-On: 2011-09-09 15:44:23.539375 Event: Caller handler : Ready
-On: 2011-09-09 15:44:23.539416 Event: init Receiver
-On: 2011-09-09 15:44:23.539438 Event: GSMRZ3
-On: 2011-09-09 15:44:25.545285 Event: Cannt connect to Receiver
-On: 2011-09-09 15:44:25.545346 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:52.539262 ------------------
-On: 2011-09-09 15:44:52.539335 Event: init Caller
-On: 2011-09-09 15:44:52.539357 Event: sip
-On: 2011-09-09 15:44:54.551775 Event: Connected to Caller Handler
-On: 2011-09-09 15:44:54.552067 Event: Caller Handler respond
-On: 2011-09-09 15:44:54.552811 Event: Caller handler : Ready
-On: 2011-09-09 15:44:54.552850 Event: init Receiver
-On: 2011-09-09 15:44:54.552871 Event: GSMRZ3
-On: 2011-09-09 15:44:56.557792 Event: Connected to Receiver Handler
-On: 2011-09-09 15:44:56.561747 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:46:13.961524 ------------------
-On: 2011-09-09 15:46:13.961597 Event: init Caller
-On: 2011-09-09 15:46:13.961619 Event: sip
-On: 2011-09-09 15:46:15.974008 Event: Connected to Caller Handler
-On: 2011-09-09 15:46:15.974299 Event: Caller Handler respond
-On: 2011-09-09 15:46:15.975039 Event: Caller handler : Ready
-On: 2011-09-09 15:46:15.975079 Event: init Receiver
-On: 2011-09-09 15:46:15.975101 Event: GSMRZ3
-On: 2011-09-09 15:46:17.978498 Event: Connected to Receiver Handler
-On: 2011-09-09 15:46:17.981154 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:47:36.519692 ------------------
-On: 2011-09-09 15:47:36.519768 Event: init Caller
-On: 2011-09-09 15:47:36.519791 Event: sip
-On: 2011-09-09 15:47:38.524889 Event: Connected to Caller Handler
-On: 2011-09-09 15:47:38.525189 Event: Caller Handler respond
-On: 2011-09-09 15:47:38.525975 Event: Caller handler : Ready
-On: 2011-09-09 15:47:38.526016 Event: init Receiver
-On: 2011-09-09 15:47:38.526038 Event: GSMRZ3
-On: 2011-09-09 15:47:40.529667 Event: Connected to Receiver Handler
-On: 2011-09-09 15:47:40.534197 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:11.501596 ------------------
-On: 2011-09-09 16:25:11.501711 Event: init Caller
-On: 2011-09-09 16:25:11.501734 Event: sip
-On: 2011-09-09 16:25:13.506862 Event: Connected to Caller Handler
-On: 2011-09-09 16:25:13.507161 Event: Caller Handler respond
-On: 2011-09-09 16:25:13.507907 Event: Caller handler : Ready
-On: 2011-09-09 16:25:13.507949 Event: init Receiver
-On: 2011-09-09 16:25:13.507972 Event: GSMExt.O2
-On: 2011-09-09 16:25:15.513157 Event: Connected to Receiver Handler
-On: 2011-09-09 16:25:15.513442 Event: Receiver Handler respond
-On: 2011-09-09 16:25:15.513813 Event: Receiver handler : Ready
-On: 2011-09-09 16:25:15.513859 Event: Start Call
-On: 2011-09-09 16:25:15.513931 Event: Waiting Feedback
-On: 2011-09-09 16:25:45.514156 Event: Test Failed
-On: 2011-09-09 16:25:50.528093 Event:
-On: 2011-09-09 16:25:50.528155 Event: init Caller
-On: 2011-09-09 16:25:50.528174 Event: sip
-On: 2011-09-09 16:25:52.532634 Event: Connected to Caller Handler
-On: 2011-09-09 16:25:52.533754 Event: Caller Handler respond
-On: 2011-09-09 16:25:52.534507 Event: Caller handler : Ready
-On: 2011-09-09 16:25:52.534541 Event: init Receiver
-On: 2011-09-09 16:25:52.534564 Event: GSMExt.Voda
-On: 2011-09-09 16:25:54.538545 Event: Connected to Receiver Handler
-On: 2011-09-09 16:25:54.538833 Event: Receiver Handler respond
-On: 2011-09-09 16:25:54.539022 Event: Receiver handler : Ready
-On: 2011-09-09 16:25:54.539052 Event: Start Call
-On: 2011-09-09 16:25:54.539103 Event: Waiting Feedback
-On: 2011-09-09 16:26:24.539324 Event: Test Failed
-On: 2011-09-09 16:26:29.552109 Event:
-On: 2011-09-09 16:26:29.552172 Event: init Caller
-On: 2011-09-09 16:26:29.552191 Event: sip
-On: 2011-09-09 16:26:31.557153 Event: Connected to Caller Handler
-On: 2011-09-09 16:26:31.557432 Event: Caller Handler respond
-On: 2011-09-09 16:26:31.558229 Event: Caller handler : Ready
-On: 2011-09-09 16:26:31.558268 Event: init Receiver
-On: 2011-09-09 16:26:31.558289 Event: GSMExt.Eplus
-On: 2011-09-09 16:26:33.562541 Event: Connected to Receiver Handler
-On: 2011-09-09 16:26:33.562820 Event: Receiver Handler respond
-On: 2011-09-09 16:26:33.563007 Event: Receiver handler : Ready
-On: 2011-09-09 16:26:33.563033 Event: Start Call
-On: 2011-09-09 16:26:33.563086 Event: Waiting Feedback
-On: 2011-09-09 16:26:46.616731 Event: Test Succeed
-On: 2011-09-09 16:26:51.628872 Event:
-On: 2011-09-09 16:26:51.628933 Event: init Caller
-On: 2011-09-09 16:26:51.628952 Event: sip
-On: 2011-09-09 16:26:53.633844 Event: Connected to Caller Handler
-On: 2011-09-09 16:26:53.634120 Event: Caller Handler respond
-On: 2011-09-09 16:26:53.634874 Event: Caller handler : Ready
-On: 2011-09-09 16:26:53.634914 Event: init Receiver
-On: 2011-09-09 16:26:53.634937 Event: GSMExt.Tm
-On: 2011-09-09 16:26:55.638782 Event: Connected to Receiver Handler
-On: 2011-09-09 16:26:55.639067 Event: Receiver Handler respond
-On: 2011-09-09 16:26:55.639262 Event: Receiver handler : Ready
-On: 2011-09-09 16:26:55.639291 Event: Start Call
-On: 2011-09-09 16:26:55.639344 Event: Waiting Feedback
-On: 2011-09-09 16:27:25.639570 Event: Test Failed
-On: 2011-09-09 16:27:30.652101 Event:
-On: 2011-09-09 16:27:30.652163 Event: init Caller
-On: 2011-09-09 16:27:30.652182 Event: sip
-On: 2011-09-09 16:27:32.658995 Event: Connected to Caller Handler
-On: 2011-09-09 16:27:32.659274 Event: Caller Handler respond
-On: 2011-09-09 16:27:32.660398 Event: Caller handler : Ready
-On: 2011-09-09 16:27:32.660440 Event: init Receiver
-On: 2011-09-09 16:27:32.660461 Event: GSMRZ1
-On: 2011-09-09 16:27:34.669451 Event: Connected to Receiver Handler
-On: 2011-09-09 16:27:34.669694 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-09-09 16:27:41.860752 Event:
-On: 2011-09-09 16:27:41.860816 Event: init Caller
-On: 2011-09-09 16:27:41.860835 Event: sip
-On: 2011-09-09 16:27:43.865777 Event: Connected to Caller Handler
-On: 2011-09-09 16:27:43.866060 Event: Caller Handler respond
-On: 2011-09-09 16:27:43.866817 Event: Caller handler : Ready
-On: 2011-09-09 16:27:43.866857 Event: init Receiver
-On: 2011-09-09 16:27:43.866878 Event: landline
-On: 2011-09-09 16:27:45.884530 Event: Connected to Receiver Handler
-On: 2011-09-09 16:27:45.884812 Event: Receiver Handler respond
-On: 2011-09-09 16:27:45.886880 Event: Receiver handler : Ready
-On: 2011-09-09 16:27:45.886919 Event: Start Call
-On: 2011-09-09 16:27:45.886982 Event: Waiting Feedback
-On: 2011-09-09 16:27:55.022218 Event: Test Succeed
-On: 2011-09-09 16:28:00.039575 Event:
-On: 2011-09-09 16:28:00.039637 Event: init Caller
-On: 2011-09-09 16:28:00.039656 Event: sip
-On: 2011-09-09 16:28:02.044563 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:02.044842 Event: Caller Handler respond
-On: 2011-09-09 16:28:02.045588 Event: Caller handler : Ready
-On: 2011-09-09 16:28:02.045661 Event: init Receiver
-On: 2011-09-09 16:28:02.045683 Event: unisip
-On: 2011-09-09 16:28:04.050423 Event: Connected to Receiver Handler
-On: 2011-09-09 16:28:04.050710 Event: Receiver Handler respond
-On: 2011-09-09 16:28:04.051456 Event: Receiver handler : Ready
-On: 2011-09-09 16:28:04.051497 Event: Start Call
-On: 2011-09-09 16:28:04.051558 Event: Waiting Feedback
-On: 2011-09-09 16:28:07.102584 Event: Test Succeed
-On: 2011-09-09 16:28:12.134342 Event:
-On: 2011-09-09 16:28:12.134401 Event: init Caller
-On: 2011-09-09 16:28:12.134420 Event: GSMRZ1
-On: 2011-09-09 16:28:14.145857 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:14.146064 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-09 16:28:19.176736 Event:
-On: 2011-09-09 16:28:19.176797 Event: init Caller
-On: 2011-09-09 16:28:19.176816 Event: landline
-On: 2011-09-09 16:28:21.181792 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:21.182071 Event: Caller Handler respond
-On: 2011-09-09 16:28:21.184344 Event: Caller handler : Ready
-On: 2011-09-09 16:28:21.184380 Event: init Receiver
-On: 2011-09-09 16:28:21.184401 Event: GSMRZ1
-On: 2011-09-09 16:28:23.193862 Event: Connected to Receiver Handler
-On: 2011-09-09 16:28:23.194063 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:00.969790 ------------------
-On: 2011-09-09 21:08:00.969865 Event: init Caller
-On: 2011-09-09 21:08:00.969886 Event: unisip
-On: 2011-09-09 21:08:02.980850 Event: Connected to Caller Handler
-On: 2011-09-09 21:08:02.981142 Event: Caller Handler respond
-On: 2011-09-09 21:08:02.981921 Event: Caller handler : Ready
-On: 2011-09-09 21:08:02.981960 Event: init Receiver
-On: 2011-09-09 21:08:02.981981 Event: GSMRZ1
-On: 2011-09-09 21:08:04.986319 Event: Cannt connect to Receiver
-On: 2011-09-09 21:08:04.986379 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:53.445300 ------------------
-On: 2011-09-09 21:08:53.445370 Event: init Caller
-On: 2011-09-09 21:08:53.445392 Event: unisip
-On: 2011-09-09 21:08:55.450322 Event: Connected to Caller Handler
-On: 2011-09-09 21:08:55.451413 Event: Caller Handler respond
-On: 2011-09-09 21:08:55.452162 Event: Caller handler : Ready
-On: 2011-09-09 21:08:55.452201 Event: init Receiver
-On: 2011-09-09 21:08:55.452223 Event: GSMRZ1
-On: 2011-09-09 21:08:57.459859 Event: Connected to Receiver Handler
-On: 2011-09-09 21:08:57.465867 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-09-09 21:09:02.495184 Event:
-On: 2011-09-09 21:09:02.495243 Event: init Caller
-On: 2011-09-09 21:09:02.495262 Event: landline
-On: 2011-09-09 21:09:04.504559 Event: Connected to Caller Handler
-On: 2011-09-09 21:09:04.504831 Event: Caller Handler respond
-On: 2011-09-09 21:09:04.506698 Event: Caller handler : Ready
-On: 2011-09-09 21:09:04.506738 Event: init Receiver
-On: 2011-09-09 21:09:04.506760 Event: GSMRZ3
-On: 2011-09-09 21:09:08.512336 Event: Cannt connect to Receiver
-On: 2011-09-09 21:09:08.512397 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:13:07.507600 ------------------
-On: 2011-09-09 21:13:07.507677 Event: init Caller
-On: 2011-09-09 21:13:07.507699 Event: sip
-On: 2011-09-09 21:13:09.522704 Event: Connected to Caller Handler
-On: 2011-09-09 21:13:09.523006 Event: Caller Handler respond
-On: 2011-09-09 21:13:09.523731 Event: Caller handler : Ready
-On: 2011-09-09 21:13:09.523772 Event: init Receiver
-On: 2011-09-09 21:13:09.523794 Event: GSMRZ3
-On: 2011-09-09 21:13:13.529591 Event: Connected to Receiver Handler
-On: 2011-09-09 21:13:13.533832 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:00.420114 ------------------
-On: 2011-09-09 21:14:00.420191 Event: init Caller
-On: 2011-09-09 21:14:00.420213 Event: sip
-On: 2011-09-09 21:14:02.425415 Event: Connected to Caller Handler
-On: 2011-09-09 21:14:02.426089 Event: Caller Handler respond
-On: 2011-09-09 21:14:02.427264 Event: Caller handler : Ready
-On: 2011-09-09 21:14:02.427320 Event: init Receiver
-On: 2011-09-09 21:14:02.427343 Event: GSMRZ3
-On: 2011-09-09 21:14:06.434536 Event: Connected to Receiver Handler
-On: 2011-09-09 21:14:06.441749 Event: Receiver Handler respond
-On: 2011-09-09 21:14:06.444010 Event: Receiver handler : Ready
-On: 2011-09-09 21:14:06.444065 Event: Start Call
-On: 2011-09-09 21:14:06.444242 Event: Waiting Feedback
-On: 2011-09-09 21:14:11.369826 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:57.117840 ------------------
-On: 2011-09-09 21:14:57.117913 Event: init Caller
-On: 2011-09-09 21:14:57.117935 Event: sip
-On: 2011-09-09 21:14:59.130128 Event: Connected to Caller Handler
-On: 2011-09-09 21:14:59.130427 Event: Caller Handler respond
-On: 2011-09-09 21:14:59.131170 Event: Caller handler : Ready
-On: 2011-09-09 21:14:59.131210 Event: init Receiver
-On: 2011-09-09 21:14:59.131232 Event: GSMRZ3
-On: 2011-09-09 21:15:03.136410 Event: Connected to Receiver Handler
-On: 2011-09-09 21:15:03.142535 Event: Receiver Handler respond
-On: 2011-09-09 21:15:03.145325 Event: Receiver handler : Ready
-On: 2011-09-09 21:15:03.145370 Event: Start Call
-On: 2011-09-09 21:15:03.145541 Event: Waiting Feedback
-On: 2011-09-09 21:15:09.068103 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:58:50.553977 ------------------
-On: 2011-09-11 18:58:50.554017 Event: init Caller
-On: 2011-09-11 18:58:50.554030 Event: sip
-On: 2011-09-11 18:58:52.558965 Event: Cannt connect to Caller
-On: 2011-09-11 18:58:52.559055 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:01:02.320893 ------------------
-On: 2011-09-11 19:01:02.320922 Event: init Caller
-On: 2011-09-11 19:01:02.320930 Event: sip
-On: 2011-09-11 19:01:04.324304 Event: Cannt connect to Caller
-On: 2011-09-11 19:01:04.324386 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:02:16.689442 ------------------
-On: 2011-09-11 19:02:16.689478 Event: init Caller
-On: 2011-09-11 19:02:16.689487 Event: sip
-On: 2011-09-11 19:02:18.695048 Event: Cannt connect to Caller
-On: 2011-09-11 19:02:18.695078 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:03:42.232079 ------------------
-On: 2011-09-11 19:03:42.232177 Event: init Caller
-On: 2011-09-11 19:03:42.232190 Event: sip
-On: 2011-09-11 19:03:44.237159 Event: Cannt connect to Caller
-On: 2011-09-11 19:03:44.237247 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:15:33.413062 ------------------
-On: 2011-09-11 19:15:33.413139 Event: init Caller
-On: 2011-09-11 19:15:33.413166 Event: sip
-On: 2011-09-11 19:15:35.415813 Event: Connected to Caller Handler
-On: 2011-09-11 19:15:35.417194 Event: Caller Handler respond
-On: 2011-09-11 19:15:35.418095 Event: Caller handler : Ready
-On: 2011-09-11 19:15:35.418153 Event: init Receiver
-On: 2011-09-11 19:15:35.418200 Event: GSMRZ1
-On: 2011-09-11 19:15:37.423512 Event: Connected to Receiver Handler
-On: 2011-09-11 19:15:37.424041 Event: Receiver Handler respond
-On: 2011-09-11 19:15:37.424377 Event: Receiver handler : Ready
-On: 2011-09-11 19:15:37.424422 Event: Start Call
-On: 2011-09-11 19:15:37.424512 Event: Waiting Feedback
-On: 2011-09-11 19:15:43.166878 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:28:39.530016 ------------------
-On: 2011-09-11 19:28:39.530062 Event: init Caller
-On: 2011-09-11 19:28:39.530078 Event: sip
-On: 2011-09-11 19:28:41.535358 Event: Connected to Caller Handler
-On: 2011-09-11 19:28:41.535958 Event: Caller Handler respond
-On: 2011-09-11 19:28:41.537198 Event: Caller handler : Ready
-On: 2011-09-11 19:28:41.537265 Event: init Receiver
-On: 2011-09-11 19:28:41.537297 Event: GSMRZ1
-On: 2011-09-11 19:28:43.543123 Event: Connected to Receiver Handler
-On: 2011-09-11 19:28:43.543603 Event: Receiver Handler respond
-On: 2011-09-11 19:28:43.543847 Event: Receiver handler : Ready
-On: 2011-09-11 19:28:43.543903 Event: Start Call
-On: 2011-09-11 19:28:43.544049 Event: Waiting Feedback
-On: 2011-09-11 19:28:49.826893 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:30:53.537411 ------------------
-On: 2011-09-11 19:30:53.537456 Event: init Caller
-On: 2011-09-11 19:30:53.537469 Event: sip
-On: 2011-09-11 19:30:55.541640 Event: Connected to Caller Handler
-On: 2011-09-11 19:30:55.541815 Event: Caller Handler respond
-On: 2011-09-11 19:30:55.542358 Event: Caller handler : Ready
-On: 2011-09-11 19:30:55.542415 Event: init Receiver
-On: 2011-09-11 19:30:55.542456 Event: GSMRZ1
-On: 2011-09-11 19:30:57.546981 Event: Connected to Receiver Handler
-On: 2011-09-11 19:30:57.547398 Event: Receiver Handler respond
-On: 2011-09-11 19:30:57.547630 Event: Receiver handler : Ready
-On: 2011-09-11 19:30:57.547683 Event: Start Call
-On: 2011-09-11 19:30:57.547796 Event: Waiting Feedback
-On: 2011-09-11 19:31:02.354886 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:06.733623 ------------------
-On: 2011-10-07 16:20:06.733688 Event: init Caller
-On: 2011-10-07 16:20:06.733707 Event: sip
-On: 2011-10-07 16:20:08.738317 Event: Connected to Caller Handler
-On: 2011-10-07 16:20:08.738491 Event: Caller Handler respond
-On: 2011-10-07 16:20:08.738790 Event: Caller handler : Ready
-On: 2011-10-07 16:20:08.738806 Event: init Receiver
-On: 2011-10-07 16:20:08.738829 Event: landline
-On: 2011-10-07 16:20:10.740601 Event: Cannt connect to Receiver
-On: 2011-10-07 16:20:10.740675 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:29.039443 ------------------
-On: 2011-10-07 16:20:29.039496 Event: init Caller
-On: 2011-10-07 16:20:29.039512 Event: sip
-On: 2011-10-07 16:20:31.043997 Event: Connected to Caller Handler
-On: 2011-10-07 16:20:31.044183 Event: Caller Handler respond
-On: 2011-10-07 16:20:31.044843 Event: Caller handler : Ready
-On: 2011-10-07 16:20:31.044881 Event: init Receiver
-On: 2011-10-07 16:20:31.044911 Event: landline
-On: 2011-10-07 16:20:33.049280 Event: Cannt connect to Receiver
-On: 2011-10-07 16:20:33.049329 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:20:51.137233 ------------------
-On: 2011-10-07 16:20:51.137301 Event: init Caller
-On: 2011-10-07 16:20:51.137321 Event: sip
-On: 2011-10-07 16:20:53.141787 Event: Connected to Caller Handler
-On: 2011-10-07 16:20:53.141949 Event: Caller Handler respond
-On: 2011-10-07 16:20:53.142453 Event: Caller handler : Ready
-On: 2011-10-07 16:20:53.142480 Event: init Receiver
-On: 2011-10-07 16:20:53.142504 Event: landline
-On: 2011-10-07 16:20:55.146712 Event: Cannt connect to Receiver
-On: 2011-10-07 16:20:55.146762 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:23:45.241732 ------------------
-On: 2011-10-07 16:23:45.241790 Event: init Caller
-On: 2011-10-07 16:23:45.241806 Event: sip
-On: 2011-10-07 16:23:47.246317 Event: Connected to Caller Handler
-On: 2011-10-07 16:23:47.246490 Event: Caller Handler respond
-On: 2011-10-07 16:23:47.246971 Event: Caller handler : Ready
-On: 2011-10-07 16:23:47.247002 Event: init Receiver
-On: 2011-10-07 16:23:47.247024 Event: landline
-On: 2011-10-07 16:23:49.251489 Event: Connected to Receiver Handler
-On: 2011-10-07 16:23:49.251670 Event: Receiver Handler respond
-On: 2011-10-07 16:23:49.272453 Event: Receiver handler : Ready
-On: 2011-10-07 16:23:49.272485 Event: Start Call
-On: 2011-10-07 16:23:49.272552 Event: Waiting Feedback
-On: 2011-10-07 16:23:55.677027 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:09.396681 ------------------
-On: 2011-10-07 16:24:09.396737 Event: init Caller
-On: 2011-10-07 16:24:09.396755 Event: sip
-On: 2011-10-07 16:24:11.401096 Event: Connected to Caller Handler
-On: 2011-10-07 16:24:11.401258 Event: Caller Handler respond
-On: 2011-10-07 16:24:11.401872 Event: Caller handler : Ready
-On: 2011-10-07 16:24:11.401905 Event: init Receiver
-On: 2011-10-07 16:24:11.401930 Event: landline
-On: 2011-10-07 16:24:13.406320 Event: Connected to Receiver Handler
-On: 2011-10-07 16:24:13.406532 Event: Receiver Handler respond
-On: 2011-10-07 16:24:13.426758 Event: Receiver handler : Ready
-On: 2011-10-07 16:24:13.426791 Event: Start Call
-On: 2011-10-07 16:24:13.426858 Event: Waiting Feedback
-On: 2011-10-07 16:24:21.586288 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-07 16:24:34.852410 ------------------
-On: 2011-10-07 16:24:34.852463 Event: init Caller
-On: 2011-10-07 16:24:34.852478 Event: sip
-On: 2011-10-07 16:24:36.856911 Event: Connected to Caller Handler
-On: 2011-10-07 16:24:36.857083 Event: Caller Handler respond
-On: 2011-10-07 16:24:36.857596 Event: Caller handler : Ready
-On: 2011-10-07 16:24:36.857628 Event: init Receiver
-On: 2011-10-07 16:24:36.857648 Event: landline
-On: 2011-10-07 16:24:38.862007 Event: Connected to Receiver Handler
-On: 2011-10-07 16:24:38.862176 Event: Receiver Handler respond
-On: 2011-10-07 16:24:38.899583 Event: Receiver handler : Ready
-On: 2011-10-07 16:24:38.899609 Event: Start Call
-On: 2011-10-07 16:24:38.899665 Event: Waiting Feedback
-On: 2011-10-07 16:24:46.343844 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:47:51.785187 ------------------
-On: 2011-10-18 17:47:51.785252 Event: init Caller
-On: 2011-10-18 17:47:51.785272 Event: GSMRZ3
-On: 2011-10-18 17:47:55.792578 Event: Connected to Caller Handler
-On: 2011-10-18 17:47:55.813580 Event: Caller Handler respond
-On: 2011-10-18 17:47:55.825095 Event: Caller handler : Ready
-On: 2011-10-18 17:47:55.825131 Event: init Receiver
-On: 2011-10-18 17:47:55.825153 Event: GSMRZ2
-On: 2011-10-18 17:47:59.832433 Event: Cannt connect to Receiver
-On: 2011-10-18 17:47:59.832503 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-18 17:48:04.837769 Event:
-On: 2011-10-18 17:48:04.837852 Event: init Caller
-On: 2011-10-18 17:48:04.837871 Event: GSMRZ2
-On: 2011-10-18 17:48:08.844492 Event: Cannt connect to Caller
-On: 2011-10-18 17:48:08.844558 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:50:08.260685 ------------------
-On: 2011-10-18 17:50:08.260747 Event: init Caller
-On: 2011-10-18 17:50:08.260767 Event: GSMRZ3
-On: 2011-10-18 17:50:12.266566 Event: Connected to Caller Handler
-On: 2011-10-18 17:50:12.285877 Event: Caller Handler respond
-On: 2011-10-18 17:50:12.296641 Event: Caller handler : Ready
-On: 2011-10-18 17:50:12.296675 Event: init Receiver
-On: 2011-10-18 17:50:12.296696 Event: GSMRZ2
-On: 2011-10-18 17:50:16.302364 Event: Cannt connect to Receiver
-On: 2011-10-18 17:50:16.302421 Event: 998 General Handler Error: Could not connect Destination handler
diff --git a/For Weekly Test/12-09-2011/University SIP handler.log b/For Weekly Test/12-09-2011/University SIP handler.log
deleted file mode 100644
index 719aa51..0000000
--- a/For Weekly Test/12-09-2011/University SIP handler.log
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:32.304692 ------------------
-On: 2011-09-02 13:04:32.326564 Event: try to Connect to Controller
-On: 2011-09-02 13:04:33.594674 Event: init state
-On: 2011-09-02 13:04:33.594893 Event: Register Account to SIP server
-On: 2011-09-02 13:04:33.595281 Event: 100
-On: 2011-09-02 13:04:33.595360 Event: Receiver Handler Ready
-On: 2011-09-02 13:04:33.595726 Event: RECEIVE START
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:15.977494 ------------------
-On: 2011-09-02 13:09:15.998474 Event: try to Connect to Controller
-On: 2011-09-02 13:09:17.258282 Event: init state
-On: 2011-09-02 13:09:17.258513 Event: Register Account to SIP server
-On: 2011-09-02 13:09:17.258914 Event: 100
-On: 2011-09-02 13:09:17.258990 Event: Receiver Handler Ready
-On: 2011-09-02 13:09:17.259293 Event: RECEIVE START
-On: 2011-09-02 13:09:20.302293 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-02 13:09:20.302735 Event: Call Connecting
-On: 2011-09-02 13:09:20.302771 Event: 200
-On: 2011-09-02 13:09:20.302916 Event: Answer call
-On: 2011-09-02 13:09:20.302948 Event: Hangup call
-On: 2011-09-02 13:09:20.303101 Event: CALL OK
-On: 2011-09-02 13:09:20.318751 Event: Terminate
-On: 2011-09-02 13:09:20.318809 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:53.384248 ------------------
-On: 2011-09-02 13:15:53.404888 Event: try to Connect to Controller
-On: 2011-09-02 13:15:54.645917 Event: init state
-On: 2011-09-02 13:15:54.646162 Event: Register Account to SIP server
-On: 2011-09-02 13:15:54.646926 Event: 100
-On: 2011-09-02 13:15:54.647006 Event: Receiver Handler Ready
-On: 2011-09-02 13:15:54.647317 Event: RECEIVE START
-On: 2011-09-02 13:15:57.703829 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-02 13:15:57.704282 Event: Call Connecting
-On: 2011-09-02 13:15:57.704321 Event: 200
-On: 2011-09-02 13:15:57.704467 Event: Answer call
-On: 2011-09-02 13:15:57.704499 Event: Hangup call
-On: 2011-09-02 13:15:57.704653 Event: CALL OK
-On: 2011-09-02 13:15:57.762627 Event: Terminate
-On: 2011-09-02 13:15:57.762682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:29.084275 ------------------
-On: 2011-09-09 12:04:29.105612 Event: try to Connect to Controller
-On: 2011-09-09 12:04:30.392727 Event: init state
-On: 2011-09-09 12:04:30.392956 Event: Register Account to SIP server
-On: 2011-09-09 12:04:30.393369 Event: 100
-On: 2011-09-09 12:04:30.393492 Event: Receiver Handler Ready
-On: 2011-09-09 12:04:30.393794 Event: RECEIVE START
-On: 2011-09-09 12:04:33.406739 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:04:33.407190 Event: Call Connecting
-On: 2011-09-09 12:04:33.407228 Event: 200
-On: 2011-09-09 12:04:33.407372 Event: Answer call
-On: 2011-09-09 12:04:33.407404 Event: Hangup call
-On: 2011-09-09 12:04:33.407554 Event: CALL OK
-On: 2011-09-09 12:04:33.442980 Event: Terminate
-On: 2011-09-09 12:04:33.443020 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:21.313738 ------------------
-On: 2011-09-09 12:46:21.334312 Event: try to Connect to Controller
-On: 2011-09-09 12:46:22.544750 Event: init state
-On: 2011-09-09 12:46:22.544990 Event: Register Account to SIP server
-On: 2011-09-09 12:46:22.545449 Event: 100
-On: 2011-09-09 12:46:22.545533 Event: Receiver Handler Ready
-On: 2011-09-09 12:46:22.545841 Event: RECEIVE START
-On: 2011-09-09 12:46:25.582830 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:46:25.583290 Event: Call Connecting
-On: 2011-09-09 12:46:25.583330 Event: 200
-On: 2011-09-09 12:46:25.583479 Event: Answer call
-On: 2011-09-09 12:46:25.583511 Event: Hangup call
-On: 2011-09-09 12:46:25.583669 Event: CALL OK
-On: 2011-09-09 12:46:25.621186 Event: Terminate
-On: 2011-09-09 12:46:25.621244 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:48.195086 ------------------
-On: 2011-09-09 12:49:48.215338 Event: try to Connect to Controller
-On: 2011-09-09 12:49:49.490355 Event: init state
-On: 2011-09-09 12:49:49.490592 Event: Register Account to SIP server
-On: 2011-09-09 12:49:49.491014 Event: 100
-On: 2011-09-09 12:49:49.491099 Event: Receiver Handler Ready
-On: 2011-09-09 12:49:49.491411 Event: RECEIVE START
-On: 2011-09-09 12:49:52.517371 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:49:52.517908 Event: Call Connecting
-On: 2011-09-09 12:49:52.517951 Event: 200
-On: 2011-09-09 12:49:52.518098 Event: Answer call
-On: 2011-09-09 12:49:52.518129 Event: Hangup call
-On: 2011-09-09 12:49:52.518284 Event: CALL OK
-On: 2011-09-09 12:49:52.570535 Event: Terminate
-On: 2011-09-09 12:49:52.570596 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:14.891424 ------------------
-On: 2011-09-09 12:50:14.936914 Event: try to Connect to Controller
-On: 2011-09-09 12:50:16.124750 Event: init state
-On: 2011-09-09 12:50:16.124983 Event: Register Account to SIP server
-On: 2011-09-09 12:50:16.125436 Event: 100
-On: 2011-09-09 12:50:16.125523 Event: Receiver Handler Ready
-On: 2011-09-09 12:50:16.129709 Event: RECEIVE START
-On: 2011-09-09 12:50:18.370496 Event: {Call "RZ-GSM" <sip:4661447@132.230.252.228>}
-On: 2011-09-09 12:50:18.370955 Event: Call Connecting
-On: 2011-09-09 12:50:18.370992 Event: 200
-On: 2011-09-09 12:50:18.371140 Event: Answer call
-On: 2011-09-09 12:50:18.371172 Event: Hangup call
-On: 2011-09-09 12:50:18.371328 Event: CALL OK
-On: 2011-09-09 12:50:18.472220 Event: Call Disconnected
-On: 2011-09-09 12:50:19.921802 Event: Terminate
-On: 2011-09-09 12:50:19.921842 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:32.278782 ------------------
-On: 2011-09-09 13:07:32.299423 Event: try to Connect to Controller
-On: 2011-09-09 13:07:33.590429 Event: init state
-On: 2011-09-09 13:07:33.590655 Event: Register Account to SIP server
-On: 2011-09-09 13:07:33.591069 Event: 100
-On: 2011-09-09 13:07:33.591151 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:33.591458 Event: RECEIVE START
-On: 2011-09-09 13:07:36.649672 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 13:07:36.650122 Event: Call Connecting
-On: 2011-09-09 13:07:36.650161 Event: 200
-On: 2011-09-09 13:07:36.650309 Event: Answer call
-On: 2011-09-09 13:07:36.650340 Event: Hangup call
-On: 2011-09-09 13:07:36.650497 Event: CALL OK
-On: 2011-09-09 13:07:36.678333 Event: Terminate
-On: 2011-09-09 13:07:36.678394 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:00.165614 ------------------
-On: 2011-09-09 13:08:00.186025 Event: try to Connect to Controller
-On: 2011-09-09 13:08:01.398081 Event: init state
-On: 2011-09-09 13:08:01.398313 Event: Register Account to SIP server
-On: 2011-09-09 13:08:01.398714 Event: 100
-On: 2011-09-09 13:08:01.398800 Event: Receiver Handler Ready
-On: 2011-09-09 13:08:01.401705 Event: RECEIVE START
-On: 2011-09-09 13:08:03.207171 Event: {Call "RZ-GSM" <sip:4661447@132.230.252.228>}
-On: 2011-09-09 13:08:03.207631 Event: Call Connecting
-On: 2011-09-09 13:08:03.207667 Event: 200
-On: 2011-09-09 13:08:03.207816 Event: Answer call
-On: 2011-09-09 13:08:03.207847 Event: Hangup call
-On: 2011-09-09 13:08:03.208004 Event: CALL OK
-On: 2011-09-09 13:08:03.309111 Event: Call Disconnected
-On: 2011-09-09 13:08:04.657806 Event: Terminate
-On: 2011-09-09 13:08:04.657845 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:02.715191 ------------------
-On: 2011-09-09 16:28:02.735656 Event: try to Connect to Controller
-On: 2011-09-09 16:28:04.050616 Event: init state
-On: 2011-09-09 16:28:04.050846 Event: Register Account to SIP server
-On: 2011-09-09 16:28:04.051267 Event: 100
-On: 2011-09-09 16:28:04.051354 Event: Receiver Handler Ready
-On: 2011-09-09 16:28:04.051668 Event: RECEIVE START
-On: 2011-09-09 16:28:07.090304 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 16:28:07.090768 Event: Call Connecting
-On: 2011-09-09 16:28:07.090805 Event: 200
-On: 2011-09-09 16:28:07.090952 Event: Answer call
-On: 2011-09-09 16:28:07.090983 Event: Hangup call
-On: 2011-09-09 16:28:07.091140 Event: CALL OK
-On: 2011-09-09 16:28:07.103922 Event: Terminate
-On: 2011-09-09 16:28:07.103986 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:01.714588 ------------------
-On: 2011-09-09 21:08:01.735512 Event: try to Connect to Controller
-On: 2011-09-09 21:08:02.981051 Event: init state
-On: 2011-09-09 21:08:02.981281 Event: Register Account to SIP server
-On: 2011-09-09 21:08:02.981731 Event: 100
-On: 2011-09-09 21:08:02.981817 Event: Caller Handler Ready
-On: 2011-09-09 21:08:04.986563 Event: Terminate
-On: 2011-09-09 21:08:04.986601 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:54.198907 ------------------
-On: 2011-09-09 21:08:54.219863 Event: try to Connect to Controller
-On: 2011-09-09 21:08:55.451295 Event: init state
-On: 2011-09-09 21:08:55.451563 Event: Register Account to SIP server
-On: 2011-09-09 21:08:55.451977 Event: 100
-On: 2011-09-09 21:08:55.452058 Event: Caller Handler Ready
-On: 2011-09-09 21:08:57.466097 Event: Terminate
-On: 2011-09-09 21:08:57.466137 Event: Goodbye
diff --git a/For Weekly Test/12-09-2011/gsmselftest.py b/For Weekly Test/12-09-2011/gsmselftest.py
deleted file mode 100644
index 3e82b27..0000000
--- a/For Weekly Test/12-09-2011/gsmselftest.py
+++ /dev/null
@@ -1,783 +0,0 @@
-#! /usr/bin/env python
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(1)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(1)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ3':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ2':
- server = PingClass.Ping('10.4.58.241')
- serverStatus = server.ping(1)
- else:
- serverStatus = 1
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-def initTest(callFrom,callTo):
- global dest
- global caller
- global callAdd
- global accCaller
- global recAdd
- global destNo
- global accDest
- global result
- global repeatTest
-
- initDB()
-
- if dbStatus != 0:
-
- dest = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destAdd = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callAdd, accCaller, callTo, destAdd, destNo, accDest)
- makeTest.FuncTest()
-
- result = str(makeTest.testResult)
-
- else:
- print "No connection to Database"
-
- return result
-
-def initTrueTable():
- nanoBTS1 = None
- nanoBTS2 = None
- nanoBTS3 = None
- o2Card = None
- eplusCard = None
- vodaCard = None
- tmobileCard = None
- outgoingLandline = None
- asteriskServer = None
-
- for x in resultsList:
-
- destination = x[1]
- result = x[2]
- caller = x[0]
-
- if destination == 'GSMRZ1':
- if result =='486':
- nanoBTS1 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
-
- if destination == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
- elif result =='200':
- nanoBTS1 = True
-
- elif destination == 'GSMRZ2':
- if result =='486':
- nanoBTS2 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
- elif result =='200':
- nanoBTS2 = True
-
- elif destination == 'GSMRZ3':
- if result =='486':
- nanoBTS3 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ3':
- if result == '200':
- nanoBTS3 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS3 = True
- elif result =='200':
- nanoBTS3 = True
-
- elif destination == 'GSMExt.O2':
- if result =='486':
- o2Card = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.O2':
- if result == '200':
- o2Card = True
-
- if destination == 'GSMExt.O2':
- if result == '200':
- o2Card = True
- elif result =='200':
- o2Card = True
-
- elif destination == 'GSMExt.Voda':
- if result =='486':
- vodaCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
-
- if destination == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
- elif result =='200':
- vodaCard = True
-
- elif destination == 'GSMExt.Eplus':
- if result =='486':
- eplusCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
-
- if destination == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
- elif result =='200':
- eplusCard = True
-
- elif destination == 'GSMExt.Tm':
- if result =='486':
- tmobileCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
-
- if destination == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
- elif result =='200':
- tmobileCard = True
-
- elif destination == 'sip':
- if result =='486':
- asteriskServer = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'sip':
- if result == '200':
- asteriskServer = True
-
- if destination == 'sip':
- if result == '200':
- asteriskServer = True
-
- elif result =='200':
- asteriskServer = True
-
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
-
- if destination == 'landline':
- if result =='486':
- outgoingLandline = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
- if destination == 'landline':
- if result == '200':
- outgoingLandline = True
-
- print '\n'
- if o2Card == False and eplusCard == False and vodaCard == False and tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if o2Card == False:
- print "O2 card indicate having problem"
- if eplusCard == False:
- print "eplus card indicate having problem"
- if vodaCard == False:
- print "vodaphone card indicate having problem"
- if tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if nanoBTS1 == False and nanoBTS2 == False and nanoBTS3 == False:
- print 'openBSC down'
- else:
- if nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if outgoingLandline == False:
- print 'outgoing from GSM RZ to landline having problem'
- print '\n'
-
- if asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-
-def doTest(callFrom,callTo):
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
- print 'Call From : ', callFrom
- print 'Call Destination : ', callTo
- initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, result])
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
- sleep(5)
- else:
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- print '[failed] 500 '+callFrom+ ' Server Internal Error'
-
-def doSipTest():
-
- print '--SIP Part Test--'
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- for callTo in destList:
-
- callFrom = 'sip'
- doTest(callFrom, callTo)
-
-def doLandlineTest():
-
- print '--Landline Part Test--'
- destList = ['GSMRZ1','unisip', 'sip']
-
- for callTo in destList:
-
- callFrom = 'landline'
- doTest(callFrom, callTo)
-
-def doGsmrzTest():
-
- print '--GSM Part Test--'
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest(callFrom, callTo)
- resultsList.append([callFrom, callTo, result])
- initTrueTable()
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- for callFrom in callList:
- for callTo in destList:
- doTest(callFrom, callTo)
- resultsList.append([callFrom, callTo, result])
- initTrueTable()
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def smartTest():
- ping('sip')
- if serverStatus == 0:
- print "Dont have connection to SIP Asterisk server, can't make a test"
- sys.exit(1)
-
- callerList = ['sip']
- destinationList = ['SIP', 'GSMExt']
- #destinationList = ['GSMExt', 'GSMRZ', 'SIP', 'RZOutgoing', 'RZincoming']
- for callFrom in callerList:
- for destination in destinationList:
-
- if destination == 'GSMRZ':
- print "make a call to GSMRZ1"
- initTest(callFrom,'GSMRZ1')
-
- if result == '200':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "all network on GSMRZ are working"
- elif result == '486':
- print "BTS 3 Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 2 Down"
- elif result == '486':
- print "BTS 2 and 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 1 Down"
- elif result == '486':
- print "BTS 1 & 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ3"
-
- if result == '200':
- print "BTS 1 & 2 indicate having problem"
- elif result == '486':
- print "OpenBSc Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
-
- elif destination == 'GSMExt':
-
- initTest(callFrom,'GSMExt.O2')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "All network on GSM external are working"
- elif result == '486':
- print "T-Mobile card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile and E-Plus card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone card indicate having problem"
- elif result == '486':
- print "T-Mobile and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone and E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "Incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 card indicate having problem"
- elif result == '486':
- print "T-Mobile and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and E-Plus cards indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and Vodaphone cards indicate having problem"
- elif result == '486':
- print "T-Mobile, O2 and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2, E-Plus and Vodaphone cards indicate having problem"
- elif result == '486':
- print "GSM External Modem Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == 'SIP':
-
- ping('landline')
- if serverStatus <> 0:
- initTest(callFrom,'landline')
-
- if result == '200':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result =='200':
- print "All SIP network are working"
- elif result == '486':
- print "University telephone network indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
-
- elif result == '486':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result == '200':
- print "Landline indicate having problem"
- elif result == '486':
- print "SIP Network Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to SIP Gate server, check your connection"
-
- elif destination == 'RZOutgoing':
-
- ping('landline')
- if serverStatus <> 0:
- initTest('GSMRZ1','landline')
-
- if result == '200':
- ping('unisip')
- if serverStatus <> 0:
- initTest('GSMRZ1','unisip')
-
- if result =='200':
- print "Outgoing call from GSM RZ is working"
-
- elif result == '486':
- print "Outgoing call from GSM RZ to UTN indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
-
- elif result == '486':
- ping('unisip')
- if serverStatus <> 0:
- initTest('GSMRZ1','unisip')
-
- if result == '200':
- print "Outgoing call from GSM RZ to Landline indicate having problem"
-
- elif result == '486':
- print "Outgoing call from GSM RZ to Landline and UTN indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to SIP Gate server, check your connection"
-
- elif destination == 'RZincoming':
-
- ping('landline')
- if serverStatus <> 0:
- initTest('landline', 'GSMRZ1')
-
- if result == '486':
-
- initTest('GSMExt.O2','GSMRZ1')
-
- if result =='200':
- print "incoming call to GSM RZ working"
-
- elif result == '486':
-
- initTest('GSMExt.Voda','GSMRZ1')
- if result =='200':
- print "incoming call to GSM RZ working"
- elif result == '486':
- print "incoming call to GSM RZ notworking"
- else:
- print "incomplete test, GSM Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '200':
- print "incoming call to GSM RZ working"
- else:
- print "No connection to SIP Gate server, check your connection"
-
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsmrz':
- doGsmrzTest()
-
- elif command == '--gsmext':
- doGsmExtTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--smart':
- smartTest()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- initTest(callFrom,callTo)
-
- db.addResult(taskID, result)
-
- resultsList.append([callFrom, callTo, result])
-
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- sleep(5)
-
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callFrom+' Server Internal Error'
- db.cleanTasksList()
-
- # fetch result list and make adjustment about the result
- print '\n'
- initTrueTable()
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/12-09-2011/gsmselftest1.py b/For Weekly Test/12-09-2011/gsmselftest1.py
deleted file mode 100644
index 69cbffa..0000000
--- a/For Weekly Test/12-09-2011/gsmselftest1.py
+++ /dev/null
@@ -1,300 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable():
- initResult = trueTableClass.trueTable(resultsList)
- initResult.initTrueTable()
-
- if initResult.o2Card == False and initResult.eplusCard == False and initResult.vodaCard == False and initResult.tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if initResult.o2Card == False:
- print "O2 card indicate having problem"
- if initResult.eplusCard == False:
- print "eplus card indicate having problem"
- if initResult.vodaCard == False:
- print "vodaphone card indicate having problem"
- if initResult.tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if initResult.nanoBTS1 == False and initResult.nanoBTS2 == False and initResult.nanoBTS3 == False:
- print 'openBSC down'
- else:
- if initResult.nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if initResult.nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if initResult.nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if initResult.outgoingLandline == False:
- print 'outgoing from GSM RZ to landline having problem'
- print '\n'
-
- if initResult.asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif initResult.asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-def doSipTest():
-
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
-
-def findPort(portName):
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def updateDevice():
-
- while True:
- print "Mobile device configuration"
- print "Menu: s = start device configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 's':
- i = 0
- while i !=10:
- portName ='ttyUSB'+str(i)
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :', listNum[0]
- print 'IME :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
-
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
-
-
- if input == "q":
- break
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsmrz':
- doGsmrzTest()
-
- elif command == '--gsmext':
- doGsmExtTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--smart':
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
-
- print '\n'
- initTrueTable() # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/12-09-2011/gsmselftest2.py b/For Weekly Test/12-09-2011/gsmselftest2.py
deleted file mode 100644
index 22acc63..0000000
--- a/For Weekly Test/12-09-2011/gsmselftest2.py
+++ /dev/null
@@ -1,382 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- if initResult.o2Card == False and initResult.eplusCard == False and initResult.vodaCard == False and initResult.tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if initResult.o2Card == False:
- print "O2 card indicate having problem"
- if initResult.eplusCard == False:
- print "eplus card indicate having problem"
- if initResult.vodaCard == False:
- print "vodaphone card indicate having problem"
- if initResult.tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if initResult.nanoBTS1 == True or initResult.nanoBTS2 == True or initResult.nanoBTS3 == True:
- print 'openBSC working'
-
- if initResult.nanoBTS1 == False and initResult.nanoBTS2 == False and initResult.nanoBTS3 == False:
- print 'openBSC down'
- else:
- if initResult.nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if initResult.nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if initResult.nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if initResult.outgoingLandline == False:
- print 'outgoing call to outside network having problem'
- print '\n'
-
- if initResult.asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif initResult.asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-def doSipTest():
-
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
-
-def findPort(portName):
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if deviceName == 'GSMRZ2' or deviceName == 'GSMRZ2':
- if number =='':
- print ' == cant save device configuration, number missing =='
- else:
- portClass.initUpdate(deviceName, portName, number)
- else:
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found =='
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-
-def updateDevice():
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm':
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. GSM RZ 2"
- print " 7. GSM RZ 3"
- print " 8. Back to menu"
- print ""
- print "you choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- elif input == '6':
- initDevice('GSMRZ2')
- elif input == '7':
- initDevice('GSMRZ3')
- else:
- print 'please choose between 1-8'
- if input == 'a':
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i)
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
- if input == "q":
- break
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--landline':
- resultsList = list()
- doLandlineTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- resultsList = list()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
-
- print '\n'
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/12-09-2011/help.txt b/For Weekly Test/12-09-2011/help.txt
deleted file mode 100644
index 5a9062e..0000000
--- a/For Weekly Test/12-09-2011/help.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-Usage: python gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---all : To execute all test case
---sip : To execute ALL test case
---gsmrz : To check whether GSM RZ network having problem or not
---gsmext : To check whether GSM BOX modem having problem or not
---landline : To check incoming call from Landline
---smart : To test only important point in the network and identify which part having problem.
---devconf : To configuration USB device
-
- example : gsmselftest.py --devconf
diff --git a/For Weekly Test/12-09-2011/initTestClass.py b/For Weekly Test/12-09-2011/initTestClass.py
deleted file mode 100644
index 216577b..0000000
--- a/For Weekly Test/12-09-2011/initTestClass.py
+++ /dev/null
@@ -1,148 +0,0 @@
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import random
-from time import sleep
-
-class doTest:
-
- def ping(self,handler):
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- self.serverStatus = server.ping(2)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- self.serverStatus = server.ping(2)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- self.serverStatus = server.ping(2)
-
- elif handler == 'GSMRZ3':
- server = PingClass.Ping('132.230.4.57')
- self.serverStatus = 1
-
- elif handler == 'GSMRZ2':
- server = PingClass.Ping('132.230.4.67')
- self.serverStatus =1
- else:
- self.serverStatus = 1
-
-
- def initDB(self):
-
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initaccount(self,account,handler):
- print account
- if handler == 'sip' or handler == 'unisip' or handler == 'landline':
- if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server
- self.status = 1
- else:
- self.status = 0
- else:
- if account[0] != '' or account[1] != '':
- self.status = 1
- else:
- self.status = 0
-
- def initTest(self, callFrom, callTo):
-
- self.initDB()
-
- if self.dbStatus != 0:
-
- self.ping(callFrom)
- if self.serverStatus <> 0:
- self.ping(callTo)
- if self.serverStatus <> 0:
-
- dest = self.db.deviceAddress(str(callTo))
- caller = self.db.deviceAddress(str(callFrom))
-
- self.initaccount(caller,callFrom)
- if self.status == 1:
- self.initaccount(dest,callTo)
- if self.status == 1:
- callPortName = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destPortName = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest)
- makeTest.FuncTest()
- self.result = str(makeTest.testResult)
- else:
- self.result = 100
- else:
- self.result = 100
-
- sleep(5)
- else:
- self.result = 500
- else:
- self.result = 500
-
- else:
- self.result = 333
-
- return self.result
-
- def isThere(keyword,lists):
- x = 0
- for item in lists:
-
- if item == keyword:
- return 1
- else:
- x = x+1
-
- def smartTest(self):
- global handlerError
- smartResultList = list()
- testPendingList = list()
- #callerList = ['sip']
- destList = ['GSMRZ1','GSMRZ2','GSMRZ3','GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
- gsmList = ['GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
- gsmRZList = ['GSMRZ1','GSMRZ2','GSMRZ3']
-
- i = random.randint(0, len(gsmRZList)-1)
- callTo = gsmRZList[i]
- self.initTest('unisip',callTo)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
- openBSC = self.result
- self.smartResultList.append(['unisip', callTo, self.result])
-
- if openBSC == 200:
- for callFrom in gsmRZList:
- i = random.randint(3, len(destList)-1) # need to check wheter the caller and dest is same
- callTo = destList[i]
- self.initTest(callFrom,callTo)
- destList.remove(callTo)
- self.smartResultList.append([callFrom, callTo, self.result])
-
- i = random.randint(0, len(gsmRZList)-1) #
- callTo = gsmRZList[i]
- self.initTest('landline',callTo)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
- self.smartResultList.append(['landline', callTo, self.result])
-
- for callTo in destList:
- callFrom = 'sip'
- self.initTest(callFrom,callTo)
- self.smartResultList.append([callFrom, callTo, self.result])
-
- return self.smartResultList
-
-
-
-
diff --git a/For Weekly Test/12-09-2011/initTestClass.pyc b/For Weekly Test/12-09-2011/initTestClass.pyc
deleted file mode 100644
index ec0b8c4..0000000
--- a/For Weekly Test/12-09-2011/initTestClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/sshtest.py b/For Weekly Test/12-09-2011/sshtest.py
deleted file mode 100644
index f18139e..0000000
--- a/For Weekly Test/12-09-2011/sshtest.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-import os
-import subprocess
-import SSHTunnelBox1Class
-import SSHTunnelBox2Class
-import ClientClass
-from time import sleep
-
-portDest = 46000#should be 9
-box2 = SSHTunnelBox2Class.SSHTunneling(portDest, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
-print box2.startTunneling()
-#sleep(2)
-receiver = ClientClass.Connection('localhost', portDest)
-print receiver.connect()
-box2.killTunneling()
diff --git a/For Weekly Test/12-09-2011/trueTableClass.py b/For Weekly Test/12-09-2011/trueTableClass.py
deleted file mode 100644
index 0409527..0000000
--- a/For Weekly Test/12-09-2011/trueTableClass.py
+++ /dev/null
@@ -1,198 +0,0 @@
-
-class trueTable:
- def __init__(self, resultsList):
-
- self.resultsList = resultsList
- self.nanoBTS1 = None
- self.nanoBTS2 = None
- self.nanoBTS3 = None
- self.o2Card = None
- self.eplusCard = None
- self.vodaCard = None
- self.tmobileCard = None
- self.outgoingLandline = None
- self.asteriskServer = None
-
- def initTrueTable(self):
-
-
- for x in self.resultsList:
-
- destination = x[1]
- result = x[2]
- caller = x[0]
-
- if destination == 'GSMRZ1':
- if result =='486':
- self.nanoBTS1 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ1':
- if result == '200':
- self.nanoBTS1 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ1':
- if result == '200':
- self.nanoBTS1 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS1 = True
- self.asteriskServer = True
-
- elif destination == 'GSMRZ2':
- if result =='486':
- self.nanoBTS2 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ2':
- if result == '200':
- self.nanoBTS2 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- self.nanoBTS2 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS2 = True
- self.asteriskServer = True
-
- elif destination == 'GSMRZ3':
- if result =='486':
- self.nanoBTS3 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ3':
- if result == '200':
- self.nanoBTS3 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- self.nanoBTS3 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS3 = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.O2':
- if result =='486':
- self.o2Card = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.O2':
- if result == '200':
- self.o2Card = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.O2':
- if result == '200':
- self.o2Card = True
- self.asteriskServer = True
- elif result =='200':
- self.o2Card = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Voda':
- if result =='486':
- self.vodaCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Voda':
- if result == '200':
- self.vodaCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Voda':
- if result == '200':
- self.vodaCard = True
- self.asteriskServer = True
- elif result =='200':
- self.vodaCard = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Eplus':
- if result =='486':
- self.eplusCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Eplus':
- if result == '200':
- self.eplusCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Eplus':
- if result == '200':
- self.eplusCard = True
- self.asteriskServer = True
- elif result =='200':
- self.eplusCard = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Tm':
- if result =='486':
- self.tmobileCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Tm':
- if result == '200':
- self.tmobileCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Tm':
- if result == '200':
- self.tmobileCard = True
- self.asteriskServer = True
- elif result =='200':
- self.tmobileCard = True
- self.asteriskServer = True
-
- elif destination == 'sip':
- if result =='486':
- self.asteriskServer = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'sip':
- if result == '200':
- self.asteriskServer = True
-
- if destination == 'sip':
- if result == '200':
- self.asteriskServer = True
-
- elif result =='200':
- self.asteriskServer = True
-
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
-
- if destination == 'landline':
- if result =='486':
- self.outgoingLandline = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
- if destination == 'landline':
- if result == '200':
- self.outgoingLandline = True
- self.asteriskServer = True
-
-
diff --git a/For Weekly Test/12-09-2011/trueTableClass.pyc b/For Weekly Test/12-09-2011/trueTableClass.pyc
deleted file mode 100644
index eb195e4..0000000
--- a/For Weekly Test/12-09-2011/trueTableClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/12-09-2011/usbDetectClass.py b/For Weekly Test/12-09-2011/usbDetectClass.py
deleted file mode 100644
index 19ed52b..0000000
--- a/For Weekly Test/12-09-2011/usbDetectClass.py
+++ /dev/null
@@ -1,88 +0,0 @@
-from serial import * #serial port library
-import sys
-from time import sleep
-import DbClass
-
-
-class serialPort:
-
- def __init__(self, portAddress):
- self.portAddress = portAddress
- self.portExist = 0
- self.IMEI = 'IME not found'
- self.number = 'number not found'
- self.updateStatus = None
-
- def initDB(self):
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initUpdate(self, deviceName, newPortName, newNumber):
- self.initDB()
-
- if self.dbStatus != 0:
- self.db.updateGSMDevice(deviceName, newPortName, newNumber)
- else:
- print 'No connection to database'
-
- def portInit(self):
- self.portExist = 0
- try:
- self.ser = Serial(
- port='/dev/'+self.portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
- self.ser.open()
- self.ser.isOpen()
- self.portExist = 1
-
- except Exception, e:
- print 'error'
- return 0
-
- def isInteger(self, x):
- try:
- int(x)
- return True
- except:
- return False
-
- def findIMEI(self):
- self.portInit()
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+GSN\r')
- sleep(0.5)
- self.ser.write('AT+GSN\r')
- result = self.ser.read(25)
- self.IMEI = result[result.find('3'):15+result.find('3')]
-
- else:
- self.IMEI = 'port not found'
- return 0
- def findNumber(self):
- self.portInit()
-
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CNUM\r')
- sleep(0.5)
- readNum = self.ser.read(35)
-
- self.ser.close()
- firstQuote = readNum.find('"')
- cutString = readNum [firstQuote:]
- secondQuote = cutString.find(',')
- number = cutString[1:secondQuote-1]
-
- if number != '':
- self.number = number
- else:
- self.number = 'number not found'
-
- else:
- self.number = 'port not found'
- return 0
diff --git a/For Weekly Test/12-09-2011/usbDetectClass.pyc b/For Weekly Test/12-09-2011/usbDetectClass.pyc
deleted file mode 100644
index 3f0b492..0000000
--- a/For Weekly Test/12-09-2011/usbDetectClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/.DS_Store b/For Weekly Test/19-08-2011/.DS_Store
deleted file mode 100644
index 5008ddf..0000000
--- a/For Weekly Test/19-08-2011/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/ClientClass.py b/For Weekly Test/19-08-2011/ClientClass.py
deleted file mode 100644
index 46c3b00..0000000
--- a/For Weekly Test/19-08-2011/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/19-08-2011/ClientClass.pyc b/For Weekly Test/19-08-2011/ClientClass.pyc
deleted file mode 100644
index 5b9dd69..0000000
--- a/For Weekly Test/19-08-2011/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/ControllerClass.py b/For Weekly Test/19-08-2011/ControllerClass.py
deleted file mode 100644
index ff82814..0000000
--- a/For Weekly Test/19-08-2011/ControllerClass.py
+++ /dev/null
@@ -1,233 +0,0 @@
-import sys
-import os
-import subprocess
-
-import ClientClass
-
-import LogFileClass
-logger = LogFileClass.Logging('TestProcessLog.log')
-
-from time import sleep
-
-
-class doTheTest:
-
- def __init__(self, callFrom, callAdd, accCaller, callTo, destAdd, destNo, accDest):
-
- self.callFrom = callFrom
- self.dest = callTo
- self.destNo = destNo
- self.accDest = accDest
- self.accCaller = accCaller
- self.repeatTest = None
- self.portAdd = None
- self.portCaller = None
- self.portDest = None
- self.resultCaller = None
- self.resultDest = None
- self.testResult = None
- self.callAdd = callAdd
- self.recAdd = destAdd
- self.receiver = None
- self.caller = None
- self.connected = None
-
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- self.initCaller()
- sleep(2)
-
- self.callerGreeting()
-
- if self.connected == 'OK':
-
- self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(15)
-
- if callerHandler == "CALLER READY":
- logger.logEvent('Caller handler : Ready')
-
- self.initReceiver()
- sleep(2)
- self.receiverGreeting()
-
- if self.connected == 'OK':
-
- self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(15)
-
- if destHandler == 'RECEIVER READY':
- logger.logEvent('Receiver handler : Ready')
-
- self.startCall()
- self.waitingFeedback()
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.closeConnection()
-
- else:
- logger.logEvent('998 General Handler Error: Could not connect Destination handler')
- self.testResult = 998
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: caller handler no respond timeout')
-
- self.caller.closeConnection()
-
- else:
- self.testResult = 999
- logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
-
-
-
- def waitingFeedback(self):
- logger.logEvent('Waiting Feedback')
- self.resultCaller = self.caller.receiveData(15)
- self.resultDest = self.receiver.receiveData(15)
-
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- logger.logEvent('Test Failed')
- self.testResult = 486
- self.repeatTest = True
- self.initTerminate()
-
- else:
- logger.logEvent('Test Succeed')
- self.testResult = 200
- self.initTerminate()
-
-
- def startCall(self):
- logger.logEvent('Start Call')
- self.receiver.sendData('RECEIVE START')
- self.caller.sendData('CALL START')
-
-
- def initCaller(self):
- logger.logEvent('init Caller')
- logger.logEvent(self.callFrom)
-
- if self.callFrom =="GSMRZ1":
- self.portCaller = 50007
- self.portAdd = ''
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="GSMRZ2":
- self.portCaller = 50008
-
- elif self.callFrom =="GSMRZ3":
- self.portCaller = 50009
-
- elif self.callFrom =="GSMExt.O2":
- self.portCaller = 50010
- self.portAdd = '/dev/ttyUSB0'
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="GSMExt.Voda":
- self.portCaller = 50011
- self.portAdd = '/dev/ttyUSB1'
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="GSMExt.Tm":
- self.portCaller = 50012
- self.portAdd = '/dev/ttyUSB3'
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="GSMExt.Eplus":
- self.portCaller = 50013
- self.portAdd = '/dev/ttyUSB2'
- self.initGSM(self.portCaller, self.portAdd)
-
- else:
- self.portCaller = 50099
- subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)])
-
- def initReceiver(self):
- logger.logEvent('init Receiver')
- logger.logEvent(self.dest)
-
- if self.dest =="GSMRZ1":
- self.portDest = 50007
- self.portAdd = ''
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="GSMRZ2":
- self.portDest = 50008
-
- elif self.dest =="GSMRZ3":
- self.portDest = 50009
-
- elif self.dest =="GSMExt.O2":
- self.portDest = 50010
- self.portAdd = '/dev/ttyUSB0'
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="GSMExt.Voda":
- self.portDest = 50011
- self.portAdd = '/dev/ttyUSB1'
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="GSMExt.Tm":
- self.portDest = 50012
- self.portAdd = '/dev/ttyUSB3'
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="GSMExt.Eplus":
- self.portDest = 50013
- self.portAdd = '/dev/ttyUSB2'
- self.initGSM(self.portDest, self.portAdd)
-
- else:
- self.portDest = 50100
- subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)])
-
- def initTerminate(self):
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
-
- def callerGreeting(self):
- self.connected = None
- self.caller = ClientClass.Connection(self.callAdd,self.portCaller)
- self.caller.connect()
-
- if self.caller.connected == 1:
- logger.logEvent('Connected to Caller Handler')
- self.caller.sendData('HELLO HANDLER')
- if self.caller.receiveData(15) == 'HELLO CONTROLLER':
- logger.logEvent('Caller Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Caller')
- self.connected = 'NOT OK'
-
- def receiverGreeting(self):
- self.connected = None
- self.receiver = ClientClass.Connection(self.recAdd, self.portDest)
- self.receiver.connect()
-
- if self.receiver.connected == 1:
- logger.logEvent('Connected to Receiver Handler')
- self.receiver.sendData('HELLO HANDLER')
- if self.receiver.receiveData(15) == 'HELLO CONTROLLER':
- logger.logEvent('Receiver Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Receiver')
- self.connected = 'NOT OK'
-
- def initGSM(self, portCommunication, portDevice):
-
- subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)])
-
-
-
-
diff --git a/For Weekly Test/19-08-2011/ControllerClass.pyc b/For Weekly Test/19-08-2011/ControllerClass.pyc
deleted file mode 100644
index ce084e1..0000000
--- a/For Weekly Test/19-08-2011/ControllerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/DbClass.py b/For Weekly Test/19-08-2011/DbClass.py
deleted file mode 100644
index f1a88c3..0000000
--- a/For Weekly Test/19-08-2011/DbClass.py
+++ /dev/null
@@ -1,298 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.errCode = None
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- if not self.tasksList:
- return 0
- else:
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
-
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status): # we dont need this
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, unisip=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(unisip), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo, status):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "', '"+ str(status) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- columns.append(str(status))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):#dont need this
- if self.connectionCreated == 1:
- for item in self.tasksList:
- if item != '':
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
-
- def errorCode(self,code):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code)
- data = self.cur.fetchone()
- self.errCode = data[0]
- return self.errCode
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
diff --git a/For Weekly Test/19-08-2011/DbClass.pyc b/For Weekly Test/19-08-2011/DbClass.pyc
deleted file mode 100644
index 8b85ff1..0000000
--- a/For Weekly Test/19-08-2011/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/GSM EPlus handler.log b/For Weekly Test/19-08-2011/GSM EPlus handler.log
deleted file mode 100644
index 5af5903..0000000
--- a/For Weekly Test/19-08-2011/GSM EPlus handler.log
+++ /dev/null
@@ -1,202 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:02:22.188015 ------------------
-On: 2011-08-02 20:02:22.188149 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:02:25.056551 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33114)
-On: 2011-08-02 20:02:25.056733 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:02:25.056899 Event: RECEIVER READY SENT
-On: 2011-08-02 20:03:10.126229 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:09:27.835671 ------------------
-On: 2011-08-02 20:09:27.835794 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:09:30.707612 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42554)
-On: 2011-08-02 20:09:30.707796 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:09:30.707960 Event: RECEIVER READY SENT
-On: 2011-08-02 20:10:15.774239 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:11:31.453705 ------------------
-On: 2011-08-02 20:11:31.453829 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:11:34.304718 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42828)
-On: 2011-08-02 20:11:34.304901 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:11:34.305059 Event: RECEIVER READY SENT
-On: 2011-08-02 20:12:19.370256 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:42:19.746296 ------------------
-On: 2011-08-02 20:42:19.746419 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:42:22.612198 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37559)
-On: 2011-08-02 20:42:22.612314 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:42:22.612549 Event: RECEIVER READY SENT
-On: 2011-08-02 20:43:07.654257 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:43:11.312651 ------------------
-On: 2011-08-02 20:43:11.312771 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:43:14.191911 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37561)
-On: 2011-08-02 20:43:14.192120 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:43:14.192350 Event: CALLER READY SENT
-On: 2011-08-02 20:43:21.966226 Event: CALLER STATUS SENT
-On: 2011-08-02 20:43:31.966573 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:45:21.993374 ------------------
-On: 2011-08-02 20:45:21.993525 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 20:45:24.855971 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37580)
-On: 2011-08-02 20:45:24.856153 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:45:24.856310 Event: RECEIVER READY SENT
-On: 2011-08-02 20:46:09.898258 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:46:29.285830 ------------------
-On: 2011-08-02 22:46:29.285954 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 22:46:32.134778 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59460)
-On: 2011-08-02 22:46:32.134949 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:46:32.135193 Event: RECEIVER READY SENT
-On: 2011-08-02 22:47:17.178254 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:49:27.200135 ------------------
-On: 2011-08-02 22:49:27.200269 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 22:49:30.086950 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59568)
-On: 2011-08-02 22:49:30.087135 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:49:30.087299 Event: RECEIVER READY SENT
-On: 2011-08-02 22:50:15.154250 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:54:06.839626 ------------------
-On: 2011-08-02 22:54:06.839778 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 22:54:09.714877 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43769)
-On: 2011-08-02 22:54:09.715062 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:54:09.715219 Event: RECEIVER READY SENT
-On: 2011-08-02 22:54:44.762224 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:00:02.162317 ------------------
-On: 2011-08-02 23:00:02.162436 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 23:00:05.042229 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34770)
-On: 2011-08-02 23:00:05.042400 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:00:05.042685 Event: RECEIVER READY SENT
-On: 2011-08-02 23:00:40.086224 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:03:41.089868 ------------------
-On: 2011-08-02 23:03:41.089990 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 23:03:43.969468 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52651)
-On: 2011-08-02 23:03:43.969640 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:03:43.969835 Event: RECEIVER READY SENT
-On: 2011-08-02 23:04:19.010291 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:07:09.734460 ------------------
-On: 2011-08-02 23:07:09.734583 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 23:07:12.600825 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45260)
-On: 2011-08-02 23:07:12.601075 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:07:12.601245 Event: RECEIVER READY SENT
-On: 2011-08-02 23:07:47.646217 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:26:38.513285 ------------------
-On: 2011-08-02 23:26:38.513407 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 23:26:41.374903 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34085)
-On: 2011-08-02 23:26:41.375091 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:26:41.375251 Event: RECEIVER READY SENT
-On: 2011-08-02 23:27:16.418224 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:35:03.391017 ------------------
-On: 2011-08-02 23:35:03.391142 Event: LISTEN ON PORT: 50013
-On: 2011-08-02 23:35:06.257589 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35442)
-On: 2011-08-02 23:35:06.257760 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:35:06.257997 Event: RECEIVER READY SENT
-On: 2011-08-02 23:35:41.301383 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:59:07.058811 ------------------
-On: 2011-08-03 19:59:07.058937 Event: LISTEN ON PORT: 50013
-On: 2011-08-03 19:59:09.934167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44079)
-On: 2011-08-03 19:59:09.934339 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 19:59:09.934524 Event: RECEIVER READY SENT
-On: 2011-08-03 19:59:44.973423 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:08:40.107625 ------------------
-On: 2011-08-03 20:08:40.107791 Event: LISTEN ON PORT: 50013
-On: 2011-08-03 20:08:42.978076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52207)
-On: 2011-08-03 20:08:42.978192 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:08:42.978305 Event: RECEIVER READY SENT
-On: 2011-08-03 20:09:18.021397 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:18:27.011376 ------------------
-On: 2011-08-03 20:18:27.011596 Event: LISTEN ON PORT: 50013
-On: 2011-08-03 20:18:28.859481 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35655)
-On: 2011-08-03 20:18:28.859653 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:18:28.859852 Event: RECEIVER READY SENT
-On: 2011-08-03 20:19:03.925435 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:19:11.880250 ------------------
-On: 2011-08-03 20:19:11.880376 Event: LISTEN ON PORT: 50013
-On: 2011-08-03 20:19:13.736808 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35658)
-On: 2011-08-03 20:19:13.737044 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:19:13.737198 Event: CALLER READY SENT
-On: 2011-08-03 20:19:20.637407 Event: CALLER STATUS SENT
-On: 2011-08-03 20:19:30.637747 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:18:22.404733 ------------------
-On: 2011-08-10 14:18:22.404855 Event: LISTEN ON PORT: 50013
-On: 2011-08-10 14:18:24.266139 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35727)
-On: 2011-08-10 14:18:24.266324 Event: TALK INITIALIZATION SENT
-On: 2011-08-10 14:18:24.266508 Event: RECEIVER READY SENT
-On: 2011-08-10 14:18:59.333435 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:53:58.292701 ------------------
-On: 2011-08-29 14:53:58.293057 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 14:53:59.598515 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36571)
-On: 2011-08-29 14:53:59.598872 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 14:53:59.599069 Event: RECEIVER READY SENT
-On: 2011-08-29 14:54:34.671736 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:45.496300 ------------------
-On: 2011-08-29 15:00:45.496724 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 15:00:46.776547 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44527)
-On: 2011-08-29 15:00:46.776914 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:00:46.777113 Event: RECEIVER READY SENT
-On: 2011-08-29 15:00:59.158046 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:06:16.296279 ------------------
-On: 2011-08-29 15:06:16.296635 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 15:06:17.603463 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59576)
-On: 2011-08-29 15:06:17.603827 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:06:17.604027 Event: RECEIVER READY SENT
-On: 2011-08-29 15:06:30.373899 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:31:16.856278 ------------------
-On: 2011-08-29 15:31:16.856630 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 15:31:18.152770 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53674)
-On: 2011-08-29 15:31:18.153119 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:31:18.153320 Event: RECEIVER READY SENT
-On: 2011-08-29 15:31:29.569895 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:32:23.096226 ------------------
-On: 2011-08-29 15:32:23.096578 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 15:32:24.397741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47014)
-On: 2011-08-29 15:32:24.398145 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:32:24.398344 Event: RECEIVER READY SENT
-On: 2011-08-29 15:32:35.117943 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:45:43.535452 ------------------
-On: 2011-08-29 15:45:43.535807 Event: LISTEN ON PORT: 50013
-On: 2011-08-29 15:45:44.864648 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49783)
-On: 2011-08-29 15:45:44.865026 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:45:44.865231 Event: RECEIVER READY SENT
-On: 2011-08-29 15:45:56.533898 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/19-08-2011/GSM O2 handler.log b/For Weekly Test/19-08-2011/GSM O2 handler.log
deleted file mode 100644
index a2ae837..0000000
--- a/For Weekly Test/19-08-2011/GSM O2 handler.log
+++ /dev/null
@@ -1,265 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:03.927688 ------------------
-On: 2011-08-02 19:55:03.927843 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 19:55:06.717546 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35140)
-On: 2011-08-02 19:55:06.717732 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 19:55:06.717889 Event: RECEIVER READY SENT
-On: 2011-08-02 19:55:17.590249 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:56.092652 ------------------
-On: 2011-08-02 19:55:56.092767 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 19:55:58.960863 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33588)
-On: 2011-08-02 19:55:58.961044 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 19:55:58.961199 Event: RECEIVER READY SENT
-On: 2011-08-02 19:56:10.534233 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:56:55.727949 ------------------
-On: 2011-08-02 19:56:55.728072 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 19:56:58.606998 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33592)
-On: 2011-08-02 19:56:58.607181 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 19:56:58.607342 Event: RECEIVER READY SENT
-On: 2011-08-02 19:57:09.426221 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:58:04.845510 ------------------
-On: 2011-08-02 19:58:04.845678 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 19:58:07.724611 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33600)
-On: 2011-08-02 19:58:07.724781 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 19:58:07.724980 Event: RECEIVER READY SENT
-On: 2011-08-02 19:58:19.350241 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:01:34.764768 ------------------
-On: 2011-08-02 20:01:34.764892 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:01:37.626777 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56027)
-On: 2011-08-02 20:01:37.626958 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:01:37.627115 Event: RECEIVER READY SENT
-On: 2011-08-02 20:01:48.302226 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:08:41.063567 ------------------
-On: 2011-08-02 20:08:41.063685 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:08:43.917177 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57259)
-On: 2011-08-02 20:08:43.917347 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:08:43.917546 Event: RECEIVER READY SENT
-On: 2011-08-02 20:08:53.886217 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:10:43.954904 ------------------
-On: 2011-08-02 20:10:43.955070 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:10:46.818834 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36757)
-On: 2011-08-02 20:10:46.819002 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:10:46.819240 Event: RECEIVER READY SENT
-On: 2011-08-02 20:10:57.538217 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:34:23.084882 ------------------
-On: 2011-08-02 20:34:23.085005 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:34:25.976237 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49780)
-On: 2011-08-02 20:34:25.976421 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:34:25.976580 Event: RECEIVER READY SENT
-On: 2011-08-02 20:34:37.590256 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:37:52.560374 ------------------
-On: 2011-08-02 20:37:52.560495 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:37:52.594552 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:37:49.583989 ------------------
-On: 2011-08-02 20:37:49.584155 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:37:52.433760 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42408)
-On: 2011-08-02 20:37:52.433929 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:37:52.434133 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:39:19.580109 ------------------
-On: 2011-08-02 20:39:19.580234 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:39:22.425588 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42414)
-On: 2011-08-02 20:39:22.425780 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:39:22.425978 Event: RECEIVER READY SENT
-On: 2011-08-02 20:39:33.318226 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:41:21.532328 ------------------
-On: 2011-08-02 20:41:21.532581 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:41:24.405475 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55956)
-On: 2011-08-02 20:41:24.405739 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:41:24.405897 Event: RECEIVER READY SENT
-On: 2011-08-02 20:41:35.966228 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:44:24.185567 ------------------
-On: 2011-08-02 20:44:24.185702 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 20:44:27.061156 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55973)
-On: 2011-08-02 20:44:27.061363 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:44:27.061565 Event: RECEIVER READY SENT
-On: 2011-08-02 20:44:38.242215 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:45:29.715964 ------------------
-On: 2011-08-02 22:45:29.716091 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:45:32.586239 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55630)
-On: 2011-08-02 22:45:32.586680 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:45:32.586903 Event: RECEIVER READY SENT
-On: 2011-08-02 22:45:43.222238 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:48:29.296692 ------------------
-On: 2011-08-02 22:48:29.296821 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:48:32.182967 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56767)
-On: 2011-08-02 22:48:32.183152 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:48:32.183308 Event: RECEIVER READY SENT
-On: 2011-08-02 22:48:43.334249 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:50:26.267494 ------------------
-On: 2011-08-02 22:50:26.267615 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:50:29.156617 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56822)
-On: 2011-08-02 22:50:29.156800 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:50:29.156958 Event: RECEIVER READY SENT
-On: 2011-08-02 22:50:39.810217 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:51:34.604910 ------------------
-On: 2011-08-02 22:51:34.605036 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:51:37.462610 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53729)
-On: 2011-08-02 22:51:37.462756 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:51:37.462921 Event: RECEIVER READY SENT
-On: 2011-08-02 22:51:48.030233 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:53:08.370410 ------------------
-On: 2011-08-02 22:53:08.370540 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:53:11.222987 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53734)
-On: 2011-08-02 22:53:11.223156 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:53:11.223400 Event: RECEIVER READY SENT
-On: 2011-08-02 22:53:22.222225 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:57:47.673777 ------------------
-On: 2011-08-02 22:57:47.673944 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:57:50.547004 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46926)
-On: 2011-08-02 22:57:50.547175 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:57:50.547416 Event: RECEIVER READY SENT
-On: 2011-08-02 22:58:01.102242 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:03.919929 ------------------
-On: 2011-08-02 22:59:03.920051 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 22:59:06.758963 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46969)
-On: 2011-08-02 22:59:06.759181 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:59:06.759404 Event: RECEIVER READY SENT
-On: 2011-08-02 22:59:17.594227 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:02:42.697292 ------------------
-On: 2011-08-02 23:02:42.697414 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 23:02:45.546305 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35906)
-On: 2011-08-02 23:02:45.546492 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:02:45.546652 Event: RECEIVER READY SENT
-On: 2011-08-02 23:02:56.654255 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:06:11.204143 ------------------
-On: 2011-08-02 23:06:11.204268 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 23:06:14.085188 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42922)
-On: 2011-08-02 23:06:14.085370 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:06:14.085528 Event: RECEIVER READY SENT
-On: 2011-08-02 23:06:25.438228 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:24:59.707777 ------------------
-On: 2011-08-02 23:24:59.707898 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 23:25:02.590376 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57691)
-On: 2011-08-02 23:25:02.590547 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:25:02.590833 Event: RECEIVER READY SENT
-On: 2011-08-02 23:25:37.634236 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:33:24.695130 ------------------
-On: 2011-08-02 23:33:24.695271 Event: LISTEN ON PORT: 50010
-On: 2011-08-02 23:33:27.475304 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57413)
-On: 2011-08-02 23:33:27.475474 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:33:27.475714 Event: RECEIVER READY SENT
-On: 2011-08-02 23:34:02.541386 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:58:00.938110 ------------------
-On: 2011-08-03 19:58:00.938337 Event: LISTEN ON PORT: 50010
-On: 2011-08-03 19:58:03.762131 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46829)
-On: 2011-08-03 19:58:03.762316 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 19:58:03.762481 Event: RECEIVER READY SENT
-On: 2011-08-03 19:58:25.089422 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:07:42.901875 ------------------
-On: 2011-08-03 20:07:42.902003 Event: LISTEN ON PORT: 50010
-On: 2011-08-03 20:07:45.784866 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41243)
-On: 2011-08-03 20:07:45.785040 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:07:45.785245 Event: RECEIVER READY SENT
-On: 2011-08-03 20:07:57.041425 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:17:33.949286 ------------------
-On: 2011-08-03 20:17:33.949474 Event: LISTEN ON PORT: 50010
-On: 2011-08-03 20:17:35.806258 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33447)
-On: 2011-08-03 20:17:35.806372 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:17:35.806609 Event: RECEIVER READY SENT
-On: 2011-08-03 20:17:46.645399 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:17:20.367588 ------------------
-On: 2011-08-10 14:17:20.367757 Event: LISTEN ON PORT: 50010
-On: 2011-08-10 14:17:22.136026 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53292)
-On: 2011-08-10 14:17:22.136184 Event: TALK INITIALIZATION SENT
-On: 2011-08-10 14:17:22.136318 Event: RECEIVER READY SENT
-On: 2011-08-10 14:17:57.177444 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-20 00:15:29.062001 ------------------
-On: 2011-08-20 00:15:29.062122 Event: LISTEN ON PORT: 50010
-On: 2011-08-20 00:15:30.841213 Event: $connection established but device not working: ('127.0.0.1', 49920)
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:52:40.205667 ------------------
-On: 2011-08-29 14:52:40.206079 Event: LISTEN ON PORT: 50010
-On: 2011-08-29 14:52:41.450555 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37772)
-On: 2011-08-29 14:52:41.450904 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 14:52:41.451108 Event: RECEIVER READY SENT
-On: 2011-08-29 14:53:16.526769 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:12.704326 ------------------
-On: 2011-08-29 15:00:12.704684 Event: LISTEN ON PORT: 50010
-On: 2011-08-29 15:00:14.040817 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54549)
-On: 2011-08-29 15:00:14.041181 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:00:14.041376 Event: RECEIVER READY SENT
-On: 2011-08-29 15:00:24.089940 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:40.977488 ------------------
-On: 2011-08-29 15:05:40.977912 Event: LISTEN ON PORT: 50010
-On: 2011-08-29 15:05:42.290529 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59127)
-On: 2011-08-29 15:05:42.290892 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:05:42.291077 Event: RECEIVER READY SENT
-On: 2011-08-29 15:05:53.445941 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:59.459837 ------------------
-On: 2011-08-29 15:42:59.460190 Event: LISTEN ON PORT: 50010
-On: 2011-08-29 15:43:00.766540 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51612)
-On: 2011-08-29 15:43:00.766910 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:43:00.767113 Event: RECEIVER READY SENT
-On: 2011-08-29 15:43:11.745901 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:45:21.920052 ------------------
-On: 2011-08-29 15:45:21.920508 Event: LISTEN ON PORT: 50010
-On: 2011-08-29 15:45:23.242533 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51626)
-On: 2011-08-29 15:45:23.242892 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:45:23.243097 Event: RECEIVER READY SENT
-On: 2011-08-29 15:45:34.273896 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/19-08-2011/GSM TMobile handler.log b/For Weekly Test/19-08-2011/GSM TMobile handler.log
deleted file mode 100644
index 8ec2023..0000000
--- a/For Weekly Test/19-08-2011/GSM TMobile handler.log
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:54:37.458067 ------------------
-On: 2011-08-29 14:54:37.458444 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 14:54:38.682624 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46544)
-On: 2011-08-29 14:54:38.682979 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 14:54:38.683175 Event: RECEIVER READY SENT
-On: 2011-08-29 14:55:13.758373 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:01:03.460167 ------------------
-On: 2011-08-29 15:01:03.460517 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:01:04.778102 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36707)
-On: 2011-08-29 15:01:04.778466 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:01:04.778661 Event: RECEIVER READY SENT
-On: 2011-08-29 15:01:17.825938 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:06:34.693265 ------------------
-On: 2011-08-29 15:06:34.693620 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:06:35.998526 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46768)
-On: 2011-08-29 15:06:35.998892 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:06:35.999086 Event: RECEIVER READY SENT
-On: 2011-08-29 15:06:47.557887 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:33:16.170754 ------------------
-On: 2011-08-29 15:33:16.171106 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:33:17.494565 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53846)
-On: 2011-08-29 15:33:17.494931 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:33:17.495132 Event: RECEIVER READY SENT
-On: 2011-08-29 15:33:30.621930 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:34:54.620572 ------------------
-On: 2011-08-29 15:34:54.620926 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:34:55.865065 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53850)
-On: 2011-08-29 15:34:55.865431 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:34:55.865630 Event: RECEIVER READY SENT
-On: 2011-08-29 15:35:16.789899 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:35:50.652397 ------------------
-On: 2011-08-29 15:35:50.652748 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:35:51.929928 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53854)
-On: 2011-08-29 15:35:51.930293 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:35:51.930488 Event: RECEIVER READY SENT
-On: 2011-08-29 15:36:02.989940 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:37:30.237841 ------------------
-On: 2011-08-29 15:37:30.238198 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:37:31.562584 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40705)
-On: 2011-08-29 15:37:31.562949 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:37:31.563149 Event: RECEIVER READY SENT
-On: 2011-08-29 15:37:44.957902 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:13.756431 ------------------
-On: 2011-08-29 15:42:13.756780 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:42:15.030575 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49229)
-On: 2011-08-29 15:42:15.030941 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:42:15.031141 Event: RECEIVER READY SENT
-On: 2011-08-29 15:42:27.273913 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:44:36.702649 ------------------
-On: 2011-08-29 15:44:36.703005 Event: LISTEN ON PORT: 50012
-On: 2011-08-29 15:44:37.988935 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49243)
-On: 2011-08-29 15:44:37.989295 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:44:37.989491 Event: RECEIVER READY SENT
-On: 2011-08-29 15:44:49.801896 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/19-08-2011/GSM Vodaphone handler.log b/For Weekly Test/19-08-2011/GSM Vodaphone handler.log
deleted file mode 100644
index b209a9c..0000000
--- a/For Weekly Test/19-08-2011/GSM Vodaphone handler.log
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:01:58.071018 ------------------
-On: 2011-08-02 20:01:58.071151 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:02:00.947939 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42561)
-On: 2011-08-02 20:02:00.948122 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:02:00.948284 Event: RECEIVER READY SENT
-On: 2011-08-02 20:02:12.246229 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:03:12.191008 ------------------
-On: 2011-08-02 20:03:12.191128 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:03:15.058691 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42570)
-On: 2011-08-02 20:03:15.058860 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:03:15.059104 Event: RECEIVER READY SENT
-On: 2011-08-02 20:03:25.786220 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:09:03.666092 ------------------
-On: 2011-08-02 20:09:03.666263 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:09:06.542996 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36434)
-On: 2011-08-02 20:09:06.543180 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:09:06.543336 Event: RECEIVER READY SENT
-On: 2011-08-02 20:09:17.926220 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:11:07.330976 ------------------
-On: 2011-08-02 20:11:07.331134 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:11:10.177652 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44932)
-On: 2011-08-02 20:11:10.177823 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:11:10.178000 Event: RECEIVER READY SENT
-On: 2011-08-02 20:11:21.538216 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:41:50.841186 ------------------
-On: 2011-08-02 20:41:50.841310 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:41:53.713992 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34922)
-On: 2011-08-02 20:41:53.714181 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:41:53.714342 Event: RECEIVER READY SENT
-On: 2011-08-02 20:42:04.846233 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:44:53.103163 ------------------
-On: 2011-08-02 20:44:53.103319 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 20:44:55.965262 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34942)
-On: 2011-08-02 20:44:55.965445 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 20:44:55.965603 Event: RECEIVER READY SENT
-On: 2011-08-02 20:45:06.922248 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:45:59.062086 ------------------
-On: 2011-08-02 22:45:59.062257 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 22:46:01.927104 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58708)
-On: 2011-08-02 22:46:01.927256 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:46:01.927403 Event: RECEIVER READY SENT
-On: 2011-08-02 22:46:14.294219 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:48:58.151415 ------------------
-On: 2011-08-02 22:48:58.151538 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 22:49:01.018943 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40898)
-On: 2011-08-02 22:49:01.019112 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:49:01.019358 Event: RECEIVER READY SENT
-On: 2011-08-02 22:49:12.286226 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:53:37.036817 ------------------
-On: 2011-08-02 22:53:37.036979 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 22:53:39.922781 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46995)
-On: 2011-08-02 22:53:39.922965 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:53:39.923124 Event: RECEIVER READY SENT
-On: 2011-08-02 22:53:51.958229 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:32.435211 ------------------
-On: 2011-08-02 22:59:32.435332 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 22:59:35.286843 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38631)
-On: 2011-08-02 22:59:35.287010 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 22:59:35.287199 Event: RECEIVER READY SENT
-On: 2011-08-02 22:59:47.254259 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:03:11.468828 ------------------
-On: 2011-08-02 23:03:11.468952 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 23:03:14.354925 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55686)
-On: 2011-08-02 23:03:14.355095 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:03:14.355342 Event: RECEIVER READY SENT
-On: 2011-08-02 23:03:26.154217 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:06:40.257018 ------------------
-On: 2011-08-02 23:06:40.257176 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 23:06:43.113047 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55699)
-On: 2011-08-02 23:06:43.113230 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:06:43.113389 Event: RECEIVER READY SENT
-On: 2011-08-02 23:06:54.826227 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:25:49.126200 ------------------
-On: 2011-08-02 23:25:49.126336 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 23:25:51.997444 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51829)
-On: 2011-08-02 23:25:51.997697 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:25:51.997866 Event: RECEIVER READY SENT
-On: 2011-08-02 23:26:27.042224 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:34:14.025293 ------------------
-On: 2011-08-02 23:34:14.025428 Event: LISTEN ON PORT: 50011
-On: 2011-08-02 23:34:16.902115 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41540)
-On: 2011-08-02 23:34:16.902483 Event: TALK INITIALIZATION SENT
-On: 2011-08-02 23:34:16.902705 Event: RECEIVER READY SENT
-On: 2011-08-02 23:34:51.941389 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:58:38.259967 ------------------
-On: 2011-08-03 19:58:38.260091 Event: LISTEN ON PORT: 50011
-On: 2011-08-03 19:58:41.145885 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43031)
-On: 2011-08-03 19:58:41.145990 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 19:58:41.146112 Event: RECEIVER READY SENT
-On: 2011-08-03 19:58:52.133399 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:08:11.841270 ------------------
-On: 2011-08-03 20:08:11.841426 Event: LISTEN ON PORT: 50011
-On: 2011-08-03 20:08:14.717863 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43817)
-On: 2011-08-03 20:08:14.717962 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:08:14.718195 Event: RECEIVER READY SENT
-On: 2011-08-03 20:08:25.169412 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:18:00.455825 ------------------
-On: 2011-08-03 20:18:00.455949 Event: LISTEN ON PORT: 50011
-On: 2011-08-03 20:18:02.322071 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53516)
-On: 2011-08-03 20:18:02.322244 Event: TALK INITIALIZATION SENT
-On: 2011-08-03 20:18:02.322395 Event: RECEIVER READY SENT
-On: 2011-08-03 20:18:12.977393 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:18:00.326436 ------------------
-On: 2011-08-10 14:18:00.326556 Event: LISTEN ON PORT: 50011
-On: 2011-08-10 14:18:02.202150 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34153)
-On: 2011-08-10 14:18:02.202318 Event: TALK INITIALIZATION SENT
-On: 2011-08-10 14:18:02.202603 Event: RECEIVER READY SENT
-On: 2011-08-10 14:18:13.509452 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:53:19.253327 ------------------
-On: 2011-08-29 14:53:19.253680 Event: LISTEN ON PORT: 50011
-On: 2011-08-29 14:53:20.538510 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41436)
-On: 2011-08-29 14:53:20.538864 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 14:53:20.539052 Event: RECEIVER READY SENT
-On: 2011-08-29 14:53:55.591492 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:28.379101 ------------------
-On: 2011-08-29 15:00:28.379456 Event: LISTEN ON PORT: 50011
-On: 2011-08-29 15:00:29.713083 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47874)
-On: 2011-08-29 15:00:29.713449 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:00:29.713649 Event: RECEIVER READY SENT
-On: 2011-08-29 15:00:40.965961 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:57.708518 ------------------
-On: 2011-08-29 15:05:57.708875 Event: LISTEN ON PORT: 50011
-On: 2011-08-29 15:05:59.018528 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56523)
-On: 2011-08-29 15:05:59.018887 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:05:59.019068 Event: RECEIVER READY SENT
-On: 2011-08-29 15:06:11.473949 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:36.738931 ------------------
-On: 2011-08-29 15:42:36.739283 Event: LISTEN ON PORT: 50011
-On: 2011-08-29 15:42:38.037088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46250)
-On: 2011-08-29 15:42:38.037457 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:42:38.037681 Event: RECEIVER READY SENT
-On: 2011-08-29 15:42:49.037938 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:44:59.220905 ------------------
-On: 2011-08-29 15:44:59.221263 Event: LISTEN ON PORT: 50011
-On: 2011-08-29 15:45:00.542582 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46264)
-On: 2011-08-29 15:45:00.542947 Event: TALK INITIALIZATION SENT
-On: 2011-08-29 15:45:00.543149 Event: RECEIVER READY SENT
-On: 2011-08-29 15:45:12.521947 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/19-08-2011/GSMClass.py b/For Weekly Test/19-08-2011/GSMClass.py
deleted file mode 100644
index e994814..0000000
--- a/For Weekly Test/19-08-2011/GSMClass.py
+++ /dev/null
@@ -1,304 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
-
- self.debugMode = 0
-
- def portInit(self):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
-
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
-
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/For Weekly Test/19-08-2011/GSMClass.pyc b/For Weekly Test/19-08-2011/GSMClass.pyc
deleted file mode 100644
index 40017fd..0000000
--- a/For Weekly Test/19-08-2011/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/GSMHandler.py b/For Weekly Test/19-08-2011/GSMHandler.py
deleted file mode 100644
index d701d94..0000000
--- a/For Weekly Test/19-08-2011/GSMHandler.py
+++ /dev/null
@@ -1,286 +0,0 @@
-import ServerClass
-import GSMClass
-import LogFileClass
-from time import sleep
-import sys
-
-global portListen
-global portAddress
-
-
-if len(sys.argv) <> 3:
- print "Error given command"
- sys.exit(2)
-
-
-portListen = int(sys.argv[1])
-portAddress = sys.argv[2]
-
-def initLogfile():
- global nameOfLogFile
-
- if portListen == 50007:
- nameOfLogFile = 'GSM RZ1 handler.log'
-
- elif portListen == 50010:
- nameOfLogFile = 'GSM O2 handler.log'
-
- elif portListen == 50011:
- nameOfLogFile = 'GSM Vodaphone handler.log'
-
- elif portListen == 50012:
- nameOfLogFile = 'GSM TMobile handler.log'
-
- elif portListen == 50013:
- nameOfLogFile = 'GSM EPlus handler.log'
- else:
- print "No port listening found"
-
-
-baudRate = 19200
-
-initLogfile()
-logger = LogFileClass.Logging(nameOfLogFile)
-
-errorCount = 0
-
-logger.logEvent('')
-
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-lastState = 0
-resetState = 0
-
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass.serialPort(portAddress, baudRate, 35)
-
- initDevice = gsmDevice.portInit()
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- terminateConnection()
- return 2
- else:
- logger.logEvent('$no connection')
- sys.exit(1)
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
-
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
- terminateConnection()
-
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- lastState = 3
- receiveCall = gsmDevice.receiveCall()
-
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- sendMessage = handlerSocket.sendData(callSuccess)
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller'
-
- #call the number here
- global lastState
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 6:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- return handlerSocket.sendData(callSuccess)
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- sys.exit(0.5)
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- receivedMessage += receiveMessage(10)
-
- del handlerSocket
- del gsmDevice
diff --git a/For Weekly Test/19-08-2011/Landline handler.log b/For Weekly Test/19-08-2011/Landline handler.log
deleted file mode 100644
index cb80d21..0000000
--- a/For Weekly Test/19-08-2011/Landline handler.log
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:27.189491 ------------------
-On: 2011-07-29 23:26:27.197636 Event: try to Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:29:02.577881 ------------------
-On: 2011-07-29 23:29:02.588058 Event: try to Connect to Controller
-On: 2011-07-29 23:29:50.425808 Event: init state
-On: 2011-07-29 23:29:50.426527 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:31:11.685264 ------------------
-On: 2011-07-29 23:31:11.693752 Event: try to Connect to Controller
-On: 2011-07-29 23:31:50.356785 Event: init state
-On: 2011-07-29 23:31:50.357509 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:32:30.935401 ------------------
-On: 2011-07-29 23:32:30.944002 Event: try to Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:38:34.265205 ------------------
-On: 2011-07-29 23:38:34.272929 Event: init state
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:39:05.071215 ------------------
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:39:35.502775 ------------------
-On: 2011-07-29 23:39:35.512507 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:41:23.875335 ------------------
-On: 2011-07-29 23:41:23.884532 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:13.341609 ------------------
-On: 2011-07-29 23:42:13.350064 Event: try to Connect to Controller
-On: 2011-07-29 23:42:16.203271 Event: init state
-On: 2011-07-29 23:42:16.203385 Event: Register Account to SIP server
-On: 2011-07-29 23:42:16.236148 Event: 100
-On: 2011-07-29 23:42:16.237396 Event: Receiver Handler Ready
-On: 2011-07-29 23:42:16.237455 Event: RECEIVE START
-On: 2011-07-29 23:42:24.127645 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-29 23:42:24.628790 Event: Call Connecting
-On: 2011-07-29 23:42:24.628835 Event: 200
-On: 2011-07-29 23:42:24.628978 Event: Answer call
-On: 2011-07-29 23:42:25.129584 Event: Hangup call
-On: 2011-07-29 23:42:25.129810 Event: CALL OK
-On: 2011-07-29 23:42:25.283094 Event: Call Disconnected
-On: 2011-07-29 23:42:25.393821 Event: Terminate
-On: 2011-07-29 23:42:25.393846 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:09.728877 ------------------
-On: 2011-07-29 23:43:09.736885 Event: try to Connect to Controller
-On: 2011-07-29 23:43:12.619960 Event: init state
-On: 2011-07-29 23:43:12.620108 Event: Register Account to SIP server
-On: 2011-07-29 23:43:12.667817 Event: 100
-On: 2011-07-29 23:43:12.669071 Event: Receiver Handler Ready
-On: 2011-07-29 23:43:12.669134 Event: RECEIVE START
-On: 2011-07-29 23:43:22.045718 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-29 23:43:22.546823 Event: Call Connecting
-On: 2011-07-29 23:43:22.546868 Event: 200
-On: 2011-07-29 23:43:22.547008 Event: Answer call
-On: 2011-07-29 23:43:23.047637 Event: Hangup call
-On: 2011-07-29 23:43:23.047873 Event: CALL OK
-On: 2011-07-29 23:43:23.101125 Event: Terminate
-On: 2011-07-29 23:43:23.101164 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:42.822564 ------------------
-On: 2011-07-30 00:10:42.830586 Event: try to Connect to Controller
-On: 2011-07-30 00:10:45.703646 Event: init state
-On: 2011-07-30 00:10:45.703811 Event: Register Account to SIP server
-On: 2011-07-30 00:10:45.737799 Event: 100
-On: 2011-07-30 00:10:45.737884 Event: Receiver Handler Ready
-On: 2011-07-30 00:10:45.738026 Event: RECEIVE START
-On: 2011-07-30 00:10:55.229448 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:10:55.730592 Event: Call Connecting
-On: 2011-07-30 00:10:55.730637 Event: 200
-On: 2011-07-30 00:10:55.730779 Event: Answer call
-On: 2011-07-30 00:10:56.231365 Event: Hangup call
-On: 2011-07-30 00:10:56.231546 Event: CALL OK
-On: 2011-07-30 00:10:56.333503 Event: Call Disconnected
-On: 2011-07-30 00:10:56.339227 Event: Terminate
-On: 2011-07-30 00:10:56.339270 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:35.034475 ------------------
-On: 2011-07-30 00:11:35.042598 Event: try to Connect to Controller
-On: 2011-07-30 00:11:37.902099 Event: init state
-On: 2011-07-30 00:11:37.902275 Event: Register Account to SIP server
-On: 2011-07-30 00:11:37.935993 Event: 100
-On: 2011-07-30 00:11:37.936061 Event: Receiver Handler Ready
-On: 2011-07-30 00:11:37.937281 Event: RECEIVE START
-On: 2011-07-30 00:12:19.237484 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:12:19.738583 Event: Call Connecting
-On: 2011-07-30 00:12:19.738627 Event: 200
-On: 2011-07-30 00:12:19.738772 Event: Answer call
-On: 2011-07-30 00:12:19.739148 Event: Terminate
-On: 2011-07-30 00:12:19.739188 Event: Goodbye
-On: 2011-07-30 00:12:20.239411 Event: Hangup call
-On: 2011-07-30 00:12:20.239637 Event: CALL OK
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:57.303984 ------------------
-On: 2011-07-30 00:26:57.313040 Event: try to Connect to Controller
-On: 2011-07-30 00:27:00.184213 Event: init state
-On: 2011-07-30 00:27:00.184461 Event: Register Account to SIP server
-On: 2011-07-30 00:27:00.218449 Event: 100
-On: 2011-07-30 00:27:00.218498 Event: Receiver Handler Ready
-On: 2011-07-30 00:27:00.218650 Event: RECEIVE START
-On: 2011-07-30 00:27:08.332497 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:27:08.833577 Event: Call Connecting
-On: 2011-07-30 00:27:08.833612 Event: 200
-On: 2011-07-30 00:27:08.833737 Event: Answer call
-On: 2011-07-30 00:27:09.334016 Event: Hangup call
-On: 2011-07-30 00:27:09.334160 Event: CALL OK
-On: 2011-07-30 00:27:09.487264 Event: Call Disconnected
-On: 2011-07-30 00:27:09.642374 Event: Terminate
-On: 2011-07-30 00:27:09.642418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:28:01.427077 ------------------
-On: 2011-07-30 00:28:01.436400 Event: try to Connect to Controller
-On: 2011-07-30 00:28:04.292014 Event: init state
-On: 2011-07-30 00:28:04.292217 Event: Register Account to SIP server
-On: 2011-07-30 00:28:04.324649 Event: 100
-On: 2011-07-30 00:28:04.325843 Event: Receiver Handler Ready
-On: 2011-07-30 00:28:04.325903 Event: RECEIVE START
-On: 2011-07-30 00:28:13.702346 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:28:14.203385 Event: Call Connecting
-On: 2011-07-30 00:28:14.203417 Event: 200
-On: 2011-07-30 00:28:14.203537 Event: Answer call
-On: 2011-07-30 00:28:14.704140 Event: Hangup call
-On: 2011-07-30 00:28:14.704328 Event: CALL OK
-On: 2011-07-30 00:28:14.857462 Event: Call Disconnected
-On: 2011-07-30 00:28:15.222953 Event: Terminate
-On: 2011-07-30 00:28:15.222995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:48.744168 ------------------
-On: 2011-07-30 00:29:48.752266 Event: try to Connect to Controller
-On: 2011-07-30 00:29:51.616628 Event: init state
-On: 2011-07-30 00:29:51.616869 Event: Register Account to SIP server
-On: 2011-07-30 00:29:51.652901 Event: 100
-On: 2011-07-30 00:29:51.654175 Event: Receiver Handler Ready
-On: 2011-07-30 00:29:51.654238 Event: RECEIVE START
-On: 2011-07-30 00:29:59.645670 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:30:00.146572 Event: Call Connecting
-On: 2011-07-30 00:30:00.146595 Event: 200
-On: 2011-07-30 00:30:00.146639 Event: Answer call
-On: 2011-07-30 00:30:01.000360 Event: Terminate
-On: 2011-07-30 00:30:01.000409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:56.623124 ------------------
-On: 2011-07-30 00:30:56.633526 Event: try to Connect to Controller
-On: 2011-07-30 00:30:59.467030 Event: init state
-On: 2011-07-30 00:30:59.467207 Event: Register Account to SIP server
-On: 2011-07-30 00:30:59.514683 Event: 100
-On: 2011-07-30 00:30:59.515924 Event: Receiver Handler Ready
-On: 2011-07-30 00:30:59.515989 Event: RECEIVE START
-On: 2011-07-30 00:31:07.302992 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:31:07.303394 Event: Call Connecting
-On: 2011-07-30 00:31:07.303420 Event: 200
-On: 2011-07-30 00:31:07.303559 Event: Answer call
-On: 2011-07-30 00:31:07.303592 Event: Hangup call
-On: 2011-07-30 00:31:07.303717 Event: CALL OK
-On: 2011-07-30 00:31:07.456866 Event: Call Disconnected
-On: 2011-07-30 00:31:08.091116 Event: Terminate
-On: 2011-07-30 00:31:08.091163 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:36.381169 ------------------
-On: 2011-07-30 00:32:36.389505 Event: try to Connect to Controller
-On: 2011-07-30 00:32:39.254557 Event: init state
-On: 2011-07-30 00:32:39.254662 Event: Register Account to SIP server
-On: 2011-07-30 00:32:39.302100 Event: 100
-On: 2011-07-30 00:32:39.303401 Event: Receiver Handler Ready
-On: 2011-07-30 00:32:39.303465 Event: RECEIVE START
-On: 2011-07-30 00:32:45.346692 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:32:45.347091 Event: Call Connecting
-On: 2011-07-30 00:32:45.347129 Event: 200
-On: 2011-07-30 00:32:45.347287 Event: Answer call
-On: 2011-07-30 00:32:45.347323 Event: Hangup call
-On: 2011-07-30 00:32:45.347446 Event: CALL OK
-On: 2011-07-30 00:32:45.500536 Event: Call Disconnected
-On: 2011-07-30 00:32:46.218824 Event: Terminate
-On: 2011-07-30 00:32:46.218872 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:35.950284 ------------------
-On: 2011-07-30 00:33:35.958817 Event: try to Connect to Controller
-On: 2011-07-30 00:33:38.817673 Event: init state
-On: 2011-07-30 00:33:38.817826 Event: Register Account to SIP server
-On: 2011-07-30 00:33:38.865841 Event: 100
-On: 2011-07-30 00:33:38.865926 Event: Receiver Handler Ready
-On: 2011-07-30 00:33:38.867128 Event: RECEIVE START
-On: 2011-07-30 00:33:44.604232 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:33:44.604630 Event: Call Connecting
-On: 2011-07-30 00:33:44.604652 Event: 200
-On: 2011-07-30 00:33:44.604820 Event: Answer call
-On: 2011-07-30 00:33:44.604848 Event: Hangup call
-On: 2011-07-30 00:33:44.604946 Event: CALL OK
-On: 2011-07-30 00:33:44.757964 Event: Call Disconnected
-On: 2011-07-30 00:33:45.465493 Event: Terminate
-On: 2011-07-30 00:33:45.465530 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:04:45.020979 ------------------
-On: 2011-08-29 15:04:45.041302 Event: try to Connect to Controller
-On: 2011-08-29 15:04:46.318761 Event: init state
-On: 2011-08-29 15:04:46.318995 Event: Register Account to SIP server
-On: 2011-08-29 15:04:46.321233 Event: 100
-On: 2011-08-29 15:04:46.321602 Event: Receiver Handler Ready
-On: 2011-08-29 15:04:46.321660 Event: RECEIVE START
-On: 2011-08-29 15:04:52.308833 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-08-29 15:04:52.309332 Event: Call Connecting
-On: 2011-08-29 15:04:52.309375 Event: 200
-On: 2011-08-29 15:04:52.309522 Event: Answer call
-On: 2011-08-29 15:04:52.309553 Event: Hangup call
-On: 2011-08-29 15:04:52.309708 Event: CALL OK
-On: 2011-08-29 15:04:52.360376 Event: Call Disconnected
-On: 2011-08-29 15:04:53.041296 Event: Terminate
-On: 2011-08-29 15:04:53.041373 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:22.818681 ------------------
-On: 2011-08-29 15:05:22.839496 Event: try to Connect to Controller
-On: 2011-08-29 15:05:24.110777 Event: init state
-On: 2011-08-29 15:05:24.111007 Event: Register Account to SIP server
-On: 2011-08-29 15:05:24.112507 Event: 100
-On: 2011-08-29 15:05:24.112855 Event: Receiver Handler Ready
-On: 2011-08-29 15:05:24.112912 Event: RECEIVE START
-On: 2011-08-29 15:05:30.362822 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-08-29 15:05:30.363327 Event: Call Connecting
-On: 2011-08-29 15:05:30.363370 Event: 200
-On: 2011-08-29 15:05:30.363516 Event: Answer call
-On: 2011-08-29 15:05:30.363547 Event: Hangup call
-On: 2011-08-29 15:05:30.363701 Event: CALL OK
-On: 2011-08-29 15:05:30.414334 Event: Call Disconnected
-On: 2011-08-29 15:05:31.183732 Event: Terminate
-On: 2011-08-29 15:05:31.183792 Event: Goodbye
diff --git a/For Weekly Test/19-08-2011/LogFileClass.py b/For Weekly Test/19-08-2011/LogFileClass.py
deleted file mode 100644
index cb152f4..0000000
--- a/For Weekly Test/19-08-2011/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/19-08-2011/LogFileClass.pyc b/For Weekly Test/19-08-2011/LogFileClass.pyc
deleted file mode 100644
index 4f22fe7..0000000
--- a/For Weekly Test/19-08-2011/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/PingClass.py b/For Weekly Test/19-08-2011/PingClass.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/19-08-2011/PingClass.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/19-08-2011/PingClass.pyc b/For Weekly Test/19-08-2011/PingClass.pyc
deleted file mode 100644
index 6bd8a5a..0000000
--- a/For Weekly Test/19-08-2011/PingClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/SIP handler.log b/For Weekly Test/19-08-2011/SIP handler.log
deleted file mode 100644
index 3fa3df7..0000000
--- a/For Weekly Test/19-08-2011/SIP handler.log
+++ /dev/null
@@ -1,1465 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:21:57.415823 ------------------
-On: 2011-07-29 23:21:57.425345 Event: try to Connect to Controller
-On: 2011-07-29 23:22:00.306913 Event: init state
-On: 2011-07-29 23:22:00.307021 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:24:53.876724 ------------------
-On: 2011-07-29 23:24:53.884855 Event: try to Connect to Controller
-On: 2011-07-29 23:24:56.739250 Event: init state
-On: 2011-07-29 23:24:56.739367 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:11.922247 ------------------
-On: 2011-07-29 23:25:11.930374 Event: try to Connect to Controller
-On: 2011-07-29 23:25:14.776741 Event: init state
-On: 2011-07-29 23:25:14.776832 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:27.644319 ------------------
-On: 2011-07-29 23:25:27.654529 Event: try to Connect to Controller
-On: 2011-07-29 23:25:30.488887 Event: init state
-On: 2011-07-29 23:25:30.488998 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:15.433339 ------------------
-On: 2011-07-29 23:26:15.444299 Event: try to Connect to Controller
-On: 2011-07-29 23:26:18.276304 Event: init state
-On: 2011-07-29 23:26:18.276337 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:10.319903 ------------------
-On: 2011-07-29 23:42:10.328198 Event: try to Connect to Controller
-On: 2011-07-29 23:42:13.196833 Event: init state
-On: 2011-07-29 23:42:13.197004 Event: Register Account to SIP server
-On: 2011-07-29 23:42:13.197373 Event: 100
-On: 2011-07-29 23:42:13.197448 Event: Caller Handler Ready
-On: 2011-07-29 23:42:21.238138 Event: CALL START
-On: 2011-07-29 23:42:21.238194 Event: Make a call to: 076145875681
-On: 2011-07-29 23:42:25.393438 Event: Call Connecting
-On: 2011-07-29 23:42:25.393485 Event: 200
-On: 2011-07-29 23:42:25.394043 Event: Terminate
-On: 2011-07-29 23:42:25.394074 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:06.750461 ------------------
-On: 2011-07-29 23:43:06.759085 Event: try to Connect to Controller
-On: 2011-07-29 23:43:09.613473 Event: init state
-On: 2011-07-29 23:43:09.613644 Event: Register Account to SIP server
-On: 2011-07-29 23:43:09.614010 Event: 100
-On: 2011-07-29 23:43:09.614061 Event: Caller Handler Ready
-On: 2011-07-29 23:43:17.673133 Event: CALL START
-On: 2011-07-29 23:43:17.673190 Event: Make a call to: 076145875681
-On: 2011-07-29 23:43:23.100719 Event: Call Connecting
-On: 2011-07-29 23:43:23.100753 Event: 200
-On: 2011-07-29 23:43:23.101544 Event: Terminate
-On: 2011-07-29 23:43:23.101576 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:39.836082 ------------------
-On: 2011-07-30 00:10:39.845051 Event: try to Connect to Controller
-On: 2011-07-30 00:10:42.697416 Event: init state
-On: 2011-07-30 00:10:42.697558 Event: Register Account to SIP server
-On: 2011-07-30 00:10:42.697908 Event: 100
-On: 2011-07-30 00:10:42.697990 Event: Caller Handler Ready
-On: 2011-07-30 00:10:50.739806 Event: CALL START
-On: 2011-07-30 00:10:50.739862 Event: Make a call to: 076145875681
-On: 2011-07-30 00:10:56.338263 Event: Call Connecting
-On: 2011-07-30 00:10:56.338295 Event: 200
-On: 2011-07-30 00:10:56.338926 Event: Terminate
-On: 2011-07-30 00:10:56.338971 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:32.044804 ------------------
-On: 2011-07-30 00:11:32.055384 Event: try to Connect to Controller
-On: 2011-07-30 00:11:34.895786 Event: init state
-On: 2011-07-30 00:11:34.895941 Event: Register Account to SIP server
-On: 2011-07-30 00:11:34.896327 Event: 100
-On: 2011-07-30 00:11:34.896381 Event: Caller Handler Ready
-On: 2011-07-30 00:11:42.941360 Event: CALL START
-On: 2011-07-30 00:11:42.941412 Event: Make a call to: 076145875681
-On: 2011-07-30 00:12:19.738871 Event: Terminate
-On: 2011-07-30 00:12:19.738916 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:54.311305 ------------------
-On: 2011-07-30 00:26:54.320356 Event: try to Connect to Controller
-On: 2011-07-30 00:26:57.176776 Event: init state
-On: 2011-07-30 00:26:57.176895 Event: Register Account to SIP server
-On: 2011-07-30 00:26:57.177196 Event: 100
-On: 2011-07-30 00:26:57.177239 Event: Caller Handler Ready
-On: 2011-07-30 00:27:05.219886 Event: CALL START
-On: 2011-07-30 00:27:05.219948 Event: Make a call to: 076145875681
-On: 2011-07-30 00:27:09.641501 Event: Call Connecting
-On: 2011-07-30 00:27:09.641557 Event: 200
-On: 2011-07-30 00:27:09.642486 Event: Terminate
-On: 2011-07-30 00:27:09.642523 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:27:58.409659 ------------------
-On: 2011-07-30 00:27:58.417830 Event: try to Connect to Controller
-On: 2011-07-30 00:28:01.285869 Event: init state
-On: 2011-07-30 00:28:01.286077 Event: Register Account to SIP server
-On: 2011-07-30 00:28:01.286389 Event: 100
-On: 2011-07-30 00:28:01.286431 Event: Caller Handler Ready
-On: 2011-07-30 00:28:09.329917 Event: CALL START
-On: 2011-07-30 00:28:09.329971 Event: Make a call to: 076145875681
-On: 2011-07-30 00:28:15.222548 Event: Call Connecting
-On: 2011-07-30 00:28:15.222589 Event: 200
-On: 2011-07-30 00:28:15.223404 Event: Terminate
-On: 2011-07-30 00:28:15.223435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:45.720356 ------------------
-On: 2011-07-30 00:29:45.729640 Event: try to Connect to Controller
-On: 2011-07-30 00:29:48.610439 Event: init state
-On: 2011-07-30 00:29:48.610574 Event: Register Account to SIP server
-On: 2011-07-30 00:29:48.610890 Event: 100
-On: 2011-07-30 00:29:48.610932 Event: Caller Handler Ready
-On: 2011-07-30 00:29:56.654983 Event: CALL START
-On: 2011-07-30 00:29:56.655033 Event: Make a call to: 076145875681
-On: 2011-07-30 00:30:00.999654 Event: Call Connecting
-On: 2011-07-30 00:30:00.999696 Event: 200
-On: 2011-07-30 00:30:01.000381 Event: Terminate
-On: 2011-07-30 00:30:01.000414 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:53.582445 ------------------
-On: 2011-07-30 00:30:53.591399 Event: try to Connect to Controller
-On: 2011-07-30 00:30:56.463424 Event: init state
-On: 2011-07-30 00:30:56.463573 Event: Register Account to SIP server
-On: 2011-07-30 00:30:56.463798 Event: 100
-On: 2011-07-30 00:30:56.463820 Event: Caller Handler Ready
-On: 2011-07-30 00:31:04.516608 Event: CALL START
-On: 2011-07-30 00:31:04.516663 Event: Make a call to: 076145875681
-On: 2011-07-30 00:31:08.090713 Event: Call Connecting
-On: 2011-07-30 00:31:08.090759 Event: 200
-On: 2011-07-30 00:31:08.091467 Event: Terminate
-On: 2011-07-30 00:31:08.091499 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:33.354788 ------------------
-On: 2011-07-30 00:32:33.363048 Event: try to Connect to Controller
-On: 2011-07-30 00:32:36.248229 Event: init state
-On: 2011-07-30 00:32:36.248378 Event: Register Account to SIP server
-On: 2011-07-30 00:32:36.248733 Event: 100
-On: 2011-07-30 00:32:36.248833 Event: Caller Handler Ready
-On: 2011-07-30 00:32:42.303930 Event: CALL START
-On: 2011-07-30 00:32:42.303983 Event: Make a call to: 076145875681
-On: 2011-07-30 00:32:46.218329 Event: Call Connecting
-On: 2011-07-30 00:32:46.218374 Event: 200
-On: 2011-07-30 00:32:46.219139 Event: Terminate
-On: 2011-07-30 00:32:46.219177 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:32.956715 ------------------
-On: 2011-07-30 00:33:32.965479 Event: try to Connect to Controller
-On: 2011-07-30 00:33:35.811340 Event: init state
-On: 2011-07-30 00:33:35.811482 Event: Register Account to SIP server
-On: 2011-07-30 00:33:35.811814 Event: 100
-On: 2011-07-30 00:33:35.811857 Event: Caller Handler Ready
-On: 2011-07-30 00:33:41.869229 Event: CALL START
-On: 2011-07-30 00:33:41.869282 Event: Make a call to: 076145875681
-On: 2011-07-30 00:33:45.465131 Event: Call Connecting
-On: 2011-07-30 00:33:45.465173 Event: 200
-On: 2011-07-30 00:33:45.465887 Event: Terminate
-On: 2011-07-30 00:33:45.465913 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:00.939093 ------------------
-On: 2011-08-02 19:55:00.947292 Event: try to Connect to Controller
-On: 2011-08-02 19:55:03.711300 Event: init state
-On: 2011-08-02 19:55:03.711448 Event: Register Account to SIP server
-On: 2011-08-02 19:55:03.711841 Event: 100
-On: 2011-08-02 19:55:03.711893 Event: Caller Handler Ready
-On: 2011-08-02 19:55:09.721122 Event: CALL START
-On: 2011-08-02 19:55:09.721158 Event: Make a call to: 017678038038
-On: 2011-08-02 19:55:19.214866 Event: Call Connecting
-On: 2011-08-02 19:55:19.214910 Event: 200
-On: 2011-08-02 19:55:19.215384 Event: Terminate
-On: 2011-08-02 19:55:19.215420 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:53.069275 ------------------
-On: 2011-08-02 19:55:53.077474 Event: try to Connect to Controller
-On: 2011-08-02 19:55:55.955233 Event: init state
-On: 2011-08-02 19:55:55.955463 Event: Register Account to SIP server
-On: 2011-08-02 19:55:55.955808 Event: 100
-On: 2011-08-02 19:55:55.955897 Event: Caller Handler Ready
-On: 2011-08-02 19:56:01.962175 Event: CALL START
-On: 2011-08-02 19:56:01.962207 Event: Make a call to: 017678038038
-On: 2011-08-02 19:56:12.127665 Event: Call Connecting
-On: 2011-08-02 19:56:12.127708 Event: 200
-On: 2011-08-02 19:56:12.128344 Event: Terminate
-On: 2011-08-02 19:56:12.128383 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:56:52.719769 ------------------
-On: 2011-08-02 19:56:52.727723 Event: try to Connect to Controller
-On: 2011-08-02 19:56:55.600756 Event: init state
-On: 2011-08-02 19:56:55.600906 Event: Register Account to SIP server
-On: 2011-08-02 19:56:55.601278 Event: 100
-On: 2011-08-02 19:56:55.601331 Event: Caller Handler Ready
-On: 2011-08-02 19:57:01.608625 Event: CALL START
-On: 2011-08-02 19:57:01.608651 Event: Make a call to: 017678038038
-On: 2011-08-02 19:57:11.044203 Event: Call Connecting
-On: 2011-08-02 19:57:11.044245 Event: 200
-On: 2011-08-02 19:57:11.045022 Event: Terminate
-On: 2011-08-02 19:57:11.045055 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:58:01.857498 ------------------
-On: 2011-08-02 19:58:01.866196 Event: try to Connect to Controller
-On: 2011-08-02 19:58:04.718311 Event: init state
-On: 2011-08-02 19:58:04.718514 Event: Register Account to SIP server
-On: 2011-08-02 19:58:04.718881 Event: 100
-On: 2011-08-02 19:58:04.718933 Event: Caller Handler Ready
-On: 2011-08-02 19:58:10.726229 Event: CALL START
-On: 2011-08-02 19:58:10.726264 Event: Make a call to: 017678038038
-On: 2011-08-02 19:58:20.949996 Event: Call Connecting
-On: 2011-08-02 19:58:20.950042 Event: 200
-On: 2011-08-02 19:58:20.950597 Event: Terminate
-On: 2011-08-02 19:58:20.950641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:01:31.754302 ------------------
-On: 2011-08-02 20:01:31.762724 Event: try to Connect to Controller
-On: 2011-08-02 20:01:34.623284 Event: init state
-On: 2011-08-02 20:01:34.623434 Event: Register Account to SIP server
-On: 2011-08-02 20:01:34.623785 Event: 100
-On: 2011-08-02 20:01:34.623836 Event: Caller Handler Ready
-On: 2011-08-02 20:01:40.629813 Event: CALL START
-On: 2011-08-02 20:01:40.629849 Event: Make a call to: 017678038038
-On: 2011-08-02 20:01:49.932922 Event: Call Connecting
-On: 2011-08-02 20:01:49.932965 Event: 200
-On: 2011-08-02 20:01:49.933658 Event: Terminate
-On: 2011-08-02 20:01:49.933688 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:01:55.082898 ------------------
-On: 2011-08-02 20:01:55.091213 Event: try to Connect to Controller
-On: 2011-08-02 20:01:57.942026 Event: init state
-On: 2011-08-02 20:01:57.942138 Event: Register Account to SIP server
-On: 2011-08-02 20:01:57.942515 Event: 100
-On: 2011-08-02 20:01:57.942566 Event: Caller Handler Ready
-On: 2011-08-02 20:02:03.951559 Event: CALL START
-On: 2011-08-02 20:02:03.951589 Event: Make a call to: 015252423662
-On: 2011-08-02 20:02:14.039116 Event: Call Connecting
-On: 2011-08-02 20:02:14.039161 Event: 200
-On: 2011-08-02 20:02:14.039933 Event: Terminate
-On: 2011-08-02 20:02:14.039964 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:02:19.182418 ------------------
-On: 2011-08-02 20:02:19.190809 Event: try to Connect to Controller
-On: 2011-08-02 20:02:22.050295 Event: init state
-On: 2011-08-02 20:02:22.050424 Event: Register Account to SIP server
-On: 2011-08-02 20:02:22.050849 Event: 100
-On: 2011-08-02 20:02:22.050903 Event: Caller Handler Ready
-On: 2011-08-02 20:02:28.060186 Event: CALL START
-On: 2011-08-02 20:02:28.060218 Event: Make a call to: 015782677224
-On: 2011-08-02 20:02:34.041291 Event: Call Connecting
-On: 2011-08-02 20:02:34.041319 Event: 200
-On: 2011-08-02 20:02:43.460607 Event: Call Disconnected
-On: 2011-08-02 20:03:04.041606 Event: Terminate
-On: 2011-08-02 20:03:04.041630 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:03:09.164504 ------------------
-On: 2011-08-02 20:03:09.176834 Event: try to Connect to Controller
-On: 2011-08-02 20:03:12.052321 Event: init state
-On: 2011-08-02 20:03:12.052491 Event: Register Account to SIP server
-On: 2011-08-02 20:03:12.052875 Event: 100
-On: 2011-08-02 20:03:12.052925 Event: Caller Handler Ready
-On: 2011-08-02 20:03:18.062175 Event: CALL START
-On: 2011-08-02 20:03:18.062211 Event: Make a call to: 015252423662
-On: 2011-08-02 20:03:27.491001 Event: Call Connecting
-On: 2011-08-02 20:03:27.491045 Event: 200
-On: 2011-08-02 20:03:27.491632 Event: Terminate
-On: 2011-08-02 20:03:27.491675 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:08:38.052495 ------------------
-On: 2011-08-02 20:08:38.061980 Event: try to Connect to Controller
-On: 2011-08-02 20:08:40.911287 Event: init state
-On: 2011-08-02 20:08:40.911438 Event: Register Account to SIP server
-On: 2011-08-02 20:08:40.911785 Event: 100
-On: 2011-08-02 20:08:40.911861 Event: Caller Handler Ready
-On: 2011-08-02 20:08:46.918226 Event: CALL START
-On: 2011-08-02 20:08:46.918257 Event: Make a call to: 017678038038
-On: 2011-08-02 20:08:55.523547 Event: Call Connecting
-On: 2011-08-02 20:08:55.523588 Event: 200
-On: 2011-08-02 20:08:55.524418 Event: Terminate
-On: 2011-08-02 20:08:55.524450 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:09:00.682513 ------------------
-On: 2011-08-02 20:09:00.695176 Event: try to Connect to Controller
-On: 2011-08-02 20:09:03.536672 Event: init state
-On: 2011-08-02 20:09:03.536837 Event: Register Account to SIP server
-On: 2011-08-02 20:09:03.537195 Event: 100
-On: 2011-08-02 20:09:03.537245 Event: Caller Handler Ready
-On: 2011-08-02 20:09:09.546613 Event: CALL START
-On: 2011-08-02 20:09:09.546644 Event: Make a call to: 015252423662
-On: 2011-08-02 20:09:19.693302 Event: Call Connecting
-On: 2011-08-02 20:09:19.693343 Event: 200
-On: 2011-08-02 20:09:19.694147 Event: Terminate
-On: 2011-08-02 20:09:19.694199 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:09:24.811754 ------------------
-On: 2011-08-02 20:09:24.822122 Event: try to Connect to Controller
-On: 2011-08-02 20:09:27.702106 Event: init state
-On: 2011-08-02 20:09:27.702239 Event: Register Account to SIP server
-On: 2011-08-02 20:09:27.702620 Event: 100
-On: 2011-08-02 20:09:27.702669 Event: Caller Handler Ready
-On: 2011-08-02 20:09:33.710211 Event: CALL START
-On: 2011-08-02 20:09:33.710244 Event: Make a call to: 015782677224
-On: 2011-08-02 20:09:39.351382 Event: Call Connecting
-On: 2011-08-02 20:09:39.351411 Event: 200
-On: 2011-08-02 20:09:48.605166 Event: Call Disconnected
-On: 2011-08-02 20:10:09.351729 Event: Terminate
-On: 2011-08-02 20:10:09.351753 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:10:40.934265 ------------------
-On: 2011-08-02 20:10:40.942387 Event: try to Connect to Controller
-On: 2011-08-02 20:10:43.811287 Event: init state
-On: 2011-08-02 20:10:43.811435 Event: Register Account to SIP server
-On: 2011-08-02 20:10:43.811818 Event: 100
-On: 2011-08-02 20:10:43.813044 Event: Caller Handler Ready
-On: 2011-08-02 20:10:49.821596 Event: CALL START
-On: 2011-08-02 20:10:49.821636 Event: Make a call to: 017678038038
-On: 2011-08-02 20:10:59.158125 Event: Call Connecting
-On: 2011-08-02 20:10:59.158155 Event: 200
-On: 2011-08-02 20:10:59.158823 Event: Terminate
-On: 2011-08-02 20:10:59.158861 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:11:04.295889 ------------------
-On: 2011-08-02 20:11:04.304201 Event: try to Connect to Controller
-On: 2011-08-02 20:11:07.171417 Event: init state
-On: 2011-08-02 20:11:07.171568 Event: Register Account to SIP server
-On: 2011-08-02 20:11:07.171926 Event: 100
-On: 2011-08-02 20:11:07.171978 Event: Caller Handler Ready
-On: 2011-08-02 20:11:13.181105 Event: CALL START
-On: 2011-08-02 20:11:13.181140 Event: Make a call to: 015252423662
-On: 2011-08-02 20:11:23.287305 Event: Call Connecting
-On: 2011-08-02 20:11:23.287347 Event: 200
-On: 2011-08-02 20:11:23.288127 Event: Terminate
-On: 2011-08-02 20:11:23.288158 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:11:28.436130 ------------------
-On: 2011-08-02 20:11:28.444438 Event: try to Connect to Controller
-On: 2011-08-02 20:11:31.299493 Event: init state
-On: 2011-08-02 20:11:31.299774 Event: Register Account to SIP server
-On: 2011-08-02 20:11:31.300260 Event: 100
-On: 2011-08-02 20:11:31.301082 Event: Caller Handler Ready
-On: 2011-08-02 20:11:37.305747 Event: CALL START
-On: 2011-08-02 20:11:37.305855 Event: Make a call to: 015782677224
-On: 2011-08-02 20:11:43.128068 Event: Call Connecting
-On: 2011-08-02 20:11:43.128099 Event: 200
-On: 2011-08-02 20:11:52.338920 Event: Call Disconnected
-On: 2011-08-02 20:12:13.129599 Event: Terminate
-On: 2011-08-02 20:12:13.129625 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:34:20.105424 ------------------
-On: 2011-08-02 20:34:20.113710 Event: try to Connect to Controller
-On: 2011-08-02 20:34:22.969732 Event: init state
-On: 2011-08-02 20:34:22.969899 Event: Register Account to SIP server
-On: 2011-08-02 20:34:22.970277 Event: 100
-On: 2011-08-02 20:34:22.970328 Event: Caller Handler Ready
-On: 2011-08-02 20:34:28.978226 Event: CALL START
-On: 2011-08-02 20:34:28.978260 Event: Make a call to: 017678038038
-On: 2011-08-02 20:34:39.213283 Event: Call Connecting
-On: 2011-08-02 20:34:39.213329 Event: 200
-On: 2011-08-02 20:34:39.214157 Event: Terminate
-On: 2011-08-02 20:34:39.214213 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:39:16.567544 ------------------
-On: 2011-08-02 20:39:16.575959 Event: try to Connect to Controller
-On: 2011-08-02 20:39:19.419302 Event: init state
-On: 2011-08-02 20:39:19.419449 Event: Register Account to SIP server
-On: 2011-08-02 20:39:19.419798 Event: 100
-On: 2011-08-02 20:39:19.419877 Event: Caller Handler Ready
-On: 2011-08-02 20:39:25.428927 Event: CALL START
-On: 2011-08-02 20:39:25.428966 Event: Make a call to: 017678038038
-On: 2011-08-02 20:39:34.958870 Event: Call Connecting
-On: 2011-08-02 20:39:34.958915 Event: 200
-On: 2011-08-02 20:39:34.959740 Event: Terminate
-On: 2011-08-02 20:39:34.959772 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:41:18.532247 ------------------
-On: 2011-08-02 20:41:18.542594 Event: try to Connect to Controller
-On: 2011-08-02 20:41:21.399263 Event: init state
-On: 2011-08-02 20:41:21.399413 Event: Register Account to SIP server
-On: 2011-08-02 20:41:21.399761 Event: 100
-On: 2011-08-02 20:41:21.399839 Event: Caller Handler Ready
-On: 2011-08-02 20:41:27.406178 Event: CALL START
-On: 2011-08-02 20:41:27.406214 Event: Make a call to: 017678038038
-On: 2011-08-02 20:41:37.628178 Event: Call Connecting
-On: 2011-08-02 20:41:37.628221 Event: 200
-On: 2011-08-02 20:41:37.628714 Event: Terminate
-On: 2011-08-02 20:41:37.628752 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:41:47.854130 ------------------
-On: 2011-08-02 20:41:47.862317 Event: try to Connect to Controller
-On: 2011-08-02 20:41:50.707762 Event: init state
-On: 2011-08-02 20:41:50.707931 Event: Register Account to SIP server
-On: 2011-08-02 20:41:50.708294 Event: 100
-On: 2011-08-02 20:41:50.708346 Event: Caller Handler Ready
-On: 2011-08-02 20:41:56.717588 Event: CALL START
-On: 2011-08-02 20:41:56.717621 Event: Make a call to: 015252423662
-On: 2011-08-02 20:42:06.551753 Event: Call Connecting
-On: 2011-08-02 20:42:06.551798 Event: 200
-On: 2011-08-02 20:42:06.552614 Event: Terminate
-On: 2011-08-02 20:42:06.552647 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:42:16.743065 ------------------
-On: 2011-08-02 20:42:16.751458 Event: try to Connect to Controller
-On: 2011-08-02 20:42:19.607090 Event: init state
-On: 2011-08-02 20:42:19.607237 Event: Register Account to SIP server
-On: 2011-08-02 20:42:19.607606 Event: 100
-On: 2011-08-02 20:42:19.607660 Event: Caller Handler Ready
-On: 2011-08-02 20:42:25.613921 Event: CALL START
-On: 2011-08-02 20:42:25.613952 Event: Make a call to: 015782677224
-On: 2011-08-02 20:42:31.141719 Event: Call Connecting
-On: 2011-08-02 20:42:31.141746 Event: 200
-On: 2011-08-02 20:42:40.664486 Event: Call Disconnected
-On: 2011-08-02 20:43:01.142015 Event: Terminate
-On: 2011-08-02 20:43:01.142039 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:43:14.328986 ------------------
-On: 2011-08-02 20:43:14.337440 Event: try to Connect to Controller
-On: 2011-08-02 20:43:17.198132 Event: init state
-On: 2011-08-02 20:43:17.198308 Event: Register Account to SIP server
-On: 2011-08-02 20:43:17.198659 Event: 100
-On: 2011-08-02 20:43:17.198712 Event: Receiver Handler Ready
-On: 2011-08-02 20:43:17.198851 Event: RECEIVE START
-On: 2011-08-02 20:43:51.966601 Event: Terminate
-On: 2011-08-02 20:43:51.966649 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:44:21.203815 ------------------
-On: 2011-08-02 20:44:21.211997 Event: try to Connect to Controller
-On: 2011-08-02 20:44:24.054879 Event: init state
-On: 2011-08-02 20:44:24.055047 Event: Register Account to SIP server
-On: 2011-08-02 20:44:24.055406 Event: 100
-On: 2011-08-02 20:44:24.055456 Event: Caller Handler Ready
-On: 2011-08-02 20:44:30.064839 Event: CALL START
-On: 2011-08-02 20:44:30.064873 Event: Make a call to: 017678038038
-On: 2011-08-02 20:44:39.902849 Event: Call Connecting
-On: 2011-08-02 20:44:39.902894 Event: 200
-On: 2011-08-02 20:44:39.903907 Event: Terminate
-On: 2011-08-02 20:44:39.903940 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:44:50.087743 ------------------
-On: 2011-08-02 20:44:50.098718 Event: try to Connect to Controller
-On: 2011-08-02 20:44:52.959020 Event: init state
-On: 2011-08-02 20:44:52.959188 Event: Register Account to SIP server
-On: 2011-08-02 20:44:52.959545 Event: 100
-On: 2011-08-02 20:44:52.959596 Event: Caller Handler Ready
-On: 2011-08-02 20:44:58.968881 Event: CALL START
-On: 2011-08-02 20:44:58.968914 Event: Make a call to: 015252423662
-On: 2011-08-02 20:45:08.791734 Event: Call Connecting
-On: 2011-08-02 20:45:08.791779 Event: 200
-On: 2011-08-02 20:45:08.792555 Event: Terminate
-On: 2011-08-02 20:45:08.792586 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:45:18.976885 ------------------
-On: 2011-08-02 20:45:18.985743 Event: try to Connect to Controller
-On: 2011-08-02 20:45:21.849761 Event: init state
-On: 2011-08-02 20:45:21.849999 Event: Register Account to SIP server
-On: 2011-08-02 20:45:21.850415 Event: 100
-On: 2011-08-02 20:45:21.850469 Event: Caller Handler Ready
-On: 2011-08-02 20:45:27.858175 Event: CALL START
-On: 2011-08-02 20:45:27.858210 Event: Make a call to: 015782677224
-On: 2011-08-02 20:45:33.527651 Event: Call Connecting
-On: 2011-08-02 20:45:33.527676 Event: 200
-On: 2011-08-02 20:45:42.793337 Event: Call Disconnected
-On: 2011-08-02 20:46:03.527981 Event: Terminate
-On: 2011-08-02 20:46:03.528004 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:45:26.700909 ------------------
-On: 2011-08-02 22:45:26.709478 Event: try to Connect to Controller
-On: 2011-08-02 22:45:29.580035 Event: init state
-On: 2011-08-02 22:45:29.580205 Event: Register Account to SIP server
-On: 2011-08-02 22:45:29.580572 Event: 100
-On: 2011-08-02 22:45:29.580626 Event: Caller Handler Ready
-On: 2011-08-02 22:45:35.590140 Event: CALL START
-On: 2011-08-02 22:45:35.590185 Event: Make a call to: 017678038038
-On: 2011-08-02 22:45:45.862328 Event: Call Connecting
-On: 2011-08-02 22:45:45.862372 Event: 200
-On: 2011-08-02 22:45:45.863089 Event: Terminate
-On: 2011-08-02 22:45:45.863123 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:45:56.057464 ------------------
-On: 2011-08-02 22:45:56.065629 Event: try to Connect to Controller
-On: 2011-08-02 22:45:58.923013 Event: init state
-On: 2011-08-02 22:45:58.923181 Event: Register Account to SIP server
-On: 2011-08-02 22:45:58.923541 Event: 100
-On: 2011-08-02 22:45:58.923591 Event: Caller Handler Ready
-On: 2011-08-02 22:46:04.930175 Event: CALL START
-On: 2011-08-02 22:46:04.930212 Event: Make a call to: 015252423662
-On: 2011-08-02 22:46:16.073379 Event: Call Connecting
-On: 2011-08-02 22:46:16.073437 Event: 200
-On: 2011-08-02 22:46:16.074392 Event: Terminate
-On: 2011-08-02 22:46:16.074433 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:46:26.285377 ------------------
-On: 2011-08-02 22:46:26.296589 Event: try to Connect to Controller
-On: 2011-08-02 22:46:29.128412 Event: init state
-On: 2011-08-02 22:46:29.128561 Event: Register Account to SIP server
-On: 2011-08-02 22:46:29.128953 Event: 100
-On: 2011-08-02 22:46:29.129006 Event: Caller Handler Ready
-On: 2011-08-02 22:46:35.138213 Event: CALL START
-On: 2011-08-02 22:46:35.138248 Event: Make a call to: 015782677224
-On: 2011-08-02 22:46:41.351363 Event: Call Connecting
-On: 2011-08-02 22:46:41.351397 Event: 200
-On: 2011-08-02 22:46:50.618236 Event: Call Disconnected
-On: 2011-08-02 22:47:11.352042 Event: Terminate
-On: 2011-08-02 22:47:11.352066 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:48:26.320620 ------------------
-On: 2011-08-02 22:48:26.329712 Event: try to Connect to Controller
-On: 2011-08-02 22:48:29.179025 Event: init state
-On: 2011-08-02 22:48:29.179153 Event: Register Account to SIP server
-On: 2011-08-02 22:48:29.179436 Event: 100
-On: 2011-08-02 22:48:29.179491 Event: Caller Handler Ready
-On: 2011-08-02 22:48:35.187046 Event: CALL START
-On: 2011-08-02 22:48:35.187083 Event: Make a call to: 017678038038
-On: 2011-08-02 22:48:44.959033 Event: Call Connecting
-On: 2011-08-02 22:48:44.959079 Event: 200
-On: 2011-08-02 22:48:44.959638 Event: Terminate
-On: 2011-08-02 22:48:44.959689 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:48:55.173589 ------------------
-On: 2011-08-02 22:48:55.183801 Event: try to Connect to Controller
-On: 2011-08-02 22:48:58.014434 Event: init state
-On: 2011-08-02 22:48:58.014573 Event: Register Account to SIP server
-On: 2011-08-02 22:48:58.014980 Event: 100
-On: 2011-08-02 22:48:58.015047 Event: Caller Handler Ready
-On: 2011-08-02 22:49:04.022766 Event: CALL START
-On: 2011-08-02 22:49:04.022801 Event: Make a call to: 015252423662
-On: 2011-08-02 22:49:14.028062 Event: Call Connecting
-On: 2011-08-02 22:49:14.028107 Event: 200
-On: 2011-08-02 22:49:14.028895 Event: Terminate
-On: 2011-08-02 22:49:14.028927 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:49:24.232481 ------------------
-On: 2011-08-02 22:49:24.240819 Event: try to Connect to Controller
-On: 2011-08-02 22:49:27.081748 Event: init state
-On: 2011-08-02 22:49:27.081912 Event: Register Account to SIP server
-On: 2011-08-02 22:49:27.082430 Event: 100
-On: 2011-08-02 22:49:27.083486 Event: Caller Handler Ready
-On: 2011-08-02 22:49:33.090181 Event: CALL START
-On: 2011-08-02 22:49:33.090219 Event: Make a call to: 015782677224
-On: 2011-08-02 22:49:39.758355 Event: Call Connecting
-On: 2011-08-02 22:49:39.758383 Event: 200
-On: 2011-08-02 22:49:49.126894 Event: Call Disconnected
-On: 2011-08-02 22:50:09.758658 Event: Terminate
-On: 2011-08-02 22:50:09.758682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:50:23.281512 ------------------
-On: 2011-08-02 22:50:23.289927 Event: try to Connect to Controller
-On: 2011-08-02 22:50:26.150209 Event: init state
-On: 2011-08-02 22:50:26.150358 Event: Register Account to SIP server
-On: 2011-08-02 22:50:26.150849 Event: 100
-On: 2011-08-02 22:50:26.150919 Event: Caller Handler Ready
-On: 2011-08-02 22:50:32.160253 Event: CALL START
-On: 2011-08-02 22:50:32.160287 Event: Make a call to: 017678038038
-On: 2011-08-02 22:50:41.454881 Event: Call Connecting
-On: 2011-08-02 22:50:41.454926 Event: 200
-On: 2011-08-02 22:50:41.455729 Event: Terminate
-On: 2011-08-02 22:50:41.455761 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:51:31.603610 ------------------
-On: 2011-08-02 22:51:31.611939 Event: try to Connect to Controller
-On: 2011-08-02 22:51:34.459290 Event: init state
-On: 2011-08-02 22:51:34.459441 Event: Register Account to SIP server
-On: 2011-08-02 22:51:34.459826 Event: 100
-On: 2011-08-02 22:51:34.459878 Event: Caller Handler Ready
-On: 2011-08-02 22:51:40.466684 Event: CALL START
-On: 2011-08-02 22:51:40.466721 Event: Make a call to: 017678038038
-On: 2011-08-02 22:51:49.621534 Event: Call Connecting
-On: 2011-08-02 22:51:49.621576 Event: 200
-On: 2011-08-02 22:51:49.622482 Event: Terminate
-On: 2011-08-02 22:51:49.622524 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:53:05.368312 ------------------
-On: 2011-08-02 22:53:05.376995 Event: try to Connect to Controller
-On: 2011-08-02 22:53:08.219161 Event: init state
-On: 2011-08-02 22:53:08.219307 Event: Register Account to SIP server
-On: 2011-08-02 22:53:08.219792 Event: 100
-On: 2011-08-02 22:53:08.219864 Event: Caller Handler Ready
-On: 2011-08-02 22:53:14.226638 Event: CALL START
-On: 2011-08-02 22:53:14.226672 Event: Make a call to: 017678038038
-On: 2011-08-02 22:53:23.861395 Event: Call Connecting
-On: 2011-08-02 22:53:23.861441 Event: 200
-On: 2011-08-02 22:53:23.862281 Event: Terminate
-On: 2011-08-02 22:53:23.862316 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:53:34.080841 ------------------
-On: 2011-08-02 22:53:34.088901 Event: try to Connect to Controller
-On: 2011-08-02 22:53:36.916921 Event: init state
-On: 2011-08-02 22:53:36.917071 Event: Register Account to SIP server
-On: 2011-08-02 22:53:36.917445 Event: 100
-On: 2011-08-02 22:53:36.917498 Event: Caller Handler Ready
-On: 2011-08-02 22:53:42.926354 Event: CALL START
-On: 2011-08-02 22:53:42.926392 Event: Make a call to: 015252423662
-On: 2011-08-02 22:53:53.648623 Event: Call Connecting
-On: 2011-08-02 22:53:53.648667 Event: 200
-On: 2011-08-02 22:53:53.650239 Event: Terminate
-On: 2011-08-02 22:53:53.650284 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:54:03.843726 ------------------
-On: 2011-08-02 22:54:03.854646 Event: try to Connect to Controller
-On: 2011-08-02 22:54:06.708572 Event: init state
-On: 2011-08-02 22:54:06.708742 Event: Register Account to SIP server
-On: 2011-08-02 22:54:06.709102 Event: 100
-On: 2011-08-02 22:54:06.709152 Event: Caller Handler Ready
-On: 2011-08-02 22:54:12.718208 Event: CALL START
-On: 2011-08-02 22:54:12.718242 Event: Make a call to: 015782677224
-On: 2011-08-02 22:54:18.961576 Event: Call Connecting
-On: 2011-08-02 22:54:18.961604 Event: 200
-On: 2011-08-02 22:54:28.381662 Event: Call Disconnected
-On: 2011-08-02 22:54:44.762414 Event: Terminate
-On: 2011-08-02 22:54:44.762459 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:57:44.666388 ------------------
-On: 2011-08-02 22:57:44.674843 Event: try to Connect to Controller
-On: 2011-08-02 22:57:47.543079 Event: init state
-On: 2011-08-02 22:57:47.543243 Event: Register Account to SIP server
-On: 2011-08-02 22:57:47.543605 Event: 100
-On: 2011-08-02 22:57:47.543655 Event: Caller Handler Ready
-On: 2011-08-02 22:57:53.550596 Event: CALL START
-On: 2011-08-02 22:57:53.550630 Event: Make a call to: 017678038038
-On: 2011-08-02 22:58:02.737089 Event: Call Connecting
-On: 2011-08-02 22:58:02.737136 Event: 200
-On: 2011-08-02 22:58:02.737726 Event: Terminate
-On: 2011-08-02 22:58:02.737763 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:00.900910 ------------------
-On: 2011-08-02 22:59:00.909536 Event: try to Connect to Controller
-On: 2011-08-02 22:59:03.755283 Event: init state
-On: 2011-08-02 22:59:03.755433 Event: Register Account to SIP server
-On: 2011-08-02 22:59:03.755792 Event: 100
-On: 2011-08-02 22:59:03.755845 Event: Caller Handler Ready
-On: 2011-08-02 22:59:09.760061 Event: CALL START
-On: 2011-08-02 22:59:09.760095 Event: Make a call to: 017678038038
-On: 2011-08-02 22:59:19.227253 Event: Call Connecting
-On: 2011-08-02 22:59:19.227298 Event: 200
-On: 2011-08-02 22:59:19.227800 Event: Terminate
-On: 2011-08-02 22:59:19.227839 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:29.405870 ------------------
-On: 2011-08-02 22:59:29.414039 Event: try to Connect to Controller
-On: 2011-08-02 22:59:32.282238 Event: init state
-On: 2011-08-02 22:59:32.282377 Event: Register Account to SIP server
-On: 2011-08-02 22:59:32.282729 Event: 100
-On: 2011-08-02 22:59:32.282810 Event: Caller Handler Ready
-On: 2011-08-02 22:59:38.290527 Event: CALL START
-On: 2011-08-02 22:59:38.290565 Event: Make a call to: 015252423662
-On: 2011-08-02 22:59:48.978681 Event: Call Connecting
-On: 2011-08-02 22:59:48.978727 Event: 200
-On: 2011-08-02 22:59:48.979177 Event: Terminate
-On: 2011-08-02 22:59:48.979207 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:59.188821 ------------------
-On: 2011-08-02 22:59:59.197104 Event: try to Connect to Controller
-On: 2011-08-02 23:00:02.035931 Event: init state
-On: 2011-08-02 23:00:02.036089 Event: Register Account to SIP server
-On: 2011-08-02 23:00:02.036444 Event: 100
-On: 2011-08-02 23:00:02.036497 Event: Caller Handler Ready
-On: 2011-08-02 23:00:08.045931 Event: CALL START
-On: 2011-08-02 23:00:08.045966 Event: Make a call to: 015782677224
-On: 2011-08-02 23:00:14.446021 Event: Call Connecting
-On: 2011-08-02 23:00:14.446054 Event: 200
-On: 2011-08-02 23:00:23.854942 Event: Call Disconnected
-On: 2011-08-02 23:00:40.086422 Event: Terminate
-On: 2011-08-02 23:00:40.086468 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:02:39.660553 ------------------
-On: 2011-08-02 23:02:39.668943 Event: try to Connect to Controller
-On: 2011-08-02 23:02:42.538810 Event: init state
-On: 2011-08-02 23:02:42.538958 Event: Register Account to SIP server
-On: 2011-08-02 23:02:42.539396 Event: 100
-On: 2011-08-02 23:02:42.540618 Event: Caller Handler Ready
-On: 2011-08-02 23:02:48.549879 Event: CALL START
-On: 2011-08-02 23:02:48.549913 Event: Make a call to: 017678038038
-On: 2011-08-02 23:02:58.293954 Event: Call Connecting
-On: 2011-08-02 23:02:58.293999 Event: 200
-On: 2011-08-02 23:02:58.294511 Event: Terminate
-On: 2011-08-02 23:02:58.294549 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:03:08.500113 ------------------
-On: 2011-08-02 23:03:08.508438 Event: try to Connect to Controller
-On: 2011-08-02 23:03:11.349036 Event: init state
-On: 2011-08-02 23:03:11.349185 Event: Register Account to SIP server
-On: 2011-08-02 23:03:11.349546 Event: 100
-On: 2011-08-02 23:03:11.349600 Event: Caller Handler Ready
-On: 2011-08-02 23:03:17.358581 Event: CALL START
-On: 2011-08-02 23:03:17.358618 Event: Make a call to: 015252423662
-On: 2011-08-02 23:03:27.911591 Event: Call Connecting
-On: 2011-08-02 23:03:27.911638 Event: 200
-On: 2011-08-02 23:03:27.912426 Event: Terminate
-On: 2011-08-02 23:03:27.912460 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:03:38.087298 ------------------
-On: 2011-08-02 23:03:38.095608 Event: try to Connect to Controller
-On: 2011-08-02 23:03:40.963160 Event: init state
-On: 2011-08-02 23:03:40.963289 Event: Register Account to SIP server
-On: 2011-08-02 23:03:40.963645 Event: 100
-On: 2011-08-02 23:03:40.963696 Event: Caller Handler Ready
-On: 2011-08-02 23:03:46.972595 Event: CALL START
-On: 2011-08-02 23:03:46.972630 Event: Make a call to: 015782677224
-On: 2011-08-02 23:03:53.448882 Event: Call Connecting
-On: 2011-08-02 23:03:53.448916 Event: 200
-On: 2011-08-02 23:04:02.809754 Event: Call Disconnected
-On: 2011-08-02 23:04:19.010507 Event: Terminate
-On: 2011-08-02 23:04:19.010554 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:06:08.216214 ------------------
-On: 2011-08-02 23:06:08.224458 Event: try to Connect to Controller
-On: 2011-08-02 23:06:11.078754 Event: init state
-On: 2011-08-02 23:06:11.078904 Event: Register Account to SIP server
-On: 2011-08-02 23:06:11.079360 Event: 100
-On: 2011-08-02 23:06:11.079453 Event: Caller Handler Ready
-On: 2011-08-02 23:06:17.086178 Event: CALL START
-On: 2011-08-02 23:06:17.086216 Event: Make a call to: 017678038038
-On: 2011-08-02 23:06:27.054130 Event: Call Connecting
-On: 2011-08-02 23:06:27.054194 Event: 200
-On: 2011-08-02 23:06:27.057378 Event: Terminate
-On: 2011-08-02 23:06:27.057418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:06:37.242533 ------------------
-On: 2011-08-02 23:06:37.250978 Event: try to Connect to Controller
-On: 2011-08-02 23:06:40.107236 Event: init state
-On: 2011-08-02 23:06:40.107387 Event: Register Account to SIP server
-On: 2011-08-02 23:06:40.107740 Event: 100
-On: 2011-08-02 23:06:40.107792 Event: Caller Handler Ready
-On: 2011-08-02 23:06:46.114180 Event: CALL START
-On: 2011-08-02 23:06:46.114217 Event: Make a call to: 015252423662
-On: 2011-08-02 23:06:56.541065 Event: Call Connecting
-On: 2011-08-02 23:06:56.541111 Event: 200
-On: 2011-08-02 23:06:56.541744 Event: Terminate
-On: 2011-08-02 23:06:56.541782 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:07:06.739968 ------------------
-On: 2011-08-02 23:07:06.748362 Event: try to Connect to Controller
-On: 2011-08-02 23:07:09.596186 Event: init state
-On: 2011-08-02 23:07:09.596352 Event: Register Account to SIP server
-On: 2011-08-02 23:07:09.596711 Event: 100
-On: 2011-08-02 23:07:09.596764 Event: Caller Handler Ready
-On: 2011-08-02 23:07:15.604527 Event: CALL START
-On: 2011-08-02 23:07:15.604557 Event: Make a call to: 015782677224
-On: 2011-08-02 23:07:21.342636 Event: Call Connecting
-On: 2011-08-02 23:07:21.342660 Event: 200
-On: 2011-08-02 23:07:30.660236 Event: Call Disconnected
-On: 2011-08-02 23:07:47.646443 Event: Terminate
-On: 2011-08-02 23:07:47.646489 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:24:56.711539 ------------------
-On: 2011-08-02 23:24:56.719777 Event: try to Connect to Controller
-On: 2011-08-02 23:24:59.584095 Event: init state
-On: 2011-08-02 23:24:59.584257 Event: Register Account to SIP server
-On: 2011-08-02 23:24:59.584620 Event: 100
-On: 2011-08-02 23:24:59.584672 Event: Caller Handler Ready
-On: 2011-08-02 23:25:05.591641 Event: CALL START
-On: 2011-08-02 23:25:05.591683 Event: Make a call to: 017678038038
-On: 2011-08-02 23:25:05.933339 Event: Call Connecting
-On: 2011-08-02 23:25:05.933371 Event: 200
-On: 2011-08-02 23:25:08.951546 Event: Call Disconnected
-On: 2011-08-02 23:25:35.933762 Event: Terminate
-On: 2011-08-02 23:25:35.933786 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:25:46.141362 ------------------
-On: 2011-08-02 23:25:46.149954 Event: try to Connect to Controller
-On: 2011-08-02 23:25:48.992124 Event: init state
-On: 2011-08-02 23:25:48.992292 Event: Register Account to SIP server
-On: 2011-08-02 23:25:48.992650 Event: 100
-On: 2011-08-02 23:25:48.992700 Event: Caller Handler Ready
-On: 2011-08-02 23:25:54.998227 Event: CALL START
-On: 2011-08-02 23:25:54.998261 Event: Make a call to: 015252423662
-On: 2011-08-02 23:25:55.316368 Event: Call Connecting
-On: 2011-08-02 23:25:55.316393 Event: 200
-On: 2011-08-02 23:25:58.336476 Event: Call Disconnected
-On: 2011-08-02 23:26:25.316664 Event: Terminate
-On: 2011-08-02 23:26:25.316687 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:26:35.508722 ------------------
-On: 2011-08-02 23:26:35.517028 Event: try to Connect to Controller
-On: 2011-08-02 23:26:38.371288 Event: init state
-On: 2011-08-02 23:26:38.371454 Event: Register Account to SIP server
-On: 2011-08-02 23:26:38.371814 Event: 100
-On: 2011-08-02 23:26:38.371864 Event: Caller Handler Ready
-On: 2011-08-02 23:26:44.378510 Event: CALL START
-On: 2011-08-02 23:26:44.378544 Event: Make a call to: 015782677224
-On: 2011-08-02 23:26:44.634065 Event: Call Connecting
-On: 2011-08-02 23:26:44.634092 Event: 200
-On: 2011-08-02 23:26:47.649911 Event: Call Disconnected
-On: 2011-08-02 23:27:14.634396 Event: Terminate
-On: 2011-08-02 23:27:14.634419 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:33:21.705172 ------------------
-On: 2011-08-02 23:33:21.714226 Event: try to Connect to Controller
-On: 2011-08-02 23:33:24.469157 Event: init state
-On: 2011-08-02 23:33:24.469275 Event: Register Account to SIP server
-On: 2011-08-02 23:33:24.469619 Event: 100
-On: 2011-08-02 23:33:24.469702 Event: Caller Handler Ready
-On: 2011-08-02 23:33:30.478970 Event: CALL START
-On: 2011-08-02 23:33:30.478999 Event: Make a call to: 017678038038
-On: 2011-08-02 23:33:30.825064 Event: Call Connecting
-On: 2011-08-02 23:33:30.825082 Event: 200
-On: 2011-08-02 23:33:33.844878 Event: Call Disconnected
-On: 2011-08-02 23:34:00.825413 Event: Terminate
-On: 2011-08-02 23:34:00.825436 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:34:11.027203 ------------------
-On: 2011-08-02 23:34:11.036323 Event: try to Connect to Controller
-On: 2011-08-02 23:34:13.898009 Event: init state
-On: 2011-08-02 23:34:13.898156 Event: Register Account to SIP server
-On: 2011-08-02 23:34:13.898558 Event: 100
-On: 2011-08-02 23:34:13.898611 Event: Caller Handler Ready
-On: 2011-08-02 23:34:19.905350 Event: CALL START
-On: 2011-08-02 23:34:19.905386 Event: Make a call to: 015252423662
-On: 2011-08-02 23:34:20.201051 Event: Call Connecting
-On: 2011-08-02 23:34:20.201078 Event: 200
-On: 2011-08-02 23:34:23.220414 Event: Call Disconnected
-On: 2011-08-02 23:34:50.201547 Event: Terminate
-On: 2011-08-02 23:34:50.201571 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:35:00.411117 ------------------
-On: 2011-08-02 23:35:00.419583 Event: try to Connect to Controller
-On: 2011-08-02 23:35:03.254123 Event: init state
-On: 2011-08-02 23:35:03.254252 Event: Register Account to SIP server
-On: 2011-08-02 23:35:03.254555 Event: 100
-On: 2011-08-02 23:35:03.254598 Event: Caller Handler Ready
-On: 2011-08-02 23:35:09.261283 Event: CALL START
-On: 2011-08-02 23:35:09.261317 Event: Make a call to: 015782677224
-On: 2011-08-02 23:35:09.634411 Event: Call Connecting
-On: 2011-08-02 23:35:09.634439 Event: 200
-On: 2011-08-02 23:35:12.650718 Event: Call Disconnected
-On: 2011-08-02 23:35:39.634799 Event: Terminate
-On: 2011-08-02 23:35:39.634823 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:57:58.023412 ------------------
-On: 2011-08-03 19:57:58.033413 Event: try to Connect to Controller
-On: 2011-08-03 19:58:00.758501 Event: init state
-On: 2011-08-03 19:58:00.758671 Event: Register Account to SIP server
-On: 2011-08-03 19:58:00.759032 Event: 100
-On: 2011-08-03 19:58:00.759084 Event: Caller Handler Ready
-On: 2011-08-03 19:58:06.765343 Event: CALL START
-On: 2011-08-03 19:58:06.765389 Event: Make a call to: 017678038038
-On: 2011-08-03 19:58:09.451697 Event: Call Connecting
-On: 2011-08-03 19:58:09.451731 Event: 200
-On: 2011-08-03 19:58:25.089571 Event: Terminate
-On: 2011-08-03 19:58:25.089617 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:58:35.266743 ------------------
-On: 2011-08-03 19:58:35.275683 Event: try to Connect to Controller
-On: 2011-08-03 19:58:38.142220 Event: init state
-On: 2011-08-03 19:58:38.142371 Event: Register Account to SIP server
-On: 2011-08-03 19:58:38.142792 Event: 100
-On: 2011-08-03 19:58:38.142845 Event: Caller Handler Ready
-On: 2011-08-03 19:58:44.149228 Event: CALL START
-On: 2011-08-03 19:58:44.149269 Event: Make a call to: 015252423662
-On: 2011-08-03 19:58:53.871705 Event: Call Connecting
-On: 2011-08-03 19:58:53.871746 Event: 200
-On: 2011-08-03 19:58:53.872041 Event: Terminate
-On: 2011-08-03 19:58:53.872064 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:59:04.059248 ------------------
-On: 2011-08-03 19:59:04.071543 Event: try to Connect to Controller
-On: 2011-08-03 19:59:06.931558 Event: init state
-On: 2011-08-03 19:59:06.931716 Event: Register Account to SIP server
-On: 2011-08-03 19:59:06.932081 Event: 100
-On: 2011-08-03 19:59:06.932134 Event: Caller Handler Ready
-On: 2011-08-03 19:59:12.937756 Event: CALL START
-On: 2011-08-03 19:59:12.937791 Event: Make a call to: 015782677224
-On: 2011-08-03 19:59:18.669475 Event: Call Connecting
-On: 2011-08-03 19:59:18.669505 Event: 200
-On: 2011-08-03 19:59:28.089344 Event: Call Disconnected
-On: 2011-08-03 19:59:44.973600 Event: Terminate
-On: 2011-08-03 19:59:44.973628 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:07:39.903997 ------------------
-On: 2011-08-03 20:07:39.914673 Event: try to Connect to Controller
-On: 2011-08-03 20:07:42.780939 Event: init state
-On: 2011-08-03 20:07:42.781074 Event: Register Account to SIP server
-On: 2011-08-03 20:07:42.781588 Event: 100
-On: 2011-08-03 20:07:42.782573 Event: Caller Handler Ready
-On: 2011-08-03 20:07:48.788486 Event: CALL START
-On: 2011-08-03 20:07:48.788525 Event: Make a call to: 017678038038
-On: 2011-08-03 20:07:58.658158 Event: Call Connecting
-On: 2011-08-03 20:07:58.658205 Event: 200
-On: 2011-08-03 20:07:58.658875 Event: Terminate
-On: 2011-08-03 20:07:58.658913 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:08:08.833247 ------------------
-On: 2011-08-03 20:08:08.845607 Event: try to Connect to Controller
-On: 2011-08-03 20:08:11.713830 Event: init state
-On: 2011-08-03 20:08:11.714003 Event: Register Account to SIP server
-On: 2011-08-03 20:08:11.714274 Event: 100
-On: 2011-08-03 20:08:11.714297 Event: Caller Handler Ready
-On: 2011-08-03 20:08:17.721348 Event: CALL START
-On: 2011-08-03 20:08:17.721391 Event: Make a call to: 015252423662
-On: 2011-08-03 20:08:26.914554 Event: Call Connecting
-On: 2011-08-03 20:08:26.914612 Event: 200
-On: 2011-08-03 20:08:26.915537 Event: Terminate
-On: 2011-08-03 20:08:26.915573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:08:37.113569 ------------------
-On: 2011-08-03 20:08:37.124885 Event: try to Connect to Controller
-On: 2011-08-03 20:08:39.974370 Event: init state
-On: 2011-08-03 20:08:39.974509 Event: Register Account to SIP server
-On: 2011-08-03 20:08:39.974883 Event: 100
-On: 2011-08-03 20:08:39.974937 Event: Caller Handler Ready
-On: 2011-08-03 20:08:45.981346 Event: CALL START
-On: 2011-08-03 20:08:45.981393 Event: Make a call to: 015782677224
-On: 2011-08-03 20:08:51.461522 Event: Call Connecting
-On: 2011-08-03 20:08:51.461552 Event: 200
-On: 2011-08-03 20:09:00.827027 Event: Call Disconnected
-On: 2011-08-03 20:09:18.021633 Event: Terminate
-On: 2011-08-03 20:09:18.021687 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:17:31.927262 ------------------
-On: 2011-08-03 20:17:31.939607 Event: try to Connect to Controller
-On: 2011-08-03 20:17:33.802271 Event: init state
-On: 2011-08-03 20:17:33.802398 Event: Register Account to SIP server
-On: 2011-08-03 20:17:33.802700 Event: 100
-On: 2011-08-03 20:17:33.802744 Event: Caller Handler Ready
-On: 2011-08-03 20:17:38.807552 Event: CALL START
-On: 2011-08-03 20:17:38.807595 Event: Make a call to: 017678038038
-On: 2011-08-03 20:17:48.266491 Event: Call Connecting
-On: 2011-08-03 20:17:48.266539 Event: 200
-On: 2011-08-03 20:17:48.267139 Event: Terminate
-On: 2011-08-03 20:17:48.267157 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:17:58.445191 ------------------
-On: 2011-08-03 20:17:58.453699 Event: try to Connect to Controller
-On: 2011-08-03 20:18:00.318329 Event: init state
-On: 2011-08-03 20:18:00.318503 Event: Register Account to SIP server
-On: 2011-08-03 20:18:00.318891 Event: 100
-On: 2011-08-03 20:18:00.318921 Event: Caller Handler Ready
-On: 2011-08-03 20:18:05.325346 Event: CALL START
-On: 2011-08-03 20:18:05.325390 Event: Make a call to: 015252423662
-On: 2011-08-03 20:18:14.788523 Event: Call Connecting
-On: 2011-08-03 20:18:14.788581 Event: 200
-On: 2011-08-03 20:18:14.789258 Event: Terminate
-On: 2011-08-03 20:18:14.789296 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:18:25.002871 ------------------
-On: 2011-08-03 20:18:25.012992 Event: try to Connect to Controller
-On: 2011-08-03 20:18:26.854040 Event: init state
-On: 2011-08-03 20:18:26.854230 Event: Register Account to SIP server
-On: 2011-08-03 20:18:26.854746 Event: 100
-On: 2011-08-03 20:18:26.854817 Event: Caller Handler Ready
-On: 2011-08-03 20:18:31.863053 Event: CALL START
-On: 2011-08-03 20:18:31.863096 Event: Make a call to: 015782677224
-On: 2011-08-03 20:18:36.681597 Event: Call Connecting
-On: 2011-08-03 20:18:36.681630 Event: 200
-On: 2011-08-03 20:18:59.553096 Event: Call Disconnected
-On: 2011-08-03 20:19:01.682284 Event: Terminate
-On: 2011-08-03 20:19:01.682309 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:19:13.868608 ------------------
-On: 2011-08-03 20:19:13.878030 Event: try to Connect to Controller
-On: 2011-08-03 20:19:15.741888 Event: init state
-On: 2011-08-03 20:19:15.742015 Event: Register Account to SIP server
-On: 2011-08-03 20:19:15.742316 Event: 100
-On: 2011-08-03 20:19:15.742360 Event: Receiver Handler Ready
-On: 2011-08-03 20:19:15.742488 Event: RECEIVE START
-On: 2011-08-03 20:19:45.637748 Event: Terminate
-On: 2011-08-03 20:19:45.637799 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:17:18.344119 ------------------
-On: 2011-08-10 14:17:18.354507 Event: try to Connect to Controller
-On: 2011-08-10 14:17:20.130856 Event: init state
-On: 2011-08-10 14:17:20.131016 Event: Register Account to SIP server
-On: 2011-08-10 14:17:20.131385 Event: 100
-On: 2011-08-10 14:17:20.131437 Event: Caller Handler Ready
-On: 2011-08-10 14:17:25.137399 Event: CALL START
-On: 2011-08-10 14:17:25.137434 Event: Make a call to: 017678038038
-On: 2011-08-10 14:17:28.185298 Event: Call Connecting
-On: 2011-08-10 14:17:28.185324 Event: 200
-On: 2011-08-10 14:17:53.185615 Event: Terminate
-On: 2011-08-10 14:17:53.185638 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:17:58.341153 ------------------
-On: 2011-08-10 14:17:58.349528 Event: try to Connect to Controller
-On: 2011-08-10 14:18:00.197019 Event: init state
-On: 2011-08-10 14:18:00.197142 Event: Register Account to SIP server
-On: 2011-08-10 14:18:00.197459 Event: 100
-On: 2011-08-10 14:18:00.197501 Event: Caller Handler Ready
-On: 2011-08-10 14:18:05.205396 Event: CALL START
-On: 2011-08-10 14:18:05.205431 Event: Make a call to: 015252423662
-On: 2011-08-10 14:18:15.249857 Event: Call Connecting
-On: 2011-08-10 14:18:15.249897 Event: 200
-On: 2011-08-10 14:18:15.250631 Event: Terminate
-On: 2011-08-10 14:18:15.250673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:18:20.394724 ------------------
-On: 2011-08-10 14:18:20.403544 Event: try to Connect to Controller
-On: 2011-08-10 14:18:22.260942 Event: init state
-On: 2011-08-10 14:18:22.261090 Event: Register Account to SIP server
-On: 2011-08-10 14:18:22.261490 Event: 100
-On: 2011-08-10 14:18:22.261545 Event: Caller Handler Ready
-On: 2011-08-10 14:18:27.269396 Event: CALL START
-On: 2011-08-10 14:18:27.269430 Event: Make a call to: 015782677224
-On: 2011-08-10 14:18:33.243381 Event: Call Connecting
-On: 2011-08-10 14:18:33.243412 Event: 200
-On: 2011-08-10 14:18:42.396197 Event: Call Disconnected
-On: 2011-08-10 14:18:58.244034 Event: Terminate
-On: 2011-08-10 14:18:58.244056 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-20 00:15:27.039348 ------------------
-On: 2011-08-20 00:15:27.055725 Event: try to Connect to Controller
-On: 2011-08-20 00:15:28.836179 Event: init state
-On: 2011-08-20 00:15:28.836308 Event: Register Account to SIP server
-On: 2011-08-20 00:15:28.836623 Event: 100
-On: 2011-08-20 00:15:28.836667 Event: Caller Handler Ready
-On: 2011-08-20 00:15:30.841588 Event: Terminate
-On: 2011-08-20 00:15:30.841630 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:52:38.132300 ------------------
-On: 2011-08-29 14:52:38.153336 Event: try to Connect to Controller
-On: 2011-08-29 14:52:39.446419 Event: init state
-On: 2011-08-29 14:52:39.446659 Event: Register Account to SIP server
-On: 2011-08-29 14:52:39.447077 Event: 100
-On: 2011-08-29 14:52:39.447162 Event: Caller Handler Ready
-On: 2011-08-29 14:52:44.453809 Event: CALL START
-On: 2011-08-29 14:52:44.453863 Event: Make a call to: 017678038038
-On: 2011-08-29 14:52:55.755249 Event: Call Connecting
-On: 2011-08-29 14:52:55.755298 Event: 200
-On: 2011-08-29 14:53:16.522574 Event: Terminate
-On: 2011-08-29 14:53:16.522625 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:53:17.354885 ------------------
-On: 2011-08-29 14:53:17.404910 Event: try to Connect to Controller
-On: 2011-08-29 14:53:18.533881 Event: init state
-On: 2011-08-29 14:53:18.534128 Event: Register Account to SIP server
-On: 2011-08-29 14:53:18.534561 Event: 100
-On: 2011-08-29 14:53:18.534641 Event: Caller Handler Ready
-On: 2011-08-29 14:53:23.544881 Event: CALL START
-On: 2011-08-29 14:53:23.544937 Event: Make a call to: 015252423662
-On: 2011-08-29 14:53:55.275509 Event: Call Connecting
-On: 2011-08-29 14:53:55.275558 Event: 200
-On: 2011-08-29 14:53:55.586748 Event: Terminate
-On: 2011-08-29 14:53:55.586803 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:53:56.410613 ------------------
-On: 2011-08-29 14:53:56.451511 Event: try to Connect to Controller
-On: 2011-08-29 14:53:57.594711 Event: init state
-On: 2011-08-29 14:53:57.594948 Event: Register Account to SIP server
-On: 2011-08-29 14:53:57.595359 Event: 100
-On: 2011-08-29 14:53:57.595443 Event: Caller Handler Ready
-On: 2011-08-29 14:54:02.604999 Event: CALL START
-On: 2011-08-29 14:54:02.605054 Event: Make a call to: 015782677224
-On: 2011-08-29 14:54:34.666613 Event: Terminate
-On: 2011-08-29 14:54:34.666665 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:54:35.520154 ------------------
-On: 2011-08-29 14:54:35.572607 Event: try to Connect to Controller
-On: 2011-08-29 14:54:36.677118 Event: init state
-On: 2011-08-29 14:54:36.677352 Event: Register Account to SIP server
-On: 2011-08-29 14:54:36.677767 Event: 100
-On: 2011-08-29 14:54:36.677892 Event: Caller Handler Ready
-On: 2011-08-29 14:54:41.685809 Event: CALL START
-On: 2011-08-29 14:54:41.685862 Event: Make a call to: 015128040906
-On: 2011-08-29 14:55:08.262206 Event: Call Connecting
-On: 2011-08-29 14:55:08.262257 Event: 200
-On: 2011-08-29 14:55:13.757931 Event: Terminate
-On: 2011-08-29 14:55:13.757993 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:10.677002 ------------------
-On: 2011-08-29 15:00:10.696939 Event: try to Connect to Controller
-On: 2011-08-29 15:00:12.034998 Event: init state
-On: 2011-08-29 15:00:12.035232 Event: Register Account to SIP server
-On: 2011-08-29 15:00:12.035651 Event: 100
-On: 2011-08-29 15:00:12.035732 Event: Caller Handler Ready
-On: 2011-08-29 15:00:17.041808 Event: CALL START
-On: 2011-08-29 15:00:17.041857 Event: Make a call to: 017678038038
-On: 2011-08-29 15:00:25.696631 Event: Call Connecting
-On: 2011-08-29 15:00:25.696680 Event: 200
-On: 2011-08-29 15:00:25.703308 Event: Terminate
-On: 2011-08-29 15:00:25.703369 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:26.506313 ------------------
-On: 2011-08-29 15:00:26.566577 Event: try to Connect to Controller
-On: 2011-08-29 15:00:27.707258 Event: init state
-On: 2011-08-29 15:00:27.707481 Event: Register Account to SIP server
-On: 2011-08-29 15:00:27.707884 Event: 100
-On: 2011-08-29 15:00:27.707960 Event: Caller Handler Ready
-On: 2011-08-29 15:00:32.721086 Event: CALL START
-On: 2011-08-29 15:00:32.721143 Event: Make a call to: 015252423662
-On: 2011-08-29 15:00:42.757139 Event: Call Connecting
-On: 2011-08-29 15:00:42.757187 Event: 200
-On: 2011-08-29 15:00:42.763557 Event: Terminate
-On: 2011-08-29 15:00:42.763617 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:43.604094 ------------------
-On: 2011-08-29 15:00:43.670697 Event: try to Connect to Controller
-On: 2011-08-29 15:00:44.770734 Event: init state
-On: 2011-08-29 15:00:44.770989 Event: Register Account to SIP server
-On: 2011-08-29 15:00:44.771403 Event: 100
-On: 2011-08-29 15:00:44.771486 Event: Caller Handler Ready
-On: 2011-08-29 15:00:49.777835 Event: CALL START
-On: 2011-08-29 15:00:49.777899 Event: Make a call to: 015782677224
-On: 2011-08-29 15:01:00.758756 Event: Call Connecting
-On: 2011-08-29 15:01:00.758807 Event: 200
-On: 2011-08-29 15:01:00.762821 Event: Terminate
-On: 2011-08-29 15:01:00.762879 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:01:02.028612 ------------------
-On: 2011-08-29 15:01:02.089179 Event: try to Connect to Controller
-On: 2011-08-29 15:01:02.773372 Event: init state
-On: 2011-08-29 15:01:02.773608 Event: Register Account to SIP server
-On: 2011-08-29 15:01:02.774066 Event: 100
-On: 2011-08-29 15:01:02.774153 Event: Caller Handler Ready
-On: 2011-08-29 15:01:07.785042 Event: CALL START
-On: 2011-08-29 15:01:07.785098 Event: Make a call to: 015128040906
-On: 2011-08-29 15:01:19.661737 Event: Call Connecting
-On: 2011-08-29 15:01:19.661809 Event: 200
-On: 2011-08-29 15:01:19.669486 Event: Terminate
-On: 2011-08-29 15:01:19.669551 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:04:42.984373 ------------------
-On: 2011-08-29 15:04:43.005013 Event: try to Connect to Controller
-On: 2011-08-29 15:04:44.313527 Event: init state
-On: 2011-08-29 15:04:44.313767 Event: Register Account to SIP server
-On: 2011-08-29 15:04:44.314215 Event: 100
-On: 2011-08-29 15:04:44.314299 Event: Caller Handler Ready
-On: 2011-08-29 15:04:49.321899 Event: CALL START
-On: 2011-08-29 15:04:49.321957 Event: Make a call to: 076145875681
-On: 2011-08-29 15:04:53.035684 Event: Call Connecting
-On: 2011-08-29 15:04:53.035732 Event: 200
-On: 2011-08-29 15:04:53.039054 Event: Terminate
-On: 2011-08-29 15:04:53.039116 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:04:53.863293 ------------------
-On: 2011-08-29 15:04:53.885043 Event: try to Connect to Controller
-On: 2011-08-29 15:04:55.050263 Event: init state
-On: 2011-08-29 15:04:55.050489 Event: Register Account to SIP server
-On: 2011-08-29 15:04:55.051242 Event: 100
-On: 2011-08-29 15:04:55.051325 Event: Caller Handler Ready
-On: 2011-08-29 15:05:00.056662 Event: CALL START
-On: 2011-08-29 15:05:00.056721 Event: Make a call to: 076120397897
-On: 2011-08-29 15:05:00.138083 Event: Call Connecting
-On: 2011-08-29 15:05:00.138134 Event: 200
-On: 2011-08-29 15:05:00.142432 Event: Terminate
-On: 2011-08-29 15:05:00.142492 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:20.768286 ------------------
-On: 2011-08-29 15:05:20.788427 Event: try to Connect to Controller
-On: 2011-08-29 15:05:22.106103 Event: init state
-On: 2011-08-29 15:05:22.106330 Event: Register Account to SIP server
-On: 2011-08-29 15:05:22.106746 Event: 100
-On: 2011-08-29 15:05:22.106828 Event: Caller Handler Ready
-On: 2011-08-29 15:05:27.113153 Event: CALL START
-On: 2011-08-29 15:05:27.113211 Event: Make a call to: 076145875681
-On: 2011-08-29 15:05:31.179106 Event: Call Connecting
-On: 2011-08-29 15:05:31.179158 Event: 200
-On: 2011-08-29 15:05:31.181846 Event: Terminate
-On: 2011-08-29 15:05:31.181907 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:32.001761 ------------------
-On: 2011-08-29 15:05:32.022689 Event: try to Connect to Controller
-On: 2011-08-29 15:05:33.193079 Event: init state
-On: 2011-08-29 15:05:33.193306 Event: Register Account to SIP server
-On: 2011-08-29 15:05:33.193722 Event: 100
-On: 2011-08-29 15:05:33.193832 Event: Caller Handler Ready
-On: 2011-08-29 15:05:38.201825 Event: CALL START
-On: 2011-08-29 15:05:38.201884 Event: Make a call to: 076120397897
-On: 2011-08-29 15:05:38.267527 Event: Call Connecting
-On: 2011-08-29 15:05:38.267579 Event: 200
-On: 2011-08-29 15:05:38.270111 Event: Terminate
-On: 2011-08-29 15:05:38.270171 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:39.169706 ------------------
-On: 2011-08-29 15:05:39.190580 Event: try to Connect to Controller
-On: 2011-08-29 15:05:40.285015 Event: init state
-On: 2011-08-29 15:05:40.285249 Event: Register Account to SIP server
-On: 2011-08-29 15:05:40.285666 Event: 100
-On: 2011-08-29 15:05:40.285750 Event: Caller Handler Ready
-On: 2011-08-29 15:05:45.297011 Event: CALL START
-On: 2011-08-29 15:05:45.297067 Event: Make a call to: 017678038038
-On: 2011-08-29 15:05:55.001938 Event: Call Connecting
-On: 2011-08-29 15:05:55.001988 Event: 200
-On: 2011-08-29 15:05:55.008838 Event: Terminate
-On: 2011-08-29 15:05:55.008903 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:55.818694 ------------------
-On: 2011-08-29 15:05:55.880731 Event: try to Connect to Controller
-On: 2011-08-29 15:05:57.013861 Event: init state
-On: 2011-08-29 15:05:57.014103 Event: Register Account to SIP server
-On: 2011-08-29 15:05:57.014520 Event: 100
-On: 2011-08-29 15:05:57.014601 Event: Caller Handler Ready
-On: 2011-08-29 15:06:02.025015 Event: CALL START
-On: 2011-08-29 15:06:02.025070 Event: Make a call to: 015252423662
-On: 2011-08-29 15:06:13.588197 Event: Call Connecting
-On: 2011-08-29 15:06:13.588247 Event: 200
-On: 2011-08-29 15:06:13.596512 Event: Terminate
-On: 2011-08-29 15:06:13.596573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:06:14.412784 ------------------
-On: 2011-08-29 15:06:14.468154 Event: try to Connect to Controller
-On: 2011-08-29 15:06:15.599082 Event: init state
-On: 2011-08-29 15:06:15.599306 Event: Register Account to SIP server
-On: 2011-08-29 15:06:15.599723 Event: 100
-On: 2011-08-29 15:06:15.599807 Event: Caller Handler Ready
-On: 2011-08-29 15:06:20.609031 Event: CALL START
-On: 2011-08-29 15:06:20.609088 Event: Make a call to: 015782677224
-On: 2011-08-29 15:06:31.980882 Event: Call Connecting
-On: 2011-08-29 15:06:31.980932 Event: 200
-On: 2011-08-29 15:06:31.987312 Event: Terminate
-On: 2011-08-29 15:06:31.987372 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:06:32.796731 ------------------
-On: 2011-08-29 15:06:32.851640 Event: try to Connect to Controller
-On: 2011-08-29 15:06:33.993257 Event: init state
-On: 2011-08-29 15:06:33.993762 Event: Register Account to SIP server
-On: 2011-08-29 15:06:33.994237 Event: 100
-On: 2011-08-29 15:06:33.994324 Event: Caller Handler Ready
-On: 2011-08-29 15:06:39.004991 Event: CALL START
-On: 2011-08-29 15:06:39.005044 Event: Make a call to: 015128040906
-On: 2011-08-29 15:06:49.291797 Event: Call Connecting
-On: 2011-08-29 15:06:49.291850 Event: 200
-On: 2011-08-29 15:06:49.301037 Event: Terminate
-On: 2011-08-29 15:06:49.301102 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:31:14.898605 ------------------
-On: 2011-08-29 15:31:14.919334 Event: try to Connect to Controller
-On: 2011-08-29 15:31:16.146229 Event: init state
-On: 2011-08-29 15:31:16.146457 Event: Register Account to SIP server
-On: 2011-08-29 15:31:16.147224 Event: 100
-On: 2011-08-29 15:31:16.147307 Event: Caller Handler Ready
-On: 2011-08-29 15:31:21.159242 Event: CALL START
-On: 2011-08-29 15:31:21.159295 Event: Make a call to: 015782677224
-On: 2011-08-29 15:31:31.140059 Event: Call Connecting
-On: 2011-08-29 15:31:31.140108 Event: 200
-On: 2011-08-29 15:31:31.149511 Event: Terminate
-On: 2011-08-29 15:31:31.149573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:32:21.118778 ------------------
-On: 2011-08-29 15:32:21.139299 Event: try to Connect to Controller
-On: 2011-08-29 15:32:22.391936 Event: init state
-On: 2011-08-29 15:32:22.392165 Event: Register Account to SIP server
-On: 2011-08-29 15:32:22.392573 Event: 100
-On: 2011-08-29 15:32:22.392658 Event: Caller Handler Ready
-On: 2011-08-29 15:32:27.405000 Event: CALL START
-On: 2011-08-29 15:32:27.405055 Event: Make a call to: 015782677224
-On: 2011-08-29 15:32:36.700485 Event: Call Connecting
-On: 2011-08-29 15:32:36.700534 Event: 200
-On: 2011-08-29 15:32:36.709454 Event: Terminate
-On: 2011-08-29 15:32:36.709516 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:33:14.234134 ------------------
-On: 2011-08-29 15:33:14.257009 Event: try to Connect to Controller
-On: 2011-08-29 15:33:15.490508 Event: init state
-On: 2011-08-29 15:33:15.490757 Event: Register Account to SIP server
-On: 2011-08-29 15:33:15.491167 Event: 100
-On: 2011-08-29 15:33:15.491251 Event: Caller Handler Ready
-On: 2011-08-29 15:33:20.504810 Event: CALL START
-On: 2011-08-29 15:33:20.504864 Event: Make a call to: 015128040906
-On: 2011-08-29 15:33:32.376242 Event: Call Connecting
-On: 2011-08-29 15:33:32.376294 Event: 200
-On: 2011-08-29 15:33:32.385608 Event: Terminate
-On: 2011-08-29 15:33:32.385673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:34:52.541152 ------------------
-On: 2011-08-29 15:34:52.561434 Event: try to Connect to Controller
-On: 2011-08-29 15:34:53.859150 Event: init state
-On: 2011-08-29 15:34:53.859402 Event: Register Account to SIP server
-On: 2011-08-29 15:34:53.859826 Event: 100
-On: 2011-08-29 15:34:53.859911 Event: Caller Handler Ready
-On: 2011-08-29 15:34:58.868892 Event: CALL START
-On: 2011-08-29 15:34:58.868949 Event: Make a call to: 015128040906
-On: 2011-08-29 15:35:01.370274 Event: Call Connecting
-On: 2011-08-29 15:35:01.370325 Event: 200
-On: 2011-08-29 15:35:16.371613 Event: Terminate
-On: 2011-08-29 15:35:16.371666 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:35:48.582597 ------------------
-On: 2011-08-29 15:35:48.602656 Event: try to Connect to Controller
-On: 2011-08-29 15:35:49.924087 Event: init state
-On: 2011-08-29 15:35:49.924312 Event: Register Account to SIP server
-On: 2011-08-29 15:35:49.924712 Event: 100
-On: 2011-08-29 15:35:49.924789 Event: Caller Handler Ready
-On: 2011-08-29 15:35:54.936893 Event: CALL START
-On: 2011-08-29 15:35:54.936957 Event: Make a call to: 015128040906
-On: 2011-08-29 15:36:04.882108 Event: Call Connecting
-On: 2011-08-29 15:36:04.882159 Event: 200
-On: 2011-08-29 15:36:04.889525 Event: Terminate
-On: 2011-08-29 15:36:04.889589 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:11.692699 ------------------
-On: 2011-08-29 15:42:11.712954 Event: try to Connect to Controller
-On: 2011-08-29 15:42:13.026223 Event: init state
-On: 2011-08-29 15:42:13.026456 Event: Register Account to SIP server
-On: 2011-08-29 15:42:13.026879 Event: 100
-On: 2011-08-29 15:42:13.026964 Event: Caller Handler Ready
-On: 2011-08-29 15:42:18.037018 Event: CALL START
-On: 2011-08-29 15:42:18.037074 Event: Make a call to: 015128040906
-On: 2011-08-29 15:42:29.014303 Event: Call Connecting
-On: 2011-08-29 15:42:29.014354 Event: 200
-On: 2011-08-29 15:42:29.019390 Event: Terminate
-On: 2011-08-29 15:42:29.019451 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:34.777359 ------------------
-On: 2011-08-29 15:42:34.797739 Event: try to Connect to Controller
-On: 2011-08-29 15:42:36.030870 Event: init state
-On: 2011-08-29 15:42:36.031105 Event: Register Account to SIP server
-On: 2011-08-29 15:42:36.031521 Event: 100
-On: 2011-08-29 15:42:36.031603 Event: Caller Handler Ready
-On: 2011-08-29 15:42:41.045815 Event: CALL START
-On: 2011-08-29 15:42:41.045874 Event: Make a call to: 015252423662
-On: 2011-08-29 15:42:51.741004 Event: Call Connecting
-On: 2011-08-29 15:42:51.741057 Event: 200
-On: 2011-08-29 15:42:51.746382 Event: Terminate
-On: 2011-08-29 15:42:51.746444 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:57.528515 ------------------
-On: 2011-08-29 15:42:57.549096 Event: try to Connect to Controller
-On: 2011-08-29 15:42:58.762439 Event: init state
-On: 2011-08-29 15:42:58.762667 Event: Register Account to SIP server
-On: 2011-08-29 15:42:58.763078 Event: 100
-On: 2011-08-29 15:42:58.763161 Event: Caller Handler Ready
-On: 2011-08-29 15:43:03.773008 Event: CALL START
-On: 2011-08-29 15:43:03.773064 Event: Make a call to: 017678038038
-On: 2011-08-29 15:43:13.362696 Event: Call Connecting
-On: 2011-08-29 15:43:13.362746 Event: 200
-On: 2011-08-29 15:43:13.366059 Event: Terminate
-On: 2011-08-29 15:43:13.366121 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:44:34.639619 ------------------
-On: 2011-08-29 15:44:34.659803 Event: try to Connect to Controller
-On: 2011-08-29 15:44:35.982997 Event: init state
-On: 2011-08-29 15:44:35.983232 Event: Register Account to SIP server
-On: 2011-08-29 15:44:35.983643 Event: 100
-On: 2011-08-29 15:44:35.983727 Event: Caller Handler Ready
-On: 2011-08-29 15:44:40.989821 Event: CALL START
-On: 2011-08-29 15:44:40.989883 Event: Make a call to: 015128040906
-On: 2011-08-29 15:44:51.521253 Event: Call Connecting
-On: 2011-08-29 15:44:51.521304 Event: 200
-On: 2011-08-29 15:44:51.525941 Event: Terminate
-On: 2011-08-29 15:44:51.526004 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:44:57.276541 ------------------
-On: 2011-08-29 15:44:57.320201 Event: try to Connect to Controller
-On: 2011-08-29 15:44:58.536971 Event: init state
-On: 2011-08-29 15:44:58.537193 Event: Register Account to SIP server
-On: 2011-08-29 15:44:58.537606 Event: 100
-On: 2011-08-29 15:44:58.537688 Event: Caller Handler Ready
-On: 2011-08-29 15:45:03.545808 Event: CALL START
-On: 2011-08-29 15:45:03.545863 Event: Make a call to: 015252423662
-On: 2011-08-29 15:45:14.216984 Event: Call Connecting
-On: 2011-08-29 15:45:14.217035 Event: 200
-On: 2011-08-29 15:45:14.222785 Event: Terminate
-On: 2011-08-29 15:45:14.222843 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:45:19.952041 ------------------
-On: 2011-08-29 15:45:19.972303 Event: try to Connect to Controller
-On: 2011-08-29 15:45:21.236878 Event: init state
-On: 2011-08-29 15:45:21.237106 Event: Register Account to SIP server
-On: 2011-08-29 15:45:21.237520 Event: 100
-On: 2011-08-29 15:45:21.237604 Event: Caller Handler Ready
-On: 2011-08-29 15:45:26.248886 Event: CALL START
-On: 2011-08-29 15:45:26.248941 Event: Make a call to: 017678038038
-On: 2011-08-29 15:45:35.841224 Event: Call Connecting
-On: 2011-08-29 15:45:35.841274 Event: 200
-On: 2011-08-29 15:45:35.844330 Event: Terminate
-On: 2011-08-29 15:45:35.844406 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:45:41.524708 ------------------
-On: 2011-08-29 15:45:41.545067 Event: try to Connect to Controller
-On: 2011-08-29 15:45:42.858819 Event: init state
-On: 2011-08-29 15:45:42.859053 Event: Register Account to SIP server
-On: 2011-08-29 15:45:42.859469 Event: 100
-On: 2011-08-29 15:45:42.859551 Event: Caller Handler Ready
-On: 2011-08-29 15:45:47.872973 Event: CALL START
-On: 2011-08-29 15:45:47.873031 Event: Make a call to: 015782677224
-On: 2011-08-29 15:45:58.127435 Event: Call Connecting
-On: 2011-08-29 15:45:58.127486 Event: 200
-On: 2011-08-29 15:45:58.132669 Event: Terminate
-On: 2011-08-29 15:45:58.132734 Event: Goodbye
diff --git a/For Weekly Test/19-08-2011/SIPHandler.py b/For Weekly Test/19-08-2011/SIPHandler.py
deleted file mode 100644
index 6d268a9..0000000
--- a/For Weekly Test/19-08-2011/SIPHandler.py
+++ /dev/null
@@ -1,229 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
-
- call.answer(200)
- logger.logEvent("Answer call")
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('Cant connect to Controller')
- sys.exit(1)
-
-def initLogFile(sipServer):
-
- global logger
-
- if sipServer == '132.230.4.8':
- nameOfLogFile = 'SIP handler.log'
-
- elif sipServer == 'sipgate.de':
- nameOfLogFile = 'Landline handler.log'
-
- elif sipServer == '132.230.252.228':
- nameOfLogFile = 'University SIP handler.log'
-
- logger = LogFileClass.Logging(nameOfLogFile)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- num = message[7:]
-
-def initHandler():
- global sipServer
- global username
- global password
-
-
- accConf = sys.argv[1]
- username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- sipServer = newLine[0:newLine.find(':')]
-
-
-lib = pj.Lib()
-stop = False
-
-initHandler()
-
-initLogFile(sipServer)
-
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
-
-
- try:
- initState()
- acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password))
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'RECEIVE START':
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'CALL START':
- if num <> '':
- sleep(3)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/19-08-2011/ServerClass.py b/For Weekly Test/19-08-2011/ServerClass.py
deleted file mode 100644
index 93c2f8e..0000000
--- a/For Weekly Test/19-08-2011/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/19-08-2011/ServerClass.pyc b/For Weekly Test/19-08-2011/ServerClass.pyc
deleted file mode 100644
index 8001c70..0000000
--- a/For Weekly Test/19-08-2011/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/19-08-2011/TestProcessLog.log b/For Weekly Test/19-08-2011/TestProcessLog.log
deleted file mode 100644
index 7930eab..0000000
--- a/For Weekly Test/19-08-2011/TestProcessLog.log
+++ /dev/null
@@ -1,1630 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:21:57.301030 ------------------
-On: 2011-07-29 23:21:57.301097 Event: init Caller
-On: 2011-07-29 23:21:57.301117 Event: sip
-On: 2011-07-29 23:22:00.306750 Event: Connected to Caller Handler
-On: 2011-07-29 23:22:00.306934 Event: Caller Handler respond
-On: 2011-07-29 23:22:00.330494 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:24:53.733342 ------------------
-On: 2011-07-29 23:24:53.733408 Event: init Caller
-On: 2011-07-29 23:24:53.733427 Event: sip
-On: 2011-07-29 23:24:56.739075 Event: Connected to Caller Handler
-On: 2011-07-29 23:24:56.739283 Event: Caller Handler respond
-On: 2011-07-29 23:24:56.743416 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:11.770967 ------------------
-On: 2011-07-29 23:25:11.771004 Event: init Caller
-On: 2011-07-29 23:25:11.771011 Event: sip
-On: 2011-07-29 23:25:14.776562 Event: Connected to Caller Handler
-On: 2011-07-29 23:25:14.776759 Event: Caller Handler respond
-On: 2011-07-29 23:25:14.778543 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:27.483948 ------------------
-On: 2011-07-29 23:25:27.484014 Event: init Caller
-On: 2011-07-29 23:25:27.484034 Event: sip
-On: 2011-07-29 23:25:30.488703 Event: Connected to Caller Handler
-On: 2011-07-29 23:25:30.488907 Event: Caller Handler respond
-On: 2011-07-29 23:25:30.492889 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:15.270712 ------------------
-On: 2011-07-29 23:26:15.270780 Event: init Caller
-On: 2011-07-29 23:26:15.270799 Event: sip
-On: 2011-07-29 23:26:18.276198 Event: Connected to Caller Handler
-On: 2011-07-29 23:26:18.276306 Event: Caller Handler respond
-On: 2011-07-29 23:26:18.279521 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:10.192780 ------------------
-On: 2011-07-29 23:42:10.192869 Event: init Caller
-On: 2011-07-29 23:42:10.192901 Event: sip
-On: 2011-07-29 23:42:13.196666 Event: Connected to Caller Handler
-On: 2011-07-29 23:42:13.196857 Event: Caller Handler respond
-On: 2011-07-29 23:42:13.197492 Event: Caller handler : Ready
-On: 2011-07-29 23:42:13.197523 Event: init Receiver
-On: 2011-07-29 23:42:13.197551 Event: landline
-On: 2011-07-29 23:42:16.203095 Event: Connected to Receiver Handler
-On: 2011-07-29 23:42:16.203292 Event: Receiver Handler respond
-On: 2011-07-29 23:42:16.236357 Event: Receiver handler : Ready
-On: 2011-07-29 23:42:16.236397 Event: Start Call
-On: 2011-07-29 23:42:16.236480 Event: Waiting Feedback
-On: 2011-07-29 23:42:25.393704 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:06.607570 ------------------
-On: 2011-07-29 23:43:06.607634 Event: init Caller
-On: 2011-07-29 23:43:06.607654 Event: sip
-On: 2011-07-29 23:43:09.613314 Event: Connected to Caller Handler
-On: 2011-07-29 23:43:09.613504 Event: Caller Handler respond
-On: 2011-07-29 23:43:09.614142 Event: Caller handler : Ready
-On: 2011-07-29 23:43:09.614180 Event: init Receiver
-On: 2011-07-29 23:43:09.614210 Event: landline
-On: 2011-07-29 23:43:12.619780 Event: Connected to Receiver Handler
-On: 2011-07-29 23:43:12.619981 Event: Receiver Handler respond
-On: 2011-07-29 23:43:12.667920 Event: Receiver handler : Ready
-On: 2011-07-29 23:43:12.667952 Event: Start Call
-On: 2011-07-29 23:43:12.668021 Event: Waiting Feedback
-On: 2011-07-29 23:43:23.100908 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:39.691500 ------------------
-On: 2011-07-30 00:10:39.691562 Event: init Caller
-On: 2011-07-30 00:10:39.691581 Event: sip
-On: 2011-07-30 00:10:42.697234 Event: Connected to Caller Handler
-On: 2011-07-30 00:10:42.697433 Event: Caller Handler respond
-On: 2011-07-30 00:10:42.698013 Event: Caller handler : Ready
-On: 2011-07-30 00:10:42.698050 Event: init Receiver
-On: 2011-07-30 00:10:42.698078 Event: landline
-On: 2011-07-30 00:10:45.703491 Event: Connected to Receiver Handler
-On: 2011-07-30 00:10:45.703670 Event: Receiver Handler respond
-On: 2011-07-30 00:10:45.737912 Event: Receiver handler : Ready
-On: 2011-07-30 00:10:45.737950 Event: Start Call
-On: 2011-07-30 00:10:45.738028 Event: Waiting Feedback
-On: 2011-07-30 00:10:56.338452 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:31.889910 ------------------
-On: 2011-07-30 00:11:31.889974 Event: init Caller
-On: 2011-07-30 00:11:31.889994 Event: sip
-On: 2011-07-30 00:11:34.895578 Event: Connected to Caller Handler
-On: 2011-07-30 00:11:34.895803 Event: Caller Handler respond
-On: 2011-07-30 00:11:34.896404 Event: Caller handler : Ready
-On: 2011-07-30 00:11:34.896442 Event: init Receiver
-On: 2011-07-30 00:11:34.896471 Event: landline
-On: 2011-07-30 00:11:37.901943 Event: Connected to Receiver Handler
-On: 2011-07-30 00:11:37.902124 Event: Receiver Handler respond
-On: 2011-07-30 00:11:37.936091 Event: Receiver handler : Ready
-On: 2011-07-30 00:11:37.936130 Event: Start Call
-On: 2011-07-30 00:11:37.936214 Event: Waiting Feedback
-On: 2011-07-30 00:12:19.738731 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:54.171248 ------------------
-On: 2011-07-30 00:26:54.171301 Event: init Caller
-On: 2011-07-30 00:26:54.171316 Event: sip
-On: 2011-07-30 00:26:57.176620 Event: Connected to Caller Handler
-On: 2011-07-30 00:26:57.176790 Event: Caller Handler respond
-On: 2011-07-30 00:26:57.177313 Event: Caller handler : Ready
-On: 2011-07-30 00:26:57.177342 Event: init Receiver
-On: 2011-07-30 00:26:57.177362 Event: landline
-On: 2011-07-30 00:27:00.183045 Event: Connected to Receiver Handler
-On: 2011-07-30 00:27:00.184305 Event: Receiver Handler respond
-On: 2011-07-30 00:27:00.218555 Event: Receiver handler : Ready
-On: 2011-07-30 00:27:00.218586 Event: Start Call
-On: 2011-07-30 00:27:00.218653 Event: Waiting Feedback
-On: 2011-07-30 00:27:09.641743 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:27:58.280395 ------------------
-On: 2011-07-30 00:27:58.280448 Event: init Caller
-On: 2011-07-30 00:27:58.280464 Event: sip
-On: 2011-07-30 00:28:01.285723 Event: Connected to Caller Handler
-On: 2011-07-30 00:28:01.285934 Event: Caller Handler respond
-On: 2011-07-30 00:28:01.286508 Event: Caller handler : Ready
-On: 2011-07-30 00:28:01.286540 Event: init Receiver
-On: 2011-07-30 00:28:01.286565 Event: landline
-On: 2011-07-30 00:28:04.291863 Event: Connected to Receiver Handler
-On: 2011-07-30 00:28:04.292049 Event: Receiver Handler respond
-On: 2011-07-30 00:28:04.324731 Event: Receiver handler : Ready
-On: 2011-07-30 00:28:04.324758 Event: Start Call
-On: 2011-07-30 00:28:04.324809 Event: Waiting Feedback
-On: 2011-07-30 00:28:15.222749 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:45.604794 ------------------
-On: 2011-07-30 00:29:45.604849 Event: init Caller
-On: 2011-07-30 00:29:45.604865 Event: sip
-On: 2011-07-30 00:29:48.610293 Event: Connected to Caller Handler
-On: 2011-07-30 00:29:48.610457 Event: Caller Handler respond
-On: 2011-07-30 00:29:48.610961 Event: Caller handler : Ready
-On: 2011-07-30 00:29:48.610988 Event: init Receiver
-On: 2011-07-30 00:29:48.611012 Event: landline
-On: 2011-07-30 00:29:51.616488 Event: Connected to Receiver Handler
-On: 2011-07-30 00:29:51.616698 Event: Receiver Handler respond
-On: 2011-07-30 00:29:51.653007 Event: Receiver handler : Ready
-On: 2011-07-30 00:29:51.653033 Event: Start Call
-On: 2011-07-30 00:29:51.653089 Event: Waiting Feedback
-On: 2011-07-30 00:30:00.999843 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:53.455843 ------------------
-On: 2011-07-30 00:30:53.455927 Event: init Caller
-On: 2011-07-30 00:30:53.455956 Event: sip
-On: 2011-07-30 00:30:56.462075 Event: Connected to Caller Handler
-On: 2011-07-30 00:30:56.463454 Event: Caller Handler respond
-On: 2011-07-30 00:30:56.463833 Event: Caller handler : Ready
-On: 2011-07-30 00:30:56.463851 Event: init Receiver
-On: 2011-07-30 00:30:56.463864 Event: landline
-On: 2011-07-30 00:30:59.466866 Event: Connected to Receiver Handler
-On: 2011-07-30 00:30:59.467064 Event: Receiver Handler respond
-On: 2011-07-30 00:30:59.514807 Event: Receiver handler : Ready
-On: 2011-07-30 00:30:59.514840 Event: Start Call
-On: 2011-07-30 00:30:59.514905 Event: Waiting Feedback
-On: 2011-07-30 00:31:08.090937 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:33.242689 ------------------
-On: 2011-07-30 00:32:33.242743 Event: init Caller
-On: 2011-07-30 00:32:33.242759 Event: sip
-On: 2011-07-30 00:32:36.248041 Event: Connected to Caller Handler
-On: 2011-07-30 00:32:36.248249 Event: Caller Handler respond
-On: 2011-07-30 00:32:36.248856 Event: Caller handler : Ready
-On: 2011-07-30 00:32:36.248896 Event: init Receiver
-On: 2011-07-30 00:32:36.248923 Event: landline
-On: 2011-07-30 00:32:39.254384 Event: Connected to Receiver Handler
-On: 2011-07-30 00:32:39.254580 Event: Receiver Handler respond
-On: 2011-07-30 00:32:39.302242 Event: Receiver handler : Ready
-On: 2011-07-30 00:32:39.302269 Event: Start Call
-On: 2011-07-30 00:32:39.302328 Event: Waiting Feedback
-On: 2011-07-30 00:32:46.218668 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:32.805854 ------------------
-On: 2011-07-30 00:33:32.805907 Event: init Caller
-On: 2011-07-30 00:33:32.805923 Event: sip
-On: 2011-07-30 00:33:35.811199 Event: Connected to Caller Handler
-On: 2011-07-30 00:33:35.811359 Event: Caller Handler respond
-On: 2011-07-30 00:33:35.811924 Event: Caller handler : Ready
-On: 2011-07-30 00:33:35.812014 Event: init Receiver
-On: 2011-07-30 00:33:35.812040 Event: landline
-On: 2011-07-30 00:33:38.817500 Event: Connected to Receiver Handler
-On: 2011-07-30 00:33:38.817694 Event: Receiver Handler respond
-On: 2011-07-30 00:33:38.865974 Event: Receiver handler : Ready
-On: 2011-07-30 00:33:38.866013 Event: Start Call
-On: 2011-07-30 00:33:38.866098 Event: Waiting Feedback
-On: 2011-07-30 00:33:45.465315 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:00.707982 ------------------
-On: 2011-08-02 19:55:00.708011 Event: init Caller
-On: 2011-08-02 19:55:00.708019 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 19:55:03.711119 Event: Connected to Caller Handler
-On: 2011-08-02 19:55:03.711318 Event: Caller Handler respond
-On: 2011-08-02 19:55:03.711917 Event: Caller handler : Ready
-On: 2011-08-02 19:55:03.711956 Event: init Receiver
-On: 2011-08-02 19:55:03.711983 Event: GSMExt.O2
-On: 2011-08-02 19:55:06.717477 Event: Connected to Receiver Handler
-On: 2011-08-02 19:55:06.717761 Event: Receiver Handler respond
-On: 2011-08-02 19:55:06.717910 Event: Receiver handler : Ready
-On: 2011-08-02 19:55:06.717944 Event: Start Call
-On: 2011-08-02 19:55:06.718022 Event: Waiting Feedback
-On: 2011-08-02 19:55:19.215069 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:55:52.951481 ------------------
-On: 2011-08-02 19:55:52.951507 Event: init Caller
-On: 2011-08-02 19:55:52.951514 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 19:55:55.955051 Event: Connected to Caller Handler
-On: 2011-08-02 19:55:55.955333 Event: Caller Handler respond
-On: 2011-08-02 19:55:55.955915 Event: Caller handler : Ready
-On: 2011-08-02 19:55:55.955953 Event: init Receiver
-On: 2011-08-02 19:55:55.955983 Event: GSMExt.O2
-On: 2011-08-02 19:55:58.960795 Event: Connected to Receiver Handler
-On: 2011-08-02 19:55:58.961071 Event: Receiver Handler respond
-On: 2011-08-02 19:55:58.961227 Event: Receiver handler : Ready
-On: 2011-08-02 19:55:58.961262 Event: Start Call
-On: 2011-08-02 19:55:58.961346 Event: Waiting Feedback
-On: 2011-08-02 19:56:12.127911 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:56:52.595428 ------------------
-On: 2011-08-02 19:56:52.595479 Event: init Caller
-On: 2011-08-02 19:56:52.595497 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 19:56:55.600573 Event: Connected to Caller Handler
-On: 2011-08-02 19:56:55.600774 Event: Caller Handler respond
-On: 2011-08-02 19:56:55.601355 Event: Caller handler : Ready
-On: 2011-08-02 19:56:55.601393 Event: init Receiver
-On: 2011-08-02 19:56:55.601420 Event: GSMExt.O2
-On: 2011-08-02 19:56:58.606928 Event: Connected to Receiver Handler
-On: 2011-08-02 19:56:58.607211 Event: Receiver Handler respond
-On: 2011-08-02 19:56:58.607364 Event: Receiver handler : Ready
-On: 2011-08-02 19:56:58.607398 Event: Start Call
-On: 2011-08-02 19:56:58.607475 Event: Waiting Feedback
-On: 2011-08-02 19:57:11.044397 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 19:58:01.715583 ------------------
-On: 2011-08-02 19:58:01.715619 Event: init Caller
-On: 2011-08-02 19:58:01.715626 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 19:58:04.718128 Event: Connected to Caller Handler
-On: 2011-08-02 19:58:04.718345 Event: Caller Handler respond
-On: 2011-08-02 19:58:04.718975 Event: Caller handler : Ready
-On: 2011-08-02 19:58:04.719008 Event: init Receiver
-On: 2011-08-02 19:58:04.719036 Event: GSMExt.O2
-On: 2011-08-02 19:58:07.724485 Event: Connected to Receiver Handler
-On: 2011-08-02 19:58:07.724833 Event: Receiver Handler respond
-On: 2011-08-02 19:58:07.724988 Event: Receiver handler : Ready
-On: 2011-08-02 19:58:07.725015 Event: Start Call
-On: 2011-08-02 19:58:07.725074 Event: Waiting Feedback
-On: 2011-08-02 19:58:20.950263 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:01:31.619822 ------------------
-On: 2011-08-02 20:01:31.619852 Event: init Caller
-On: 2011-08-02 20:01:31.619860 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:01:34.623104 Event: Connected to Caller Handler
-On: 2011-08-02 20:01:34.623303 Event: Caller Handler respond
-On: 2011-08-02 20:01:34.623903 Event: Caller handler : Ready
-On: 2011-08-02 20:01:34.623940 Event: init Receiver
-On: 2011-08-02 20:01:34.623965 Event: GSMExt.O2
-On: 2011-08-02 20:01:37.626710 Event: Connected to Receiver Handler
-On: 2011-08-02 20:01:37.626987 Event: Receiver Handler respond
-On: 2011-08-02 20:01:37.627135 Event: Receiver handler : Ready
-On: 2011-08-02 20:01:37.627170 Event: Start Call
-On: 2011-08-02 20:01:37.627248 Event: Waiting Feedback
-On: 2011-08-02 20:01:49.933171 Event: Test Succeed
-On: 2011-08-02 20:01:54.936350 Event:
-On: 2011-08-02 20:01:54.936390 Event: init Caller
-On: 2011-08-02 20:01:54.936407 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:01:57.941864 Event: Connected to Caller Handler
-On: 2011-08-02 20:01:57.942036 Event: Caller Handler respond
-On: 2011-08-02 20:01:57.942643 Event: Caller handler : Ready
-On: 2011-08-02 20:01:57.942684 Event: init Receiver
-On: 2011-08-02 20:01:57.942714 Event: GSMExt.Voda
-On: 2011-08-02 20:02:00.947878 Event: Connected to Receiver Handler
-On: 2011-08-02 20:02:00.948153 Event: Receiver Handler respond
-On: 2011-08-02 20:02:00.948306 Event: Receiver handler : Ready
-On: 2011-08-02 20:02:00.948339 Event: Start Call
-On: 2011-08-02 20:02:00.948416 Event: Waiting Feedback
-On: 2011-08-02 20:02:14.039315 Event: Test Succeed
-On: 2011-08-02 20:02:19.044608 Event:
-On: 2011-08-02 20:02:19.044648 Event: init Caller
-On: 2011-08-02 20:02:19.044665 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:02:22.050146 Event: Connected to Caller Handler
-On: 2011-08-02 20:02:22.050310 Event: Caller Handler respond
-On: 2011-08-02 20:02:22.050943 Event: Caller handler : Ready
-On: 2011-08-02 20:02:22.050974 Event: init Receiver
-On: 2011-08-02 20:02:22.051004 Event: GSMExt.Eplus
-On: 2011-08-02 20:02:25.056483 Event: Connected to Receiver Handler
-On: 2011-08-02 20:02:25.056760 Event: Receiver Handler respond
-On: 2011-08-02 20:02:25.056931 Event: Receiver handler : Ready
-On: 2011-08-02 20:02:25.056965 Event: Start Call
-On: 2011-08-02 20:02:25.057039 Event: Waiting Feedback
-On: 2011-08-02 20:03:04.041509 Event: Test Failed
-On: 2011-08-02 20:03:09.047640 Event:
-On: 2011-08-02 20:03:09.047663 Event: init Caller
-On: 2011-08-02 20:03:09.047669 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:03:12.052165 Event: Connected to Caller Handler
-On: 2011-08-02 20:03:12.052355 Event: Caller Handler respond
-On: 2011-08-02 20:03:12.052969 Event: Caller handler : Ready
-On: 2011-08-02 20:03:12.053000 Event: init Receiver
-On: 2011-08-02 20:03:12.053029 Event: GSMExt.Voda
-On: 2011-08-02 20:03:15.058573 Event: Connected to Receiver Handler
-On: 2011-08-02 20:03:15.058952 Event: Receiver Handler respond
-On: 2011-08-02 20:03:15.059181 Event: Receiver handler : Ready
-On: 2011-08-02 20:03:15.059218 Event: Start Call
-On: 2011-08-02 20:03:15.059294 Event: Waiting Feedback
-On: 2011-08-02 20:03:27.491204 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:08:37.908138 ------------------
-On: 2011-08-02 20:08:37.908182 Event: init Caller
-On: 2011-08-02 20:08:37.908191 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:08:40.911105 Event: Connected to Caller Handler
-On: 2011-08-02 20:08:40.911306 Event: Caller Handler respond
-On: 2011-08-02 20:08:40.911885 Event: Caller handler : Ready
-On: 2011-08-02 20:08:40.911924 Event: init Receiver
-On: 2011-08-02 20:08:40.911951 Event: GSMExt.O2
-On: 2011-08-02 20:08:43.917057 Event: Connected to Receiver Handler
-On: 2011-08-02 20:08:43.917399 Event: Receiver Handler respond
-On: 2011-08-02 20:08:43.917586 Event: Receiver handler : Ready
-On: 2011-08-02 20:08:43.917616 Event: Start Call
-On: 2011-08-02 20:08:43.917690 Event: Waiting Feedback
-On: 2011-08-02 20:08:55.523749 Event: Test Succeed
-On: 2011-08-02 20:09:00.531054 Event:
-On: 2011-08-02 20:09:00.531093 Event: init Caller
-On: 2011-08-02 20:09:00.531110 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:09:03.536513 Event: Connected to Caller Handler
-On: 2011-08-02 20:09:03.536693 Event: Caller Handler respond
-On: 2011-08-02 20:09:03.537288 Event: Caller handler : Ready
-On: 2011-08-02 20:09:03.537320 Event: init Receiver
-On: 2011-08-02 20:09:03.537349 Event: GSMExt.Voda
-On: 2011-08-02 20:09:06.542932 Event: Connected to Receiver Handler
-On: 2011-08-02 20:09:06.543209 Event: Receiver Handler respond
-On: 2011-08-02 20:09:06.543357 Event: Receiver handler : Ready
-On: 2011-08-02 20:09:06.543391 Event: Start Call
-On: 2011-08-02 20:09:06.543468 Event: Waiting Feedback
-On: 2011-08-02 20:09:19.693495 Event: Test Succeed
-On: 2011-08-02 20:09:24.696484 Event:
-On: 2011-08-02 20:09:24.696527 Event: init Caller
-On: 2011-08-02 20:09:24.696548 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:09:27.701946 Event: Connected to Caller Handler
-On: 2011-08-02 20:09:27.702115 Event: Caller Handler respond
-On: 2011-08-02 20:09:27.702745 Event: Caller handler : Ready
-On: 2011-08-02 20:09:27.702783 Event: init Receiver
-On: 2011-08-02 20:09:27.702815 Event: GSMExt.Eplus
-On: 2011-08-02 20:09:30.707543 Event: Connected to Receiver Handler
-On: 2011-08-02 20:09:30.707826 Event: Receiver Handler respond
-On: 2011-08-02 20:09:30.707982 Event: Receiver handler : Ready
-On: 2011-08-02 20:09:30.708016 Event: Start Call
-On: 2011-08-02 20:09:30.708093 Event: Waiting Feedback
-On: 2011-08-02 20:10:09.351624 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:10:40.806064 ------------------
-On: 2011-08-02 20:10:40.806093 Event: init Caller
-On: 2011-08-02 20:10:40.806100 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:10:43.811106 Event: Connected to Caller Handler
-On: 2011-08-02 20:10:43.811306 Event: Caller Handler respond
-On: 2011-08-02 20:10:43.813066 Event: Caller handler : Ready
-On: 2011-08-02 20:10:43.813111 Event: init Receiver
-On: 2011-08-02 20:10:43.813145 Event: GSMExt.O2
-On: 2011-08-02 20:10:46.818716 Event: Connected to Receiver Handler
-On: 2011-08-02 20:10:46.819053 Event: Receiver Handler respond
-On: 2011-08-02 20:10:46.819279 Event: Receiver handler : Ready
-On: 2011-08-02 20:10:46.819309 Event: Start Call
-On: 2011-08-02 20:10:46.819381 Event: Waiting Feedback
-On: 2011-08-02 20:10:59.158339 Event: Test Succeed
-On: 2011-08-02 20:11:04.165699 Event:
-On: 2011-08-02 20:11:04.165739 Event: init Caller
-On: 2011-08-02 20:11:04.165757 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:11:07.171241 Event: Connected to Caller Handler
-On: 2011-08-02 20:11:07.171436 Event: Caller Handler respond
-On: 2011-08-02 20:11:07.172004 Event: Caller handler : Ready
-On: 2011-08-02 20:11:07.172040 Event: init Receiver
-On: 2011-08-02 20:11:07.172067 Event: GSMExt.Voda
-On: 2011-08-02 20:11:10.177544 Event: Connected to Receiver Handler
-On: 2011-08-02 20:11:10.177876 Event: Receiver Handler respond
-On: 2011-08-02 20:11:10.178006 Event: Receiver handler : Ready
-On: 2011-08-02 20:11:10.178018 Event: Start Call
-On: 2011-08-02 20:11:10.178042 Event: Waiting Feedback
-On: 2011-08-02 20:11:23.287497 Event: Test Succeed
-On: 2011-08-02 20:11:28.293627 Event:
-On: 2011-08-02 20:11:28.293670 Event: init Caller
-On: 2011-08-02 20:11:28.293690 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:11:31.299209 Event: Connected to Caller Handler
-On: 2011-08-02 20:11:31.299602 Event: Caller Handler respond
-On: 2011-08-02 20:11:31.300371 Event: Caller handler : Ready
-On: 2011-08-02 20:11:31.300411 Event: init Receiver
-On: 2011-08-02 20:11:31.300449 Event: GSMExt.Eplus
-On: 2011-08-02 20:11:34.304653 Event: Connected to Receiver Handler
-On: 2011-08-02 20:11:34.304932 Event: Receiver Handler respond
-On: 2011-08-02 20:11:34.305080 Event: Receiver handler : Ready
-On: 2011-08-02 20:11:34.305114 Event: Start Call
-On: 2011-08-02 20:11:34.305191 Event: Waiting Feedback
-On: 2011-08-02 20:12:13.128614 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:31:41.279041 ------------------
-On: 2011-08-02 20:31:41.279096 Event: init Caller
-On: 2011-08-02 20:31:41.279117 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:31:44.284611 Event: Cannt connect to Caller
-On: 2011-08-02 20:31:44.284667 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:32:30.685920 ------------------
-On: 2011-08-02 20:32:30.685976 Event: init Caller
-On: 2011-08-02 20:32:30.685997 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:32:33.691471 Event: Cannt connect to Caller
-On: 2011-08-02 20:32:33.691526 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:33:00.945112 ------------------
-On: 2011-08-02 20:33:00.945138 Event: init Caller
-On: 2011-08-02 20:33:00.945144 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:33:03.950264 Event: Cannt connect to Caller
-On: 2011-08-02 20:33:03.950320 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:33:27.128557 ------------------
-On: 2011-08-02 20:33:27.128583 Event: init Caller
-On: 2011-08-02 20:33:27.128590 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:33:30.133411 Event: Cannt connect to Caller
-On: 2011-08-02 20:33:30.133467 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:34:19.964108 ------------------
-On: 2011-08-02 20:34:19.964164 Event: init Caller
-On: 2011-08-02 20:34:19.964185 Event: ['localhost', '07612034661928', 'mpselftest1', '1mpselftest', '132.230.4.8']
-On: 2011-08-02 20:34:22.969573 Event: Connected to Caller Handler
-On: 2011-08-02 20:34:22.969755 Event: Caller Handler respond
-On: 2011-08-02 20:34:22.970370 Event: Caller handler : Ready
-On: 2011-08-02 20:34:22.970404 Event: init Receiver
-On: 2011-08-02 20:34:22.970432 Event: GSMExt.O2
-On: 2011-08-02 20:34:25.976171 Event: Connected to Receiver Handler
-On: 2011-08-02 20:34:25.976451 Event: Receiver Handler respond
-On: 2011-08-02 20:34:25.976600 Event: Receiver handler : Ready
-On: 2011-08-02 20:34:25.976635 Event: Start Call
-On: 2011-08-02 20:34:25.976713 Event: Waiting Feedback
-On: 2011-08-02 20:34:39.213482 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:35:38.146762 ------------------
-On: 2011-08-02 20:35:38.146818 Event: init Caller
-On: 2011-08-02 20:35:38.146838 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:35:41.152241 Event: Cannt connect to Caller
-On: 2011-08-02 20:35:41.152297 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:36:16.472972 ------------------
-On: 2011-08-02 20:36:16.473025 Event: init Caller
-On: 2011-08-02 20:36:16.473043 Event: ['localhost', '017678038038', '', '', '']
-On: 2011-08-02 20:36:19.475950 Event: Cannt connect to Caller
-On: 2011-08-02 20:36:19.476014 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:37:49.428404 ------------------
-On: 2011-08-02 20:37:49.428439 Event: init Caller
-On: 2011-08-02 20:37:49.428446 Event: GSMExt.O2
-On: 2011-08-02 20:37:52.433644 Event: Connected to Caller Handler
-On: 2011-08-02 20:37:52.433978 Event: Caller Handler respond
-On: 2011-08-02 20:37:52.434146 Event: Caller handler : Ready
-On: 2011-08-02 20:37:52.434199 Event: init Receiver
-On: 2011-08-02 20:37:52.434220 Event: GSMExt.O2
-On: 2011-08-02 20:37:55.438878 Event: Connected to Receiver Handler
-On: 2011-08-02 20:38:01.593266 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:39:16.414147 ------------------
-On: 2011-08-02 20:39:16.414258 Event: init Caller
-On: 2011-08-02 20:39:16.414287 Event: sip
-On: 2011-08-02 20:39:19.419121 Event: Connected to Caller Handler
-On: 2011-08-02 20:39:19.419321 Event: Caller Handler respond
-On: 2011-08-02 20:39:19.419901 Event: Caller handler : Ready
-On: 2011-08-02 20:39:19.419938 Event: init Receiver
-On: 2011-08-02 20:39:19.419967 Event: GSMExt.O2
-On: 2011-08-02 20:39:22.425456 Event: Connected to Receiver Handler
-On: 2011-08-02 20:39:22.425831 Event: Receiver Handler respond
-On: 2011-08-02 20:39:22.425992 Event: Receiver handler : Ready
-On: 2011-08-02 20:39:22.426018 Event: Start Call
-On: 2011-08-02 20:39:22.426075 Event: Waiting Feedback
-On: 2011-08-02 20:39:34.959073 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:41:18.395960 ------------------
-On: 2011-08-02 20:41:18.396014 Event: init Caller
-On: 2011-08-02 20:41:18.396033 Event: sip
-On: 2011-08-02 20:41:21.399081 Event: Connected to Caller Handler
-On: 2011-08-02 20:41:21.399282 Event: Caller Handler respond
-On: 2011-08-02 20:41:21.399861 Event: Caller handler : Ready
-On: 2011-08-02 20:41:21.399898 Event: init Receiver
-On: 2011-08-02 20:41:21.399926 Event: GSMExt.O2
-On: 2011-08-02 20:41:24.405406 Event: Connected to Receiver Handler
-On: 2011-08-02 20:41:24.405768 Event: Receiver Handler respond
-On: 2011-08-02 20:41:24.405917 Event: Receiver handler : Ready
-On: 2011-08-02 20:41:24.405951 Event: Start Call
-On: 2011-08-02 20:41:24.406030 Event: Waiting Feedback
-On: 2011-08-02 20:41:37.628378 Event: Test Succeed
-On: 2011-08-02 20:41:47.702226 Event:
-On: 2011-08-02 20:41:47.702271 Event: init Caller
-On: 2011-08-02 20:41:47.702289 Event: sip
-On: 2011-08-02 20:41:50.707600 Event: Connected to Caller Handler
-On: 2011-08-02 20:41:50.707783 Event: Caller Handler respond
-On: 2011-08-02 20:41:50.708388 Event: Caller handler : Ready
-On: 2011-08-02 20:41:50.708419 Event: init Receiver
-On: 2011-08-02 20:41:50.708446 Event: GSMExt.Voda
-On: 2011-08-02 20:41:53.713930 Event: Connected to Receiver Handler
-On: 2011-08-02 20:41:53.714205 Event: Receiver Handler respond
-On: 2011-08-02 20:41:53.714362 Event: Receiver handler : Ready
-On: 2011-08-02 20:41:53.714396 Event: Start Call
-On: 2011-08-02 20:41:53.714475 Event: Waiting Feedback
-On: 2011-08-02 20:42:06.551963 Event: Test Succeed
-On: 2011-08-02 20:42:16.601410 Event:
-On: 2011-08-02 20:42:16.601456 Event: init Caller
-On: 2011-08-02 20:42:16.601473 Event: sip
-On: 2011-08-02 20:42:19.606912 Event: Connected to Caller Handler
-On: 2011-08-02 20:42:19.607109 Event: Caller Handler respond
-On: 2011-08-02 20:42:19.607684 Event: Caller handler : Ready
-On: 2011-08-02 20:42:19.607720 Event: init Receiver
-On: 2011-08-02 20:42:19.607750 Event: GSMExt.Eplus
-On: 2011-08-02 20:42:22.612085 Event: Connected to Receiver Handler
-On: 2011-08-02 20:42:22.612403 Event: Receiver Handler respond
-On: 2011-08-02 20:42:22.612686 Event: Receiver handler : Ready
-On: 2011-08-02 20:42:22.612722 Event: Start Call
-On: 2011-08-02 20:42:22.612800 Event: Waiting Feedback
-On: 2011-08-02 20:43:01.141917 Event: Test Failed
-On: 2011-08-02 20:43:11.187258 Event:
-On: 2011-08-02 20:43:11.187285 Event: init Caller
-On: 2011-08-02 20:43:11.187291 Event: GSMExt.Eplus
-On: 2011-08-02 20:43:14.191797 Event: Connected to Caller Handler
-On: 2011-08-02 20:43:14.192195 Event: Caller Handler respond
-On: 2011-08-02 20:43:14.192390 Event: Caller handler : Ready
-On: 2011-08-02 20:43:14.192422 Event: init Receiver
-On: 2011-08-02 20:43:14.192448 Event: sip
-On: 2011-08-02 20:43:17.197956 Event: Connected to Receiver Handler
-On: 2011-08-02 20:43:17.198151 Event: Receiver Handler respond
-On: 2011-08-02 20:43:17.198735 Event: Receiver handler : Ready
-On: 2011-08-02 20:43:17.198771 Event: Start Call
-On: 2011-08-02 20:43:17.198851 Event: Waiting Feedback
-On: 2011-08-02 20:43:51.966414 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 20:44:21.046833 ------------------
-On: 2011-08-02 20:44:21.046888 Event: init Caller
-On: 2011-08-02 20:44:21.046910 Event: sip
-On: 2011-08-02 20:44:24.054720 Event: Connected to Caller Handler
-On: 2011-08-02 20:44:24.054902 Event: Caller Handler respond
-On: 2011-08-02 20:44:24.055508 Event: Caller handler : Ready
-On: 2011-08-02 20:44:24.055540 Event: init Receiver
-On: 2011-08-02 20:44:24.055568 Event: GSMExt.O2
-On: 2011-08-02 20:44:27.061037 Event: Connected to Receiver Handler
-On: 2011-08-02 20:44:27.061414 Event: Receiver Handler respond
-On: 2011-08-02 20:44:27.061604 Event: Receiver handler : Ready
-On: 2011-08-02 20:44:27.061635 Event: Start Call
-On: 2011-08-02 20:44:27.061706 Event: Waiting Feedback
-On: 2011-08-02 20:44:39.903055 Event: Test Succeed
-On: 2011-08-02 20:44:49.954253 Event:
-On: 2011-08-02 20:44:49.954295 Event: init Caller
-On: 2011-08-02 20:44:49.954313 Event: sip
-On: 2011-08-02 20:44:52.958859 Event: Connected to Caller Handler
-On: 2011-08-02 20:44:52.959042 Event: Caller Handler respond
-On: 2011-08-02 20:44:52.959639 Event: Caller handler : Ready
-On: 2011-08-02 20:44:52.959712 Event: init Receiver
-On: 2011-08-02 20:44:52.959742 Event: GSMExt.Voda
-On: 2011-08-02 20:44:55.965194 Event: Connected to Receiver Handler
-On: 2011-08-02 20:44:55.965475 Event: Receiver Handler respond
-On: 2011-08-02 20:44:55.965624 Event: Receiver handler : Ready
-On: 2011-08-02 20:44:55.965659 Event: Start Call
-On: 2011-08-02 20:44:55.965736 Event: Waiting Feedback
-On: 2011-08-02 20:45:08.791941 Event: Test Succeed
-On: 2011-08-02 20:45:18.844216 Event:
-On: 2011-08-02 20:45:18.844258 Event: init Caller
-On: 2011-08-02 20:45:18.844275 Event: sip
-On: 2011-08-02 20:45:21.849541 Event: Connected to Caller Handler
-On: 2011-08-02 20:45:21.849869 Event: Caller Handler respond
-On: 2011-08-02 20:45:21.850494 Event: Caller handler : Ready
-On: 2011-08-02 20:45:21.850533 Event: init Receiver
-On: 2011-08-02 20:45:21.850563 Event: GSMExt.Eplus
-On: 2011-08-02 20:45:24.855906 Event: Connected to Receiver Handler
-On: 2011-08-02 20:45:24.856182 Event: Receiver Handler respond
-On: 2011-08-02 20:45:24.856331 Event: Receiver handler : Ready
-On: 2011-08-02 20:45:24.856365 Event: Start Call
-On: 2011-08-02 20:45:24.856442 Event: Waiting Feedback
-On: 2011-08-02 20:46:03.527821 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:45:26.573437 ------------------
-On: 2011-08-02 22:45:26.573475 Event: init Caller
-On: 2011-08-02 22:45:26.573482 Event: sip
-On: 2011-08-02 22:45:29.578800 Event: Connected to Caller Handler
-On: 2011-08-02 22:45:29.580062 Event: Caller Handler respond
-On: 2011-08-02 22:45:29.580652 Event: Caller handler : Ready
-On: 2011-08-02 22:45:29.580690 Event: init Receiver
-On: 2011-08-02 22:45:29.580717 Event: GSMExt.O2
-On: 2011-08-02 22:45:32.586425 Event: Connected to Receiver Handler
-On: 2011-08-02 22:45:32.586775 Event: Receiver Handler respond
-On: 2011-08-02 22:45:32.586932 Event: Receiver handler : Ready
-On: 2011-08-02 22:45:32.586967 Event: Start Call
-On: 2011-08-02 22:45:32.587043 Event: Waiting Feedback
-On: 2011-08-02 22:45:45.862578 Event: Test Succeed
-On: 2011-08-02 22:45:55.917838 Event:
-On: 2011-08-02 22:45:55.917886 Event: init Caller
-On: 2011-08-02 22:45:55.917903 Event: sip
-On: 2011-08-02 22:45:58.922857 Event: Connected to Caller Handler
-On: 2011-08-02 22:45:58.923040 Event: Caller Handler respond
-On: 2011-08-02 22:45:58.923634 Event: Caller handler : Ready
-On: 2011-08-02 22:45:58.923665 Event: init Receiver
-On: 2011-08-02 22:45:58.923692 Event: GSMExt.Voda
-On: 2011-08-02 22:46:01.926963 Event: Connected to Receiver Handler
-On: 2011-08-02 22:46:01.927293 Event: Receiver Handler respond
-On: 2011-08-02 22:46:01.927439 Event: Receiver handler : Ready
-On: 2011-08-02 22:46:01.927472 Event: Start Call
-On: 2011-08-02 22:46:01.927542 Event: Waiting Feedback
-On: 2011-08-02 22:46:16.073627 Event: Test Succeed
-On: 2011-08-02 22:46:26.122841 Event:
-On: 2011-08-02 22:46:26.122887 Event: init Caller
-On: 2011-08-02 22:46:26.122904 Event: sip
-On: 2011-08-02 22:46:29.128237 Event: Connected to Caller Handler
-On: 2011-08-02 22:46:29.128429 Event: Caller Handler respond
-On: 2011-08-02 22:46:29.129029 Event: Caller handler : Ready
-On: 2011-08-02 22:46:29.129065 Event: init Receiver
-On: 2011-08-02 22:46:29.129095 Event: GSMExt.Eplus
-On: 2011-08-02 22:46:32.134659 Event: Connected to Receiver Handler
-On: 2011-08-02 22:46:32.135000 Event: Receiver Handler respond
-On: 2011-08-02 22:46:32.135208 Event: Receiver handler : Ready
-On: 2011-08-02 22:46:32.135235 Event: Start Call
-On: 2011-08-02 22:46:32.135291 Event: Waiting Feedback
-On: 2011-08-02 22:47:11.351943 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:48:26.176200 ------------------
-On: 2011-08-02 22:48:26.176229 Event: init Caller
-On: 2011-08-02 22:48:26.176237 Event: sip
-On: 2011-08-02 22:48:29.178861 Event: Connected to Caller Handler
-On: 2011-08-02 22:48:29.179075 Event: Caller Handler respond
-On: 2011-08-02 22:48:29.179534 Event: Caller handler : Ready
-On: 2011-08-02 22:48:29.179586 Event: init Receiver
-On: 2011-08-02 22:48:29.179617 Event: GSMExt.O2
-On: 2011-08-02 22:48:32.182900 Event: Connected to Receiver Handler
-On: 2011-08-02 22:48:32.183180 Event: Receiver Handler respond
-On: 2011-08-02 22:48:32.183333 Event: Receiver handler : Ready
-On: 2011-08-02 22:48:32.183368 Event: Start Call
-On: 2011-08-02 22:48:32.183445 Event: Waiting Feedback
-On: 2011-08-02 22:48:44.959240 Event: Test Succeed
-On: 2011-08-02 22:48:55.008643 Event:
-On: 2011-08-02 22:48:55.008690 Event: init Caller
-On: 2011-08-02 22:48:55.008708 Event: sip
-On: 2011-08-02 22:48:58.014251 Event: Connected to Caller Handler
-On: 2011-08-02 22:48:58.014448 Event: Caller Handler respond
-On: 2011-08-02 22:48:58.015126 Event: Caller handler : Ready
-On: 2011-08-02 22:48:58.015163 Event: init Receiver
-On: 2011-08-02 22:48:58.015197 Event: GSMExt.Voda
-On: 2011-08-02 22:49:01.018857 Event: Connected to Receiver Handler
-On: 2011-08-02 22:49:01.019202 Event: Receiver Handler respond
-On: 2011-08-02 22:49:01.019436 Event: Receiver handler : Ready
-On: 2011-08-02 22:49:01.019473 Event: Start Call
-On: 2011-08-02 22:49:01.019552 Event: Waiting Feedback
-On: 2011-08-02 22:49:14.028260 Event: Test Succeed
-On: 2011-08-02 22:49:24.077140 Event:
-On: 2011-08-02 22:49:24.077186 Event: init Caller
-On: 2011-08-02 22:49:24.077204 Event: sip
-On: 2011-08-02 22:49:27.081525 Event: Connected to Caller Handler
-On: 2011-08-02 22:49:27.081766 Event: Caller Handler respond
-On: 2011-08-02 22:49:27.082549 Event: Caller handler : Ready
-On: 2011-08-02 22:49:27.082588 Event: init Receiver
-On: 2011-08-02 22:49:27.082627 Event: GSMExt.Eplus
-On: 2011-08-02 22:49:30.086884 Event: Connected to Receiver Handler
-On: 2011-08-02 22:49:30.087165 Event: Receiver Handler respond
-On: 2011-08-02 22:49:30.087325 Event: Receiver handler : Ready
-On: 2011-08-02 22:49:30.087360 Event: Start Call
-On: 2011-08-02 22:49:30.087437 Event: Waiting Feedback
-On: 2011-08-02 22:50:09.758557 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:50:23.144401 ------------------
-On: 2011-08-02 22:50:23.144455 Event: init Caller
-On: 2011-08-02 22:50:23.144474 Event: sip
-On: 2011-08-02 22:50:26.150021 Event: Connected to Caller Handler
-On: 2011-08-02 22:50:26.150221 Event: Caller Handler respond
-On: 2011-08-02 22:50:26.150995 Event: Caller handler : Ready
-On: 2011-08-02 22:50:26.151034 Event: init Receiver
-On: 2011-08-02 22:50:26.151065 Event: GSMExt.O2
-On: 2011-08-02 22:50:29.156551 Event: Connected to Receiver Handler
-On: 2011-08-02 22:50:29.156829 Event: Receiver Handler respond
-On: 2011-08-02 22:50:29.156976 Event: Receiver handler : Ready
-On: 2011-08-02 22:50:29.157019 Event: Start Call
-On: 2011-08-02 22:50:29.157106 Event: Waiting Feedback
-On: 2011-08-02 22:50:41.455086 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:51:31.454454 ------------------
-On: 2011-08-02 22:51:31.454515 Event: init Caller
-On: 2011-08-02 22:51:31.454534 Event: sip
-On: 2011-08-02 22:51:34.459102 Event: Connected to Caller Handler
-On: 2011-08-02 22:51:34.459309 Event: Caller Handler respond
-On: 2011-08-02 22:51:34.459904 Event: Caller handler : Ready
-On: 2011-08-02 22:51:34.459946 Event: init Receiver
-On: 2011-08-02 22:51:34.459973 Event: GSMExt.O2
-On: 2011-08-02 22:51:37.462568 Event: Connected to Receiver Handler
-On: 2011-08-02 22:51:37.462787 Event: Receiver Handler respond
-On: 2011-08-02 22:51:37.462943 Event: Receiver handler : Ready
-On: 2011-08-02 22:51:37.462977 Event: Start Call
-On: 2011-08-02 22:51:37.463056 Event: Waiting Feedback
-On: 2011-08-02 22:51:49.621728 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:53:05.213072 ------------------
-On: 2011-08-02 22:53:05.213126 Event: init Caller
-On: 2011-08-02 22:53:05.213145 Event: sip
-On: 2011-08-02 22:53:08.218979 Event: Connected to Caller Handler
-On: 2011-08-02 22:53:08.219177 Event: Caller Handler respond
-On: 2011-08-02 22:53:08.219945 Event: Caller handler : Ready
-On: 2011-08-02 22:53:08.219983 Event: init Receiver
-On: 2011-08-02 22:53:08.220008 Event: GSMExt.O2
-On: 2011-08-02 22:53:11.222867 Event: Connected to Receiver Handler
-On: 2011-08-02 22:53:11.223247 Event: Receiver Handler respond
-On: 2011-08-02 22:53:11.223441 Event: Receiver handler : Ready
-On: 2011-08-02 22:53:11.223472 Event: Start Call
-On: 2011-08-02 22:53:11.223544 Event: Waiting Feedback
-On: 2011-08-02 22:53:23.861601 Event: Test Succeed
-On: 2011-08-02 22:53:33.911365 Event:
-On: 2011-08-02 22:53:33.911410 Event: init Caller
-On: 2011-08-02 22:53:33.911427 Event: sip
-On: 2011-08-02 22:53:36.916744 Event: Connected to Caller Handler
-On: 2011-08-02 22:53:36.916939 Event: Caller Handler respond
-On: 2011-08-02 22:53:36.917522 Event: Caller handler : Ready
-On: 2011-08-02 22:53:36.917557 Event: init Receiver
-On: 2011-08-02 22:53:36.917585 Event: GSMExt.Voda
-On: 2011-08-02 22:53:39.922712 Event: Connected to Receiver Handler
-On: 2011-08-02 22:53:39.922994 Event: Receiver Handler respond
-On: 2011-08-02 22:53:39.923145 Event: Receiver handler : Ready
-On: 2011-08-02 22:53:39.923179 Event: Start Call
-On: 2011-08-02 22:53:39.923257 Event: Waiting Feedback
-On: 2011-08-02 22:53:53.648878 Event: Test Succeed
-On: 2011-08-02 22:54:03.702913 Event:
-On: 2011-08-02 22:54:03.702960 Event: init Caller
-On: 2011-08-02 22:54:03.702987 Event: sip
-On: 2011-08-02 22:54:06.708417 Event: Connected to Caller Handler
-On: 2011-08-02 22:54:06.708594 Event: Caller Handler respond
-On: 2011-08-02 22:54:06.709174 Event: Caller handler : Ready
-On: 2011-08-02 22:54:06.709205 Event: init Receiver
-On: 2011-08-02 22:54:06.709234 Event: GSMExt.Eplus
-On: 2011-08-02 22:54:09.714816 Event: Connected to Receiver Handler
-On: 2011-08-02 22:54:09.715092 Event: Receiver Handler respond
-On: 2011-08-02 22:54:09.715240 Event: Receiver handler : Ready
-On: 2011-08-02 22:54:09.715274 Event: Start Call
-On: 2011-08-02 22:54:09.715350 Event: Waiting Feedback
-On: 2011-08-02 22:54:44.762281 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:57:44.537181 ------------------
-On: 2011-08-02 22:57:44.537234 Event: init Caller
-On: 2011-08-02 22:57:44.537252 Event: sip
-On: 2011-08-02 22:57:47.542923 Event: Connected to Caller Handler
-On: 2011-08-02 22:57:47.543102 Event: Caller Handler respond
-On: 2011-08-02 22:57:47.543688 Event: Caller handler : Ready
-On: 2011-08-02 22:57:47.543720 Event: init Receiver
-On: 2011-08-02 22:57:47.543748 Event: GSMExt.O2
-On: 2011-08-02 22:57:50.546883 Event: Connected to Receiver Handler
-On: 2011-08-02 22:57:50.547226 Event: Receiver Handler respond
-On: 2011-08-02 22:57:50.547455 Event: Receiver handler : Ready
-On: 2011-08-02 22:57:50.547485 Event: Start Call
-On: 2011-08-02 22:57:50.547556 Event: Waiting Feedback
-On: 2011-08-02 22:58:02.737299 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-02 22:59:00.750658 ------------------
-On: 2011-08-02 22:59:00.750709 Event: init Caller
-On: 2011-08-02 22:59:00.750728 Event: sip
-On: 2011-08-02 22:59:03.755101 Event: Connected to Caller Handler
-On: 2011-08-02 22:59:03.755301 Event: Caller Handler respond
-On: 2011-08-02 22:59:03.755870 Event: Caller handler : Ready
-On: 2011-08-02 22:59:03.755908 Event: init Receiver
-On: 2011-08-02 22:59:03.755936 Event: GSMExt.O2
-On: 2011-08-02 22:59:06.758886 Event: Connected to Receiver Handler
-On: 2011-08-02 22:59:06.759279 Event: Receiver Handler respond
-On: 2011-08-02 22:59:06.759425 Event: Receiver handler : Ready
-On: 2011-08-02 22:59:06.759459 Event: Start Call
-On: 2011-08-02 22:59:06.759538 Event: Waiting Feedback
-On: 2011-08-02 22:59:19.227461 Event: Test Succeed
-On: 2011-08-02 22:59:29.276087 Event:
-On: 2011-08-02 22:59:29.276128 Event: init Caller
-On: 2011-08-02 22:59:29.276146 Event: sip
-On: 2011-08-02 22:59:32.282043 Event: Connected to Caller Handler
-On: 2011-08-02 22:59:32.282253 Event: Caller Handler respond
-On: 2011-08-02 22:59:32.282835 Event: Caller handler : Ready
-On: 2011-08-02 22:59:32.282871 Event: init Receiver
-On: 2011-08-02 22:59:32.282905 Event: GSMExt.Voda
-On: 2011-08-02 22:59:35.286787 Event: Connected to Receiver Handler
-On: 2011-08-02 22:59:35.287040 Event: Receiver Handler respond
-On: 2011-08-02 22:59:35.287272 Event: Receiver handler : Ready
-On: 2011-08-02 22:59:35.287302 Event: Start Call
-On: 2011-08-02 22:59:35.287431 Event: Waiting Feedback
-On: 2011-08-02 22:59:48.978874 Event: Test Succeed
-On: 2011-08-02 22:59:59.030461 Event:
-On: 2011-08-02 22:59:59.030502 Event: init Caller
-On: 2011-08-02 22:59:59.030519 Event: sip
-On: 2011-08-02 23:00:02.035778 Event: Connected to Caller Handler
-On: 2011-08-02 23:00:02.035948 Event: Caller Handler respond
-On: 2011-08-02 23:00:02.036521 Event: Caller handler : Ready
-On: 2011-08-02 23:00:02.036585 Event: init Receiver
-On: 2011-08-02 23:00:02.036621 Event: GSMExt.Eplus
-On: 2011-08-02 23:00:05.042080 Event: Connected to Receiver Handler
-On: 2011-08-02 23:00:05.042491 Event: Receiver Handler respond
-On: 2011-08-02 23:00:05.042725 Event: Receiver handler : Ready
-On: 2011-08-02 23:00:05.042757 Event: Start Call
-On: 2011-08-02 23:00:05.042830 Event: Waiting Feedback
-On: 2011-08-02 23:00:40.086284 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:02:39.533341 ------------------
-On: 2011-08-02 23:02:39.533395 Event: init Caller
-On: 2011-08-02 23:02:39.533414 Event: sip
-On: 2011-08-02 23:02:42.538631 Event: Connected to Caller Handler
-On: 2011-08-02 23:02:42.538828 Event: Caller Handler respond
-On: 2011-08-02 23:02:42.540643 Event: Caller handler : Ready
-On: 2011-08-02 23:02:42.540688 Event: init Receiver
-On: 2011-08-02 23:02:42.540721 Event: GSMExt.O2
-On: 2011-08-02 23:02:45.546251 Event: Connected to Receiver Handler
-On: 2011-08-02 23:02:45.546521 Event: Receiver Handler respond
-On: 2011-08-02 23:02:45.546673 Event: Receiver handler : Ready
-On: 2011-08-02 23:02:45.546707 Event: Start Call
-On: 2011-08-02 23:02:45.546787 Event: Waiting Feedback
-On: 2011-08-02 23:02:58.294157 Event: Test Succeed
-On: 2011-08-02 23:03:08.344588 Event:
-On: 2011-08-02 23:03:08.344633 Event: init Caller
-On: 2011-08-02 23:03:08.344651 Event: sip
-On: 2011-08-02 23:03:11.348860 Event: Connected to Caller Handler
-On: 2011-08-02 23:03:11.349053 Event: Caller Handler respond
-On: 2011-08-02 23:03:11.349624 Event: Caller handler : Ready
-On: 2011-08-02 23:03:11.349661 Event: init Receiver
-On: 2011-08-02 23:03:11.349689 Event: GSMExt.Voda
-On: 2011-08-02 23:03:14.354835 Event: Connected to Receiver Handler
-On: 2011-08-02 23:03:14.355188 Event: Receiver Handler respond
-On: 2011-08-02 23:03:14.355416 Event: Receiver handler : Ready
-On: 2011-08-02 23:03:14.355453 Event: Start Call
-On: 2011-08-02 23:03:14.355532 Event: Waiting Feedback
-On: 2011-08-02 23:03:27.911798 Event: Test Succeed
-On: 2011-08-02 23:03:37.958483 Event:
-On: 2011-08-02 23:03:37.958542 Event: init Caller
-On: 2011-08-02 23:03:37.958569 Event: sip
-On: 2011-08-02 23:03:40.963005 Event: Connected to Caller Handler
-On: 2011-08-02 23:03:40.963162 Event: Caller Handler respond
-On: 2011-08-02 23:03:40.963721 Event: Caller handler : Ready
-On: 2011-08-02 23:03:40.963758 Event: init Receiver
-On: 2011-08-02 23:03:40.963792 Event: GSMExt.Eplus
-On: 2011-08-02 23:03:43.969383 Event: Connected to Receiver Handler
-On: 2011-08-02 23:03:43.969689 Event: Receiver Handler respond
-On: 2011-08-02 23:03:43.969876 Event: Receiver handler : Ready
-On: 2011-08-02 23:03:43.969906 Event: Start Call
-On: 2011-08-02 23:03:43.969976 Event: Waiting Feedback
-On: 2011-08-02 23:04:19.010375 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:06:08.072906 ------------------
-On: 2011-08-02 23:06:08.072961 Event: init Caller
-On: 2011-08-02 23:06:08.072980 Event: sip
-On: 2011-08-02 23:06:11.078573 Event: Connected to Caller Handler
-On: 2011-08-02 23:06:11.078772 Event: Caller Handler respond
-On: 2011-08-02 23:06:11.079477 Event: Caller handler : Ready
-On: 2011-08-02 23:06:11.079516 Event: init Receiver
-On: 2011-08-02 23:06:11.079543 Event: GSMExt.O2
-On: 2011-08-02 23:06:14.085121 Event: Connected to Receiver Handler
-On: 2011-08-02 23:06:14.085399 Event: Receiver Handler respond
-On: 2011-08-02 23:06:14.085549 Event: Receiver handler : Ready
-On: 2011-08-02 23:06:14.085584 Event: Start Call
-On: 2011-08-02 23:06:14.085663 Event: Waiting Feedback
-On: 2011-08-02 23:06:27.054358 Event: Test Succeed
-On: 2011-08-02 23:06:37.104021 Event:
-On: 2011-08-02 23:06:37.104065 Event: init Caller
-On: 2011-08-02 23:06:37.104083 Event: sip
-On: 2011-08-02 23:06:40.107069 Event: Connected to Caller Handler
-On: 2011-08-02 23:06:40.107254 Event: Caller Handler respond
-On: 2011-08-02 23:06:40.107817 Event: Caller handler : Ready
-On: 2011-08-02 23:06:40.107854 Event: init Receiver
-On: 2011-08-02 23:06:40.107903 Event: GSMExt.Voda
-On: 2011-08-02 23:06:43.112977 Event: Connected to Receiver Handler
-On: 2011-08-02 23:06:43.113259 Event: Receiver Handler respond
-On: 2011-08-02 23:06:43.113410 Event: Receiver handler : Ready
-On: 2011-08-02 23:06:43.113444 Event: Start Call
-On: 2011-08-02 23:06:43.113521 Event: Waiting Feedback
-On: 2011-08-02 23:06:56.541272 Event: Test Succeed
-On: 2011-08-02 23:07:06.590628 Event:
-On: 2011-08-02 23:07:06.590672 Event: init Caller
-On: 2011-08-02 23:07:06.590689 Event: sip
-On: 2011-08-02 23:07:09.596031 Event: Connected to Caller Handler
-On: 2011-08-02 23:07:09.596213 Event: Caller Handler respond
-On: 2011-08-02 23:07:09.596846 Event: Caller handler : Ready
-On: 2011-08-02 23:07:09.596883 Event: init Receiver
-On: 2011-08-02 23:07:09.596909 Event: GSMExt.Eplus
-On: 2011-08-02 23:07:12.600759 Event: Connected to Receiver Handler
-On: 2011-08-02 23:07:12.601103 Event: Receiver Handler respond
-On: 2011-08-02 23:07:12.601264 Event: Receiver handler : Ready
-On: 2011-08-02 23:07:12.601301 Event: Start Call
-On: 2011-08-02 23:07:12.601381 Event: Waiting Feedback
-On: 2011-08-02 23:07:47.646311 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:24:56.578376 ------------------
-On: 2011-08-02 23:24:56.578430 Event: init Caller
-On: 2011-08-02 23:24:56.578451 Event: sip
-On: 2011-08-02 23:24:59.583912 Event: Connected to Caller Handler
-On: 2011-08-02 23:24:59.584115 Event: Caller Handler respond
-On: 2011-08-02 23:24:59.584698 Event: Caller handler : Ready
-On: 2011-08-02 23:24:59.584736 Event: init Receiver
-On: 2011-08-02 23:24:59.584761 Event: GSMExt.O2
-On: 2011-08-02 23:25:02.590268 Event: Connected to Receiver Handler
-On: 2011-08-02 23:25:02.590639 Event: Receiver Handler respond
-On: 2011-08-02 23:25:02.590874 Event: Receiver handler : Ready
-On: 2011-08-02 23:25:02.590905 Event: Start Call
-On: 2011-08-02 23:25:02.590977 Event: Waiting Feedback
-On: 2011-08-02 23:25:35.933578 Event: Test Failed
-On: 2011-08-02 23:25:45.986553 Event:
-On: 2011-08-02 23:25:45.986597 Event: init Caller
-On: 2011-08-02 23:25:45.986615 Event: sip
-On: 2011-08-02 23:25:48.991966 Event: Connected to Caller Handler
-On: 2011-08-02 23:25:48.992145 Event: Caller Handler respond
-On: 2011-08-02 23:25:48.992742 Event: Caller handler : Ready
-On: 2011-08-02 23:25:48.992797 Event: init Receiver
-On: 2011-08-02 23:25:48.992826 Event: GSMExt.Voda
-On: 2011-08-02 23:25:51.997378 Event: Connected to Receiver Handler
-On: 2011-08-02 23:25:51.997725 Event: Receiver Handler respond
-On: 2011-08-02 23:25:51.997886 Event: Receiver handler : Ready
-On: 2011-08-02 23:25:51.997927 Event: Start Call
-On: 2011-08-02 23:25:51.998006 Event: Waiting Feedback
-On: 2011-08-02 23:26:25.316566 Event: Test Failed
-On: 2011-08-02 23:26:35.365650 Event:
-On: 2011-08-02 23:26:35.365693 Event: init Caller
-On: 2011-08-02 23:26:35.365711 Event: sip
-On: 2011-08-02 23:26:38.371130 Event: Connected to Caller Handler
-On: 2011-08-02 23:26:38.371311 Event: Caller Handler respond
-On: 2011-08-02 23:26:38.371914 Event: Caller handler : Ready
-On: 2011-08-02 23:26:38.371944 Event: init Receiver
-On: 2011-08-02 23:26:38.371973 Event: GSMExt.Eplus
-On: 2011-08-02 23:26:41.374835 Event: Connected to Receiver Handler
-On: 2011-08-02 23:26:41.375121 Event: Receiver Handler respond
-On: 2011-08-02 23:26:41.375273 Event: Receiver handler : Ready
-On: 2011-08-02 23:26:41.375307 Event: Start Call
-On: 2011-08-02 23:26:41.375384 Event: Waiting Feedback
-On: 2011-08-02 23:27:14.634292 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-02 23:33:21.463433 ------------------
-On: 2011-08-02 23:33:21.463487 Event: init Caller
-On: 2011-08-02 23:33:21.463506 Event: sip
-On: 2011-08-02 23:33:24.469004 Event: Connected to Caller Handler
-On: 2011-08-02 23:33:24.469170 Event: Caller Handler respond
-On: 2011-08-02 23:33:24.469721 Event: Caller handler : Ready
-On: 2011-08-02 23:33:24.469752 Event: init Receiver
-On: 2011-08-02 23:33:24.469778 Event: GSMExt.O2
-On: 2011-08-02 23:33:27.475186 Event: Connected to Receiver Handler
-On: 2011-08-02 23:33:27.475524 Event: Receiver Handler respond
-On: 2011-08-02 23:33:27.475751 Event: Receiver handler : Ready
-On: 2011-08-02 23:33:27.475782 Event: Start Call
-On: 2011-08-02 23:33:27.475854 Event: Waiting Feedback
-On: 2011-08-02 23:34:00.825311 Event: Test Failed
-On: 2011-08-02 23:34:10.892432 Event:
-On: 2011-08-02 23:34:10.892476 Event: init Caller
-On: 2011-08-02 23:34:10.892494 Event: sip
-On: 2011-08-02 23:34:13.897834 Event: Connected to Caller Handler
-On: 2011-08-02 23:34:13.898028 Event: Caller Handler respond
-On: 2011-08-02 23:34:13.898635 Event: Caller handler : Ready
-On: 2011-08-02 23:34:13.898673 Event: init Receiver
-On: 2011-08-02 23:34:13.898699 Event: GSMExt.Voda
-On: 2011-08-02 23:34:16.902272 Event: Connected to Receiver Handler
-On: 2011-08-02 23:34:16.902570 Event: Receiver Handler respond
-On: 2011-08-02 23:34:16.902782 Event: Receiver handler : Ready
-On: 2011-08-02 23:34:16.902813 Event: Start Call
-On: 2011-08-02 23:34:16.902880 Event: Waiting Feedback
-On: 2011-08-02 23:34:50.201438 Event: Test Failed
-On: 2011-08-02 23:35:00.249712 Event:
-On: 2011-08-02 23:35:00.249756 Event: init Caller
-On: 2011-08-02 23:35:00.249773 Event: sip
-On: 2011-08-02 23:35:03.253971 Event: Connected to Caller Handler
-On: 2011-08-02 23:35:03.254139 Event: Caller Handler respond
-On: 2011-08-02 23:35:03.254620 Event: Caller handler : Ready
-On: 2011-08-02 23:35:03.254653 Event: init Receiver
-On: 2011-08-02 23:35:03.254676 Event: GSMExt.Eplus
-On: 2011-08-02 23:35:06.257496 Event: Connected to Receiver Handler
-On: 2011-08-02 23:35:06.257795 Event: Receiver Handler respond
-On: 2011-08-02 23:35:06.258019 Event: Receiver handler : Ready
-On: 2011-08-02 23:35:06.258056 Event: Start Call
-On: 2011-08-02 23:35:06.258133 Event: Waiting Feedback
-On: 2011-08-02 23:35:39.634694 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-03 19:57:57.752804 ------------------
-On: 2011-08-03 19:57:57.752845 Event: init Caller
-On: 2011-08-03 19:57:57.752856 Event: sip
-On: 2011-08-03 19:58:00.758343 Event: Connected to Caller Handler
-On: 2011-08-03 19:58:00.758532 Event: Caller Handler respond
-On: 2011-08-03 19:58:00.759155 Event: Caller handler : Ready
-On: 2011-08-03 19:58:00.759194 Event: init Receiver
-On: 2011-08-03 19:58:00.759225 Event: GSMExt.O2
-On: 2011-08-03 19:58:03.762062 Event: Connected to Receiver Handler
-On: 2011-08-03 19:58:03.762347 Event: Receiver Handler respond
-On: 2011-08-03 19:58:03.762503 Event: Receiver handler : Ready
-On: 2011-08-03 19:58:03.762537 Event: Start Call
-On: 2011-08-03 19:58:03.762618 Event: Waiting Feedback
-On: 2011-08-03 19:58:25.089449 Event: Test Succeed
-On: 2011-08-03 19:58:35.138940 Event:
-On: 2011-08-03 19:58:35.138975 Event: init Caller
-On: 2011-08-03 19:58:35.138987 Event: sip
-On: 2011-08-03 19:58:38.142042 Event: Connected to Caller Handler
-On: 2011-08-03 19:58:38.142237 Event: Caller Handler respond
-On: 2011-08-03 19:58:38.142869 Event: Caller handler : Ready
-On: 2011-08-03 19:58:38.142906 Event: init Receiver
-On: 2011-08-03 19:58:38.142934 Event: GSMExt.Voda
-On: 2011-08-03 19:58:41.145844 Event: Connected to Receiver Handler
-On: 2011-08-03 19:58:41.146003 Event: Receiver Handler respond
-On: 2011-08-03 19:58:41.146122 Event: Receiver handler : Ready
-On: 2011-08-03 19:58:41.146136 Event: Start Call
-On: 2011-08-03 19:58:41.146172 Event: Waiting Feedback
-On: 2011-08-03 19:58:53.871897 Event: Test Succeed
-On: 2011-08-03 19:59:03.925890 Event:
-On: 2011-08-03 19:59:03.925943 Event: init Caller
-On: 2011-08-03 19:59:03.925964 Event: sip
-On: 2011-08-03 19:59:06.931382 Event: Connected to Caller Handler
-On: 2011-08-03 19:59:06.931576 Event: Caller Handler respond
-On: 2011-08-03 19:59:06.932158 Event: Caller handler : Ready
-On: 2011-08-03 19:59:06.932195 Event: init Receiver
-On: 2011-08-03 19:59:06.932224 Event: GSMExt.Eplus
-On: 2011-08-03 19:59:09.934097 Event: Connected to Receiver Handler
-On: 2011-08-03 19:59:09.934370 Event: Receiver Handler respond
-On: 2011-08-03 19:59:09.934545 Event: Receiver handler : Ready
-On: 2011-08-03 19:59:09.934581 Event: Start Call
-On: 2011-08-03 19:59:09.934662 Event: Waiting Feedback
-On: 2011-08-03 19:59:44.973485 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:07:39.775473 ------------------
-On: 2011-08-03 20:07:39.775530 Event: init Caller
-On: 2011-08-03 20:07:39.775549 Event: sip
-On: 2011-08-03 20:07:42.780576 Event: Connected to Caller Handler
-On: 2011-08-03 20:07:42.780840 Event: Caller Handler respond
-On: 2011-08-03 20:07:42.781685 Event: Caller handler : Ready
-On: 2011-08-03 20:07:42.781725 Event: init Receiver
-On: 2011-08-03 20:07:42.781760 Event: GSMExt.O2
-On: 2011-08-03 20:07:45.784752 Event: Connected to Receiver Handler
-On: 2011-08-03 20:07:45.785085 Event: Receiver Handler respond
-On: 2011-08-03 20:07:45.785267 Event: Receiver handler : Ready
-On: 2011-08-03 20:07:45.785304 Event: Start Call
-On: 2011-08-03 20:07:45.785411 Event: Waiting Feedback
-On: 2011-08-03 20:07:58.658374 Event: Test Succeed
-On: 2011-08-03 20:08:08.708393 Event:
-On: 2011-08-03 20:08:08.708440 Event: init Caller
-On: 2011-08-03 20:08:08.708459 Event: sip
-On: 2011-08-03 20:08:11.713691 Event: Connected to Caller Handler
-On: 2011-08-03 20:08:11.713852 Event: Caller Handler respond
-On: 2011-08-03 20:08:11.714312 Event: Caller handler : Ready
-On: 2011-08-03 20:08:11.714328 Event: init Receiver
-On: 2011-08-03 20:08:11.714339 Event: GSMExt.Voda
-On: 2011-08-03 20:08:14.717754 Event: Connected to Receiver Handler
-On: 2011-08-03 20:08:14.718012 Event: Receiver Handler respond
-On: 2011-08-03 20:08:14.718280 Event: Receiver handler : Ready
-On: 2011-08-03 20:08:14.718294 Event: Start Call
-On: 2011-08-03 20:08:14.718348 Event: Waiting Feedback
-On: 2011-08-03 20:08:26.914809 Event: Test Succeed
-On: 2011-08-03 20:08:36.969651 Event:
-On: 2011-08-03 20:08:36.969692 Event: init Caller
-On: 2011-08-03 20:08:36.969699 Event: sip
-On: 2011-08-03 20:08:39.974192 Event: Connected to Caller Handler
-On: 2011-08-03 20:08:39.974384 Event: Caller Handler respond
-On: 2011-08-03 20:08:39.974961 Event: Caller handler : Ready
-On: 2011-08-03 20:08:39.974998 Event: init Receiver
-On: 2011-08-03 20:08:39.975035 Event: GSMExt.Eplus
-On: 2011-08-03 20:08:42.978015 Event: Connected to Receiver Handler
-On: 2011-08-03 20:08:42.978204 Event: Receiver Handler respond
-On: 2011-08-03 20:08:42.978326 Event: Receiver handler : Ready
-On: 2011-08-03 20:08:42.978360 Event: Start Call
-On: 2011-08-03 20:08:42.978421 Event: Waiting Feedback
-On: 2011-08-03 20:09:18.021468 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-03 20:17:31.798132 ------------------
-On: 2011-08-03 20:17:31.798189 Event: init Caller
-On: 2011-08-03 20:17:31.798210 Event: sip
-On: 2011-08-03 20:17:33.802115 Event: Connected to Caller Handler
-On: 2011-08-03 20:17:33.802285 Event: Caller Handler respond
-On: 2011-08-03 20:17:33.802765 Event: Caller handler : Ready
-On: 2011-08-03 20:17:33.802797 Event: init Receiver
-On: 2011-08-03 20:17:33.802818 Event: GSMExt.O2
-On: 2011-08-03 20:17:35.806142 Event: Connected to Receiver Handler
-On: 2011-08-03 20:17:35.806425 Event: Receiver Handler respond
-On: 2011-08-03 20:17:35.806697 Event: Receiver handler : Ready
-On: 2011-08-03 20:17:35.806728 Event: Start Call
-On: 2011-08-03 20:17:35.806801 Event: Waiting Feedback
-On: 2011-08-03 20:17:48.266762 Event: Test Succeed
-On: 2011-08-03 20:17:58.313492 Event:
-On: 2011-08-03 20:17:58.313540 Event: init Caller
-On: 2011-08-03 20:17:58.313558 Event: sip
-On: 2011-08-03 20:18:00.318145 Event: Connected to Caller Handler
-On: 2011-08-03 20:18:00.318349 Event: Caller Handler respond
-On: 2011-08-03 20:18:00.318932 Event: Caller handler : Ready
-On: 2011-08-03 20:18:00.318947 Event: init Receiver
-On: 2011-08-03 20:18:00.318960 Event: GSMExt.Voda
-On: 2011-08-03 20:18:02.322010 Event: Connected to Receiver Handler
-On: 2011-08-03 20:18:02.322272 Event: Receiver Handler respond
-On: 2011-08-03 20:18:02.322415 Event: Receiver handler : Ready
-On: 2011-08-03 20:18:02.322446 Event: Start Call
-On: 2011-08-03 20:18:02.322523 Event: Waiting Feedback
-On: 2011-08-03 20:18:14.789090 Event: Test Succeed
-On: 2011-08-03 20:18:24.849375 Event:
-On: 2011-08-03 20:18:24.849423 Event: init Caller
-On: 2011-08-03 20:18:24.849441 Event: sip
-On: 2011-08-03 20:18:26.853868 Event: Connected to Caller Handler
-On: 2011-08-03 20:18:26.854084 Event: Caller Handler respond
-On: 2011-08-03 20:18:26.854855 Event: Caller handler : Ready
-On: 2011-08-03 20:18:26.854885 Event: init Receiver
-On: 2011-08-03 20:18:26.854915 Event: GSMExt.Eplus
-On: 2011-08-03 20:18:28.859396 Event: Connected to Receiver Handler
-On: 2011-08-03 20:18:28.859703 Event: Receiver Handler respond
-On: 2011-08-03 20:18:28.859891 Event: Receiver handler : Ready
-On: 2011-08-03 20:18:28.859921 Event: Start Call
-On: 2011-08-03 20:18:28.859991 Event: Waiting Feedback
-On: 2011-08-03 20:19:01.682105 Event: Test Failed
-On: 2011-08-03 20:19:11.733208 Event:
-On: 2011-08-03 20:19:11.733235 Event: init Caller
-On: 2011-08-03 20:19:11.733241 Event: GSMExt.Eplus
-On: 2011-08-03 20:19:13.736745 Event: Connected to Caller Handler
-On: 2011-08-03 20:19:13.737065 Event: Caller Handler respond
-On: 2011-08-03 20:19:13.737215 Event: Caller handler : Ready
-On: 2011-08-03 20:19:13.737252 Event: init Receiver
-On: 2011-08-03 20:19:13.737280 Event: sip
-On: 2011-08-03 20:19:15.741735 Event: Connected to Receiver Handler
-On: 2011-08-03 20:19:15.741905 Event: Receiver Handler respond
-On: 2011-08-03 20:19:15.742381 Event: Receiver handler : Ready
-On: 2011-08-03 20:19:15.742425 Event: Start Call
-On: 2011-08-03 20:19:15.742492 Event: Waiting Feedback
-On: 2011-08-03 20:19:45.637551 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-10 14:17:18.126200 ------------------
-On: 2011-08-10 14:17:18.126245 Event: init Caller
-On: 2011-08-10 14:17:18.126261 Event: sip
-On: 2011-08-10 14:17:20.130679 Event: Connected to Caller Handler
-On: 2011-08-10 14:17:20.130872 Event: Caller Handler respond
-On: 2011-08-10 14:17:20.131488 Event: Caller handler : Ready
-On: 2011-08-10 14:17:20.131524 Event: init Receiver
-On: 2011-08-10 14:17:20.131547 Event: GSMExt.O2
-On: 2011-08-10 14:17:22.135970 Event: Connected to Receiver Handler
-On: 2011-08-10 14:17:22.136209 Event: Receiver Handler respond
-On: 2011-08-10 14:17:22.136335 Event: Receiver handler : Ready
-On: 2011-08-10 14:17:22.136363 Event: Start Call
-On: 2011-08-10 14:17:22.136429 Event: Waiting Feedback
-On: 2011-08-10 14:17:53.185459 Event: Test Failed
-On: 2011-08-10 14:17:58.192429 Event:
-On: 2011-08-10 14:17:58.192464 Event: init Caller
-On: 2011-08-10 14:17:58.192479 Event: sip
-On: 2011-08-10 14:18:00.196880 Event: Connected to Caller Handler
-On: 2011-08-10 14:18:00.197036 Event: Caller Handler respond
-On: 2011-08-10 14:18:00.197577 Event: Caller handler : Ready
-On: 2011-08-10 14:18:00.197609 Event: init Receiver
-On: 2011-08-10 14:18:00.197635 Event: GSMExt.Voda
-On: 2011-08-10 14:18:02.202034 Event: Connected to Receiver Handler
-On: 2011-08-10 14:18:02.202409 Event: Receiver Handler respond
-On: 2011-08-10 14:18:02.202677 Event: Receiver handler : Ready
-On: 2011-08-10 14:18:02.202715 Event: Start Call
-On: 2011-08-10 14:18:02.202795 Event: Waiting Feedback
-On: 2011-08-10 14:18:15.250049 Event: Test Succeed
-On: 2011-08-10 14:18:20.256065 Event:
-On: 2011-08-10 14:18:20.256112 Event: init Caller
-On: 2011-08-10 14:18:20.256139 Event: sip
-On: 2011-08-10 14:18:22.260770 Event: Connected to Caller Handler
-On: 2011-08-10 14:18:22.260959 Event: Caller Handler respond
-On: 2011-08-10 14:18:22.261568 Event: Caller handler : Ready
-On: 2011-08-10 14:18:22.261604 Event: init Receiver
-On: 2011-08-10 14:18:22.261635 Event: GSMExt.Eplus
-On: 2011-08-10 14:18:24.266080 Event: Connected to Receiver Handler
-On: 2011-08-10 14:18:24.266354 Event: Receiver Handler respond
-On: 2011-08-10 14:18:24.266530 Event: Receiver handler : Ready
-On: 2011-08-10 14:18:24.266564 Event: Start Call
-On: 2011-08-10 14:18:24.266644 Event: Waiting Feedback
-On: 2011-08-10 14:18:58.243876 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-20 00:15:26.831853 ------------------
-On: 2011-08-20 00:15:26.831895 Event: init Caller
-On: 2011-08-20 00:15:26.831904 Event: sip
-On: 2011-08-20 00:15:28.836026 Event: Connected to Caller Handler
-On: 2011-08-20 00:15:28.836193 Event: Caller Handler respond
-On: 2011-08-20 00:15:28.836688 Event: Caller handler : Ready
-On: 2011-08-20 00:15:28.836721 Event: init Receiver
-On: 2011-08-20 00:15:28.836743 Event: GSMExt.O2
-On: 2011-08-20 00:15:30.841142 Event: Connected to Receiver Handler
-On: 2011-08-20 00:15:30.841394 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-08-29 14:52:37.441085 ------------------
-On: 2011-08-29 14:52:37.441160 Event: init Caller
-On: 2011-08-29 14:52:37.441179 Event: sip
-On: 2011-08-29 14:52:39.446150 Event: Connected to Caller Handler
-On: 2011-08-29 14:52:39.446516 Event: Caller Handler respond
-On: 2011-08-29 14:52:39.447259 Event: Caller handler : Ready
-On: 2011-08-29 14:52:39.447300 Event: init Receiver
-On: 2011-08-29 14:52:39.447324 Event: GSMExt.O2
-On: 2011-08-29 14:52:41.450714 Event: Connected to Receiver Handler
-On: 2011-08-29 14:52:41.450991 Event: Receiver Handler respond
-On: 2011-08-29 14:52:41.451169 Event: Receiver handler : Ready
-On: 2011-08-29 14:52:41.451198 Event: Start Call
-On: 2011-08-29 14:52:41.451245 Event: Waiting Feedback
-On: 2011-08-29 14:53:16.521924 Event: Test Failed
-On: 2011-08-29 14:53:16.525377 Event:
-On: 2011-08-29 14:53:16.525429 Event: init Caller
-On: 2011-08-29 14:53:16.525447 Event: sip
-On: 2011-08-29 14:53:18.533580 Event: Connected to Caller Handler
-On: 2011-08-29 14:53:18.533981 Event: Caller Handler respond
-On: 2011-08-29 14:53:18.534739 Event: Caller handler : Ready
-On: 2011-08-29 14:53:18.534779 Event: init Receiver
-On: 2011-08-29 14:53:18.534803 Event: GSMExt.Voda
-On: 2011-08-29 14:53:20.538672 Event: Connected to Receiver Handler
-On: 2011-08-29 14:53:20.538944 Event: Receiver Handler respond
-On: 2011-08-29 14:53:20.539121 Event: Receiver handler : Ready
-On: 2011-08-29 14:53:20.539145 Event: Start Call
-On: 2011-08-29 14:53:20.539193 Event: Waiting Feedback
-On: 2011-08-29 14:53:55.585999 Event: Test Failed
-On: 2011-08-29 14:53:55.589477 Event:
-On: 2011-08-29 14:53:55.589526 Event: init Caller
-On: 2011-08-29 14:53:55.589544 Event: sip
-On: 2011-08-29 14:53:57.594452 Event: Connected to Caller Handler
-On: 2011-08-29 14:53:57.594805 Event: Caller Handler respond
-On: 2011-08-29 14:53:57.595539 Event: Caller handler : Ready
-On: 2011-08-29 14:53:57.595578 Event: init Receiver
-On: 2011-08-29 14:53:57.595603 Event: GSMExt.Eplus
-On: 2011-08-29 14:53:59.598676 Event: Connected to Receiver Handler
-On: 2011-08-29 14:53:59.598954 Event: Receiver Handler respond
-On: 2011-08-29 14:53:59.599139 Event: Receiver handler : Ready
-On: 2011-08-29 14:53:59.599167 Event: Start Call
-On: 2011-08-29 14:53:59.599215 Event: Waiting Feedback
-On: 2011-08-29 14:54:34.665971 Event: Test Failed
-On: 2011-08-29 14:54:34.669826 Event:
-On: 2011-08-29 14:54:34.669878 Event: init Caller
-On: 2011-08-29 14:54:34.669895 Event: sip
-On: 2011-08-29 14:54:36.676858 Event: Connected to Caller Handler
-On: 2011-08-29 14:54:36.677211 Event: Caller Handler respond
-On: 2011-08-29 14:54:36.677989 Event: Caller handler : Ready
-On: 2011-08-29 14:54:36.678024 Event: init Receiver
-On: 2011-08-29 14:54:36.678048 Event: GSMExt.Tm
-On: 2011-08-29 14:54:38.682783 Event: Connected to Receiver Handler
-On: 2011-08-29 14:54:38.683062 Event: Receiver Handler respond
-On: 2011-08-29 14:54:38.683245 Event: Receiver handler : Ready
-On: 2011-08-29 14:54:38.683274 Event: Start Call
-On: 2011-08-29 14:54:38.685834 Event: Waiting Feedback
-On: 2011-08-29 14:55:13.753988 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:00:10.031282 ------------------
-On: 2011-08-29 15:00:10.031350 Event: init Caller
-On: 2011-08-29 15:00:10.031370 Event: sip
-On: 2011-08-29 15:00:12.034718 Event: Connected to Caller Handler
-On: 2011-08-29 15:00:12.035092 Event: Caller Handler respond
-On: 2011-08-29 15:00:12.035828 Event: Caller handler : Ready
-On: 2011-08-29 15:00:12.035869 Event: init Receiver
-On: 2011-08-29 15:00:12.035893 Event: GSMExt.O2
-On: 2011-08-29 15:00:14.040984 Event: Connected to Receiver Handler
-On: 2011-08-29 15:00:14.041263 Event: Receiver Handler respond
-On: 2011-08-29 15:00:14.041447 Event: Receiver handler : Ready
-On: 2011-08-29 15:00:14.041475 Event: Start Call
-On: 2011-08-29 15:00:14.041523 Event: Waiting Feedback
-On: 2011-08-29 15:00:25.696829 Event: Test Succeed
-On: 2011-08-29 15:00:25.699060 Event:
-On: 2011-08-29 15:00:25.699111 Event: init Caller
-On: 2011-08-29 15:00:25.699128 Event: sip
-On: 2011-08-29 15:00:27.707073 Event: Connected to Caller Handler
-On: 2011-08-29 15:00:27.707349 Event: Caller Handler respond
-On: 2011-08-29 15:00:27.708055 Event: Caller handler : Ready
-On: 2011-08-29 15:00:27.708094 Event: init Receiver
-On: 2011-08-29 15:00:27.708118 Event: GSMExt.Voda
-On: 2011-08-29 15:00:29.713248 Event: Connected to Receiver Handler
-On: 2011-08-29 15:00:29.713531 Event: Receiver Handler respond
-On: 2011-08-29 15:00:29.713720 Event: Receiver handler : Ready
-On: 2011-08-29 15:00:29.713749 Event: Start Call
-On: 2011-08-29 15:00:29.717946 Event: Waiting Feedback
-On: 2011-08-29 15:00:42.757997 Event: Test Succeed
-On: 2011-08-29 15:00:42.764191 Event:
-On: 2011-08-29 15:00:42.764240 Event: init Caller
-On: 2011-08-29 15:00:42.764257 Event: sip
-On: 2011-08-29 15:00:44.770539 Event: Connected to Caller Handler
-On: 2011-08-29 15:00:44.770849 Event: Caller Handler respond
-On: 2011-08-29 15:00:44.771583 Event: Caller handler : Ready
-On: 2011-08-29 15:00:44.771622 Event: init Receiver
-On: 2011-08-29 15:00:44.771648 Event: GSMExt.Eplus
-On: 2011-08-29 15:00:46.776713 Event: Connected to Receiver Handler
-On: 2011-08-29 15:00:46.776996 Event: Receiver Handler respond
-On: 2011-08-29 15:00:46.777184 Event: Receiver handler : Ready
-On: 2011-08-29 15:00:46.777213 Event: Start Call
-On: 2011-08-29 15:00:46.777260 Event: Waiting Feedback
-On: 2011-08-29 15:01:00.759597 Event: Test Succeed
-On: 2011-08-29 15:01:00.766893 Event:
-On: 2011-08-29 15:01:00.766944 Event: init Caller
-On: 2011-08-29 15:01:00.766961 Event: sip
-On: 2011-08-29 15:01:02.773103 Event: Connected to Caller Handler
-On: 2011-08-29 15:01:02.773467 Event: Caller Handler respond
-On: 2011-08-29 15:01:02.774252 Event: Caller handler : Ready
-On: 2011-08-29 15:01:02.774291 Event: init Receiver
-On: 2011-08-29 15:01:02.774315 Event: GSMExt.Tm
-On: 2011-08-29 15:01:04.778269 Event: Connected to Receiver Handler
-On: 2011-08-29 15:01:04.778548 Event: Receiver Handler respond
-On: 2011-08-29 15:01:04.778761 Event: Receiver handler : Ready
-On: 2011-08-29 15:01:04.778791 Event: Start Call
-On: 2011-08-29 15:01:04.778838 Event: Waiting Feedback
-On: 2011-08-29 15:01:19.661959 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:04:42.308067 ------------------
-On: 2011-08-29 15:04:42.308132 Event: init Caller
-On: 2011-08-29 15:04:42.308151 Event: sip
-On: 2011-08-29 15:04:44.313249 Event: Connected to Caller Handler
-On: 2011-08-29 15:04:44.313625 Event: Caller Handler respond
-On: 2011-08-29 15:04:44.314395 Event: Caller handler : Ready
-On: 2011-08-29 15:04:44.314435 Event: init Receiver
-On: 2011-08-29 15:04:44.314459 Event: landline
-On: 2011-08-29 15:04:46.318504 Event: Connected to Receiver Handler
-On: 2011-08-29 15:04:46.318856 Event: Receiver Handler respond
-On: 2011-08-29 15:04:46.321388 Event: Receiver handler : Ready
-On: 2011-08-29 15:04:46.321427 Event: Start Call
-On: 2011-08-29 15:04:46.321483 Event: Waiting Feedback
-On: 2011-08-29 15:04:53.036523 Event: Test Succeed
-On: 2011-08-29 15:04:53.045030 Event:
-On: 2011-08-29 15:04:53.045088 Event: init Caller
-On: 2011-08-29 15:04:53.045106 Event: sip
-On: 2011-08-29 15:04:55.050078 Event: Connected to Caller Handler
-On: 2011-08-29 15:04:55.050353 Event: Caller Handler respond
-On: 2011-08-29 15:04:55.051422 Event: Caller handler : Ready
-On: 2011-08-29 15:04:55.051462 Event: init Receiver
-On: 2011-08-29 15:04:55.051487 Event: unisip
-On: 2011-08-29 15:04:57.054560 Event: Connected to Receiver Handler
-On: 2011-08-29 15:04:57.054827 Event: Receiver Handler respond
-On: 2011-08-29 15:04:57.055557 Event: Receiver handler : Ready
-On: 2011-08-29 15:04:57.055596 Event: Start Call
-On: 2011-08-29 15:04:57.055654 Event: Waiting Feedback
-On: 2011-08-29 15:05:00.138919 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:20.100546 ------------------
-On: 2011-08-29 15:05:20.100612 Event: init Caller
-On: 2011-08-29 15:05:20.100631 Event: sip
-On: 2011-08-29 15:05:22.105893 Event: Connected to Caller Handler
-On: 2011-08-29 15:05:22.106195 Event: Caller Handler respond
-On: 2011-08-29 15:05:22.106926 Event: Caller handler : Ready
-On: 2011-08-29 15:05:22.106969 Event: init Receiver
-On: 2011-08-29 15:05:22.106994 Event: landline
-On: 2011-08-29 15:05:24.110517 Event: Connected to Receiver Handler
-On: 2011-08-29 15:05:24.110871 Event: Receiver Handler respond
-On: 2011-08-29 15:05:24.112659 Event: Receiver handler : Ready
-On: 2011-08-29 15:05:24.112698 Event: Start Call
-On: 2011-08-29 15:05:24.112756 Event: Waiting Feedback
-On: 2011-08-29 15:05:31.179311 Event: Test Succeed
-On: 2011-08-29 15:05:31.187743 Event:
-On: 2011-08-29 15:05:31.187797 Event: init Caller
-On: 2011-08-29 15:05:31.187815 Event: sip
-On: 2011-08-29 15:05:33.192894 Event: Connected to Caller Handler
-On: 2011-08-29 15:05:33.193170 Event: Caller Handler respond
-On: 2011-08-29 15:05:33.193933 Event: Caller handler : Ready
-On: 2011-08-29 15:05:33.193973 Event: init Receiver
-On: 2011-08-29 15:05:33.193999 Event: unisip
-On: 2011-08-29 15:05:35.197437 Event: Connected to Receiver Handler
-On: 2011-08-29 15:05:35.197943 Event: Receiver Handler respond
-On: 2011-08-29 15:05:35.198707 Event: Receiver handler : Ready
-On: 2011-08-29 15:05:35.198747 Event: Start Call
-On: 2011-08-29 15:05:35.198806 Event: Waiting Feedback
-On: 2011-08-29 15:05:38.268351 Event: Test Succeed
-On: 2011-08-29 15:05:38.272132 Event:
-On: 2011-08-29 15:05:38.272183 Event: init Caller
-On: 2011-08-29 15:05:38.272201 Event: sip
-On: 2011-08-29 15:05:40.284750 Event: Connected to Caller Handler
-On: 2011-08-29 15:05:40.285107 Event: Caller Handler respond
-On: 2011-08-29 15:05:40.285883 Event: Caller handler : Ready
-On: 2011-08-29 15:05:40.285923 Event: init Receiver
-On: 2011-08-29 15:05:40.285948 Event: GSMExt.O2
-On: 2011-08-29 15:05:42.290695 Event: Connected to Receiver Handler
-On: 2011-08-29 15:05:42.290971 Event: Receiver Handler respond
-On: 2011-08-29 15:05:42.291143 Event: Receiver handler : Ready
-On: 2011-08-29 15:05:42.291168 Event: Start Call
-On: 2011-08-29 15:05:42.291216 Event: Waiting Feedback
-On: 2011-08-29 15:05:55.002143 Event: Test Succeed
-On: 2011-08-29 15:05:55.004332 Event:
-On: 2011-08-29 15:05:55.004383 Event: init Caller
-On: 2011-08-29 15:05:55.004401 Event: sip
-On: 2011-08-29 15:05:57.013559 Event: Connected to Caller Handler
-On: 2011-08-29 15:05:57.013961 Event: Caller Handler respond
-On: 2011-08-29 15:05:57.014701 Event: Caller handler : Ready
-On: 2011-08-29 15:05:57.014741 Event: init Receiver
-On: 2011-08-29 15:05:57.014767 Event: GSMExt.Voda
-On: 2011-08-29 15:05:59.018695 Event: Connected to Receiver Handler
-On: 2011-08-29 15:05:59.018964 Event: Receiver Handler respond
-On: 2011-08-29 15:05:59.019135 Event: Receiver handler : Ready
-On: 2011-08-29 15:05:59.019161 Event: Start Call
-On: 2011-08-29 15:05:59.019208 Event: Waiting Feedback
-On: 2011-08-29 15:06:13.588397 Event: Test Succeed
-On: 2011-08-29 15:06:13.594315 Event:
-On: 2011-08-29 15:06:13.594368 Event: init Caller
-On: 2011-08-29 15:06:13.594386 Event: sip
-On: 2011-08-29 15:06:15.598899 Event: Connected to Caller Handler
-On: 2011-08-29 15:06:15.599170 Event: Caller Handler respond
-On: 2011-08-29 15:06:15.599905 Event: Caller handler : Ready
-On: 2011-08-29 15:06:15.599946 Event: init Receiver
-On: 2011-08-29 15:06:15.599973 Event: GSMExt.Eplus
-On: 2011-08-29 15:06:17.603631 Event: Connected to Receiver Handler
-On: 2011-08-29 15:06:17.603911 Event: Receiver Handler respond
-On: 2011-08-29 15:06:17.604187 Event: Receiver handler : Ready
-On: 2011-08-29 15:06:17.604221 Event: Start Call
-On: 2011-08-29 15:06:17.604278 Event: Waiting Feedback
-On: 2011-08-29 15:06:31.981086 Event: Test Succeed
-On: 2011-08-29 15:06:31.983359 Event:
-On: 2011-08-29 15:06:31.983410 Event: init Caller
-On: 2011-08-29 15:06:31.983427 Event: sip
-On: 2011-08-29 15:06:33.992993 Event: Connected to Caller Handler
-On: 2011-08-29 15:06:33.993348 Event: Caller Handler respond
-On: 2011-08-29 15:06:33.994423 Event: Caller handler : Ready
-On: 2011-08-29 15:06:33.994461 Event: init Receiver
-On: 2011-08-29 15:06:33.994486 Event: GSMExt.Tm
-On: 2011-08-29 15:06:35.998695 Event: Connected to Receiver Handler
-On: 2011-08-29 15:06:35.998972 Event: Receiver Handler respond
-On: 2011-08-29 15:06:35.999157 Event: Receiver handler : Ready
-On: 2011-08-29 15:06:35.999187 Event: Start Call
-On: 2011-08-29 15:06:35.999234 Event: Waiting Feedback
-On: 2011-08-29 15:06:49.292006 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:31:14.140776 ------------------
-On: 2011-08-29 15:31:14.140844 Event: init Caller
-On: 2011-08-29 15:31:14.140864 Event: sip
-On: 2011-08-29 15:31:16.146030 Event: Connected to Caller Handler
-On: 2011-08-29 15:31:16.146321 Event: Caller Handler respond
-On: 2011-08-29 15:31:16.147405 Event: Caller handler : Ready
-On: 2011-08-29 15:31:16.147444 Event: init Receiver
-On: 2011-08-29 15:31:16.147468 Event: GSMExt.Eplus
-On: 2011-08-29 15:31:18.152929 Event: Connected to Receiver Handler
-On: 2011-08-29 15:31:18.153202 Event: Receiver Handler respond
-On: 2011-08-29 15:31:18.153394 Event: Receiver handler : Ready
-On: 2011-08-29 15:31:18.153423 Event: Start Call
-On: 2011-08-29 15:31:18.153474 Event: Waiting Feedback
-On: 2011-08-29 15:31:31.140262 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:32:20.386687 ------------------
-On: 2011-08-29 15:32:20.386756 Event: init Caller
-On: 2011-08-29 15:32:20.386774 Event: sip
-On: 2011-08-29 15:32:22.391739 Event: Connected to Caller Handler
-On: 2011-08-29 15:32:22.392030 Event: Caller Handler respond
-On: 2011-08-29 15:32:22.392756 Event: Caller handler : Ready
-On: 2011-08-29 15:32:22.392797 Event: init Receiver
-On: 2011-08-29 15:32:22.392821 Event: GSMExt.Eplus
-On: 2011-08-29 15:32:24.397947 Event: Connected to Receiver Handler
-On: 2011-08-29 15:32:24.398226 Event: Receiver Handler respond
-On: 2011-08-29 15:32:24.398414 Event: Receiver handler : Ready
-On: 2011-08-29 15:32:24.398443 Event: Start Call
-On: 2011-08-29 15:32:24.398492 Event: Waiting Feedback
-On: 2011-08-29 15:32:36.700686 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:33:13.486286 ------------------
-On: 2011-08-29 15:33:13.486361 Event: init Caller
-On: 2011-08-29 15:33:13.486380 Event: sip
-On: 2011-08-29 15:33:15.490238 Event: Connected to Caller Handler
-On: 2011-08-29 15:33:15.490614 Event: Caller Handler respond
-On: 2011-08-29 15:33:15.491348 Event: Caller handler : Ready
-On: 2011-08-29 15:33:15.491389 Event: init Receiver
-On: 2011-08-29 15:33:15.491413 Event: GSMExt.Tm
-On: 2011-08-29 15:33:17.494734 Event: Connected to Receiver Handler
-On: 2011-08-29 15:33:17.495014 Event: Receiver Handler respond
-On: 2011-08-29 15:33:17.495202 Event: Receiver handler : Ready
-On: 2011-08-29 15:33:17.495233 Event: Start Call
-On: 2011-08-29 15:33:17.495282 Event: Waiting Feedback
-On: 2011-08-29 15:33:32.376446 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:34:51.853069 ------------------
-On: 2011-08-29 15:34:51.853144 Event: init Caller
-On: 2011-08-29 15:34:51.853163 Event: sip
-On: 2011-08-29 15:34:53.858979 Event: Connected to Caller Handler
-On: 2011-08-29 15:34:53.859263 Event: Caller Handler respond
-On: 2011-08-29 15:34:53.860008 Event: Caller handler : Ready
-On: 2011-08-29 15:34:53.860048 Event: init Receiver
-On: 2011-08-29 15:34:53.860072 Event: GSMExt.Tm
-On: 2011-08-29 15:34:55.865231 Event: Connected to Receiver Handler
-On: 2011-08-29 15:34:55.865513 Event: Receiver Handler respond
-On: 2011-08-29 15:34:55.865701 Event: Receiver handler : Ready
-On: 2011-08-29 15:34:55.865731 Event: Start Call
-On: 2011-08-29 15:34:55.869824 Event: Waiting Feedback
-On: 2011-08-29 15:35:16.371183 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:35:47.919481 ------------------
-On: 2011-08-29 15:35:47.919558 Event: init Caller
-On: 2011-08-29 15:35:47.919576 Event: sip
-On: 2011-08-29 15:35:49.923890 Event: Connected to Caller Handler
-On: 2011-08-29 15:35:49.924176 Event: Caller Handler respond
-On: 2011-08-29 15:35:49.924887 Event: Caller handler : Ready
-On: 2011-08-29 15:35:49.924929 Event: init Receiver
-On: 2011-08-29 15:35:49.924953 Event: GSMExt.Tm
-On: 2011-08-29 15:35:51.930096 Event: Connected to Receiver Handler
-On: 2011-08-29 15:35:51.930374 Event: Receiver Handler respond
-On: 2011-08-29 15:35:51.930558 Event: Receiver handler : Ready
-On: 2011-08-29 15:35:51.930588 Event: Start Call
-On: 2011-08-29 15:35:51.930636 Event: Waiting Feedback
-On: 2011-08-29 15:36:04.882315 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:37:27.551822 ------------------
-On: 2011-08-29 15:37:27.551900 Event: init Caller
-On: 2011-08-29 15:37:27.551918 Event: sip
-On: 2011-08-29 15:37:29.557528 Event: Connected to Caller Handler
-On: 2011-08-29 15:37:29.557866 Event: Caller Handler respond
-On: 2011-08-29 15:37:29.558618 Event: Caller handler : Ready
-On: 2011-08-29 15:37:29.558657 Event: init Receiver
-On: 2011-08-29 15:37:29.558683 Event: GSMExt.Tm
-On: 2011-08-29 15:37:31.562754 Event: Connected to Receiver Handler
-On: 2011-08-29 15:37:31.563035 Event: Receiver Handler respond
-On: 2011-08-29 15:37:31.563220 Event: Receiver handler : Ready
-On: 2011-08-29 15:37:31.563248 Event: Start Call
-On: 2011-08-29 15:37:31.563299 Event: Waiting Feedback
-On: 2011-08-29 15:37:46.563471 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:42:11.020395 ------------------
-On: 2011-08-29 15:42:11.020474 Event: init Caller
-On: 2011-08-29 15:42:11.020494 Event: sip
-On: 2011-08-29 15:42:13.025965 Event: Connected to Caller Handler
-On: 2011-08-29 15:42:13.026322 Event: Caller Handler respond
-On: 2011-08-29 15:42:13.027060 Event: Caller handler : Ready
-On: 2011-08-29 15:42:13.027100 Event: init Receiver
-On: 2011-08-29 15:42:13.027126 Event: GSMExt.Tm
-On: 2011-08-29 15:42:15.030744 Event: Connected to Receiver Handler
-On: 2011-08-29 15:42:15.031024 Event: Receiver Handler respond
-On: 2011-08-29 15:42:15.031214 Event: Receiver handler : Ready
-On: 2011-08-29 15:42:15.031243 Event: Start Call
-On: 2011-08-29 15:42:15.031294 Event: Waiting Feedback
-On: 2011-08-29 15:42:29.014516 Event: Test Succeed
-On: 2011-08-29 15:42:34.027019 Event:
-On: 2011-08-29 15:42:34.027074 Event: init Caller
-On: 2011-08-29 15:42:34.027092 Event: sip
-On: 2011-08-29 15:42:36.030603 Event: Connected to Caller Handler
-On: 2011-08-29 15:42:36.030966 Event: Caller Handler respond
-On: 2011-08-29 15:42:36.031703 Event: Caller handler : Ready
-On: 2011-08-29 15:42:36.031740 Event: init Receiver
-On: 2011-08-29 15:42:36.031765 Event: GSMExt.Voda
-On: 2011-08-29 15:42:38.037253 Event: Connected to Receiver Handler
-On: 2011-08-29 15:42:38.037565 Event: Receiver Handler respond
-On: 2011-08-29 15:42:38.037750 Event: Receiver handler : Ready
-On: 2011-08-29 15:42:38.037775 Event: Start Call
-On: 2011-08-29 15:42:38.037858 Event: Waiting Feedback
-On: 2011-08-29 15:42:51.741212 Event: Test Succeed
-On: 2011-08-29 15:42:56.757165 Event:
-On: 2011-08-29 15:42:56.757222 Event: init Caller
-On: 2011-08-29 15:42:56.757241 Event: sip
-On: 2011-08-29 15:42:58.762254 Event: Connected to Caller Handler
-On: 2011-08-29 15:42:58.762531 Event: Caller Handler respond
-On: 2011-08-29 15:42:58.763261 Event: Caller handler : Ready
-On: 2011-08-29 15:42:58.763301 Event: init Receiver
-On: 2011-08-29 15:42:58.763327 Event: GSMExt.O2
-On: 2011-08-29 15:43:00.766712 Event: Connected to Receiver Handler
-On: 2011-08-29 15:43:00.766996 Event: Receiver Handler respond
-On: 2011-08-29 15:43:00.767185 Event: Receiver handler : Ready
-On: 2011-08-29 15:43:00.767214 Event: Start Call
-On: 2011-08-29 15:43:00.767267 Event: Waiting Feedback
-On: 2011-08-29 15:43:13.362902 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:44:33.978404 ------------------
-On: 2011-08-29 15:44:33.978476 Event: init Caller
-On: 2011-08-29 15:44:33.978496 Event: sip
-On: 2011-08-29 15:44:35.982720 Event: Connected to Caller Handler
-On: 2011-08-29 15:44:35.983091 Event: Caller Handler respond
-On: 2011-08-29 15:44:35.983824 Event: Caller handler : Ready
-On: 2011-08-29 15:44:35.983866 Event: init Receiver
-On: 2011-08-29 15:44:35.983891 Event: GSMExt.Tm
-On: 2011-08-29 15:44:37.989102 Event: Connected to Receiver Handler
-On: 2011-08-29 15:44:37.989377 Event: Receiver Handler respond
-On: 2011-08-29 15:44:37.989563 Event: Receiver handler : Ready
-On: 2011-08-29 15:44:37.989594 Event: Start Call
-On: 2011-08-29 15:44:37.989645 Event: Waiting Feedback
-On: 2011-08-29 15:44:51.521459 Event: Test Succeed
-On: 2011-08-29 15:44:56.531812 Event:
-On: 2011-08-29 15:44:56.531869 Event: init Caller
-On: 2011-08-29 15:44:56.531887 Event: sip
-On: 2011-08-29 15:44:58.536790 Event: Connected to Caller Handler
-On: 2011-08-29 15:44:58.537062 Event: Caller Handler respond
-On: 2011-08-29 15:44:58.537819 Event: Caller handler : Ready
-On: 2011-08-29 15:44:58.537860 Event: init Receiver
-On: 2011-08-29 15:44:58.537885 Event: GSMExt.Voda
-On: 2011-08-29 15:45:00.542750 Event: Connected to Receiver Handler
-On: 2011-08-29 15:45:00.543032 Event: Receiver Handler respond
-On: 2011-08-29 15:45:00.543221 Event: Receiver handler : Ready
-On: 2011-08-29 15:45:00.543250 Event: Start Call
-On: 2011-08-29 15:45:00.545840 Event: Waiting Feedback
-On: 2011-08-29 15:45:14.217850 Event: Test Succeed
-On: 2011-08-29 15:45:19.231740 Event:
-On: 2011-08-29 15:45:19.231799 Event: init Caller
-On: 2011-08-29 15:45:19.231817 Event: sip
-On: 2011-08-29 15:45:21.236616 Event: Connected to Caller Handler
-On: 2011-08-29 15:45:21.236970 Event: Caller Handler respond
-On: 2011-08-29 15:45:21.237701 Event: Caller handler : Ready
-On: 2011-08-29 15:45:21.237741 Event: init Receiver
-On: 2011-08-29 15:45:21.237765 Event: GSMExt.O2
-On: 2011-08-29 15:45:23.242699 Event: Connected to Receiver Handler
-On: 2011-08-29 15:45:23.242977 Event: Receiver Handler respond
-On: 2011-08-29 15:45:23.243168 Event: Receiver handler : Ready
-On: 2011-08-29 15:45:23.243198 Event: Start Call
-On: 2011-08-29 15:45:23.243249 Event: Waiting Feedback
-On: 2011-08-29 15:45:35.841427 Event: Test Succeed
-On: 2011-08-29 15:45:40.853674 Event:
-On: 2011-08-29 15:45:40.853730 Event: init Caller
-On: 2011-08-29 15:45:40.853748 Event: sip
-On: 2011-08-29 15:45:42.858554 Event: Connected to Caller Handler
-On: 2011-08-29 15:45:42.858913 Event: Caller Handler respond
-On: 2011-08-29 15:45:42.859650 Event: Caller handler : Ready
-On: 2011-08-29 15:45:42.859690 Event: init Receiver
-On: 2011-08-29 15:45:42.859716 Event: GSMExt.Eplus
-On: 2011-08-29 15:45:44.864816 Event: Connected to Receiver Handler
-On: 2011-08-29 15:45:44.865111 Event: Receiver Handler respond
-On: 2011-08-29 15:45:44.865327 Event: Receiver handler : Ready
-On: 2011-08-29 15:45:44.865359 Event: Start Call
-On: 2011-08-29 15:45:44.865412 Event: Waiting Feedback
-On: 2011-08-29 15:45:58.127642 Event: Test Succeed
diff --git a/For Weekly Test/19-08-2011/University SIP handler.log b/For Weekly Test/19-08-2011/University SIP handler.log
deleted file mode 100644
index df408ac..0000000
--- a/For Weekly Test/19-08-2011/University SIP handler.log
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:04:55.756355 ------------------
-On: 2011-08-29 15:04:55.776952 Event: try to Connect to Controller
-On: 2011-08-29 15:04:57.054736 Event: init state
-On: 2011-08-29 15:04:57.054961 Event: Register Account to SIP server
-On: 2011-08-29 15:04:57.055378 Event: 100
-On: 2011-08-29 15:04:57.055462 Event: Receiver Handler Ready
-On: 2011-08-29 15:04:57.055761 Event: RECEIVE START
-On: 2011-08-29 15:05:00.086191 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-08-29 15:05:00.086651 Event: Call Connecting
-On: 2011-08-29 15:05:00.086687 Event: 200
-On: 2011-08-29 15:05:00.086836 Event: Answer call
-On: 2011-08-29 15:05:00.086867 Event: Hangup call
-On: 2011-08-29 15:05:00.087024 Event: CALL OK
-On: 2011-08-29 15:05:00.142958 Event: Terminate
-On: 2011-08-29 15:05:00.143015 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-08-29 15:05:33.893338 ------------------
-On: 2011-08-29 15:05:33.914091 Event: try to Connect to Controller
-On: 2011-08-29 15:05:35.197825 Event: init state
-On: 2011-08-29 15:05:35.198095 Event: Register Account to SIP server
-On: 2011-08-29 15:05:35.198514 Event: 100
-On: 2011-08-29 15:05:35.198597 Event: Receiver Handler Ready
-On: 2011-08-29 15:05:35.198968 Event: RECEIVE START
-On: 2011-08-29 15:05:38.212991 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-08-29 15:05:38.213458 Event: Call Connecting
-On: 2011-08-29 15:05:38.213496 Event: 200
-On: 2011-08-29 15:05:38.213639 Event: Answer call
-On: 2011-08-29 15:05:38.213671 Event: Hangup call
-On: 2011-08-29 15:05:38.213866 Event: CALL OK
-On: 2011-08-29 15:05:38.274410 Event: Terminate
-On: 2011-08-29 15:05:38.274475 Event: Goodbye
diff --git a/For Weekly Test/19-08-2011/gsmselftest.py b/For Weekly Test/19-08-2011/gsmselftest.py
deleted file mode 100644
index f8a385c..0000000
--- a/For Weekly Test/19-08-2011/gsmselftest.py
+++ /dev/null
@@ -1,293 +0,0 @@
-#! /usr/bin/env python
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-from time import sleep
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(1)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(1)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(1)
-
- elif handler == 'gsmr1':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(1)
-
- elif handler == 'gsmr2':
- server = PingClass.Ping('132.230.4.64')
- serverStatus = server.ping(1)
- else:
- serverStatus = 1
-
-def allPing():
-
- global sipGate
- global sipServer
- global sipLoc
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(3)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(3)
-
- server = PingClass.Ping('132.230.252.228')
- sipLoc = server.ping(3)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(3)
-
- server = PingClass.Ping('132.230.4.64')
- gsmBox2 = server.ping(3)
-
-
-def doTest(callFrom,callTo):
-
-
- global testRepeat
-
- testRepeat = None
- ping(callFrom)
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
- if serverStatus <> 0 and dbStatus == 1:
-
- ping(callTo)
- if serverStatus <> 0:
- destination = db.deviceAddress(str(callTo))
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- recAdd = destination[0]
- destNo = destination[1]
- accDest = destination[2]+':'+destination[3]+':'+destination[4]+':'
-
- print '\n'
- print 'Caller :', callFrom
- print 'Destination :', callTo
- makeTest = ControllerClass.test(callFrom, callAdd, accCaller, callTo, recAdd, destNo, accDest)
- makeTest.FuncTest()
-
- if makeTest.repeatTest == True:
- testRepeat = True
- db.errorCode(makeTest.testResult)
- print 'Result : ' +str(makeTest.testResult)+ ' ' +db.errCode
- sleep(5)
- else:
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- print '[failed] 500 '+callFrom+ ' Server Internal Error'
-
-def doSipTest():
-
- print '--SIP Part Test--'
- #destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
- destList = ['landline']
- for callTo in destList:
-
- callFrom = 'sip'
- if callFrom <> callTo:
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def doLandlineTest():
-
- print '--Landline Part Test--'
- destList = ['gsmr1', 'gsmr2', 'gsmr3', 'sip']
-
- for callTo in destList:
-
- callFrom = 'landline'
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def doGsmrzTest():
-
- print '--GSM Part Test--'
- destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
- callList = ['gsmr1','gsmr2', 'gsmr3']
-
- for callFrom in callList:
-
- for callTo in destList:
- if callTo <> callFrom:
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
- doGsmExtTest()
-
-def doGsmExtTest():
-
- destList = ['sip', 'gsmr1','gsmr2', 'gsmr3']
- callList = ['gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
-
- for callFrom in callList:
- for callTo in destList:
-
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def initResult(i, result):
- global resultsList
-
-
-
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmTest()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print '\n'
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsm':
- doGsmTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
- global resultList
- print '\n'
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- resultsList = list()
-
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- for item in db.tasksList:
- print item
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- tried = item[4]
-
- destination = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- recAdd = destination[0]
- destNo = destination[1]
- accDest = destination[2]+':'+destination[3]+':'+destination[4]+':'
-
- #if i == 0:
- # db.updatePingResult(taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
- print 'number :', destNo
- print 'status :', tried
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- makeTest = ControllerClass.test(callFrom, callAdd, accCaller, callTo, recAdd, destNo, accDest)
- makeTest.FuncTest()
-
- db.addResult(taskID, makeTest.testResult)
- resultList.append([callTo, callFrom, makeTest.testResult])
-
- if makeTest.repeatTest == True and tried <> '1':
- db.insertTaskIn2(callTo,callFrom,taskNo, '1')
-
- db.errorCode(makeTest.testResult)
- print 'Result : ' +str(makeTest.testResult)+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- db.tasksList.remove(item)
- db.tasksList.insert(i,'')
-
- i = i+1
-
- sleep(5)
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callFrom+' Server Internal Error'
- db.cleanTasksList()
- else:
- print "No job at all"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/19-08-2011/gsmselftest1.py b/For Weekly Test/19-08-2011/gsmselftest1.py
deleted file mode 100644
index 7166d84..0000000
--- a/For Weekly Test/19-08-2011/gsmselftest1.py
+++ /dev/null
@@ -1,902 +0,0 @@
-#! /usr/bin/env python
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(1)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(1)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ1':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ2':
- server = PingClass.Ping('132.230.4.64')
- serverStatus = server.ping(1)
- else:
- serverStatus = 1
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('132.230.4.64')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-def initTest(callFrom,callTo):
- global dest
- global caller
- global callAdd
- global accCaller
- global recAdd
- global destNo
- global accDest
- global result
- global repeatTest
-
- initDB()
-
- if dbStatus != 0:
-
- dest = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destAdd = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callAdd, accCaller, callTo, destAdd, destNo, accDest)
- makeTest.FuncTest()
-
- result = str(makeTest.testResult)
- repeatTest = makeTest.repeatTest
-
- else:
- print "No connection to Database"
-
- return result
-
-def initTrueTable(caller):
-
- for x in resultsList:
-
- destination = x[1]
- result = x[2]
-
- if caller == x[0]:
-
- if destination == 'GSMRZ1':
- if result =='486':
-
- for y in resultsList:
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'GSMRZ2':
- if result == '200':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMRZ3':
-
- if result == '200':
- print "BTS RZ 1 Broken"
- elif result == '486':
- print "BTS RZ 1 & 3 indicate having Problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == '486':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMRZ3':
-
- if result == '200':
- print "BTS RZ 1 & 2 indicate having Problem"
- elif result == '486':
- print "OpenBSc Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result =='200':
-
- for y in resultsList:
-
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'GSMRZ2':
- if result == '200':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMRZ3':
-
- if result != '200':
- print "BTS RZ 3 Broken"
- else:
- print "All GSM RZ are working"
- elif result == '486':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMRZ3':
-
- if result == '200':
- print "BTS RZ 2 Broken"
- elif result == '486':
- print "BTS RZ 2 & 3 indicate having Problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == 'GSMExt.O2':
- if result == '486':
- for y in resultsList:
-
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'GSMExt.Voda':
- if result == '200':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMExt.Eplus':
-
- if result == '486':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "O2 & E-Plus indicate having Problem"
- elif result == '486':
- print "T-Mobile, E-plus and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '200':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "O2 cards indicate having Problem"
- elif result == '486':
- print "T-Mobile and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
-
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- for z in resultsList:
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMExt.Eplus':
-
- if result == '200':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "O2 and Vodaphone cards indicate having problem"
- elif result == '486':
- print "T-Mobile, Vodaphone and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- elif result == '486':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "O2, E-Plus and Vodaphone cards indicate having problem"
- elif result == '486':
- print "GSM External Modem broken"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '200':
- for y in resultsList:
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'GSMExt.Voda':
- if result == '200':
-
- for z in resultsList:
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMExt.Eplus':
-
- if result == '200':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "GSM external modem is working"
- elif result == '486':
- print "T-Mobile card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "E-Plus card indicate broken"
- elif result == '486':
- print "T-Mobile and E-plus cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'GSMExt.Eplus':
-
- if result == '200':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "Vodaphone indicate broken"
- elif result == '486':
- print "T-Mobile and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- for A in resultsList:
- destination = A[1]
- result = A[2]
-
- if caller == A[0]:
- if destination == 'GSMExt.Tm':
- if result == '200':
- print "Vodaphone and E-plus cards indicate broken"
- elif result == '486':
- print "T-Mobile, E-plus and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == 'sip':
- if result =='486':
-
- for y in resultsList:
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'landline':
- if result == '200':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'unisip':
-
- if result == '200':
- print "Asterisk server down"
- elif result == '486':
- print "Asterisk server and University telephone network indicate having Problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == '486':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'unisip':
-
- if result == '200':
- print "Asterisk server & SIPGate indicate having Problem"
- elif result == '486':
- print "All SIP server working"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result =='200':
-
- for y in resultsList:
-
- destination = y[1]
- result = y[2]
-
- if caller == y[0]:
- if destination == 'landline':
- if result == '200':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'unisip':
-
- if result != '200':
- print "University telephone network down"
- else:
- print "All SIP are working"
- elif result == '486':
-
- for z in resultsList:
-
- destination = z[1]
- result = z[2]
-
- if caller == z[0]:
- if destination == 'unisip':
-
- if result == '200':
- print "SIPGate down"
- elif result == '486':
- print "SIPGate and University telephone network indicate having Problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- else:
- print "incomplete test, Handler having error, please do one more test"
-
-
-def doTest(callFrom,callTo):
- #global resultsList
- #testRepeat = None
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
- print 'Call from : ', callFrom
- print 'Call to : ', callTo
- initTest(callFrom,callTo)
- #resultsList.append([callFrom, callTo, result])#should be put on another function to prevent repeat test
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
- sleep(5)
- else:
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- print '[failed] 500 '+callFrom+ ' Server Internal Error'
-
-def doSipTest():
-
- print '--SIP Part Test--'
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- #destList = ['landline']
- for callTo in destList:
-
- callFrom = 'sip'
- doTest(callFrom, callTo)
- if repeatTest == True:
- doTest(callTo,callFrom)
-
-def doLandlineTest():
-
- print '--Landline Part Test--'
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3', 'sip']
-
- for callTo in destList:
-
- callFrom = 'landline'
- doTest(callFrom, callTo)
- if repeatTest == True:
- doTest(callTo,callFrom)
-
-def doGsmrzTest():
-
- print '--GSM Part Test--'
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest(callFrom, callTo)
- if repeatTest == True:
- doTest(callTo,callFrom)
-
- doGsmExtTest()
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus']
- callList = ['sip']
- #callList = ['sip', 'GSMRZ1']
-
- for callFrom in callList:
- for callTo in destList:
- doTest(callFrom, callTo)#external GSM dont need make repeat test, since we test outgoing call not ingoing call from external
- #if repeatTest == True:
- # doTest(callTo,callFrom)
- # resultsList.append([callFrom, callTo, result])
- #else:
- resultsList.append([callFrom, callTo, result])
- for caller in callList:
- initTrueTable(caller)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmTest()
-
-def smartTest():
- ping('sip')
- if serverStatus == 0:
- print "Dont have connection to SIP Asterisk server, can't make a test"
- sys.exit(1)
-
- callerList = ['sip']
- destinationList = ['SIP', 'GSMExt']
- #destinationList = ['GSMExt', 'GSMRZ', 'SIP']
- for callFrom in callerList:
- for destination in destinationList:
-
- if destination == 'GSMRZ':
- print "make a call to GSMRZ1"
- initTest(callFrom,'GSMRZ1')
-
- if result == '200':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "all netwrok on GSMRZ are working"
- elif result == '486':
- print "BTS 3 Down"
- else:
- print "have problem with handler"
-
- elif result == '486':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 2 Down"
- elif result == '486':
- print "BTS 2 and 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 1 Down"
- elif result == '486':
- print "BTS 1 & 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ3"
-
- if result == '200':
- print "BTS 1 & 2 indicate having problem"
- elif result == '486':
- print "OpenBSc Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
-
-
-
- elif destination == 'GSMExt':
-
- initTest(callFrom,'GSMExt.O2')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "All netwrok on GSM external are working"
- elif result == '486':
- print "T-Mobile card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile and E-Plus card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone card indicate having problem"
- elif result == '486':
- print "T-Mobile and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone and E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "Incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 card indicate having problem"
- elif result == '486':
- print "T-Mobile and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and E-Plus cards indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and Vodaphone cards indicate having problem"
- elif result == '486':
- print "T-Mobile, O2 and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2, E-Plus and Vodaphone cards indicate having problem"
- elif result == '486':
- print "GSM External Modem Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == 'SIP':
-
- ping('landline')
- if serverStatus <> 0:
- initTest(callFrom,'landline')
-
- if result == '200':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result =='200':
- print "All SIP network are working"
- elif result == '486':
- print "University telphone network indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- elif result == '486':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result == '200':
- print "Landline indicate having problem"
- elif result == '486':
- print "SIP Network Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to SIP Gate server, check your connection"
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsm':
- #doGsmTest()
- doGsmExtTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--smart':
- smartTest()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
- global resultList
- resultsList = list()
- initDB()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- tried = item[4]
-
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- initTest(callFrom,callTo)
-
- db.addResult(taskID, result)
-
- #if repeatTest == True and tried <> '1':
- # db.insertTaskIn2(callTo,callFrom,taskNo, '1')
- #if tried == '1':
- resultsList.append([callTo, callFrom, result])
- #elif tried != '1' and repeatTest != True:
- # resultsList.append([callFrom, callTo, result])
-
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
-
- #print 'list 2:', db.tasksList
- #db.tasksList.remove(item)
- #db.tasksList.insert(i,'')
- db.deleteTempTask(taskID)
- i = i+1
-
- sleep(5)
-
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callFrom+' Server Internal Error'
- db.cleanTasksList()
-
- # fetch result list and make adjustment about the result
- initTrueTable(caller)
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/19-08-2011/help.txt b/For Weekly Test/19-08-2011/help.txt
deleted file mode 100644
index 1839777..0000000
--- a/For Weekly Test/19-08-2011/help.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-Usage: python gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---all : To execute all test case
---sip : To execute ALL test case
---gsm : To execute GSM test case
---extGsm : To execute external GSM test case
---landline : To execute Landline test case
---smart : To test only important point in the network and identify which part having problem.
diff --git a/For Weekly Test/19-08-2011/inserttest.py b/For Weekly Test/19-08-2011/inserttest.py
deleted file mode 100644
index 3e75d46..0000000
--- a/For Weekly Test/19-08-2011/inserttest.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import MySQLdb as mdb
-import sys
-
-try:
- conn = mdb.connect('localhost', 'root', 'randompasswordSQL', 'gsmselftesting')
-
- cursor = conn.cursor()
-
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('1', '2', 'sip', 'GSMExt.O2', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('2', '2', 'sip', 'GSMExt.Voda', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('3', '2', 'sip', 'GSMExt.Tm', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('4', '2', 'sip', 'GSMExt.Eplus', '0')")
-
- conn.commit()
-
- cursor.close()
- conn.close()
-
-except mdb.Error, e:
-
- print "Error %d: %s" % (e.args[0],e.args[1])
- sys.exit(1)
diff --git a/For Weekly Test/Advance/.DS_Store b/For Weekly Test/Advance/.DS_Store
deleted file mode 100644
index 8cb6b9a..0000000
--- a/For Weekly Test/Advance/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/ClientClass.py b/For Weekly Test/Advance/ClientClass.py
deleted file mode 100755
index 46c3b00..0000000
--- a/For Weekly Test/Advance/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/Advance/ClientClass.pyc b/For Weekly Test/Advance/ClientClass.pyc
deleted file mode 100644
index 566715a..0000000
--- a/For Weekly Test/Advance/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/ControllerClass.py b/For Weekly Test/Advance/ControllerClass.py
deleted file mode 100755
index 6e1de89..0000000
--- a/For Weekly Test/Advance/ControllerClass.py
+++ /dev/null
@@ -1,231 +0,0 @@
-import sys
-import os
-import subprocess
-import SSHTunnelBoxClass
-import ClientClass
-import random
-
-import LogFileClass
-logger = LogFileClass.Logging('TestProcessLog.log')
-
-from time import sleep
-
-
-class doTheTest:
-
- def __init__(self, callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest):
-
- self.callFrom = callFrom
- self.dest = callTo
- self.destNo = destNo
- self.accDest = accDest
- self.accCaller = accCaller
- self.callPortName = callPortName
- self.destPortName = destPortName
- self.portCaller = None
- self.portDest = None
- self.resultCaller = None
- self.resultDest = None
- self.testResult = None
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- self.initCaller()
-
- if self.callFrom =="GSMRZ3" or self.callFrom =="GSMRZ2": # wait until ssh connection establish
- sleep(5)
- else:
- sleep(2)
- self.callerGreeting()
-
- if self.connected == 'OK':
-
- self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(10)
-
- if callerHandler == "CALLER READY":
- logger.logEvent('Caller handler : Ready')
-
- self.initReceiver()
- if self.dest =="GSMRZ3" or self.dest =="GSMRZ2": # wait until ssh connection establish
- sleep(5)
- else:
- sleep(2)
- self.receiverGreeting()
-
- if self.connected == 'OK':
-
- self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(10)
-
- if destHandler == 'RECEIVER READY':
- logger.logEvent('Receiver handler : Ready')
-
- self.startCall()
- self.waitingFeedback()
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.closeConnection()
-
- else:
- logger.logEvent('998 General Handler Error: Could not connect Destination handler')
- self.testResult = 998
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- self.initCancelTest()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: caller handler no respond timeout')
-
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- self.initCancelTest()
- else:
- self.testResult = 999
- logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
-
-
- def initCancelTest(self):
- #close SSH connection when using gsmBox and destination doesnt respond. to make sure SSH connection are terminate
- if self.callFrom[0:5] == 'GSMRZ':
- if self.callFrom != 'GSMRZ1':
- # close SSH tunneling
- self.boxCaller.killTunneling()
-
- # waiting results state
- def waitingFeedback(self):
- logger.logEvent('Waiting Feedback')
- self.resultDest = self.receiver.receiveData(15)
- self.resultCaller = self.caller.receiveData(15)
- #print 'result '+self.resultCaller+'--'+self.resultDest
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- logger.logEvent('Test Failed')
- self.testResult = 486
- self.initTerminate()
-
- else:
- logger.logEvent('Test Succeed')
- self.testResult = 200
- self.initTerminate()
-
- #send start call message to caller
- def startCall(self):
- logger.logEvent('Start Call')
- self.receiver.sendData('RECEIVE START')
- self.caller.sendData('CALL START')
-
- def initAccount(self, account):
-
- accConf = account
- self.username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- self.password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- self.server = newLine[0:newLine.find(':')]
-
- # define the caller configuration such as port name and port caller.
- def initCaller(self):
- logger.logEvent('init Caller')
- logger.logEvent(self.callFrom)
- self.portCaller = random.randint(30000,60000)
-
- if self.callFrom[0:4] == 'GSMR':
- if self.callFrom =="GSMRZ1":
- self.initGSM(self.portCaller, self.callPortName, self.callFrom)
- else:
- self.initAccount(self.accCaller)
- #open SSH tunneling
- self.boxCaller = SSHTunnelBoxClass.SSHTunneling(self.portCaller, 50008, self.server, self.username, self.password)
- self.boxCaller.startTunneling()
-
-
- elif self.callFrom[0:4] == 'GSME':
- self.initGSM(self.portCaller, self.callPortName, self.callFrom)
-
- else:
- subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)])
-
- # define the destination configuration such as port name and port caller.
- def initReceiver(self):
- logger.logEvent('init Receiver')
- logger.logEvent(self.dest)
- self.portDest = random.randint(30000,60000)
-
- if self.dest[0:4] == 'GSMR':
- if self.dest =="GSMRZ1":
- self.initGSM(self.portDest, self.destPortName, self.dest)
- else:
- self.initAccount(self.accDest)
- #open SSH tunneling
- self.boxDest = SSHTunnelBoxClass.SSHTunneling(self.portDest, 50008, self.server, self.username, self.password)
- self.boxDest.startTunneling()
-
- elif self.dest[0:4] == 'GSME':
- self.initGSM(self.portDest, self.destPortName, self.dest)
-
- else:
- self.portDest = 50100
- subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)])
-
- # send terminate message to Handlers
- def initTerminate(self):
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
- if self.callFrom[0:5] == 'GSMRZ':
- if self.callFrom != 'GSMRZ1':
- # close SSH tunneling
- self.boxCaller.killTunneling()
- if self.dest[0:5] == 'GSMRZ':
- if self.dest != 'GSMRZ1':
- # close SSH tunneling
- self.boxDest.killTunneling()
- self.receiver.closeConnection()
- self.caller.closeConnection()
-
- def callerGreeting(self): # send greeting message to the caller handler
- self.connected = None
- #open connection to the Handler
- self.caller = ClientClass.Connection('localhost',self.portCaller)
- self.caller.connect()
-
- if self.caller.connected == 1:
- logger.logEvent('Connected to Caller Handler')
- self.caller.sendData('HELLO HANDLER')
- if self.caller.receiveData(30) == 'HELLO CONTROLLER':
- logger.logEvent('Caller Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Caller')
- self.connected = 'NOT OK'
-
- def receiverGreeting(self): # send greeting message to the destination handler
- self.connected = None
- #open connection to the Handler
- self.receiver = ClientClass.Connection('localhost', self.portDest)
- self.receiver.connect()
-
- if self.receiver.connected == 1:
- logger.logEvent('Connected to Receiver Handler')
- self.receiver.sendData('HELLO HANDLER')
- if self.receiver.receiveData(30) == 'HELLO CONTROLLER':
- logger.logEvent('Receiver Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Receiver')
- self.connected = 'NOT OK'
-
- def initGSM(self, portCommunication, portDevice, handler):
- #open GSM Handler
- subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)+' '+str(handler)])
-
-
-
-
diff --git a/For Weekly Test/Advance/ControllerClass.pyc b/For Weekly Test/Advance/ControllerClass.pyc
deleted file mode 100644
index 863a133..0000000
--- a/For Weekly Test/Advance/ControllerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/DbClass.py b/For Weekly Test/Advance/DbClass.py
deleted file mode 100755
index e7d6d64..0000000
--- a/For Weekly Test/Advance/DbClass.py
+++ /dev/null
@@ -1,243 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.callerLists = list()
- self.errCode = None
- self.deviceUpdate = None
- self.gsmRZList = None
- self.gsmExtList = None
- self.sipList = None
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- if not self.tasksList:
- return 0
- else:
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `portName`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall()
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened 07667929147--Fitri
- else:
- return 0 #I am not connected
- def deviceList(self): # taking all device list and put it in the list
- deviceLists = list()
- if self.connectionCreated == 1:
- try:
- tuple = self.cur.execute("SELECT `deviceName` FROM DeviceAddressTable")
- output = self.cur.fetchall()
-
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceLists.append(columns)
- return deviceLists
-
-#return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- print 'not conn'
- return 0 #I am not connected
-
- def updateGSMDevice(self, deviceName, newPortName, newNumber):
- if self.connectionCreated == 1:
- try:
- stmt = "UPDATE DeviceAddressTable SET portName = '"+ newPortName + "', number = '"+ newNumber+ "' WHERE deviceName = '" + deviceName+ "'"
- self.cur.execute(stmt)
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, unisip=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(unisip), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def errorCode(self,code):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code)
- data = self.cur.fetchone()
- self.errCode = data[0]
- return self.errCode
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
diff --git a/For Weekly Test/Advance/DbClass.pyc b/For Weekly Test/Advance/DbClass.pyc
deleted file mode 100644
index f86d3b6..0000000
--- a/For Weekly Test/Advance/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/GSMClass.py b/For Weekly Test/Advance/GSMClass.py
deleted file mode 100755
index e994814..0000000
--- a/For Weekly Test/Advance/GSMClass.py
+++ /dev/null
@@ -1,304 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
-
- self.debugMode = 0
-
- def portInit(self):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
-
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
-
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/For Weekly Test/Advance/GSMClass.pyc b/For Weekly Test/Advance/GSMClass.pyc
deleted file mode 100644
index b320ea6..0000000
--- a/For Weekly Test/Advance/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/GSMExt.Eplus handler.log b/For Weekly Test/Advance/GSMExt.Eplus handler.log
deleted file mode 100644
index e69de29..0000000
--- a/For Weekly Test/Advance/GSMExt.Eplus handler.log
+++ /dev/null
diff --git a/For Weekly Test/Advance/GSMExt.O2 handler.log b/For Weekly Test/Advance/GSMExt.O2 handler.log
deleted file mode 100644
index e69de29..0000000
--- a/For Weekly Test/Advance/GSMExt.O2 handler.log
+++ /dev/null
diff --git a/For Weekly Test/Advance/GSMExt.Tm handler.log b/For Weekly Test/Advance/GSMExt.Tm handler.log
deleted file mode 100644
index e69de29..0000000
--- a/For Weekly Test/Advance/GSMExt.Tm handler.log
+++ /dev/null
diff --git a/For Weekly Test/Advance/GSMExt.Voda handler.log b/For Weekly Test/Advance/GSMExt.Voda handler.log
deleted file mode 100644
index e69de29..0000000
--- a/For Weekly Test/Advance/GSMExt.Voda handler.log
+++ /dev/null
diff --git a/For Weekly Test/Advance/GSMHandler.py b/For Weekly Test/Advance/GSMHandler.py
deleted file mode 100755
index f703d14..0000000
--- a/For Weekly Test/Advance/GSMHandler.py
+++ /dev/null
@@ -1,271 +0,0 @@
-import ServerClass
-import GSMClass
-import LogFileClass
-from time import sleep
-import sys
-import setproctitle
-
-global portListen
-global portAddress
-
-
-if len(sys.argv) <> 4:
- print "Error given command"
- sys.exit(2)
-
-
-handler = sys.argv[3]
-portAddress = sys.argv[2]
-portListen = int(sys.argv[1])
-
-def initLogfile():
- global nameOfLogFile
-
- nameOfLogFile = str(handler)+' handler.log'
-
-baudRate = 19200
-
-initLogfile()
-logger = LogFileClass.Logging(nameOfLogFile)
-
-errorCount = 0
-
-logger.logEvent('')
-
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-lastState = 0
-resetState = 0
-
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass.serialPort(portAddress, baudRate, 60)
-
- initDevice = gsmDevice.portInit()
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- terminateConnection()
- return 2
- else:
- logger.logEvent('$no connection')
- sys.exit(1)
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
-
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
- terminateConnection()
-
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- lastState = 3
- receiveCall = gsmDevice.receiveCall()
-
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- sendMessage = handlerSocket.sendData(callSuccess)
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller'
-
- #call the number here
- global lastState
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 6:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- return handlerSocket.sendData(callSuccess)
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- sys.exit(0.5)
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-setproctitle.setproctitle('GSM Handler')
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- receivedMessage += receiveMessage(30)
-
- del handlerSocket
- del gsmDevice
diff --git a/For Weekly Test/Advance/GSMRZ1 handler.log b/For Weekly Test/Advance/GSMRZ1 handler.log
deleted file mode 100644
index 6277bf0..0000000
--- a/For Weekly Test/Advance/GSMRZ1 handler.log
+++ /dev/null
@@ -1,601 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 16:48:49.977478 ------------------
-On: 2011-10-14 16:48:49.977637 Event: LISTEN ON PORT: 31898
-On: 2011-10-14 16:48:51.182121 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 16:50:14.113205 ------------------
-On: 2011-10-14 16:50:14.113337 Event: LISTEN ON PORT: 45148
-On: 2011-10-14 16:50:15.375198 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:02:19.885157 ------------------
-On: 2011-10-14 17:02:19.885291 Event: LISTEN ON PORT: 54353
-On: 2011-10-14 17:02:21.034564 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:22.490987 ------------------
-On: 2011-10-14 17:09:22.491122 Event: LISTEN ON PORT: 58794
-On: 2011-10-14 17:09:23.793238 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:29.807228 ------------------
-On: 2011-10-14 17:54:29.807364 Event: LISTEN ON PORT: 59733
-On: 2011-10-14 17:54:31.117494 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:54.739343 ------------------
-On: 2011-10-14 17:55:54.739479 Event: LISTEN ON PORT: 47152
-On: 2011-10-14 17:55:55.839460 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:12.625318 ------------------
-On: 2011-10-14 17:56:12.625467 Event: LISTEN ON PORT: 56403
-On: 2011-10-14 17:56:13.934547 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:40.140124 ------------------
-On: 2011-10-14 17:58:40.140261 Event: LISTEN ON PORT: 48980
-On: 2011-10-14 17:58:41.470516 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:00:18.792429 ------------------
-On: 2011-10-14 18:00:18.792566 Event: LISTEN ON PORT: 44749
-On: 2011-10-14 18:00:20.089680 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:51.248665 ------------------
-On: 2011-10-14 19:13:51.248806 Event: LISTEN ON PORT: 43495
-On: 2011-10-14 19:13:52.589537 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:15:21.381180 ------------------
-On: 2011-10-14 19:15:21.381320 Event: LISTEN ON PORT: 57544
-On: 2011-10-14 19:15:22.725775 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:40.347242 ------------------
-On: 2011-10-14 19:16:40.347380 Event: LISTEN ON PORT: 34500
-On: 2011-10-14 19:16:41.684825 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:56.668273 ------------------
-On: 2011-10-17 17:23:56.668423 Event: LISTEN ON PORT: 49976
-On: 2011-10-17 17:23:57.912429 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41746)
-On: 2011-10-17 17:23:57.912848 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 17:23:57.913049 Event: RECEIVER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:30:03.932073 ------------------
-On: 2011-10-17 17:30:03.932213 Event: LISTEN ON PORT: 48224
-On: 2011-10-17 17:30:05.250068 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45195)
-On: 2011-10-17 17:30:05.250459 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 17:30:05.250666 Event: CALLER READY SENT
-On: 2011-10-17 17:30:14.005561 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:38:25.205605 ------------------
-On: 2011-10-17 17:38:25.205749 Event: LISTEN ON PORT: 34958
-On: 2011-10-17 17:38:26.538192 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53089)
-On: 2011-10-17 17:38:26.538567 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 17:38:26.538775 Event: CALLER READY SENT
-On: 2011-10-17 17:38:32.069577 Event: CALLER STATUS SENT
-On: 2011-10-17 17:38:42.069885 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:46:44.040507 ------------------
-On: 2011-10-17 17:46:44.040644 Event: LISTEN ON PORT: 42482
-On: 2011-10-17 17:46:45.371908 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45875)
-On: 2011-10-17 17:46:45.372268 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 17:46:45.372472 Event: CALLER READY SENT
-On: 2011-10-17 17:46:52.093572 Event: CALLER STATUS SENT
-On: 2011-10-17 17:47:02.094744 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:09:47.252730 ------------------
-On: 2011-10-17 18:09:47.252867 Event: LISTEN ON PORT: 37675
-On: 2011-10-17 18:09:48.575619 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56062)
-On: 2011-10-17 18:09:48.575992 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 18:09:48.576200 Event: CALLER READY SENT
-On: 2011-10-17 18:09:54.117572 Event: CALLER STATUS SENT
-On: 2011-10-17 18:10:04.117876 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:14:04.027041 ------------------
-On: 2011-10-17 18:14:04.027180 Event: LISTEN ON PORT: 35127
-On: 2011-10-17 18:14:05.370231 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50946)
-On: 2011-10-17 18:14:05.370605 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 18:14:05.370807 Event: RECEIVER READY SENT
-On: 2011-10-17 18:14:09.905633 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:14:30.628591 ------------------
-On: 2011-10-17 18:14:30.628732 Event: LISTEN ON PORT: 49956
-On: 2011-10-17 18:14:31.909301 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43644)
-On: 2011-10-17 18:14:31.909750 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 18:14:31.910153 Event: CALLER READY SENT
-On: 2011-10-17 18:14:41.910463 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:15:46.539275 ------------------
-On: 2011-10-17 18:15:46.539415 Event: LISTEN ON PORT: 55421
-On: 2011-10-17 18:15:47.817830 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55012)
-On: 2011-10-17 18:15:47.818215 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 18:15:47.818415 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:16:33.583506 ------------------
-On: 2011-10-17 18:16:33.583643 Event: LISTEN ON PORT: 51534
-On: 2011-10-17 18:16:34.878623 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35960)
-On: 2011-10-17 18:16:34.879013 Event: TALK INITIALIZATION SENT
-On: 2011-10-17 18:16:34.879223 Event: CALLER READY SENT
-On: 2011-10-17 18:16:44.879521 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:59:53.321068 ------------------
-On: 2011-10-18 17:59:53.321208 Event: LISTEN ON PORT: 37958
-On: 2011-10-18 17:59:54.509246 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34102)
-On: 2011-10-18 17:59:54.509645 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 17:59:54.510077 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:00:07.510807 ------------------
-On: 2011-10-18 18:00:07.510942 Event: LISTEN ON PORT: 44278
-On: 2011-10-18 18:00:08.603163 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49709)
-On: 2011-10-18 18:00:08.603539 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:00:08.603744 Event: RECEIVER READY SENT
-On: 2011-10-18 18:00:13.341838 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:03:10.142306 ------------------
-On: 2011-10-18 18:03:10.142437 Event: LISTEN ON PORT: 40645
-On: 2011-10-18 18:03:11.447158 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54533)
-On: 2011-10-18 18:03:11.447536 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:03:11.447746 Event: RECEIVER READY SENT
-On: 2011-10-18 18:03:15.761838 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:04:09.511701 ------------------
-On: 2011-10-18 18:04:09.511837 Event: LISTEN ON PORT: 46538
-On: 2011-10-18 18:04:10.763566 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51299)
-On: 2011-10-18 18:04:10.763943 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:04:10.764149 Event: RECEIVER READY SENT
-On: 2011-10-18 18:04:14.845834 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:04:57.336919 ------------------
-On: 2011-10-18 18:04:57.337057 Event: LISTEN ON PORT: 47622
-On: 2011-10-18 18:04:58.657899 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50911)
-On: 2011-10-18 18:04:58.658279 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:04:58.658485 Event: RECEIVER READY SENT
-On: 2011-10-18 18:05:02.845832 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:05:57.063122 ------------------
-On: 2011-10-18 18:05:57.063256 Event: LISTEN ON PORT: 47391
-On: 2011-10-18 18:05:58.313009 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51917)
-On: 2011-10-18 18:05:58.313408 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:05:58.313615 Event: CALLER READY SENT
-On: 2011-10-18 18:06:06.414504 Event: CALLER STATUS SENT
-On: 2011-10-18 18:06:06.414764 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:06:15.199401 ------------------
-On: 2011-10-18 18:06:15.199538 Event: LISTEN ON PORT: 36448
-On: 2011-10-18 18:06:16.509402 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44761)
-On: 2011-10-18 18:06:16.509830 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:06:16.510036 Event: RECEIVER READY SENT
-On: 2011-10-18 18:06:21.705828 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:07:46.580797 ------------------
-On: 2011-10-18 18:07:46.580927 Event: LISTEN ON PORT: 45845
-On: 2011-10-18 18:07:47.774057 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54273)
-On: 2011-10-18 18:07:47.774455 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:07:47.774667 Event: CALLER READY SENT
-On: 2011-10-18 18:07:56.470453 Event: CALLER STATUS SENT
-On: 2011-10-18 18:07:56.470710 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:08:05.401234 ------------------
-On: 2011-10-18 18:08:05.401371 Event: LISTEN ON PORT: 37736
-On: 2011-10-18 18:08:06.573402 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43547)
-On: 2011-10-18 18:08:06.573842 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:08:06.574067 Event: RECEIVER READY SENT
-On: 2011-10-18 18:08:15.869814 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:08:45.559840 ------------------
-On: 2011-10-18 18:08:45.559979 Event: LISTEN ON PORT: 52333
-On: 2011-10-18 18:08:46.824974 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43181)
-On: 2011-10-18 18:08:46.825596 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:08:46.826485 Event: CALLER READY SENT
-On: 2011-10-18 18:08:56.826812 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:09:45.103265 ------------------
-On: 2011-10-18 18:09:45.103401 Event: LISTEN ON PORT: 55111
-On: 2011-10-18 18:09:46.416496 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38094)
-On: 2011-10-18 18:09:46.416870 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:09:46.417075 Event: RECEIVER READY SENT
-On: 2011-10-18 18:09:51.209832 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:11:27.135288 ------------------
-On: 2011-10-18 18:11:27.135426 Event: LISTEN ON PORT: 52260
-On: 2011-10-18 18:11:28.364871 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38944)
-On: 2011-10-18 18:11:28.365273 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:11:28.365489 Event: CALLER READY SENT
-On: 2011-10-18 18:11:38.365807 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:12:27.063729 ------------------
-On: 2011-10-18 18:12:27.063870 Event: LISTEN ON PORT: 59916
-On: 2011-10-18 18:12:28.323373 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53167)
-On: 2011-10-18 18:12:28.323744 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 18:12:28.323943 Event: RECEIVER READY SENT
-On: 2011-10-18 18:12:32.429879 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:40:32.687770 ------------------
-On: 2011-10-18 19:40:32.687904 Event: LISTEN ON PORT: 45722
-On: 2011-10-18 19:40:33.914115 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50785)
-On: 2011-10-18 19:40:33.914513 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:40:33.914717 Event: CALLER READY SENT
-On: 2011-10-18 19:40:43.915027 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:42:04.794487 ------------------
-On: 2011-10-18 19:42:04.794628 Event: LISTEN ON PORT: 46564
-On: 2011-10-18 19:42:06.080153 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57475)
-On: 2011-10-18 19:42:06.080555 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:42:06.080771 Event: CALLER READY SENT
-On: 2011-10-18 19:42:16.081070 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:46:20.856543 ------------------
-On: 2011-10-18 19:46:20.856682 Event: LISTEN ON PORT: 34929
-On: 2011-10-18 19:46:22.064034 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52140)
-On: 2011-10-18 19:46:22.064429 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:46:22.064639 Event: CALLER READY SENT
-On: 2011-10-18 19:46:32.064942 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:47:50.260385 ------------------
-On: 2011-10-18 19:47:50.261387 Event: LISTEN ON PORT: 52675
-On: 2011-10-18 19:47:51.206435 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33001)
-On: 2011-10-18 19:47:51.206810 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:47:51.207019 Event: RECEIVER READY SENT
-On: 2011-10-18 19:47:55.937900 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:48:32.569248 ------------------
-On: 2011-10-18 19:48:32.569387 Event: LISTEN ON PORT: 30450
-On: 2011-10-18 19:48:33.874006 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38459)
-On: 2011-10-18 19:48:33.874411 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:48:33.874623 Event: CALLER READY SENT
-On: 2011-10-18 19:48:43.874930 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:50:01.791306 ------------------
-On: 2011-10-18 19:50:01.791444 Event: LISTEN ON PORT: 56889
-On: 2011-10-18 19:50:02.989728 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48375)
-On: 2011-10-18 19:50:02.990116 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:50:02.990325 Event: RECEIVER READY SENT
-On: 2011-10-18 19:50:07.757880 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:50:51.143154 ------------------
-On: 2011-10-18 19:50:51.143294 Event: LISTEN ON PORT: 57267
-On: 2011-10-18 19:50:52.445469 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45258)
-On: 2011-10-18 19:50:52.445922 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:50:52.446311 Event: CALLER READY SENT
-On: 2011-10-18 19:51:02.446621 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:52:16.310600 ------------------
-On: 2011-10-18 19:52:16.310736 Event: LISTEN ON PORT: 55762
-On: 2011-10-18 19:52:17.596170 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37556)
-On: 2011-10-18 19:52:17.596545 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:52:17.596743 Event: RECEIVER READY SENT
-On: 2011-10-18 19:52:22.021823 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:53:30.890425 ------------------
-On: 2011-10-18 19:53:30.890562 Event: LISTEN ON PORT: 43740
-On: 2011-10-18 19:53:32.079339 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42644)
-On: 2011-10-18 19:53:32.079733 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:53:32.079938 Event: CALLER READY SENT
-On: 2011-10-18 19:53:42.080246 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:54:35.931139 ------------------
-On: 2011-10-18 19:54:35.931276 Event: LISTEN ON PORT: 32934
-On: 2011-10-18 19:54:37.219111 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44363)
-On: 2011-10-18 19:54:37.219490 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:54:37.219699 Event: RECEIVER READY SENT
-On: 2011-10-18 19:54:41.957836 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:54:59.091461 ------------------
-On: 2011-10-18 19:54:59.091598 Event: LISTEN ON PORT: 57336
-On: 2011-10-18 19:55:00.253588 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55170)
-On: 2011-10-18 19:55:00.254031 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:55:00.254262 Event: CALLER READY SENT
-On: 2011-10-18 19:55:27.026823 Event: CALLER STATUS SENT
-On: 2011-10-18 19:55:27.027085 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:55:53.780502 ------------------
-On: 2011-10-18 19:55:53.780641 Event: LISTEN ON PORT: 58483
-On: 2011-10-18 19:55:55.105735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43800)
-On: 2011-10-18 19:55:55.106116 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:55:55.106317 Event: RECEIVER READY SENT
-On: 2011-10-18 19:55:59.901818 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:56:16.411558 ------------------
-On: 2011-10-18 19:56:16.411697 Event: LISTEN ON PORT: 47521
-On: 2011-10-18 19:56:17.693180 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37299)
-On: 2011-10-18 19:56:17.693573 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:56:17.694007 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:56:30.458032 ------------------
-On: 2011-10-18 19:56:30.458173 Event: LISTEN ON PORT: 51855
-On: 2011-10-18 19:56:31.790433 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46101)
-On: 2011-10-18 19:56:31.790813 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:56:31.791020 Event: RECEIVER READY SENT
-On: 2011-10-18 19:56:36.141854 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:57:25.085064 ------------------
-On: 2011-10-18 19:57:25.085200 Event: LISTEN ON PORT: 30247
-On: 2011-10-18 19:57:26.377629 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48514)
-On: 2011-10-18 19:57:26.378067 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:57:26.378276 Event: CALLER READY SENT
-On: 2011-10-18 19:57:33.998434 Event: CALLER STATUS SENT
-On: 2011-10-18 19:57:33.998697 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:57:42.765574 ------------------
-On: 2011-10-18 19:57:42.765795 Event: LISTEN ON PORT: 45904
-On: 2011-10-18 19:57:44.086897 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51624)
-On: 2011-10-18 19:57:44.087268 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 19:57:44.087473 Event: RECEIVER READY SENT
-On: 2011-10-18 19:57:48.013851 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 20:00:20.737922 ------------------
-On: 2011-10-18 20:00:20.738070 Event: LISTEN ON PORT: 35566
-On: 2011-10-18 20:00:22.016085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56065)
-On: 2011-10-18 20:00:22.016462 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 20:00:22.016673 Event: CALLER READY SENT
-On: 2011-10-18 20:00:47.569761 Event: CALLER STATUS SENT
-On: 2011-10-18 20:00:47.577148 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 20:00:52.357829 ------------------
-On: 2011-10-18 20:00:52.357976 Event: LISTEN ON PORT: 43727
-On: 2011-10-18 20:00:53.641225 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36246)
-On: 2011-10-18 20:00:53.641729 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 20:00:53.642354 Event: CALLER READY SENT
-On: 2011-10-18 20:01:01.302423 Event: CALLER STATUS SENT
-On: 2011-10-18 20:01:01.302678 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-18 20:01:10.077765 ------------------
-On: 2011-10-18 20:01:10.077912 Event: LISTEN ON PORT: 31031
-On: 2011-10-18 20:01:11.390259 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43676)
-On: 2011-10-18 20:01:11.390636 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 20:01:11.390843 Event: RECEIVER READY SENT
-On: 2011-10-18 20:01:15.093818 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-18 20:01:42.448428 ------------------
-On: 2011-10-18 20:01:42.448569 Event: LISTEN ON PORT: 34930
-On: 2011-10-18 20:01:43.753353 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36177)
-On: 2011-10-18 20:01:43.753773 Event: TALK INITIALIZATION SENT
-On: 2011-10-18 20:01:43.754012 Event: RECEIVER READY SENT
-On: 2011-10-18 20:01:53.905834 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:57:09.980009 ------------------
-On: 2011-10-20 11:57:09.980149 Event: LISTEN ON PORT: 49223
-On: 2011-10-20 11:57:10.736979 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39911)
-On: 2011-10-20 11:57:10.737381 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 11:57:10.737594 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:58:53.418808 ------------------
-On: 2011-10-20 11:58:53.418944 Event: LISTEN ON PORT: 52241
-On: 2011-10-20 11:58:53.818757 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57301)
-On: 2011-10-20 11:58:53.819152 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 11:58:53.819355 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:00:04.671154 ------------------
-On: 2011-10-20 12:00:04.671290 Event: LISTEN ON PORT: 57880
-On: 2011-10-20 12:00:05.962238 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39303)
-On: 2011-10-20 12:00:05.962638 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 12:00:05.962841 Event: CALLER READY SENT
-On: 2011-10-20 12:00:32.698491 Event: CALLER STATUS SENT
-On: 2011-10-20 12:00:32.698746 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:00:50.303813 ------------------
-On: 2011-10-20 12:00:50.303958 Event: LISTEN ON PORT: 40946
-On: 2011-10-20 12:00:51.621247 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52738)
-On: 2011-10-20 12:00:51.621650 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 12:00:51.621961 Event: CALLER READY SENT
-On: 2011-10-20 12:01:18.334518 Event: CALLER STATUS SENT
-On: 2011-10-20 12:01:18.334778 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:31.456740 ------------------
-On: 2011-10-20 12:30:31.456879 Event: LISTEN ON PORT: 37159
-On: 2011-10-20 12:30:32.797195 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59045)
-On: 2011-10-20 12:30:32.797560 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 12:30:32.797798 Event: CALLER READY SENT
-On: 2011-10-20 12:30:38.413836 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:39.081381 ------------------
-On: 2011-10-20 12:41:39.081527 Event: LISTEN ON PORT: 44652
-On: 2011-10-20 12:41:40.320459 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60598)
-On: 2011-10-20 12:41:40.320838 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 12:41:40.321043 Event: CALLER READY SENT
-On: 2011-10-20 12:41:52.018495 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:49:18.640747 ------------------
-On: 2011-10-20 12:49:18.640958 Event: LISTEN ON PORT: 45533
-On: 2011-10-20 12:49:19.928742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56241)
-On: 2011-10-20 12:49:19.929112 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 12:49:19.929319 Event: CALLER READY SENT
-On: 2011-10-20 12:49:25.781855 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:05:16.708763 ------------------
-On: 2011-10-20 13:05:16.708899 Event: LISTEN ON PORT: 55240
-On: 2011-10-20 13:05:18.043456 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38950)
-On: 2011-10-20 13:05:18.043830 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 13:05:18.044034 Event: CALLER READY SENT
-On: 2011-10-20 13:05:23.811717 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:34:03.330386 ------------------
-On: 2011-10-20 13:34:03.330524 Event: LISTEN ON PORT: 53483
-On: 2011-10-20 13:34:04.658189 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41497)
-On: 2011-10-20 13:34:04.658565 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 13:34:04.658770 Event: CALLER READY SENT
-On: 2011-10-20 13:34:10.305841 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:51:59.841097 ------------------
-On: 2011-10-20 13:51:59.841233 Event: LISTEN ON PORT: 58346
-On: 2011-10-20 13:52:01.159135 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54449)
-On: 2011-10-20 13:52:01.159509 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 13:52:01.159716 Event: CALLER READY SENT
-On: 2011-10-20 13:52:07.357907 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:03.689547 ------------------
-On: 2011-10-20 14:09:03.689679 Event: LISTEN ON PORT: 34731
-On: 2011-10-20 14:09:05.008758 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48677)
-On: 2011-10-20 14:09:05.009139 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:09:05.009345 Event: RECEIVER READY SENT
-On: 2011-10-20 14:09:09.998526 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:14:46.404020 ------------------
-On: 2011-10-20 14:14:46.404157 Event: LISTEN ON PORT: 38495
-On: 2011-10-20 14:14:47.697162 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42228)
-On: 2011-10-20 14:14:47.697541 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:14:47.697788 Event: RECEIVER READY SENT
-On: 2011-10-20 14:14:53.686470 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:29.743807 ------------------
-On: 2011-10-20 14:20:29.743943 Event: LISTEN ON PORT: 48213
-On: 2011-10-20 14:20:31.067612 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42232)
-On: 2011-10-20 14:20:31.067988 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:20:31.068193 Event: CALLER READY SENT
-On: 2011-10-20 14:20:42.682496 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:31.069394 ------------------
-On: 2011-10-20 14:25:31.069529 Event: LISTEN ON PORT: 34176
-On: 2011-10-20 14:25:32.404043 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35780)
-On: 2011-10-20 14:25:32.404395 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:25:32.404597 Event: CALLER READY SENT
-On: 2011-10-20 14:25:38.085825 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:25.860816 ------------------
-On: 2011-10-20 14:28:25.860951 Event: LISTEN ON PORT: 33796
-On: 2011-10-20 14:28:27.170435 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35285)
-On: 2011-10-20 14:28:27.170804 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:28:27.171004 Event: RECEIVER READY SENT
-On: 2011-10-20 14:28:32.770461 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:37.520404 ------------------
-On: 2011-10-20 14:28:37.520541 Event: LISTEN ON PORT: 45029
-On: 2011-10-20 14:28:38.830169 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49457)
-On: 2011-10-20 14:28:38.830575 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:28:38.830788 Event: CALLER READY SENT
-On: 2011-10-20 14:28:49.450513 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:16.308611 ------------------
-On: 2011-10-20 14:32:16.308755 Event: LISTEN ON PORT: 52675
-On: 2011-10-20 14:32:17.605780 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50634)
-On: 2011-10-20 14:32:17.606164 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:32:17.606359 Event: RECEIVER READY SENT
-On: 2011-10-20 14:32:24.186524 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:35:32.871572 ------------------
-On: 2011-10-20 14:35:32.871706 Event: LISTEN ON PORT: 45604
-On: 2011-10-20 14:35:34.211861 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54135)
-On: 2011-10-20 14:35:34.212239 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:35:34.212439 Event: RECEIVER READY SENT
-On: 2011-10-20 14:35:38.789939 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:39:12.558872 ------------------
-On: 2011-10-20 14:39:12.559005 Event: LISTEN ON PORT: 57139
-On: 2011-10-20 14:39:13.899359 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49090)
-On: 2011-10-20 14:39:13.899730 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:39:13.899936 Event: CALLER READY SENT
-On: 2011-10-20 14:39:20.085837 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:51.179139 ------------------
-On: 2011-10-20 14:41:51.179277 Event: LISTEN ON PORT: 52786
-On: 2011-10-20 14:41:52.486903 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42168)
-On: 2011-10-20 14:41:52.487276 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:41:52.487478 Event: RECEIVER READY SENT
-On: 2011-10-20 14:41:58.482454 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:42:03.188583 ------------------
-On: 2011-10-20 14:42:03.188720 Event: LISTEN ON PORT: 56782
-On: 2011-10-20 14:42:04.526459 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60135)
-On: 2011-10-20 14:42:04.526833 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:42:04.527035 Event: CALLER READY SENT
-On: 2011-10-20 14:42:16.230473 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:55:48.981358 ------------------
-On: 2011-10-20 14:55:48.981487 Event: LISTEN ON PORT: 52996
-On: 2011-10-20 14:55:50.315355 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49839)
-On: 2011-10-20 14:55:50.315719 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:55:50.315913 Event: CALLER READY SENT
-On: 2011-10-20 14:55:55.945857 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:30.345264 ------------------
-On: 2011-10-20 14:58:30.345399 Event: LISTEN ON PORT: 56297
-On: 2011-10-20 14:58:31.565306 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49537)
-On: 2011-10-20 14:58:31.565682 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:58:31.565943 Event: RECEIVER READY SENT
-On: 2011-10-20 14:58:36.542513 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:48.259249 ------------------
-On: 2011-10-20 14:58:48.259386 Event: LISTEN ON PORT: 38907
-On: 2011-10-20 14:58:49.606236 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50277)
-On: 2011-10-20 14:58:49.606614 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 14:58:49.606817 Event: RECEIVER READY SENT
-On: 2011-10-20 14:58:54.181882 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:12.274651 ------------------
-On: 2011-10-20 15:00:12.274789 Event: LISTEN ON PORT: 38398
-On: 2011-10-20 15:00:13.585063 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54419)
-On: 2011-10-20 15:00:13.585436 Event: TALK INITIALIZATION SENT
-On: 2011-10-20 15:00:13.585640 Event: RECEIVER READY SENT
-On: 2011-10-20 15:00:18.994505 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/Advance/Landline handler.log b/For Weekly Test/Advance/Landline handler.log
deleted file mode 100644
index 8e6319e..0000000
--- a/For Weekly Test/Advance/Landline handler.log
+++ /dev/null
@@ -1,508 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:36.590523 ------------------
-On: 2011-10-14 17:09:36.610786 Event: try to Connect to Controller
-On: 2011-10-14 17:09:37.907265 Event: init state
-On: 2011-10-14 17:09:37.907505 Event: Register Account to SIP server
-On: 2011-10-14 17:09:37.909234 Event: 100
-On: 2011-10-14 17:09:37.911726 Event: Caller Handler Ready
-On: 2011-10-14 17:09:41.916794 Event: Terminate
-On: 2011-10-14 17:09:41.916831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:35.873056 ------------------
-On: 2011-10-14 17:54:35.894582 Event: try to Connect to Controller
-On: 2011-10-14 17:54:37.176912 Event: init state
-On: 2011-10-14 17:54:37.177185 Event: Register Account to SIP server
-On: 2011-10-14 17:54:37.178874 Event: 100
-On: 2011-10-14 17:54:37.181279 Event: Caller Handler Ready
-On: 2011-10-14 17:54:41.184773 Event: Terminate
-On: 2011-10-14 17:54:41.184810 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:26.718035 ------------------
-On: 2011-10-14 17:56:26.738822 Event: try to Connect to Controller
-On: 2011-10-14 17:56:28.042823 Event: init state
-On: 2011-10-14 17:56:28.043057 Event: Register Account to SIP server
-On: 2011-10-14 17:56:28.044734 Event: 100
-On: 2011-10-14 17:56:28.044829 Event: Caller Handler Ready
-On: 2011-10-14 17:56:32.052672 Event: Terminate
-On: 2011-10-14 17:56:32.052710 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:46.216385 ------------------
-On: 2011-10-14 17:58:46.236740 Event: try to Connect to Controller
-On: 2011-10-14 17:58:47.533023 Event: init state
-On: 2011-10-14 17:58:47.533260 Event: Register Account to SIP server
-On: 2011-10-14 17:58:47.535074 Event: 100
-On: 2011-10-14 17:58:47.535171 Event: Caller Handler Ready
-On: 2011-10-14 17:58:51.540754 Event: Terminate
-On: 2011-10-14 17:58:51.540790 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:57.300596 ------------------
-On: 2011-10-14 19:13:57.321699 Event: try to Connect to Controller
-On: 2011-10-14 19:13:58.650489 Event: init state
-On: 2011-10-14 19:13:58.650739 Event: Register Account to SIP server
-On: 2011-10-14 19:13:58.652831 Event: 100
-On: 2011-10-14 19:13:58.655350 Event: Caller Handler Ready
-On: 2011-10-14 19:14:02.664725 Event: Terminate
-On: 2011-10-14 19:14:02.664764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:54.438539 ------------------
-On: 2011-10-14 19:16:54.459222 Event: try to Connect to Controller
-On: 2011-10-14 19:16:55.793430 Event: init state
-On: 2011-10-14 19:16:55.793722 Event: Register Account to SIP server
-On: 2011-10-14 19:16:55.795880 Event: 100
-On: 2011-10-14 19:16:55.797031 Event: Caller Handler Ready
-On: 2011-10-14 19:16:59.802440 Event: Terminate
-On: 2011-10-14 19:16:59.802478 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:15:58.456080 ------------------
-On: 2011-10-17 17:15:58.476264 Event: try to Connect to Controller
-On: 2011-10-17 17:15:59.777790 Event: init state
-On: 2011-10-17 17:15:59.777928 Event: Register Account to SIP server
-On: 2011-10-17 17:15:59.779856 Event: 100
-On: 2011-10-17 17:15:59.782422 Event: Caller Handler Ready
-On: 2011-10-17 17:16:03.786388 Event: Terminate
-On: 2011-10-17 17:16:03.786427 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:30:19.025425 ------------------
-On: 2011-10-17 17:30:19.045330 Event: try to Connect to Controller
-On: 2011-10-17 17:30:20.342309 Event: init state
-On: 2011-10-17 17:30:20.342547 Event: Register Account to SIP server
-On: 2011-10-17 17:30:20.344911 Event: 100
-On: 2011-10-17 17:30:20.345006 Event: Caller Handler Ready
-On: 2011-10-17 17:30:27.365206 Event: CALL START
-On: 2011-10-17 17:30:27.365265 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:30:30.870213 Event: Call Disconnected
-On: 2011-10-17 17:30:55.364331 Event: Terminate
-On: 2011-10-17 17:30:55.364388 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:38:49.331013 ------------------
-On: 2011-10-17 17:38:49.351667 Event: try to Connect to Controller
-On: 2011-10-17 17:38:50.624624 Event: init state
-On: 2011-10-17 17:38:50.624875 Event: Register Account to SIP server
-On: 2011-10-17 17:38:50.627469 Event: 100
-On: 2011-10-17 17:38:50.629829 Event: Caller Handler Ready
-On: 2011-10-17 17:38:57.645466 Event: CALL START
-On: 2011-10-17 17:38:57.645524 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:39:01.686294 Event: Call Disconnected
-On: 2011-10-17 17:39:25.645653 Event: Terminate
-On: 2011-10-17 17:39:25.645711 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:08.242835 ------------------
-On: 2011-10-17 17:47:08.262962 Event: try to Connect to Controller
-On: 2011-10-17 17:47:09.463828 Event: init state
-On: 2011-10-17 17:47:09.464066 Event: Register Account to SIP server
-On: 2011-10-17 17:47:09.466587 Event: 100
-On: 2011-10-17 17:47:09.468910 Event: Caller Handler Ready
-On: 2011-10-17 17:47:13.472421 Event: Terminate
-On: 2011-10-17 17:47:13.472458 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:51:26.581342 ------------------
-On: 2011-10-17 17:51:26.601788 Event: try to Connect to Controller
-On: 2011-10-17 17:51:27.877356 Event: init state
-On: 2011-10-17 17:51:27.877794 Event: Register Account to SIP server
-On: 2011-10-17 17:51:27.880493 Event: 100
-On: 2011-10-17 17:51:27.882919 Event: Caller Handler Ready
-On: 2011-10-17 17:51:34.896450 Event: CALL START
-On: 2011-10-17 17:51:34.896511 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:51:39.760119 Event: Call Disconnected
-On: 2011-10-17 17:52:02.897301 Event: Terminate
-On: 2011-10-17 17:52:02.897351 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:11.336417 ------------------
-On: 2011-10-17 18:03:11.356727 Event: try to Connect to Controller
-On: 2011-10-17 18:03:12.667059 Event: init state
-On: 2011-10-17 18:03:12.667312 Event: Register Account to SIP server
-On: 2011-10-17 18:03:12.669674 Event: 100
-On: 2011-10-17 18:03:12.671976 Event: Caller Handler Ready
-On: 2011-10-17 18:03:16.676445 Event: Terminate
-On: 2011-10-17 18:03:16.676485 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:11.475488 ------------------
-On: 2011-10-17 18:10:11.495245 Event: try to Connect to Controller
-On: 2011-10-17 18:10:12.676099 Event: init state
-On: 2011-10-17 18:10:12.676339 Event: Register Account to SIP server
-On: 2011-10-17 18:10:17.678530 Event: 100
-On: 2011-10-17 18:10:17.680992 Event: Caller Handler Ready
-On: 2011-10-17 18:10:21.684418 Event: Terminate
-On: 2011-10-17 18:10:21.684457 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:54.590446 ------------------
-On: 2011-10-20 12:30:54.610652 Event: try to Connect to Controller
-On: 2011-10-20 12:30:55.917190 Event: init state
-On: 2011-10-20 12:30:55.917443 Event: Register Account to SIP server
-On: 2011-10-20 12:30:55.922181 Event: 100
-On: 2011-10-20 12:30:55.924569 Event: Caller Handler Ready
-On: 2011-10-20 12:31:05.943139 Event: CALL START
-On: 2011-10-20 12:31:05.943197 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:31:11.296744 Event: Call Disconnected
-On: 2011-10-20 12:31:32.941273 Event: Terminate
-On: 2011-10-20 12:31:32.941330 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:57.096453 ------------------
-On: 2011-10-20 12:41:57.120972 Event: try to Connect to Controller
-On: 2011-10-20 12:41:58.098717 Event: init state
-On: 2011-10-20 12:41:58.098945 Event: Register Account to SIP server
-On: 2011-10-20 12:41:58.101273 Event: 100
-On: 2011-10-20 12:41:58.103933 Event: Caller Handler Ready
-On: 2011-10-20 12:42:08.127717 Event: CALL START
-On: 2011-10-20 12:42:08.127776 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:42:11.161567 Event: Call Disconnected
-On: 2011-10-20 12:42:35.125560 Event: Terminate
-On: 2011-10-20 12:42:35.125617 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:49:41.739449 ------------------
-On: 2011-10-20 12:49:41.760029 Event: try to Connect to Controller
-On: 2011-10-20 12:49:43.022714 Event: init state
-On: 2011-10-20 12:49:43.022959 Event: Register Account to SIP server
-On: 2011-10-20 12:49:43.025260 Event: 100
-On: 2011-10-20 12:49:43.027748 Event: Caller Handler Ready
-On: 2011-10-20 12:49:53.048143 Event: CALL START
-On: 2011-10-20 12:49:53.048212 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:49:56.661047 Event: Call Disconnected
-On: 2011-10-20 12:50:20.046374 Event: Terminate
-On: 2011-10-20 12:50:20.046431 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:56:23.099352 ------------------
-On: 2011-10-20 12:56:23.119575 Event: try to Connect to Controller
-On: 2011-10-20 12:56:24.354700 Event: init state
-On: 2011-10-20 12:56:24.354955 Event: Register Account to SIP server
-On: 2011-10-20 12:56:24.357197 Event: 100
-On: 2011-10-20 12:56:24.359713 Event: Caller Handler Ready
-On: 2011-10-20 12:56:34.380476 Event: CALL START
-On: 2011-10-20 12:56:34.380538 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:56:38.115273 Event: Call Disconnected
-On: 2011-10-20 12:57:01.377790 Event: Terminate
-On: 2011-10-20 12:57:01.377836 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:05:39.827134 ------------------
-On: 2011-10-20 13:05:39.847531 Event: try to Connect to Controller
-On: 2011-10-20 13:05:41.143653 Event: init state
-On: 2011-10-20 13:05:41.143900 Event: Register Account to SIP server
-On: 2011-10-20 13:05:41.146392 Event: 100
-On: 2011-10-20 13:05:41.148826 Event: Caller Handler Ready
-On: 2011-10-20 13:05:51.167001 Event: CALL START
-On: 2011-10-20 13:05:51.167060 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:05:54.228278 Event: Call Disconnected
-On: 2011-10-20 13:06:18.166426 Event: Terminate
-On: 2011-10-20 13:06:18.166472 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:16:42.837943 ------------------
-On: 2011-10-20 13:16:42.859449 Event: try to Connect to Controller
-On: 2011-10-20 13:16:44.078189 Event: init state
-On: 2011-10-20 13:16:44.078440 Event: Register Account to SIP server
-On: 2011-10-20 13:16:44.080898 Event: 100
-On: 2011-10-20 13:16:44.083455 Event: Caller Handler Ready
-On: 2011-10-20 13:16:54.098859 Event: CALL START
-On: 2011-10-20 13:16:54.098918 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:17:15.623823 Event: Call Disconnected
-On: 2011-10-20 13:17:21.096683 Event: Terminate
-On: 2011-10-20 13:17:21.096742 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:34:26.657642 ------------------
-On: 2011-10-20 13:34:26.678147 Event: try to Connect to Controller
-On: 2011-10-20 13:34:27.977045 Event: init state
-On: 2011-10-20 13:34:27.977291 Event: Register Account to SIP server
-On: 2011-10-20 13:34:32.983698 Event: 100
-On: 2011-10-20 13:34:32.983790 Event: Caller Handler Ready
-On: 2011-10-20 13:34:43.007573 Event: CALL START
-On: 2011-10-20 13:34:43.007629 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:34:46.397358 Event: Call Disconnected
-On: 2011-10-20 13:35:10.005746 Event: Terminate
-On: 2011-10-20 13:35:10.005804 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:52:22.960377 ------------------
-On: 2011-10-20 13:52:22.980870 Event: try to Connect to Controller
-On: 2011-10-20 13:52:24.261115 Event: init state
-On: 2011-10-20 13:52:24.261368 Event: Register Account to SIP server
-On: 2011-10-20 13:52:24.263732 Event: 100
-On: 2011-10-20 13:52:24.266192 Event: Caller Handler Ready
-On: 2011-10-20 13:52:34.280375 Event: CALL START
-On: 2011-10-20 13:52:34.280433 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:52:40.336993 Event: Call Disconnected
-On: 2011-10-20 13:53:01.280027 Event: Terminate
-On: 2011-10-20 13:53:01.280071 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:02:31.979436 ------------------
-On: 2011-10-20 14:02:31.999936 Event: try to Connect to Controller
-On: 2011-10-20 14:02:33.240701 Event: init state
-On: 2011-10-20 14:02:33.240953 Event: Register Account to SIP server
-On: 2011-10-20 14:02:33.243782 Event: 100
-On: 2011-10-20 14:02:33.246254 Event: Caller Handler Ready
-On: 2011-10-20 14:02:43.261454 Event: CALL START
-On: 2011-10-20 14:02:43.261512 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:02:46.638790 Event: Call Disconnected
-On: 2011-10-20 14:03:10.261960 Event: Terminate
-On: 2011-10-20 14:03:10.262017 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:42.904626 ------------------
-On: 2011-10-20 14:09:42.925088 Event: try to Connect to Controller
-On: 2011-10-20 14:09:44.158439 Event: init state
-On: 2011-10-20 14:09:44.158669 Event: Register Account to SIP server
-On: 2011-10-20 14:09:44.161029 Event: 100
-On: 2011-10-20 14:09:44.163639 Event: Caller Handler Ready
-On: 2011-10-20 14:09:54.183562 Event: CALL START
-On: 2011-10-20 14:09:54.183621 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:09:59.202122 Event: Call Connecting
-On: 2011-10-20 14:09:59.202169 Event: 200
-On: 2011-10-20 14:09:59.202967 Event: Terminate
-On: 2011-10-20 14:09:59.203024 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:15:26.528121 ------------------
-On: 2011-10-20 14:15:26.548612 Event: try to Connect to Controller
-On: 2011-10-20 14:15:27.845151 Event: init state
-On: 2011-10-20 14:15:27.845391 Event: Register Account to SIP server
-On: 2011-10-20 14:15:27.848500 Event: 100
-On: 2011-10-20 14:15:27.851038 Event: Caller Handler Ready
-On: 2011-10-20 14:15:37.868253 Event: CALL START
-On: 2011-10-20 14:15:37.868310 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:15:42.874584 Event: Call Connecting
-On: 2011-10-20 14:15:42.874631 Event: 200
-On: 2011-10-20 14:15:42.875431 Event: Terminate
-On: 2011-10-20 14:15:42.875490 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:47.426333 ------------------
-On: 2011-10-20 14:20:47.446723 Event: try to Connect to Controller
-On: 2011-10-20 14:20:48.733834 Event: init state
-On: 2011-10-20 14:20:48.734098 Event: Register Account to SIP server
-On: 2011-10-20 14:20:48.736267 Event: 100
-On: 2011-10-20 14:20:48.738781 Event: Caller Handler Ready
-On: 2011-10-20 14:20:58.754767 Event: CALL START
-On: 2011-10-20 14:20:58.754825 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:21:13.939704 Event: Call Connecting
-On: 2011-10-20 14:21:13.939754 Event: 200
-On: 2011-10-20 14:21:13.941082 Event: Terminate
-On: 2011-10-20 14:21:13.941139 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:54.263456 ------------------
-On: 2011-10-20 14:25:54.283912 Event: try to Connect to Controller
-On: 2011-10-20 14:25:55.504813 Event: init state
-On: 2011-10-20 14:25:55.505064 Event: Register Account to SIP server
-On: 2011-10-20 14:25:55.507243 Event: 100
-On: 2011-10-20 14:25:55.509547 Event: Caller Handler Ready
-On: 2011-10-20 14:26:05.524148 Event: CALL START
-On: 2011-10-20 14:26:05.524203 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:26:11.635526 Event: Call Connecting
-On: 2011-10-20 14:26:11.635575 Event: 200
-On: 2011-10-20 14:26:11.636378 Event: Terminate
-On: 2011-10-20 14:26:11.636435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:57.063337 ------------------
-On: 2011-10-20 14:32:57.083538 Event: try to Connect to Controller
-On: 2011-10-20 14:32:58.344519 Event: init state
-On: 2011-10-20 14:32:58.344771 Event: Register Account to SIP server
-On: 2011-10-20 14:32:58.350649 Event: 100
-On: 2011-10-20 14:32:58.352987 Event: Caller Handler Ready
-On: 2011-10-20 14:33:08.372442 Event: CALL START
-On: 2011-10-20 14:33:08.372500 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:33:14.021105 Event: Call Connecting
-On: 2011-10-20 14:33:14.021154 Event: 200
-On: 2011-10-20 14:33:14.022144 Event: Terminate
-On: 2011-10-20 14:33:14.022202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:39:35.673426 ------------------
-On: 2011-10-20 14:39:35.694067 Event: try to Connect to Controller
-On: 2011-10-20 14:39:36.995256 Event: init state
-On: 2011-10-20 14:39:36.995507 Event: Register Account to SIP server
-On: 2011-10-20 14:39:36.998226 Event: 100
-On: 2011-10-20 14:39:37.000589 Event: Caller Handler Ready
-On: 2011-10-20 14:39:47.020770 Event: CALL START
-On: 2011-10-20 14:39:47.020830 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:39:55.549182 Event: Call Connecting
-On: 2011-10-20 14:39:55.549230 Event: 200
-On: 2011-10-20 14:39:55.550214 Event: Terminate
-On: 2011-10-20 14:39:55.550274 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:12.157340 ------------------
-On: 2011-10-20 14:56:12.177952 Event: try to Connect to Controller
-On: 2011-10-20 14:56:13.416510 Event: init state
-On: 2011-10-20 14:56:13.416753 Event: Register Account to SIP server
-On: 2011-10-20 14:56:13.418785 Event: 100
-On: 2011-10-20 14:56:13.421186 Event: Caller Handler Ready
-On: 2011-10-20 14:56:23.435824 Event: CALL START
-On: 2011-10-20 14:56:23.435881 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:56:34.135425 Event: Call Connecting
-On: 2011-10-20 14:56:34.135474 Event: 200
-On: 2011-10-20 14:56:34.136267 Event: Terminate
-On: 2011-10-20 14:56:34.136323 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:51.898638 ------------------
-On: 2011-10-20 15:00:51.918777 Event: try to Connect to Controller
-On: 2011-10-20 15:00:53.149693 Event: init state
-On: 2011-10-20 15:00:53.150173 Event: Register Account to SIP server
-On: 2011-10-20 15:00:53.152357 Event: 100
-On: 2011-10-20 15:00:53.154956 Event: Caller Handler Ready
-On: 2011-10-20 15:01:03.173662 Event: CALL START
-On: 2011-10-20 15:01:03.173738 Event: Make a call to: 07612034661455
-On: 2011-10-20 15:01:10.547274 Event: Call Connecting
-On: 2011-10-20 15:01:10.547324 Event: 200
-On: 2011-10-20 15:01:10.548121 Event: Terminate
-On: 2011-10-20 15:01:10.548178 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:16:55.007734 ------------------
-On: 2011-10-20 15:16:55.028200 Event: try to Connect to Controller
-On: 2011-10-20 15:16:55.932919 Event: init state
-On: 2011-10-20 15:16:55.933179 Event: Register Account to SIP server
-On: 2011-10-20 15:16:55.941228 Event: 100
-On: 2011-10-20 15:16:55.943652 Event: Caller Handler Ready
-On: 2011-10-20 15:17:05.962718 Event: CALL START
-On: 2011-10-20 15:17:05.962778 Event: Make a call to: 07612034661455
-On: 2011-10-20 15:17:12.586728 Event: Call Connecting
-On: 2011-10-20 15:17:12.586777 Event: 200
-On: 2011-10-20 15:17:12.587590 Event: Terminate
-On: 2011-10-20 15:17:12.587645 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:23:45.181529 ------------------
-On: 2011-10-20 15:23:45.202254 Event: try to Connect to Controller
-On: 2011-10-20 15:23:46.481925 Event: init state
-On: 2011-10-20 15:23:46.482179 Event: Register Account to SIP server
-On: 2011-10-20 15:23:46.484726 Event: 100
-On: 2011-10-20 15:23:46.487182 Event: Caller Handler Ready
-On: 2011-10-20 15:23:56.501744 Event: CALL START
-On: 2011-10-20 15:23:56.501809 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:24:02.066756 Event: Call Connecting
-On: 2011-10-20 15:24:02.066805 Event: 200
-On: 2011-10-20 15:24:02.067621 Event: Terminate
-On: 2011-10-20 15:24:02.067679 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:10.891536 ------------------
-On: 2011-10-20 16:03:10.912278 Event: try to Connect to Controller
-On: 2011-10-20 16:03:12.148924 Event: init state
-On: 2011-10-20 16:03:12.149177 Event: Register Account to SIP server
-On: 2011-10-20 16:03:12.151616 Event: 100
-On: 2011-10-20 16:03:12.154033 Event: Caller Handler Ready
-On: 2011-10-20 16:03:22.169783 Event: CALL START
-On: 2011-10-20 16:03:22.169854 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:03:27.612704 Event: Call Connecting
-On: 2011-10-20 16:03:27.612754 Event: 200
-On: 2011-10-20 16:03:27.614156 Event: Terminate
-On: 2011-10-20 16:03:27.614214 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:32.136698 ------------------
-On: 2011-10-20 16:07:32.157494 Event: try to Connect to Controller
-On: 2011-10-20 16:07:33.401059 Event: init state
-On: 2011-10-20 16:07:33.401303 Event: Register Account to SIP server
-On: 2011-10-20 16:07:33.438577 Event: 100
-On: 2011-10-20 16:07:33.441041 Event: Caller Handler Ready
-On: 2011-10-20 16:07:43.457108 Event: CALL START
-On: 2011-10-20 16:07:43.457168 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:07:47.681207 Event: Call Connecting
-On: 2011-10-20 16:07:47.681257 Event: 200
-On: 2011-10-20 16:07:47.682646 Event: Terminate
-On: 2011-10-20 16:07:47.682705 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:13:43.076802 ------------------
-On: 2011-10-20 16:13:43.097058 Event: try to Connect to Controller
-On: 2011-10-20 16:13:44.350635 Event: init state
-On: 2011-10-20 16:13:44.350885 Event: Register Account to SIP server
-On: 2011-10-20 16:13:44.352530 Event: 100
-On: 2011-10-20 16:13:44.355127 Event: Caller Handler Ready
-On: 2011-10-20 16:13:54.372286 Event: CALL START
-On: 2011-10-20 16:13:54.372346 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:13:59.525734 Event: Call Connecting
-On: 2011-10-20 16:13:59.525784 Event: 200
-On: 2011-10-20 16:13:59.526615 Event: Terminate
-On: 2011-10-20 16:13:59.526672 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:17:38.771969 ------------------
-On: 2011-10-20 16:17:38.792338 Event: try to Connect to Controller
-On: 2011-10-20 16:17:40.026281 Event: init state
-On: 2011-10-20 16:17:40.026537 Event: Register Account to SIP server
-On: 2011-10-20 16:17:40.028720 Event: 100
-On: 2011-10-20 16:17:40.031341 Event: Caller Handler Ready
-On: 2011-10-20 16:17:50.047085 Event: CALL START
-On: 2011-10-20 16:17:50.047148 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:17:59.425782 Event: Call Connecting
-On: 2011-10-20 16:17:59.425852 Event: 200
-On: 2011-10-20 16:17:59.427179 Event: Terminate
-On: 2011-10-20 16:17:59.427235 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:03.749552 ------------------
-On: 2011-10-20 16:44:03.770707 Event: try to Connect to Controller
-On: 2011-10-20 16:44:04.950853 Event: init state
-On: 2011-10-20 16:44:04.951163 Event: Register Account to SIP server
-On: 2011-10-20 16:44:04.953297 Event: 100
-On: 2011-10-20 16:44:04.955801 Event: Caller Handler Ready
-On: 2011-10-20 16:44:14.977083 Event: CALL START
-On: 2011-10-20 16:44:14.977142 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:44:20.167837 Event: Call Connecting
-On: 2011-10-20 16:44:20.167887 Event: 200
-On: 2011-10-20 16:44:20.169220 Event: Terminate
-On: 2011-10-20 16:44:20.169277 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:05.367912 ------------------
-On: 2011-10-20 16:48:05.388565 Event: try to Connect to Controller
-On: 2011-10-20 16:48:06.619343 Event: init state
-On: 2011-10-20 16:48:06.619619 Event: Register Account to SIP server
-On: 2011-10-20 16:48:06.621629 Event: 100
-On: 2011-10-20 16:48:06.624075 Event: Caller Handler Ready
-On: 2011-10-20 16:48:16.642348 Event: CALL START
-On: 2011-10-20 16:48:16.642408 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:48:21.567297 Event: Call Connecting
-On: 2011-10-20 16:48:21.567346 Event: 200
-On: 2011-10-20 16:48:21.568672 Event: Terminate
-On: 2011-10-20 16:48:21.568730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:03.755170 ------------------
-On: 2011-10-20 16:52:03.776426 Event: try to Connect to Controller
-On: 2011-10-20 16:52:05.066312 Event: init state
-On: 2011-10-20 16:52:05.066543 Event: Register Account to SIP server
-On: 2011-10-20 16:52:05.068863 Event: 100
-On: 2011-10-20 16:52:05.068959 Event: Caller Handler Ready
-On: 2011-10-20 16:52:15.090436 Event: CALL START
-On: 2011-10-20 16:52:15.090502 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:52:25.230699 Event: Call Connecting
-On: 2011-10-20 16:52:25.230750 Event: 200
-On: 2011-10-20 16:52:25.232055 Event: Terminate
-On: 2011-10-20 16:52:25.232112 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:12.102282 ------------------
-On: 2011-10-20 16:55:12.123024 Event: try to Connect to Controller
-On: 2011-10-20 16:55:13.398396 Event: init state
-On: 2011-10-20 16:55:13.398633 Event: Register Account to SIP server
-On: 2011-10-20 16:55:13.400753 Event: 100
-On: 2011-10-20 16:55:13.400845 Event: Caller Handler Ready
-On: 2011-10-20 16:55:23.419572 Event: CALL START
-On: 2011-10-20 16:55:23.419631 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:55:28.915918 Event: Call Connecting
-On: 2011-10-20 16:55:28.915969 Event: 200
-On: 2011-10-20 16:55:28.917252 Event: Terminate
-On: 2011-10-20 16:55:28.917310 Event: Goodbye
diff --git a/For Weekly Test/Advance/LogFileClass.py b/For Weekly Test/Advance/LogFileClass.py
deleted file mode 100755
index cb152f4..0000000
--- a/For Weekly Test/Advance/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/Advance/LogFileClass.pyc b/For Weekly Test/Advance/LogFileClass.pyc
deleted file mode 100644
index 6c7db7a..0000000
--- a/For Weekly Test/Advance/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/PingClass.py b/For Weekly Test/Advance/PingClass.py
deleted file mode 100755
index e13b32b..0000000
--- a/For Weekly Test/Advance/PingClass.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Advance/PingClass.pyc b/For Weekly Test/Advance/PingClass.pyc
deleted file mode 100644
index 9a9c364..0000000
--- a/For Weekly Test/Advance/PingClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/SIP handler.log b/For Weekly Test/Advance/SIP handler.log
deleted file mode 100644
index b151902..0000000
--- a/For Weekly Test/Advance/SIP handler.log
+++ /dev/null
@@ -1,3063 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:46.636460 ------------------
-On: 2011-10-14 17:09:46.657136 Event: try to Connect to Controller
-On: 2011-10-14 17:09:47.961095 Event: init state
-On: 2011-10-14 17:09:47.961321 Event: Register Account to SIP server
-On: 2011-10-14 17:09:47.961739 Event: 100
-On: 2011-10-14 17:09:47.961871 Event: Caller Handler Ready
-On: 2011-10-14 17:09:52.969803 Event: CALL START
-On: 2011-10-14 17:09:52.969863 Event: Make a call to: 015782677224
-On: 2011-10-14 17:10:04.629306 Event: Call Connecting
-On: 2011-10-14 17:10:04.629356 Event: 200
-On: 2011-10-14 17:10:04.633907 Event: Terminate
-On: 2011-10-14 17:10:04.633966 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:09.360723 ------------------
-On: 2011-10-14 17:10:09.381097 Event: try to Connect to Controller
-On: 2011-10-14 17:10:10.677033 Event: init state
-On: 2011-10-14 17:10:10.677272 Event: Register Account to SIP server
-On: 2011-10-14 17:10:10.677699 Event: 100
-On: 2011-10-14 17:10:10.677820 Event: Caller Handler Ready
-On: 2011-10-14 17:10:15.685800 Event: CALL START
-On: 2011-10-14 17:10:15.685857 Event: Make a call to: 017678038038
-On: 2011-10-14 17:10:18.495676 Event: Call Connecting
-On: 2011-10-14 17:10:18.495723 Event: 200
-On: 2011-10-14 17:10:27.683426 Event: Terminate
-On: 2011-10-14 17:10:27.683466 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:32.462526 ------------------
-On: 2011-10-14 17:10:32.483232 Event: try to Connect to Controller
-On: 2011-10-14 17:10:33.765729 Event: init state
-On: 2011-10-14 17:10:33.766069 Event: Register Account to SIP server
-On: 2011-10-14 17:10:33.766858 Event: 100
-On: 2011-10-14 17:10:33.766945 Event: Caller Handler Ready
-On: 2011-10-14 17:10:38.773808 Event: CALL START
-On: 2011-10-14 17:10:38.773867 Event: Make a call to: 015128040906
-On: 2011-10-14 17:10:50.198003 Event: Call Connecting
-On: 2011-10-14 17:10:50.198052 Event: 200
-On: 2011-10-14 17:10:50.201957 Event: Terminate
-On: 2011-10-14 17:10:50.202013 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:54.936512 ------------------
-On: 2011-10-14 17:10:54.957090 Event: try to Connect to Controller
-On: 2011-10-14 17:10:56.245390 Event: init state
-On: 2011-10-14 17:10:56.245630 Event: Register Account to SIP server
-On: 2011-10-14 17:10:56.246463 Event: 100
-On: 2011-10-14 17:10:56.246551 Event: Caller Handler Ready
-On: 2011-10-14 17:11:01.253803 Event: CALL START
-On: 2011-10-14 17:11:01.253863 Event: Make a call to: 015252423662
-On: 2011-10-14 17:11:04.075325 Event: Call Connecting
-On: 2011-10-14 17:11:04.075374 Event: 200
-On: 2011-10-14 17:11:13.251721 Event: Terminate
-On: 2011-10-14 17:11:13.251761 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:11:18.042969 ------------------
-On: 2011-10-14 17:11:18.063549 Event: try to Connect to Controller
-On: 2011-10-14 17:11:19.341116 Event: init state
-On: 2011-10-14 17:11:19.341353 Event: Register Account to SIP server
-On: 2011-10-14 17:11:19.341826 Event: 100
-On: 2011-10-14 17:11:19.341911 Event: Caller Handler Ready
-On: 2011-10-14 17:11:23.348784 Event: Terminate
-On: 2011-10-14 17:11:23.348821 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:45.929341 ------------------
-On: 2011-10-14 17:54:45.950533 Event: try to Connect to Controller
-On: 2011-10-14 17:54:47.233014 Event: init state
-On: 2011-10-14 17:54:47.233278 Event: Register Account to SIP server
-On: 2011-10-14 17:54:47.233685 Event: 100
-On: 2011-10-14 17:54:47.233764 Event: Caller Handler Ready
-On: 2011-10-14 17:54:52.244885 Event: CALL START
-On: 2011-10-14 17:54:52.244944 Event: Make a call to: 017678038038
-On: 2011-10-14 17:54:55.028083 Event: Call Connecting
-On: 2011-10-14 17:54:55.028132 Event: 200
-On: 2011-10-14 17:55:05.240472 Event: Terminate
-On: 2011-10-14 17:55:05.240512 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:09.996293 ------------------
-On: 2011-10-14 17:55:10.016902 Event: try to Connect to Controller
-On: 2011-10-14 17:55:11.314844 Event: init state
-On: 2011-10-14 17:55:11.315069 Event: Register Account to SIP server
-On: 2011-10-14 17:55:11.315848 Event: 100
-On: 2011-10-14 17:55:11.315932 Event: Caller Handler Ready
-On: 2011-10-14 17:55:16.325824 Event: CALL START
-On: 2011-10-14 17:55:16.325886 Event: Make a call to: 015128040906
-On: 2011-10-14 17:55:27.226235 Event: Call Connecting
-On: 2011-10-14 17:55:27.226285 Event: 200
-On: 2011-10-14 17:55:27.229949 Event: Terminate
-On: 2011-10-14 17:55:27.230009 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:32.392005 ------------------
-On: 2011-10-14 17:55:32.443227 Event: try to Connect to Controller
-On: 2011-10-14 17:55:33.300758 Event: init state
-On: 2011-10-14 17:55:33.300986 Event: Register Account to SIP server
-On: 2011-10-14 17:55:33.301399 Event: 100
-On: 2011-10-14 17:55:33.301484 Event: Caller Handler Ready
-On: 2011-10-14 17:55:38.311987 Event: CALL START
-On: 2011-10-14 17:55:38.312053 Event: Make a call to: 015252423662
-On: 2011-10-14 17:55:47.779197 Event: Call Connecting
-On: 2011-10-14 17:55:47.779246 Event: 200
-On: 2011-10-14 17:55:47.783761 Event: Terminate
-On: 2011-10-14 17:55:47.783819 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:52.611246 ------------------
-On: 2011-10-14 17:55:52.650468 Event: try to Connect to Controller
-On: 2011-10-14 17:55:53.832742 Event: init state
-On: 2011-10-14 17:55:53.832968 Event: Register Account to SIP server
-On: 2011-10-14 17:55:53.833384 Event: 100
-On: 2011-10-14 17:55:53.833467 Event: Caller Handler Ready
-On: 2011-10-14 17:55:55.846416 Event: Terminate
-On: 2011-10-14 17:55:55.846453 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:36.775397 ------------------
-On: 2011-10-14 17:56:36.795759 Event: try to Connect to Controller
-On: 2011-10-14 17:56:38.097164 Event: init state
-On: 2011-10-14 17:56:38.097393 Event: Register Account to SIP server
-On: 2011-10-14 17:56:38.097862 Event: 100
-On: 2011-10-14 17:56:38.097950 Event: Caller Handler Ready
-On: 2011-10-14 17:56:43.106143 Event: CALL START
-On: 2011-10-14 17:56:43.106211 Event: Make a call to: 015782677224
-On: 2011-10-14 17:56:53.696081 Event: Call Connecting
-On: 2011-10-14 17:56:53.696130 Event: 200
-On: 2011-10-14 17:56:53.700618 Event: Terminate
-On: 2011-10-14 17:56:53.700677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:58.426964 ------------------
-On: 2011-10-14 17:56:58.447568 Event: try to Connect to Controller
-On: 2011-10-14 17:56:59.742432 Event: init state
-On: 2011-10-14 17:56:59.742661 Event: Register Account to SIP server
-On: 2011-10-14 17:56:59.743073 Event: 100
-On: 2011-10-14 17:56:59.743157 Event: Caller Handler Ready
-On: 2011-10-14 17:57:04.749801 Event: CALL START
-On: 2011-10-14 17:57:04.749855 Event: Make a call to: 015128040906
-On: 2011-10-14 17:57:16.572462 Event: Call Connecting
-On: 2011-10-14 17:57:16.572510 Event: 200
-On: 2011-10-14 17:57:16.576938 Event: Terminate
-On: 2011-10-14 17:57:16.576995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:57:21.305063 ------------------
-On: 2011-10-14 17:57:21.325519 Event: try to Connect to Controller
-On: 2011-10-14 17:57:22.619651 Event: init state
-On: 2011-10-14 17:57:22.619874 Event: Register Account to SIP server
-On: 2011-10-14 17:57:22.620283 Event: 100
-On: 2011-10-14 17:57:22.620368 Event: Caller Handler Ready
-On: 2011-10-14 17:57:27.629651 Event: CALL START
-On: 2011-10-14 17:57:27.629707 Event: Make a call to: 015252423662
-On: 2011-10-14 17:57:38.117497 Event: Call Connecting
-On: 2011-10-14 17:57:38.117547 Event: 200
-On: 2011-10-14 17:57:38.121937 Event: Terminate
-On: 2011-10-14 17:57:38.121997 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:57:42.847219 ------------------
-On: 2011-10-14 17:57:42.869064 Event: try to Connect to Controller
-On: 2011-10-14 17:57:44.164184 Event: init state
-On: 2011-10-14 17:57:44.164415 Event: Register Account to SIP server
-On: 2011-10-14 17:57:44.164832 Event: 100
-On: 2011-10-14 17:57:44.164920 Event: Caller Handler Ready
-On: 2011-10-14 17:57:48.170663 Event: Terminate
-On: 2011-10-14 17:57:48.170702 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:56.267915 ------------------
-On: 2011-10-14 17:58:56.288551 Event: try to Connect to Controller
-On: 2011-10-14 17:58:57.586794 Event: init state
-On: 2011-10-14 17:58:57.587025 Event: Register Account to SIP server
-On: 2011-10-14 17:58:57.587446 Event: 100
-On: 2011-10-14 17:58:57.587531 Event: Caller Handler Ready
-On: 2011-10-14 17:59:02.593799 Event: CALL START
-On: 2011-10-14 17:59:02.593853 Event: Make a call to: 015782677224
-On: 2011-10-14 17:59:12.108510 Event: Call Connecting
-On: 2011-10-14 17:59:12.108560 Event: 200
-On: 2011-10-14 17:59:12.112976 Event: Terminate
-On: 2011-10-14 17:59:12.113032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:59:16.841714 ------------------
-On: 2011-10-14 17:59:16.863182 Event: try to Connect to Controller
-On: 2011-10-14 17:59:18.154611 Event: init state
-On: 2011-10-14 17:59:18.154848 Event: Register Account to SIP server
-On: 2011-10-14 17:59:18.155261 Event: 100
-On: 2011-10-14 17:59:18.155345 Event: Caller Handler Ready
-On: 2011-10-14 17:59:23.163593 Event: CALL START
-On: 2011-10-14 17:59:23.163650 Event: Make a call to: 017678038038
-On: 2011-10-14 17:59:25.669296 Event: Call Connecting
-On: 2011-10-14 17:59:25.669345 Event: 200
-On: 2011-10-14 17:59:46.162168 Event: Terminate
-On: 2011-10-14 17:59:46.162206 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:59:50.919087 ------------------
-On: 2011-10-14 17:59:50.940260 Event: try to Connect to Controller
-On: 2011-10-14 17:59:52.234824 Event: init state
-On: 2011-10-14 17:59:52.235054 Event: Register Account to SIP server
-On: 2011-10-14 17:59:52.235475 Event: 100
-On: 2011-10-14 17:59:52.235560 Event: Caller Handler Ready
-On: 2011-10-14 17:59:57.241801 Event: CALL START
-On: 2011-10-14 17:59:57.241854 Event: Make a call to: 015128040906
-On: 2011-10-14 18:00:12.036109 Event: Call Connecting
-On: 2011-10-14 18:00:12.036159 Event: 200
-On: 2011-10-14 18:00:12.040570 Event: Terminate
-On: 2011-10-14 18:00:12.040629 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:00:16.761732 ------------------
-On: 2011-10-14 18:00:16.782092 Event: try to Connect to Controller
-On: 2011-10-14 18:00:18.083451 Event: init state
-On: 2011-10-14 18:00:18.083677 Event: Register Account to SIP server
-On: 2011-10-14 18:00:18.084089 Event: 100
-On: 2011-10-14 18:00:18.084176 Event: Caller Handler Ready
-On: 2011-10-14 18:00:20.094295 Event: Terminate
-On: 2011-10-14 18:00:20.094333 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:30:38.450417 ------------------
-On: 2011-10-14 18:30:38.470548 Event: try to Connect to Controller
-On: 2011-10-14 18:30:39.660564 Event: init state
-On: 2011-10-14 18:30:39.660799 Event: Register Account to SIP server
-On: 2011-10-14 18:30:39.661224 Event: 100
-On: 2011-10-14 18:30:39.661308 Event: Caller Handler Ready
-On: 2011-10-14 18:30:46.683607 Event: CALL START
-On: 2011-10-14 18:30:46.683666 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:30:46.714123 Event: Number busy or Offline
-On: 2011-10-14 18:30:46.714229 Event: CALL NOT OK
-On: 2011-10-14 18:30:46.714290 Event: Call Disconnected
-On: 2011-10-14 18:30:59.685936 Event: Terminate
-On: 2011-10-14 18:30:59.685996 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:33:08.266213 ------------------
-On: 2011-10-14 18:33:08.287252 Event: try to Connect to Controller
-On: 2011-10-14 18:33:09.582716 Event: init state
-On: 2011-10-14 18:33:09.582954 Event: Register Account to SIP server
-On: 2011-10-14 18:33:09.583371 Event: 100
-On: 2011-10-14 18:33:09.583457 Event: Caller Handler Ready
-On: 2011-10-14 18:33:16.601855 Event: CALL START
-On: 2011-10-14 18:33:16.601913 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:33:16.632653 Event: Number busy or Offline
-On: 2011-10-14 18:33:16.632758 Event: CALL NOT OK
-On: 2011-10-14 18:33:16.632818 Event: Call Disconnected
-On: 2011-10-14 18:33:29.602000 Event: Terminate
-On: 2011-10-14 18:33:29.602059 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:34:03.643288 ------------------
-On: 2011-10-14 18:34:03.664566 Event: try to Connect to Controller
-On: 2011-10-14 18:34:04.946982 Event: init state
-On: 2011-10-14 18:34:04.947231 Event: Register Account to SIP server
-On: 2011-10-14 18:34:04.948016 Event: 100
-On: 2011-10-14 18:34:04.948102 Event: Caller Handler Ready
-On: 2011-10-14 18:34:11.969795 Event: CALL START
-On: 2011-10-14 18:34:11.969855 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:34:12.012987 Event: Number busy or Offline
-On: 2011-10-14 18:34:12.013093 Event: CALL NOT OK
-On: 2011-10-14 18:34:12.013152 Event: Call Disconnected
-On: 2011-10-14 18:34:24.969934 Event: Terminate
-On: 2011-10-14 18:34:24.969994 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:14.242269 ------------------
-On: 2011-10-14 18:36:14.263091 Event: try to Connect to Controller
-On: 2011-10-14 18:36:15.507092 Event: init state
-On: 2011-10-14 18:36:15.507325 Event: Register Account to SIP server
-On: 2011-10-14 18:36:15.507747 Event: 100
-On: 2011-10-14 18:36:15.507837 Event: Caller Handler Ready
-On: 2011-10-14 18:36:19.515706 Event: Terminate
-On: 2011-10-14 18:36:19.515746 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:59.056259 ------------------
-On: 2011-10-14 18:36:59.076513 Event: try to Connect to Controller
-On: 2011-10-14 18:37:00.326739 Event: init state
-On: 2011-10-14 18:37:00.326982 Event: Register Account to SIP server
-On: 2011-10-14 18:37:00.327784 Event: 100
-On: 2011-10-14 18:37:00.327867 Event: Caller Handler Ready
-On: 2011-10-14 18:37:07.348145 Event: CALL START
-On: 2011-10-14 18:37:07.348206 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:37:07.372104 Event: Number busy or Offline
-On: 2011-10-14 18:37:07.372202 Event: CALL NOT OK
-On: 2011-10-14 18:37:07.372264 Event: Call Disconnected
-On: 2011-10-14 18:37:20.349949 Event: Terminate
-On: 2011-10-14 18:37:20.350007 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:45:24.035331 ------------------
-On: 2011-10-14 18:45:24.064884 Event: try to Connect to Controller
-On: 2011-10-14 18:45:25.290509 Event: init state
-On: 2011-10-14 18:45:25.290744 Event: Register Account to SIP server
-On: 2011-10-14 18:45:25.291167 Event: 100
-On: 2011-10-14 18:45:25.291255 Event: Caller Handler Ready
-On: 2011-10-14 18:45:32.309393 Event: CALL START
-On: 2011-10-14 18:45:32.309451 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:45:32.361537 Event: Number busy or Offline
-On: 2011-10-14 18:45:32.361641 Event: CALL NOT OK
-On: 2011-10-14 18:45:32.361700 Event: Call Disconnected
-On: 2011-10-14 18:45:45.310428 Event: Terminate
-On: 2011-10-14 18:45:45.310475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:46:55.021621 ------------------
-On: 2011-10-14 18:46:55.043937 Event: try to Connect to Controller
-On: 2011-10-14 18:46:56.254510 Event: init state
-On: 2011-10-14 18:46:56.254752 Event: Register Account to SIP server
-On: 2011-10-14 18:46:56.255534 Event: 100
-On: 2011-10-14 18:46:56.255623 Event: Caller Handler Ready
-On: 2011-10-14 18:47:03.277289 Event: CALL START
-On: 2011-10-14 18:47:03.277348 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:47:03.287809 Event: Number busy or Offline
-On: 2011-10-14 18:47:03.287915 Event: CALL NOT OK
-On: 2011-10-14 18:47:03.287976 Event: Call Disconnected
-On: 2011-10-14 18:47:16.275799 Event: Terminate
-On: 2011-10-14 18:47:16.275847 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:48:33.737226 ------------------
-On: 2011-10-14 18:48:33.757495 Event: try to Connect to Controller
-On: 2011-10-14 18:48:35.006292 Event: init state
-On: 2011-10-14 18:48:35.006536 Event: Register Account to SIP server
-On: 2011-10-14 18:48:35.006943 Event: 100
-On: 2011-10-14 18:48:35.007031 Event: Caller Handler Ready
-On: 2011-10-14 18:48:42.025833 Event: CALL START
-On: 2011-10-14 18:48:42.025895 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:48:42.051201 Event: Number busy or Offline
-On: 2011-10-14 18:48:42.051308 Event: CALL NOT OK
-On: 2011-10-14 18:48:42.051367 Event: Call Disconnected
-On: 2011-10-14 18:48:55.024461 Event: Terminate
-On: 2011-10-14 18:48:55.024510 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:10.440380 ------------------
-On: 2011-10-14 18:50:10.460918 Event: try to Connect to Controller
-On: 2011-10-14 18:50:11.721823 Event: init state
-On: 2011-10-14 18:50:11.722097 Event: Register Account to SIP server
-On: 2011-10-14 18:50:11.722521 Event: 100
-On: 2011-10-14 18:50:11.722607 Event: Caller Handler Ready
-On: 2011-10-14 18:50:15.727408 Event: Terminate
-On: 2011-10-14 18:50:15.727449 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:52.904211 ------------------
-On: 2011-10-14 18:50:52.924517 Event: try to Connect to Controller
-On: 2011-10-14 18:50:54.090434 Event: init state
-On: 2011-10-14 18:50:54.090694 Event: Register Account to SIP server
-On: 2011-10-14 18:50:54.091115 Event: 100
-On: 2011-10-14 18:50:54.091204 Event: Caller Handler Ready
-On: 2011-10-14 18:51:01.108851 Event: CALL START
-On: 2011-10-14 18:51:01.108916 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:51:01.167837 Event: Number busy or Offline
-On: 2011-10-14 18:51:01.167940 Event: CALL NOT OK
-On: 2011-10-14 18:51:01.168001 Event: Call Disconnected
-On: 2011-10-14 18:51:14.110106 Event: Terminate
-On: 2011-10-14 18:51:14.110154 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:54:58.897235 ------------------
-On: 2011-10-14 18:54:58.918107 Event: try to Connect to Controller
-On: 2011-10-14 18:55:00.173871 Event: init state
-On: 2011-10-14 18:55:00.174121 Event: Register Account to SIP server
-On: 2011-10-14 18:55:00.174896 Event: 100
-On: 2011-10-14 18:55:00.174985 Event: Caller Handler Ready
-On: 2011-10-14 18:55:07.196059 Event: CALL START
-On: 2011-10-14 18:55:07.196124 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:55:07.211779 Event: Number busy or Offline
-On: 2011-10-14 18:55:07.211883 Event: CALL NOT OK
-On: 2011-10-14 18:55:07.211942 Event: Call Disconnected
-On: 2011-10-14 18:55:20.194754 Event: Terminate
-On: 2011-10-14 18:55:20.194802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:55:45.758820 ------------------
-On: 2011-10-14 18:55:45.806079 Event: try to Connect to Controller
-On: 2011-10-14 18:55:46.741687 Event: init state
-On: 2011-10-14 18:55:46.742168 Event: Register Account to SIP server
-On: 2011-10-14 18:55:46.742593 Event: 100
-On: 2011-10-14 18:55:46.742680 Event: Caller Handler Ready
-On: 2011-10-14 18:55:53.762078 Event: CALL START
-On: 2011-10-14 18:55:53.762143 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:55:53.794531 Event: Number busy or Offline
-On: 2011-10-14 18:55:53.794638 Event: CALL NOT OK
-On: 2011-10-14 18:55:53.794699 Event: Call Disconnected
-On: 2011-10-14 18:56:06.759921 Event: Terminate
-On: 2011-10-14 18:56:06.759969 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:07.350174 ------------------
-On: 2011-10-14 19:14:07.370577 Event: try to Connect to Controller
-On: 2011-10-14 19:14:08.711183 Event: init state
-On: 2011-10-14 19:14:08.711421 Event: Register Account to SIP server
-On: 2011-10-14 19:14:08.711841 Event: 100
-On: 2011-10-14 19:14:08.711927 Event: Caller Handler Ready
-On: 2011-10-14 19:14:13.724586 Event: CALL START
-On: 2011-10-14 19:14:13.724648 Event: Make a call to: 017678038038
-On: 2011-10-14 19:14:16.289136 Event: Call Connecting
-On: 2011-10-14 19:14:16.289186 Event: 200
-On: 2011-10-14 19:14:26.719620 Event: Terminate
-On: 2011-10-14 19:14:26.719661 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:31.446526 ------------------
-On: 2011-10-14 19:14:31.466978 Event: try to Connect to Controller
-On: 2011-10-14 19:14:32.795097 Event: init state
-On: 2011-10-14 19:14:32.795343 Event: Register Account to SIP server
-On: 2011-10-14 19:14:32.795763 Event: 100
-On: 2011-10-14 19:14:32.795848 Event: Caller Handler Ready
-On: 2011-10-14 19:14:37.805378 Event: CALL START
-On: 2011-10-14 19:14:37.805439 Event: Make a call to: 015128040906
-On: 2011-10-14 19:14:54.552656 Event: Call Connecting
-On: 2011-10-14 19:14:54.552705 Event: 200
-On: 2011-10-14 19:14:54.557213 Event: Terminate
-On: 2011-10-14 19:14:54.557273 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:59.240302 ------------------
-On: 2011-10-14 19:14:59.260827 Event: try to Connect to Controller
-On: 2011-10-14 19:15:00.601124 Event: init state
-On: 2011-10-14 19:15:00.601378 Event: Register Account to SIP server
-On: 2011-10-14 19:15:00.601867 Event: 100
-On: 2011-10-14 19:15:00.601957 Event: Caller Handler Ready
-On: 2011-10-14 19:15:05.611735 Event: CALL START
-On: 2011-10-14 19:15:05.611796 Event: Make a call to: 015252423662
-On: 2011-10-14 19:15:14.672702 Event: Call Connecting
-On: 2011-10-14 19:15:14.672751 Event: 200
-On: 2011-10-14 19:15:14.677246 Event: Terminate
-On: 2011-10-14 19:15:14.677307 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:15:19.358484 ------------------
-On: 2011-10-14 19:15:19.378781 Event: try to Connect to Controller
-On: 2011-10-14 19:15:20.719382 Event: init state
-On: 2011-10-14 19:15:20.719618 Event: Register Account to SIP server
-On: 2011-10-14 19:15:20.720042 Event: 100
-On: 2011-10-14 19:15:20.720128 Event: Caller Handler Ready
-On: 2011-10-14 19:15:22.730021 Event: Terminate
-On: 2011-10-14 19:15:22.730062 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:04.491562 ------------------
-On: 2011-10-14 19:17:04.511766 Event: try to Connect to Controller
-On: 2011-10-14 19:17:05.849578 Event: init state
-On: 2011-10-14 19:17:05.849876 Event: Register Account to SIP server
-On: 2011-10-14 19:17:05.850302 Event: 100
-On: 2011-10-14 19:17:05.850392 Event: Caller Handler Ready
-On: 2011-10-14 19:17:10.859047 Event: CALL START
-On: 2011-10-14 19:17:10.859105 Event: Make a call to: 015782677224
-On: 2011-10-14 19:17:21.967085 Event: Call Connecting
-On: 2011-10-14 19:17:21.967136 Event: 200
-On: 2011-10-14 19:17:21.969643 Event: Terminate
-On: 2011-10-14 19:17:21.969702 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:26.656367 ------------------
-On: 2011-10-14 19:17:26.676933 Event: try to Connect to Controller
-On: 2011-10-14 19:17:28.014343 Event: init state
-On: 2011-10-14 19:17:28.014596 Event: Register Account to SIP server
-On: 2011-10-14 19:17:28.015375 Event: 100
-On: 2011-10-14 19:17:28.017672 Event: Caller Handler Ready
-On: 2011-10-14 19:17:33.026159 Event: CALL START
-On: 2011-10-14 19:17:33.026215 Event: Make a call to: 017678038038
-On: 2011-10-14 19:17:35.533869 Event: Call Connecting
-On: 2011-10-14 19:17:35.533915 Event: 200
-On: 2011-10-14 19:17:46.023446 Event: Terminate
-On: 2011-10-14 19:17:46.023489 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:50.741071 ------------------
-On: 2011-10-14 19:17:50.761877 Event: try to Connect to Controller
-On: 2011-10-14 19:17:52.098505 Event: init state
-On: 2011-10-14 19:17:52.098761 Event: Register Account to SIP server
-On: 2011-10-14 19:17:52.099177 Event: 100
-On: 2011-10-14 19:17:52.101673 Event: Caller Handler Ready
-On: 2011-10-14 19:17:57.112573 Event: CALL START
-On: 2011-10-14 19:17:57.112632 Event: Make a call to: 015128040906
-On: 2011-10-14 19:18:06.328702 Event: Call Connecting
-On: 2011-10-14 19:18:06.328751 Event: 200
-On: 2011-10-14 19:18:06.333267 Event: Terminate
-On: 2011-10-14 19:18:06.333325 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:18:11.010539 ------------------
-On: 2011-10-14 19:18:11.030914 Event: try to Connect to Controller
-On: 2011-10-14 19:18:12.371570 Event: init state
-On: 2011-10-14 19:18:12.371803 Event: Register Account to SIP server
-On: 2011-10-14 19:18:12.372577 Event: 100
-On: 2011-10-14 19:18:12.372663 Event: Caller Handler Ready
-On: 2011-10-14 19:18:16.380670 Event: Terminate
-On: 2011-10-14 19:18:16.380708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:52:09.398948 ------------------
-On: 2011-10-17 16:52:09.419834 Event: try to Connect to Controller
-On: 2011-10-17 16:52:10.659656 Event: init state
-On: 2011-10-17 16:52:10.659914 Event: Register Account to SIP server
-On: 2011-10-17 16:52:10.660700 Event: 100
-On: 2011-10-17 16:52:10.660790 Event: Caller Handler Ready
-On: 2011-10-17 16:52:15.668589 Event: CALL START
-On: 2011-10-17 16:52:15.668649 Event: Make a call to: 076120397898
-On: 2011-10-17 16:52:15.770875 Event: Call Connecting
-On: 2011-10-17 16:52:15.770926 Event: 200
-On: 2011-10-17 16:52:15.822232 Event: Call Disconnected
-On: 2011-10-17 16:52:16.722212 Event: Terminate
-On: 2011-10-17 16:52:16.722257 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:16:08.516493 ------------------
-On: 2011-10-17 17:16:08.536775 Event: try to Connect to Controller
-On: 2011-10-17 17:16:09.834471 Event: init state
-On: 2011-10-17 17:16:09.834722 Event: Register Account to SIP server
-On: 2011-10-17 17:16:09.835136 Event: 100
-On: 2011-10-17 17:16:09.835220 Event: Caller Handler Ready
-On: 2011-10-17 17:16:14.848659 Event: CALL START
-On: 2011-10-17 17:16:14.848713 Event: Make a call to: 015782677224
-On: 2011-10-17 17:16:42.842990 Event: Terminate
-On: 2011-10-17 17:16:42.843032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:16:47.641772 ------------------
-On: 2011-10-17 17:16:47.662399 Event: try to Connect to Controller
-On: 2011-10-17 17:16:48.926433 Event: init state
-On: 2011-10-17 17:16:48.926977 Event: Register Account to SIP server
-On: 2011-10-17 17:16:48.927418 Event: 100
-On: 2011-10-17 17:16:48.927505 Event: Caller Handler Ready
-On: 2011-10-17 17:16:53.940643 Event: CALL START
-On: 2011-10-17 17:16:53.940703 Event: Make a call to: 017678038038
-On: 2011-10-17 17:17:21.935382 Event: Terminate
-On: 2011-10-17 17:17:21.935425 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:17:26.730885 ------------------
-On: 2011-10-17 17:17:26.751230 Event: try to Connect to Controller
-On: 2011-10-17 17:17:28.024673 Event: init state
-On: 2011-10-17 17:17:28.024922 Event: Register Account to SIP server
-On: 2011-10-17 17:17:28.025347 Event: 100
-On: 2011-10-17 17:17:28.025426 Event: Caller Handler Ready
-On: 2011-10-17 17:17:33.036705 Event: CALL START
-On: 2011-10-17 17:17:33.036762 Event: Make a call to: 015128040906
-On: 2011-10-17 17:18:01.031833 Event: Terminate
-On: 2011-10-17 17:18:01.031876 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:18:05.832203 ------------------
-On: 2011-10-17 17:18:05.852589 Event: try to Connect to Controller
-On: 2011-10-17 17:18:07.121894 Event: init state
-On: 2011-10-17 17:18:07.122168 Event: Register Account to SIP server
-On: 2011-10-17 17:18:07.122593 Event: 100
-On: 2011-10-17 17:18:07.122680 Event: Caller Handler Ready
-On: 2011-10-17 17:18:12.129481 Event: CALL START
-On: 2011-10-17 17:18:12.129536 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:18:12.154424 Event: Number busy or Offline
-On: 2011-10-17 17:18:12.154528 Event: CALL NOT OK
-On: 2011-10-17 17:18:12.154589 Event: Call Disconnected
-On: 2011-10-17 17:18:25.128434 Event: Terminate
-On: 2011-10-17 17:18:25.128474 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:18:29.931905 ------------------
-On: 2011-10-17 17:18:29.952376 Event: try to Connect to Controller
-On: 2011-10-17 17:18:31.216570 Event: init state
-On: 2011-10-17 17:18:31.216812 Event: Register Account to SIP server
-On: 2011-10-17 17:18:31.217232 Event: 100
-On: 2011-10-17 17:18:31.217317 Event: Caller Handler Ready
-On: 2011-10-17 17:18:36.228682 Event: CALL START
-On: 2011-10-17 17:18:36.228737 Event: Make a call to: 015782677224
-On: 2011-10-17 17:19:04.224486 Event: Terminate
-On: 2011-10-17 17:19:04.224527 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:19:09.023560 ------------------
-On: 2011-10-17 17:19:09.043877 Event: try to Connect to Controller
-On: 2011-10-17 17:19:10.313082 Event: init state
-On: 2011-10-17 17:19:10.313333 Event: Register Account to SIP server
-On: 2011-10-17 17:19:10.313981 Event: 100
-On: 2011-10-17 17:19:10.314081 Event: Caller Handler Ready
-On: 2011-10-17 17:19:15.324010 Event: CALL START
-On: 2011-10-17 17:19:15.324066 Event: Make a call to: 017678038038
-On: 2011-10-17 17:19:43.320571 Event: Terminate
-On: 2011-10-17 17:19:43.320615 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:19:48.116493 ------------------
-On: 2011-10-17 17:19:48.137012 Event: try to Connect to Controller
-On: 2011-10-17 17:19:49.403338 Event: init state
-On: 2011-10-17 17:19:49.403584 Event: Register Account to SIP server
-On: 2011-10-17 17:19:49.403998 Event: 100
-On: 2011-10-17 17:19:49.404084 Event: Caller Handler Ready
-On: 2011-10-17 17:19:54.416668 Event: CALL START
-On: 2011-10-17 17:19:54.416723 Event: Make a call to: 015128040906
-On: 2011-10-17 17:20:22.411757 Event: Terminate
-On: 2011-10-17 17:20:22.411799 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:20:27.219150 ------------------
-On: 2011-10-17 17:20:27.239676 Event: try to Connect to Controller
-On: 2011-10-17 17:20:28.515728 Event: init state
-On: 2011-10-17 17:20:28.516013 Event: Register Account to SIP server
-On: 2011-10-17 17:20:28.516432 Event: 100
-On: 2011-10-17 17:20:28.516519 Event: Caller Handler Ready
-On: 2011-10-17 17:20:33.528717 Event: CALL START
-On: 2011-10-17 17:20:33.528775 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:20:33.545074 Event: Number busy or Offline
-On: 2011-10-17 17:20:33.545178 Event: CALL NOT OK
-On: 2011-10-17 17:20:33.545238 Event: Call Disconnected
-On: 2011-10-17 17:20:46.523910 Event: Terminate
-On: 2011-10-17 17:20:46.523951 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:20:51.295544 ------------------
-On: 2011-10-17 17:20:51.315650 Event: try to Connect to Controller
-On: 2011-10-17 17:20:52.620903 Event: init state
-On: 2011-10-17 17:20:52.621157 Event: Register Account to SIP server
-On: 2011-10-17 17:20:52.621808 Event: 100
-On: 2011-10-17 17:20:52.621910 Event: Caller Handler Ready
-On: 2011-10-17 17:20:57.632683 Event: CALL START
-On: 2011-10-17 17:20:57.632736 Event: Make a call to: 015782677224
-On: 2011-10-17 17:21:04.734133 Event: Call Connecting
-On: 2011-10-17 17:21:04.734182 Event: 200
-On: 2011-10-17 17:21:10.628429 Event: Terminate
-On: 2011-10-17 17:21:10.628470 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:21:15.472583 ------------------
-On: 2011-10-17 17:21:15.492823 Event: try to Connect to Controller
-On: 2011-10-17 17:21:16.709851 Event: init state
-On: 2011-10-17 17:21:16.710089 Event: Register Account to SIP server
-On: 2011-10-17 17:21:16.710513 Event: 100
-On: 2011-10-17 17:21:16.710600 Event: Caller Handler Ready
-On: 2011-10-17 17:21:21.720679 Event: CALL START
-On: 2011-10-17 17:21:21.720733 Event: Make a call to: 017678038038
-On: 2011-10-17 17:21:39.761557 Event: Call Connecting
-On: 2011-10-17 17:21:39.761605 Event: 200
-On: 2011-10-17 17:21:39.762687 Event: Terminate
-On: 2011-10-17 17:21:39.762727 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:21:44.559568 ------------------
-On: 2011-10-17 17:21:44.579574 Event: try to Connect to Controller
-On: 2011-10-17 17:21:45.846188 Event: init state
-On: 2011-10-17 17:21:45.846426 Event: Register Account to SIP server
-On: 2011-10-17 17:21:45.846842 Event: 100
-On: 2011-10-17 17:21:45.846929 Event: Caller Handler Ready
-On: 2011-10-17 17:21:50.856573 Event: CALL START
-On: 2011-10-17 17:21:50.856627 Event: Make a call to: 015128040906
-On: 2011-10-17 17:22:13.398998 Event: Call Connecting
-On: 2011-10-17 17:22:13.399045 Event: 200
-On: 2011-10-17 17:22:13.400156 Event: Terminate
-On: 2011-10-17 17:22:13.400196 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:22:18.187987 ------------------
-On: 2011-10-17 17:22:18.208179 Event: try to Connect to Controller
-On: 2011-10-17 17:22:19.489625 Event: init state
-On: 2011-10-17 17:22:19.490089 Event: Register Account to SIP server
-On: 2011-10-17 17:22:19.490514 Event: 100
-On: 2011-10-17 17:22:19.490600 Event: Caller Handler Ready
-On: 2011-10-17 17:22:24.500680 Event: CALL START
-On: 2011-10-17 17:22:24.500734 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:22:24.510512 Event: Number busy or Offline
-On: 2011-10-17 17:22:24.510614 Event: CALL NOT OK
-On: 2011-10-17 17:22:24.510674 Event: Call Disconnected
-On: 2011-10-17 17:22:37.496437 Event: Terminate
-On: 2011-10-17 17:22:37.496476 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:22:42.283517 ------------------
-On: 2011-10-17 17:22:42.303509 Event: try to Connect to Controller
-On: 2011-10-17 17:22:43.584657 Event: init state
-On: 2011-10-17 17:22:43.584905 Event: Register Account to SIP server
-On: 2011-10-17 17:22:43.585321 Event: 100
-On: 2011-10-17 17:22:43.585405 Event: Caller Handler Ready
-On: 2011-10-17 17:22:48.596679 Event: CALL START
-On: 2011-10-17 17:22:48.596732 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:22:48.653078 Event: Number busy or Offline
-On: 2011-10-17 17:22:48.653181 Event: CALL NOT OK
-On: 2011-10-17 17:22:48.653240 Event: Call Disconnected
-On: 2011-10-17 17:23:01.593305 Event: Terminate
-On: 2011-10-17 17:23:01.593346 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:06.677219 ------------------
-On: 2011-10-17 17:23:06.739270 Event: try to Connect to Controller
-On: 2011-10-17 17:23:07.690573 Event: init state
-On: 2011-10-17 17:23:07.690816 Event: Register Account to SIP server
-On: 2011-10-17 17:23:07.691240 Event: 100
-On: 2011-10-17 17:23:07.691323 Event: Caller Handler Ready
-On: 2011-10-17 17:23:12.704982 Event: CALL START
-On: 2011-10-17 17:23:12.705038 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:23:12.748059 Event: Number busy or Offline
-On: 2011-10-17 17:23:12.748159 Event: CALL NOT OK
-On: 2011-10-17 17:23:12.748219 Event: Call Disconnected
-On: 2011-10-17 17:23:25.707069 Event: Terminate
-On: 2011-10-17 17:23:25.707111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:30.503217 ------------------
-On: 2011-10-17 17:23:30.523673 Event: try to Connect to Controller
-On: 2011-10-17 17:23:31.801190 Event: init state
-On: 2011-10-17 17:23:31.801498 Event: Register Account to SIP server
-On: 2011-10-17 17:23:31.801924 Event: 100
-On: 2011-10-17 17:23:31.802007 Event: Caller Handler Ready
-On: 2011-10-17 17:23:36.812663 Event: CALL START
-On: 2011-10-17 17:23:36.812718 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:23:36.870493 Event: Number busy or Offline
-On: 2011-10-17 17:23:36.870594 Event: CALL NOT OK
-On: 2011-10-17 17:23:36.870652 Event: Call Disconnected
-On: 2011-10-17 17:23:49.808469 Event: Terminate
-On: 2011-10-17 17:23:49.808511 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:54.591446 ------------------
-On: 2011-10-17 17:23:54.611481 Event: try to Connect to Controller
-On: 2011-10-17 17:23:55.900432 Event: init state
-On: 2011-10-17 17:23:55.902300 Event: Register Account to SIP server
-On: 2011-10-17 17:23:55.902750 Event: 100
-On: 2011-10-17 17:23:55.902842 Event: Caller Handler Ready
-On: 2011-10-17 17:24:00.920656 Event: CALL START
-On: 2011-10-17 17:24:00.920711 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:24:00.965562 Event: Number busy or Offline
-On: 2011-10-17 17:24:00.965668 Event: CALL NOT OK
-On: 2011-10-17 17:24:00.965728 Event: Call Disconnected
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:00.091233 ------------------
-On: 2011-10-17 17:31:00.111552 Event: try to Connect to Controller
-On: 2011-10-17 17:31:01.412723 Event: init state
-On: 2011-10-17 17:31:01.412976 Event: Register Account to SIP server
-On: 2011-10-17 17:31:01.413966 Event: 100
-On: 2011-10-17 17:31:01.416308 Event: Caller Handler Ready
-On: 2011-10-17 17:31:06.421465 Event: CALL START
-On: 2011-10-17 17:31:06.421520 Event: Make a call to: 015782677224
-On: 2011-10-17 17:31:12.139177 Event: Call Connecting
-On: 2011-10-17 17:31:12.139226 Event: 200
-On: 2011-10-17 17:31:19.420453 Event: Terminate
-On: 2011-10-17 17:31:19.420495 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:24.197063 ------------------
-On: 2011-10-17 17:31:24.217709 Event: try to Connect to Controller
-On: 2011-10-17 17:31:25.499803 Event: init state
-On: 2011-10-17 17:31:25.500063 Event: Register Account to SIP server
-On: 2011-10-17 17:31:25.500846 Event: 100
-On: 2011-10-17 17:31:25.500929 Event: Caller Handler Ready
-On: 2011-10-17 17:31:30.509053 Event: CALL START
-On: 2011-10-17 17:31:30.509113 Event: Make a call to: 017678038038
-On: 2011-10-17 17:31:36.516289 Event: Call Connecting
-On: 2011-10-17 17:31:36.516337 Event: 200
-On: 2011-10-17 17:31:43.507451 Event: Terminate
-On: 2011-10-17 17:31:43.507492 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:48.310802 ------------------
-On: 2011-10-17 17:31:48.331025 Event: try to Connect to Controller
-On: 2011-10-17 17:31:49.588683 Event: init state
-On: 2011-10-17 17:31:49.588923 Event: Register Account to SIP server
-On: 2011-10-17 17:31:49.589341 Event: 100
-On: 2011-10-17 17:31:49.589426 Event: Caller Handler Ready
-On: 2011-10-17 17:31:54.600557 Event: CALL START
-On: 2011-10-17 17:31:54.600612 Event: Make a call to: 015128040906
-On: 2011-10-17 17:32:00.826171 Event: Call Connecting
-On: 2011-10-17 17:32:00.826221 Event: 200
-On: 2011-10-17 17:32:07.596421 Event: Terminate
-On: 2011-10-17 17:32:07.596462 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:32:12.439907 ------------------
-On: 2011-10-17 17:32:12.460316 Event: try to Connect to Controller
-On: 2011-10-17 17:32:13.690957 Event: init state
-On: 2011-10-17 17:32:13.691222 Event: Register Account to SIP server
-On: 2011-10-17 17:32:13.692002 Event: 100
-On: 2011-10-17 17:32:13.692088 Event: Caller Handler Ready
-On: 2011-10-17 17:32:18.704572 Event: CALL START
-On: 2011-10-17 17:32:18.704626 Event: Make a call to: 015252423662
-On: 2011-10-17 17:32:24.953325 Event: Call Connecting
-On: 2011-10-17 17:32:24.953374 Event: 200
-On: 2011-10-17 17:32:31.699670 Event: Terminate
-On: 2011-10-17 17:32:31.699712 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:39:30.367101 ------------------
-On: 2011-10-17 17:39:30.387423 Event: try to Connect to Controller
-On: 2011-10-17 17:39:31.694083 Event: init state
-On: 2011-10-17 17:39:31.694335 Event: Register Account to SIP server
-On: 2011-10-17 17:39:31.694755 Event: 100
-On: 2011-10-17 17:39:31.694841 Event: Caller Handler Ready
-On: 2011-10-17 17:39:36.704675 Event: CALL START
-On: 2011-10-17 17:39:36.704729 Event: Make a call to: 017678038038
-On: 2011-10-17 17:39:38.934298 Event: Call Connecting
-On: 2011-10-17 17:39:38.934347 Event: 200
-On: 2011-10-17 17:39:49.700412 Event: Terminate
-On: 2011-10-17 17:39:49.700453 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:39:54.506473 ------------------
-On: 2011-10-17 17:39:54.526480 Event: try to Connect to Controller
-On: 2011-10-17 17:39:55.792648 Event: init state
-On: 2011-10-17 17:39:55.792901 Event: Register Account to SIP server
-On: 2011-10-17 17:39:55.793877 Event: 100
-On: 2011-10-17 17:39:55.796138 Event: Caller Handler Ready
-On: 2011-10-17 17:40:00.804685 Event: CALL START
-On: 2011-10-17 17:40:00.804741 Event: Make a call to: 015128040906
-On: 2011-10-17 17:40:03.073285 Event: Call Connecting
-On: 2011-10-17 17:40:03.073333 Event: 200
-On: 2011-10-17 17:40:13.800372 Event: Terminate
-On: 2011-10-17 17:40:13.800412 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:18.591321 ------------------
-On: 2011-10-17 17:40:18.611578 Event: try to Connect to Controller
-On: 2011-10-17 17:40:19.882456 Event: init state
-On: 2011-10-17 17:40:19.882918 Event: Register Account to SIP server
-On: 2011-10-17 17:40:19.883361 Event: 100
-On: 2011-10-17 17:40:19.883449 Event: Caller Handler Ready
-On: 2011-10-17 17:40:24.896684 Event: CALL START
-On: 2011-10-17 17:40:24.896742 Event: Make a call to: 015252423662
-On: 2011-10-17 17:40:27.931247 Event: Call Connecting
-On: 2011-10-17 17:40:27.931297 Event: 200
-On: 2011-10-17 17:40:37.890974 Event: Terminate
-On: 2011-10-17 17:40:37.891015 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:42.678959 ------------------
-On: 2011-10-17 17:40:42.699420 Event: try to Connect to Controller
-On: 2011-10-17 17:40:42.699838 Event: Cant connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:52.709828 ------------------
-On: 2011-10-17 17:40:52.730059 Event: try to Connect to Controller
-On: 2011-10-17 17:40:54.026325 Event: init state
-On: 2011-10-17 17:40:54.026570 Event: Register Account to SIP server
-On: 2011-10-17 17:40:54.026990 Event: 100
-On: 2011-10-17 17:40:54.027078 Event: Caller Handler Ready
-On: 2011-10-17 17:41:01.048524 Event: CALL START
-On: 2011-10-17 17:41:01.048579 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:41:01.075405 Event: Number busy or Offline
-On: 2011-10-17 17:41:01.075576 Event: CALL NOT OK
-On: 2011-10-17 17:41:01.075645 Event: Call Disconnected
-On: 2011-10-17 17:41:14.046809 Event: Terminate
-On: 2011-10-17 17:41:14.046869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:18.191127 ------------------
-On: 2011-10-17 17:47:18.211417 Event: try to Connect to Controller
-On: 2011-10-17 17:47:19.522029 Event: init state
-On: 2011-10-17 17:47:19.522275 Event: Register Account to SIP server
-On: 2011-10-17 17:47:19.522697 Event: 100
-On: 2011-10-17 17:47:19.522781 Event: Caller Handler Ready
-On: 2011-10-17 17:47:24.531108 Event: CALL START
-On: 2011-10-17 17:47:24.531168 Event: Make a call to: 015782677224
-On: 2011-10-17 17:47:26.512733 Event: Call Connecting
-On: 2011-10-17 17:47:26.512783 Event: 200
-On: 2011-10-17 17:47:37.528481 Event: Terminate
-On: 2011-10-17 17:47:37.528524 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:42.426099 ------------------
-On: 2011-10-17 17:47:42.446325 Event: try to Connect to Controller
-On: 2011-10-17 17:47:43.616630 Event: init state
-On: 2011-10-17 17:47:43.616883 Event: Register Account to SIP server
-On: 2011-10-17 17:47:43.617298 Event: 100
-On: 2011-10-17 17:47:43.617381 Event: Caller Handler Ready
-On: 2011-10-17 17:47:48.626705 Event: CALL START
-On: 2011-10-17 17:47:48.626756 Event: Make a call to: 015128040906
-On: 2011-10-17 17:47:51.099342 Event: Call Connecting
-On: 2011-10-17 17:47:51.099392 Event: 200
-On: 2011-10-17 17:48:01.623851 Event: Terminate
-On: 2011-10-17 17:48:01.623895 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:48:06.458552 ------------------
-On: 2011-10-17 17:48:06.478494 Event: try to Connect to Controller
-On: 2011-10-17 17:48:07.716399 Event: init state
-On: 2011-10-17 17:48:07.716651 Event: Register Account to SIP server
-On: 2011-10-17 17:48:07.717073 Event: 100
-On: 2011-10-17 17:48:07.717161 Event: Caller Handler Ready
-On: 2011-10-17 17:48:12.728542 Event: CALL START
-On: 2011-10-17 17:48:12.728601 Event: Make a call to: 015252423662
-On: 2011-10-17 17:48:15.186422 Event: Call Connecting
-On: 2011-10-17 17:48:15.186471 Event: 200
-On: 2011-10-17 17:48:25.724497 Event: Terminate
-On: 2011-10-17 17:48:25.724538 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:21.399546 ------------------
-On: 2011-10-17 18:03:21.419503 Event: try to Connect to Controller
-On: 2011-10-17 18:03:22.726489 Event: init state
-On: 2011-10-17 18:03:22.726725 Event: Register Account to SIP server
-On: 2011-10-17 18:03:22.727511 Event: 100
-On: 2011-10-17 18:03:22.727595 Event: Caller Handler Ready
-On: 2011-10-17 18:03:27.737490 Event: CALL START
-On: 2011-10-17 18:03:27.737545 Event: Make a call to: 017678038038
-On: 2011-10-17 18:03:30.017149 Event: Call Connecting
-On: 2011-10-17 18:03:30.017197 Event: 200
-On: 2011-10-17 18:03:40.735133 Event: Terminate
-On: 2011-10-17 18:03:40.735175 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:45.525406 ------------------
-On: 2011-10-17 18:03:45.545795 Event: try to Connect to Controller
-On: 2011-10-17 18:03:46.819146 Event: init state
-On: 2011-10-17 18:03:46.819401 Event: Register Account to SIP server
-On: 2011-10-17 18:03:46.819826 Event: 100
-On: 2011-10-17 18:03:46.819909 Event: Caller Handler Ready
-On: 2011-10-17 18:03:51.828750 Event: CALL START
-On: 2011-10-17 18:03:51.828805 Event: Make a call to: 015128040906
-On: 2011-10-17 18:03:54.093963 Event: Call Connecting
-On: 2011-10-17 18:03:54.094013 Event: 200
-On: 2011-10-17 18:04:04.825842 Event: Terminate
-On: 2011-10-17 18:04:04.825885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:04:09.606379 ------------------
-On: 2011-10-17 18:04:09.626674 Event: try to Connect to Controller
-On: 2011-10-17 18:04:10.920456 Event: init state
-On: 2011-10-17 18:04:10.920708 Event: Register Account to SIP server
-On: 2011-10-17 18:04:10.921126 Event: 100
-On: 2011-10-17 18:04:10.921213 Event: Caller Handler Ready
-On: 2011-10-17 18:04:15.932702 Event: CALL START
-On: 2011-10-17 18:04:15.932755 Event: Make a call to: 015252423662
-On: 2011-10-17 18:04:18.432183 Event: Call Connecting
-On: 2011-10-17 18:04:18.432233 Event: 200
-On: 2011-10-17 18:04:28.928407 Event: Terminate
-On: 2011-10-17 18:04:28.928447 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:04:33.829925 ------------------
-On: 2011-10-17 18:04:33.850037 Event: try to Connect to Controller
-On: 2011-10-17 18:04:35.014061 Event: init state
-On: 2011-10-17 18:04:35.014316 Event: Register Account to SIP server
-On: 2011-10-17 18:04:35.015092 Event: 100
-On: 2011-10-17 18:04:35.017294 Event: Caller Handler Ready
-On: 2011-10-17 18:04:40.028673 Event: CALL START
-On: 2011-10-17 18:04:40.028740 Event: Make a call to: 07612034661449
-On: 2011-10-17 18:04:40.047991 Event: Number busy or Offline
-On: 2011-10-17 18:04:40.048098 Event: CALL NOT OK
-On: 2011-10-17 18:04:40.048159 Event: Call Disconnected
-On: 2011-10-17 18:04:53.021848 Event: Terminate
-On: 2011-10-17 18:04:53.021891 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:26.411494 ------------------
-On: 2011-10-17 18:10:26.431993 Event: try to Connect to Controller
-On: 2011-10-17 18:10:27.730429 Event: init state
-On: 2011-10-17 18:10:27.730681 Event: Register Account to SIP server
-On: 2011-10-17 18:10:27.731103 Event: 100
-On: 2011-10-17 18:10:27.731190 Event: Caller Handler Ready
-On: 2011-10-17 18:10:32.744654 Event: CALL START
-On: 2011-10-17 18:10:32.744710 Event: Make a call to: 015782677224
-On: 2011-10-17 18:10:34.978364 Event: Call Connecting
-On: 2011-10-17 18:10:34.978412 Event: 200
-On: 2011-10-17 18:10:45.737832 Event: Terminate
-On: 2011-10-17 18:10:45.737874 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:50.526383 ------------------
-On: 2011-10-17 18:10:50.546550 Event: try to Connect to Controller
-On: 2011-10-17 18:10:51.826373 Event: init state
-On: 2011-10-17 18:10:51.826641 Event: Register Account to SIP server
-On: 2011-10-17 18:10:51.827078 Event: 100
-On: 2011-10-17 18:10:51.827167 Event: Caller Handler Ready
-On: 2011-10-17 18:10:56.840650 Event: CALL START
-On: 2011-10-17 18:10:56.840702 Event: Make a call to: 017678038038
-On: 2011-10-17 18:10:59.097393 Event: Call Connecting
-On: 2011-10-17 18:10:59.097470 Event: 200
-On: 2011-10-17 18:11:09.835346 Event: Terminate
-On: 2011-10-17 18:11:09.835387 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:11:14.625251 ------------------
-On: 2011-10-17 18:11:14.645799 Event: try to Connect to Controller
-On: 2011-10-17 18:11:15.926933 Event: init state
-On: 2011-10-17 18:11:15.927183 Event: Register Account to SIP server
-On: 2011-10-17 18:11:15.927605 Event: 100
-On: 2011-10-17 18:11:15.927692 Event: Caller Handler Ready
-On: 2011-10-17 18:11:20.940769 Event: CALL START
-On: 2011-10-17 18:11:20.940824 Event: Make a call to: 015252423662
-On: 2011-10-17 18:11:22.432173 Event: Call Connecting
-On: 2011-10-17 18:11:22.432223 Event: 200
-On: 2011-10-17 18:11:33.935838 Event: Terminate
-On: 2011-10-17 18:11:33.935881 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:31:37.645224 ------------------
-On: 2011-10-20 12:31:37.665103 Event: try to Connect to Controller
-On: 2011-10-20 12:31:38.989989 Event: init state
-On: 2011-10-20 12:31:38.990241 Event: Register Account to SIP server
-On: 2011-10-20 12:31:38.990660 Event: 100
-On: 2011-10-20 12:31:38.990746 Event: Caller Handler Ready
-On: 2011-10-20 12:31:44.004806 Event: CALL START
-On: 2011-10-20 12:31:44.004859 Event: Make a call to: 017678038038
-On: 2011-10-20 12:31:46.270969 Event: Call Connecting
-On: 2011-10-20 12:31:46.271017 Event: 200
-On: 2011-10-20 12:31:55.996303 Event: Terminate
-On: 2011-10-20 12:31:55.996346 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:00.780216 ------------------
-On: 2011-10-20 12:32:00.800471 Event: try to Connect to Controller
-On: 2011-10-20 12:32:02.081959 Event: init state
-On: 2011-10-20 12:32:02.082218 Event: Register Account to SIP server
-On: 2011-10-20 12:32:02.082638 Event: 100
-On: 2011-10-20 12:32:02.082724 Event: Caller Handler Ready
-On: 2011-10-20 12:32:07.092825 Event: CALL START
-On: 2011-10-20 12:32:07.092884 Event: Make a call to: 015128040906
-On: 2011-10-20 12:32:09.606491 Event: Call Connecting
-On: 2011-10-20 12:32:09.606538 Event: 200
-On: 2011-10-20 12:32:19.087643 Event: Terminate
-On: 2011-10-20 12:32:19.087685 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:23.845144 ------------------
-On: 2011-10-20 12:32:23.865256 Event: try to Connect to Controller
-On: 2011-10-20 12:32:25.171609 Event: init state
-On: 2011-10-20 12:32:25.172055 Event: Register Account to SIP server
-On: 2011-10-20 12:32:25.172495 Event: 100
-On: 2011-10-20 12:32:25.172579 Event: Caller Handler Ready
-On: 2011-10-20 12:32:30.184819 Event: CALL START
-On: 2011-10-20 12:32:30.184873 Event: Make a call to: 015252423662
-On: 2011-10-20 12:32:32.718896 Event: Call Connecting
-On: 2011-10-20 12:32:32.718943 Event: 200
-On: 2011-10-20 12:32:42.179176 Event: Terminate
-On: 2011-10-20 12:32:42.179218 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:46.943032 ------------------
-On: 2011-10-20 12:32:46.963427 Event: try to Connect to Controller
-On: 2011-10-20 12:32:48.241836 Event: init state
-On: 2011-10-20 12:32:48.242095 Event: Register Account to SIP server
-On: 2011-10-20 12:32:48.242514 Event: 100
-On: 2011-10-20 12:32:48.242599 Event: Caller Handler Ready
-On: 2011-10-20 12:32:58.262860 Event: CALL START
-On: 2011-10-20 12:32:58.262916 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:32:58.323988 Event: Number busy or Offline
-On: 2011-10-20 12:32:58.324093 Event: CALL NOT OK
-On: 2011-10-20 12:32:58.324154 Event: Call Disconnected
-On: 2011-10-20 12:33:10.262346 Event: Terminate
-On: 2011-10-20 12:33:10.262392 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:33:14.971024 ------------------
-On: 2011-10-20 12:33:14.991748 Event: try to Connect to Controller
-On: 2011-10-20 12:33:16.303674 Event: init state
-On: 2011-10-20 12:33:16.303919 Event: Register Account to SIP server
-On: 2011-10-20 12:33:16.304346 Event: 100
-On: 2011-10-20 12:33:16.304434 Event: Caller Handler Ready
-On: 2011-10-20 12:33:26.325804 Event: CALL START
-On: 2011-10-20 12:33:26.325874 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:33:26.360797 Event: Number busy or Offline
-On: 2011-10-20 12:33:26.360903 Event: CALL NOT OK
-On: 2011-10-20 12:33:26.360965 Event: Call Disconnected
-On: 2011-10-20 12:33:38.325394 Event: Terminate
-On: 2011-10-20 12:33:38.325450 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:42:46.934458 ------------------
-On: 2011-10-20 12:42:46.954899 Event: try to Connect to Controller
-On: 2011-10-20 12:42:48.185769 Event: init state
-On: 2011-10-20 12:42:48.186201 Event: Register Account to SIP server
-On: 2011-10-20 12:42:48.186626 Event: 100
-On: 2011-10-20 12:42:48.186712 Event: Receiver Handler Ready
-On: 2011-10-20 12:42:48.187130 Event: RECEIVE START
-On: 2011-10-20 12:42:50.232558 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 12:42:50.233063 Event: Call Connecting
-On: 2011-10-20 12:42:50.233104 Event: 200
-On: 2011-10-20 12:42:50.233359 Event: Answer call
-On: 2011-10-20 12:42:50.233414 Event: Hangup call
-On: 2011-10-20 12:42:50.233589 Event: CALL OK
-On: 2011-10-20 12:42:50.284273 Event: Call Disconnected
-On: 2011-10-20 12:42:51.732958 Event: Terminate
-On: 2011-10-20 12:42:51.733014 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:42:56.496696 ------------------
-On: 2011-10-20 12:42:56.517360 Event: try to Connect to Controller
-On: 2011-10-20 12:42:57.778492 Event: init state
-On: 2011-10-20 12:42:57.778731 Event: Register Account to SIP server
-On: 2011-10-20 12:42:57.779510 Event: 100
-On: 2011-10-20 12:42:57.781938 Event: Caller Handler Ready
-On: 2011-10-20 12:43:02.788826 Event: CALL START
-On: 2011-10-20 12:43:02.788882 Event: Make a call to: 015782677224
-On: 2011-10-20 12:43:05.070307 Event: Call Connecting
-On: 2011-10-20 12:43:05.070354 Event: 200
-On: 2011-10-20 12:43:14.786147 Event: Terminate
-On: 2011-10-20 12:43:14.786186 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:43:19.625539 ------------------
-On: 2011-10-20 12:43:19.645960 Event: try to Connect to Controller
-On: 2011-10-20 12:43:20.873875 Event: init state
-On: 2011-10-20 12:43:20.874410 Event: Register Account to SIP server
-On: 2011-10-20 12:43:20.874880 Event: 100
-On: 2011-10-20 12:43:20.874963 Event: Caller Handler Ready
-On: 2011-10-20 12:43:25.884936 Event: CALL START
-On: 2011-10-20 12:43:25.884995 Event: Make a call to: 017678038038
-On: 2011-10-20 12:43:27.844770 Event: Call Connecting
-On: 2011-10-20 12:43:27.844815 Event: 200
-On: 2011-10-20 12:43:37.879614 Event: Terminate
-On: 2011-10-20 12:43:37.879654 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:43:42.695466 ------------------
-On: 2011-10-20 12:43:42.716079 Event: try to Connect to Controller
-On: 2011-10-20 12:43:43.962693 Event: init state
-On: 2011-10-20 12:43:43.962940 Event: Register Account to SIP server
-On: 2011-10-20 12:43:43.963354 Event: 100
-On: 2011-10-20 12:43:43.963441 Event: Caller Handler Ready
-On: 2011-10-20 12:43:48.969733 Event: CALL START
-On: 2011-10-20 12:43:48.969789 Event: Make a call to: 015128040906
-On: 2011-10-20 12:43:50.699760 Event: Call Connecting
-On: 2011-10-20 12:43:50.699806 Event: 200
-On: 2011-10-20 12:44:00.969884 Event: Terminate
-On: 2011-10-20 12:44:00.969927 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:44:05.783661 ------------------
-On: 2011-10-20 12:44:05.804031 Event: try to Connect to Controller
-On: 2011-10-20 12:44:07.055399 Event: init state
-On: 2011-10-20 12:44:07.055648 Event: Register Account to SIP server
-On: 2011-10-20 12:44:07.056074 Event: 100
-On: 2011-10-20 12:44:07.056158 Event: Caller Handler Ready
-On: 2011-10-20 12:44:12.063697 Event: CALL START
-On: 2011-10-20 12:44:12.063754 Event: Make a call to: 015252423662
-On: 2011-10-20 12:44:13.839020 Event: Call Connecting
-On: 2011-10-20 12:44:13.839067 Event: 200
-On: 2011-10-20 12:44:24.062701 Event: Terminate
-On: 2011-10-20 12:44:24.062743 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:50:32.154686 ------------------
-On: 2011-10-20 12:50:32.175190 Event: try to Connect to Controller
-On: 2011-10-20 12:50:33.108947 Event: init state
-On: 2011-10-20 12:50:33.109187 Event: Register Account to SIP server
-On: 2011-10-20 12:50:33.109612 Event: 100
-On: 2011-10-20 12:50:33.109700 Event: Receiver Handler Ready
-On: 2011-10-20 12:50:33.110029 Event: RECEIVE START
-On: 2011-10-20 12:50:35.148315 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 12:50:35.148812 Event: Call Connecting
-On: 2011-10-20 12:50:35.148853 Event: 200
-On: 2011-10-20 12:50:35.149108 Event: Answer call
-On: 2011-10-20 12:50:35.149160 Event: Hangup call
-On: 2011-10-20 12:50:35.149334 Event: CALL OK
-On: 2011-10-20 12:50:35.200021 Event: Call Disconnected
-On: 2011-10-20 12:50:36.541576 Event: Terminate
-On: 2011-10-20 12:50:36.541621 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:50:41.263047 ------------------
-On: 2011-10-20 12:50:41.283622 Event: try to Connect to Controller
-On: 2011-10-20 12:50:42.589123 Event: init state
-On: 2011-10-20 12:50:42.589367 Event: Register Account to SIP server
-On: 2011-10-20 12:50:42.589977 Event: 100
-On: 2011-10-20 12:50:42.590077 Event: Caller Handler Ready
-On: 2011-10-20 12:50:47.597788 Event: CALL START
-On: 2011-10-20 12:50:47.597863 Event: Make a call to: 017678038038
-On: 2011-10-20 12:50:49.371339 Event: Call Connecting
-On: 2011-10-20 12:50:49.371387 Event: 200
-On: 2011-10-20 12:50:59.595783 Event: Terminate
-On: 2011-10-20 12:50:59.595822 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:51:04.391124 ------------------
-On: 2011-10-20 12:51:04.411647 Event: try to Connect to Controller
-On: 2011-10-20 12:51:05.678645 Event: init state
-On: 2011-10-20 12:51:05.678988 Event: Register Account to SIP server
-On: 2011-10-20 12:51:05.679415 Event: 100
-On: 2011-10-20 12:51:05.679501 Event: Caller Handler Ready
-On: 2011-10-20 12:51:10.691644 Event: CALL START
-On: 2011-10-20 12:51:10.691698 Event: Make a call to: 015128040906
-On: 2011-10-20 12:51:13.164664 Event: Call Connecting
-On: 2011-10-20 12:51:13.164711 Event: 200
-On: 2011-10-20 12:51:22.685938 Event: Terminate
-On: 2011-10-20 12:51:22.685981 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:51:27.482203 ------------------
-On: 2011-10-20 12:51:27.502625 Event: try to Connect to Controller
-On: 2011-10-20 12:51:28.771463 Event: init state
-On: 2011-10-20 12:51:28.771711 Event: Register Account to SIP server
-On: 2011-10-20 12:51:28.772132 Event: 100
-On: 2011-10-20 12:51:28.772220 Event: Caller Handler Ready
-On: 2011-10-20 12:51:33.782400 Event: CALL START
-On: 2011-10-20 12:51:33.782459 Event: Make a call to: 015252423662
-On: 2011-10-20 12:51:36.308306 Event: Call Connecting
-On: 2011-10-20 12:51:36.308353 Event: 200
-On: 2011-10-20 12:51:45.778735 Event: Terminate
-On: 2011-10-20 12:51:45.778777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:13.265235 ------------------
-On: 2011-10-20 12:57:13.290966 Event: try to Connect to Controller
-On: 2011-10-20 12:57:14.441943 Event: init state
-On: 2011-10-20 12:57:14.442180 Event: Register Account to SIP server
-On: 2011-10-20 12:57:14.442602 Event: 100
-On: 2011-10-20 12:57:14.442687 Event: Receiver Handler Ready
-On: 2011-10-20 12:57:14.442953 Event: RECEIVE START
-On: 2011-10-20 12:57:16.470094 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 12:57:16.470594 Event: Call Connecting
-On: 2011-10-20 12:57:16.470634 Event: 200
-On: 2011-10-20 12:57:16.470891 Event: Answer call
-On: 2011-10-20 12:57:16.470943 Event: Hangup call
-On: 2011-10-20 12:57:16.471120 Event: CALL OK
-On: 2011-10-20 12:57:16.521851 Event: Call Disconnected
-On: 2011-10-20 12:57:17.898634 Event: Terminate
-On: 2011-10-20 12:57:17.898689 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:22.641066 ------------------
-On: 2011-10-20 12:57:22.661379 Event: try to Connect to Controller
-On: 2011-10-20 12:57:23.943842 Event: init state
-On: 2011-10-20 12:57:23.944108 Event: Register Account to SIP server
-On: 2011-10-20 12:57:23.944525 Event: 100
-On: 2011-10-20 12:57:23.945808 Event: Caller Handler Ready
-On: 2011-10-20 12:57:28.956823 Event: CALL START
-On: 2011-10-20 12:57:28.956879 Event: Make a call to: 015782677224
-On: 2011-10-20 12:57:30.700147 Event: Call Connecting
-On: 2011-10-20 12:57:30.700194 Event: 200
-On: 2011-10-20 12:57:40.951291 Event: Terminate
-On: 2011-10-20 12:57:40.951333 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:45.755065 ------------------
-On: 2011-10-20 12:57:45.782078 Event: try to Connect to Controller
-On: 2011-10-20 12:57:47.035565 Event: init state
-On: 2011-10-20 12:57:47.035912 Event: Register Account to SIP server
-On: 2011-10-20 12:57:47.036342 Event: 100
-On: 2011-10-20 12:57:47.036429 Event: Caller Handler Ready
-On: 2011-10-20 12:57:52.048843 Event: CALL START
-On: 2011-10-20 12:57:52.048899 Event: Make a call to: 017678038038
-On: 2011-10-20 12:57:53.774258 Event: Call Connecting
-On: 2011-10-20 12:57:53.774305 Event: 200
-On: 2011-10-20 12:58:04.043135 Event: Terminate
-On: 2011-10-20 12:58:04.043178 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:58:08.900518 ------------------
-On: 2011-10-20 12:58:08.921122 Event: try to Connect to Controller
-On: 2011-10-20 12:58:10.126774 Event: init state
-On: 2011-10-20 12:58:10.127007 Event: Register Account to SIP server
-On: 2011-10-20 12:58:10.127429 Event: 100
-On: 2011-10-20 12:58:10.127582 Event: Caller Handler Ready
-On: 2011-10-20 12:58:15.140732 Event: CALL START
-On: 2011-10-20 12:58:15.140789 Event: Make a call to: 015128040906
-On: 2011-10-20 12:58:17.878717 Event: Call Connecting
-On: 2011-10-20 12:58:17.878766 Event: 200
-On: 2011-10-20 12:58:27.134800 Event: Terminate
-On: 2011-10-20 12:58:27.134842 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:06:29.911603 ------------------
-On: 2011-10-20 13:06:29.932025 Event: try to Connect to Controller
-On: 2011-10-20 13:06:31.233289 Event: init state
-On: 2011-10-20 13:06:31.233542 Event: Register Account to SIP server
-On: 2011-10-20 13:06:31.234028 Event: 100
-On: 2011-10-20 13:06:31.234117 Event: Receiver Handler Ready
-On: 2011-10-20 13:06:31.234655 Event: RECEIVE START
-On: 2011-10-20 13:06:33.821543 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:06:33.822273 Event: Call Connecting
-On: 2011-10-20 13:06:33.822321 Event: 200
-On: 2011-10-20 13:06:33.822571 Event: Answer call
-On: 2011-10-20 13:06:33.822623 Event: Hangup call
-On: 2011-10-20 13:06:33.822802 Event: CALL OK
-On: 2011-10-20 13:06:33.873478 Event: Call Disconnected
-On: 2011-10-20 13:06:35.249484 Event: Terminate
-On: 2011-10-20 13:06:35.249542 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:06:39.986753 ------------------
-On: 2011-10-20 13:06:40.006751 Event: try to Connect to Controller
-On: 2011-10-20 13:06:41.296351 Event: init state
-On: 2011-10-20 13:06:41.296602 Event: Register Account to SIP server
-On: 2011-10-20 13:06:41.297009 Event: 100
-On: 2011-10-20 13:06:41.297095 Event: Caller Handler Ready
-On: 2011-10-20 13:06:46.306560 Event: CALL START
-On: 2011-10-20 13:06:46.306615 Event: Make a call to: 017678038038
-On: 2011-10-20 13:06:48.451003 Event: Call Connecting
-On: 2011-10-20 13:06:48.451050 Event: 200
-On: 2011-10-20 13:06:58.303600 Event: Terminate
-On: 2011-10-20 13:06:58.303641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:03.081301 ------------------
-On: 2011-10-20 13:07:03.102063 Event: try to Connect to Controller
-On: 2011-10-20 13:07:04.386746 Event: init state
-On: 2011-10-20 13:07:04.387269 Event: Register Account to SIP server
-On: 2011-10-20 13:07:04.387717 Event: 100
-On: 2011-10-20 13:07:04.387804 Event: Caller Handler Ready
-On: 2011-10-20 13:07:09.398341 Event: CALL START
-On: 2011-10-20 13:07:09.398400 Event: Make a call to: 015128040906
-On: 2011-10-20 13:07:11.343432 Event: Call Connecting
-On: 2011-10-20 13:07:11.343479 Event: 200
-On: 2011-10-20 13:07:21.394368 Event: Terminate
-On: 2011-10-20 13:07:21.394409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:26.167222 ------------------
-On: 2011-10-20 13:07:26.187436 Event: try to Connect to Controller
-On: 2011-10-20 13:07:27.478650 Event: init state
-On: 2011-10-20 13:07:27.478904 Event: Register Account to SIP server
-On: 2011-10-20 13:07:27.479320 Event: 100
-On: 2011-10-20 13:07:27.479408 Event: Caller Handler Ready
-On: 2011-10-20 13:07:32.492945 Event: CALL START
-On: 2011-10-20 13:07:32.493003 Event: Make a call to: 015252423662
-On: 2011-10-20 13:07:34.222889 Event: Call Connecting
-On: 2011-10-20 13:07:34.222936 Event: 200
-On: 2011-10-20 13:07:44.485979 Event: Terminate
-On: 2011-10-20 13:07:44.486023 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:49.267054 ------------------
-On: 2011-10-20 13:07:49.286956 Event: try to Connect to Controller
-On: 2011-10-20 13:07:50.561241 Event: init state
-On: 2011-10-20 13:07:50.561489 Event: Register Account to SIP server
-On: 2011-10-20 13:07:50.562113 Event: 100
-On: 2011-10-20 13:07:50.562210 Event: Caller Handler Ready
-On: 2011-10-20 13:08:00.583686 Event: CALL START
-On: 2011-10-20 13:08:00.583743 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:08:00.599846 Event: Number busy or Offline
-On: 2011-10-20 13:08:00.599950 Event: CALL NOT OK
-On: 2011-10-20 13:08:00.600011 Event: Call Disconnected
-On: 2011-10-20 13:08:12.580691 Event: Terminate
-On: 2011-10-20 13:08:12.580735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:08:17.313551 ------------------
-On: 2011-10-20 13:08:17.334024 Event: try to Connect to Controller
-On: 2011-10-20 13:08:18.622725 Event: init state
-On: 2011-10-20 13:08:18.622974 Event: Register Account to SIP server
-On: 2011-10-20 13:08:18.623388 Event: 100
-On: 2011-10-20 13:08:18.623474 Event: Caller Handler Ready
-On: 2011-10-20 13:08:28.644384 Event: CALL START
-On: 2011-10-20 13:08:28.644438 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:08:28.697482 Event: Number busy or Offline
-On: 2011-10-20 13:08:28.697589 Event: CALL NOT OK
-On: 2011-10-20 13:08:28.697648 Event: Call Disconnected
-On: 2011-10-20 13:08:40.641946 Event: Terminate
-On: 2011-10-20 13:08:40.641991 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:17:32.849517 ------------------
-On: 2011-10-20 13:17:32.870777 Event: try to Connect to Controller
-On: 2011-10-20 13:17:34.160657 Event: init state
-On: 2011-10-20 13:17:34.160901 Event: Register Account to SIP server
-On: 2011-10-20 13:17:34.161680 Event: 100
-On: 2011-10-20 13:17:34.162295 Event: Receiver Handler Ready
-On: 2011-10-20 13:17:34.162398 Event: RECEIVE START
-On: 2011-10-20 13:17:36.043783 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:17:36.044281 Event: Call Connecting
-On: 2011-10-20 13:17:36.044322 Event: 200
-On: 2011-10-20 13:17:36.044574 Event: Answer call
-On: 2011-10-20 13:17:36.044627 Event: Hangup call
-On: 2011-10-20 13:17:36.044803 Event: CALL OK
-On: 2011-10-20 13:17:36.095486 Event: Call Disconnected
-On: 2011-10-20 13:17:37.487129 Event: Terminate
-On: 2011-10-20 13:17:37.487183 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:17:42.221481 ------------------
-On: 2011-10-20 13:17:42.242270 Event: try to Connect to Controller
-On: 2011-10-20 13:17:43.533332 Event: init state
-On: 2011-10-20 13:17:43.533576 Event: Register Account to SIP server
-On: 2011-10-20 13:17:43.534205 Event: 100
-On: 2011-10-20 13:17:43.534302 Event: Caller Handler Ready
-On: 2011-10-20 13:17:48.545598 Event: CALL START
-On: 2011-10-20 13:17:48.545655 Event: Make a call to: 015782677224
-On: 2011-10-20 13:17:50.074064 Event: Call Connecting
-On: 2011-10-20 13:17:50.074112 Event: 200
-On: 2011-10-20 13:18:00.539899 Event: Terminate
-On: 2011-10-20 13:18:00.539940 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:05.328634 ------------------
-On: 2011-10-20 13:18:05.348886 Event: try to Connect to Controller
-On: 2011-10-20 13:18:06.622993 Event: init state
-On: 2011-10-20 13:18:06.623521 Event: Register Account to SIP server
-On: 2011-10-20 13:18:06.623971 Event: 100
-On: 2011-10-20 13:18:06.624060 Event: Caller Handler Ready
-On: 2011-10-20 13:18:11.637222 Event: CALL START
-On: 2011-10-20 13:18:11.637282 Event: Make a call to: 017678038038
-On: 2011-10-20 13:18:13.852087 Event: Call Connecting
-On: 2011-10-20 13:18:13.852134 Event: 200
-On: 2011-10-20 13:18:23.630096 Event: Terminate
-On: 2011-10-20 13:18:23.630138 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:28.464227 ------------------
-On: 2011-10-20 13:18:28.508649 Event: try to Connect to Controller
-On: 2011-10-20 13:18:29.714602 Event: init state
-On: 2011-10-20 13:18:29.714853 Event: Register Account to SIP server
-On: 2011-10-20 13:18:29.715607 Event: 100
-On: 2011-10-20 13:18:29.717967 Event: Caller Handler Ready
-On: 2011-10-20 13:18:34.725734 Event: CALL START
-On: 2011-10-20 13:18:34.725791 Event: Make a call to: 015128040906
-On: 2011-10-20 13:18:36.970939 Event: Call Connecting
-On: 2011-10-20 13:18:36.970987 Event: 200
-On: 2011-10-20 13:18:46.726382 Event: Terminate
-On: 2011-10-20 13:18:46.726424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:51.479351 ------------------
-On: 2011-10-20 13:18:51.499392 Event: try to Connect to Controller
-On: 2011-10-20 13:18:52.810728 Event: init state
-On: 2011-10-20 13:18:52.810976 Event: Register Account to SIP server
-On: 2011-10-20 13:18:52.811387 Event: 100
-On: 2011-10-20 13:18:52.811472 Event: Caller Handler Ready
-On: 2011-10-20 13:18:57.824846 Event: CALL START
-On: 2011-10-20 13:18:57.824902 Event: Make a call to: 07612034661449
-On: 2011-10-20 13:18:57.849387 Event: Number busy or Offline
-On: 2011-10-20 13:18:57.849489 Event: CALL NOT OK
-On: 2011-10-20 13:18:57.849548 Event: Call Disconnected
-On: 2011-10-20 13:19:09.822369 Event: Terminate
-On: 2011-10-20 13:19:09.822409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:19:14.582692 ------------------
-On: 2011-10-20 13:19:14.603152 Event: try to Connect to Controller
-On: 2011-10-20 13:19:15.899727 Event: init state
-On: 2011-10-20 13:19:15.899975 Event: Register Account to SIP server
-On: 2011-10-20 13:19:15.900390 Event: 100
-On: 2011-10-20 13:19:15.900476 Event: Caller Handler Ready
-On: 2011-10-20 13:19:25.917733 Event: CALL START
-On: 2011-10-20 13:19:25.917789 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:19:25.965504 Event: Number busy or Offline
-On: 2011-10-20 13:19:25.965606 Event: CALL NOT OK
-On: 2011-10-20 13:19:25.965665 Event: Call Disconnected
-On: 2011-10-20 13:19:37.917437 Event: Terminate
-On: 2011-10-20 13:19:37.917481 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:21.772059 ------------------
-On: 2011-10-20 13:35:21.792391 Event: try to Connect to Controller
-On: 2011-10-20 13:35:23.065870 Event: init state
-On: 2011-10-20 13:35:23.066109 Event: Register Account to SIP server
-On: 2011-10-20 13:35:23.066525 Event: 100
-On: 2011-10-20 13:35:23.066610 Event: Receiver Handler Ready
-On: 2011-10-20 13:35:23.066879 Event: RECEIVE START
-On: 2011-10-20 13:35:25.121809 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 13:35:25.122323 Event: Call Connecting
-On: 2011-10-20 13:35:25.122364 Event: 200
-On: 2011-10-20 13:35:25.122616 Event: Answer call
-On: 2011-10-20 13:35:25.122667 Event: Hangup call
-On: 2011-10-20 13:35:25.122844 Event: CALL OK
-On: 2011-10-20 13:35:25.173530 Event: Call Disconnected
-On: 2011-10-20 13:35:26.502707 Event: Terminate
-On: 2011-10-20 13:35:26.502751 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:31.371328 ------------------
-On: 2011-10-20 13:35:31.405687 Event: try to Connect to Controller
-On: 2011-10-20 13:35:32.549400 Event: init state
-On: 2011-10-20 13:35:32.549635 Event: Register Account to SIP server
-On: 2011-10-20 13:35:32.550109 Event: 100
-On: 2011-10-20 13:35:32.550199 Event: Caller Handler Ready
-On: 2011-10-20 13:35:37.558034 Event: CALL START
-On: 2011-10-20 13:35:37.558090 Event: Make a call to: 017678038038
-On: 2011-10-20 13:35:40.067110 Event: Call Connecting
-On: 2011-10-20 13:35:40.067159 Event: 200
-On: 2011-10-20 13:35:49.555669 Event: Terminate
-On: 2011-10-20 13:35:49.555710 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:54.394984 ------------------
-On: 2011-10-20 13:35:54.442549 Event: try to Connect to Controller
-On: 2011-10-20 13:35:55.638384 Event: init state
-On: 2011-10-20 13:35:55.638908 Event: Register Account to SIP server
-On: 2011-10-20 13:35:55.639355 Event: 100
-On: 2011-10-20 13:35:55.639443 Event: Caller Handler Ready
-On: 2011-10-20 13:36:00.648947 Event: CALL START
-On: 2011-10-20 13:36:00.648997 Event: Make a call to: 015128040906
-On: 2011-10-20 13:36:02.886941 Event: Call Connecting
-On: 2011-10-20 13:36:02.886989 Event: 200
-On: 2011-10-20 13:36:12.644162 Event: Terminate
-On: 2011-10-20 13:36:12.644202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:36:17.447718 ------------------
-On: 2011-10-20 13:36:17.468050 Event: try to Connect to Controller
-On: 2011-10-20 13:36:18.726742 Event: init state
-On: 2011-10-20 13:36:18.726965 Event: Register Account to SIP server
-On: 2011-10-20 13:36:18.727375 Event: 100
-On: 2011-10-20 13:36:18.727460 Event: Caller Handler Ready
-On: 2011-10-20 13:36:23.740910 Event: CALL START
-On: 2011-10-20 13:36:23.740958 Event: Make a call to: 015252423662
-On: 2011-10-20 13:36:25.762052 Event: Call Connecting
-On: 2011-10-20 13:36:25.762101 Event: 200
-On: 2011-10-20 13:36:35.734008 Event: Terminate
-On: 2011-10-20 13:36:35.734048 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:36:40.638540 ------------------
-On: 2011-10-20 13:36:40.660789 Event: try to Connect to Controller
-On: 2011-10-20 13:36:41.809421 Event: init state
-On: 2011-10-20 13:36:41.809651 Event: Register Account to SIP server
-On: 2011-10-20 13:36:41.810612 Event: 100
-On: 2011-10-20 13:36:41.810708 Event: Caller Handler Ready
-On: 2011-10-20 13:36:51.832623 Event: CALL START
-On: 2011-10-20 13:36:51.832680 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:36:51.872455 Event: Number busy or Offline
-On: 2011-10-20 13:36:51.872558 Event: CALL NOT OK
-On: 2011-10-20 13:36:51.872618 Event: Call Disconnected
-On: 2011-10-20 13:37:03.830088 Event: Terminate
-On: 2011-10-20 13:37:03.830135 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:37:08.615447 ------------------
-On: 2011-10-20 13:37:08.636034 Event: try to Connect to Controller
-On: 2011-10-20 13:37:09.889008 Event: init state
-On: 2011-10-20 13:37:09.889254 Event: Register Account to SIP server
-On: 2011-10-20 13:37:09.890228 Event: 100
-On: 2011-10-20 13:37:09.892653 Event: Caller Handler Ready
-On: 2011-10-20 13:37:19.909776 Event: CALL START
-On: 2011-10-20 13:37:19.909846 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:37:19.959848 Event: Number busy or Offline
-On: 2011-10-20 13:37:19.960029 Event: CALL NOT OK
-On: 2011-10-20 13:37:19.960093 Event: Call Disconnected
-On: 2011-10-20 13:37:31.908329 Event: Terminate
-On: 2011-10-20 13:37:31.908386 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:13.032607 ------------------
-On: 2011-10-20 13:53:13.053004 Event: try to Connect to Controller
-On: 2011-10-20 13:53:14.341352 Event: init state
-On: 2011-10-20 13:53:14.341599 Event: Register Account to SIP server
-On: 2011-10-20 13:53:14.342192 Event: 100
-On: 2011-10-20 13:53:14.342288 Event: Receiver Handler Ready
-On: 2011-10-20 13:53:14.342716 Event: RECEIVE START
-On: 2011-10-20 13:53:16.380196 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:53:16.380692 Event: Call Connecting
-On: 2011-10-20 13:53:16.380730 Event: 200
-On: 2011-10-20 13:53:16.380983 Event: Answer call
-On: 2011-10-20 13:53:16.381036 Event: Hangup call
-On: 2011-10-20 13:53:16.381213 Event: CALL OK
-On: 2011-10-20 13:53:16.431893 Event: Call Disconnected
-On: 2011-10-20 13:53:17.668206 Event: Terminate
-On: 2011-10-20 13:53:17.668263 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:22.396456 ------------------
-On: 2011-10-20 13:53:22.417163 Event: try to Connect to Controller
-On: 2011-10-20 13:53:23.715123 Event: init state
-On: 2011-10-20 13:53:23.715376 Event: Register Account to SIP server
-On: 2011-10-20 13:53:23.715790 Event: 100
-On: 2011-10-20 13:53:23.715876 Event: Caller Handler Ready
-On: 2011-10-20 13:53:28.728905 Event: CALL START
-On: 2011-10-20 13:53:28.728963 Event: Make a call to: 015782677224
-On: 2011-10-20 13:53:30.964379 Event: Call Connecting
-On: 2011-10-20 13:53:30.964428 Event: 200
-On: 2011-10-20 13:53:40.722729 Event: Terminate
-On: 2011-10-20 13:53:40.722769 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:45.500470 ------------------
-On: 2011-10-20 13:53:45.520504 Event: try to Connect to Controller
-On: 2011-10-20 13:53:46.807239 Event: init state
-On: 2011-10-20 13:53:46.807585 Event: Register Account to SIP server
-On: 2011-10-20 13:53:46.808371 Event: 100
-On: 2011-10-20 13:53:46.809871 Event: Caller Handler Ready
-On: 2011-10-20 13:53:51.817735 Event: CALL START
-On: 2011-10-20 13:53:51.817791 Event: Make a call to: 017678038038
-On: 2011-10-20 13:53:54.066839 Event: Call Connecting
-On: 2011-10-20 13:53:54.066888 Event: 200
-On: 2011-10-20 13:54:03.815292 Event: Terminate
-On: 2011-10-20 13:54:03.815334 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:08.595584 ------------------
-On: 2011-10-20 13:54:08.616150 Event: try to Connect to Controller
-On: 2011-10-20 13:54:09.902684 Event: init state
-On: 2011-10-20 13:54:09.902940 Event: Register Account to SIP server
-On: 2011-10-20 13:54:09.903356 Event: 100
-On: 2011-10-20 13:54:09.903442 Event: Caller Handler Ready
-On: 2011-10-20 13:54:14.916043 Event: CALL START
-On: 2011-10-20 13:54:14.916100 Event: Make a call to: 015128040906
-On: 2011-10-20 13:54:16.908001 Event: Call Connecting
-On: 2011-10-20 13:54:16.908049 Event: 200
-On: 2011-10-20 13:54:26.910011 Event: Terminate
-On: 2011-10-20 13:54:26.910053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:31.698547 ------------------
-On: 2011-10-20 13:54:31.720641 Event: try to Connect to Controller
-On: 2011-10-20 13:54:32.974634 Event: init state
-On: 2011-10-20 13:54:32.974877 Event: Register Account to SIP server
-On: 2011-10-20 13:54:32.975295 Event: 100
-On: 2011-10-20 13:54:32.975380 Event: Caller Handler Ready
-On: 2011-10-20 13:54:42.994107 Event: CALL START
-On: 2011-10-20 13:54:42.994163 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:54:43.036611 Event: Number busy or Offline
-On: 2011-10-20 13:54:43.036716 Event: CALL NOT OK
-On: 2011-10-20 13:54:43.036777 Event: Call Disconnected
-On: 2011-10-20 13:54:54.991567 Event: Terminate
-On: 2011-10-20 13:54:54.991611 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:59.811560 ------------------
-On: 2011-10-20 13:54:59.859998 Event: try to Connect to Controller
-On: 2011-10-20 13:55:01.036854 Event: init state
-On: 2011-10-20 13:55:01.037093 Event: Register Account to SIP server
-On: 2011-10-20 13:55:01.037515 Event: 100
-On: 2011-10-20 13:55:01.037601 Event: Caller Handler Ready
-On: 2011-10-20 13:55:06.045740 Event: CALL START
-On: 2011-10-20 13:55:06.045798 Event: Make a call to: 015252423662
-On: 2011-10-20 13:55:08.061292 Event: Call Connecting
-On: 2011-10-20 13:55:08.061338 Event: 200
-On: 2011-10-20 13:55:18.043180 Event: Terminate
-On: 2011-10-20 13:55:18.043223 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:55:22.836143 ------------------
-On: 2011-10-20 13:55:22.857601 Event: try to Connect to Controller
-On: 2011-10-20 13:55:24.126747 Event: init state
-On: 2011-10-20 13:55:24.126999 Event: Register Account to SIP server
-On: 2011-10-20 13:55:24.127777 Event: 100
-On: 2011-10-20 13:55:24.129788 Event: Caller Handler Ready
-On: 2011-10-20 13:55:29.140831 Event: CALL START
-On: 2011-10-20 13:55:29.140887 Event: Make a call to: 07612034661449
-On: 2011-10-20 13:55:29.158094 Event: Number busy or Offline
-On: 2011-10-20 13:55:29.158197 Event: CALL NOT OK
-On: 2011-10-20 13:55:29.158256 Event: Call Disconnected
-On: 2011-10-20 13:55:41.134702 Event: Terminate
-On: 2011-10-20 13:55:41.134743 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:55:45.895496 ------------------
-On: 2011-10-20 13:55:45.915630 Event: try to Connect to Controller
-On: 2011-10-20 13:55:47.214296 Event: init state
-On: 2011-10-20 13:55:47.214551 Event: Register Account to SIP server
-On: 2011-10-20 13:55:47.214970 Event: 100
-On: 2011-10-20 13:55:47.215068 Event: Caller Handler Ready
-On: 2011-10-20 13:55:57.235432 Event: CALL START
-On: 2011-10-20 13:55:57.235491 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:55:57.282200 Event: Number busy or Offline
-On: 2011-10-20 13:55:57.282306 Event: CALL NOT OK
-On: 2011-10-20 13:55:57.282366 Event: Call Disconnected
-On: 2011-10-20 13:56:09.234831 Event: Terminate
-On: 2011-10-20 13:56:09.234888 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:56:13.997225 ------------------
-On: 2011-10-20 13:56:14.017948 Event: try to Connect to Controller
-On: 2011-10-20 13:56:15.281047 Event: init state
-On: 2011-10-20 13:56:15.281292 Event: Register Account to SIP server
-On: 2011-10-20 13:56:15.281763 Event: 100
-On: 2011-10-20 13:56:15.281852 Event: Caller Handler Ready
-On: 2011-10-20 13:56:20.296818 Event: CALL START
-On: 2011-10-20 13:56:20.296875 Event: Make a call to: 015782677224
-On: 2011-10-20 13:56:21.797904 Event: Call Connecting
-On: 2011-10-20 13:56:21.797949 Event: 200
-On: 2011-10-20 13:56:32.292368 Event: Terminate
-On: 2011-10-20 13:56:32.292409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:56:37.131386 ------------------
-On: 2011-10-20 13:56:37.158725 Event: try to Connect to Controller
-On: 2011-10-20 13:56:38.375661 Event: init state
-On: 2011-10-20 13:56:38.375915 Event: Register Account to SIP server
-On: 2011-10-20 13:56:38.376330 Event: 100
-On: 2011-10-20 13:56:38.376417 Event: Caller Handler Ready
-On: 2011-10-20 13:56:43.388813 Event: CALL START
-On: 2011-10-20 13:56:43.388870 Event: Make a call to: 017678038038
-On: 2011-10-20 13:56:45.919484 Event: Call Connecting
-On: 2011-10-20 13:56:45.919531 Event: 200
-On: 2011-10-20 13:56:55.382997 Event: Terminate
-On: 2011-10-20 13:56:55.383036 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:57:00.280291 ------------------
-On: 2011-10-20 13:57:00.300582 Event: try to Connect to Controller
-On: 2011-10-20 13:57:01.472849 Event: init state
-On: 2011-10-20 13:57:01.473086 Event: Register Account to SIP server
-On: 2011-10-20 13:57:01.473500 Event: 100
-On: 2011-10-20 13:57:01.473586 Event: Caller Handler Ready
-On: 2011-10-20 13:57:06.484838 Event: CALL START
-On: 2011-10-20 13:57:06.484894 Event: Make a call to: 015128040906
-On: 2011-10-20 13:57:09.012864 Event: Call Connecting
-On: 2011-10-20 13:57:09.012915 Event: 200
-On: 2011-10-20 13:57:18.479724 Event: Terminate
-On: 2011-10-20 13:57:18.479763 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:21.992048 ------------------
-On: 2011-10-20 14:03:22.012520 Event: try to Connect to Controller
-On: 2011-10-20 14:03:23.322732 Event: init state
-On: 2011-10-20 14:03:23.322983 Event: Register Account to SIP server
-On: 2011-10-20 14:03:23.323399 Event: 100
-On: 2011-10-20 14:03:23.323483 Event: Receiver Handler Ready
-On: 2011-10-20 14:03:23.323899 Event: RECEIVE START
-On: 2011-10-20 14:03:25.135222 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:03:25.135723 Event: Call Connecting
-On: 2011-10-20 14:03:25.135764 Event: 200
-On: 2011-10-20 14:03:25.136021 Event: Answer call
-On: 2011-10-20 14:03:25.136073 Event: Hangup call
-On: 2011-10-20 14:03:25.136247 Event: CALL OK
-On: 2011-10-20 14:03:25.186938 Event: Call Disconnected
-On: 2011-10-20 14:03:26.630417 Event: Terminate
-On: 2011-10-20 14:03:26.630475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:31.337367 ------------------
-On: 2011-10-20 14:03:31.358021 Event: try to Connect to Controller
-On: 2011-10-20 14:03:32.676338 Event: init state
-On: 2011-10-20 14:03:32.676587 Event: Register Account to SIP server
-On: 2011-10-20 14:03:32.677360 Event: 100
-On: 2011-10-20 14:03:32.679957 Event: Caller Handler Ready
-On: 2011-10-20 14:03:37.688817 Event: CALL START
-On: 2011-10-20 14:03:37.688871 Event: Make a call to: 015782677224
-On: 2011-10-20 14:03:39.699899 Event: Call Connecting
-On: 2011-10-20 14:03:39.699946 Event: 200
-On: 2011-10-20 14:03:49.683647 Event: Terminate
-On: 2011-10-20 14:03:49.683689 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:54.442319 ------------------
-On: 2011-10-20 14:03:54.462703 Event: try to Connect to Controller
-On: 2011-10-20 14:03:55.766669 Event: init state
-On: 2011-10-20 14:03:55.767173 Event: Register Account to SIP server
-On: 2011-10-20 14:03:55.767959 Event: 100
-On: 2011-10-20 14:03:55.769899 Event: Caller Handler Ready
-On: 2011-10-20 14:04:00.780975 Event: CALL START
-On: 2011-10-20 14:04:00.781032 Event: Make a call to: 017678038038
-On: 2011-10-20 14:04:03.013251 Event: Call Connecting
-On: 2011-10-20 14:04:03.013298 Event: 200
-On: 2011-10-20 14:04:12.774943 Event: Terminate
-On: 2011-10-20 14:04:12.774985 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:04:17.537416 ------------------
-On: 2011-10-20 14:04:17.558067 Event: try to Connect to Controller
-On: 2011-10-20 14:04:18.859438 Event: init state
-On: 2011-10-20 14:04:18.859689 Event: Register Account to SIP server
-On: 2011-10-20 14:04:18.860107 Event: 100
-On: 2011-10-20 14:04:18.860194 Event: Caller Handler Ready
-On: 2011-10-20 14:04:23.872912 Event: CALL START
-On: 2011-10-20 14:04:23.872968 Event: Make a call to: 015252423662
-On: 2011-10-20 14:04:25.642591 Event: Call Connecting
-On: 2011-10-20 14:04:25.642637 Event: 200
-On: 2011-10-20 14:04:35.867066 Event: Terminate
-On: 2011-10-20 14:04:35.867107 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:04:40.630939 ------------------
-On: 2011-10-20 14:04:40.651645 Event: try to Connect to Controller
-On: 2011-10-20 14:04:41.950903 Event: init state
-On: 2011-10-20 14:04:41.951156 Event: Register Account to SIP server
-On: 2011-10-20 14:04:41.951569 Event: 100
-On: 2011-10-20 14:04:41.951656 Event: Caller Handler Ready
-On: 2011-10-20 14:04:46.964808 Event: CALL START
-On: 2011-10-20 14:04:46.964864 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:04:46.998434 Event: Number busy or Offline
-On: 2011-10-20 14:04:46.998535 Event: CALL NOT OK
-On: 2011-10-20 14:04:46.998595 Event: Call Disconnected
-On: 2011-10-20 14:04:58.958303 Event: Terminate
-On: 2011-10-20 14:04:58.958345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:03.720085 ------------------
-On: 2011-10-20 14:05:03.740482 Event: try to Connect to Controller
-On: 2011-10-20 14:05:05.041598 Event: init state
-On: 2011-10-20 14:05:05.042026 Event: Register Account to SIP server
-On: 2011-10-20 14:05:05.042823 Event: 100
-On: 2011-10-20 14:05:05.045277 Event: Caller Handler Ready
-On: 2011-10-20 14:05:10.052951 Event: CALL START
-On: 2011-10-20 14:05:10.053007 Event: Make a call to: 015128040906
-On: 2011-10-20 14:05:13.261127 Event: Call Connecting
-On: 2011-10-20 14:05:13.261174 Event: 200
-On: 2011-10-20 14:05:22.047646 Event: Terminate
-On: 2011-10-20 14:05:22.047687 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:26.803942 ------------------
-On: 2011-10-20 14:05:26.825040 Event: try to Connect to Controller
-On: 2011-10-20 14:05:28.120050 Event: init state
-On: 2011-10-20 14:05:28.120291 Event: Register Account to SIP server
-On: 2011-10-20 14:05:28.120710 Event: 100
-On: 2011-10-20 14:05:28.120796 Event: Caller Handler Ready
-On: 2011-10-20 14:05:38.143738 Event: CALL START
-On: 2011-10-20 14:05:38.143797 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:05:38.186278 Event: Number busy or Offline
-On: 2011-10-20 14:05:38.186380 Event: CALL NOT OK
-On: 2011-10-20 14:05:38.186440 Event: Call Disconnected
-On: 2011-10-20 14:05:50.141108 Event: Terminate
-On: 2011-10-20 14:05:50.141151 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:54.855376 ------------------
-On: 2011-10-20 14:05:54.876274 Event: try to Connect to Controller
-On: 2011-10-20 14:05:56.183818 Event: init state
-On: 2011-10-20 14:05:56.184065 Event: Register Account to SIP server
-On: 2011-10-20 14:05:56.184479 Event: 100
-On: 2011-10-20 14:05:56.184565 Event: Caller Handler Ready
-On: 2011-10-20 14:06:06.207834 Event: CALL START
-On: 2011-10-20 14:06:06.207893 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:06:06.241439 Event: Number busy or Offline
-On: 2011-10-20 14:06:06.241545 Event: CALL NOT OK
-On: 2011-10-20 14:06:06.241605 Event: Call Disconnected
-On: 2011-10-20 14:06:18.205246 Event: Terminate
-On: 2011-10-20 14:06:18.205290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:10.941404 ------------------
-On: 2011-10-20 14:10:10.961917 Event: try to Connect to Controller
-On: 2011-10-20 14:10:12.263115 Event: init state
-On: 2011-10-20 14:10:12.263363 Event: Register Account to SIP server
-On: 2011-10-20 14:10:12.263786 Event: 100
-On: 2011-10-20 14:10:12.263871 Event: Receiver Handler Ready
-On: 2011-10-20 14:10:12.264280 Event: RECEIVE START
-On: 2011-10-20 14:10:15.160702 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:10:15.161197 Event: Call Connecting
-On: 2011-10-20 14:10:15.161238 Event: 200
-On: 2011-10-20 14:10:15.161581 Event: Answer call
-On: 2011-10-20 14:10:15.161650 Event: Hangup call
-On: 2011-10-20 14:10:15.162045 Event: CALL OK
-On: 2011-10-20 14:10:15.212804 Event: Call Disconnected
-On: 2011-10-20 14:10:16.084642 Event: Terminate
-On: 2011-10-20 14:10:16.084694 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:20.801174 ------------------
-On: 2011-10-20 14:10:20.822753 Event: try to Connect to Controller
-On: 2011-10-20 14:10:22.130100 Event: init state
-On: 2011-10-20 14:10:22.130352 Event: Register Account to SIP server
-On: 2011-10-20 14:10:22.130760 Event: 100
-On: 2011-10-20 14:10:22.130840 Event: Caller Handler Ready
-On: 2011-10-20 14:10:27.140827 Event: CALL START
-On: 2011-10-20 14:10:27.140883 Event: Make a call to: 015782677224
-On: 2011-10-20 14:10:29.316718 Event: Call Connecting
-On: 2011-10-20 14:10:29.316764 Event: 200
-On: 2011-10-20 14:10:39.135669 Event: Terminate
-On: 2011-10-20 14:10:39.135711 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:43.897591 ------------------
-On: 2011-10-20 14:10:43.918031 Event: try to Connect to Controller
-On: 2011-10-20 14:10:45.219116 Event: init state
-On: 2011-10-20 14:10:45.219642 Event: Register Account to SIP server
-On: 2011-10-20 14:10:45.220440 Event: 100
-On: 2011-10-20 14:10:45.221936 Event: Caller Handler Ready
-On: 2011-10-20 14:10:50.232942 Event: CALL START
-On: 2011-10-20 14:10:50.232997 Event: Make a call to: 017678038038
-On: 2011-10-20 14:10:52.260507 Event: Call Connecting
-On: 2011-10-20 14:10:52.260553 Event: 200
-On: 2011-10-20 14:11:02.227167 Event: Terminate
-On: 2011-10-20 14:11:02.227207 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:06.994882 ------------------
-On: 2011-10-20 14:11:07.015205 Event: try to Connect to Controller
-On: 2011-10-20 14:11:08.311352 Event: init state
-On: 2011-10-20 14:11:08.311605 Event: Register Account to SIP server
-On: 2011-10-20 14:11:08.312024 Event: 100
-On: 2011-10-20 14:11:08.312108 Event: Caller Handler Ready
-On: 2011-10-20 14:11:13.320958 Event: CALL START
-On: 2011-10-20 14:11:13.321014 Event: Make a call to: 015252423662
-On: 2011-10-20 14:11:15.816509 Event: Call Connecting
-On: 2011-10-20 14:11:15.816556 Event: 200
-On: 2011-10-20 14:11:25.316697 Event: Terminate
-On: 2011-10-20 14:11:25.316739 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:30.070261 ------------------
-On: 2011-10-20 14:11:30.090444 Event: try to Connect to Controller
-On: 2011-10-20 14:11:31.398949 Event: init state
-On: 2011-10-20 14:11:31.399200 Event: Register Account to SIP server
-On: 2011-10-20 14:11:31.399618 Event: 100
-On: 2011-10-20 14:11:31.399700 Event: Caller Handler Ready
-On: 2011-10-20 14:11:36.410614 Event: CALL START
-On: 2011-10-20 14:11:36.410669 Event: Make a call to: 015128040906
-On: 2011-10-20 14:11:38.893115 Event: Call Connecting
-On: 2011-10-20 14:11:38.893162 Event: 200
-On: 2011-10-20 14:11:48.406321 Event: Terminate
-On: 2011-10-20 14:11:48.406363 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:53.172009 ------------------
-On: 2011-10-20 14:11:53.192293 Event: try to Connect to Controller
-On: 2011-10-20 14:11:54.478769 Event: init state
-On: 2011-10-20 14:11:54.479009 Event: Register Account to SIP server
-On: 2011-10-20 14:11:54.479431 Event: 100
-On: 2011-10-20 14:11:54.479516 Event: Caller Handler Ready
-On: 2011-10-20 14:12:04.497627 Event: CALL START
-On: 2011-10-20 14:12:04.497682 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:12:06.037669 Event: Call Connecting
-On: 2011-10-20 14:12:06.037878 Event: 200
-On: 2011-10-20 14:12:06.223800 Event: Terminate
-On: 2011-10-20 14:12:06.223858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:15:54.608428 ------------------
-On: 2011-10-20 14:15:54.628604 Event: try to Connect to Controller
-On: 2011-10-20 14:15:55.938620 Event: init state
-On: 2011-10-20 14:15:55.938869 Event: Register Account to SIP server
-On: 2011-10-20 14:15:55.939650 Event: 100
-On: 2011-10-20 14:15:55.939736 Event: Receiver Handler Ready
-On: 2011-10-20 14:15:55.940144 Event: RECEIVE START
-On: 2011-10-20 14:15:57.905443 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:15:57.906177 Event: Call Connecting
-On: 2011-10-20 14:15:57.906227 Event: 200
-On: 2011-10-20 14:15:57.906478 Event: Answer call
-On: 2011-10-20 14:15:57.906532 Event: Hangup call
-On: 2011-10-20 14:15:57.906711 Event: CALL OK
-On: 2011-10-20 14:15:57.957377 Event: Call Disconnected
-On: 2011-10-20 14:15:59.286512 Event: Terminate
-On: 2011-10-20 14:15:59.286570 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:04.004681 ------------------
-On: 2011-10-20 14:16:04.025106 Event: try to Connect to Controller
-On: 2011-10-20 14:16:05.331806 Event: init state
-On: 2011-10-20 14:16:05.332058 Event: Register Account to SIP server
-On: 2011-10-20 14:16:05.332474 Event: 100
-On: 2011-10-20 14:16:05.332562 Event: Caller Handler Ready
-On: 2011-10-20 14:16:10.344633 Event: CALL START
-On: 2011-10-20 14:16:10.344689 Event: Make a call to: 015782677224
-On: 2011-10-20 14:16:12.061380 Event: Call Connecting
-On: 2011-10-20 14:16:12.061428 Event: 200
-On: 2011-10-20 14:16:22.339185 Event: Terminate
-On: 2011-10-20 14:16:22.339225 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:27.110322 ------------------
-On: 2011-10-20 14:16:27.130475 Event: try to Connect to Controller
-On: 2011-10-20 14:16:28.423306 Event: init state
-On: 2011-10-20 14:16:28.423828 Event: Register Account to SIP server
-On: 2011-10-20 14:16:28.424355 Event: 100
-On: 2011-10-20 14:16:28.424444 Event: Caller Handler Ready
-On: 2011-10-20 14:16:33.435001 Event: CALL START
-On: 2011-10-20 14:16:33.435060 Event: Make a call to: 017678038038
-On: 2011-10-20 14:16:35.178741 Event: Call Connecting
-On: 2011-10-20 14:16:35.178790 Event: 200
-On: 2011-10-20 14:16:45.431843 Event: Terminate
-On: 2011-10-20 14:16:45.431885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:50.251277 ------------------
-On: 2011-10-20 14:16:50.271599 Event: try to Connect to Controller
-On: 2011-10-20 14:16:51.514717 Event: init state
-On: 2011-10-20 14:16:51.514967 Event: Register Account to SIP server
-On: 2011-10-20 14:16:51.515708 Event: 100
-On: 2011-10-20 14:16:51.515797 Event: Caller Handler Ready
-On: 2011-10-20 14:16:56.528911 Event: CALL START
-On: 2011-10-20 14:16:56.528969 Event: Make a call to: 015252423662
-On: 2011-10-20 14:16:58.767184 Event: Call Connecting
-On: 2011-10-20 14:16:58.767232 Event: 200
-On: 2011-10-20 14:17:08.522573 Event: Terminate
-On: 2011-10-20 14:17:08.522614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:17:13.348318 ------------------
-On: 2011-10-20 14:17:13.368834 Event: try to Connect to Controller
-On: 2011-10-20 14:17:14.606967 Event: init state
-On: 2011-10-20 14:17:14.607218 Event: Register Account to SIP server
-On: 2011-10-20 14:17:14.607993 Event: 100
-On: 2011-10-20 14:17:14.609921 Event: Caller Handler Ready
-On: 2011-10-20 14:17:19.620811 Event: CALL START
-On: 2011-10-20 14:17:19.620863 Event: Make a call to: 015128040906
-On: 2011-10-20 14:17:21.405893 Event: Call Connecting
-On: 2011-10-20 14:17:21.405940 Event: 200
-On: 2011-10-20 14:17:31.614835 Event: Terminate
-On: 2011-10-20 14:17:31.614875 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:17:36.431142 ------------------
-On: 2011-10-20 14:17:36.451057 Event: try to Connect to Controller
-On: 2011-10-20 14:17:37.687912 Event: init state
-On: 2011-10-20 14:17:37.688162 Event: Register Account to SIP server
-On: 2011-10-20 14:17:37.688580 Event: 100
-On: 2011-10-20 14:17:37.688667 Event: Caller Handler Ready
-On: 2011-10-20 14:17:47.707143 Event: CALL START
-On: 2011-10-20 14:17:47.707200 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:17:49.703318 Event: Call Connecting
-On: 2011-10-20 14:17:49.703367 Event: 200
-On: 2011-10-20 14:17:49.902936 Event: Terminate
-On: 2011-10-20 14:17:49.902994 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:25.667570 ------------------
-On: 2011-10-20 14:21:25.687932 Event: try to Connect to Controller
-On: 2011-10-20 14:21:27.003880 Event: init state
-On: 2011-10-20 14:21:27.004130 Event: Register Account to SIP server
-On: 2011-10-20 14:21:27.004548 Event: 100
-On: 2011-10-20 14:21:27.004633 Event: Receiver Handler Ready
-On: 2011-10-20 14:21:27.005050 Event: RECEIVE START
-On: 2011-10-20 14:21:29.068422 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:21:29.068918 Event: Call Connecting
-On: 2011-10-20 14:21:29.068957 Event: 200
-On: 2011-10-20 14:21:29.069200 Event: Answer call
-On: 2011-10-20 14:21:29.069252 Event: Hangup call
-On: 2011-10-20 14:21:29.069426 Event: CALL OK
-On: 2011-10-20 14:21:29.120115 Event: Call Disconnected
-On: 2011-10-20 14:21:30.451746 Event: Terminate
-On: 2011-10-20 14:21:30.451802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:35.315159 ------------------
-On: 2011-10-20 14:21:35.338508 Event: try to Connect to Controller
-On: 2011-10-20 14:21:36.519565 Event: init state
-On: 2011-10-20 14:21:36.519807 Event: Register Account to SIP server
-On: 2011-10-20 14:21:36.520585 Event: 100
-On: 2011-10-20 14:21:36.520669 Event: Caller Handler Ready
-On: 2011-10-20 14:21:41.542356 Event: CALL START
-On: 2011-10-20 14:21:41.542410 Event: Make a call to: 015782677224
-On: 2011-10-20 14:21:44.050882 Event: Call Connecting
-On: 2011-10-20 14:21:44.050927 Event: 200
-On: 2011-10-20 14:21:53.537821 Event: Terminate
-On: 2011-10-20 14:21:53.537864 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:58.299434 ------------------
-On: 2011-10-20 14:21:58.319798 Event: try to Connect to Controller
-On: 2011-10-20 14:21:59.622701 Event: init state
-On: 2011-10-20 14:21:59.623240 Event: Register Account to SIP server
-On: 2011-10-20 14:21:59.623683 Event: 100
-On: 2011-10-20 14:21:59.623768 Event: Caller Handler Ready
-On: 2011-10-20 14:22:04.636899 Event: CALL START
-On: 2011-10-20 14:22:04.636951 Event: Make a call to: 017678038038
-On: 2011-10-20 14:22:06.918066 Event: Call Connecting
-On: 2011-10-20 14:22:06.918116 Event: 200
-On: 2011-10-20 14:22:16.630513 Event: Terminate
-On: 2011-10-20 14:22:16.630556 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:22:21.386830 ------------------
-On: 2011-10-20 14:22:21.406682 Event: try to Connect to Controller
-On: 2011-10-20 14:22:22.714508 Event: init state
-On: 2011-10-20 14:22:22.714755 Event: Register Account to SIP server
-On: 2011-10-20 14:22:22.715168 Event: 100
-On: 2011-10-20 14:22:22.715254 Event: Caller Handler Ready
-On: 2011-10-20 14:22:27.724955 Event: CALL START
-On: 2011-10-20 14:22:27.725017 Event: Make a call to: 015128040906
-On: 2011-10-20 14:22:30.261824 Event: Call Connecting
-On: 2011-10-20 14:22:30.261871 Event: 200
-On: 2011-10-20 14:22:39.719650 Event: Terminate
-On: 2011-10-20 14:22:39.719692 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:22:44.480592 ------------------
-On: 2011-10-20 14:22:44.500792 Event: try to Connect to Controller
-On: 2011-10-20 14:22:45.801360 Event: init state
-On: 2011-10-20 14:22:45.801599 Event: Register Account to SIP server
-On: 2011-10-20 14:22:45.802068 Event: 100
-On: 2011-10-20 14:22:45.802160 Event: Caller Handler Ready
-On: 2011-10-20 14:22:50.809733 Event: CALL START
-On: 2011-10-20 14:22:50.809787 Event: Make a call to: 015252423662
-On: 2011-10-20 14:22:52.790598 Event: Call Connecting
-On: 2011-10-20 14:22:52.790645 Event: 200
-On: 2011-10-20 14:23:02.807648 Event: Terminate
-On: 2011-10-20 14:23:02.807691 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:23.367145 ------------------
-On: 2011-10-20 14:26:23.387530 Event: try to Connect to Controller
-On: 2011-10-20 14:26:24.696779 Event: init state
-On: 2011-10-20 14:26:24.697032 Event: Register Account to SIP server
-On: 2011-10-20 14:26:24.697455 Event: 100
-On: 2011-10-20 14:26:24.697541 Event: Receiver Handler Ready
-On: 2011-10-20 14:26:24.698141 Event: RECEIVE START
-On: 2011-10-20 14:26:26.818817 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:26:26.819370 Event: Call Connecting
-On: 2011-10-20 14:26:26.819417 Event: 200
-On: 2011-10-20 14:26:26.819660 Event: Answer call
-On: 2011-10-20 14:26:26.819710 Event: Hangup call
-On: 2011-10-20 14:26:26.819883 Event: CALL OK
-On: 2011-10-20 14:26:26.870568 Event: Call Disconnected
-On: 2011-10-20 14:26:28.014809 Event: Terminate
-On: 2011-10-20 14:26:28.014866 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:32.735457 ------------------
-On: 2011-10-20 14:26:32.756069 Event: try to Connect to Controller
-On: 2011-10-20 14:26:34.058672 Event: init state
-On: 2011-10-20 14:26:34.058918 Event: Register Account to SIP server
-On: 2011-10-20 14:26:34.059336 Event: 100
-On: 2011-10-20 14:26:34.059422 Event: Caller Handler Ready
-On: 2011-10-20 14:26:39.068828 Event: CALL START
-On: 2011-10-20 14:26:39.068885 Event: Make a call to: 015782677224
-On: 2011-10-20 14:26:40.791667 Event: Call Connecting
-On: 2011-10-20 14:26:40.791714 Event: 200
-On: 2011-10-20 14:26:51.063643 Event: Terminate
-On: 2011-10-20 14:26:51.063684 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:55.827417 ------------------
-On: 2011-10-20 14:26:55.847672 Event: try to Connect to Controller
-On: 2011-10-20 14:26:57.146506 Event: init state
-On: 2011-10-20 14:26:57.147034 Event: Register Account to SIP server
-On: 2011-10-20 14:26:57.147477 Event: 100
-On: 2011-10-20 14:26:57.147563 Event: Caller Handler Ready
-On: 2011-10-20 14:27:02.160800 Event: CALL START
-On: 2011-10-20 14:27:02.160854 Event: Make a call to: 017678038038
-On: 2011-10-20 14:27:04.754189 Event: Call Connecting
-On: 2011-10-20 14:27:04.754237 Event: 200
-On: 2011-10-20 14:27:14.153960 Event: Terminate
-On: 2011-10-20 14:27:14.154002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:27:18.983272 ------------------
-On: 2011-10-20 14:27:19.003927 Event: try to Connect to Controller
-On: 2011-10-20 14:27:20.235773 Event: init state
-On: 2011-10-20 14:27:20.236019 Event: Register Account to SIP server
-On: 2011-10-20 14:27:20.236431 Event: 100
-On: 2011-10-20 14:27:20.236516 Event: Caller Handler Ready
-On: 2011-10-20 14:27:25.243796 Event: CALL START
-On: 2011-10-20 14:27:25.243852 Event: Make a call to: 015128040906
-On: 2011-10-20 14:27:27.453177 Event: Call Connecting
-On: 2011-10-20 14:27:27.453227 Event: 200
-On: 2011-10-20 14:27:37.243007 Event: Terminate
-On: 2011-10-20 14:27:37.243047 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:27:41.988735 ------------------
-On: 2011-10-20 14:27:42.009090 Event: try to Connect to Controller
-On: 2011-10-20 14:27:43.312911 Event: init state
-On: 2011-10-20 14:27:43.313164 Event: Register Account to SIP server
-On: 2011-10-20 14:27:43.313583 Event: 100
-On: 2011-10-20 14:27:43.313668 Event: Caller Handler Ready
-On: 2011-10-20 14:27:53.335135 Event: CALL START
-On: 2011-10-20 14:27:53.335193 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:27:55.825594 Event: Call Connecting
-On: 2011-10-20 14:27:55.825645 Event: 200
-On: 2011-10-20 14:27:56.031579 Event: Terminate
-On: 2011-10-20 14:27:56.031635 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:00.743623 ------------------
-On: 2011-10-20 14:28:00.764113 Event: try to Connect to Controller
-On: 2011-10-20 14:28:02.078181 Event: init state
-On: 2011-10-20 14:28:02.078439 Event: Register Account to SIP server
-On: 2011-10-20 14:28:02.078854 Event: 100
-On: 2011-10-20 14:28:02.078940 Event: Caller Handler Ready
-On: 2011-10-20 14:28:07.088842 Event: CALL START
-On: 2011-10-20 14:28:07.088904 Event: Make a call to: 015252423662
-On: 2011-10-20 14:28:09.567641 Event: Call Connecting
-On: 2011-10-20 14:28:09.567689 Event: 200
-On: 2011-10-20 14:28:19.083636 Event: Terminate
-On: 2011-10-20 14:28:19.083677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:23.848794 ------------------
-On: 2011-10-20 14:28:23.869178 Event: try to Connect to Controller
-On: 2011-10-20 14:28:25.166349 Event: init state
-On: 2011-10-20 14:28:25.166601 Event: Register Account to SIP server
-On: 2011-10-20 14:28:25.167017 Event: 100
-On: 2011-10-20 14:28:25.167102 Event: Caller Handler Ready
-On: 2011-10-20 14:28:30.176925 Event: CALL START
-On: 2011-10-20 14:28:30.176978 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:28:32.569564 Event: Call Connecting
-On: 2011-10-20 14:28:32.569612 Event: 200
-On: 2011-10-20 14:28:32.770170 Event: Terminate
-On: 2011-10-20 14:28:32.770211 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:25.771664 ------------------
-On: 2011-10-20 14:33:25.792136 Event: try to Connect to Controller
-On: 2011-10-20 14:33:27.081231 Event: init state
-On: 2011-10-20 14:33:27.081474 Event: Register Account to SIP server
-On: 2011-10-20 14:33:27.082110 Event: 100
-On: 2011-10-20 14:33:27.082208 Event: Receiver Handler Ready
-On: 2011-10-20 14:33:27.082604 Event: RECEIVE START
-On: 2011-10-20 14:33:29.579394 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:33:29.579896 Event: Call Connecting
-On: 2011-10-20 14:33:29.579938 Event: 200
-On: 2011-10-20 14:33:29.580192 Event: Answer call
-On: 2011-10-20 14:33:29.580243 Event: Hangup call
-On: 2011-10-20 14:33:29.580415 Event: CALL OK
-On: 2011-10-20 14:33:29.631103 Event: Call Disconnected
-On: 2011-10-20 14:33:30.352833 Event: Terminate
-On: 2011-10-20 14:33:30.352888 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:35.093011 ------------------
-On: 2011-10-20 14:33:35.113549 Event: try to Connect to Controller
-On: 2011-10-20 14:33:36.398078 Event: init state
-On: 2011-10-20 14:33:36.398336 Event: Register Account to SIP server
-On: 2011-10-20 14:33:36.399111 Event: 100
-On: 2011-10-20 14:33:36.399196 Event: Caller Handler Ready
-On: 2011-10-20 14:33:41.408942 Event: CALL START
-On: 2011-10-20 14:33:41.408998 Event: Make a call to: 015782677224
-On: 2011-10-20 14:33:42.893838 Event: Call Connecting
-On: 2011-10-20 14:33:42.893886 Event: 200
-On: 2011-10-20 14:33:53.403654 Event: Terminate
-On: 2011-10-20 14:33:53.403696 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:58.172851 ------------------
-On: 2011-10-20 14:33:58.193248 Event: try to Connect to Controller
-On: 2011-10-20 14:33:59.487102 Event: init state
-On: 2011-10-20 14:33:59.487625 Event: Register Account to SIP server
-On: 2011-10-20 14:33:59.488423 Event: 100
-On: 2011-10-20 14:33:59.489912 Event: Caller Handler Ready
-On: 2011-10-20 14:34:04.500938 Event: CALL START
-On: 2011-10-20 14:34:04.500993 Event: Make a call to: 017678038038
-On: 2011-10-20 14:34:06.740368 Event: Call Connecting
-On: 2011-10-20 14:34:06.740414 Event: 200
-On: 2011-10-20 14:34:16.494947 Event: Terminate
-On: 2011-10-20 14:34:16.494987 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:34:21.279923 ------------------
-On: 2011-10-20 14:34:21.300046 Event: try to Connect to Controller
-On: 2011-10-20 14:34:22.578897 Event: init state
-On: 2011-10-20 14:34:22.579148 Event: Register Account to SIP server
-On: 2011-10-20 14:34:22.579561 Event: 100
-On: 2011-10-20 14:34:22.579645 Event: Caller Handler Ready
-On: 2011-10-20 14:34:27.592911 Event: CALL START
-On: 2011-10-20 14:34:27.592966 Event: Make a call to: 015128040906
-On: 2011-10-20 14:34:29.592427 Event: Call Connecting
-On: 2011-10-20 14:34:29.592474 Event: 200
-On: 2011-10-20 14:34:39.586809 Event: Terminate
-On: 2011-10-20 14:34:39.586851 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:34:44.363348 ------------------
-On: 2011-10-20 14:34:44.383755 Event: try to Connect to Controller
-On: 2011-10-20 14:34:45.670666 Event: init state
-On: 2011-10-20 14:34:45.670912 Event: Register Account to SIP server
-On: 2011-10-20 14:34:45.671326 Event: 100
-On: 2011-10-20 14:34:45.671407 Event: Caller Handler Ready
-On: 2011-10-20 14:34:50.683974 Event: CALL START
-On: 2011-10-20 14:34:50.684028 Event: Make a call to: 015252423662
-On: 2011-10-20 14:34:52.674379 Event: Call Connecting
-On: 2011-10-20 14:34:52.674426 Event: 200
-On: 2011-10-20 14:35:02.677951 Event: Terminate
-On: 2011-10-20 14:35:02.677995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:35:07.440187 ------------------
-On: 2011-10-20 14:35:07.460484 Event: try to Connect to Controller
-On: 2011-10-20 14:35:08.748968 Event: init state
-On: 2011-10-20 14:35:08.749219 Event: Register Account to SIP server
-On: 2011-10-20 14:35:08.749642 Event: 100
-On: 2011-10-20 14:35:08.750822 Event: Caller Handler Ready
-On: 2011-10-20 14:35:18.772133 Event: CALL START
-On: 2011-10-20 14:35:18.772192 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:35:20.971816 Event: Call Connecting
-On: 2011-10-20 14:35:20.971864 Event: 200
-On: 2011-10-20 14:35:21.144302 Event: Terminate
-On: 2011-10-20 14:35:21.144361 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:07.289306 ------------------
-On: 2011-10-20 14:40:07.309642 Event: try to Connect to Controller
-On: 2011-10-20 14:40:08.610544 Event: init state
-On: 2011-10-20 14:40:08.610788 Event: Register Account to SIP server
-On: 2011-10-20 14:40:08.611194 Event: 100
-On: 2011-10-20 14:40:08.611277 Event: Receiver Handler Ready
-On: 2011-10-20 14:40:08.611693 Event: RECEIVE START
-On: 2011-10-20 14:40:10.688525 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:40:10.689019 Event: Call Connecting
-On: 2011-10-20 14:40:10.689059 Event: 200
-On: 2011-10-20 14:40:10.689311 Event: Answer call
-On: 2011-10-20 14:40:10.689364 Event: Hangup call
-On: 2011-10-20 14:40:10.689540 Event: CALL OK
-On: 2011-10-20 14:40:10.740227 Event: Call Disconnected
-On: 2011-10-20 14:40:12.071250 Event: Terminate
-On: 2011-10-20 14:40:12.071304 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:16.783801 ------------------
-On: 2011-10-20 14:40:16.804072 Event: try to Connect to Controller
-On: 2011-10-20 14:40:18.116584 Event: init state
-On: 2011-10-20 14:40:18.116835 Event: Register Account to SIP server
-On: 2011-10-20 14:40:18.117252 Event: 100
-On: 2011-10-20 14:40:18.117337 Event: Caller Handler Ready
-On: 2011-10-20 14:40:23.128845 Event: CALL START
-On: 2011-10-20 14:40:23.128900 Event: Make a call to: 015782677224
-On: 2011-10-20 14:40:25.612400 Event: Call Connecting
-On: 2011-10-20 14:40:25.612448 Event: 200
-On: 2011-10-20 14:40:35.123816 Event: Terminate
-On: 2011-10-20 14:40:35.123858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:39.878888 ------------------
-On: 2011-10-20 14:40:39.898964 Event: try to Connect to Controller
-On: 2011-10-20 14:40:41.206700 Event: init state
-On: 2011-10-20 14:40:41.207041 Event: Register Account to SIP server
-On: 2011-10-20 14:40:41.207465 Event: 100
-On: 2011-10-20 14:40:41.207553 Event: Caller Handler Ready
-On: 2011-10-20 14:40:46.218543 Event: CALL START
-On: 2011-10-20 14:40:46.218601 Event: Make a call to: 017678038038
-On: 2011-10-20 14:40:48.499422 Event: Call Connecting
-On: 2011-10-20 14:40:48.499469 Event: 200
-On: 2011-10-20 14:40:58.218277 Event: Terminate
-On: 2011-10-20 14:40:58.218318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:03.049650 ------------------
-On: 2011-10-20 14:41:03.070310 Event: try to Connect to Controller
-On: 2011-10-20 14:41:04.301546 Event: init state
-On: 2011-10-20 14:41:04.301841 Event: Register Account to SIP server
-On: 2011-10-20 14:41:04.302259 Event: 100
-On: 2011-10-20 14:41:04.302347 Event: Caller Handler Ready
-On: 2011-10-20 14:41:09.310518 Event: CALL START
-On: 2011-10-20 14:41:09.310572 Event: Make a call to: 015252423662
-On: 2011-10-20 14:41:11.314924 Event: Call Connecting
-On: 2011-10-20 14:41:11.314972 Event: 200
-On: 2011-10-20 14:41:21.307647 Event: Terminate
-On: 2011-10-20 14:41:21.307688 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:26.070302 ------------------
-On: 2011-10-20 14:41:26.090581 Event: try to Connect to Controller
-On: 2011-10-20 14:41:27.391072 Event: init state
-On: 2011-10-20 14:41:27.391323 Event: Register Account to SIP server
-On: 2011-10-20 14:41:27.391725 Event: 100
-On: 2011-10-20 14:41:27.391804 Event: Caller Handler Ready
-On: 2011-10-20 14:41:32.404915 Event: CALL START
-On: 2011-10-20 14:41:32.404969 Event: Make a call to: 015128040906
-On: 2011-10-20 14:41:34.175924 Event: Call Connecting
-On: 2011-10-20 14:41:34.175970 Event: 200
-On: 2011-10-20 14:41:44.398311 Event: Terminate
-On: 2011-10-20 14:41:44.398353 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:49.166682 ------------------
-On: 2011-10-20 14:41:49.186621 Event: try to Connect to Controller
-On: 2011-10-20 14:41:50.482855 Event: init state
-On: 2011-10-20 14:41:50.483102 Event: Register Account to SIP server
-On: 2011-10-20 14:41:50.483518 Event: 100
-On: 2011-10-20 14:41:50.483602 Event: Caller Handler Ready
-On: 2011-10-20 14:41:55.492949 Event: CALL START
-On: 2011-10-20 14:41:55.493005 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:41:58.295212 Event: Call Connecting
-On: 2011-10-20 14:41:58.295260 Event: 200
-On: 2011-10-20 14:41:58.482168 Event: Terminate
-On: 2011-10-20 14:41:58.482208 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:45.888139 ------------------
-On: 2011-10-20 14:56:45.909973 Event: try to Connect to Controller
-On: 2011-10-20 14:56:47.198105 Event: init state
-On: 2011-10-20 14:56:47.198339 Event: Register Account to SIP server
-On: 2011-10-20 14:56:47.198765 Event: 100
-On: 2011-10-20 14:56:47.198847 Event: Receiver Handler Ready
-On: 2011-10-20 14:56:47.199109 Event: RECEIVE START
-On: 2011-10-20 14:56:49.904684 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:56:49.905180 Event: Call Connecting
-On: 2011-10-20 14:56:49.905222 Event: 200
-On: 2011-10-20 14:56:49.905475 Event: Answer call
-On: 2011-10-20 14:56:49.905527 Event: Hangup call
-On: 2011-10-20 14:56:49.905764 Event: CALL OK
-On: 2011-10-20 14:56:49.956451 Event: Call Disconnected
-On: 2011-10-20 14:56:51.114809 Event: Terminate
-On: 2011-10-20 14:56:51.114854 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:55.911987 ------------------
-On: 2011-10-20 14:56:55.935322 Event: try to Connect to Controller
-On: 2011-10-20 14:56:57.165273 Event: init state
-On: 2011-10-20 14:56:57.165503 Event: Register Account to SIP server
-On: 2011-10-20 14:56:57.165973 Event: 100
-On: 2011-10-20 14:56:57.166057 Event: Caller Handler Ready
-On: 2011-10-20 14:57:02.175069 Event: CALL START
-On: 2011-10-20 14:57:02.175124 Event: Make a call to: 017678038038
-On: 2011-10-20 14:57:03.878956 Event: Call Connecting
-On: 2011-10-20 14:57:03.879002 Event: 200
-On: 2011-10-20 14:57:14.171636 Event: Terminate
-On: 2011-10-20 14:57:14.171677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:57:19.173559 ------------------
-On: 2011-10-20 14:57:19.209475 Event: try to Connect to Controller
-On: 2011-10-20 14:57:20.288955 Event: init state
-On: 2011-10-20 14:57:20.289478 Event: Register Account to SIP server
-On: 2011-10-20 14:57:20.289981 Event: 100
-On: 2011-10-20 14:57:20.290068 Event: Caller Handler Ready
-On: 2011-10-20 14:57:25.297733 Event: CALL START
-On: 2011-10-20 14:57:25.297787 Event: Make a call to: 015128040906
-On: 2011-10-20 14:57:27.773796 Event: Call Connecting
-On: 2011-10-20 14:57:27.773843 Event: 200
-On: 2011-10-20 14:57:37.295660 Event: Terminate
-On: 2011-10-20 14:57:37.295701 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:57:42.128571 ------------------
-On: 2011-10-20 14:57:42.148926 Event: try to Connect to Controller
-On: 2011-10-20 14:57:43.379028 Event: init state
-On: 2011-10-20 14:57:43.379279 Event: Register Account to SIP server
-On: 2011-10-20 14:57:43.379697 Event: 100
-On: 2011-10-20 14:57:43.379785 Event: Caller Handler Ready
-On: 2011-10-20 14:57:48.392826 Event: CALL START
-On: 2011-10-20 14:57:48.392881 Event: Make a call to: 015252423662
-On: 2011-10-20 14:57:50.393472 Event: Call Connecting
-On: 2011-10-20 14:57:50.393521 Event: 200
-On: 2011-10-20 14:58:00.387113 Event: Terminate
-On: 2011-10-20 14:58:00.387159 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:05.246850 ------------------
-On: 2011-10-20 14:58:05.268122 Event: try to Connect to Controller
-On: 2011-10-20 14:58:06.469294 Event: init state
-On: 2011-10-20 14:58:06.469549 Event: Register Account to SIP server
-On: 2011-10-20 14:58:06.470536 Event: 100
-On: 2011-10-20 14:58:06.472893 Event: Caller Handler Ready
-On: 2011-10-20 14:58:11.480943 Event: CALL START
-On: 2011-10-20 14:58:11.480996 Event: Make a call to: 015782677224
-On: 2011-10-20 14:58:13.250676 Event: Call Connecting
-On: 2011-10-20 14:58:13.250723 Event: 200
-On: 2011-10-20 14:58:23.475676 Event: Terminate
-On: 2011-10-20 14:58:23.475718 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:28.370058 ------------------
-On: 2011-10-20 14:58:28.404224 Event: try to Connect to Controller
-On: 2011-10-20 14:58:29.558572 Event: init state
-On: 2011-10-20 14:58:29.558813 Event: Register Account to SIP server
-On: 2011-10-20 14:58:29.559233 Event: 100
-On: 2011-10-20 14:58:29.559318 Event: Caller Handler Ready
-On: 2011-10-20 14:58:34.569281 Event: CALL START
-On: 2011-10-20 14:58:34.569351 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:58:36.357228 Event: Call Connecting
-On: 2011-10-20 14:58:36.357277 Event: 200
-On: 2011-10-20 14:58:36.542236 Event: Terminate
-On: 2011-10-20 14:58:36.542275 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:01:15.265615 ------------------
-On: 2011-10-20 15:01:15.286071 Event: try to Connect to Controller
-On: 2011-10-20 15:01:16.593094 Event: init state
-On: 2011-10-20 15:01:16.593337 Event: Register Account to SIP server
-On: 2011-10-20 15:01:16.594306 Event: 100
-On: 2011-10-20 15:01:16.596631 Event: Caller Handler Ready
-On: 2011-10-20 15:01:21.604946 Event: CALL START
-On: 2011-10-20 15:01:21.605000 Event: Make a call to: 015782677224
-On: 2011-10-20 15:01:23.884057 Event: Call Connecting
-On: 2011-10-20 15:01:23.884105 Event: 200
-On: 2011-10-20 15:01:33.599659 Event: Terminate
-On: 2011-10-20 15:01:33.599699 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:01:38.358010 ------------------
-On: 2011-10-20 15:01:38.378035 Event: try to Connect to Controller
-On: 2011-10-20 15:01:39.682248 Event: init state
-On: 2011-10-20 15:01:39.682500 Event: Register Account to SIP server
-On: 2011-10-20 15:01:39.682920 Event: 100
-On: 2011-10-20 15:01:39.683007 Event: Caller Handler Ready
-On: 2011-10-20 15:01:44.692946 Event: CALL START
-On: 2011-10-20 15:01:44.692997 Event: Make a call to: 017678038038
-On: 2011-10-20 15:01:46.924841 Event: Call Connecting
-On: 2011-10-20 15:01:46.924887 Event: 200
-On: 2011-10-20 15:01:56.687661 Event: Terminate
-On: 2011-10-20 15:01:56.687701 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:01.469480 ------------------
-On: 2011-10-20 15:02:01.490012 Event: try to Connect to Controller
-On: 2011-10-20 15:02:02.770480 Event: init state
-On: 2011-10-20 15:02:02.771003 Event: Register Account to SIP server
-On: 2011-10-20 15:02:02.771428 Event: 100
-On: 2011-10-20 15:02:02.771510 Event: Caller Handler Ready
-On: 2011-10-20 15:02:07.784914 Event: CALL START
-On: 2011-10-20 15:02:07.784972 Event: Make a call to: 015128040906
-On: 2011-10-20 15:02:10.044096 Event: Call Connecting
-On: 2011-10-20 15:02:10.044144 Event: 200
-On: 2011-10-20 15:02:19.778730 Event: Terminate
-On: 2011-10-20 15:02:19.778771 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:24.544522 ------------------
-On: 2011-10-20 15:02:24.565352 Event: try to Connect to Controller
-On: 2011-10-20 15:02:25.862200 Event: init state
-On: 2011-10-20 15:02:25.862454 Event: Register Account to SIP server
-On: 2011-10-20 15:02:25.862873 Event: 100
-On: 2011-10-20 15:02:25.862958 Event: Caller Handler Ready
-On: 2011-10-20 15:02:30.872955 Event: CALL START
-On: 2011-10-20 15:02:30.873012 Event: Make a call to: 015252423662
-On: 2011-10-20 15:02:33.367228 Event: Call Connecting
-On: 2011-10-20 15:02:33.367276 Event: 200
-On: 2011-10-20 15:02:42.867642 Event: Terminate
-On: 2011-10-20 15:02:42.867682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:47.625407 ------------------
-On: 2011-10-20 15:02:47.645663 Event: try to Connect to Controller
-On: 2011-10-20 15:02:48.940915 Event: init state
-On: 2011-10-20 15:02:48.941168 Event: Register Account to SIP server
-On: 2011-10-20 15:02:48.941587 Event: 100
-On: 2011-10-20 15:02:48.941671 Event: Caller Handler Ready
-On: 2011-10-20 15:02:58.956579 Event: CALL START
-On: 2011-10-20 15:02:58.956638 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:03:00.900981 Event: Call Connecting
-On: 2011-10-20 15:03:00.901037 Event: 200
-On: 2011-10-20 15:03:01.107767 Event: Terminate
-On: 2011-10-20 15:03:01.107826 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:17:17.307258 ------------------
-On: 2011-10-20 15:17:17.327655 Event: try to Connect to Controller
-On: 2011-10-20 15:17:18.637886 Event: init state
-On: 2011-10-20 15:17:18.638142 Event: Register Account to SIP server
-On: 2011-10-20 15:17:18.638558 Event: 100
-On: 2011-10-20 15:17:18.638641 Event: Caller Handler Ready
-On: 2011-10-20 15:17:23.648003 Event: CALL START
-On: 2011-10-20 15:17:23.648058 Event: Make a call to: 015782677224
-On: 2011-10-20 15:17:25.617585 Event: Call Connecting
-On: 2011-10-20 15:17:25.617633 Event: 200
-On: 2011-10-20 15:17:35.643621 Event: Terminate
-On: 2011-10-20 15:17:35.643664 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:17:40.407432 ------------------
-On: 2011-10-20 15:17:40.427809 Event: try to Connect to Controller
-On: 2011-10-20 15:17:41.726745 Event: init state
-On: 2011-10-20 15:17:41.726983 Event: Register Account to SIP server
-On: 2011-10-20 15:17:41.727402 Event: 100
-On: 2011-10-20 15:17:41.727488 Event: Caller Handler Ready
-On: 2011-10-20 15:17:46.740920 Event: CALL START
-On: 2011-10-20 15:17:46.740975 Event: Make a call to: 017678038038
-On: 2011-10-20 15:17:48.463022 Event: Call Connecting
-On: 2011-10-20 15:17:48.463070 Event: 200
-On: 2011-10-20 15:17:58.734069 Event: Terminate
-On: 2011-10-20 15:17:58.734110 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:03.763270 ------------------
-On: 2011-10-20 15:18:03.810291 Event: try to Connect to Controller
-On: 2011-10-20 15:18:04.819200 Event: init state
-On: 2011-10-20 15:18:04.819442 Event: Register Account to SIP server
-On: 2011-10-20 15:18:04.819859 Event: 100
-On: 2011-10-20 15:18:04.819966 Event: Caller Handler Ready
-On: 2011-10-20 15:18:09.831180 Event: CALL START
-On: 2011-10-20 15:18:09.831237 Event: Make a call to: 015128040906
-On: 2011-10-20 15:18:11.604116 Event: Call Connecting
-On: 2011-10-20 15:18:11.604164 Event: 200
-On: 2011-10-20 15:18:21.828830 Event: Terminate
-On: 2011-10-20 15:18:21.828871 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:26.771572 ------------------
-On: 2011-10-20 15:18:26.799477 Event: try to Connect to Controller
-On: 2011-10-20 15:18:27.941640 Event: init state
-On: 2011-10-20 15:18:27.941946 Event: Register Account to SIP server
-On: 2011-10-20 15:18:27.942368 Event: 100
-On: 2011-10-20 15:18:27.942456 Event: Caller Handler Ready
-On: 2011-10-20 15:18:32.949752 Event: CALL START
-On: 2011-10-20 15:18:32.949813 Event: Make a call to: 015252423662
-On: 2011-10-20 15:18:35.473865 Event: Call Connecting
-On: 2011-10-20 15:18:35.473925 Event: 200
-On: 2011-10-20 15:18:44.949548 Event: Terminate
-On: 2011-10-20 15:18:44.949589 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:49.912103 ------------------
-On: 2011-10-20 15:18:49.940181 Event: try to Connect to Controller
-On: 2011-10-20 15:18:51.021257 Event: init state
-On: 2011-10-20 15:18:51.021495 Event: Register Account to SIP server
-On: 2011-10-20 15:18:51.021966 Event: 100
-On: 2011-10-20 15:18:51.022054 Event: Caller Handler Ready
-On: 2011-10-20 15:19:01.041763 Event: CALL START
-On: 2011-10-20 15:19:01.041835 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:19:04.135963 Event: Call Connecting
-On: 2011-10-20 15:19:04.136016 Event: 200
-On: 2011-10-20 15:19:04.321249 Event: Terminate
-On: 2011-10-20 15:19:04.321292 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:07.218813 ------------------
-On: 2011-10-20 15:24:07.263519 Event: try to Connect to Controller
-On: 2011-10-20 15:24:08.130777 Event: init state
-On: 2011-10-20 15:24:08.131013 Event: Register Account to SIP server
-On: 2011-10-20 15:24:08.131455 Event: 100
-On: 2011-10-20 15:24:08.131540 Event: Caller Handler Ready
-On: 2011-10-20 15:24:13.137759 Event: CALL START
-On: 2011-10-20 15:24:13.137820 Event: Make a call to: 015782677224
-On: 2011-10-20 15:24:14.911916 Event: Call Connecting
-On: 2011-10-20 15:24:14.911966 Event: 200
-On: 2011-10-20 15:24:25.142302 Event: Terminate
-On: 2011-10-20 15:24:25.142345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:30.266111 ------------------
-On: 2011-10-20 15:24:30.308783 Event: try to Connect to Controller
-On: 2011-10-20 15:24:31.266230 Event: init state
-On: 2011-10-20 15:24:31.266469 Event: Register Account to SIP server
-On: 2011-10-20 15:24:31.266894 Event: 100
-On: 2011-10-20 15:24:31.266977 Event: Caller Handler Ready
-On: 2011-10-20 15:24:36.273733 Event: CALL START
-On: 2011-10-20 15:24:36.273789 Event: Make a call to: 017678038038
-On: 2011-10-20 15:24:38.011247 Event: Call Connecting
-On: 2011-10-20 15:24:38.011298 Event: 200
-On: 2011-10-20 15:24:48.273992 Event: Terminate
-On: 2011-10-20 15:24:48.274037 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:53.035356 ------------------
-On: 2011-10-20 15:24:53.082748 Event: try to Connect to Controller
-On: 2011-10-20 15:24:54.356921 Event: init state
-On: 2011-10-20 15:24:54.357159 Event: Register Account to SIP server
-On: 2011-10-20 15:24:54.357585 Event: 100
-On: 2011-10-20 15:24:54.357672 Event: Caller Handler Ready
-On: 2011-10-20 15:24:59.365751 Event: CALL START
-On: 2011-10-20 15:24:59.365814 Event: Make a call to: 015128040906
-On: 2011-10-20 15:25:00.829349 Event: Call Connecting
-On: 2011-10-20 15:25:00.829398 Event: 200
-On: 2011-10-20 15:25:11.363767 Event: Terminate
-On: 2011-10-20 15:25:11.363812 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:25:16.156740 ------------------
-On: 2011-10-20 15:25:16.198021 Event: try to Connect to Controller
-On: 2011-10-20 15:25:17.468489 Event: init state
-On: 2011-10-20 15:25:17.468730 Event: Register Account to SIP server
-On: 2011-10-20 15:25:17.469514 Event: 100
-On: 2011-10-20 15:25:17.469602 Event: Caller Handler Ready
-On: 2011-10-20 15:25:22.477787 Event: CALL START
-On: 2011-10-20 15:25:22.477846 Event: Make a call to: 015252423662
-On: 2011-10-20 15:25:24.190209 Event: Call Connecting
-On: 2011-10-20 15:25:24.190258 Event: 200
-On: 2011-10-20 15:25:34.477999 Event: Terminate
-On: 2011-10-20 15:25:34.478046 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:25:39.713342 ------------------
-On: 2011-10-20 15:25:39.761962 Event: try to Connect to Controller
-On: 2011-10-20 15:25:40.557065 Event: init state
-On: 2011-10-20 15:25:40.557311 Event: Register Account to SIP server
-On: 2011-10-20 15:25:40.558167 Event: 100
-On: 2011-10-20 15:25:40.558259 Event: Caller Handler Ready
-On: 2011-10-20 15:25:50.582560 Event: CALL START
-On: 2011-10-20 15:25:50.582630 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:25:53.254286 Event: Call Connecting
-On: 2011-10-20 15:25:53.254336 Event: 200
-On: 2011-10-20 15:25:53.417415 Event: Terminate
-On: 2011-10-20 15:25:53.417459 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:32.399657 ------------------
-On: 2011-10-20 16:03:32.441699 Event: try to Connect to Controller
-On: 2011-10-20 16:03:33.661850 Event: init state
-On: 2011-10-20 16:03:33.662093 Event: Register Account to SIP server
-On: 2011-10-20 16:03:33.662508 Event: 100
-On: 2011-10-20 16:03:33.662596 Event: Caller Handler Ready
-On: 2011-10-20 16:03:38.669755 Event: CALL START
-On: 2011-10-20 16:03:38.669821 Event: Make a call to: 017678038038
-On: 2011-10-20 16:03:40.287379 Event: Call Connecting
-On: 2011-10-20 16:03:40.287427 Event: 200
-On: 2011-10-20 16:03:50.667715 Event: Terminate
-On: 2011-10-20 16:03:50.667758 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:55.486600 ------------------
-On: 2011-10-20 16:03:55.513103 Event: try to Connect to Controller
-On: 2011-10-20 16:03:56.754341 Event: init state
-On: 2011-10-20 16:03:56.754580 Event: Register Account to SIP server
-On: 2011-10-20 16:03:56.755003 Event: 100
-On: 2011-10-20 16:03:56.755087 Event: Caller Handler Ready
-On: 2011-10-20 16:04:01.761900 Event: CALL START
-On: 2011-10-20 16:04:01.761957 Event: Make a call to: 015128040906
-On: 2011-10-20 16:04:04.271760 Event: Call Connecting
-On: 2011-10-20 16:04:04.271810 Event: 200
-On: 2011-10-20 16:04:13.766363 Event: Terminate
-On: 2011-10-20 16:04:13.766405 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:04:18.525652 ------------------
-On: 2011-10-20 16:04:18.546102 Event: try to Connect to Controller
-On: 2011-10-20 16:04:19.846776 Event: init state
-On: 2011-10-20 16:04:19.847012 Event: Register Account to SIP server
-On: 2011-10-20 16:04:19.847432 Event: 100
-On: 2011-10-20 16:04:19.847518 Event: Caller Handler Ready
-On: 2011-10-20 16:04:24.855330 Event: CALL START
-On: 2011-10-20 16:04:24.855394 Event: Make a call to: 015252423662
-On: 2011-10-20 16:04:26.896321 Event: Call Connecting
-On: 2011-10-20 16:04:26.896371 Event: 200
-On: 2011-10-20 16:04:36.852339 Event: Terminate
-On: 2011-10-20 16:04:36.852383 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:52.503036 ------------------
-On: 2011-10-20 16:07:52.526378 Event: try to Connect to Controller
-On: 2011-10-20 16:07:53.750773 Event: init state
-On: 2011-10-20 16:07:53.751010 Event: Register Account to SIP server
-On: 2011-10-20 16:07:53.751438 Event: 100
-On: 2011-10-20 16:07:53.751524 Event: Caller Handler Ready
-On: 2011-10-20 16:07:58.763094 Event: CALL START
-On: 2011-10-20 16:07:58.763159 Event: Make a call to: 017678038038
-On: 2011-10-20 16:08:01.291988 Event: Call Connecting
-On: 2011-10-20 16:08:01.292036 Event: 200
-On: 2011-10-20 16:08:10.758837 Event: Terminate
-On: 2011-10-20 16:08:10.758879 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:08:15.630300 ------------------
-On: 2011-10-20 16:08:15.656898 Event: try to Connect to Controller
-On: 2011-10-20 16:08:16.854785 Event: init state
-On: 2011-10-20 16:08:16.855037 Event: Register Account to SIP server
-On: 2011-10-20 16:08:16.855459 Event: 100
-On: 2011-10-20 16:08:16.855546 Event: Caller Handler Ready
-On: 2011-10-20 16:08:21.864818 Event: CALL START
-On: 2011-10-20 16:08:21.864874 Event: Make a call to: 015128040906
-On: 2011-10-20 16:08:23.646054 Event: Call Connecting
-On: 2011-10-20 16:08:23.646105 Event: 200
-On: 2011-10-20 16:08:33.865733 Event: Terminate
-On: 2011-10-20 16:08:33.865777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:08:38.674245 ------------------
-On: 2011-10-20 16:08:38.694595 Event: try to Connect to Controller
-On: 2011-10-20 16:08:39.947613 Event: init state
-On: 2011-10-20 16:08:39.947851 Event: Register Account to SIP server
-On: 2011-10-20 16:08:39.948269 Event: 100
-On: 2011-10-20 16:08:39.948354 Event: Caller Handler Ready
-On: 2011-10-20 16:08:44.957734 Event: CALL START
-On: 2011-10-20 16:08:44.957791 Event: Make a call to: 015252423662
-On: 2011-10-20 16:08:47.506658 Event: Call Connecting
-On: 2011-10-20 16:08:47.506706 Event: 200
-On: 2011-10-20 16:08:56.955279 Event: Terminate
-On: 2011-10-20 16:08:56.955320 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:09:01.828655 ------------------
-On: 2011-10-20 16:09:01.849095 Event: try to Connect to Controller
-On: 2011-10-20 16:09:03.054270 Event: init state
-On: 2011-10-20 16:09:03.054509 Event: Register Account to SIP server
-On: 2011-10-20 16:09:03.055288 Event: 100
-On: 2011-10-20 16:09:03.055372 Event: Caller Handler Ready
-On: 2011-10-20 16:09:08.063013 Event: CALL START
-On: 2011-10-20 16:09:08.063081 Event: Make a call to: 015782677224
-On: 2011-10-20 16:09:10.249137 Event: Call Connecting
-On: 2011-10-20 16:09:10.249186 Event: 200
-On: 2011-10-20 16:09:20.062023 Event: Terminate
-On: 2011-10-20 16:09:20.062065 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:04.266375 ------------------
-On: 2011-10-20 16:14:04.286624 Event: try to Connect to Controller
-On: 2011-10-20 16:14:05.574394 Event: init state
-On: 2011-10-20 16:14:05.574647 Event: Register Account to SIP server
-On: 2011-10-20 16:14:05.575075 Event: 100
-On: 2011-10-20 16:14:05.575159 Event: Caller Handler Ready
-On: 2011-10-20 16:14:10.584830 Event: CALL START
-On: 2011-10-20 16:14:10.584887 Event: Make a call to: 015782677224
-On: 2011-10-20 16:14:12.122499 Event: Call Connecting
-On: 2011-10-20 16:14:12.122547 Event: 200
-On: 2011-10-20 16:14:22.579701 Event: Terminate
-On: 2011-10-20 16:14:22.579741 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:27.361145 ------------------
-On: 2011-10-20 16:14:27.381452 Event: try to Connect to Controller
-On: 2011-10-20 16:14:28.662828 Event: init state
-On: 2011-10-20 16:14:28.663084 Event: Register Account to SIP server
-On: 2011-10-20 16:14:28.663862 Event: 100
-On: 2011-10-20 16:14:28.665929 Event: Caller Handler Ready
-On: 2011-10-20 16:14:33.676822 Event: CALL START
-On: 2011-10-20 16:14:33.676881 Event: Make a call to: 017678038038
-On: 2011-10-20 16:14:35.934621 Event: Call Connecting
-On: 2011-10-20 16:14:35.934670 Event: 200
-On: 2011-10-20 16:14:45.671012 Event: Terminate
-On: 2011-10-20 16:14:45.671053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:50.456345 ------------------
-On: 2011-10-20 16:14:50.477011 Event: try to Connect to Controller
-On: 2011-10-20 16:14:51.754772 Event: init state
-On: 2011-10-20 16:14:51.755011 Event: Register Account to SIP server
-On: 2011-10-20 16:14:51.755435 Event: 100
-On: 2011-10-20 16:14:51.755522 Event: Caller Handler Ready
-On: 2011-10-20 16:14:56.761732 Event: CALL START
-On: 2011-10-20 16:14:56.761785 Event: Make a call to: 015252423662
-On: 2011-10-20 16:14:58.984650 Event: Call Connecting
-On: 2011-10-20 16:14:58.984698 Event: 200
-On: 2011-10-20 16:15:08.761602 Event: Terminate
-On: 2011-10-20 16:15:08.761645 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:15:13.571195 ------------------
-On: 2011-10-20 16:15:13.592297 Event: try to Connect to Controller
-On: 2011-10-20 16:15:14.846731 Event: init state
-On: 2011-10-20 16:15:14.847013 Event: Register Account to SIP server
-On: 2011-10-20 16:15:14.847440 Event: 100
-On: 2011-10-20 16:15:14.847526 Event: Caller Handler Ready
-On: 2011-10-20 16:15:19.857916 Event: CALL START
-On: 2011-10-20 16:15:19.857986 Event: Make a call to: 015128040906
-On: 2011-10-20 16:15:21.854640 Event: Call Connecting
-On: 2011-10-20 16:15:21.854688 Event: 200
-On: 2011-10-20 16:15:31.856230 Event: Terminate
-On: 2011-10-20 16:15:31.856271 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:04.170740 ------------------
-On: 2011-10-20 16:18:04.190941 Event: try to Connect to Controller
-On: 2011-10-20 16:18:05.474149 Event: init state
-On: 2011-10-20 16:18:05.474433 Event: Register Account to SIP server
-On: 2011-10-20 16:18:05.474856 Event: 100
-On: 2011-10-20 16:18:05.474941 Event: Caller Handler Ready
-On: 2011-10-20 16:18:10.481788 Event: CALL START
-On: 2011-10-20 16:18:10.481863 Event: Make a call to: 017678038038
-On: 2011-10-20 16:18:12.855860 Event: Call Connecting
-On: 2011-10-20 16:18:12.855910 Event: 200
-On: 2011-10-20 16:18:22.479744 Event: Terminate
-On: 2011-10-20 16:18:22.479785 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:27.237944 ------------------
-On: 2011-10-20 16:18:27.258953 Event: try to Connect to Controller
-On: 2011-10-20 16:18:28.577348 Event: init state
-On: 2011-10-20 16:18:28.577587 Event: Register Account to SIP server
-On: 2011-10-20 16:18:28.578066 Event: 100
-On: 2011-10-20 16:18:28.578156 Event: Caller Handler Ready
-On: 2011-10-20 16:18:33.585740 Event: CALL START
-On: 2011-10-20 16:18:33.585801 Event: Make a call to: 015128040906
-On: 2011-10-20 16:18:35.864484 Event: Call Connecting
-On: 2011-10-20 16:18:35.864533 Event: 200
-On: 2011-10-20 16:18:45.584108 Event: Terminate
-On: 2011-10-20 16:18:45.584150 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:50.451252 ------------------
-On: 2011-10-20 16:18:50.472088 Event: try to Connect to Controller
-On: 2011-10-20 16:18:51.692439 Event: init state
-On: 2011-10-20 16:18:51.692676 Event: Register Account to SIP server
-On: 2011-10-20 16:18:51.693100 Event: 100
-On: 2011-10-20 16:18:51.693185 Event: Caller Handler Ready
-On: 2011-10-20 16:18:56.701792 Event: CALL START
-On: 2011-10-20 16:18:56.701854 Event: Make a call to: 015252423662
-On: 2011-10-20 16:18:58.673252 Event: Call Connecting
-On: 2011-10-20 16:18:58.673301 Event: 200
-On: 2011-10-20 16:19:08.701468 Event: Terminate
-On: 2011-10-20 16:19:08.701509 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:19:13.446512 ------------------
-On: 2011-10-20 16:19:13.467044 Event: try to Connect to Controller
-On: 2011-10-20 16:19:14.778631 Event: init state
-On: 2011-10-20 16:19:14.778870 Event: Register Account to SIP server
-On: 2011-10-20 16:19:14.779666 Event: 100
-On: 2011-10-20 16:19:14.779754 Event: Caller Handler Ready
-On: 2011-10-20 16:19:24.801915 Event: CALL START
-On: 2011-10-20 16:19:24.801977 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:19:27.452299 Event: Call Connecting
-On: 2011-10-20 16:19:27.452350 Event: 200
-On: 2011-10-20 16:19:27.654152 Event: Terminate
-On: 2011-10-20 16:19:27.654197 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:24.896132 ------------------
-On: 2011-10-20 16:44:24.916313 Event: try to Connect to Controller
-On: 2011-10-20 16:44:26.218749 Event: init state
-On: 2011-10-20 16:44:26.218986 Event: Register Account to SIP server
-On: 2011-10-20 16:44:26.219399 Event: 100
-On: 2011-10-20 16:44:26.219485 Event: Caller Handler Ready
-On: 2011-10-20 16:44:31.228775 Event: CALL START
-On: 2011-10-20 16:44:31.228828 Event: Make a call to: 015782677224
-On: 2011-10-20 16:44:33.726132 Event: Call Connecting
-On: 2011-10-20 16:44:33.726180 Event: 200
-On: 2011-10-20 16:44:43.226159 Event: Terminate
-On: 2011-10-20 16:44:43.226202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:48.117372 ------------------
-On: 2011-10-20 16:44:48.153670 Event: try to Connect to Controller
-On: 2011-10-20 16:44:49.324993 Event: init state
-On: 2011-10-20 16:44:49.325229 Event: Register Account to SIP server
-On: 2011-10-20 16:44:49.325652 Event: 100
-On: 2011-10-20 16:44:49.325797 Event: Caller Handler Ready
-On: 2011-10-20 16:44:54.333755 Event: CALL START
-On: 2011-10-20 16:44:54.333813 Event: Make a call to: 017678038038
-On: 2011-10-20 16:44:56.303675 Event: Call Connecting
-On: 2011-10-20 16:44:56.303724 Event: 200
-On: 2011-10-20 16:45:06.331691 Event: Terminate
-On: 2011-10-20 16:45:06.331734 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:45:11.155460 ------------------
-On: 2011-10-20 16:45:11.175701 Event: try to Connect to Controller
-On: 2011-10-20 16:45:12.416088 Event: init state
-On: 2011-10-20 16:45:12.416327 Event: Register Account to SIP server
-On: 2011-10-20 16:45:12.417110 Event: 100
-On: 2011-10-20 16:45:12.417200 Event: Caller Handler Ready
-On: 2011-10-20 16:45:17.425739 Event: CALL START
-On: 2011-10-20 16:45:17.425790 Event: Make a call to: 015128040906
-On: 2011-10-20 16:45:19.686332 Event: Call Connecting
-On: 2011-10-20 16:45:19.686381 Event: 200
-On: 2011-10-20 16:45:29.424002 Event: Terminate
-On: 2011-10-20 16:45:29.424046 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:45:34.181179 ------------------
-On: 2011-10-20 16:45:34.202262 Event: try to Connect to Controller
-On: 2011-10-20 16:45:35.493488 Event: init state
-On: 2011-10-20 16:45:35.493770 Event: Register Account to SIP server
-On: 2011-10-20 16:45:35.494199 Event: 100
-On: 2011-10-20 16:45:35.494285 Event: Caller Handler Ready
-On: 2011-10-20 16:45:45.515815 Event: CALL START
-On: 2011-10-20 16:45:45.515881 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:45:48.081900 Event: Call Connecting
-On: 2011-10-20 16:45:48.081952 Event: 200
-On: 2011-10-20 16:45:48.280246 Event: Terminate
-On: 2011-10-20 16:45:48.280290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:26.286830 ------------------
-On: 2011-10-20 16:48:26.308101 Event: try to Connect to Controller
-On: 2011-10-20 16:48:27.615576 Event: init state
-On: 2011-10-20 16:48:27.615811 Event: Register Account to SIP server
-On: 2011-10-20 16:48:27.616589 Event: 100
-On: 2011-10-20 16:48:27.616676 Event: Caller Handler Ready
-On: 2011-10-20 16:48:32.625739 Event: CALL START
-On: 2011-10-20 16:48:32.625798 Event: Make a call to: 015782677224
-On: 2011-10-20 16:48:34.605225 Event: Call Connecting
-On: 2011-10-20 16:48:34.605274 Event: 200
-On: 2011-10-20 16:48:44.623314 Event: Terminate
-On: 2011-10-20 16:48:44.623357 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:49.391920 ------------------
-On: 2011-10-20 16:48:49.412736 Event: try to Connect to Controller
-On: 2011-10-20 16:48:50.707583 Event: init state
-On: 2011-10-20 16:48:50.707815 Event: Register Account to SIP server
-On: 2011-10-20 16:48:50.708227 Event: 100
-On: 2011-10-20 16:48:50.708312 Event: Caller Handler Ready
-On: 2011-10-20 16:48:55.715267 Event: CALL START
-On: 2011-10-20 16:48:55.715327 Event: Make a call to: 017678038038
-On: 2011-10-20 16:48:57.558885 Event: Call Connecting
-On: 2011-10-20 16:48:57.558934 Event: 200
-On: 2011-10-20 16:49:07.714594 Event: Terminate
-On: 2011-10-20 16:49:07.714637 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:49:12.478288 ------------------
-On: 2011-10-20 16:49:12.499396 Event: try to Connect to Controller
-On: 2011-10-20 16:49:13.799010 Event: init state
-On: 2011-10-20 16:49:13.799277 Event: Register Account to SIP server
-On: 2011-10-20 16:49:13.800057 Event: 100
-On: 2011-10-20 16:49:13.800143 Event: Caller Handler Ready
-On: 2011-10-20 16:49:18.809483 Event: CALL START
-On: 2011-10-20 16:49:18.809539 Event: Make a call to: 015128040906
-On: 2011-10-20 16:49:20.796480 Event: Call Connecting
-On: 2011-10-20 16:49:20.796528 Event: 200
-On: 2011-10-20 16:49:30.806845 Event: Terminate
-On: 2011-10-20 16:49:30.806886 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:49:37.551202 ------------------
-On: 2011-10-20 16:49:37.571521 Event: try to Connect to Controller
-On: 2011-10-20 16:49:38.878331 Event: init state
-On: 2011-10-20 16:49:38.878569 Event: Register Account to SIP server
-On: 2011-10-20 16:49:38.878989 Event: 100
-On: 2011-10-20 16:49:38.879075 Event: Caller Handler Ready
-On: 2011-10-20 16:49:43.885990 Event: CALL START
-On: 2011-10-20 16:49:43.886045 Event: Make a call to: 015252423662
-On: 2011-10-20 16:49:46.122498 Event: Call Connecting
-On: 2011-10-20 16:49:46.122546 Event: 200
-On: 2011-10-20 16:49:55.883680 Event: Terminate
-On: 2011-10-20 16:49:55.883721 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:50:00.659026 ------------------
-On: 2011-10-20 16:50:00.679672 Event: try to Connect to Controller
-On: 2011-10-20 16:50:01.957000 Event: init state
-On: 2011-10-20 16:50:01.957236 Event: Register Account to SIP server
-On: 2011-10-20 16:50:01.958073 Event: 100
-On: 2011-10-20 16:50:01.958162 Event: Caller Handler Ready
-On: 2011-10-20 16:50:11.979159 Event: CALL START
-On: 2011-10-20 16:50:11.979221 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:50:14.093617 Event: Call Connecting
-On: 2011-10-20 16:50:14.093668 Event: 200
-On: 2011-10-20 16:50:14.276618 Event: Terminate
-On: 2011-10-20 16:50:14.276662 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:29.950598 ------------------
-On: 2011-10-20 16:52:29.971995 Event: try to Connect to Controller
-On: 2011-10-20 16:52:31.279157 Event: init state
-On: 2011-10-20 16:52:31.279388 Event: Register Account to SIP server
-On: 2011-10-20 16:52:31.279804 Event: 100
-On: 2011-10-20 16:52:31.279889 Event: Caller Handler Ready
-On: 2011-10-20 16:52:36.289163 Event: CALL START
-On: 2011-10-20 16:52:36.289222 Event: Make a call to: 015782677224
-On: 2011-10-20 16:52:38.829071 Event: Call Connecting
-On: 2011-10-20 16:52:38.829118 Event: 200
-On: 2011-10-20 16:52:48.286534 Event: Terminate
-On: 2011-10-20 16:52:48.286574 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:53.069610 ------------------
-On: 2011-10-20 16:52:53.090090 Event: try to Connect to Controller
-On: 2011-10-20 16:52:54.373028 Event: init state
-On: 2011-10-20 16:52:54.373267 Event: Register Account to SIP server
-On: 2011-10-20 16:52:54.373689 Event: 100
-On: 2011-10-20 16:52:54.373823 Event: Caller Handler Ready
-On: 2011-10-20 16:52:59.381743 Event: CALL START
-On: 2011-10-20 16:52:59.381803 Event: Make a call to: 017678038038
-On: 2011-10-20 16:53:01.383989 Event: Call Connecting
-On: 2011-10-20 16:53:01.384040 Event: 200
-On: 2011-10-20 16:53:11.379688 Event: Terminate
-On: 2011-10-20 16:53:11.379730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:53:39.284280 ------------------
-On: 2011-10-20 16:53:39.304553 Event: try to Connect to Controller
-On: 2011-10-20 16:53:40.583797 Event: init state
-On: 2011-10-20 16:53:40.584038 Event: Register Account to SIP server
-On: 2011-10-20 16:53:40.584457 Event: 100
-On: 2011-10-20 16:53:40.584542 Event: Caller Handler Ready
-On: 2011-10-20 16:53:45.593739 Event: CALL START
-On: 2011-10-20 16:53:45.593800 Event: Make a call to: 015128040906
-On: 2011-10-20 16:53:47.652059 Event: Call Connecting
-On: 2011-10-20 16:53:47.652108 Event: 200
-On: 2011-10-20 16:53:57.591570 Event: Terminate
-On: 2011-10-20 16:53:57.591611 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:33.654764 ------------------
-On: 2011-10-20 16:55:33.675994 Event: try to Connect to Controller
-On: 2011-10-20 16:55:34.962206 Event: init state
-On: 2011-10-20 16:55:34.962443 Event: Register Account to SIP server
-On: 2011-10-20 16:55:34.962860 Event: 100
-On: 2011-10-20 16:55:34.962945 Event: Caller Handler Ready
-On: 2011-10-20 16:55:39.969744 Event: CALL START
-On: 2011-10-20 16:55:39.969804 Event: Make a call to: 017678038038
-On: 2011-10-20 16:55:42.023388 Event: Call Connecting
-On: 2011-10-20 16:55:42.023436 Event: 200
-On: 2011-10-20 16:55:51.969900 Event: Terminate
-On: 2011-10-20 16:55:51.969944 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:56.827942 ------------------
-On: 2011-10-20 16:55:56.849017 Event: try to Connect to Controller
-On: 2011-10-20 16:55:58.056882 Event: init state
-On: 2011-10-20 16:55:58.057128 Event: Register Account to SIP server
-On: 2011-10-20 16:55:58.057550 Event: 100
-On: 2011-10-20 16:55:58.057634 Event: Caller Handler Ready
-On: 2011-10-20 16:56:03.065745 Event: CALL START
-On: 2011-10-20 16:56:03.065803 Event: Make a call to: 015128040906
-On: 2011-10-20 16:56:05.557683 Event: Call Connecting
-On: 2011-10-20 16:56:05.557767 Event: 200
-On: 2011-10-20 16:56:15.063814 Event: Terminate
-On: 2011-10-20 16:56:15.063856 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:56:19.933229 ------------------
-On: 2011-10-20 16:56:19.954732 Event: try to Connect to Controller
-On: 2011-10-20 16:56:21.147586 Event: init state
-On: 2011-10-20 16:56:21.147838 Event: Register Account to SIP server
-On: 2011-10-20 16:56:21.148261 Event: 100
-On: 2011-10-20 16:56:21.148346 Event: Caller Handler Ready
-On: 2011-10-20 16:56:26.157723 Event: CALL START
-On: 2011-10-20 16:56:26.157779 Event: Make a call to: 015252423662
-On: 2011-10-20 16:56:28.146828 Event: Call Connecting
-On: 2011-10-20 16:56:28.146876 Event: 200
-On: 2011-10-20 16:56:38.155051 Event: Terminate
-On: 2011-10-20 16:56:38.155092 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:56:42.965307 ------------------
-On: 2011-10-20 16:56:42.985996 Event: try to Connect to Controller
-On: 2011-10-20 16:56:44.239644 Event: init state
-On: 2011-10-20 16:56:44.239886 Event: Register Account to SIP server
-On: 2011-10-20 16:56:44.240323 Event: 100
-On: 2011-10-20 16:56:44.240408 Event: Caller Handler Ready
-On: 2011-10-20 16:56:49.249741 Event: CALL START
-On: 2011-10-20 16:56:49.249800 Event: Make a call to: 015782677224
-On: 2011-10-20 16:56:51.025616 Event: Call Connecting
-On: 2011-10-20 16:56:51.025667 Event: 200
-On: 2011-10-20 16:57:01.247135 Event: Terminate
-On: 2011-10-20 16:57:01.247176 Event: Goodbye
diff --git a/For Weekly Test/Advance/SIPHandler.py b/For Weekly Test/Advance/SIPHandler.py
deleted file mode 100755
index 4a6b435..0000000
--- a/For Weekly Test/Advance/SIPHandler.py
+++ /dev/null
@@ -1,252 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-import setproctitle
-from time import sleep
-
-def log_cb(level, str, len):
-
- print ""
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- print 'Incoming Call'
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
-
- call.answer(200)
- logger.logEvent("Answer call")
- print 'Answer Call'
- if current_call <> None:
- logger.logEvent("Hangup call")
- print 'Hangup Call'
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- print 'Call Connecting'
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- print 'Number busy or offline'
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- print 'Call Discont'
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- print 'GREETING'
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('Cant connect to Controller')
- sys.exit(1)
-
-def initLogFile(sipServer):
-
- global logger
-
- if sipServer == '132.230.4.8':
- nameOfLogFile = 'SIP handler.log'
- print '--SIP Asterisk--'
-
- elif sipServer == 'sipgate.de':
- nameOfLogFile = 'Landline handler.log'
- print '--Landline--'
-
- elif sipServer == '132.230.252.228':
- nameOfLogFile = 'University SIP handler.log'
- print '--university tephone network--'
-
- logger = LogFileClass.Logging(nameOfLogFile)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- no = message[7:]
- if sipServer == '132.230.252.228':
- num = no[7:]
- else:
- num = no
- print 'INIT STATE', state
-
-def initHandler():
- global sipServer
- global username
- global password
-
-
- accConf = sys.argv[1]
- username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- sipServer = newLine[0:newLine.find(':')]
-
-
-lib = pj.Lib()
-stop = False
-
-print 'INIT SYSTEM'
-
-initHandler()
-setproctitle.setproctitle('SIP Handler')
-initLogFile(sipServer)
-
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
-
-
- try:
- initState()
- acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password))
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'RECEIVE START':
- print data
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- print data
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'CALL START':
- print data
- if num <> '':
- sleep(3)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- print number
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- print data
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Advance/SSHTunnelBoxClass.py b/For Weekly Test/Advance/SSHTunnelBoxClass.py
deleted file mode 100755
index 0447365..0000000
--- a/For Weekly Test/Advance/SSHTunnelBoxClass.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-from time import sleep
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- #self.__sshTunnel = subprocess.Popen(['ssh','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- sleep(2)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-
diff --git a/For Weekly Test/Advance/SSHTunnelBoxClass.pyc b/For Weekly Test/Advance/SSHTunnelBoxClass.pyc
deleted file mode 100644
index 0fec2fe..0000000
--- a/For Weekly Test/Advance/SSHTunnelBoxClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/SSHTunnelClass.py b/For Weekly Test/Advance/SSHTunnelClass.py
deleted file mode 100755
index 12bedeb..0000000
--- a/For Weekly Test/Advance/SSHTunnelClass.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-x = SSHTunneling(50000, 50008, '10.4.58.241', 'lsfks', 'r')
-print x.startTunneling()
-print 'Tunnel started '
-sleep(50)
-print x.killTunneling()
-print 'kill tunnel'
diff --git a/For Weekly Test/Advance/ServerClass.py b/For Weekly Test/Advance/ServerClass.py
deleted file mode 100755
index 93c2f8e..0000000
--- a/For Weekly Test/Advance/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/Advance/ServerClass.pyc b/For Weekly Test/Advance/ServerClass.pyc
deleted file mode 100644
index 320bdd0..0000000
--- a/For Weekly Test/Advance/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/TestProcessLog.log b/For Weekly Test/Advance/TestProcessLog.log
deleted file mode 100644
index 3dc2f33..0000000
--- a/For Weekly Test/Advance/TestProcessLog.log
+++ /dev/null
@@ -1,6392 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 16:48:43.047818 ------------------
-On: 2011-10-14 16:48:43.047897 Event: init Caller
-On: 2011-10-14 16:48:43.047921 Event: unisip
-On: 2011-10-14 16:48:45.057107 Event: Connected to Caller Handler
-On: 2011-10-14 16:48:45.057384 Event: Caller Handler respond
-On: 2011-10-14 16:48:45.058186 Event: Caller handler : Ready
-On: 2011-10-14 16:48:45.058227 Event: init Receiver
-On: 2011-10-14 16:48:45.058249 Event: GSMRZ3
-On: 2011-10-14 16:48:49.062494 Event: Cannt connect to Receiver
-On: 2011-10-14 16:48:49.062557 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 16:48:49.174234 Event:
-On: 2011-10-14 16:48:49.174301 Event: init Caller
-On: 2011-10-14 16:48:49.174322 Event: GSMRZ1
-On: 2011-10-14 16:48:51.185893 Event: Connected to Caller Handler
-On: 2011-10-14 16:48:51.186074 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 16:48:51.323037 Event:
-On: 2011-10-14 16:48:51.323098 Event: init Caller
-On: 2011-10-14 16:48:51.323118 Event: landline
-On: 2011-10-14 16:48:53.326636 Event: Connected to Caller Handler
-On: 2011-10-14 16:48:53.326897 Event: Caller Handler respond
-On: 2011-10-14 16:48:53.328889 Event: Caller handler : Ready
-On: 2011-10-14 16:48:53.328929 Event: init Receiver
-On: 2011-10-14 16:48:53.328950 Event: GSMRZ2
-On: 2011-10-14 16:48:57.334508 Event: Cannt connect to Receiver
-On: 2011-10-14 16:48:57.334566 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 16:48:57.426255 Event:
-On: 2011-10-14 16:48:57.426317 Event: init Caller
-On: 2011-10-14 16:48:57.426337 Event: sip
-On: 2011-10-14 16:48:59.434183 Event: Connected to Caller Handler
-On: 2011-10-14 16:48:59.434451 Event: Caller Handler respond
-On: 2011-10-14 16:48:59.435190 Event: Caller handler : Ready
-On: 2011-10-14 16:48:59.435228 Event: init Receiver
-On: 2011-10-14 16:48:59.435249 Event: GSMExt.Eplus
-On: 2011-10-14 16:49:01.438782 Event: Connected to Receiver Handler
-On: 2011-10-14 16:49:01.439062 Event: Receiver Handler respond
-On: 2011-10-14 16:49:01.439245 Event: Receiver handler : Ready
-On: 2011-10-14 16:49:01.439275 Event: Start Call
-On: 2011-10-14 16:49:01.441754 Event: Waiting Feedback
-On: 2011-10-14 16:49:15.572845 Event: Test Succeed
-On: 2011-10-14 16:49:15.658792 Event:
-On: 2011-10-14 16:49:15.658851 Event: init Caller
-On: 2011-10-14 16:49:15.658871 Event: sip
-On: 2011-10-14 16:49:17.668490 Event: Connected to Caller Handler
-On: 2011-10-14 16:49:17.668758 Event: Caller Handler respond
-On: 2011-10-14 16:49:17.669492 Event: Caller handler : Ready
-On: 2011-10-14 16:49:17.669529 Event: init Receiver
-On: 2011-10-14 16:49:17.669551 Event: GSMExt.O2
-On: 2011-10-14 16:49:19.675008 Event: Connected to Receiver Handler
-On: 2011-10-14 16:49:19.675291 Event: Receiver Handler respond
-On: 2011-10-14 16:49:19.675472 Event: Receiver handler : Ready
-On: 2011-10-14 16:49:19.675502 Event: Start Call
-On: 2011-10-14 16:49:19.675557 Event: Waiting Feedback
-On: 2011-10-14 16:49:34.675751 Event: Test Succeed
-On: 2011-10-14 16:49:34.814177 Event:
-On: 2011-10-14 16:49:34.814239 Event: init Caller
-On: 2011-10-14 16:49:34.814260 Event: sip
-On: 2011-10-14 16:49:36.821631 Event: Connected to Caller Handler
-On: 2011-10-14 16:49:36.822393 Event: Caller Handler respond
-On: 2011-10-14 16:49:36.823179 Event: Caller handler : Ready
-On: 2011-10-14 16:49:36.823216 Event: init Receiver
-On: 2011-10-14 16:49:36.823263 Event: GSMExt.Tm
-On: 2011-10-14 16:49:38.828996 Event: Connected to Receiver Handler
-On: 2011-10-14 16:49:38.829286 Event: Receiver Handler respond
-On: 2011-10-14 16:49:38.829466 Event: Receiver handler : Ready
-On: 2011-10-14 16:49:38.829495 Event: Start Call
-On: 2011-10-14 16:49:38.833871 Event: Waiting Feedback
-On: 2011-10-14 16:49:52.122495 Event: Test Succeed
-On: 2011-10-14 16:49:52.222286 Event:
-On: 2011-10-14 16:49:52.222399 Event: init Caller
-On: 2011-10-14 16:49:52.222426 Event: sip
-On: 2011-10-14 16:49:54.226646 Event: Connected to Caller Handler
-On: 2011-10-14 16:49:54.226909 Event: Caller Handler respond
-On: 2011-10-14 16:49:54.227955 Event: Caller handler : Ready
-On: 2011-10-14 16:49:54.228069 Event: init Receiver
-On: 2011-10-14 16:49:54.228094 Event: GSMExt.Voda
-On: 2011-10-14 16:49:56.234611 Event: Connected to Receiver Handler
-On: 2011-10-14 16:49:56.234894 Event: Receiver Handler respond
-On: 2011-10-14 16:49:56.235078 Event: Receiver handler : Ready
-On: 2011-10-14 16:49:56.235108 Event: Start Call
-On: 2011-10-14 16:49:56.235162 Event: Waiting Feedback
-On: 2011-10-14 16:50:11.235355 Event: Test Succeed
-On: 2011-10-14 16:50:11.356860 Event:
-On: 2011-10-14 16:50:11.356919 Event: init Caller
-On: 2011-10-14 16:50:11.356940 Event: sip
-On: 2011-10-14 16:50:13.370150 Event: Connected to Caller Handler
-On: 2011-10-14 16:50:13.370415 Event: Caller Handler respond
-On: 2011-10-14 16:50:13.371160 Event: Caller handler : Ready
-On: 2011-10-14 16:50:13.371199 Event: init Receiver
-On: 2011-10-14 16:50:13.371220 Event: GSMRZ1
-On: 2011-10-14 16:50:15.377341 Event: Connected to Receiver Handler
-On: 2011-10-14 16:50:15.379357 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:02:17.015322 ------------------
-On: 2011-10-14 17:02:17.015398 Event: init Caller
-On: 2011-10-14 17:02:17.015422 Event: unisip
-On: 2011-10-14 17:02:19.027297 Event: Connected to Caller Handler
-On: 2011-10-14 17:02:19.027719 Event: Caller Handler respond
-On: 2011-10-14 17:02:19.028864 Event: Caller handler : Ready
-On: 2011-10-14 17:02:19.028900 Event: init Receiver
-On: 2011-10-14 17:02:19.028935 Event: GSMRZ1
-On: 2011-10-14 17:02:21.037954 Event: Connected to Receiver Handler
-On: 2011-10-14 17:02:21.039390 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:02:21.187615 Event:
-On: 2011-10-14 17:02:21.187676 Event: init Caller
-On: 2011-10-14 17:02:21.187696 Event: GSMRZ2
-On: 2011-10-14 17:02:25.202495 Event: Cannt connect to Caller
-On: 2011-10-14 17:02:25.202552 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 17:02:25.454041 Event:
-On: 2011-10-14 17:02:25.454098 Event: init Caller
-On: 2011-10-14 17:02:25.454118 Event: landline
-On: 2011-10-14 17:02:27.458957 Event: Connected to Caller Handler
-On: 2011-10-14 17:02:27.459243 Event: Caller Handler respond
-On: 2011-10-14 17:02:27.462002 Event: Caller handler : Ready
-On: 2011-10-14 17:02:27.462041 Event: init Receiver
-On: 2011-10-14 17:02:27.462062 Event: GSMRZ3
-On: 2011-10-14 17:02:31.466944 Event: Cannt connect to Receiver
-On: 2011-10-14 17:02:31.467002 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:02:31.555241 Event:
-On: 2011-10-14 17:02:31.555300 Event: init Caller
-On: 2011-10-14 17:02:31.555321 Event: sip
-On: 2011-10-14 17:02:33.559573 Event: Connected to Caller Handler
-On: 2011-10-14 17:02:33.559861 Event: Caller Handler respond
-On: 2011-10-14 17:02:33.560613 Event: Caller handler : Ready
-On: 2011-10-14 17:02:33.560654 Event: init Receiver
-On: 2011-10-14 17:02:33.560675 Event: GSMExt.O2
-On: 2011-10-14 17:02:35.565984 Event: Connected to Receiver Handler
-On: 2011-10-14 17:02:35.566257 Event: Receiver Handler respond
-On: 2011-10-14 17:02:35.566428 Event: Receiver handler : Ready
-On: 2011-10-14 17:02:35.566454 Event: Start Call
-On: 2011-10-14 17:02:35.566507 Event: Waiting Feedback
-On: 2011-10-14 17:02:50.566703 Event: Test Succeed
-On: 2011-10-14 17:02:50.690257 Event:
-On: 2011-10-14 17:02:50.690316 Event: init Caller
-On: 2011-10-14 17:02:50.690336 Event: sip
-On: 2011-10-14 17:02:52.693347 Event: Connected to Caller Handler
-On: 2011-10-14 17:02:52.693639 Event: Caller Handler respond
-On: 2011-10-14 17:02:52.694428 Event: Caller handler : Ready
-On: 2011-10-14 17:02:52.694467 Event: init Receiver
-On: 2011-10-14 17:02:52.694488 Event: GSMExt.Tm
-On: 2011-10-14 17:02:54.698713 Event: Connected to Receiver Handler
-On: 2011-10-14 17:02:54.698989 Event: Receiver Handler respond
-On: 2011-10-14 17:02:54.699168 Event: Receiver handler : Ready
-On: 2011-10-14 17:02:54.699198 Event: Start Call
-On: 2011-10-14 17:02:54.699251 Event: Waiting Feedback
-On: 2011-10-14 17:03:06.850925 Event: Test Succeed
-On: 2011-10-14 17:03:06.982319 Event:
-On: 2011-10-14 17:03:06.982380 Event: init Caller
-On: 2011-10-14 17:03:06.982400 Event: sip
-On: 2011-10-14 17:03:08.992838 Event: Connected to Caller Handler
-On: 2011-10-14 17:03:08.993132 Event: Caller Handler respond
-On: 2011-10-14 17:03:08.993940 Event: Caller handler : Ready
-On: 2011-10-14 17:03:08.993978 Event: init Receiver
-On: 2011-10-14 17:03:08.994000 Event: GSMExt.Voda
-On: 2011-10-14 17:03:11.002250 Event: Connected to Receiver Handler
-On: 2011-10-14 17:03:11.002619 Event: Receiver Handler respond
-On: 2011-10-14 17:03:11.002806 Event: Receiver handler : Ready
-On: 2011-10-14 17:03:11.002836 Event: Start Call
-On: 2011-10-14 17:03:11.002888 Event: Waiting Feedback
-On: 2011-10-14 17:03:26.003131 Event: Test Succeed
-On: 2011-10-14 17:03:26.139529 Event:
-On: 2011-10-14 17:03:26.139589 Event: init Caller
-On: 2011-10-14 17:03:26.139609 Event: sip
-On: 2011-10-14 17:03:28.147225 Event: Connected to Caller Handler
-On: 2011-10-14 17:03:28.147525 Event: Caller Handler respond
-On: 2011-10-14 17:03:28.148297 Event: Caller handler : Ready
-On: 2011-10-14 17:03:28.148415 Event: init Receiver
-On: 2011-10-14 17:03:28.148441 Event: GSMRZ2
-On: 2011-10-14 17:03:32.156159 Event: Cannt connect to Receiver
-On: 2011-10-14 17:03:32.156219 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:19.782347 ------------------
-On: 2011-10-14 17:09:19.782432 Event: init Caller
-On: 2011-10-14 17:09:19.782456 Event: unisip
-On: 2011-10-14 17:09:21.786866 Event: Connected to Caller Handler
-On: 2011-10-14 17:09:21.787179 Event: Caller Handler respond
-On: 2011-10-14 17:09:21.787954 Event: Caller handler : Ready
-On: 2011-10-14 17:09:21.787993 Event: init Receiver
-On: 2011-10-14 17:09:21.788014 Event: GSMRZ1
-On: 2011-10-14 17:09:23.797901 Event: Connected to Receiver Handler
-On: 2011-10-14 17:09:23.798079 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:09:27.846075 Event:
-On: 2011-10-14 17:09:27.846139 Event: init Caller
-On: 2011-10-14 17:09:27.846159 Event: GSMRZ2
-On: 2011-10-14 17:09:31.852698 Event: Cannt connect to Caller
-On: 2011-10-14 17:09:31.852759 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 17:09:35.901928 Event:
-On: 2011-10-14 17:09:35.901988 Event: init Caller
-On: 2011-10-14 17:09:35.902008 Event: landline
-On: 2011-10-14 17:09:37.907062 Event: Connected to Caller Handler
-On: 2011-10-14 17:09:37.907350 Event: Caller Handler respond
-On: 2011-10-14 17:09:37.909387 Event: Caller handler : Ready
-On: 2011-10-14 17:09:37.909425 Event: init Receiver
-On: 2011-10-14 17:09:37.909446 Event: GSMRZ3
-On: 2011-10-14 17:09:41.916529 Event: Cannt connect to Receiver
-On: 2011-10-14 17:09:41.916589 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:09:45.955726 Event:
-On: 2011-10-14 17:09:45.955785 Event: init Caller
-On: 2011-10-14 17:09:45.955806 Event: sip
-On: 2011-10-14 17:09:47.960891 Event: Connected to Caller Handler
-On: 2011-10-14 17:09:47.961176 Event: Caller Handler respond
-On: 2011-10-14 17:09:47.961984 Event: Caller handler : Ready
-On: 2011-10-14 17:09:47.962018 Event: init Receiver
-On: 2011-10-14 17:09:47.962039 Event: GSMExt.Eplus
-On: 2011-10-14 17:09:49.966703 Event: Connected to Receiver Handler
-On: 2011-10-14 17:09:49.966981 Event: Receiver Handler respond
-On: 2011-10-14 17:09:49.967163 Event: Receiver handler : Ready
-On: 2011-10-14 17:09:49.967193 Event: Start Call
-On: 2011-10-14 17:09:49.967246 Event: Waiting Feedback
-On: 2011-10-14 17:10:04.630223 Event: Test Succeed
-On: 2011-10-14 17:10:08.671615 Event:
-On: 2011-10-14 17:10:08.671676 Event: init Caller
-On: 2011-10-14 17:10:08.671696 Event: sip
-On: 2011-10-14 17:10:10.676821 Event: Connected to Caller Handler
-On: 2011-10-14 17:10:10.677119 Event: Caller Handler respond
-On: 2011-10-14 17:10:10.677940 Event: Caller handler : Ready
-On: 2011-10-14 17:10:10.677978 Event: init Receiver
-On: 2011-10-14 17:10:10.677999 Event: GSMExt.O2
-On: 2011-10-14 17:10:12.682397 Event: Connected to Receiver Handler
-On: 2011-10-14 17:10:12.682682 Event: Receiver Handler respond
-On: 2011-10-14 17:10:12.682863 Event: Receiver handler : Ready
-On: 2011-10-14 17:10:12.682893 Event: Start Call
-On: 2011-10-14 17:10:12.682947 Event: Waiting Feedback
-On: 2011-10-14 17:10:27.683144 Event: Test Succeed
-On: 2011-10-14 17:10:31.758260 Event:
-On: 2011-10-14 17:10:31.758322 Event: init Caller
-On: 2011-10-14 17:10:31.758342 Event: sip
-On: 2011-10-14 17:10:33.764716 Event: Connected to Caller Handler
-On: 2011-10-14 17:10:33.765886 Event: Caller Handler respond
-On: 2011-10-14 17:10:33.767048 Event: Caller handler : Ready
-On: 2011-10-14 17:10:33.767087 Event: init Receiver
-On: 2011-10-14 17:10:33.767108 Event: GSMExt.Tm
-On: 2011-10-14 17:10:35.770713 Event: Connected to Receiver Handler
-On: 2011-10-14 17:10:35.770986 Event: Receiver Handler respond
-On: 2011-10-14 17:10:35.771152 Event: Receiver handler : Ready
-On: 2011-10-14 17:10:35.771175 Event: Start Call
-On: 2011-10-14 17:10:35.771226 Event: Waiting Feedback
-On: 2011-10-14 17:10:50.198871 Event: Test Succeed
-On: 2011-10-14 17:10:54.240012 Event:
-On: 2011-10-14 17:10:54.240073 Event: init Caller
-On: 2011-10-14 17:10:54.240093 Event: sip
-On: 2011-10-14 17:10:56.245178 Event: Connected to Caller Handler
-On: 2011-10-14 17:10:56.245475 Event: Caller Handler respond
-On: 2011-10-14 17:10:56.246666 Event: Caller handler : Ready
-On: 2011-10-14 17:10:56.246776 Event: init Receiver
-On: 2011-10-14 17:10:56.246824 Event: GSMExt.Voda
-On: 2011-10-14 17:10:58.250698 Event: Connected to Receiver Handler
-On: 2011-10-14 17:10:58.250976 Event: Receiver Handler respond
-On: 2011-10-14 17:10:58.251159 Event: Receiver handler : Ready
-On: 2011-10-14 17:10:58.251188 Event: Start Call
-On: 2011-10-14 17:10:58.251242 Event: Waiting Feedback
-On: 2011-10-14 17:11:13.251440 Event: Test Succeed
-On: 2011-10-14 17:11:17.335654 Event:
-On: 2011-10-14 17:11:17.335715 Event: init Caller
-On: 2011-10-14 17:11:17.335735 Event: sip
-On: 2011-10-14 17:11:19.340903 Event: Connected to Caller Handler
-On: 2011-10-14 17:11:19.341199 Event: Caller Handler respond
-On: 2011-10-14 17:11:19.342024 Event: Caller handler : Ready
-On: 2011-10-14 17:11:19.342063 Event: init Receiver
-On: 2011-10-14 17:11:19.342084 Event: GSMRZ2
-On: 2011-10-14 17:11:23.348517 Event: Cannt connect to Receiver
-On: 2011-10-14 17:11:23.348580 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:19.054241 ------------------
-On: 2011-10-14 17:54:19.054318 Event: init Caller
-On: 2011-10-14 17:54:19.054342 Event: unisip
-On: 2011-10-14 17:54:21.059554 Event: Connected to Caller Handler
-On: 2011-10-14 17:54:21.059856 Event: Caller Handler respond
-On: 2011-10-14 17:54:21.060615 Event: Caller handler : Ready
-On: 2011-10-14 17:54:21.060654 Event: init Receiver
-On: 2011-10-14 17:54:21.060676 Event: GSMRZ3
-On: 2011-10-14 17:54:25.066497 Event: Cannt connect to Receiver
-On: 2011-10-14 17:54:25.066565 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:54:29.112480 Event:
-On: 2011-10-14 17:54:29.112538 Event: init Caller
-On: 2011-10-14 17:54:29.112559 Event: GSMRZ1
-On: 2011-10-14 17:54:31.121907 Event: Connected to Caller Handler
-On: 2011-10-14 17:54:31.122082 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 17:54:35.171015 Event:
-On: 2011-10-14 17:54:35.171078 Event: init Caller
-On: 2011-10-14 17:54:35.171098 Event: landline
-On: 2011-10-14 17:54:37.175899 Event: Connected to Caller Handler
-On: 2011-10-14 17:54:37.177024 Event: Caller Handler respond
-On: 2011-10-14 17:54:37.179030 Event: Caller handler : Ready
-On: 2011-10-14 17:54:37.179068 Event: init Receiver
-On: 2011-10-14 17:54:37.179090 Event: GSMRZ2
-On: 2011-10-14 17:54:41.184507 Event: Cannt connect to Receiver
-On: 2011-10-14 17:54:41.184567 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:54:45.227466 Event:
-On: 2011-10-14 17:54:45.227526 Event: init Caller
-On: 2011-10-14 17:54:45.227546 Event: sip
-On: 2011-10-14 17:54:47.232007 Event: Connected to Caller Handler
-On: 2011-10-14 17:54:47.233124 Event: Caller Handler respond
-On: 2011-10-14 17:54:47.233903 Event: Caller handler : Ready
-On: 2011-10-14 17:54:47.233936 Event: init Receiver
-On: 2011-10-14 17:54:47.233957 Event: GSMExt.O2
-On: 2011-10-14 17:54:49.238428 Event: Connected to Receiver Handler
-On: 2011-10-14 17:54:49.238702 Event: Receiver Handler respond
-On: 2011-10-14 17:54:49.238877 Event: Receiver handler : Ready
-On: 2011-10-14 17:54:49.238906 Event: Start Call
-On: 2011-10-14 17:54:49.238959 Event: Waiting Feedback
-On: 2011-10-14 17:55:05.240202 Event: Test Succeed
-On: 2011-10-14 17:55:09.306644 Event:
-On: 2011-10-14 17:55:09.306705 Event: init Caller
-On: 2011-10-14 17:55:09.306725 Event: sip
-On: 2011-10-14 17:55:11.314643 Event: Connected to Caller Handler
-On: 2011-10-14 17:55:11.314927 Event: Caller Handler respond
-On: 2011-10-14 17:55:11.316034 Event: Caller handler : Ready
-On: 2011-10-14 17:55:11.316069 Event: init Receiver
-On: 2011-10-14 17:55:11.316089 Event: GSMExt.Tm
-On: 2011-10-14 17:55:13.323648 Event: Connected to Receiver Handler
-On: 2011-10-14 17:55:13.323929 Event: Receiver Handler respond
-On: 2011-10-14 17:55:13.324107 Event: Receiver handler : Ready
-On: 2011-10-14 17:55:13.324136 Event: Start Call
-On: 2011-10-14 17:55:13.324189 Event: Waiting Feedback
-On: 2011-10-14 17:55:27.227099 Event: Test Succeed
-On: 2011-10-14 17:55:31.295462 Event:
-On: 2011-10-14 17:55:31.295523 Event: init Caller
-On: 2011-10-14 17:55:31.295543 Event: sip
-On: 2011-10-14 17:55:33.300552 Event: Connected to Caller Handler
-On: 2011-10-14 17:55:33.300842 Event: Caller Handler respond
-On: 2011-10-14 17:55:33.301586 Event: Caller handler : Ready
-On: 2011-10-14 17:55:33.301624 Event: init Receiver
-On: 2011-10-14 17:55:33.301646 Event: GSMExt.Voda
-On: 2011-10-14 17:55:35.306140 Event: Connected to Receiver Handler
-On: 2011-10-14 17:55:35.306452 Event: Receiver Handler respond
-On: 2011-10-14 17:55:35.306638 Event: Receiver handler : Ready
-On: 2011-10-14 17:55:35.306667 Event: Start Call
-On: 2011-10-14 17:55:35.306718 Event: Waiting Feedback
-On: 2011-10-14 17:55:47.780070 Event: Test Succeed
-On: 2011-10-14 17:55:51.827341 Event:
-On: 2011-10-14 17:55:51.827400 Event: init Caller
-On: 2011-10-14 17:55:51.827420 Event: sip
-On: 2011-10-14 17:55:53.832537 Event: Connected to Caller Handler
-On: 2011-10-14 17:55:53.832825 Event: Caller Handler respond
-On: 2011-10-14 17:55:53.833568 Event: Caller handler : Ready
-On: 2011-10-14 17:55:53.833672 Event: init Receiver
-On: 2011-10-14 17:55:53.833697 Event: GSMRZ1
-On: 2011-10-14 17:55:55.846020 Event: Connected to Receiver Handler
-On: 2011-10-14 17:55:55.846199 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:09.923322 ------------------
-On: 2011-10-14 17:56:09.923442 Event: init Caller
-On: 2011-10-14 17:56:09.923467 Event: unisip
-On: 2011-10-14 17:56:11.928803 Event: Connected to Caller Handler
-On: 2011-10-14 17:56:11.929108 Event: Caller Handler respond
-On: 2011-10-14 17:56:11.929925 Event: Caller handler : Ready
-On: 2011-10-14 17:56:11.929965 Event: init Receiver
-On: 2011-10-14 17:56:11.929987 Event: GSMRZ1
-On: 2011-10-14 17:56:13.937880 Event: Connected to Receiver Handler
-On: 2011-10-14 17:56:13.938039 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:56:17.982063 Event:
-On: 2011-10-14 17:56:17.982129 Event: init Caller
-On: 2011-10-14 17:56:17.982149 Event: GSMRZ2
-On: 2011-10-14 17:56:21.989423 Event: Cannt connect to Caller
-On: 2011-10-14 17:56:21.989482 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 17:56:26.038829 Event:
-On: 2011-10-14 17:56:26.038890 Event: init Caller
-On: 2011-10-14 17:56:26.038910 Event: landline
-On: 2011-10-14 17:56:28.042621 Event: Connected to Caller Handler
-On: 2011-10-14 17:56:28.042908 Event: Caller Handler respond
-On: 2011-10-14 17:56:28.044934 Event: Caller handler : Ready
-On: 2011-10-14 17:56:28.044972 Event: init Receiver
-On: 2011-10-14 17:56:28.044993 Event: GSMRZ3
-On: 2011-10-14 17:56:32.052406 Event: Cannt connect to Receiver
-On: 2011-10-14 17:56:32.052464 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:56:36.092433 Event:
-On: 2011-10-14 17:56:36.092493 Event: init Caller
-On: 2011-10-14 17:56:36.092513 Event: sip
-On: 2011-10-14 17:56:38.096962 Event: Connected to Caller Handler
-On: 2011-10-14 17:56:38.097248 Event: Caller Handler respond
-On: 2011-10-14 17:56:38.098053 Event: Caller handler : Ready
-On: 2011-10-14 17:56:38.098090 Event: init Receiver
-On: 2011-10-14 17:56:38.098111 Event: GSMExt.Eplus
-On: 2011-10-14 17:56:40.102700 Event: Connected to Receiver Handler
-On: 2011-10-14 17:56:40.102980 Event: Receiver Handler respond
-On: 2011-10-14 17:56:40.103161 Event: Receiver handler : Ready
-On: 2011-10-14 17:56:40.103192 Event: Start Call
-On: 2011-10-14 17:56:40.105833 Event: Waiting Feedback
-On: 2011-10-14 17:56:53.696939 Event: Test Succeed
-On: 2011-10-14 17:56:57.737148 Event:
-On: 2011-10-14 17:56:57.737207 Event: init Caller
-On: 2011-10-14 17:56:57.737226 Event: sip
-On: 2011-10-14 17:56:59.742228 Event: Connected to Caller Handler
-On: 2011-10-14 17:56:59.742513 Event: Caller Handler respond
-On: 2011-10-14 17:56:59.743260 Event: Caller handler : Ready
-On: 2011-10-14 17:56:59.743300 Event: init Receiver
-On: 2011-10-14 17:56:59.743321 Event: GSMExt.Tm
-On: 2011-10-14 17:57:01.748093 Event: Connected to Receiver Handler
-On: 2011-10-14 17:57:01.748375 Event: Receiver Handler respond
-On: 2011-10-14 17:57:01.748555 Event: Receiver handler : Ready
-On: 2011-10-14 17:57:01.748585 Event: Start Call
-On: 2011-10-14 17:57:01.748638 Event: Waiting Feedback
-On: 2011-10-14 17:57:16.573319 Event: Test Succeed
-On: 2011-10-14 17:57:20.614179 Event:
-On: 2011-10-14 17:57:20.614240 Event: init Caller
-On: 2011-10-14 17:57:20.614259 Event: sip
-On: 2011-10-14 17:57:22.619457 Event: Connected to Caller Handler
-On: 2011-10-14 17:57:22.619731 Event: Caller Handler respond
-On: 2011-10-14 17:57:22.620471 Event: Caller handler : Ready
-On: 2011-10-14 17:57:22.620510 Event: init Receiver
-On: 2011-10-14 17:57:22.620531 Event: GSMExt.Voda
-On: 2011-10-14 17:57:24.625958 Event: Connected to Receiver Handler
-On: 2011-10-14 17:57:24.626280 Event: Receiver Handler respond
-On: 2011-10-14 17:57:24.626460 Event: Receiver handler : Ready
-On: 2011-10-14 17:57:24.626490 Event: Start Call
-On: 2011-10-14 17:57:24.626542 Event: Waiting Feedback
-On: 2011-10-14 17:57:38.118406 Event: Test Succeed
-On: 2011-10-14 17:57:42.158983 Event:
-On: 2011-10-14 17:57:42.159043 Event: init Caller
-On: 2011-10-14 17:57:42.159063 Event: sip
-On: 2011-10-14 17:57:44.163984 Event: Connected to Caller Handler
-On: 2011-10-14 17:57:44.164268 Event: Caller Handler respond
-On: 2011-10-14 17:57:44.165024 Event: Caller handler : Ready
-On: 2011-10-14 17:57:44.165131 Event: init Receiver
-On: 2011-10-14 17:57:44.165155 Event: GSMRZ2
-On: 2011-10-14 17:57:48.170396 Event: Cannt connect to Receiver
-On: 2011-10-14 17:57:48.170457 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:29.409886 ------------------
-On: 2011-10-14 17:58:29.409962 Event: init Caller
-On: 2011-10-14 17:58:29.409986 Event: unisip
-On: 2011-10-14 17:58:31.414877 Event: Connected to Caller Handler
-On: 2011-10-14 17:58:31.415182 Event: Caller Handler respond
-On: 2011-10-14 17:58:31.415947 Event: Caller handler : Ready
-On: 2011-10-14 17:58:31.415986 Event: init Receiver
-On: 2011-10-14 17:58:31.416008 Event: GSMRZ2
-On: 2011-10-14 17:58:35.421932 Event: Cannt connect to Receiver
-On: 2011-10-14 17:58:35.422002 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:58:39.467507 Event:
-On: 2011-10-14 17:58:39.467567 Event: init Caller
-On: 2011-10-14 17:58:39.467587 Event: GSMRZ1
-On: 2011-10-14 17:58:41.473882 Event: Connected to Caller Handler
-On: 2011-10-14 17:58:41.474049 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 17:58:45.527687 Event:
-On: 2011-10-14 17:58:45.527747 Event: init Caller
-On: 2011-10-14 17:58:45.527767 Event: landline
-On: 2011-10-14 17:58:47.532823 Event: Connected to Caller Handler
-On: 2011-10-14 17:58:47.533107 Event: Caller Handler respond
-On: 2011-10-14 17:58:47.535274 Event: Caller handler : Ready
-On: 2011-10-14 17:58:47.535312 Event: init Receiver
-On: 2011-10-14 17:58:47.535333 Event: GSMRZ3
-On: 2011-10-14 17:58:51.540494 Event: Cannt connect to Receiver
-On: 2011-10-14 17:58:51.540553 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 17:58:55.583050 Event:
-On: 2011-10-14 17:58:55.583109 Event: init Caller
-On: 2011-10-14 17:58:55.583129 Event: sip
-On: 2011-10-14 17:58:57.586591 Event: Connected to Caller Handler
-On: 2011-10-14 17:58:57.586878 Event: Caller Handler respond
-On: 2011-10-14 17:58:57.587633 Event: Caller handler : Ready
-On: 2011-10-14 17:58:57.587670 Event: init Receiver
-On: 2011-10-14 17:58:57.587691 Event: GSMExt.Eplus
-On: 2011-10-14 17:58:59.593059 Event: Connected to Receiver Handler
-On: 2011-10-14 17:58:59.593333 Event: Receiver Handler respond
-On: 2011-10-14 17:58:59.593511 Event: Receiver handler : Ready
-On: 2011-10-14 17:58:59.593542 Event: Start Call
-On: 2011-10-14 17:58:59.593598 Event: Waiting Feedback
-On: 2011-10-14 17:59:12.109217 Event: Test Succeed
-On: 2011-10-14 17:59:16.149312 Event:
-On: 2011-10-14 17:59:16.149371 Event: init Caller
-On: 2011-10-14 17:59:16.149391 Event: sip
-On: 2011-10-14 17:59:18.154403 Event: Connected to Caller Handler
-On: 2011-10-14 17:59:18.154696 Event: Caller Handler respond
-On: 2011-10-14 17:59:18.155447 Event: Caller handler : Ready
-On: 2011-10-14 17:59:18.155487 Event: init Receiver
-On: 2011-10-14 17:59:18.155508 Event: GSMExt.O2
-On: 2011-10-14 17:59:20.160738 Event: Connected to Receiver Handler
-On: 2011-10-14 17:59:20.161022 Event: Receiver Handler respond
-On: 2011-10-14 17:59:20.161199 Event: Receiver handler : Ready
-On: 2011-10-14 17:59:20.161229 Event: Start Call
-On: 2011-10-14 17:59:20.161283 Event: Waiting Feedback
-On: 2011-10-14 17:59:46.161896 Event: Test Succeed
-On: 2011-10-14 17:59:50.226716 Event:
-On: 2011-10-14 17:59:50.226773 Event: init Caller
-On: 2011-10-14 17:59:50.226793 Event: sip
-On: 2011-10-14 17:59:52.234620 Event: Connected to Caller Handler
-On: 2011-10-14 17:59:52.234908 Event: Caller Handler respond
-On: 2011-10-14 17:59:52.235661 Event: Caller handler : Ready
-On: 2011-10-14 17:59:52.235697 Event: init Receiver
-On: 2011-10-14 17:59:52.235718 Event: GSMExt.Tm
-On: 2011-10-14 17:59:54.240622 Event: Connected to Receiver Handler
-On: 2011-10-14 17:59:54.240905 Event: Receiver Handler respond
-On: 2011-10-14 17:59:54.241087 Event: Receiver handler : Ready
-On: 2011-10-14 17:59:54.241118 Event: Start Call
-On: 2011-10-14 17:59:54.241171 Event: Waiting Feedback
-On: 2011-10-14 18:00:12.036969 Event: Test Succeed
-On: 2011-10-14 18:00:16.078159 Event:
-On: 2011-10-14 18:00:16.078218 Event: init Caller
-On: 2011-10-14 18:00:16.078238 Event: sip
-On: 2011-10-14 18:00:18.083252 Event: Connected to Caller Handler
-On: 2011-10-14 18:00:18.083533 Event: Caller Handler respond
-On: 2011-10-14 18:00:18.084279 Event: Caller handler : Ready
-On: 2011-10-14 18:00:18.084387 Event: init Receiver
-On: 2011-10-14 18:00:18.084412 Event: GSMRZ1
-On: 2011-10-14 18:00:20.093905 Event: Connected to Receiver Handler
-On: 2011-10-14 18:00:20.094082 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:30:37.654965 ------------------
-On: 2011-10-14 18:30:37.655045 Event: init Caller
-On: 2011-10-14 18:30:37.655066 Event: sip
-On: 2011-10-14 18:30:39.660344 Event: Connected to Caller Handler
-On: 2011-10-14 18:30:39.660651 Event: Caller Handler respond
-On: 2011-10-14 18:30:39.661416 Event: Caller handler : Ready
-On: 2011-10-14 18:30:39.661456 Event: init Receiver
-On: 2011-10-14 18:30:39.661477 Event: GSMRZ2
-On: 2011-10-14 18:30:43.668866 Event: Connected to Receiver Handler
-On: 2011-10-14 18:30:43.677584 Event: Receiver Handler respond
-On: 2011-10-14 18:30:43.680326 Event: Receiver handler : Ready
-On: 2011-10-14 18:30:43.680396 Event: Start Call
-On: 2011-10-14 18:30:43.680468 Event: Waiting Feedback
-On: 2011-10-14 18:30:59.681724 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:33:07.577020 ------------------
-On: 2011-10-14 18:33:07.577099 Event: init Caller
-On: 2011-10-14 18:33:07.577120 Event: sip
-On: 2011-10-14 18:33:09.582493 Event: Connected to Caller Handler
-On: 2011-10-14 18:33:09.582805 Event: Caller Handler respond
-On: 2011-10-14 18:33:09.583564 Event: Caller handler : Ready
-On: 2011-10-14 18:33:09.583604 Event: init Receiver
-On: 2011-10-14 18:33:09.583626 Event: GSMRZ2
-On: 2011-10-14 18:33:13.587780 Event: Connected to Receiver Handler
-On: 2011-10-14 18:33:13.595290 Event: Receiver Handler respond
-On: 2011-10-14 18:33:13.598583 Event: Receiver handler : Ready
-On: 2011-10-14 18:33:13.598652 Event: Start Call
-On: 2011-10-14 18:33:13.598721 Event: Waiting Feedback
-On: 2011-10-14 18:33:29.599225 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:34:02.941498 ------------------
-On: 2011-10-14 18:34:02.941578 Event: init Caller
-On: 2011-10-14 18:34:02.941599 Event: sip
-On: 2011-10-14 18:34:04.946674 Event: Connected to Caller Handler
-On: 2011-10-14 18:34:04.947075 Event: Caller Handler respond
-On: 2011-10-14 18:34:04.948208 Event: Caller handler : Ready
-On: 2011-10-14 18:34:04.948248 Event: init Receiver
-On: 2011-10-14 18:34:04.948270 Event: GSMRZ2
-On: 2011-10-14 18:34:08.955905 Event: Connected to Receiver Handler
-On: 2011-10-14 18:34:08.963554 Event: Receiver Handler respond
-On: 2011-10-14 18:34:08.966583 Event: Receiver handler : Ready
-On: 2011-10-14 18:34:08.966634 Event: Start Call
-On: 2011-10-14 18:34:08.966770 Event: Waiting Feedback
-On: 2011-10-14 18:34:24.968020 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:13.490651 ------------------
-On: 2011-10-14 18:36:13.490727 Event: init Caller
-On: 2011-10-14 18:36:13.490748 Event: sip
-On: 2011-10-14 18:36:15.506869 Event: Connected to Caller Handler
-On: 2011-10-14 18:36:15.507177 Event: Caller Handler respond
-On: 2011-10-14 18:36:15.507942 Event: Caller handler : Ready
-On: 2011-10-14 18:36:15.507983 Event: init Receiver
-On: 2011-10-14 18:36:15.508004 Event: GSMRZ2
-On: 2011-10-14 18:36:19.515418 Event: Cannt connect to Receiver
-On: 2011-10-14 18:36:19.515475 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:58.310555 ------------------
-On: 2011-10-14 18:36:58.310636 Event: init Caller
-On: 2011-10-14 18:36:58.310657 Event: sip
-On: 2011-10-14 18:37:00.326511 Event: Connected to Caller Handler
-On: 2011-10-14 18:37:00.326827 Event: Caller Handler respond
-On: 2011-10-14 18:37:00.327971 Event: Caller handler : Ready
-On: 2011-10-14 18:37:00.328011 Event: init Receiver
-On: 2011-10-14 18:37:00.328032 Event: GSMRZ2
-On: 2011-10-14 18:37:04.334401 Event: Connected to Receiver Handler
-On: 2011-10-14 18:37:04.342730 Event: Receiver Handler respond
-On: 2011-10-14 18:37:04.344957 Event: Receiver handler : Ready
-On: 2011-10-14 18:37:04.344995 Event: Start Call
-On: 2011-10-14 18:37:04.345131 Event: Waiting Feedback
-On: 2011-10-14 18:37:20.346389 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:45:23.282168 ------------------
-On: 2011-10-14 18:45:23.282250 Event: init Caller
-On: 2011-10-14 18:45:23.282272 Event: sip
-On: 2011-10-14 18:45:25.290285 Event: Connected to Caller Handler
-On: 2011-10-14 18:45:25.290592 Event: Caller Handler respond
-On: 2011-10-14 18:45:25.291359 Event: Caller handler : Ready
-On: 2011-10-14 18:45:25.291400 Event: init Receiver
-On: 2011-10-14 18:45:25.291421 Event: GSMRZ2
-On: 2011-10-14 18:45:29.298663 Event: Connected to Receiver Handler
-On: 2011-10-14 18:45:29.306028 Event: Receiver Handler respond
-On: 2011-10-14 18:45:29.308925 Event: Receiver handler : Ready
-On: 2011-10-14 18:45:29.308974 Event: Start Call
-On: 2011-10-14 18:45:29.309035 Event: Waiting Feedback
-On: 2011-10-14 18:45:45.309994 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:46:54.248959 ------------------
-On: 2011-10-14 18:46:54.249038 Event: init Caller
-On: 2011-10-14 18:46:54.249059 Event: sip
-On: 2011-10-14 18:46:56.254284 Event: Connected to Caller Handler
-On: 2011-10-14 18:46:56.254597 Event: Caller Handler respond
-On: 2011-10-14 18:46:56.255727 Event: Caller handler : Ready
-On: 2011-10-14 18:46:56.255767 Event: init Receiver
-On: 2011-10-14 18:46:56.255788 Event: GSMRZ2
-On: 2011-10-14 18:47:00.263819 Event: Connected to Receiver Handler
-On: 2011-10-14 18:47:00.271754 Event: Receiver Handler respond
-On: 2011-10-14 18:47:00.274028 Event: Receiver handler : Ready
-On: 2011-10-14 18:47:00.274087 Event: Start Call
-On: 2011-10-14 18:47:00.274154 Event: Waiting Feedback
-On: 2011-10-14 18:47:16.275413 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:48:33.000632 ------------------
-On: 2011-10-14 18:48:33.000712 Event: init Caller
-On: 2011-10-14 18:48:33.000733 Event: sip
-On: 2011-10-14 18:48:35.006067 Event: Connected to Caller Handler
-On: 2011-10-14 18:48:35.006382 Event: Caller Handler respond
-On: 2011-10-14 18:48:35.007136 Event: Caller handler : Ready
-On: 2011-10-14 18:48:35.007178 Event: init Receiver
-On: 2011-10-14 18:48:35.007199 Event: GSMRZ2
-On: 2011-10-14 18:48:39.012437 Event: Connected to Receiver Handler
-On: 2011-10-14 18:48:39.020171 Event: Receiver Handler respond
-On: 2011-10-14 18:48:39.022612 Event: Receiver handler : Ready
-On: 2011-10-14 18:48:39.022653 Event: Start Call
-On: 2011-10-14 18:48:39.022789 Event: Waiting Feedback
-On: 2011-10-14 18:48:55.024049 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:09.706776 ------------------
-On: 2011-10-14 18:50:09.706858 Event: init Caller
-On: 2011-10-14 18:50:09.706880 Event: sip
-On: 2011-10-14 18:50:11.721555 Event: Connected to Caller Handler
-On: 2011-10-14 18:50:11.721933 Event: Caller Handler respond
-On: 2011-10-14 18:50:11.722712 Event: Caller handler : Ready
-On: 2011-10-14 18:50:11.722752 Event: init Receiver
-On: 2011-10-14 18:50:11.722773 Event: GSMRZ2
-On: 2011-10-14 18:50:15.727109 Event: Cannt connect to Receiver
-On: 2011-10-14 18:50:15.727177 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:52.075113 ------------------
-On: 2011-10-14 18:50:52.075194 Event: init Caller
-On: 2011-10-14 18:50:52.075215 Event: sip
-On: 2011-10-14 18:50:54.090244 Event: Connected to Caller Handler
-On: 2011-10-14 18:50:54.090545 Event: Caller Handler respond
-On: 2011-10-14 18:50:54.091309 Event: Caller handler : Ready
-On: 2011-10-14 18:50:54.091345 Event: init Receiver
-On: 2011-10-14 18:50:54.091366 Event: GSMRZ2
-On: 2011-10-14 18:50:58.098377 Event: Connected to Receiver Handler
-On: 2011-10-14 18:50:58.106048 Event: Receiver Handler respond
-On: 2011-10-14 18:50:58.108280 Event: Receiver handler : Ready
-On: 2011-10-14 18:50:58.108332 Event: Start Call
-On: 2011-10-14 18:50:58.108395 Event: Waiting Feedback
-On: 2011-10-14 18:51:14.109661 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:54:58.168192 ------------------
-On: 2011-10-14 18:54:58.168274 Event: init Caller
-On: 2011-10-14 18:54:58.168295 Event: sip
-On: 2011-10-14 18:55:00.173616 Event: Connected to Caller Handler
-On: 2011-10-14 18:55:00.173966 Event: Caller Handler respond
-On: 2011-10-14 18:55:00.175088 Event: Caller handler : Ready
-On: 2011-10-14 18:55:00.175129 Event: init Receiver
-On: 2011-10-14 18:55:00.175150 Event: GSMRZ2
-On: 2011-10-14 18:55:04.182387 Event: Connected to Receiver Handler
-On: 2011-10-14 18:55:04.190455 Event: Receiver Handler respond
-On: 2011-10-14 18:55:04.192855 Event: Receiver handler : Ready
-On: 2011-10-14 18:55:04.192906 Event: Start Call
-On: 2011-10-14 18:55:04.193041 Event: Waiting Feedback
-On: 2011-10-14 18:55:20.194332 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:55:44.731891 ------------------
-On: 2011-10-14 18:55:44.731968 Event: init Caller
-On: 2011-10-14 18:55:44.731989 Event: sip
-On: 2011-10-14 18:55:46.741458 Event: Connected to Caller Handler
-On: 2011-10-14 18:55:46.741948 Event: Caller Handler respond
-On: 2011-10-14 18:55:46.742783 Event: Caller handler : Ready
-On: 2011-10-14 18:55:46.742822 Event: init Receiver
-On: 2011-10-14 18:55:46.742843 Event: GSMRZ2
-On: 2011-10-14 18:55:50.748626 Event: Connected to Receiver Handler
-On: 2011-10-14 18:55:50.756582 Event: Receiver Handler respond
-On: 2011-10-14 18:55:50.758843 Event: Receiver handler : Ready
-On: 2011-10-14 18:55:50.758903 Event: Start Call
-On: 2011-10-14 18:55:50.759048 Event: Waiting Feedback
-On: 2011-10-14 18:56:06.759479 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:08.866589 ------------------
-On: 2011-10-14 19:02:08.866670 Event: init Caller
-On: 2011-10-14 19:02:08.866693 Event: unisip
-On: 2011-10-14 19:02:10.880298 Event: Connected to Caller Handler
-On: 2011-10-14 19:02:10.880608 Event: Caller Handler respond
-On: 2011-10-14 19:02:10.881729 Event: Caller handler : Ready
-On: 2011-10-14 19:02:10.881812 Event: init Receiver
-On: 2011-10-14 19:02:10.881857 Event: GSMRZ2
-On: 2011-10-14 19:02:14.888573 Event: Cannt connect to Receiver
-On: 2011-10-14 19:02:14.888637 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:36.093168 ------------------
-On: 2011-10-14 19:02:36.093247 Event: init Caller
-On: 2011-10-14 19:02:36.093270 Event: unisip
-On: 2011-10-14 19:02:38.098451 Event: Connected to Caller Handler
-On: 2011-10-14 19:02:38.099564 Event: Caller Handler respond
-On: 2011-10-14 19:02:38.100341 Event: Caller handler : Ready
-On: 2011-10-14 19:02:38.100381 Event: init Receiver
-On: 2011-10-14 19:02:38.100401 Event: GSMRZ2
-On: 2011-10-14 19:02:42.105904 Event: Connected to Receiver Handler
-On: 2011-10-14 19:02:42.113449 Event: Receiver Handler respond
-On: 2011-10-14 19:02:42.116312 Event: Receiver handler : Ready
-On: 2011-10-14 19:02:42.116360 Event: Start Call
-On: 2011-10-14 19:02:42.116421 Event: Waiting Feedback
-On: 2011-10-14 19:02:58.117683 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:03:14.040640 ------------------
-On: 2011-10-14 19:03:14.040716 Event: init Caller
-On: 2011-10-14 19:03:14.040738 Event: unisip
-On: 2011-10-14 19:03:16.045935 Event: Connected to Caller Handler
-On: 2011-10-14 19:03:16.046248 Event: Caller Handler respond
-On: 2011-10-14 19:03:16.047355 Event: Caller handler : Ready
-On: 2011-10-14 19:03:16.047394 Event: init Receiver
-On: 2011-10-14 19:03:16.047414 Event: GSMRZ2
-On: 2011-10-14 19:03:20.052438 Event: Connected to Receiver Handler
-On: 2011-10-14 19:03:20.059765 Event: Receiver Handler respond
-On: 2011-10-14 19:03:20.061978 Event: Receiver handler : Ready
-On: 2011-10-14 19:03:20.062016 Event: Start Call
-On: 2011-10-14 19:03:20.062147 Event: Waiting Feedback
-On: 2011-10-14 19:03:36.063393 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:40.499829 ------------------
-On: 2011-10-14 19:13:40.499910 Event: init Caller
-On: 2011-10-14 19:13:40.499935 Event: unisip
-On: 2011-10-14 19:13:42.505138 Event: Connected to Caller Handler
-On: 2011-10-14 19:13:42.505546 Event: Caller Handler respond
-On: 2011-10-14 19:13:42.506734 Event: Caller handler : Ready
-On: 2011-10-14 19:13:42.506775 Event: init Receiver
-On: 2011-10-14 19:13:42.506797 Event: GSMRZ3
-On: 2011-10-14 19:13:46.529001 Event: Cannt connect to Receiver
-On: 2011-10-14 19:13:46.529062 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 19:13:50.584417 Event:
-On: 2011-10-14 19:13:50.584480 Event: init Caller
-On: 2011-10-14 19:13:50.584500 Event: GSMRZ1
-On: 2011-10-14 19:13:52.592783 Event: Connected to Caller Handler
-On: 2011-10-14 19:13:52.600671 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 19:13:56.646369 Event:
-On: 2011-10-14 19:13:56.646431 Event: init Caller
-On: 2011-10-14 19:13:56.646452 Event: landline
-On: 2011-10-14 19:13:58.650187 Event: Connected to Caller Handler
-On: 2011-10-14 19:13:58.650580 Event: Caller Handler respond
-On: 2011-10-14 19:13:58.652987 Event: Caller handler : Ready
-On: 2011-10-14 19:13:58.653025 Event: init Receiver
-On: 2011-10-14 19:13:58.653047 Event: GSMRZ2
-On: 2011-10-14 19:14:02.660086 Event: Connected to Receiver Handler
-On: 2011-10-14 19:14:02.664464 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 19:14:06.707184 Event:
-On: 2011-10-14 19:14:06.707249 Event: init Caller
-On: 2011-10-14 19:14:06.707269 Event: sip
-On: 2011-10-14 19:14:08.710975 Event: Connected to Caller Handler
-On: 2011-10-14 19:14:08.711270 Event: Caller Handler respond
-On: 2011-10-14 19:14:08.712029 Event: Caller handler : Ready
-On: 2011-10-14 19:14:08.712067 Event: init Receiver
-On: 2011-10-14 19:14:08.712089 Event: GSMExt.O2
-On: 2011-10-14 19:14:10.717527 Event: Connected to Receiver Handler
-On: 2011-10-14 19:14:10.717830 Event: Receiver Handler respond
-On: 2011-10-14 19:14:10.718013 Event: Receiver handler : Ready
-On: 2011-10-14 19:14:10.718042 Event: Start Call
-On: 2011-10-14 19:14:10.718098 Event: Waiting Feedback
-On: 2011-10-14 19:14:26.719299 Event: Test Succeed
-On: 2011-10-14 19:14:30.786603 Event:
-On: 2011-10-14 19:14:30.786668 Event: init Caller
-On: 2011-10-14 19:14:30.786688 Event: sip
-On: 2011-10-14 19:14:32.794781 Event: Connected to Caller Handler
-On: 2011-10-14 19:14:32.795188 Event: Caller Handler respond
-On: 2011-10-14 19:14:32.795953 Event: Caller handler : Ready
-On: 2011-10-14 19:14:32.795988 Event: init Receiver
-On: 2011-10-14 19:14:32.796010 Event: GSMExt.Tm
-On: 2011-10-14 19:14:34.801709 Event: Connected to Receiver Handler
-On: 2011-10-14 19:14:34.802000 Event: Receiver Handler respond
-On: 2011-10-14 19:14:34.802181 Event: Receiver handler : Ready
-On: 2011-10-14 19:14:34.802210 Event: Start Call
-On: 2011-10-14 19:14:34.802264 Event: Waiting Feedback
-On: 2011-10-14 19:14:54.553524 Event: Test Succeed
-On: 2011-10-14 19:14:58.595749 Event:
-On: 2011-10-14 19:14:58.595811 Event: init Caller
-On: 2011-10-14 19:14:58.595832 Event: sip
-On: 2011-10-14 19:15:00.600820 Event: Connected to Caller Handler
-On: 2011-10-14 19:15:00.601217 Event: Caller Handler respond
-On: 2011-10-14 19:15:00.602060 Event: Caller handler : Ready
-On: 2011-10-14 19:15:00.602098 Event: init Receiver
-On: 2011-10-14 19:15:00.602120 Event: GSMExt.Voda
-On: 2011-10-14 19:15:02.606411 Event: Connected to Receiver Handler
-On: 2011-10-14 19:15:02.606695 Event: Receiver Handler respond
-On: 2011-10-14 19:15:02.606876 Event: Receiver handler : Ready
-On: 2011-10-14 19:15:02.606905 Event: Start Call
-On: 2011-10-14 19:15:02.606959 Event: Waiting Feedback
-On: 2011-10-14 19:15:14.673554 Event: Test Succeed
-On: 2011-10-14 19:15:18.714420 Event:
-On: 2011-10-14 19:15:18.714482 Event: init Caller
-On: 2011-10-14 19:15:18.714502 Event: sip
-On: 2011-10-14 19:15:20.719170 Event: Connected to Caller Handler
-On: 2011-10-14 19:15:20.719466 Event: Caller Handler respond
-On: 2011-10-14 19:15:20.720229 Event: Caller handler : Ready
-On: 2011-10-14 19:15:20.720527 Event: init Receiver
-On: 2011-10-14 19:15:20.720565 Event: GSMRZ1
-On: 2011-10-14 19:15:22.729621 Event: Connected to Receiver Handler
-On: 2011-10-14 19:15:22.729804 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:37.673946 ------------------
-On: 2011-10-14 19:16:37.674030 Event: init Caller
-On: 2011-10-14 19:16:37.674055 Event: unisip
-On: 2011-10-14 19:16:39.678557 Event: Connected to Caller Handler
-On: 2011-10-14 19:16:39.678878 Event: Caller Handler respond
-On: 2011-10-14 19:16:39.679644 Event: Caller handler : Ready
-On: 2011-10-14 19:16:39.679683 Event: init Receiver
-On: 2011-10-14 19:16:39.679705 Event: GSMRZ1
-On: 2011-10-14 19:16:41.689601 Event: Connected to Receiver Handler
-On: 2011-10-14 19:16:41.689788 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 19:16:45.730564 Event:
-On: 2011-10-14 19:16:45.730628 Event: init Caller
-On: 2011-10-14 19:16:45.730648 Event: GSMRZ2
-On: 2011-10-14 19:16:49.736116 Event: Connected to Caller Handler
-On: 2011-10-14 19:16:49.740461 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-14 19:16:53.789365 Event:
-On: 2011-10-14 19:16:53.789431 Event: init Caller
-On: 2011-10-14 19:16:53.789452 Event: landline
-On: 2011-10-14 19:16:55.793221 Event: Connected to Caller Handler
-On: 2011-10-14 19:16:55.793560 Event: Caller Handler respond
-On: 2011-10-14 19:16:55.796037 Event: Caller handler : Ready
-On: 2011-10-14 19:16:55.796075 Event: init Receiver
-On: 2011-10-14 19:16:55.796097 Event: GSMRZ3
-On: 2011-10-14 19:16:59.802165 Event: Cannt connect to Receiver
-On: 2011-10-14 19:16:59.802228 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-14 19:17:03.844000 Event:
-On: 2011-10-14 19:17:03.844066 Event: init Caller
-On: 2011-10-14 19:17:03.844087 Event: sip
-On: 2011-10-14 19:17:05.849334 Event: Connected to Caller Handler
-On: 2011-10-14 19:17:05.849671 Event: Caller Handler respond
-On: 2011-10-14 19:17:05.850545 Event: Caller handler : Ready
-On: 2011-10-14 19:17:05.850597 Event: init Receiver
-On: 2011-10-14 19:17:05.850621 Event: GSMExt.Eplus
-On: 2011-10-14 19:17:07.854448 Event: Connected to Receiver Handler
-On: 2011-10-14 19:17:07.854731 Event: Receiver Handler respond
-On: 2011-10-14 19:17:07.854912 Event: Receiver handler : Ready
-On: 2011-10-14 19:17:07.854941 Event: Start Call
-On: 2011-10-14 19:17:07.855016 Event: Waiting Feedback
-On: 2011-10-14 19:17:21.967911 Event: Test Succeed
-On: 2011-10-14 19:17:26.008874 Event:
-On: 2011-10-14 19:17:26.008940 Event: init Caller
-On: 2011-10-14 19:17:26.008960 Event: sip
-On: 2011-10-14 19:17:28.014035 Event: Connected to Caller Handler
-On: 2011-10-14 19:17:28.014435 Event: Caller Handler respond
-On: 2011-10-14 19:17:28.015521 Event: Caller handler : Ready
-On: 2011-10-14 19:17:28.015561 Event: init Receiver
-On: 2011-10-14 19:17:28.015583 Event: GSMExt.O2
-On: 2011-10-14 19:17:30.021268 Event: Connected to Receiver Handler
-On: 2011-10-14 19:17:30.021624 Event: Receiver Handler respond
-On: 2011-10-14 19:17:30.021819 Event: Receiver handler : Ready
-On: 2011-10-14 19:17:30.021851 Event: Start Call
-On: 2011-10-14 19:17:30.021908 Event: Waiting Feedback
-On: 2011-10-14 19:17:46.023116 Event: Test Succeed
-On: 2011-10-14 19:17:50.093005 Event:
-On: 2011-10-14 19:17:50.093070 Event: init Caller
-On: 2011-10-14 19:17:50.093091 Event: sip
-On: 2011-10-14 19:17:52.098195 Event: Connected to Caller Handler
-On: 2011-10-14 19:17:52.098598 Event: Caller Handler respond
-On: 2011-10-14 19:17:52.099325 Event: Caller handler : Ready
-On: 2011-10-14 19:17:52.099365 Event: init Receiver
-On: 2011-10-14 19:17:52.099387 Event: GSMExt.Tm
-On: 2011-10-14 19:17:54.105130 Event: Connected to Receiver Handler
-On: 2011-10-14 19:17:54.105419 Event: Receiver Handler respond
-On: 2011-10-14 19:17:54.105667 Event: Receiver handler : Ready
-On: 2011-10-14 19:17:54.105699 Event: Start Call
-On: 2011-10-14 19:17:54.105758 Event: Waiting Feedback
-On: 2011-10-14 19:18:06.329562 Event: Test Succeed
-On: 2011-10-14 19:18:10.366167 Event:
-On: 2011-10-14 19:18:10.366229 Event: init Caller
-On: 2011-10-14 19:18:10.366249 Event: sip
-On: 2011-10-14 19:18:12.371368 Event: Connected to Caller Handler
-On: 2011-10-14 19:18:12.371654 Event: Caller Handler respond
-On: 2011-10-14 19:18:12.372768 Event: Caller handler : Ready
-On: 2011-10-14 19:18:12.372867 Event: init Receiver
-On: 2011-10-14 19:18:12.372893 Event: GSMRZ2
-On: 2011-10-14 19:18:16.380394 Event: Cannt connect to Receiver
-On: 2011-10-14 19:18:16.380457 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:22:13.700808 ------------------
-On: 2011-10-17 16:22:13.700887 Event: init Caller
-On: 2011-10-17 16:22:13.700913 Event: GSMRZ2
-On: 2011-10-17 16:22:17.708094 Event: Connected to Caller Handler
-On: 2011-10-17 16:22:17.715559 Event: Caller Handler respond
-On: 2011-10-17 16:22:17.717933 Event: Caller handler : Ready
-On: 2011-10-17 16:22:17.717995 Event: init Receiver
-On: 2011-10-17 16:22:17.718017 Event: GSMRZ3
-On: 2011-10-17 16:22:21.725220 Event: Connected to Receiver Handler
-On: 2011-10-17 16:22:31.725503 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:42:41.732255 ------------------
-On: 2011-10-17 16:42:41.732331 Event: init Caller
-On: 2011-10-17 16:42:41.732355 Event: GSMRZ2
-On: 2011-10-17 16:42:45.739547 Event: Cannt connect to Caller
-On: 2011-10-17 16:42:45.739604 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:43:35.764592 ------------------
-On: 2011-10-17 16:43:35.764673 Event: init Caller
-On: 2011-10-17 16:43:35.764699 Event: GSMRZ2
-On: 2011-10-17 16:43:39.771729 Event: Connected to Caller Handler
-On: 2011-10-17 16:43:39.779109 Event: Caller Handler respond
-On: 2011-10-17 16:43:39.781265 Event: Caller handler : Ready
-On: 2011-10-17 16:43:39.781300 Event: init Receiver
-On: 2011-10-17 16:43:39.781321 Event: GSMRZ3
-On: 2011-10-17 16:43:43.788477 Event: Cannt connect to Receiver
-On: 2011-10-17 16:43:43.788539 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:44:16.386165 ------------------
-On: 2011-10-17 16:44:16.386242 Event: init Caller
-On: 2011-10-17 16:44:16.386267 Event: GSMRZ3
-On: 2011-10-17 16:44:20.404189 Event: Connected to Caller Handler
-On: 2011-10-17 16:44:30.404457 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:44:54.400859 ------------------
-On: 2011-10-17 16:44:54.400938 Event: init Caller
-On: 2011-10-17 16:44:54.400962 Event: GSMRZ3
-On: 2011-10-17 16:44:58.409264 Event: Connected to Caller Handler
-On: 2011-10-17 16:45:08.409550 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:48:10.410129 ------------------
-On: 2011-10-17 16:48:10.410205 Event: init Caller
-On: 2011-10-17 16:48:10.410230 Event: GSMRZ3
-On: 2011-10-17 16:48:14.427666 Event: Connected to Caller Handler
-On: 2011-10-17 16:48:24.427924 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:48:49.228173 ------------------
-On: 2011-10-17 16:48:49.228257 Event: init Caller
-On: 2011-10-17 16:48:49.228282 Event: GSMRZ3
-On: 2011-10-17 16:48:53.234288 Event: Connected to Caller Handler
-On: 2011-10-17 16:49:03.234558 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:49:37.570318 ------------------
-On: 2011-10-17 16:49:37.570397 Event: init Caller
-On: 2011-10-17 16:49:37.570421 Event: GSMRZ3
-On: 2011-10-17 16:49:41.580286 Event: Connected to Caller Handler
-On: 2011-10-17 16:49:57.195888 Event: Caller Handler respond
-On: 2011-10-17 16:49:57.198409 Event: Caller handler : Ready
-On: 2011-10-17 16:49:57.198465 Event: init Receiver
-On: 2011-10-17 16:49:57.198487 Event: GSMRZ2
-On: 2011-10-17 16:50:01.205405 Event: Cannt connect to Receiver
-On: 2011-10-17 16:50:01.205501 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:51:04.183314 ------------------
-On: 2011-10-17 16:51:04.183392 Event: init Caller
-On: 2011-10-17 16:51:04.183417 Event: GSMRZ3
-On: 2011-10-17 16:51:08.191088 Event: Connected to Caller Handler
-On: 2011-10-17 16:51:23.223439 Event: Caller Handler respond
-On: 2011-10-17 16:51:23.226115 Event: Caller handler : Ready
-On: 2011-10-17 16:51:23.226172 Event: init Receiver
-On: 2011-10-17 16:51:23.226195 Event: GSMRZ2
-On: 2011-10-17 16:51:27.233083 Event: Connected to Receiver Handler
-On: 2011-10-17 16:51:27.241166 Event: Receiver Handler respond
-On: 2011-10-17 16:51:27.243458 Event: Receiver handler : Ready
-On: 2011-10-17 16:51:27.243517 Event: Start Call
-On: 2011-10-17 16:51:27.243582 Event: Waiting Feedback
-On: 2011-10-17 16:51:32.898184 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:52:08.654212 ------------------
-On: 2011-10-17 16:52:08.654292 Event: init Caller
-On: 2011-10-17 16:52:08.654314 Event: sip
-On: 2011-10-17 16:52:10.659451 Event: Connected to Caller Handler
-On: 2011-10-17 16:52:10.659743 Event: Caller Handler respond
-On: 2011-10-17 16:52:10.660896 Event: Caller handler : Ready
-On: 2011-10-17 16:52:10.660937 Event: init Receiver
-On: 2011-10-17 16:52:10.660958 Event: unisip
-On: 2011-10-17 16:52:12.666202 Event: Connected to Receiver Handler
-On: 2011-10-17 16:52:12.666493 Event: Receiver Handler respond
-On: 2011-10-17 16:52:12.667235 Event: Receiver handler : Ready
-On: 2011-10-17 16:52:12.667270 Event: Start Call
-On: 2011-10-17 16:52:12.667328 Event: Waiting Feedback
-On: 2011-10-17 16:52:16.721512 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:15:25.589772 ------------------
-On: 2011-10-17 17:15:25.589897 Event: init Caller
-On: 2011-10-17 17:15:25.589923 Event: unisip
-On: 2011-10-17 17:15:27.595857 Event: Connected to Caller Handler
-On: 2011-10-17 17:15:27.596159 Event: Caller Handler respond
-On: 2011-10-17 17:15:27.596918 Event: Caller handler : Ready
-On: 2011-10-17 17:15:27.596958 Event: init Receiver
-On: 2011-10-17 17:15:27.596979 Event: GSMRZ1
-On: 2011-10-17 17:15:29.602415 Event: Connected to Receiver Handler
-On: 2011-10-17 17:15:29.602699 Event: Receiver Handler respond
-On: 2011-10-17 17:15:29.602883 Event: Receiver handler : Ready
-On: 2011-10-17 17:15:29.602912 Event: Start Call
-On: 2011-10-17 17:15:29.602966 Event: Waiting Feedback
-On: 2011-10-17 17:15:45.604178 Event: Test Failed
-On: 2011-10-17 17:15:49.680970 Event:
-On: 2011-10-17 17:15:49.681036 Event: init Caller
-On: 2011-10-17 17:15:49.681057 Event: GSMRZ2
-On: 2011-10-17 17:15:53.695287 Event: Connected to Caller Handler
-On: 2011-10-17 17:15:53.699782 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 17:15:57.773962 Event:
-On: 2011-10-17 17:15:57.774023 Event: init Caller
-On: 2011-10-17 17:15:57.774043 Event: landline
-On: 2011-10-17 17:15:59.777162 Event: Connected to Caller Handler
-On: 2011-10-17 17:15:59.777667 Event: Caller Handler respond
-On: 2011-10-17 17:15:59.780013 Event: Caller handler : Ready
-On: 2011-10-17 17:15:59.780053 Event: init Receiver
-On: 2011-10-17 17:15:59.780074 Event: GSMRZ3
-On: 2011-10-17 17:16:03.786126 Event: Cannt connect to Receiver
-On: 2011-10-17 17:16:03.786184 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 17:16:07.830834 Event:
-On: 2011-10-17 17:16:07.830896 Event: init Caller
-On: 2011-10-17 17:16:07.830917 Event: sip
-On: 2011-10-17 17:16:09.834179 Event: Connected to Caller Handler
-On: 2011-10-17 17:16:09.834563 Event: Caller Handler respond
-On: 2011-10-17 17:16:09.835324 Event: Caller handler : Ready
-On: 2011-10-17 17:16:09.835364 Event: init Receiver
-On: 2011-10-17 17:16:09.835385 Event: GSMExt.Eplus
-On: 2011-10-17 17:16:11.840841 Event: Connected to Receiver Handler
-On: 2011-10-17 17:16:11.841123 Event: Receiver Handler respond
-On: 2011-10-17 17:16:11.841303 Event: Receiver handler : Ready
-On: 2011-10-17 17:16:11.841332 Event: Start Call
-On: 2011-10-17 17:16:11.841385 Event: Waiting Feedback
-On: 2011-10-17 17:16:42.842670 Event: Test Failed
-On: 2011-10-17 17:16:46.919361 Event:
-On: 2011-10-17 17:16:46.919423 Event: init Caller
-On: 2011-10-17 17:16:46.919444 Event: sip
-On: 2011-10-17 17:16:48.926147 Event: Connected to Caller Handler
-On: 2011-10-17 17:16:48.926525 Event: Caller Handler respond
-On: 2011-10-17 17:16:48.927611 Event: Caller handler : Ready
-On: 2011-10-17 17:16:48.927649 Event: init Receiver
-On: 2011-10-17 17:16:48.927671 Event: GSMExt.O2
-On: 2011-10-17 17:16:50.933036 Event: Connected to Receiver Handler
-On: 2011-10-17 17:16:50.933320 Event: Receiver Handler respond
-On: 2011-10-17 17:16:50.933683 Event: Receiver handler : Ready
-On: 2011-10-17 17:16:50.933721 Event: Start Call
-On: 2011-10-17 17:16:50.933793 Event: Waiting Feedback
-On: 2011-10-17 17:17:21.935053 Event: Test Failed
-On: 2011-10-17 17:17:26.013241 Event:
-On: 2011-10-17 17:17:26.013310 Event: init Caller
-On: 2011-10-17 17:17:26.013330 Event: sip
-On: 2011-10-17 17:17:28.024382 Event: Connected to Caller Handler
-On: 2011-10-17 17:17:28.024764 Event: Caller Handler respond
-On: 2011-10-17 17:17:28.025672 Event: Caller handler : Ready
-On: 2011-10-17 17:17:28.025719 Event: init Receiver
-On: 2011-10-17 17:17:28.025741 Event: GSMExt.Tm
-On: 2011-10-17 17:17:30.030374 Event: Connected to Receiver Handler
-On: 2011-10-17 17:17:30.030664 Event: Receiver Handler respond
-On: 2011-10-17 17:17:30.030850 Event: Receiver handler : Ready
-On: 2011-10-17 17:17:30.030879 Event: Start Call
-On: 2011-10-17 17:17:30.030931 Event: Waiting Feedback
-On: 2011-10-17 17:18:01.031504 Event: Test Failed
-On: 2011-10-17 17:18:05.108646 Event:
-On: 2011-10-17 17:18:05.108714 Event: init Caller
-On: 2011-10-17 17:18:05.108735 Event: sip
-On: 2011-10-17 17:18:07.121414 Event: Connected to Caller Handler
-On: 2011-10-17 17:18:07.122003 Event: Caller Handler respond
-On: 2011-10-17 17:18:07.122786 Event: Caller handler : Ready
-On: 2011-10-17 17:18:07.122820 Event: init Receiver
-On: 2011-10-17 17:18:07.122841 Event: GSMRZ1
-On: 2011-10-17 17:18:09.126369 Event: Connected to Receiver Handler
-On: 2011-10-17 17:18:09.126651 Event: Receiver Handler respond
-On: 2011-10-17 17:18:09.126834 Event: Receiver handler : Ready
-On: 2011-10-17 17:18:09.126863 Event: Start Call
-On: 2011-10-17 17:18:09.126916 Event: Waiting Feedback
-On: 2011-10-17 17:18:25.128118 Event: Test Failed
-On: 2011-10-17 17:18:29.202552 Event:
-On: 2011-10-17 17:18:29.202614 Event: init Caller
-On: 2011-10-17 17:18:29.202634 Event: sip
-On: 2011-10-17 17:18:31.216282 Event: Connected to Caller Handler
-On: 2011-10-17 17:18:31.216659 Event: Caller Handler respond
-On: 2011-10-17 17:18:31.217421 Event: Caller handler : Ready
-On: 2011-10-17 17:18:31.217649 Event: init Receiver
-On: 2011-10-17 17:18:31.217676 Event: GSMExt.Eplus
-On: 2011-10-17 17:18:33.222378 Event: Connected to Receiver Handler
-On: 2011-10-17 17:18:33.222654 Event: Receiver Handler respond
-On: 2011-10-17 17:18:33.222824 Event: Receiver handler : Ready
-On: 2011-10-17 17:18:33.222849 Event: Start Call
-On: 2011-10-17 17:18:33.222900 Event: Waiting Feedback
-On: 2011-10-17 17:19:04.224161 Event: Test Failed
-On: 2011-10-17 17:19:08.299142 Event:
-On: 2011-10-17 17:19:08.299205 Event: init Caller
-On: 2011-10-17 17:19:08.299225 Event: sip
-On: 2011-10-17 17:19:10.312789 Event: Connected to Caller Handler
-On: 2011-10-17 17:19:10.313172 Event: Caller Handler respond
-On: 2011-10-17 17:19:10.314186 Event: Caller handler : Ready
-On: 2011-10-17 17:19:10.314225 Event: init Receiver
-On: 2011-10-17 17:19:10.314246 Event: GSMExt.O2
-On: 2011-10-17 17:19:12.318371 Event: Connected to Receiver Handler
-On: 2011-10-17 17:19:12.318657 Event: Receiver Handler respond
-On: 2011-10-17 17:19:12.318841 Event: Receiver handler : Ready
-On: 2011-10-17 17:19:12.318869 Event: Start Call
-On: 2011-10-17 17:19:12.318923 Event: Waiting Feedback
-On: 2011-10-17 17:19:43.320220 Event: Test Failed
-On: 2011-10-17 17:19:47.393908 Event:
-On: 2011-10-17 17:19:47.393973 Event: init Caller
-On: 2011-10-17 17:19:47.393993 Event: sip
-On: 2011-10-17 17:19:49.403047 Event: Connected to Caller Handler
-On: 2011-10-17 17:19:49.403428 Event: Caller Handler respond
-On: 2011-10-17 17:19:49.404190 Event: Caller handler : Ready
-On: 2011-10-17 17:19:49.404229 Event: init Receiver
-On: 2011-10-17 17:19:49.404250 Event: GSMExt.Tm
-On: 2011-10-17 17:19:51.409645 Event: Connected to Receiver Handler
-On: 2011-10-17 17:19:51.409925 Event: Receiver Handler respond
-On: 2011-10-17 17:19:51.410101 Event: Receiver handler : Ready
-On: 2011-10-17 17:19:51.410129 Event: Start Call
-On: 2011-10-17 17:19:51.410181 Event: Waiting Feedback
-On: 2011-10-17 17:20:22.411434 Event: Test Failed
-On: 2011-10-17 17:20:26.505327 Event:
-On: 2011-10-17 17:20:26.505395 Event: init Caller
-On: 2011-10-17 17:20:26.505415 Event: sip
-On: 2011-10-17 17:20:28.515300 Event: Connected to Caller Handler
-On: 2011-10-17 17:20:28.515839 Event: Caller Handler respond
-On: 2011-10-17 17:20:28.516627 Event: Caller handler : Ready
-On: 2011-10-17 17:20:28.516665 Event: init Receiver
-On: 2011-10-17 17:20:28.516686 Event: GSMRZ1
-On: 2011-10-17 17:20:30.521681 Event: Connected to Receiver Handler
-On: 2011-10-17 17:20:30.522063 Event: Receiver Handler respond
-On: 2011-10-17 17:20:30.522278 Event: Receiver handler : Ready
-On: 2011-10-17 17:20:30.522309 Event: Start Call
-On: 2011-10-17 17:20:30.522364 Event: Waiting Feedback
-On: 2011-10-17 17:20:46.523584 Event: Test Failed
-On: 2011-10-17 17:20:50.607017 Event:
-On: 2011-10-17 17:20:50.607081 Event: init Caller
-On: 2011-10-17 17:20:50.607101 Event: sip
-On: 2011-10-17 17:20:52.620612 Event: Connected to Caller Handler
-On: 2011-10-17 17:20:52.620995 Event: Caller Handler respond
-On: 2011-10-17 17:20:52.622012 Event: Caller handler : Ready
-On: 2011-10-17 17:20:52.622051 Event: init Receiver
-On: 2011-10-17 17:20:52.622145 Event: GSMExt.Eplus
-On: 2011-10-17 17:20:54.626375 Event: Connected to Receiver Handler
-On: 2011-10-17 17:20:54.626657 Event: Receiver Handler respond
-On: 2011-10-17 17:20:54.626840 Event: Receiver handler : Ready
-On: 2011-10-17 17:20:54.626869 Event: Start Call
-On: 2011-10-17 17:20:54.626921 Event: Waiting Feedback
-On: 2011-10-17 17:21:10.628120 Event: Test Succeed
-On: 2011-10-17 17:21:14.702853 Event:
-On: 2011-10-17 17:21:14.702916 Event: init Caller
-On: 2011-10-17 17:21:14.702936 Event: sip
-On: 2011-10-17 17:21:16.709644 Event: Connected to Caller Handler
-On: 2011-10-17 17:21:16.709937 Event: Caller Handler respond
-On: 2011-10-17 17:21:16.710705 Event: Caller handler : Ready
-On: 2011-10-17 17:21:16.710744 Event: init Receiver
-On: 2011-10-17 17:21:16.710765 Event: GSMExt.O2
-On: 2011-10-17 17:21:18.714373 Event: Connected to Receiver Handler
-On: 2011-10-17 17:21:18.714652 Event: Receiver Handler respond
-On: 2011-10-17 17:21:18.714834 Event: Receiver handler : Ready
-On: 2011-10-17 17:21:18.714862 Event: Start Call
-On: 2011-10-17 17:21:18.714915 Event: Waiting Feedback
-On: 2011-10-17 17:21:39.762384 Event: Test Succeed
-On: 2011-10-17 17:21:43.838997 Event:
-On: 2011-10-17 17:21:43.839060 Event: init Caller
-On: 2011-10-17 17:21:43.839080 Event: sip
-On: 2011-10-17 17:21:45.845986 Event: Connected to Caller Handler
-On: 2011-10-17 17:21:45.846274 Event: Caller Handler respond
-On: 2011-10-17 17:21:45.847034 Event: Caller handler : Ready
-On: 2011-10-17 17:21:45.847072 Event: init Receiver
-On: 2011-10-17 17:21:45.847094 Event: GSMExt.Tm
-On: 2011-10-17 17:21:47.850361 Event: Connected to Receiver Handler
-On: 2011-10-17 17:21:47.850646 Event: Receiver Handler respond
-On: 2011-10-17 17:21:47.850826 Event: Receiver handler : Ready
-On: 2011-10-17 17:21:47.850854 Event: Start Call
-On: 2011-10-17 17:21:47.850906 Event: Waiting Feedback
-On: 2011-10-17 17:22:13.399854 Event: Test Succeed
-On: 2011-10-17 17:22:17.475578 Event:
-On: 2011-10-17 17:22:17.475640 Event: init Caller
-On: 2011-10-17 17:22:17.475661 Event: sip
-On: 2011-10-17 17:22:19.489196 Event: Connected to Caller Handler
-On: 2011-10-17 17:22:19.489890 Event: Caller Handler respond
-On: 2011-10-17 17:22:19.490706 Event: Caller handler : Ready
-On: 2011-10-17 17:22:19.490740 Event: init Receiver
-On: 2011-10-17 17:22:19.490761 Event: GSMRZ1
-On: 2011-10-17 17:22:21.494374 Event: Connected to Receiver Handler
-On: 2011-10-17 17:22:21.494661 Event: Receiver Handler respond
-On: 2011-10-17 17:22:21.494843 Event: Receiver handler : Ready
-On: 2011-10-17 17:22:21.494871 Event: Start Call
-On: 2011-10-17 17:22:21.494923 Event: Waiting Feedback
-On: 2011-10-17 17:22:37.496122 Event: Test Failed
-On: 2011-10-17 17:22:41.570898 Event:
-On: 2011-10-17 17:22:41.570959 Event: init Caller
-On: 2011-10-17 17:22:41.570979 Event: sip
-On: 2011-10-17 17:22:43.584368 Event: Connected to Caller Handler
-On: 2011-10-17 17:22:43.584748 Event: Caller Handler respond
-On: 2011-10-17 17:22:43.585677 Event: Caller handler : Ready
-On: 2011-10-17 17:22:43.585722 Event: init Receiver
-On: 2011-10-17 17:22:43.585743 Event: GSMRZ1
-On: 2011-10-17 17:22:45.590376 Event: Connected to Receiver Handler
-On: 2011-10-17 17:22:45.590658 Event: Receiver Handler respond
-On: 2011-10-17 17:22:45.590839 Event: Receiver handler : Ready
-On: 2011-10-17 17:22:45.590867 Event: Start Call
-On: 2011-10-17 17:22:45.590919 Event: Waiting Feedback
-On: 2011-10-17 17:23:01.592999 Event: Test Failed
-On: 2011-10-17 17:23:05.674865 Event:
-On: 2011-10-17 17:23:05.674926 Event: init Caller
-On: 2011-10-17 17:23:05.674946 Event: sip
-On: 2011-10-17 17:23:07.690367 Event: Connected to Caller Handler
-On: 2011-10-17 17:23:07.690661 Event: Caller Handler respond
-On: 2011-10-17 17:23:07.691428 Event: Caller handler : Ready
-On: 2011-10-17 17:23:07.691469 Event: init Receiver
-On: 2011-10-17 17:23:07.691490 Event: GSMRZ1
-On: 2011-10-17 17:23:09.701153 Event: Connected to Receiver Handler
-On: 2011-10-17 17:23:09.701481 Event: Receiver Handler respond
-On: 2011-10-17 17:23:09.701726 Event: Receiver handler : Ready
-On: 2011-10-17 17:23:09.701757 Event: Start Call
-On: 2011-10-17 17:23:09.705495 Event: Waiting Feedback
-On: 2011-10-17 17:23:25.706745 Event: Test Failed
-On: 2011-10-17 17:23:29.788115 Event:
-On: 2011-10-17 17:23:29.788178 Event: init Caller
-On: 2011-10-17 17:23:29.788198 Event: sip
-On: 2011-10-17 17:23:31.800904 Event: Connected to Caller Handler
-On: 2011-10-17 17:23:31.801282 Event: Caller Handler respond
-On: 2011-10-17 17:23:31.802111 Event: Caller handler : Ready
-On: 2011-10-17 17:23:31.802151 Event: init Receiver
-On: 2011-10-17 17:23:31.802172 Event: GSMRZ1
-On: 2011-10-17 17:23:33.806373 Event: Connected to Receiver Handler
-On: 2011-10-17 17:23:33.806668 Event: Receiver Handler respond
-On: 2011-10-17 17:23:33.806854 Event: Receiver handler : Ready
-On: 2011-10-17 17:23:33.806884 Event: Start Call
-On: 2011-10-17 17:23:33.806937 Event: Waiting Feedback
-On: 2011-10-17 17:23:49.808143 Event: Test Failed
-On: 2011-10-17 17:23:53.887408 Event:
-On: 2011-10-17 17:23:53.887472 Event: init Caller
-On: 2011-10-17 17:23:53.887492 Event: sip
-On: 2011-10-17 17:23:55.900143 Event: Connected to Caller Handler
-On: 2011-10-17 17:23:55.901807 Event: Caller Handler respond
-On: 2011-10-17 17:23:55.903157 Event: Caller handler : Ready
-On: 2011-10-17 17:23:55.903207 Event: init Receiver
-On: 2011-10-17 17:23:55.903229 Event: GSMRZ1
-On: 2011-10-17 17:23:57.912641 Event: Connected to Receiver Handler
-On: 2011-10-17 17:23:57.912933 Event: Receiver Handler respond
-On: 2011-10-17 17:23:57.913114 Event: Receiver handler : Ready
-On: 2011-10-17 17:23:57.913143 Event: Start Call
-On: 2011-10-17 17:23:57.913191 Event: Waiting Feedback
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:29:39.036185 ------------------
-On: 2011-10-17 17:29:39.036262 Event: init Caller
-On: 2011-10-17 17:29:39.036286 Event: unisip
-On: 2011-10-17 17:29:41.041549 Event: Connected to Caller Handler
-On: 2011-10-17 17:29:41.041860 Event: Caller Handler respond
-On: 2011-10-17 17:29:41.042641 Event: Caller handler : Ready
-On: 2011-10-17 17:29:41.042683 Event: init Receiver
-On: 2011-10-17 17:29:41.042704 Event: GSMRZ3
-On: 2011-10-17 17:29:45.048097 Event: Connected to Receiver Handler
-On: 2011-10-17 17:29:59.201047 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 17:30:03.245057 Event:
-On: 2011-10-17 17:30:03.245117 Event: init Caller
-On: 2011-10-17 17:30:03.245138 Event: GSMRZ1
-On: 2011-10-17 17:30:05.250265 Event: Connected to Caller Handler
-On: 2011-10-17 17:30:05.250542 Event: Caller Handler respond
-On: 2011-10-17 17:30:05.250731 Event: Caller handler : Ready
-On: 2011-10-17 17:30:05.250760 Event: init Receiver
-On: 2011-10-17 17:30:05.250779 Event: GSMRZ2
-On: 2011-10-17 17:30:09.257733 Event: Connected to Receiver Handler
-On: 2011-10-17 17:30:09.265349 Event: Receiver Handler respond
-On: 2011-10-17 17:30:09.267803 Event: Receiver handler : Ready
-On: 2011-10-17 17:30:09.267858 Event: Start Call
-On: 2011-10-17 17:30:09.271152 Event: Waiting Feedback
-On: 2011-10-17 17:30:14.288656 Event: Test Succeed
-On: 2011-10-17 17:30:18.336985 Event:
-On: 2011-10-17 17:30:18.337047 Event: init Caller
-On: 2011-10-17 17:30:18.337068 Event: landline
-On: 2011-10-17 17:30:20.342112 Event: Connected to Caller Handler
-On: 2011-10-17 17:30:20.342392 Event: Caller Handler respond
-On: 2011-10-17 17:30:20.345109 Event: Caller handler : Ready
-On: 2011-10-17 17:30:20.345157 Event: init Receiver
-On: 2011-10-17 17:30:20.345179 Event: GSMRZ2
-On: 2011-10-17 17:30:24.352333 Event: Connected to Receiver Handler
-On: 2011-10-17 17:30:24.359993 Event: Receiver Handler respond
-On: 2011-10-17 17:30:24.362190 Event: Receiver handler : Ready
-On: 2011-10-17 17:30:24.362246 Event: Start Call
-On: 2011-10-17 17:30:24.362314 Event: Waiting Feedback
-On: 2011-10-17 17:30:55.363621 Event: Test Failed
-On: 2011-10-17 17:30:59.408567 Event:
-On: 2011-10-17 17:30:59.408629 Event: init Caller
-On: 2011-10-17 17:30:59.408649 Event: sip
-On: 2011-10-17 17:31:01.412427 Event: Connected to Caller Handler
-On: 2011-10-17 17:31:01.412813 Event: Caller Handler respond
-On: 2011-10-17 17:31:01.414122 Event: Caller handler : Ready
-On: 2011-10-17 17:31:01.414159 Event: init Receiver
-On: 2011-10-17 17:31:01.414181 Event: GSMExt.Eplus
-On: 2011-10-17 17:31:03.418388 Event: Connected to Receiver Handler
-On: 2011-10-17 17:31:03.418672 Event: Receiver Handler respond
-On: 2011-10-17 17:31:03.418856 Event: Receiver handler : Ready
-On: 2011-10-17 17:31:03.418885 Event: Start Call
-On: 2011-10-17 17:31:03.418937 Event: Waiting Feedback
-On: 2011-10-17 17:31:19.420136 Event: Test Succeed
-On: 2011-10-17 17:31:23.494954 Event:
-On: 2011-10-17 17:31:23.495016 Event: init Caller
-On: 2011-10-17 17:31:23.495037 Event: sip
-On: 2011-10-17 17:31:25.499467 Event: Connected to Caller Handler
-On: 2011-10-17 17:31:25.499900 Event: Caller Handler respond
-On: 2011-10-17 17:31:25.501032 Event: Caller handler : Ready
-On: 2011-10-17 17:31:25.501068 Event: init Receiver
-On: 2011-10-17 17:31:25.501089 Event: GSMExt.O2
-On: 2011-10-17 17:31:27.505298 Event: Connected to Receiver Handler
-On: 2011-10-17 17:31:27.505657 Event: Receiver Handler respond
-On: 2011-10-17 17:31:27.505854 Event: Receiver handler : Ready
-On: 2011-10-17 17:31:27.505884 Event: Start Call
-On: 2011-10-17 17:31:27.505939 Event: Waiting Feedback
-On: 2011-10-17 17:31:43.507137 Event: Test Succeed
-On: 2011-10-17 17:31:47.582377 Event:
-On: 2011-10-17 17:31:47.582436 Event: init Caller
-On: 2011-10-17 17:31:47.582456 Event: sip
-On: 2011-10-17 17:31:49.588484 Event: Connected to Caller Handler
-On: 2011-10-17 17:31:49.588767 Event: Caller Handler respond
-On: 2011-10-17 17:31:49.589544 Event: Caller handler : Ready
-On: 2011-10-17 17:31:49.589583 Event: init Receiver
-On: 2011-10-17 17:31:49.589605 Event: GSMExt.Tm
-On: 2011-10-17 17:31:51.594367 Event: Connected to Receiver Handler
-On: 2011-10-17 17:31:51.594646 Event: Receiver Handler respond
-On: 2011-10-17 17:31:51.594827 Event: Receiver handler : Ready
-On: 2011-10-17 17:31:51.594856 Event: Start Call
-On: 2011-10-17 17:31:51.594908 Event: Waiting Feedback
-On: 2011-10-17 17:32:07.596104 Event: Test Succeed
-On: 2011-10-17 17:32:11.680685 Event:
-On: 2011-10-17 17:32:11.680747 Event: init Caller
-On: 2011-10-17 17:32:11.680768 Event: sip
-On: 2011-10-17 17:32:13.689883 Event: Connected to Caller Handler
-On: 2011-10-17 17:32:13.691059 Event: Caller Handler respond
-On: 2011-10-17 17:32:13.692193 Event: Caller handler : Ready
-On: 2011-10-17 17:32:13.692231 Event: init Receiver
-On: 2011-10-17 17:32:13.692252 Event: GSMExt.Voda
-On: 2011-10-17 17:32:15.697604 Event: Connected to Receiver Handler
-On: 2011-10-17 17:32:15.697885 Event: Receiver Handler respond
-On: 2011-10-17 17:32:15.698064 Event: Receiver handler : Ready
-On: 2011-10-17 17:32:15.698093 Event: Start Call
-On: 2011-10-17 17:32:15.698145 Event: Waiting Feedback
-On: 2011-10-17 17:32:31.699349 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:34:04.965519 ------------------
-On: 2011-10-17 17:34:04.965594 Event: init Caller
-On: 2011-10-17 17:34:04.965619 Event: GSMRZ2
-On: 2011-10-17 17:34:08.979821 Event: Cannt connect to Caller
-On: 2011-10-17 17:34:08.979885 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:34:44.848377 ------------------
-On: 2011-10-17 17:34:44.848451 Event: init Caller
-On: 2011-10-17 17:34:44.848475 Event: GSMRZ2
-On: 2011-10-17 17:34:48.854335 Event: Connected to Caller Handler
-On: 2011-10-17 17:34:48.862558 Event: Caller Handler respond
-On: 2011-10-17 17:34:48.864893 Event: Caller handler : Ready
-On: 2011-10-17 17:34:48.864930 Event: init Receiver
-On: 2011-10-17 17:34:48.864952 Event: GSMRZ3
-On: 2011-10-17 17:34:52.870198 Event: Cannt connect to Receiver
-On: 2011-10-17 17:34:52.870256 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:35:49.299897 ------------------
-On: 2011-10-17 17:35:49.299973 Event: init Caller
-On: 2011-10-17 17:35:49.299997 Event: GSMRZ3
-On: 2011-10-17 17:35:53.307046 Event: Connected to Caller Handler
-On: 2011-10-17 17:36:07.997804 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:37:01.681205 ------------------
-On: 2011-10-17 17:37:01.681281 Event: init Caller
-On: 2011-10-17 17:37:01.681306 Event: GSMRZ3
-On: 2011-10-17 17:37:05.688317 Event: Connected to Caller Handler
-On: 2011-10-17 17:37:20.876647 Event: Caller Handler respond
-On: 2011-10-17 17:37:20.879117 Event: Caller handler : Ready
-On: 2011-10-17 17:37:20.879175 Event: init Receiver
-On: 2011-10-17 17:37:20.879198 Event: GSMRZ2
-On: 2011-10-17 17:37:24.886061 Event: Connected to Receiver Handler
-On: 2011-10-17 17:37:24.893906 Event: Receiver Handler respond
-On: 2011-10-17 17:37:24.896102 Event: Receiver handler : Ready
-On: 2011-10-17 17:37:24.896138 Event: Start Call
-On: 2011-10-17 17:37:24.896196 Event: Waiting Feedback
-On: 2011-10-17 17:37:29.776641 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:37:43.384054 ------------------
-On: 2011-10-17 17:37:43.384130 Event: init Caller
-On: 2011-10-17 17:37:43.384153 Event: unisip
-On: 2011-10-17 17:37:45.388176 Event: Connected to Caller Handler
-On: 2011-10-17 17:37:45.388483 Event: Caller Handler respond
-On: 2011-10-17 17:37:45.389818 Event: Caller handler : Ready
-On: 2011-10-17 17:37:45.389860 Event: init Receiver
-On: 2011-10-17 17:37:45.389881 Event: GSMRZ3
-On: 2011-10-17 17:37:49.396090 Event: Connected to Receiver Handler
-On: 2011-10-17 17:38:04.484216 Event: Receiver Handler respond
-On: 2011-10-17 17:38:04.487063 Event: Receiver handler : Ready
-On: 2011-10-17 17:38:04.487125 Event: Start Call
-On: 2011-10-17 17:38:04.487195 Event: Waiting Feedback
-On: 2011-10-17 17:38:20.488427 Event: Test Failed
-On: 2011-10-17 17:38:24.534457 Event:
-On: 2011-10-17 17:38:24.534518 Event: init Caller
-On: 2011-10-17 17:38:24.534537 Event: GSMRZ1
-On: 2011-10-17 17:38:26.538372 Event: Connected to Caller Handler
-On: 2011-10-17 17:38:26.538650 Event: Caller Handler respond
-On: 2011-10-17 17:38:26.538838 Event: Caller handler : Ready
-On: 2011-10-17 17:38:26.538868 Event: init Receiver
-On: 2011-10-17 17:38:26.538887 Event: GSMExt.Eplus
-On: 2011-10-17 17:38:28.543909 Event: Connected to Receiver Handler
-On: 2011-10-17 17:38:28.544182 Event: Receiver Handler respond
-On: 2011-10-17 17:38:28.544361 Event: Receiver handler : Ready
-On: 2011-10-17 17:38:28.544390 Event: Start Call
-On: 2011-10-17 17:38:28.544440 Event: Waiting Feedback
-On: 2011-10-17 17:38:44.545528 Event: Test Succeed
-On: 2011-10-17 17:38:48.617995 Event:
-On: 2011-10-17 17:38:48.618055 Event: init Caller
-On: 2011-10-17 17:38:48.618074 Event: landline
-On: 2011-10-17 17:38:50.624327 Event: Connected to Caller Handler
-On: 2011-10-17 17:38:50.624713 Event: Caller Handler respond
-On: 2011-10-17 17:38:50.627616 Event: Caller handler : Ready
-On: 2011-10-17 17:38:50.627656 Event: init Receiver
-On: 2011-10-17 17:38:50.627677 Event: GSMRZ2
-On: 2011-10-17 17:38:54.634015 Event: Connected to Receiver Handler
-On: 2011-10-17 17:38:54.641359 Event: Receiver Handler respond
-On: 2011-10-17 17:38:54.643488 Event: Receiver handler : Ready
-On: 2011-10-17 17:38:54.643524 Event: Start Call
-On: 2011-10-17 17:38:54.643583 Event: Waiting Feedback
-On: 2011-10-17 17:39:25.644868 Event: Test Failed
-On: 2011-10-17 17:39:29.688912 Event:
-On: 2011-10-17 17:39:29.688970 Event: init Caller
-On: 2011-10-17 17:39:29.688989 Event: sip
-On: 2011-10-17 17:39:31.693786 Event: Connected to Caller Handler
-On: 2011-10-17 17:39:31.694173 Event: Caller Handler respond
-On: 2011-10-17 17:39:31.694947 Event: Caller handler : Ready
-On: 2011-10-17 17:39:31.694984 Event: init Receiver
-On: 2011-10-17 17:39:31.695005 Event: GSMExt.O2
-On: 2011-10-17 17:39:33.698346 Event: Connected to Receiver Handler
-On: 2011-10-17 17:39:33.698632 Event: Receiver Handler respond
-On: 2011-10-17 17:39:33.698818 Event: Receiver handler : Ready
-On: 2011-10-17 17:39:33.698847 Event: Start Call
-On: 2011-10-17 17:39:33.698900 Event: Waiting Feedback
-On: 2011-10-17 17:39:49.700095 Event: Test Succeed
-On: 2011-10-17 17:39:53.782355 Event:
-On: 2011-10-17 17:39:53.782415 Event: init Caller
-On: 2011-10-17 17:39:53.782435 Event: sip
-On: 2011-10-17 17:39:55.792350 Event: Connected to Caller Handler
-On: 2011-10-17 17:39:55.792739 Event: Caller Handler respond
-On: 2011-10-17 17:39:55.794055 Event: Caller handler : Ready
-On: 2011-10-17 17:39:55.794093 Event: init Receiver
-On: 2011-10-17 17:39:55.794114 Event: GSMExt.Tm
-On: 2011-10-17 17:39:57.798325 Event: Connected to Receiver Handler
-On: 2011-10-17 17:39:57.798600 Event: Receiver Handler respond
-On: 2011-10-17 17:39:57.798779 Event: Receiver handler : Ready
-On: 2011-10-17 17:39:57.798807 Event: Start Call
-On: 2011-10-17 17:39:57.798859 Event: Waiting Feedback
-On: 2011-10-17 17:40:13.800055 Event: Test Succeed
-On: 2011-10-17 17:40:17.876082 Event:
-On: 2011-10-17 17:40:17.876141 Event: init Caller
-On: 2011-10-17 17:40:17.876160 Event: sip
-On: 2011-10-17 17:40:19.882163 Event: Connected to Caller Handler
-On: 2011-10-17 17:40:19.882544 Event: Caller Handler respond
-On: 2011-10-17 17:40:19.883552 Event: Caller handler : Ready
-On: 2011-10-17 17:40:19.883588 Event: init Receiver
-On: 2011-10-17 17:40:19.883608 Event: GSMExt.Voda
-On: 2011-10-17 17:40:21.888885 Event: Connected to Receiver Handler
-On: 2011-10-17 17:40:21.889167 Event: Receiver Handler respond
-On: 2011-10-17 17:40:21.889351 Event: Receiver handler : Ready
-On: 2011-10-17 17:40:21.889379 Event: Start Call
-On: 2011-10-17 17:40:21.889431 Event: Waiting Feedback
-On: 2011-10-17 17:40:37.890662 Event: Test Succeed
-On: 2011-10-17 17:40:41.948816 Event:
-On: 2011-10-17 17:40:41.948876 Event: init Caller
-On: 2011-10-17 17:40:41.948896 Event: sip
-On: 2011-10-17 17:40:43.966734 Event: Connected to Caller Handler
-On: 2011-10-17 17:40:43.973389 Event: Caller Handler respond
-On: 2011-10-17 17:40:43.976166 Event: Caller handler : Ready
-On: 2011-10-17 17:40:43.976209 Event: init Receiver
-On: 2011-10-17 17:40:43.976231 Event: GSMRZ3
-On: 2011-10-17 17:40:47.983357 Event: Cannt connect to Receiver
-On: 2011-10-17 17:40:47.983415 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 17:40:52.021055 Event:
-On: 2011-10-17 17:40:52.021115 Event: init Caller
-On: 2011-10-17 17:40:52.021135 Event: sip
-On: 2011-10-17 17:40:54.026116 Event: Connected to Caller Handler
-On: 2011-10-17 17:40:54.026412 Event: Caller Handler respond
-On: 2011-10-17 17:40:54.027182 Event: Caller handler : Ready
-On: 2011-10-17 17:40:54.027221 Event: init Receiver
-On: 2011-10-17 17:40:54.027242 Event: GSMRZ2
-On: 2011-10-17 17:40:58.034011 Event: Connected to Receiver Handler
-On: 2011-10-17 17:40:58.041855 Event: Receiver Handler respond
-On: 2011-10-17 17:40:58.044373 Event: Receiver handler : Ready
-On: 2011-10-17 17:40:58.044436 Event: Start Call
-On: 2011-10-17 17:40:58.044508 Event: Waiting Feedback
-On: 2011-10-17 17:41:14.045737 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:46:33.306639 ------------------
-On: 2011-10-17 17:46:33.306715 Event: init Caller
-On: 2011-10-17 17:46:33.306738 Event: unisip
-On: 2011-10-17 17:46:35.311490 Event: Connected to Caller Handler
-On: 2011-10-17 17:46:35.311803 Event: Caller Handler respond
-On: 2011-10-17 17:46:35.312569 Event: Caller handler : Ready
-On: 2011-10-17 17:46:35.312609 Event: init Receiver
-On: 2011-10-17 17:46:35.312630 Event: GSMRZ2
-On: 2011-10-17 17:46:39.319844 Event: Cannt connect to Receiver
-On: 2011-10-17 17:46:39.319910 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 17:46:43.367006 Event:
-On: 2011-10-17 17:46:43.367067 Event: init Caller
-On: 2011-10-17 17:46:43.367086 Event: GSMRZ1
-On: 2011-10-17 17:46:45.372079 Event: Connected to Caller Handler
-On: 2011-10-17 17:46:45.372351 Event: Caller Handler respond
-On: 2011-10-17 17:46:45.372537 Event: Caller handler : Ready
-On: 2011-10-17 17:46:45.372567 Event: init Receiver
-On: 2011-10-17 17:46:45.372585 Event: GSMExt.O2
-On: 2011-10-17 17:46:47.377890 Event: Connected to Receiver Handler
-On: 2011-10-17 17:46:47.378158 Event: Receiver Handler respond
-On: 2011-10-17 17:46:47.378329 Event: Receiver handler : Ready
-On: 2011-10-17 17:46:47.378354 Event: Start Call
-On: 2011-10-17 17:46:47.381631 Event: Waiting Feedback
-On: 2011-10-17 17:47:03.382908 Event: Test Succeed
-On: 2011-10-17 17:47:07.459832 Event:
-On: 2011-10-17 17:47:07.459894 Event: init Caller
-On: 2011-10-17 17:47:07.459912 Event: landline
-On: 2011-10-17 17:47:09.463624 Event: Connected to Caller Handler
-On: 2011-10-17 17:47:09.463913 Event: Caller Handler respond
-On: 2011-10-17 17:47:09.466744 Event: Caller handler : Ready
-On: 2011-10-17 17:47:09.466783 Event: init Receiver
-On: 2011-10-17 17:47:09.466804 Event: GSMRZ3
-On: 2011-10-17 17:47:13.472162 Event: Cannt connect to Receiver
-On: 2011-10-17 17:47:13.472220 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 17:47:17.516853 Event:
-On: 2011-10-17 17:47:17.516913 Event: init Caller
-On: 2011-10-17 17:47:17.516932 Event: sip
-On: 2011-10-17 17:47:19.521742 Event: Connected to Caller Handler
-On: 2011-10-17 17:47:19.522118 Event: Caller Handler respond
-On: 2011-10-17 17:47:19.522884 Event: Caller handler : Ready
-On: 2011-10-17 17:47:19.522922 Event: init Receiver
-On: 2011-10-17 17:47:19.522943 Event: GSMExt.Eplus
-On: 2011-10-17 17:47:21.526386 Event: Connected to Receiver Handler
-On: 2011-10-17 17:47:21.526669 Event: Receiver Handler respond
-On: 2011-10-17 17:47:21.526855 Event: Receiver handler : Ready
-On: 2011-10-17 17:47:21.526886 Event: Start Call
-On: 2011-10-17 17:47:21.526939 Event: Waiting Feedback
-On: 2011-10-17 17:47:37.528154 Event: Test Succeed
-On: 2011-10-17 17:47:41.606714 Event:
-On: 2011-10-17 17:47:41.606775 Event: init Caller
-On: 2011-10-17 17:47:41.606794 Event: sip
-On: 2011-10-17 17:47:43.616338 Event: Connected to Caller Handler
-On: 2011-10-17 17:47:43.616721 Event: Caller Handler respond
-On: 2011-10-17 17:47:43.617518 Event: Caller handler : Ready
-On: 2011-10-17 17:47:43.617556 Event: init Receiver
-On: 2011-10-17 17:47:43.617576 Event: GSMExt.Tm
-On: 2011-10-17 17:47:45.621678 Event: Connected to Receiver Handler
-On: 2011-10-17 17:47:45.622059 Event: Receiver Handler respond
-On: 2011-10-17 17:47:45.622269 Event: Receiver handler : Ready
-On: 2011-10-17 17:47:45.622300 Event: Start Call
-On: 2011-10-17 17:47:45.622352 Event: Waiting Feedback
-On: 2011-10-17 17:48:01.623549 Event: Test Succeed
-On: 2011-10-17 17:48:05.702525 Event:
-On: 2011-10-17 17:48:05.702587 Event: init Caller
-On: 2011-10-17 17:48:05.702606 Event: sip
-On: 2011-10-17 17:48:07.716105 Event: Connected to Caller Handler
-On: 2011-10-17 17:48:07.716491 Event: Caller Handler respond
-On: 2011-10-17 17:48:07.717263 Event: Caller handler : Ready
-On: 2011-10-17 17:48:07.717303 Event: init Receiver
-On: 2011-10-17 17:48:07.717324 Event: GSMExt.Voda
-On: 2011-10-17 17:48:09.722372 Event: Connected to Receiver Handler
-On: 2011-10-17 17:48:09.722648 Event: Receiver Handler respond
-On: 2011-10-17 17:48:09.722825 Event: Receiver handler : Ready
-On: 2011-10-17 17:48:09.722923 Event: Start Call
-On: 2011-10-17 17:48:09.722985 Event: Waiting Feedback
-On: 2011-10-17 17:48:25.724184 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:49:22.918141 ------------------
-On: 2011-10-17 17:49:22.918217 Event: init Caller
-On: 2011-10-17 17:49:22.918241 Event: GSMRZ3
-On: 2011-10-17 17:49:26.934281 Event: Connected to Caller Handler
-On: 2011-10-17 17:49:41.715352 Event: Caller Handler respond
-On: 2011-10-17 17:49:41.718906 Event: Caller handler : Ready
-On: 2011-10-17 17:49:41.718967 Event: init Receiver
-On: 2011-10-17 17:49:41.718989 Event: GSMRZ2
-On: 2011-10-17 17:49:45.725756 Event: Connected to Receiver Handler
-On: 2011-10-17 17:49:45.732940 Event: Receiver Handler respond
-On: 2011-10-17 17:49:45.735046 Event: Receiver handler : Ready
-On: 2011-10-17 17:49:45.735081 Event: Start Call
-On: 2011-10-17 17:49:45.735140 Event: Waiting Feedback
-On: 2011-10-17 17:49:51.254447 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:51:25.870380 ------------------
-On: 2011-10-17 17:51:25.870456 Event: init Caller
-On: 2011-10-17 17:51:25.870481 Event: landline
-On: 2011-10-17 17:51:27.877131 Event: Connected to Caller Handler
-On: 2011-10-17 17:51:27.877480 Event: Caller Handler respond
-On: 2011-10-17 17:51:27.880646 Event: Caller handler : Ready
-On: 2011-10-17 17:51:27.880688 Event: init Receiver
-On: 2011-10-17 17:51:27.880709 Event: GSMRZ2
-On: 2011-10-17 17:51:31.886036 Event: Connected to Receiver Handler
-On: 2011-10-17 17:51:31.893283 Event: Receiver Handler respond
-On: 2011-10-17 17:51:31.895424 Event: Receiver handler : Ready
-On: 2011-10-17 17:51:31.895461 Event: Start Call
-On: 2011-10-17 17:51:31.895517 Event: Waiting Feedback
-On: 2011-10-17 17:52:02.896837 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:55:52.649188 ------------------
-On: 2011-10-17 17:55:52.649262 Event: init Caller
-On: 2011-10-17 17:55:52.649286 Event: GSMRZ3
-On: 2011-10-17 17:55:56.654377 Event: Cannt connect to Caller
-On: 2011-10-17 17:55:56.654450 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:57:31.515671 ------------------
-On: 2011-10-17 17:57:31.515745 Event: init Caller
-On: 2011-10-17 17:57:31.515769 Event: GSMRZ3
-On: 2011-10-17 17:57:35.522776 Event: Connected to Caller Handler
-On: 2011-10-17 17:57:50.062351 Event: Caller Handler respond
-On: 2011-10-17 17:57:50.065820 Event: Caller handler : Ready
-On: 2011-10-17 17:57:50.065881 Event: init Receiver
-On: 2011-10-17 17:57:50.065903 Event: GSMRZ2
-On: 2011-10-17 17:57:54.072665 Event: Connected to Receiver Handler
-On: 2011-10-17 17:57:54.080634 Event: Receiver Handler respond
-On: 2011-10-17 17:57:54.082895 Event: Receiver handler : Ready
-On: 2011-10-17 17:57:54.082953 Event: Start Call
-On: 2011-10-17 17:57:54.083018 Event: Waiting Feedback
-On: 2011-10-17 17:57:59.721769 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:59:06.264556 ------------------
-On: 2011-10-17 17:59:06.264629 Event: init Caller
-On: 2011-10-17 17:59:06.264654 Event: GSMRZ3
-On: 2011-10-17 17:59:10.271644 Event: Connected to Caller Handler
-On: 2011-10-17 17:59:24.854704 Event: Caller Handler respond
-On: 2011-10-17 17:59:24.857634 Event: Caller handler : Ready
-On: 2011-10-17 17:59:24.857697 Event: init Receiver
-On: 2011-10-17 17:59:24.857719 Event: GSMRZ2
-On: 2011-10-17 17:59:28.864051 Event: Connected to Receiver Handler
-On: 2011-10-17 17:59:28.871288 Event: Receiver Handler respond
-On: 2011-10-17 17:59:28.874050 Event: Receiver handler : Ready
-On: 2011-10-17 17:59:28.874111 Event: Start Call
-On: 2011-10-17 17:59:28.874180 Event: Waiting Feedback
-On: 2011-10-17 17:59:35.077711 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:02:38.505702 ------------------
-On: 2011-10-17 18:02:38.505815 Event: init Caller
-On: 2011-10-17 18:02:38.505841 Event: unisip
-On: 2011-10-17 18:02:40.511049 Event: Connected to Caller Handler
-On: 2011-10-17 18:02:40.511358 Event: Caller Handler respond
-On: 2011-10-17 18:02:40.512131 Event: Caller handler : Ready
-On: 2011-10-17 18:02:40.512173 Event: init Receiver
-On: 2011-10-17 18:02:40.512194 Event: GSMRZ1
-On: 2011-10-17 18:02:42.517506 Event: Connected to Receiver Handler
-On: 2011-10-17 18:02:42.517959 Event: Receiver Handler respond
-On: 2011-10-17 18:02:42.518196 Event: Receiver handler : Ready
-On: 2011-10-17 18:02:42.518228 Event: Start Call
-On: 2011-10-17 18:02:42.518285 Event: Waiting Feedback
-On: 2011-10-17 18:02:58.519485 Event: Test Failed
-On: 2011-10-17 18:03:02.599558 Event:
-On: 2011-10-17 18:03:02.599619 Event: init Caller
-On: 2011-10-17 18:03:02.599639 Event: GSMRZ2
-On: 2011-10-17 18:03:06.615451 Event: Cannt connect to Caller
-On: 2011-10-17 18:03:06.615511 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 18:03:10.661988 Event:
-On: 2011-10-17 18:03:10.662050 Event: init Caller
-On: 2011-10-17 18:03:10.662070 Event: landline
-On: 2011-10-17 18:03:12.666764 Event: Connected to Caller Handler
-On: 2011-10-17 18:03:12.667150 Event: Caller Handler respond
-On: 2011-10-17 18:03:12.669833 Event: Caller handler : Ready
-On: 2011-10-17 18:03:12.669872 Event: init Receiver
-On: 2011-10-17 18:03:12.669894 Event: GSMRZ3
-On: 2011-10-17 18:03:16.676147 Event: Cannt connect to Receiver
-On: 2011-10-17 18:03:16.676220 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 18:03:20.722873 Event:
-On: 2011-10-17 18:03:20.722933 Event: init Caller
-On: 2011-10-17 18:03:20.722953 Event: sip
-On: 2011-10-17 18:03:22.726275 Event: Connected to Caller Handler
-On: 2011-10-17 18:03:22.726572 Event: Caller Handler respond
-On: 2011-10-17 18:03:22.727699 Event: Caller handler : Ready
-On: 2011-10-17 18:03:22.727736 Event: init Receiver
-On: 2011-10-17 18:03:22.727757 Event: GSMExt.O2
-On: 2011-10-17 18:03:24.733008 Event: Connected to Receiver Handler
-On: 2011-10-17 18:03:24.733289 Event: Receiver Handler respond
-On: 2011-10-17 18:03:24.733530 Event: Receiver handler : Ready
-On: 2011-10-17 18:03:24.733561 Event: Start Call
-On: 2011-10-17 18:03:24.733617 Event: Waiting Feedback
-On: 2011-10-17 18:03:40.734819 Event: Test Succeed
-On: 2011-10-17 18:03:44.811076 Event:
-On: 2011-10-17 18:03:44.811138 Event: init Caller
-On: 2011-10-17 18:03:44.811158 Event: sip
-On: 2011-10-17 18:03:46.818847 Event: Connected to Caller Handler
-On: 2011-10-17 18:03:46.819238 Event: Caller Handler respond
-On: 2011-10-17 18:03:46.820014 Event: Caller handler : Ready
-On: 2011-10-17 18:03:46.820053 Event: init Receiver
-On: 2011-10-17 18:03:46.820074 Event: GSMExt.Tm
-On: 2011-10-17 18:03:48.823742 Event: Connected to Receiver Handler
-On: 2011-10-17 18:03:48.824191 Event: Receiver Handler respond
-On: 2011-10-17 18:03:48.824408 Event: Receiver handler : Ready
-On: 2011-10-17 18:03:48.824438 Event: Start Call
-On: 2011-10-17 18:03:48.824491 Event: Waiting Feedback
-On: 2011-10-17 18:04:04.825523 Event: Test Succeed
-On: 2011-10-17 18:04:08.906640 Event:
-On: 2011-10-17 18:04:08.906704 Event: init Caller
-On: 2011-10-17 18:04:08.906724 Event: sip
-On: 2011-10-17 18:04:10.920161 Event: Connected to Caller Handler
-On: 2011-10-17 18:04:10.920546 Event: Caller Handler respond
-On: 2011-10-17 18:04:10.921317 Event: Caller handler : Ready
-On: 2011-10-17 18:04:10.921355 Event: init Receiver
-On: 2011-10-17 18:04:10.921377 Event: GSMExt.Voda
-On: 2011-10-17 18:04:12.926352 Event: Connected to Receiver Handler
-On: 2011-10-17 18:04:12.926623 Event: Receiver Handler respond
-On: 2011-10-17 18:04:12.926813 Event: Receiver handler : Ready
-On: 2011-10-17 18:04:12.926843 Event: Start Call
-On: 2011-10-17 18:04:12.926896 Event: Waiting Feedback
-On: 2011-10-17 18:04:28.928092 Event: Test Succeed
-On: 2011-10-17 18:04:33.006339 Event:
-On: 2011-10-17 18:04:33.006401 Event: init Caller
-On: 2011-10-17 18:04:33.006421 Event: sip
-On: 2011-10-17 18:04:35.013761 Event: Connected to Caller Handler
-On: 2011-10-17 18:04:35.014152 Event: Caller Handler respond
-On: 2011-10-17 18:04:35.015239 Event: Caller handler : Ready
-On: 2011-10-17 18:04:35.015278 Event: init Receiver
-On: 2011-10-17 18:04:35.015300 Event: GSMRZ1
-On: 2011-10-17 18:04:37.020597 Event: Connected to Receiver Handler
-On: 2011-10-17 18:04:37.020878 Event: Receiver Handler respond
-On: 2011-10-17 18:04:37.021053 Event: Receiver handler : Ready
-On: 2011-10-17 18:04:37.021078 Event: Start Call
-On: 2011-10-17 18:04:37.021130 Event: Waiting Feedback
-On: 2011-10-17 18:04:53.021520 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:09:36.505211 ------------------
-On: 2011-10-17 18:09:36.505289 Event: init Caller
-On: 2011-10-17 18:09:36.505313 Event: unisip
-On: 2011-10-17 18:09:38.514003 Event: Connected to Caller Handler
-On: 2011-10-17 18:09:38.514302 Event: Caller Handler respond
-On: 2011-10-17 18:09:38.515067 Event: Caller handler : Ready
-On: 2011-10-17 18:09:38.515107 Event: init Receiver
-On: 2011-10-17 18:09:38.515129 Event: GSMRZ2
-On: 2011-10-17 18:09:42.522173 Event: Cannt connect to Receiver
-On: 2011-10-17 18:09:42.522242 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 18:09:46.570654 Event:
-On: 2011-10-17 18:09:46.570718 Event: init Caller
-On: 2011-10-17 18:09:46.570739 Event: GSMRZ1
-On: 2011-10-17 18:09:48.575797 Event: Connected to Caller Handler
-On: 2011-10-17 18:09:48.576076 Event: Caller Handler respond
-On: 2011-10-17 18:09:48.576266 Event: Caller handler : Ready
-On: 2011-10-17 18:09:48.576296 Event: init Receiver
-On: 2011-10-17 18:09:48.576316 Event: GSMExt.Tm
-On: 2011-10-17 18:09:50.581743 Event: Connected to Receiver Handler
-On: 2011-10-17 18:09:50.582025 Event: Receiver Handler respond
-On: 2011-10-17 18:09:50.582206 Event: Receiver handler : Ready
-On: 2011-10-17 18:09:50.582235 Event: Start Call
-On: 2011-10-17 18:09:50.589601 Event: Waiting Feedback
-On: 2011-10-17 18:10:06.590855 Event: Test Succeed
-On: 2011-10-17 18:10:10.671021 Event:
-On: 2011-10-17 18:10:10.671082 Event: init Caller
-On: 2011-10-17 18:10:10.671102 Event: landline
-On: 2011-10-17 18:10:12.675892 Event: Connected to Caller Handler
-On: 2011-10-17 18:10:12.676185 Event: Caller Handler respond
-On: 2011-10-17 18:10:17.678678 Event: Caller handler : Ready
-On: 2011-10-17 18:10:17.678715 Event: init Receiver
-On: 2011-10-17 18:10:17.678738 Event: GSMRZ3
-On: 2011-10-17 18:10:21.684144 Event: Cannt connect to Receiver
-On: 2011-10-17 18:10:21.684204 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 18:10:25.727193 Event:
-On: 2011-10-17 18:10:25.727252 Event: init Caller
-On: 2011-10-17 18:10:25.727273 Event: sip
-On: 2011-10-17 18:10:27.730129 Event: Connected to Caller Handler
-On: 2011-10-17 18:10:27.730519 Event: Caller Handler respond
-On: 2011-10-17 18:10:27.731296 Event: Caller handler : Ready
-On: 2011-10-17 18:10:27.731336 Event: init Receiver
-On: 2011-10-17 18:10:27.731358 Event: GSMExt.Eplus
-On: 2011-10-17 18:10:29.736734 Event: Connected to Receiver Handler
-On: 2011-10-17 18:10:29.737003 Event: Receiver Handler respond
-On: 2011-10-17 18:10:29.737172 Event: Receiver handler : Ready
-On: 2011-10-17 18:10:29.737198 Event: Start Call
-On: 2011-10-17 18:10:29.737249 Event: Waiting Feedback
-On: 2011-10-17 18:10:45.737518 Event: Test Succeed
-On: 2011-10-17 18:10:49.818799 Event:
-On: 2011-10-17 18:10:49.818860 Event: init Caller
-On: 2011-10-17 18:10:49.818881 Event: sip
-On: 2011-10-17 18:10:51.826154 Event: Connected to Caller Handler
-On: 2011-10-17 18:10:51.826484 Event: Caller Handler respond
-On: 2011-10-17 18:10:51.827271 Event: Caller handler : Ready
-On: 2011-10-17 18:10:51.827309 Event: init Receiver
-On: 2011-10-17 18:10:51.827331 Event: GSMExt.O2
-On: 2011-10-17 18:10:53.833057 Event: Connected to Receiver Handler
-On: 2011-10-17 18:10:53.833339 Event: Receiver Handler respond
-On: 2011-10-17 18:10:53.833710 Event: Receiver handler : Ready
-On: 2011-10-17 18:10:53.833750 Event: Start Call
-On: 2011-10-17 18:10:53.833821 Event: Waiting Feedback
-On: 2011-10-17 18:11:09.835025 Event: Test Succeed
-On: 2011-10-17 18:11:13.917329 Event:
-On: 2011-10-17 18:11:13.917392 Event: init Caller
-On: 2011-10-17 18:11:13.917412 Event: sip
-On: 2011-10-17 18:11:15.926637 Event: Connected to Caller Handler
-On: 2011-10-17 18:11:15.927023 Event: Caller Handler respond
-On: 2011-10-17 18:11:15.927795 Event: Caller handler : Ready
-On: 2011-10-17 18:11:15.927832 Event: init Receiver
-On: 2011-10-17 18:11:15.927853 Event: GSMExt.Voda
-On: 2011-10-17 18:11:17.933690 Event: Connected to Receiver Handler
-On: 2011-10-17 18:11:17.933969 Event: Receiver Handler respond
-On: 2011-10-17 18:11:17.934149 Event: Receiver handler : Ready
-On: 2011-10-17 18:11:17.934250 Event: Start Call
-On: 2011-10-17 18:11:17.934315 Event: Waiting Feedback
-On: 2011-10-17 18:11:33.935518 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:12:51.536558 ------------------
-On: 2011-10-17 18:12:51.536634 Event: init Caller
-On: 2011-10-17 18:12:51.536658 Event: GSMRZ3
-On: 2011-10-17 18:12:55.543702 Event: Connected to Caller Handler
-On: 2011-10-17 18:13:10.319172 Event: Caller Handler respond
-On: 2011-10-17 18:13:10.336841 Event: Caller handler : Ready
-On: 2011-10-17 18:13:10.336881 Event: init Receiver
-On: 2011-10-17 18:13:10.336901 Event: GSMRZ2
-On: 2011-10-17 18:13:14.343738 Event: Connected to Receiver Handler
-On: 2011-10-17 18:13:14.364727 Event: Receiver Handler respond
-On: 2011-10-17 18:13:14.375970 Event: Receiver handler : Ready
-On: 2011-10-17 18:13:14.376007 Event: Start Call
-On: 2011-10-17 18:13:14.376065 Event: Waiting Feedback
-On: 2011-10-17 18:13:20.036057 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:13:44.510138 ------------------
-On: 2011-10-17 18:13:44.510217 Event: init Caller
-On: 2011-10-17 18:13:44.510242 Event: GSMRZ3
-On: 2011-10-17 18:13:48.517301 Event: Connected to Caller Handler
-On: 2011-10-17 18:14:03.350268 Event: Caller Handler respond
-On: 2011-10-17 18:14:03.366371 Event: Caller handler : Ready
-On: 2011-10-17 18:14:03.366414 Event: init Receiver
-On: 2011-10-17 18:14:03.366436 Event: GSMRZ1
-On: 2011-10-17 18:14:05.370410 Event: Connected to Receiver Handler
-On: 2011-10-17 18:14:05.370690 Event: Receiver Handler respond
-On: 2011-10-17 18:14:05.370871 Event: Receiver handler : Ready
-On: 2011-10-17 18:14:05.370900 Event: Start Call
-On: 2011-10-17 18:14:05.373709 Event: Waiting Feedback
-On: 2011-10-17 18:14:10.942099 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:14:29.904126 ------------------
-On: 2011-10-17 18:14:29.904202 Event: init Caller
-On: 2011-10-17 18:14:29.904228 Event: GSMRZ1
-On: 2011-10-17 18:14:31.909520 Event: Connected to Caller Handler
-On: 2011-10-17 18:14:31.909986 Event: Caller Handler respond
-On: 2011-10-17 18:14:31.910227 Event: Caller handler : Ready
-On: 2011-10-17 18:14:31.910258 Event: init Receiver
-On: 2011-10-17 18:14:31.910278 Event: GSMRZ3
-On: 2011-10-17 18:14:35.917099 Event: Connected to Receiver Handler
-On: 2011-10-17 18:14:50.837777 Event: Receiver Handler respond
-On: 2011-10-17 18:14:50.851744 Event: Receiver handler : Ready
-On: 2011-10-17 18:14:50.851799 Event: Start Call
-On: 2011-10-17 18:14:50.851882 Event: Waiting Feedback
-On: 2011-10-17 18:15:06.853139 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:15:45.804874 ------------------
-On: 2011-10-17 18:15:45.804952 Event: init Caller
-On: 2011-10-17 18:15:45.804976 Event: GSMRZ1
-On: 2011-10-17 18:15:47.818007 Event: Connected to Caller Handler
-On: 2011-10-17 18:15:47.818297 Event: Caller Handler respond
-On: 2011-10-17 18:15:47.818476 Event: Caller handler : Ready
-On: 2011-10-17 18:15:47.818501 Event: init Receiver
-On: 2011-10-17 18:15:47.818519 Event: GSMRZ3
-On: 2011-10-17 18:15:51.825404 Event: Cannt connect to Receiver
-On: 2011-10-17 18:15:51.825910 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:16:32.873358 ------------------
-On: 2011-10-17 18:16:32.873478 Event: init Caller
-On: 2011-10-17 18:16:32.873512 Event: GSMRZ1
-On: 2011-10-17 18:16:34.878800 Event: Connected to Caller Handler
-On: 2011-10-17 18:16:34.879100 Event: Caller Handler respond
-On: 2011-10-17 18:16:34.879287 Event: Caller handler : Ready
-On: 2011-10-17 18:16:34.879318 Event: init Receiver
-On: 2011-10-17 18:16:34.879336 Event: GSMRZ3
-On: 2011-10-17 18:16:38.886040 Event: Connected to Receiver Handler
-On: 2011-10-17 18:16:54.098993 Event: Receiver Handler respond
-On: 2011-10-17 18:16:54.111385 Event: Receiver handler : Ready
-On: 2011-10-17 18:16:54.111423 Event: Start Call
-On: 2011-10-17 18:16:54.111491 Event: Waiting Feedback
-On: 2011-10-17 18:17:10.112760 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:17:35.332839 ------------------
-On: 2011-10-17 18:17:35.332915 Event: init Caller
-On: 2011-10-17 18:17:35.332941 Event: GSMRZ2
-On: 2011-10-17 18:17:39.340184 Event: Cannt connect to Caller
-On: 2011-10-17 18:17:39.340254 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:17:54.803029 ------------------
-On: 2011-10-17 18:17:54.803104 Event: init Caller
-On: 2011-10-17 18:17:54.803129 Event: GSMRZ2
-On: 2011-10-17 18:17:58.810130 Event: Connected to Caller Handler
-On: 2011-10-17 18:17:58.828263 Event: Caller Handler respond
-On: 2011-10-17 18:17:58.839077 Event: Caller handler : Ready
-On: 2011-10-17 18:17:58.839131 Event: init Receiver
-On: 2011-10-17 18:17:58.839152 Event: GSMRZ3
-On: 2011-10-17 18:18:02.844653 Event: Connected to Receiver Handler
-On: 2011-10-17 18:18:02.883613 Event: Receiver Handler respond
-On: 2011-10-17 18:18:02.903150 Event: Receiver handler : Ready
-On: 2011-10-17 18:18:02.903191 Event: Start Call
-On: 2011-10-17 18:18:02.903356 Event: Waiting Feedback
-On: 2011-10-17 18:18:08.173066 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:50:26.930762 ------------------
-On: 2011-10-17 18:50:26.930844 Event: init Caller
-On: 2011-10-17 18:50:26.930870 Event: GSMRZ2
-On: 2011-10-17 18:50:30.951347 Event: Cannt connect to Caller
-On: 2011-10-17 18:50:30.951421 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:51:46.127949 ------------------
-On: 2011-10-17 18:51:46.128026 Event: init Caller
-On: 2011-10-17 18:51:46.128051 Event: GSMRZ2
-On: 2011-10-17 18:51:50.134168 Event: Connected to Caller Handler
-On: 2011-10-17 18:51:50.152710 Event: Caller Handler respond
-On: 2011-10-17 18:51:50.162567 Event: Caller handler : Ready
-On: 2011-10-17 18:51:50.162604 Event: init Receiver
-On: 2011-10-17 18:51:50.162626 Event: GSMRZ3
-On: 2011-10-17 18:51:54.170122 Event: Cannt connect to Receiver
-On: 2011-10-17 18:51:54.170183 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:54:01.780547 ------------------
-On: 2011-10-17 18:54:01.780623 Event: init Caller
-On: 2011-10-17 18:54:01.780648 Event: GSMRZ2
-On: 2011-10-17 18:54:05.787647 Event: Connected to Caller Handler
-On: 2011-10-17 18:54:05.805544 Event: Caller Handler respond
-On: 2011-10-17 18:54:05.815026 Event: Caller handler : Ready
-On: 2011-10-17 18:54:05.815094 Event: init Receiver
-On: 2011-10-17 18:54:05.815116 Event: GSMRZ3
-On: 2011-10-17 18:54:09.821960 Event: Connected to Receiver Handler
-On: 2011-10-17 18:54:23.950923 Event: Receiver Handler respond
-On: 2011-10-17 18:54:23.961134 Event: Receiver handler : Ready
-On: 2011-10-17 18:54:23.961172 Event: Start Call
-On: 2011-10-17 18:54:23.961233 Event: Waiting Feedback
-On: 2011-10-17 18:54:39.962564 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:56:04.046568 ------------------
-On: 2011-10-17 18:56:04.046646 Event: init Caller
-On: 2011-10-17 18:56:04.046672 Event: GSMRZ2
-On: 2011-10-17 18:56:08.063398 Event: Connected to Caller Handler
-On: 2011-10-17 18:56:08.080980 Event: Caller Handler respond
-On: 2011-10-17 18:56:08.089970 Event: Caller handler : Ready
-On: 2011-10-17 18:56:08.090008 Event: init Receiver
-On: 2011-10-17 18:56:08.090029 Event: GSMRZ3
-On: 2011-10-17 18:56:12.096895 Event: Connected to Receiver Handler
-On: 2011-10-17 18:56:26.519257 Event: Receiver Handler respond
-On: 2011-10-17 18:56:26.529347 Event: Receiver handler : Ready
-On: 2011-10-17 18:56:26.529422 Event: Start Call
-On: 2011-10-17 18:56:26.529484 Event: Waiting Feedback
-On: 2011-10-17 18:56:42.530747 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:57:49.357488 ------------------
-On: 2011-10-17 18:57:49.357568 Event: init Caller
-On: 2011-10-17 18:57:49.357594 Event: GSMRZ2
-On: 2011-10-17 18:57:53.371741 Event: Connected to Caller Handler
-On: 2011-10-17 18:57:53.387024 Event: Caller Handler respond
-On: 2011-10-17 18:57:53.394988 Event: Caller handler : Ready
-On: 2011-10-17 18:57:53.395026 Event: init Receiver
-On: 2011-10-17 18:57:53.395048 Event: GSMRZ3
-On: 2011-10-17 18:57:57.402061 Event: Cannt connect to Receiver
-On: 2011-10-17 18:57:57.402122 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:59:08.416676 ------------------
-On: 2011-10-17 18:59:08.416752 Event: init Caller
-On: 2011-10-17 18:59:08.416778 Event: GSMRZ2
-On: 2011-10-17 18:59:12.423862 Event: Connected to Caller Handler
-On: 2011-10-17 18:59:12.439529 Event: Caller Handler respond
-On: 2011-10-17 18:59:12.447517 Event: Caller handler : Ready
-On: 2011-10-17 18:59:12.447556 Event: init Receiver
-On: 2011-10-17 18:59:12.447577 Event: GSMRZ3
-On: 2011-10-17 18:59:16.453980 Event: Connected to Receiver Handler
-On: 2011-10-17 18:59:30.227380 Event: Receiver Handler respond
-On: 2011-10-17 18:59:30.237344 Event: Receiver handler : Ready
-On: 2011-10-17 18:59:30.237402 Event: Start Call
-On: 2011-10-17 18:59:30.237465 Event: Waiting Feedback
-On: 2011-10-17 18:59:46.238722 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:00:13.053971 ------------------
-On: 2011-10-17 19:00:13.054049 Event: init Caller
-On: 2011-10-17 19:00:13.054074 Event: GSMRZ2
-On: 2011-10-17 19:00:17.070238 Event: Connected to Caller Handler
-On: 2011-10-17 19:00:17.086016 Event: Caller Handler respond
-On: 2011-10-17 19:00:17.094004 Event: Caller handler : Ready
-On: 2011-10-17 19:00:17.094041 Event: init Receiver
-On: 2011-10-17 19:00:17.094062 Event: GSMRZ3
-On: 2011-10-17 19:00:21.100913 Event: Connected to Receiver Handler
-On: 2011-10-17 19:00:35.843655 Event: Receiver Handler respond
-On: 2011-10-17 19:00:35.853710 Event: Receiver handler : Ready
-On: 2011-10-17 19:00:35.853763 Event: Start Call
-On: 2011-10-17 19:00:35.853829 Event: Waiting Feedback
-On: 2011-10-17 19:00:51.855084 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:02:12.734430 ------------------
-On: 2011-10-17 19:02:12.734510 Event: init Caller
-On: 2011-10-17 19:02:12.734535 Event: GSMRZ2
-On: 2011-10-17 19:02:16.752643 Event: Cannt connect to Caller
-On: 2011-10-17 19:02:16.752705 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 19:02:20.790835 Event:
-On: 2011-10-17 19:02:20.790900 Event: init Caller
-On: 2011-10-17 19:02:20.790920 Event: GSMRZ2
-On: 2011-10-17 19:02:24.806630 Event: Connected to Caller Handler
-On: 2011-10-17 19:02:24.822193 Event: Caller Handler respond
-On: 2011-10-17 19:02:24.830170 Event: Caller handler : Ready
-On: 2011-10-17 19:02:24.830209 Event: init Receiver
-On: 2011-10-17 19:02:24.830230 Event: GSMRZ3
-On: 2011-10-17 19:02:28.836032 Event: Connected to Receiver Handler
-On: 2011-10-17 19:02:43.500786 Event: Receiver Handler respond
-On: 2011-10-17 19:02:43.510803 Event: Receiver handler : Ready
-On: 2011-10-17 19:02:43.510840 Event: Start Call
-On: 2011-10-17 19:02:43.510902 Event: Waiting Feedback
-On: 2011-10-17 19:02:59.512161 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:04:42.097567 ------------------
-On: 2011-10-17 19:04:42.097643 Event: init Caller
-On: 2011-10-17 19:04:42.097669 Event: GSMRZ2
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:05:02.787875 ------------------
-On: 2011-10-17 19:05:02.787953 Event: init Caller
-On: 2011-10-17 19:05:02.787978 Event: GSMRZ2
-On: 2011-10-17 19:05:06.795100 Event: Connected to Caller Handler
-On: 2011-10-17 19:05:06.809911 Event: Caller Handler respond
-On: 2011-10-17 19:05:06.817791 Event: Caller handler : Ready
-On: 2011-10-17 19:05:06.817828 Event: init Receiver
-On: 2011-10-17 19:05:06.817850 Event: GSMRZ3
-On: 2011-10-17 19:05:10.824173 Event: Cannt connect to Receiver
-On: 2011-10-17 19:05:10.824234 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:06:34.374204 ------------------
-On: 2011-10-17 19:06:34.374282 Event: init Caller
-On: 2011-10-17 19:06:34.374308 Event: GSMRZ2
-On: 2011-10-17 19:06:38.390200 Event: Connected to Caller Handler
-On: 2011-10-17 19:06:38.405745 Event: Caller Handler respond
-On: 2011-10-17 19:06:38.413727 Event: Caller handler : Ready
-On: 2011-10-17 19:06:38.413762 Event: init Receiver
-On: 2011-10-17 19:06:38.413785 Event: GSMRZ3
-On: 2011-10-17 19:06:42.420673 Event: Connected to Receiver Handler
-On: 2011-10-17 19:06:56.909494 Event: Receiver Handler respond
-On: 2011-10-17 19:06:56.919261 Event: Receiver handler : Ready
-On: 2011-10-17 19:06:56.919297 Event: Start Call
-On: 2011-10-17 19:06:56.919358 Event: Waiting Feedback
-On: 2011-10-17 19:07:12.920606 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:08:28.559924 ------------------
-On: 2011-10-17 19:08:28.560001 Event: init Caller
-On: 2011-10-17 19:08:28.560026 Event: GSMRZ2
-On: 2011-10-17 19:08:32.567229 Event: Cannt connect to Caller
-On: 2011-10-17 19:08:32.567294 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 19:08:36.605695 Event:
-On: 2011-10-17 19:08:36.605759 Event: init Caller
-On: 2011-10-17 19:08:36.605780 Event: GSMRZ3
-On: 2011-10-17 19:08:40.619715 Event: Connected to Caller Handler
-On: 2011-10-17 19:08:54.823717 Event: Caller Handler respond
-On: 2011-10-17 19:08:54.833936 Event: Caller handler : Ready
-On: 2011-10-17 19:08:54.834002 Event: init Receiver
-On: 2011-10-17 19:08:54.834025 Event: GSMRZ2
-On: 2011-10-17 19:08:58.839990 Event: Connected to Receiver Handler
-On: 2011-10-17 19:08:58.855608 Event: Receiver Handler respond
-On: 2011-10-17 19:08:58.863595 Event: Receiver handler : Ready
-On: 2011-10-17 19:08:58.863631 Event: Start Call
-On: 2011-10-17 19:08:58.863689 Event: Waiting Feedback
-On: 2011-10-17 19:09:04.329570 Event: Test Succeed
-On: 2011-10-17 19:09:08.373943 Event:
-On: 2011-10-17 19:09:08.374004 Event: init Caller
-On: 2011-10-17 19:09:08.374024 Event: GSMRZ3
-On: 2011-10-17 19:09:12.391233 Event: Connected to Caller Handler
-On: 2011-10-17 19:09:27.252686 Event: Caller Handler respond
-On: 2011-10-17 19:09:27.262858 Event: Caller handler : Ready
-On: 2011-10-17 19:09:27.262895 Event: init Receiver
-On: 2011-10-17 19:09:27.262917 Event: GSMRZ2
-On: 2011-10-17 19:09:31.269794 Event: Connected to Receiver Handler
-On: 2011-10-17 19:09:31.285067 Event: Receiver Handler respond
-On: 2011-10-17 19:09:31.293009 Event: Receiver handler : Ready
-On: 2011-10-17 19:09:31.293041 Event: Start Call
-On: 2011-10-17 19:09:31.293098 Event: Waiting Feedback
-On: 2011-10-17 19:09:37.370014 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:09:52.956439 ------------------
-On: 2011-10-17 19:09:52.956516 Event: init Caller
-On: 2011-10-17 19:09:52.956542 Event: GSMRZ3
-On: 2011-10-17 19:09:56.963533 Event: Connected to Caller Handler
-On: 2011-10-17 19:10:11.623082 Event: Caller Handler respond
-On: 2011-10-17 19:10:11.633242 Event: Caller handler : Ready
-On: 2011-10-17 19:10:11.633280 Event: init Receiver
-On: 2011-10-17 19:10:11.633301 Event: GSMRZ2
-On: 2011-10-17 19:10:15.640114 Event: Connected to Receiver Handler
-On: 2011-10-17 19:10:15.655944 Event: Receiver Handler respond
-On: 2011-10-17 19:10:15.663764 Event: Receiver handler : Ready
-On: 2011-10-17 19:10:15.663804 Event: Start Call
-On: 2011-10-17 19:10:15.663865 Event: Waiting Feedback
-On: 2011-10-17 19:10:25.403081 Event: Test Succeed
-On: 2011-10-17 19:10:29.440096 Event:
-On: 2011-10-17 19:10:29.440159 Event: init Caller
-On: 2011-10-17 19:10:29.440179 Event: GSMRZ3
-On: 2011-10-17 19:10:33.446949 Event: Connected to Caller Handler
-On: 2011-10-17 19:10:48.200079 Event: Caller Handler respond
-On: 2011-10-17 19:10:48.210239 Event: Caller handler : Ready
-On: 2011-10-17 19:10:48.210274 Event: init Receiver
-On: 2011-10-17 19:10:48.210296 Event: GSMRZ2
-On: 2011-10-17 19:10:52.217115 Event: Connected to Receiver Handler
-On: 2011-10-17 19:10:52.232476 Event: Receiver Handler respond
-On: 2011-10-17 19:10:52.240359 Event: Receiver handler : Ready
-On: 2011-10-17 19:10:52.240395 Event: Start Call
-On: 2011-10-17 19:10:52.240453 Event: Waiting Feedback
-On: 2011-10-17 19:10:57.724773 Event: Test Succeed
-On: 2011-10-17 19:11:01.763949 Event:
-On: 2011-10-17 19:11:01.764009 Event: init Caller
-On: 2011-10-17 19:11:01.764030 Event: GSMRZ2
-On: 2011-10-17 19:11:05.770876 Event: Connected to Caller Handler
-On: 2011-10-17 19:11:05.786275 Event: Caller Handler respond
-On: 2011-10-17 19:11:05.794110 Event: Caller handler : Ready
-On: 2011-10-17 19:11:05.794145 Event: init Receiver
-On: 2011-10-17 19:11:05.794166 Event: GSMRZ3
-On: 2011-10-17 19:11:09.800985 Event: Connected to Receiver Handler
-On: 2011-10-17 19:11:24.159820 Event: Receiver Handler respond
-On: 2011-10-17 19:11:24.170163 Event: Receiver handler : Ready
-On: 2011-10-17 19:11:24.170202 Event: Start Call
-On: 2011-10-17 19:11:24.170262 Event: Waiting Feedback
-On: 2011-10-17 19:11:39.170482 Event: Test Failed
-On: 2011-10-17 19:11:43.208398 Event:
-On: 2011-10-17 19:11:43.208462 Event: init Caller
-On: 2011-10-17 19:11:43.208482 Event: GSMRZ2
-On: 2011-10-17 19:11:47.215286 Event: Connected to Caller Handler
-On: 2011-10-17 19:11:47.230357 Event: Caller Handler respond
-On: 2011-10-17 19:11:47.238174 Event: Caller handler : Ready
-On: 2011-10-17 19:11:47.238209 Event: init Receiver
-On: 2011-10-17 19:11:47.238229 Event: GSMRZ3
-On: 2011-10-17 19:11:51.244951 Event: Connected to Receiver Handler
-On: 2011-10-17 19:12:05.903907 Event: Receiver Handler respond
-On: 2011-10-17 19:12:05.914010 Event: Receiver handler : Ready
-On: 2011-10-17 19:12:05.914047 Event: Start Call
-On: 2011-10-17 19:12:05.914106 Event: Waiting Feedback
-On: 2011-10-17 19:12:20.914325 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:13:58.036402 ------------------
-On: 2011-10-17 19:13:58.036479 Event: init Caller
-On: 2011-10-17 19:13:58.036505 Event: GSMRZ3
-On: 2011-10-17 19:14:02.043641 Event: Connected to Caller Handler
-On: 2011-10-17 19:14:16.553712 Event: Caller Handler respond
-On: 2011-10-17 19:14:16.563878 Event: Caller handler : Ready
-On: 2011-10-17 19:14:16.563915 Event: init Receiver
-On: 2011-10-17 19:14:16.563937 Event: GSMRZ2
-On: 2011-10-17 19:14:20.570980 Event: Cannt connect to Receiver
-On: 2011-10-17 19:14:20.571041 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 19:14:24.608749 Event:
-On: 2011-10-17 19:14:24.608810 Event: init Caller
-On: 2011-10-17 19:14:24.608831 Event: GSMRZ3
-On: 2011-10-17 19:14:28.615741 Event: Connected to Caller Handler
-On: 2011-10-17 19:14:42.957255 Event: Caller Handler respond
-On: 2011-10-17 19:14:42.967571 Event: Caller handler : Ready
-On: 2011-10-17 19:14:42.967609 Event: init Receiver
-On: 2011-10-17 19:14:42.967631 Event: GSMRZ2
-On: 2011-10-17 19:14:46.974520 Event: Connected to Receiver Handler
-On: 2011-10-17 19:14:46.989866 Event: Receiver Handler respond
-On: 2011-10-17 19:14:46.997656 Event: Receiver handler : Ready
-On: 2011-10-17 19:14:46.997694 Event: Start Call
-On: 2011-10-17 19:14:46.997754 Event: Waiting Feedback
-On: 2011-10-17 19:14:51.359874 Event: Test Succeed
-On: 2011-10-17 19:14:55.398059 Event:
-On: 2011-10-17 19:14:55.398125 Event: init Caller
-On: 2011-10-17 19:14:55.398146 Event: GSMRZ2
-On: 2011-10-17 19:14:59.414887 Event: Connected to Caller Handler
-On: 2011-10-17 19:14:59.428721 Event: Caller Handler respond
-On: 2011-10-17 19:14:59.436587 Event: Caller handler : Ready
-On: 2011-10-17 19:14:59.436623 Event: init Receiver
-On: 2011-10-17 19:14:59.436645 Event: GSMRZ3
-On: 2011-10-17 19:15:03.443564 Event: Connected to Receiver Handler
-On: 2011-10-17 19:15:17.688544 Event: Receiver Handler respond
-On: 2011-10-17 19:15:17.698677 Event: Receiver handler : Ready
-On: 2011-10-17 19:15:17.698715 Event: Start Call
-On: 2011-10-17 19:15:17.698773 Event: Waiting Feedback
-On: 2011-10-17 19:15:32.699003 Event: Test Failed
-On: 2011-10-17 19:15:36.736767 Event:
-On: 2011-10-17 19:15:36.736832 Event: init Caller
-On: 2011-10-17 19:15:36.736852 Event: GSMRZ2
-On: 2011-10-17 19:15:40.743680 Event: Connected to Caller Handler
-On: 2011-10-17 19:15:40.759235 Event: Caller Handler respond
-On: 2011-10-17 19:15:40.767174 Event: Caller handler : Ready
-On: 2011-10-17 19:15:40.767209 Event: init Receiver
-On: 2011-10-17 19:15:40.767230 Event: GSMRZ3
-On: 2011-10-17 19:15:44.774119 Event: Connected to Receiver Handler
-On: 2011-10-17 19:15:59.304491 Event: Receiver Handler respond
-On: 2011-10-17 19:15:59.314665 Event: Receiver handler : Ready
-On: 2011-10-17 19:15:59.314703 Event: Start Call
-On: 2011-10-17 19:15:59.314763 Event: Waiting Feedback
-On: 2011-10-17 19:16:14.314993 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:19:35.154935 ------------------
-On: 2011-10-17 19:19:35.155012 Event: init Caller
-On: 2011-10-17 19:19:35.155037 Event: GSMRZ3
-On: 2011-10-17 19:19:39.162262 Event: Cannt connect to Caller
-On: 2011-10-17 19:19:39.162326 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 19:19:43.200460 Event:
-On: 2011-10-17 19:19:43.200521 Event: init Caller
-On: 2011-10-17 19:19:43.200541 Event: GSMRZ3
-On: 2011-10-17 19:19:47.207486 Event: Connected to Caller Handler
-On: 2011-10-17 19:20:17.207755 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 19:20:21.247823 Event:
-On: 2011-10-17 19:20:21.247886 Event: init Caller
-On: 2011-10-17 19:20:21.247906 Event: GSMRZ2
-On: 2011-10-17 19:20:25.264689 Event: Cannt connect to Caller
-On: 2011-10-17 19:20:25.264751 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-17 19:20:29.303094 Event:
-On: 2011-10-17 19:20:29.303156 Event: init Caller
-On: 2011-10-17 19:20:29.303177 Event: GSMRZ2
-On: 2011-10-17 19:20:33.319865 Event: Connected to Caller Handler
-On: 2011-10-17 19:20:33.335357 Event: Caller Handler respond
-On: 2011-10-17 19:20:33.343280 Event: Caller handler : Ready
-On: 2011-10-17 19:20:33.343316 Event: init Receiver
-On: 2011-10-17 19:20:33.343338 Event: GSMRZ3
-On: 2011-10-17 19:20:37.350273 Event: Connected to Receiver Handler
-On: 2011-10-17 19:20:51.919057 Event: Receiver Handler respond
-On: 2011-10-17 19:20:51.929143 Event: Receiver handler : Ready
-On: 2011-10-17 19:20:51.929180 Event: Start Call
-On: 2011-10-17 19:20:51.929239 Event: Waiting Feedback
-On: 2011-10-17 19:21:06.929502 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:23:01.859897 ------------------
-On: 2011-10-17 19:23:01.859976 Event: init Caller
-On: 2011-10-17 19:23:01.860002 Event: GSMRZ3
-On: 2011-10-17 19:23:05.866187 Event: Connected to Caller Handler
-On: 2011-10-17 19:23:20.667706 Event: Caller Handler respond
-On: 2011-10-17 19:23:20.677852 Event: Caller handler : Ready
-On: 2011-10-17 19:23:20.677890 Event: init Receiver
-On: 2011-10-17 19:23:20.677912 Event: GSMRZ2
-On: 2011-10-17 19:23:24.684753 Event: Connected to Receiver Handler
-On: 2011-10-17 19:23:24.700060 Event: Receiver Handler respond
-On: 2011-10-17 19:23:24.707943 Event: Receiver handler : Ready
-On: 2011-10-17 19:23:24.707978 Event: Start Call
-On: 2011-10-17 19:23:24.708036 Event: Waiting Feedback
-On: 2011-10-17 19:23:29.091979 Event: Test Succeed
-On: 2011-10-17 19:23:33.130382 Event:
-On: 2011-10-17 19:23:33.130442 Event: init Caller
-On: 2011-10-17 19:23:33.130462 Event: GSMRZ3
-On: 2011-10-17 19:23:37.147102 Event: Connected to Caller Handler
-On: 2011-10-17 19:23:51.586189 Event: Caller Handler respond
-On: 2011-10-17 19:23:51.595993 Event: Caller handler : Ready
-On: 2011-10-17 19:23:51.596029 Event: init Receiver
-On: 2011-10-17 19:23:51.596051 Event: GSMRZ2
-On: 2011-10-17 19:23:55.602953 Event: Connected to Receiver Handler
-On: 2011-10-17 19:23:55.616496 Event: Receiver Handler respond
-On: 2011-10-17 19:23:55.624393 Event: Receiver handler : Ready
-On: 2011-10-17 19:23:55.624427 Event: Start Call
-On: 2011-10-17 19:23:55.624484 Event: Waiting Feedback
-On: 2011-10-17 19:24:01.007125 Event: Test Succeed
-On: 2011-10-17 19:24:05.046042 Event:
-On: 2011-10-17 19:24:05.046105 Event: init Caller
-On: 2011-10-17 19:24:05.046125 Event: GSMRZ2
-On: 2011-10-17 19:24:09.062936 Event: Connected to Caller Handler
-On: 2011-10-17 19:24:09.078367 Event: Caller Handler respond
-On: 2011-10-17 19:24:09.086430 Event: Caller handler : Ready
-On: 2011-10-17 19:24:09.086465 Event: init Receiver
-On: 2011-10-17 19:24:09.086486 Event: GSMRZ3
-On: 2011-10-17 19:24:13.093397 Event: Connected to Receiver Handler
-On: 2011-10-17 19:24:27.228902 Event: Receiver Handler respond
-On: 2011-10-17 19:24:27.238868 Event: Receiver handler : Ready
-On: 2011-10-17 19:24:27.238905 Event: Start Call
-On: 2011-10-17 19:24:27.238967 Event: Waiting Feedback
-On: 2011-10-17 19:24:42.239193 Event: Test Failed
-On: 2011-10-17 19:24:46.276325 Event:
-On: 2011-10-17 19:24:46.276389 Event: init Caller
-On: 2011-10-17 19:24:46.276409 Event: GSMRZ2
-On: 2011-10-17 19:24:50.283262 Event: Connected to Caller Handler
-On: 2011-10-17 19:24:50.298651 Event: Caller Handler respond
-On: 2011-10-17 19:24:50.306576 Event: Caller handler : Ready
-On: 2011-10-17 19:24:50.306612 Event: init Receiver
-On: 2011-10-17 19:24:50.306633 Event: GSMRZ3
-On: 2011-10-17 19:24:54.313492 Event: Connected to Receiver Handler
-On: 2011-10-17 19:25:09.047467 Event: Receiver Handler respond
-On: 2011-10-17 19:25:09.057433 Event: Receiver handler : Ready
-On: 2011-10-17 19:25:09.057470 Event: Start Call
-On: 2011-10-17 19:25:09.057530 Event: Waiting Feedback
-On: 2011-10-17 19:25:24.057760 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-17 19:27:44.091335 ------------------
-On: 2011-10-17 19:27:44.091413 Event: init Caller
-On: 2011-10-17 19:27:44.091439 Event: GSMRZ3
-On: 2011-10-17 19:27:48.098577 Event: Connected to Caller Handler
-On: 2011-10-17 19:28:02.569778 Event: Caller Handler respond
-On: 2011-10-17 19:28:02.579854 Event: Caller handler : Ready
-On: 2011-10-17 19:28:02.579893 Event: init Receiver
-On: 2011-10-17 19:28:02.579914 Event: GSMRZ2
-On: 2011-10-17 19:28:06.586938 Event: Cannt connect to Receiver
-On: 2011-10-17 19:28:06.587000 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-17 19:28:10.626051 Event:
-On: 2011-10-17 19:28:10.626114 Event: init Caller
-On: 2011-10-17 19:28:10.626135 Event: GSMRZ3
-On: 2011-10-17 19:28:14.642802 Event: Connected to Caller Handler
-On: 2011-10-17 19:28:29.371927 Event: Caller Handler respond
-On: 2011-10-17 19:28:29.382228 Event: Caller handler : Ready
-On: 2011-10-17 19:28:29.382263 Event: init Receiver
-On: 2011-10-17 19:28:29.382284 Event: GSMRZ2
-On: 2011-10-17 19:28:33.389181 Event: Connected to Receiver Handler
-On: 2011-10-17 19:28:33.404305 Event: Receiver Handler respond
-On: 2011-10-17 19:28:33.412235 Event: Receiver handler : Ready
-On: 2011-10-17 19:28:33.412272 Event: Start Call
-On: 2011-10-17 19:28:33.412329 Event: Waiting Feedback
-On: 2011-10-17 19:28:38.471696 Event: Test Succeed
-On: 2011-10-17 19:28:42.511090 Event:
-On: 2011-10-17 19:28:42.511157 Event: init Caller
-On: 2011-10-17 19:28:42.511177 Event: GSMRZ2
-On: 2011-10-17 19:28:46.527791 Event: Connected to Caller Handler
-On: 2011-10-17 19:28:46.541442 Event: Caller Handler respond
-On: 2011-10-17 19:28:46.549342 Event: Caller handler : Ready
-On: 2011-10-17 19:28:46.549394 Event: init Receiver
-On: 2011-10-17 19:28:46.549416 Event: GSMRZ3
-On: 2011-10-17 19:28:50.556356 Event: Connected to Receiver Handler
-On: 2011-10-17 19:29:05.825013 Event: Receiver Handler respond
-On: 2011-10-17 19:29:05.835168 Event: Receiver handler : Ready
-On: 2011-10-17 19:29:05.835221 Event: Start Call
-On: 2011-10-17 19:29:05.835287 Event: Waiting Feedback
-On: 2011-10-17 19:29:20.835510 Event: Test Failed
-On: 2011-10-17 19:29:24.875288 Event:
-On: 2011-10-17 19:29:24.875354 Event: init Caller
-On: 2011-10-17 19:29:24.875374 Event: GSMRZ2
-On: 2011-10-17 19:29:28.891799 Event: Connected to Caller Handler
-On: 2011-10-17 19:29:28.907075 Event: Caller Handler respond
-On: 2011-10-17 19:29:28.914969 Event: Caller handler : Ready
-On: 2011-10-17 19:29:28.915003 Event: init Receiver
-On: 2011-10-17 19:29:28.915024 Event: GSMRZ3
-On: 2011-10-17 19:29:32.920466 Event: Connected to Receiver Handler
-On: 2011-10-17 19:29:47.148523 Event: Receiver Handler respond
-On: 2011-10-17 19:29:47.158531 Event: Receiver handler : Ready
-On: 2011-10-17 19:29:47.158566 Event: Start Call
-On: 2011-10-17 19:29:47.158625 Event: Waiting Feedback
-On: 2011-10-17 19:30:02.158848 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:50:33.982830 ------------------
-On: 2011-10-18 17:50:33.982909 Event: init Caller
-On: 2011-10-18 17:50:33.982934 Event: GSMRZ3
-On: 2011-10-18 17:51:08.024111 Event: Connected to Caller Handler
-On: 2011-10-18 17:51:08.054797 Event: Caller Handler respond
-On: 2011-10-18 17:51:08.071930 Event: Caller handler : Ready
-On: 2011-10-18 17:51:08.071996 Event: init Receiver
-On: 2011-10-18 17:51:08.072018 Event: GSMRZ2
-On: 2011-10-18 17:51:12.078876 Event: Connected to Receiver Handler
-On: 2011-10-18 17:51:12.098338 Event: Receiver Handler respond
-On: 2011-10-18 17:51:12.108792 Event: Receiver handler : Ready
-On: 2011-10-18 17:51:12.108828 Event: Start Call
-On: 2011-10-18 17:51:12.108887 Event: Waiting Feedback
-On: 2011-10-18 17:51:16.766537 Event: Test Succeed
-On: 2011-10-18 17:51:20.809401 Event:
-On: 2011-10-18 17:51:20.809464 Event: init Caller
-On: 2011-10-18 17:51:20.809483 Event: GSMRZ2
-On: 2011-10-18 17:51:54.840283 Event: Connected to Caller Handler
-On: 2011-10-18 17:51:54.856651 Event: Caller Handler respond
-On: 2011-10-18 17:51:54.866308 Event: Caller handler : Ready
-On: 2011-10-18 17:51:54.866358 Event: init Receiver
-On: 2011-10-18 17:51:54.866379 Event: GSMRZ3
-On: 2011-10-18 17:51:58.873211 Event: Connected to Receiver Handler
-On: 2011-10-18 17:52:14.473107 Event: Receiver Handler respond
-On: 2011-10-18 17:52:14.489055 Event: Receiver handler : Ready
-On: 2011-10-18 17:52:14.489091 Event: Start Call
-On: 2011-10-18 17:52:14.489150 Event: Waiting Feedback
-On: 2011-10-18 17:52:29.489375 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:53:23.441285 ------------------
-On: 2011-10-18 17:53:23.441363 Event: init Caller
-On: 2011-10-18 17:53:23.441388 Event: GSMRZ3
-On: 2011-10-18 17:53:57.478489 Event: Connected to Caller Handler
-On: 2011-10-18 17:53:57.504081 Event: Caller Handler respond
-On: 2011-10-18 17:53:57.518282 Event: Caller handler : Ready
-On: 2011-10-18 17:53:57.518345 Event: init Receiver
-On: 2011-10-18 17:53:57.518367 Event: GSMRZ2
-On: 2011-10-18 17:54:31.550542 Event: Connected to Receiver Handler
-On: 2011-10-18 17:54:31.568171 Event: Receiver Handler respond
-On: 2011-10-18 17:54:31.577475 Event: Receiver handler : Ready
-On: 2011-10-18 17:54:31.577510 Event: Start Call
-On: 2011-10-18 17:54:31.577569 Event: Waiting Feedback
-On: 2011-10-18 17:54:46.577811 Event: Test Failed
-On: 2011-10-18 17:54:50.615672 Event:
-On: 2011-10-18 17:54:50.615733 Event: init Caller
-On: 2011-10-18 17:54:50.615753 Event: GSMRZ2
-On: 2011-10-18 17:55:24.640276 Event: Connected to Caller Handler
-On: 2011-10-18 17:55:24.656419 Event: Caller Handler respond
-On: 2011-10-18 17:55:24.664647 Event: Caller handler : Ready
-On: 2011-10-18 17:55:24.664681 Event: init Receiver
-On: 2011-10-18 17:55:24.664702 Event: GSMRZ3
-On: 2011-10-18 17:55:58.676265 Event: Connected to Receiver Handler
-On: 2011-10-18 17:55:58.699219 Event: Receiver Handler respond
-On: 2011-10-18 17:55:58.711254 Event: Receiver handler : Ready
-On: 2011-10-18 17:55:58.711286 Event: Start Call
-On: 2011-10-18 17:55:58.711345 Event: Waiting Feedback
-On: 2011-10-18 17:56:13.711567 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-18 17:59:52.498275 ------------------
-On: 2011-10-18 17:59:52.498351 Event: init Caller
-On: 2011-10-18 17:59:52.498376 Event: GSMRZ1
-On: 2011-10-18 17:59:54.509426 Event: Connected to Caller Handler
-On: 2011-10-18 17:59:54.509906 Event: Caller Handler respond
-On: 2011-10-18 17:59:54.510149 Event: Caller handler : Ready
-On: 2011-10-18 17:59:54.510180 Event: init Receiver
-On: 2011-10-18 17:59:54.510200 Event: GSMRZ2
-On: 2011-10-18 17:59:58.517114 Event: Cannt connect to Receiver
-On: 2011-10-18 17:59:58.517174 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-18 18:00:02.558092 Event:
-On: 2011-10-18 18:00:02.558158 Event: init Caller
-On: 2011-10-18 18:00:02.558178 Event: GSMRZ2
-On: 2011-10-18 18:00:06.574246 Event: Connected to Caller Handler
-On: 2011-10-18 18:00:06.590112 Event: Caller Handler respond
-On: 2011-10-18 18:00:06.598237 Event: Caller handler : Ready
-On: 2011-10-18 18:00:06.598303 Event: init Receiver
-On: 2011-10-18 18:00:06.598326 Event: GSMRZ1
-On: 2011-10-18 18:00:08.603341 Event: Connected to Receiver Handler
-On: 2011-10-18 18:00:08.603624 Event: Receiver Handler respond
-On: 2011-10-18 18:00:08.603808 Event: Receiver handler : Ready
-On: 2011-10-18 18:00:08.603837 Event: Start Call
-On: 2011-10-18 18:00:08.605793 Event: Waiting Feedback
-On: 2011-10-18 18:00:14.124675 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:03:05.409926 ------------------
-On: 2011-10-18 18:03:05.410004 Event: init Caller
-On: 2011-10-18 18:03:05.410028 Event: GSMRZ2
-On: 2011-10-18 18:03:09.418445 Event: Connected to Caller Handler
-On: 2011-10-18 18:03:09.434222 Event: Caller Handler respond
-On: 2011-10-18 18:03:09.442261 Event: Caller handler : Ready
-On: 2011-10-18 18:03:09.442300 Event: init Receiver
-On: 2011-10-18 18:03:09.442322 Event: GSMRZ1
-On: 2011-10-18 18:03:11.447333 Event: Connected to Receiver Handler
-On: 2011-10-18 18:03:11.447623 Event: Receiver Handler respond
-On: 2011-10-18 18:03:11.447811 Event: Receiver handler : Ready
-On: 2011-10-18 18:03:11.447841 Event: Start Call
-On: 2011-10-18 18:03:11.449913 Event: Waiting Feedback
-On: 2011-10-18 18:03:16.843603 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:04:04.728323 ------------------
-On: 2011-10-18 18:04:04.728399 Event: init Caller
-On: 2011-10-18 18:04:04.728424 Event: GSMRZ2
-On: 2011-10-18 18:04:08.735460 Event: Connected to Caller Handler
-On: 2011-10-18 18:04:08.750432 Event: Caller Handler respond
-On: 2011-10-18 18:04:08.758656 Event: Caller handler : Ready
-On: 2011-10-18 18:04:08.758692 Event: init Receiver
-On: 2011-10-18 18:04:08.758713 Event: GSMRZ1
-On: 2011-10-18 18:04:10.763741 Event: Connected to Receiver Handler
-On: 2011-10-18 18:04:10.764030 Event: Receiver Handler respond
-On: 2011-10-18 18:04:10.764214 Event: Receiver handler : Ready
-On: 2011-10-18 18:04:10.764242 Event: Start Call
-On: 2011-10-18 18:04:10.769767 Event: Waiting Feedback
-On: 2011-10-18 18:04:15.049091 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:04:52.611115 ------------------
-On: 2011-10-18 18:04:52.611190 Event: init Caller
-On: 2011-10-18 18:04:52.611215 Event: GSMRZ2
-On: 2011-10-18 18:04:56.628347 Event: Connected to Caller Handler
-On: 2011-10-18 18:04:56.644569 Event: Caller Handler respond
-On: 2011-10-18 18:04:56.652893 Event: Caller handler : Ready
-On: 2011-10-18 18:04:56.652930 Event: init Receiver
-On: 2011-10-18 18:04:56.652951 Event: GSMRZ1
-On: 2011-10-18 18:04:58.658075 Event: Connected to Receiver Handler
-On: 2011-10-18 18:04:58.658365 Event: Receiver Handler respond
-On: 2011-10-18 18:04:58.658547 Event: Receiver handler : Ready
-On: 2011-10-18 18:04:58.658578 Event: Start Call
-On: 2011-10-18 18:04:58.661905 Event: Waiting Feedback
-On: 2011-10-18 18:05:02.996682 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:05:56.307813 ------------------
-On: 2011-10-18 18:05:56.307884 Event: init Caller
-On: 2011-10-18 18:05:56.307911 Event: GSMRZ1
-On: 2011-10-18 18:05:58.313189 Event: Connected to Caller Handler
-On: 2011-10-18 18:05:58.313493 Event: Caller Handler respond
-On: 2011-10-18 18:05:58.313724 Event: Caller handler : Ready
-On: 2011-10-18 18:05:58.313755 Event: init Receiver
-On: 2011-10-18 18:05:58.313775 Event: GSMRZ2
-On: 2011-10-18 18:06:02.320781 Event: Connected to Receiver Handler
-On: 2011-10-18 18:06:02.336185 Event: Receiver Handler respond
-On: 2011-10-18 18:06:02.344608 Event: Receiver handler : Ready
-On: 2011-10-18 18:06:02.344644 Event: Start Call
-On: 2011-10-18 18:06:02.349794 Event: Waiting Feedback
-On: 2011-10-18 18:06:06.413837 Event: Test Succeed
-On: 2011-10-18 18:06:10.466431 Event:
-On: 2011-10-18 18:06:10.466495 Event: init Caller
-On: 2011-10-18 18:06:10.466516 Event: GSMRZ2
-On: 2011-10-18 18:06:14.479776 Event: Connected to Caller Handler
-On: 2011-10-18 18:06:14.496070 Event: Caller Handler respond
-On: 2011-10-18 18:06:14.504456 Event: Caller handler : Ready
-On: 2011-10-18 18:06:14.504490 Event: init Receiver
-On: 2011-10-18 18:06:14.504511 Event: GSMRZ1
-On: 2011-10-18 18:06:16.509579 Event: Connected to Receiver Handler
-On: 2011-10-18 18:06:16.509922 Event: Receiver Handler respond
-On: 2011-10-18 18:06:16.510102 Event: Receiver handler : Ready
-On: 2011-10-18 18:06:16.510126 Event: Start Call
-On: 2011-10-18 18:06:16.513779 Event: Waiting Feedback
-On: 2011-10-18 18:06:22.593899 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:07:45.759230 ------------------
-On: 2011-10-18 18:07:45.759306 Event: init Caller
-On: 2011-10-18 18:07:45.759332 Event: GSMRZ1
-On: 2011-10-18 18:07:47.774235 Event: Connected to Caller Handler
-On: 2011-10-18 18:07:47.774543 Event: Caller Handler respond
-On: 2011-10-18 18:07:47.774731 Event: Caller handler : Ready
-On: 2011-10-18 18:07:47.774756 Event: init Receiver
-On: 2011-10-18 18:07:47.774775 Event: GSMRZ2
-On: 2011-10-18 18:07:51.782562 Event: Connected to Receiver Handler
-On: 2011-10-18 18:07:51.798635 Event: Receiver Handler respond
-On: 2011-10-18 18:07:51.806933 Event: Receiver handler : Ready
-On: 2011-10-18 18:07:51.806970 Event: Start Call
-On: 2011-10-18 18:07:51.808826 Event: Waiting Feedback
-On: 2011-10-18 18:07:56.469825 Event: Test Succeed
-On: 2011-10-18 18:08:00.539459 Event:
-On: 2011-10-18 18:08:00.539522 Event: init Caller
-On: 2011-10-18 18:08:00.539542 Event: GSMRZ2
-On: 2011-10-18 18:08:04.544312 Event: Connected to Caller Handler
-On: 2011-10-18 18:08:04.560266 Event: Caller Handler respond
-On: 2011-10-18 18:08:04.568540 Event: Caller handler : Ready
-On: 2011-10-18 18:08:04.568575 Event: init Receiver
-On: 2011-10-18 18:08:04.568597 Event: GSMRZ1
-On: 2011-10-18 18:08:06.573580 Event: Connected to Receiver Handler
-On: 2011-10-18 18:08:06.573939 Event: Receiver Handler respond
-On: 2011-10-18 18:08:06.574133 Event: Receiver handler : Ready
-On: 2011-10-18 18:08:06.574166 Event: Start Call
-On: 2011-10-18 18:08:06.577779 Event: Waiting Feedback
-On: 2011-10-18 18:08:16.255157 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:08:44.820195 ------------------
-On: 2011-10-18 18:08:44.820269 Event: init Caller
-On: 2011-10-18 18:08:44.820294 Event: GSMRZ1
-On: 2011-10-18 18:08:46.825233 Event: Connected to Caller Handler
-On: 2011-10-18 18:08:46.826182 Event: Caller Handler respond
-On: 2011-10-18 18:08:46.826565 Event: Caller handler : Ready
-On: 2011-10-18 18:08:46.826595 Event: init Receiver
-On: 2011-10-18 18:08:46.826615 Event: GSMRZ3
-On: 2011-10-18 18:08:50.832308 Event: Connected to Receiver Handler
-On: 2011-10-18 18:09:05.495001 Event: Receiver Handler respond
-On: 2011-10-18 18:09:05.506367 Event: Receiver handler : Ready
-On: 2011-10-18 18:09:05.506434 Event: Start Call
-On: 2011-10-18 18:09:05.506518 Event: Waiting Feedback
-On: 2011-10-18 18:09:20.506711 Event: Test Failed
-On: 2011-10-18 18:09:24.547668 Event:
-On: 2011-10-18 18:09:24.547729 Event: init Caller
-On: 2011-10-18 18:09:24.547750 Event: GSMRZ3
-On: 2011-10-18 18:09:28.564939 Event: Connected to Caller Handler
-On: 2011-10-18 18:09:44.401668 Event: Caller Handler respond
-On: 2011-10-18 18:09:44.411658 Event: Caller handler : Ready
-On: 2011-10-18 18:09:44.411698 Event: init Receiver
-On: 2011-10-18 18:09:44.411720 Event: GSMRZ1
-On: 2011-10-18 18:09:46.416673 Event: Connected to Receiver Handler
-On: 2011-10-18 18:09:46.416955 Event: Receiver Handler respond
-On: 2011-10-18 18:09:46.417141 Event: Receiver handler : Ready
-On: 2011-10-18 18:09:46.417170 Event: Start Call
-On: 2011-10-18 18:09:46.421878 Event: Waiting Feedback
-On: 2011-10-18 18:09:51.914316 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 18:11:26.350080 ------------------
-On: 2011-10-18 18:11:26.350158 Event: init Caller
-On: 2011-10-18 18:11:26.350183 Event: GSMRZ1
-On: 2011-10-18 18:11:28.365050 Event: Connected to Caller Handler
-On: 2011-10-18 18:11:28.365360 Event: Caller Handler respond
-On: 2011-10-18 18:11:28.365555 Event: Caller handler : Ready
-On: 2011-10-18 18:11:28.365585 Event: init Receiver
-On: 2011-10-18 18:11:28.365604 Event: GSMRZ3
-On: 2011-10-18 18:11:32.372700 Event: Connected to Receiver Handler
-On: 2011-10-18 18:11:47.398325 Event: Receiver Handler respond
-On: 2011-10-18 18:11:47.408429 Event: Receiver handler : Ready
-On: 2011-10-18 18:11:47.408466 Event: Start Call
-On: 2011-10-18 18:11:47.408534 Event: Waiting Feedback
-On: 2011-10-18 18:12:02.408725 Event: Test Failed
-On: 2011-10-18 18:12:06.460491 Event:
-On: 2011-10-18 18:12:06.460553 Event: init Caller
-On: 2011-10-18 18:12:06.460573 Event: GSMRZ3
-On: 2011-10-18 18:12:10.466271 Event: Connected to Caller Handler
-On: 2011-10-18 18:12:26.308148 Event: Caller Handler respond
-On: 2011-10-18 18:12:26.318576 Event: Caller handler : Ready
-On: 2011-10-18 18:12:26.318614 Event: init Receiver
-On: 2011-10-18 18:12:26.318635 Event: GSMRZ1
-On: 2011-10-18 18:12:28.323549 Event: Connected to Receiver Handler
-On: 2011-10-18 18:12:28.323827 Event: Receiver Handler respond
-On: 2011-10-18 18:12:28.324009 Event: Receiver handler : Ready
-On: 2011-10-18 18:12:28.324037 Event: Start Call
-On: 2011-10-18 18:12:28.325912 Event: Waiting Feedback
-On: 2011-10-18 18:12:32.757497 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:40:31.908684 ------------------
-On: 2011-10-18 19:40:31.908768 Event: init Caller
-On: 2011-10-18 19:40:31.908794 Event: GSMRZ1
-On: 2011-10-18 19:40:33.914293 Event: Connected to Caller Handler
-On: 2011-10-18 19:40:33.914598 Event: Caller Handler respond
-On: 2011-10-18 19:40:33.914782 Event: Caller handler : Ready
-On: 2011-10-18 19:40:33.914812 Event: init Receiver
-On: 2011-10-18 19:40:33.914831 Event: GSMRZ3
-On: 2011-10-18 19:41:07.948812 Event: Connected to Receiver Handler
-On: 2011-10-18 19:41:07.953824 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-18 19:41:12.006389 Event:
-On: 2011-10-18 19:41:12.006456 Event: init Caller
-On: 2011-10-18 19:41:12.006477 Event: GSMRZ3
-On: 2011-10-18 19:41:46.040312 Event: Connected to Caller Handler
-On: 2011-10-18 19:41:46.045383 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:42:04.075012 ------------------
-On: 2011-10-18 19:42:04.075087 Event: init Caller
-On: 2011-10-18 19:42:04.075111 Event: GSMRZ1
-On: 2011-10-18 19:42:06.080332 Event: Connected to Caller Handler
-On: 2011-10-18 19:42:06.080642 Event: Caller Handler respond
-On: 2011-10-18 19:42:06.080837 Event: Caller handler : Ready
-On: 2011-10-18 19:42:06.080868 Event: init Receiver
-On: 2011-10-18 19:42:06.080887 Event: GSMRZ3
-On: 2011-10-18 19:42:40.115210 Event: Connected to Receiver Handler
-On: 2011-10-18 19:42:40.120190 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-18 19:42:44.172968 Event:
-On: 2011-10-18 19:42:44.173029 Event: init Caller
-On: 2011-10-18 19:42:44.173048 Event: GSMRZ3
-On: 2011-10-18 19:43:18.210190 Event: Connected to Caller Handler
-On: 2011-10-18 19:43:18.215254 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:46:20.058855 ------------------
-On: 2011-10-18 19:46:20.058934 Event: init Caller
-On: 2011-10-18 19:46:20.058959 Event: GSMRZ1
-On: 2011-10-18 19:46:22.064212 Event: Connected to Caller Handler
-On: 2011-10-18 19:46:22.064516 Event: Caller Handler respond
-On: 2011-10-18 19:46:22.064704 Event: Caller handler : Ready
-On: 2011-10-18 19:46:22.064734 Event: init Receiver
-On: 2011-10-18 19:46:22.064753 Event: GSMRZ3
-On: 2011-10-18 19:46:56.101926 Event: Connected to Receiver Handler
-On: 2011-10-18 19:46:56.109359 Event: Receiver Handler respond
-On: 2011-10-18 19:46:56.112684 Event: Receiver handler : Ready
-On: 2011-10-18 19:46:56.112725 Event: Start Call
-On: 2011-10-18 19:46:56.112799 Event: Waiting Feedback
-On: 2011-10-18 19:47:11.112994 Event: Test Failed
-On: 2011-10-18 19:47:15.166016 Event:
-On: 2011-10-18 19:47:15.166077 Event: init Caller
-On: 2011-10-18 19:47:15.166097 Event: GSMRZ3
-On: 2011-10-18 19:47:49.192308 Event: Connected to Caller Handler
-On: 2011-10-18 19:47:49.200653 Event: Caller Handler respond
-On: 2011-10-18 19:47:49.203351 Event: Caller handler : Ready
-On: 2011-10-18 19:47:49.203416 Event: init Receiver
-On: 2011-10-18 19:47:49.203438 Event: GSMRZ1
-On: 2011-10-18 19:47:51.206610 Event: Connected to Receiver Handler
-On: 2011-10-18 19:47:51.206897 Event: Receiver Handler respond
-On: 2011-10-18 19:47:51.207087 Event: Receiver handler : Ready
-On: 2011-10-18 19:47:51.207117 Event: Start Call
-On: 2011-10-18 19:47:51.209908 Event: Waiting Feedback
-On: 2011-10-18 19:47:56.762367 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:48:31.868650 ------------------
-On: 2011-10-18 19:48:31.868726 Event: init Caller
-On: 2011-10-18 19:48:31.868751 Event: GSMRZ1
-On: 2011-10-18 19:48:33.874188 Event: Connected to Caller Handler
-On: 2011-10-18 19:48:33.874497 Event: Caller Handler respond
-On: 2011-10-18 19:48:33.874690 Event: Caller handler : Ready
-On: 2011-10-18 19:48:33.874720 Event: init Receiver
-On: 2011-10-18 19:48:33.874739 Event: GSMRZ3
-On: 2011-10-18 19:49:07.884326 Event: Connected to Receiver Handler
-On: 2011-10-18 19:49:07.892241 Event: Receiver Handler respond
-On: 2011-10-18 19:49:07.894807 Event: Receiver handler : Ready
-On: 2011-10-18 19:49:07.894875 Event: Start Call
-On: 2011-10-18 19:49:07.894956 Event: Waiting Feedback
-On: 2011-10-18 19:49:22.895150 Event: Test Failed
-On: 2011-10-18 19:49:26.948564 Event:
-On: 2011-10-18 19:49:26.948628 Event: init Caller
-On: 2011-10-18 19:49:26.948648 Event: GSMRZ3
-On: 2011-10-18 19:50:00.975332 Event: Connected to Caller Handler
-On: 2011-10-18 19:50:00.982386 Event: Caller Handler respond
-On: 2011-10-18 19:50:00.984504 Event: Caller handler : Ready
-On: 2011-10-18 19:50:00.984539 Event: init Receiver
-On: 2011-10-18 19:50:00.984560 Event: GSMRZ1
-On: 2011-10-18 19:50:02.989913 Event: Connected to Receiver Handler
-On: 2011-10-18 19:50:02.990203 Event: Receiver Handler respond
-On: 2011-10-18 19:50:02.990393 Event: Receiver handler : Ready
-On: 2011-10-18 19:50:02.990422 Event: Start Call
-On: 2011-10-18 19:50:02.994149 Event: Waiting Feedback
-On: 2011-10-18 19:50:08.057132 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:50:50.440299 ------------------
-On: 2011-10-18 19:50:50.440375 Event: init Caller
-On: 2011-10-18 19:50:50.440401 Event: GSMRZ1
-On: 2011-10-18 19:50:52.445688 Event: Connected to Caller Handler
-On: 2011-10-18 19:50:52.446150 Event: Caller Handler respond
-On: 2011-10-18 19:50:52.446384 Event: Caller handler : Ready
-On: 2011-10-18 19:50:52.446410 Event: init Receiver
-On: 2011-10-18 19:50:52.446430 Event: GSMRZ3
-On: 2011-10-18 19:51:24.481366 Event: Connected to Receiver Handler
-On: 2011-10-18 19:51:24.489439 Event: Receiver Handler respond
-On: 2011-10-18 19:51:24.492113 Event: Receiver handler : Ready
-On: 2011-10-18 19:51:24.492182 Event: Start Call
-On: 2011-10-18 19:51:24.492263 Event: Waiting Feedback
-On: 2011-10-18 19:51:39.492452 Event: Test Failed
-On: 2011-10-18 19:51:43.545882 Event:
-On: 2011-10-18 19:51:43.545946 Event: init Caller
-On: 2011-10-18 19:51:43.545966 Event: GSMRZ3
-On: 2011-10-18 19:52:15.580572 Event: Connected to Caller Handler
-On: 2011-10-18 19:52:15.588514 Event: Caller Handler respond
-On: 2011-10-18 19:52:15.591136 Event: Caller handler : Ready
-On: 2011-10-18 19:52:15.591172 Event: init Receiver
-On: 2011-10-18 19:52:15.591193 Event: GSMRZ1
-On: 2011-10-18 19:52:17.596346 Event: Connected to Receiver Handler
-On: 2011-10-18 19:52:17.596628 Event: Receiver Handler respond
-On: 2011-10-18 19:52:17.596808 Event: Receiver handler : Ready
-On: 2011-10-18 19:52:17.596836 Event: Start Call
-On: 2011-10-18 19:52:17.596902 Event: Waiting Feedback
-On: 2011-10-18 19:52:23.148784 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:53:30.074169 ------------------
-On: 2011-10-18 19:53:30.074251 Event: init Caller
-On: 2011-10-18 19:53:30.074276 Event: GSMRZ1
-On: 2011-10-18 19:53:32.079518 Event: Connected to Caller Handler
-On: 2011-10-18 19:53:32.079819 Event: Caller Handler respond
-On: 2011-10-18 19:53:32.080001 Event: Caller handler : Ready
-On: 2011-10-18 19:53:32.080027 Event: init Receiver
-On: 2011-10-18 19:53:32.080046 Event: GSMRZ3
-On: 2011-10-18 19:53:54.105189 Event: Connected to Receiver Handler
-On: 2011-10-18 19:53:54.113747 Event: Receiver Handler respond
-On: 2011-10-18 19:53:54.116129 Event: Receiver handler : Ready
-On: 2011-10-18 19:53:54.116189 Event: Start Call
-On: 2011-10-18 19:53:54.116269 Event: Waiting Feedback
-On: 2011-10-18 19:54:09.116481 Event: Test Failed
-On: 2011-10-18 19:54:13.178109 Event:
-On: 2011-10-18 19:54:13.178174 Event: init Caller
-On: 2011-10-18 19:54:13.178194 Event: GSMRZ3
-On: 2011-10-18 19:54:35.202999 Event: Connected to Caller Handler
-On: 2011-10-18 19:54:35.211842 Event: Caller Handler respond
-On: 2011-10-18 19:54:35.214071 Event: Caller handler : Ready
-On: 2011-10-18 19:54:35.214106 Event: init Receiver
-On: 2011-10-18 19:54:35.214128 Event: GSMRZ1
-On: 2011-10-18 19:54:37.219289 Event: Connected to Receiver Handler
-On: 2011-10-18 19:54:37.219578 Event: Receiver Handler respond
-On: 2011-10-18 19:54:37.219765 Event: Receiver handler : Ready
-On: 2011-10-18 19:54:37.219795 Event: Start Call
-On: 2011-10-18 19:54:37.219863 Event: Waiting Feedback
-On: 2011-10-18 19:54:42.724903 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:54:58.248372 ------------------
-On: 2011-10-18 19:54:58.248447 Event: init Caller
-On: 2011-10-18 19:54:58.248471 Event: GSMRZ1
-On: 2011-10-18 19:55:00.253802 Event: Connected to Caller Handler
-On: 2011-10-18 19:55:00.254131 Event: Caller Handler respond
-On: 2011-10-18 19:55:00.254360 Event: Caller handler : Ready
-On: 2011-10-18 19:55:00.254391 Event: init Receiver
-On: 2011-10-18 19:55:00.254409 Event: GSMRZ3
-On: 2011-10-18 19:55:22.278361 Event: Connected to Receiver Handler
-On: 2011-10-18 19:55:22.286281 Event: Receiver Handler respond
-On: 2011-10-18 19:55:22.289141 Event: Receiver handler : Ready
-On: 2011-10-18 19:55:22.289182 Event: Start Call
-On: 2011-10-18 19:55:22.293677 Event: Waiting Feedback
-On: 2011-10-18 19:55:27.025815 Event: Test Succeed
-On: 2011-10-18 19:55:31.069547 Event:
-On: 2011-10-18 19:55:31.069608 Event: init Caller
-On: 2011-10-18 19:55:31.069628 Event: GSMRZ3
-On: 2011-10-18 19:55:53.090433 Event: Connected to Caller Handler
-On: 2011-10-18 19:55:53.098348 Event: Caller Handler respond
-On: 2011-10-18 19:55:53.100627 Event: Caller handler : Ready
-On: 2011-10-18 19:55:53.100662 Event: init Receiver
-On: 2011-10-18 19:55:53.100683 Event: GSMRZ1
-On: 2011-10-18 19:55:55.105915 Event: Connected to Receiver Handler
-On: 2011-10-18 19:55:55.106200 Event: Receiver Handler respond
-On: 2011-10-18 19:55:55.106380 Event: Receiver handler : Ready
-On: 2011-10-18 19:55:55.106409 Event: Start Call
-On: 2011-10-18 19:55:55.109790 Event: Waiting Feedback
-On: 2011-10-18 19:56:00.587276 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:56:15.687993 ------------------
-On: 2011-10-18 19:56:15.688069 Event: init Caller
-On: 2011-10-18 19:56:15.688094 Event: GSMRZ1
-On: 2011-10-18 19:56:17.693358 Event: Connected to Caller Handler
-On: 2011-10-18 19:56:17.693824 Event: Caller Handler respond
-On: 2011-10-18 19:56:17.694080 Event: Caller handler : Ready
-On: 2011-10-18 19:56:17.694107 Event: init Receiver
-On: 2011-10-18 19:56:17.694126 Event: GSMRZ2
-On: 2011-10-18 19:56:21.701110 Event: Cannt connect to Receiver
-On: 2011-10-18 19:56:21.701171 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-18 19:56:25.752505 Event:
-On: 2011-10-18 19:56:25.752567 Event: init Caller
-On: 2011-10-18 19:56:25.752587 Event: GSMRZ2
-On: 2011-10-18 19:56:29.762281 Event: Connected to Caller Handler
-On: 2011-10-18 19:56:29.778122 Event: Caller Handler respond
-On: 2011-10-18 19:56:29.786353 Event: Caller handler : Ready
-On: 2011-10-18 19:56:29.786388 Event: init Receiver
-On: 2011-10-18 19:56:29.786410 Event: GSMRZ1
-On: 2011-10-18 19:56:31.790614 Event: Connected to Receiver Handler
-On: 2011-10-18 19:56:31.790900 Event: Receiver Handler respond
-On: 2011-10-18 19:56:31.791086 Event: Receiver handler : Ready
-On: 2011-10-18 19:56:31.791117 Event: Start Call
-On: 2011-10-18 19:56:31.793907 Event: Waiting Feedback
-On: 2011-10-18 19:56:36.164627 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:57:24.372506 ------------------
-On: 2011-10-18 19:57:24.372579 Event: init Caller
-On: 2011-10-18 19:57:24.372603 Event: GSMRZ1
-On: 2011-10-18 19:57:26.377848 Event: Connected to Caller Handler
-On: 2011-10-18 19:57:26.378152 Event: Caller Handler respond
-On: 2011-10-18 19:57:26.378338 Event: Caller handler : Ready
-On: 2011-10-18 19:57:26.378368 Event: init Receiver
-On: 2011-10-18 19:57:26.378387 Event: GSMRZ2
-On: 2011-10-18 19:57:30.383835 Event: Connected to Receiver Handler
-On: 2011-10-18 19:57:30.399764 Event: Receiver Handler respond
-On: 2011-10-18 19:57:30.408115 Event: Receiver handler : Ready
-On: 2011-10-18 19:57:30.408149 Event: Start Call
-On: 2011-10-18 19:57:30.413689 Event: Waiting Feedback
-On: 2011-10-18 19:57:33.997799 Event: Test Succeed
-On: 2011-10-18 19:57:38.049232 Event:
-On: 2011-10-18 19:57:38.049297 Event: init Caller
-On: 2011-10-18 19:57:38.049317 Event: GSMRZ2
-On: 2011-10-18 19:57:42.057700 Event: Connected to Caller Handler
-On: 2011-10-18 19:57:42.073628 Event: Caller Handler respond
-On: 2011-10-18 19:57:42.081901 Event: Caller handler : Ready
-On: 2011-10-18 19:57:42.081940 Event: init Receiver
-On: 2011-10-18 19:57:42.081961 Event: GSMRZ1
-On: 2011-10-18 19:57:44.087077 Event: Connected to Receiver Handler
-On: 2011-10-18 19:57:44.087354 Event: Receiver Handler respond
-On: 2011-10-18 19:57:44.087540 Event: Receiver handler : Ready
-On: 2011-10-18 19:57:44.087569 Event: Start Call
-On: 2011-10-18 19:57:44.089907 Event: Waiting Feedback
-On: 2011-10-18 19:57:48.425671 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-18 19:59:44.461834 ------------------
-On: 2011-10-18 19:59:44.461910 Event: init Caller
-On: 2011-10-18 19:59:44.461936 Event: GSMRZ3
-On: 2011-10-18 20:00:06.489029 Event: Connected to Caller Handler
-On: 2011-10-18 20:00:06.498103 Event: Caller Handler respond
-On: 2011-10-18 20:00:06.505458 Event: Caller handler : Ready
-On: 2011-10-18 20:00:06.505503 Event: init Receiver
-On: 2011-10-18 20:00:06.505525 Event: GSMRZ2
-On: 2011-10-18 20:00:10.512396 Event: Connected to Receiver Handler
-On: 2011-10-18 20:00:10.528410 Event: Receiver Handler respond
-On: 2011-10-18 20:00:10.536636 Event: Receiver handler : Ready
-On: 2011-10-18 20:00:10.536673 Event: Start Call
-On: 2011-10-18 20:00:10.536732 Event: Waiting Feedback
-On: 2011-10-18 20:00:15.957855 Event: Test Succeed
-On: 2011-10-18 20:00:20.011138 Event:
-On: 2011-10-18 20:00:20.011205 Event: init Caller
-On: 2011-10-18 20:00:20.011225 Event: GSMRZ1
-On: 2011-10-18 20:00:22.016264 Event: Connected to Caller Handler
-On: 2011-10-18 20:00:22.016548 Event: Caller Handler respond
-On: 2011-10-18 20:00:22.016739 Event: Caller handler : Ready
-On: 2011-10-18 20:00:22.016769 Event: init Receiver
-On: 2011-10-18 20:00:22.016788 Event: GSMRZ3
-On: 2011-10-18 20:00:44.038223 Event: Connected to Receiver Handler
-On: 2011-10-18 20:00:44.046655 Event: Receiver Handler respond
-On: 2011-10-18 20:00:44.049070 Event: Receiver handler : Ready
-On: 2011-10-18 20:00:44.049105 Event: Start Call
-On: 2011-10-18 20:00:44.051367 Event: Waiting Feedback
-On: 2011-10-18 20:00:47.576395 Event: Test Succeed
-On: 2011-10-18 20:00:51.630732 Event:
-On: 2011-10-18 20:00:51.630796 Event: init Caller
-On: 2011-10-18 20:00:51.630817 Event: GSMRZ1
-On: 2011-10-18 20:00:53.641472 Event: Connected to Caller Handler
-On: 2011-10-18 20:00:53.642144 Event: Caller Handler respond
-On: 2011-10-18 20:00:53.642601 Event: Caller handler : Ready
-On: 2011-10-18 20:00:53.642641 Event: init Receiver
-On: 2011-10-18 20:00:53.642660 Event: GSMRZ2
-On: 2011-10-18 20:00:57.649584 Event: Connected to Receiver Handler
-On: 2011-10-18 20:00:57.665537 Event: Receiver Handler respond
-On: 2011-10-18 20:00:57.673716 Event: Receiver handler : Ready
-On: 2011-10-18 20:00:57.673752 Event: Start Call
-On: 2011-10-18 20:00:57.677699 Event: Waiting Feedback
-On: 2011-10-18 20:01:01.301817 Event: Test Succeed
-On: 2011-10-18 20:01:05.352997 Event:
-On: 2011-10-18 20:01:05.353064 Event: init Caller
-On: 2011-10-18 20:01:05.353085 Event: GSMRZ2
-On: 2011-10-18 20:01:09.361533 Event: Connected to Caller Handler
-On: 2011-10-18 20:01:09.377182 Event: Caller Handler respond
-On: 2011-10-18 20:01:09.385288 Event: Caller handler : Ready
-On: 2011-10-18 20:01:09.385322 Event: init Receiver
-On: 2011-10-18 20:01:09.385344 Event: GSMRZ1
-On: 2011-10-18 20:01:11.390435 Event: Connected to Receiver Handler
-On: 2011-10-18 20:01:11.390721 Event: Receiver Handler respond
-On: 2011-10-18 20:01:11.390910 Event: Receiver handler : Ready
-On: 2011-10-18 20:01:11.390940 Event: Start Call
-On: 2011-10-18 20:01:11.393790 Event: Waiting Feedback
-On: 2011-10-18 20:01:15.661353 Event: Test Succeed
-On: 2011-10-18 20:01:19.712449 Event:
-On: 2011-10-18 20:01:19.712516 Event: init Caller
-On: 2011-10-18 20:01:19.712536 Event: GSMRZ3
-On: 2011-10-18 20:01:41.738226 Event: Connected to Caller Handler
-On: 2011-10-18 20:01:41.746013 Event: Caller Handler respond
-On: 2011-10-18 20:01:41.748130 Event: Caller handler : Ready
-On: 2011-10-18 20:01:41.748163 Event: init Receiver
-On: 2011-10-18 20:01:41.748185 Event: GSMRZ1
-On: 2011-10-18 20:01:43.753528 Event: Connected to Receiver Handler
-On: 2011-10-18 20:01:43.753880 Event: Receiver Handler respond
-On: 2011-10-18 20:01:43.754214 Event: Receiver handler : Ready
-On: 2011-10-18 20:01:43.754255 Event: Start Call
-On: 2011-10-18 20:01:43.757870 Event: Waiting Feedback
-On: 2011-10-18 20:01:54.297386 Event: Test Succeed
-On: 2011-10-18 20:01:58.341936 Event:
-On: 2011-10-18 20:01:58.342003 Event: init Caller
-On: 2011-10-18 20:01:58.342024 Event: GSMRZ2
-On: 2011-10-18 20:02:02.356980 Event: Connected to Caller Handler
-On: 2011-10-18 20:02:02.372562 Event: Caller Handler respond
-On: 2011-10-18 20:02:02.380815 Event: Caller handler : Ready
-On: 2011-10-18 20:02:02.380875 Event: init Receiver
-On: 2011-10-18 20:02:02.380897 Event: GSMRZ3
-On: 2011-10-18 20:02:24.386212 Event: Connected to Receiver Handler
-On: 2011-10-18 20:02:24.394613 Event: Receiver Handler respond
-On: 2011-10-18 20:02:24.397084 Event: Receiver handler : Ready
-On: 2011-10-18 20:02:24.397118 Event: Start Call
-On: 2011-10-18 20:02:24.397179 Event: Waiting Feedback
-On: 2011-10-18 20:02:39.397369 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:53:00.078855 ------------------
-On: 2011-10-20 11:53:00.078936 Event: init Caller
-On: 2011-10-20 11:53:00.078962 Event: GSMRZ2
-On: 2011-10-20 11:53:04.096635 Event: Cannt connect to Caller
-On: 2011-10-20 11:53:04.096702 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:53:30.186820 ------------------
-On: 2011-10-20 11:53:30.186897 Event: init Caller
-On: 2011-10-20 11:53:30.186923 Event: GSMRZ2
-On: 2011-10-20 11:53:34.201998 Event: Connected to Caller Handler
-On: 2011-10-20 11:53:34.214213 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:54:53.400752 ------------------
-On: 2011-10-20 11:54:53.400826 Event: init Caller
-On: 2011-10-20 11:54:53.400851 Event: GSMRZ2
-On: 2011-10-20 11:55:15.422537 Event: Connected to Caller Handler
-On: 2011-10-20 11:55:15.428592 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:57:08.726171 ------------------
-On: 2011-10-20 11:57:08.726253 Event: init Caller
-On: 2011-10-20 11:57:08.726279 Event: GSMRZ1
-On: 2011-10-20 11:57:10.737162 Event: Connected to Caller Handler
-On: 2011-10-20 11:57:10.737467 Event: Caller Handler respond
-On: 2011-10-20 11:57:10.737658 Event: Caller handler : Ready
-On: 2011-10-20 11:57:10.737688 Event: init Receiver
-On: 2011-10-20 11:57:10.737858 Event: GSMRZ3
-On: 2011-10-20 11:57:32.766341 Event: Connected to Receiver Handler
-On: 2011-10-20 11:57:32.773208 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 11:58:51.814166 ------------------
-On: 2011-10-20 11:58:51.814248 Event: init Caller
-On: 2011-10-20 11:58:51.814272 Event: GSMRZ1
-On: 2011-10-20 11:58:53.818935 Event: Connected to Caller Handler
-On: 2011-10-20 11:58:53.819236 Event: Caller Handler respond
-On: 2011-10-20 11:58:53.819421 Event: Caller handler : Ready
-On: 2011-10-20 11:58:53.819450 Event: init Receiver
-On: 2011-10-20 11:58:53.819469 Event: GSMRZ3
-On: 2011-10-20 11:59:15.848612 Event: Connected to Receiver Handler
-On: 2011-10-20 11:59:15.855188 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:00:03.954593 ------------------
-On: 2011-10-20 12:00:03.954674 Event: init Caller
-On: 2011-10-20 12:00:03.954701 Event: GSMRZ1
-On: 2011-10-20 12:00:05.962418 Event: Connected to Caller Handler
-On: 2011-10-20 12:00:05.962723 Event: Caller Handler respond
-On: 2011-10-20 12:00:05.962906 Event: Caller handler : Ready
-On: 2011-10-20 12:00:05.962936 Event: init Receiver
-On: 2011-10-20 12:00:05.962955 Event: GSMRZ3
-On: 2011-10-20 12:00:27.975790 Event: Connected to Receiver Handler
-On: 2011-10-20 12:00:27.983671 Event: Receiver Handler respond
-On: 2011-10-20 12:00:27.985942 Event: Receiver handler : Ready
-On: 2011-10-20 12:00:27.985977 Event: Start Call
-On: 2011-10-20 12:00:27.989747 Event: Waiting Feedback
-On: 2011-10-20 12:00:32.697853 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:00:49.610195 ------------------
-On: 2011-10-20 12:00:49.610272 Event: init Caller
-On: 2011-10-20 12:00:49.610297 Event: GSMRZ1
-On: 2011-10-20 12:00:51.621430 Event: Connected to Caller Handler
-On: 2011-10-20 12:00:51.621813 Event: Caller Handler respond
-On: 2011-10-20 12:00:51.622029 Event: Caller handler : Ready
-On: 2011-10-20 12:00:51.622060 Event: init Receiver
-On: 2011-10-20 12:00:51.622079 Event: GSMRZ3
-On: 2011-10-20 12:01:13.652606 Event: Connected to Receiver Handler
-On: 2011-10-20 12:01:13.660620 Event: Receiver Handler respond
-On: 2011-10-20 12:01:13.662857 Event: Receiver handler : Ready
-On: 2011-10-20 12:01:13.662892 Event: Start Call
-On: 2011-10-20 12:01:13.665754 Event: Waiting Feedback
-On: 2011-10-20 12:01:18.333862 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:01:39.976389 ------------------
-On: 2011-10-20 12:01:39.976467 Event: init Caller
-On: 2011-10-20 12:01:39.976493 Event: GSMRZ2
-On: 2011-10-20 12:02:02.001575 Event: Connected to Caller Handler
-On: 2011-10-20 12:02:02.007417 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:02:25.180283 ------------------
-On: 2011-10-20 12:02:25.180365 Event: init Caller
-On: 2011-10-20 12:02:25.180391 Event: GSMRZ2
-On: 2011-10-20 12:02:47.203776 Event: Connected to Caller Handler
-On: 2011-10-20 12:02:47.223857 Event: Caller Handler respond
-On: 2011-10-20 12:02:47.234714 Event: Caller handler : Ready
-On: 2011-10-20 12:02:47.234782 Event: init Receiver
-On: 2011-10-20 12:02:47.234805 Event: GSMRZ3
-On: 2011-10-20 12:03:09.251033 Event: Connected to Receiver Handler
-On: 2011-10-20 12:03:09.259120 Event: Receiver Handler respond
-On: 2011-10-20 12:03:09.261470 Event: Receiver handler : Ready
-On: 2011-10-20 12:03:09.261506 Event: Start Call
-On: 2011-10-20 12:03:09.261562 Event: Waiting Feedback
-On: 2011-10-20 12:03:24.261780 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:03:44.133972 ------------------
-On: 2011-10-20 12:03:44.134050 Event: init Caller
-On: 2011-10-20 12:03:44.134076 Event: GSMRZ2
-On: 2011-10-20 12:04:06.160928 Event: Connected to Caller Handler
-On: 2011-10-20 12:04:06.179936 Event: Caller Handler respond
-On: 2011-10-20 12:04:06.189894 Event: Caller handler : Ready
-On: 2011-10-20 12:04:06.189932 Event: init Receiver
-On: 2011-10-20 12:04:06.189953 Event: GSMRZ3
-On: 2011-10-20 12:04:28.214852 Event: Connected to Receiver Handler
-On: 2011-10-20 12:04:28.235059 Event: Receiver Handler respond
-On: 2011-10-20 12:04:28.246209 Event: Receiver handler : Ready
-On: 2011-10-20 12:04:28.246245 Event: Start Call
-On: 2011-10-20 12:04:28.246302 Event: Waiting Feedback
-On: 2011-10-20 12:04:43.246498 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:09:14.727075 ------------------
-On: 2011-10-20 12:09:14.727150 Event: init Caller
-On: 2011-10-20 12:09:14.727175 Event: GSMRZ2
-On: 2011-10-20 12:09:18.732584 Event: Connected to Caller Handler
-On: 2011-10-20 12:09:18.755570 Event: Caller Handler respond
-On: 2011-10-20 12:09:18.768947 Event: Caller handler : Ready
-On: 2011-10-20 12:09:18.768988 Event: init Receiver
-On: 2011-10-20 12:09:18.769009 Event: GSMRZ3
-On: 2011-10-20 12:09:40.794838 Event: Connected to Receiver Handler
-On: 2011-10-20 12:09:40.814910 Event: Receiver Handler respond
-On: 2011-10-20 12:09:40.825635 Event: Receiver handler : Ready
-On: 2011-10-20 12:09:40.825691 Event: Start Call
-On: 2011-10-20 12:09:40.825783 Event: Waiting Feedback
-On: 2011-10-20 12:09:55.825971 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:10:53.482082 ------------------
-On: 2011-10-20 12:10:53.482160 Event: init Caller
-On: 2011-10-20 12:10:53.482185 Event: GSMRZ2
-On: 2011-10-20 12:10:57.496102 Event: Connected to Caller Handler
-On: 2011-10-20 12:10:57.517155 Event: Caller Handler respond
-On: 2011-10-20 12:10:57.529010 Event: Caller handler : Ready
-On: 2011-10-20 12:10:57.529078 Event: init Receiver
-On: 2011-10-20 12:10:57.529099 Event: GSMRZ3
-On: 2011-10-20 12:11:19.554025 Event: Connected to Receiver Handler
-On: 2011-10-20 12:11:19.571054 Event: Receiver Handler respond
-On: 2011-10-20 12:11:19.580995 Event: Receiver handler : Ready
-On: 2011-10-20 12:11:19.581032 Event: Start Call
-On: 2011-10-20 12:11:19.581090 Event: Waiting Feedback
-On: 2011-10-20 12:11:34.581304 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:20:04.023329 ------------------
-On: 2011-10-20 12:20:04.023407 Event: init Caller
-On: 2011-10-20 12:20:04.023433 Event: GSMRZ2
-On: 2011-10-20 12:20:08.040402 Event: Connected to Caller Handler
-On: 2011-10-20 12:20:08.049007 Event: Caller Handler respond
-On: 2011-10-20 12:20:08.051328 Event: Caller handler : Ready
-On: 2011-10-20 12:20:08.051365 Event: init Receiver
-On: 2011-10-20 12:20:08.051387 Event: GSMRZ3
-On: 2011-10-20 12:20:30.070354 Event: Connected to Receiver Handler
-On: 2011-10-20 12:20:30.078430 Event: Receiver Handler respond
-On: 2011-10-20 12:20:30.081881 Event: Receiver handler : Ready
-On: 2011-10-20 12:20:30.081947 Event: Start Call
-On: 2011-10-20 12:20:30.082015 Event: Waiting Feedback
-On: 2011-10-20 12:20:45.082255 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:22:45.596509 ------------------
-On: 2011-10-20 12:22:45.596589 Event: init Caller
-On: 2011-10-20 12:22:45.596615 Event: GSMRZ2
-On: 2011-10-20 12:22:50.604653 Event: Connected to Caller Handler
-On: 2011-10-20 12:22:50.612394 Event: Caller Handler respond
-On: 2011-10-20 12:22:50.614769 Event: Caller handler : Ready
-On: 2011-10-20 12:22:53.618471 Event: Cannt connect to Receiver
-On: 2011-10-20 12:22:53.618523 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:24:16.865396 ------------------
-On: 2011-10-20 12:24:16.865476 Event: init Caller
-On: 2011-10-20 12:24:16.865502 Event: GSMRZ2
-On: 2011-10-20 12:24:23.875671 Event: Connected to Caller Handler
-On: 2011-10-20 12:24:23.883315 Event: Caller Handler respond
-On: 2011-10-20 12:24:23.886590 Event: Caller handler : Ready
-On: 2011-10-20 12:24:23.886650 Event: init Receiver
-On: 2011-10-20 12:24:23.886674 Event: GSMRZ3
-On: 2011-10-20 12:24:30.895387 Event: Connected to Receiver Handler
-On: 2011-10-20 12:24:30.904337 Event: Receiver Handler respond
-On: 2011-10-20 12:24:30.906886 Event: Receiver handler : Ready
-On: 2011-10-20 12:24:30.906942 Event: Start Call
-On: 2011-10-20 12:24:30.907009 Event: Waiting Feedback
-On: 2011-10-20 12:24:35.331995 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:25:32.486985 ------------------
-On: 2011-10-20 12:25:32.487059 Event: init Caller
-On: 2011-10-20 12:25:32.487083 Event: GSMRZ2
-On: 2011-10-20 12:25:39.495585 Event: Connected to Caller Handler
-On: 2011-10-20 12:25:39.503455 Event: Caller Handler respond
-On: 2011-10-20 12:25:39.506642 Event: Caller handler : Ready
-On: 2011-10-20 12:25:39.506686 Event: init Receiver
-On: 2011-10-20 12:25:39.506707 Event: GSMRZ3
-On: 2011-10-20 12:25:46.516488 Event: Connected to Receiver Handler
-On: 2011-10-20 12:25:46.523684 Event: Receiver Handler respond
-On: 2011-10-20 12:25:46.525975 Event: Receiver handler : Ready
-On: 2011-10-20 12:25:46.526030 Event: Start Call
-On: 2011-10-20 12:25:46.526094 Event: Waiting Feedback
-On: 2011-10-20 12:25:51.952660 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:27:55.960653 ------------------
-On: 2011-10-20 12:27:55.960730 Event: init Caller
-On: 2011-10-20 12:27:55.960754 Event: unisip
-On: 2011-10-20 12:27:57.965779 Event: Connected to Caller Handler
-On: 2011-10-20 12:27:57.966188 Event: Caller Handler respond
-On: 2011-10-20 12:27:57.967325 Event: Caller handler : Ready
-On: 2011-10-20 12:27:57.967366 Event: init Receiver
-On: 2011-10-20 12:27:57.967387 Event: GSMRZ1
-On: 2011-10-20 12:27:59.970656 Event: Connected to Receiver Handler
-On: 2011-10-20 12:27:59.970936 Event: Receiver Handler respond
-On: 2011-10-20 12:27:59.971115 Event: Receiver handler : Ready
-On: 2011-10-20 12:27:59.971143 Event: Start Call
-On: 2011-10-20 12:27:59.971195 Event: Waiting Feedback
-On: 2011-10-20 12:28:14.971357 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:02.720324 ------------------
-On: 2011-10-20 12:30:02.720401 Event: init Caller
-On: 2011-10-20 12:30:02.720426 Event: unisip
-On: 2011-10-20 12:30:04.725627 Event: Connected to Caller Handler
-On: 2011-10-20 12:30:04.725989 Event: Caller Handler respond
-On: 2011-10-20 12:30:04.727094 Event: Caller handler : Ready
-On: 2011-10-20 12:30:04.727133 Event: init Receiver
-On: 2011-10-20 12:30:04.727155 Event: GSMRZ2
-On: 2011-10-20 12:30:11.735455 Event: Connected to Receiver Handler
-On: 2011-10-20 12:30:11.742413 Event: Receiver Handler respond
-On: 2011-10-20 12:30:11.745414 Event: Receiver handler : Ready
-On: 2011-10-20 12:30:11.745479 Event: Start Call
-On: 2011-10-20 12:30:11.745548 Event: Waiting Feedback
-On: 2011-10-20 12:30:26.745741 Event: Test Failed
-On: 2011-10-20 12:30:30.792210 Event:
-On: 2011-10-20 12:30:30.792270 Event: init Caller
-On: 2011-10-20 12:30:30.792290 Event: GSMRZ1
-On: 2011-10-20 12:30:32.797371 Event: Connected to Caller Handler
-On: 2011-10-20 12:30:32.797642 Event: Caller Handler respond
-On: 2011-10-20 12:30:32.797878 Event: Caller handler : Ready
-On: 2011-10-20 12:30:32.797906 Event: init Receiver
-On: 2011-10-20 12:30:32.797925 Event: GSMExt.Eplus
-On: 2011-10-20 12:30:34.803166 Event: Connected to Receiver Handler
-On: 2011-10-20 12:30:34.803448 Event: Receiver Handler respond
-On: 2011-10-20 12:30:34.803629 Event: Receiver handler : Ready
-On: 2011-10-20 12:30:34.803658 Event: Start Call
-On: 2011-10-20 12:30:34.809742 Event: Waiting Feedback
-On: 2011-10-20 12:30:49.809940 Event: Test Succeed
-On: 2011-10-20 12:30:53.911984 Event:
-On: 2011-10-20 12:30:53.912047 Event: init Caller
-On: 2011-10-20 12:30:53.912068 Event: landline
-On: 2011-10-20 12:30:55.916898 Event: Connected to Caller Handler
-On: 2011-10-20 12:30:55.917282 Event: Caller Handler respond
-On: 2011-10-20 12:30:55.922337 Event: Caller handler : Ready
-On: 2011-10-20 12:30:55.922379 Event: init Receiver
-On: 2011-10-20 12:30:55.922400 Event: GSMRZ3
-On: 2011-10-20 12:31:02.930267 Event: Connected to Receiver Handler
-On: 2011-10-20 12:31:02.937643 Event: Receiver Handler respond
-On: 2011-10-20 12:31:02.939868 Event: Receiver handler : Ready
-On: 2011-10-20 12:31:02.939905 Event: Start Call
-On: 2011-10-20 12:31:02.939963 Event: Waiting Feedback
-On: 2011-10-20 12:31:32.940213 Event: Test Failed
-On: 2011-10-20 12:31:36.984755 Event:
-On: 2011-10-20 12:31:36.984815 Event: init Caller
-On: 2011-10-20 12:31:36.984835 Event: sip
-On: 2011-10-20 12:31:38.989651 Event: Connected to Caller Handler
-On: 2011-10-20 12:31:38.990084 Event: Caller Handler respond
-On: 2011-10-20 12:31:38.990851 Event: Caller handler : Ready
-On: 2011-10-20 12:31:38.990890 Event: init Receiver
-On: 2011-10-20 12:31:38.990911 Event: GSMExt.O2
-On: 2011-10-20 12:31:40.995252 Event: Connected to Receiver Handler
-On: 2011-10-20 12:31:40.995529 Event: Receiver Handler respond
-On: 2011-10-20 12:31:40.995702 Event: Receiver handler : Ready
-On: 2011-10-20 12:31:40.995726 Event: Start Call
-On: 2011-10-20 12:31:40.995779 Event: Waiting Feedback
-On: 2011-10-20 12:31:55.995937 Event: Test Succeed
-On: 2011-10-20 12:32:00.072154 Event:
-On: 2011-10-20 12:32:00.072218 Event: init Caller
-On: 2011-10-20 12:32:00.072238 Event: sip
-On: 2011-10-20 12:32:02.081621 Event: Connected to Caller Handler
-On: 2011-10-20 12:32:02.082058 Event: Caller Handler respond
-On: 2011-10-20 12:32:02.082828 Event: Caller handler : Ready
-On: 2011-10-20 12:32:02.082866 Event: init Receiver
-On: 2011-10-20 12:32:02.082888 Event: GSMExt.Tm
-On: 2011-10-20 12:32:04.086640 Event: Connected to Receiver Handler
-On: 2011-10-20 12:32:04.086916 Event: Receiver Handler respond
-On: 2011-10-20 12:32:04.087095 Event: Receiver handler : Ready
-On: 2011-10-20 12:32:04.087120 Event: Start Call
-On: 2011-10-20 12:32:04.087175 Event: Waiting Feedback
-On: 2011-10-20 12:32:19.087330 Event: Test Succeed
-On: 2011-10-20 12:32:23.165092 Event:
-On: 2011-10-20 12:32:23.165150 Event: init Caller
-On: 2011-10-20 12:32:23.165171 Event: sip
-On: 2011-10-20 12:32:25.171310 Event: Connected to Caller Handler
-On: 2011-10-20 12:32:25.171699 Event: Caller Handler respond
-On: 2011-10-20 12:32:25.172684 Event: Caller handler : Ready
-On: 2011-10-20 12:32:25.172721 Event: init Receiver
-On: 2011-10-20 12:32:25.172743 Event: GSMExt.Voda
-On: 2011-10-20 12:32:27.178161 Event: Connected to Receiver Handler
-On: 2011-10-20 12:32:27.178441 Event: Receiver Handler respond
-On: 2011-10-20 12:32:27.178623 Event: Receiver handler : Ready
-On: 2011-10-20 12:32:27.178652 Event: Start Call
-On: 2011-10-20 12:32:27.178706 Event: Waiting Feedback
-On: 2011-10-20 12:32:42.178863 Event: Test Succeed
-On: 2011-10-20 12:32:46.236638 Event:
-On: 2011-10-20 12:32:46.236698 Event: init Caller
-On: 2011-10-20 12:32:46.236719 Event: sip
-On: 2011-10-20 12:32:48.241499 Event: Connected to Caller Handler
-On: 2011-10-20 12:32:48.241935 Event: Caller Handler respond
-On: 2011-10-20 12:32:48.242705 Event: Caller handler : Ready
-On: 2011-10-20 12:32:48.242743 Event: init Receiver
-On: 2011-10-20 12:32:48.242764 Event: GSMRZ2
-On: 2011-10-20 12:32:55.251324 Event: Connected to Receiver Handler
-On: 2011-10-20 12:32:55.258643 Event: Receiver Handler respond
-On: 2011-10-20 12:32:55.261654 Event: Receiver handler : Ready
-On: 2011-10-20 12:32:55.261697 Event: Start Call
-On: 2011-10-20 12:32:55.261807 Event: Waiting Feedback
-On: 2011-10-20 12:33:10.261985 Event: Test Failed
-On: 2011-10-20 12:33:14.298560 Event:
-On: 2011-10-20 12:33:14.298618 Event: init Caller
-On: 2011-10-20 12:33:14.298638 Event: sip
-On: 2011-10-20 12:33:16.303377 Event: Connected to Caller Handler
-On: 2011-10-20 12:33:16.303767 Event: Caller Handler respond
-On: 2011-10-20 12:33:16.304541 Event: Caller handler : Ready
-On: 2011-10-20 12:33:16.304578 Event: init Receiver
-On: 2011-10-20 12:33:16.304599 Event: GSMRZ3
-On: 2011-10-20 12:33:23.314296 Event: Connected to Receiver Handler
-On: 2011-10-20 12:33:23.321115 Event: Receiver Handler respond
-On: 2011-10-20 12:33:23.324315 Event: Receiver handler : Ready
-On: 2011-10-20 12:33:23.324363 Event: Start Call
-On: 2011-10-20 12:33:23.324503 Event: Waiting Feedback
-On: 2011-10-20 12:33:38.324684 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:40:01.256931 ------------------
-On: 2011-10-20 12:40:01.257006 Event: init Caller
-On: 2011-10-20 12:40:01.257029 Event: unisip
-On: 2011-10-20 12:40:03.262174 Event: Connected to Caller Handler
-On: 2011-10-20 12:40:03.262483 Event: Caller Handler respond
-On: 2011-10-20 12:40:03.263248 Event: Caller handler : Ready
-On: 2011-10-20 12:40:03.263288 Event: init Receiver
-On: 2011-10-20 12:40:03.263309 Event: GSMRZ2
-On: 2011-10-20 12:40:10.271341 Event: Connected to Receiver Handler
-On: 2011-10-20 12:40:10.278595 Event: Receiver Handler respond
-On: 2011-10-20 12:40:10.281335 Event: Receiver handler : Ready
-On: 2011-10-20 12:40:10.281401 Event: Start Call
-On: 2011-10-20 12:40:10.281470 Event: Waiting Feedback
-On: 2011-10-20 12:40:25.281645 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:10.171522 ------------------
-On: 2011-10-20 12:41:10.171595 Event: init Caller
-On: 2011-10-20 12:41:10.171619 Event: unisip
-On: 2011-10-20 12:41:12.176855 Event: Connected to Caller Handler
-On: 2011-10-20 12:41:12.178028 Event: Caller Handler respond
-On: 2011-10-20 12:41:12.179193 Event: Caller handler : Ready
-On: 2011-10-20 12:41:12.179232 Event: init Receiver
-On: 2011-10-20 12:41:12.179253 Event: GSMRZ3
-On: 2011-10-20 12:41:19.186584 Event: Connected to Receiver Handler
-On: 2011-10-20 12:41:19.195176 Event: Receiver Handler respond
-On: 2011-10-20 12:41:19.197986 Event: Receiver handler : Ready
-On: 2011-10-20 12:41:19.198042 Event: Start Call
-On: 2011-10-20 12:41:19.198111 Event: Waiting Feedback
-On: 2011-10-20 12:41:34.198284 Event: Test Failed
-On: 2011-10-20 12:41:38.314766 Event:
-On: 2011-10-20 12:41:38.314828 Event: init Caller
-On: 2011-10-20 12:41:38.314847 Event: GSMRZ1
-On: 2011-10-20 12:41:40.320641 Event: Connected to Caller Handler
-On: 2011-10-20 12:41:40.320920 Event: Caller Handler respond
-On: 2011-10-20 12:41:40.321107 Event: Caller handler : Ready
-On: 2011-10-20 12:41:40.321136 Event: init Receiver
-On: 2011-10-20 12:41:40.321154 Event: GSMRZ2
-On: 2011-10-20 12:41:47.330328 Event: Connected to Receiver Handler
-On: 2011-10-20 12:41:47.338314 Event: Receiver Handler respond
-On: 2011-10-20 12:41:47.340759 Event: Receiver handler : Ready
-On: 2011-10-20 12:41:47.340824 Event: Start Call
-On: 2011-10-20 12:41:47.340897 Event: Waiting Feedback
-On: 2011-10-20 12:41:52.017857 Event: Test Succeed
-On: 2011-10-20 12:41:56.095356 Event:
-On: 2011-10-20 12:41:56.095416 Event: init Caller
-On: 2011-10-20 12:41:56.095436 Event: landline
-On: 2011-10-20 12:41:58.098514 Event: Connected to Caller Handler
-On: 2011-10-20 12:41:58.098800 Event: Caller Handler respond
-On: 2011-10-20 12:41:58.101426 Event: Caller handler : Ready
-On: 2011-10-20 12:41:58.101465 Event: init Receiver
-On: 2011-10-20 12:41:58.101486 Event: GSMRZ2
-On: 2011-10-20 12:42:05.113788 Event: Connected to Receiver Handler
-On: 2011-10-20 12:42:05.122067 Event: Receiver Handler respond
-On: 2011-10-20 12:42:05.124439 Event: Receiver handler : Ready
-On: 2011-10-20 12:42:05.124507 Event: Start Call
-On: 2011-10-20 12:42:05.124579 Event: Waiting Feedback
-On: 2011-10-20 12:42:35.124822 Event: Test Failed
-On: 2011-10-20 12:42:39.162759 Event:
-On: 2011-10-20 12:42:39.162818 Event: init Caller
-On: 2011-10-20 12:42:39.162838 Event: GSMRZ2
-On: 2011-10-20 12:42:46.172770 Event: Connected to Caller Handler
-On: 2011-10-20 12:42:46.179251 Event: Caller Handler respond
-On: 2011-10-20 12:42:46.181468 Event: Caller handler : Ready
-On: 2011-10-20 12:42:46.181502 Event: init Receiver
-On: 2011-10-20 12:42:46.181525 Event: sip
-On: 2011-10-20 12:42:48.185438 Event: Connected to Receiver Handler
-On: 2011-10-20 12:42:48.186006 Event: Receiver Handler respond
-On: 2011-10-20 12:42:48.186816 Event: Receiver handler : Ready
-On: 2011-10-20 12:42:48.186855 Event: Start Call
-On: 2011-10-20 12:42:48.187017 Event: Waiting Feedback
-On: 2011-10-20 12:42:51.732161 Event: Test Succeed
-On: 2011-10-20 12:42:55.774487 Event:
-On: 2011-10-20 12:42:55.774544 Event: init Caller
-On: 2011-10-20 12:42:55.774564 Event: sip
-On: 2011-10-20 12:42:57.778196 Event: Connected to Caller Handler
-On: 2011-10-20 12:42:57.778582 Event: Caller Handler respond
-On: 2011-10-20 12:42:57.779656 Event: Caller handler : Ready
-On: 2011-10-20 12:42:57.779691 Event: init Receiver
-On: 2011-10-20 12:42:57.779712 Event: GSMExt.Eplus
-On: 2011-10-20 12:42:59.785135 Event: Connected to Receiver Handler
-On: 2011-10-20 12:42:59.785412 Event: Receiver Handler respond
-On: 2011-10-20 12:42:59.785589 Event: Receiver handler : Ready
-On: 2011-10-20 12:42:59.785618 Event: Start Call
-On: 2011-10-20 12:42:59.785671 Event: Waiting Feedback
-On: 2011-10-20 12:43:14.785839 Event: Test Succeed
-On: 2011-10-20 12:43:18.867325 Event:
-On: 2011-10-20 12:43:18.867387 Event: init Caller
-On: 2011-10-20 12:43:18.867407 Event: sip
-On: 2011-10-20 12:43:20.873539 Event: Connected to Caller Handler
-On: 2011-10-20 12:43:20.873974 Event: Caller Handler respond
-On: 2011-10-20 12:43:20.875066 Event: Caller handler : Ready
-On: 2011-10-20 12:43:20.875104 Event: init Receiver
-On: 2011-10-20 12:43:20.875125 Event: GSMExt.O2
-On: 2011-10-20 12:43:22.878607 Event: Connected to Receiver Handler
-On: 2011-10-20 12:43:22.878888 Event: Receiver Handler respond
-On: 2011-10-20 12:43:22.879068 Event: Receiver handler : Ready
-On: 2011-10-20 12:43:22.879096 Event: Start Call
-On: 2011-10-20 12:43:22.879151 Event: Waiting Feedback
-On: 2011-10-20 12:43:37.879306 Event: Test Succeed
-On: 2011-10-20 12:43:41.956557 Event:
-On: 2011-10-20 12:43:41.956621 Event: init Caller
-On: 2011-10-20 12:43:41.956641 Event: sip
-On: 2011-10-20 12:43:43.962396 Event: Connected to Caller Handler
-On: 2011-10-20 12:43:43.962786 Event: Caller Handler respond
-On: 2011-10-20 12:43:43.963546 Event: Caller handler : Ready
-On: 2011-10-20 12:43:43.963583 Event: init Receiver
-On: 2011-10-20 12:43:43.963604 Event: GSMExt.Tm
-On: 2011-10-20 12:43:45.968849 Event: Connected to Receiver Handler
-On: 2011-10-20 12:43:45.969130 Event: Receiver Handler respond
-On: 2011-10-20 12:43:45.969311 Event: Receiver handler : Ready
-On: 2011-10-20 12:43:45.969339 Event: Start Call
-On: 2011-10-20 12:43:45.969391 Event: Waiting Feedback
-On: 2011-10-20 12:44:00.969547 Event: Test Succeed
-On: 2011-10-20 12:44:05.049945 Event:
-On: 2011-10-20 12:44:05.050010 Event: init Caller
-On: 2011-10-20 12:44:05.050030 Event: sip
-On: 2011-10-20 12:44:07.055099 Event: Connected to Caller Handler
-On: 2011-10-20 12:44:07.055491 Event: Caller Handler respond
-On: 2011-10-20 12:44:07.056262 Event: Caller handler : Ready
-On: 2011-10-20 12:44:07.056300 Event: init Receiver
-On: 2011-10-20 12:44:07.056320 Event: GSMExt.Voda
-On: 2011-10-20 12:44:09.061624 Event: Connected to Receiver Handler
-On: 2011-10-20 12:44:09.061964 Event: Receiver Handler respond
-On: 2011-10-20 12:44:09.062153 Event: Receiver handler : Ready
-On: 2011-10-20 12:44:09.062181 Event: Start Call
-On: 2011-10-20 12:44:09.062235 Event: Waiting Feedback
-On: 2011-10-20 12:44:24.062392 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:48:49.850201 ------------------
-On: 2011-10-20 12:48:49.850278 Event: init Caller
-On: 2011-10-20 12:48:49.850302 Event: unisip
-On: 2011-10-20 12:48:51.855388 Event: Connected to Caller Handler
-On: 2011-10-20 12:48:51.855787 Event: Caller Handler respond
-On: 2011-10-20 12:48:51.856559 Event: Caller handler : Ready
-On: 2011-10-20 12:48:51.856599 Event: init Receiver
-On: 2011-10-20 12:48:51.856621 Event: GSMRZ3
-On: 2011-10-20 12:48:58.866387 Event: Connected to Receiver Handler
-On: 2011-10-20 12:48:58.874163 Event: Receiver Handler respond
-On: 2011-10-20 12:48:58.877506 Event: Receiver handler : Ready
-On: 2011-10-20 12:48:58.877555 Event: Start Call
-On: 2011-10-20 12:48:58.877617 Event: Waiting Feedback
-On: 2011-10-20 12:49:13.877812 Event: Test Failed
-On: 2011-10-20 12:49:17.923678 Event:
-On: 2011-10-20 12:49:17.923738 Event: init Caller
-On: 2011-10-20 12:49:17.923759 Event: GSMRZ1
-On: 2011-10-20 12:49:19.928920 Event: Connected to Caller Handler
-On: 2011-10-20 12:49:19.929194 Event: Caller Handler respond
-On: 2011-10-20 12:49:19.929384 Event: Caller handler : Ready
-On: 2011-10-20 12:49:19.929412 Event: init Receiver
-On: 2011-10-20 12:49:19.929431 Event: GSMExt.Eplus
-On: 2011-10-20 12:49:21.934721 Event: Connected to Receiver Handler
-On: 2011-10-20 12:49:21.935001 Event: Receiver Handler respond
-On: 2011-10-20 12:49:21.935189 Event: Receiver handler : Ready
-On: 2011-10-20 12:49:21.935220 Event: Start Call
-On: 2011-10-20 12:49:21.937899 Event: Waiting Feedback
-On: 2011-10-20 12:49:36.938113 Event: Test Succeed
-On: 2011-10-20 12:49:41.019141 Event:
-On: 2011-10-20 12:49:41.019202 Event: init Caller
-On: 2011-10-20 12:49:41.019222 Event: landline
-On: 2011-10-20 12:49:43.022420 Event: Connected to Caller Handler
-On: 2011-10-20 12:49:43.022804 Event: Caller Handler respond
-On: 2011-10-20 12:49:43.025416 Event: Caller handler : Ready
-On: 2011-10-20 12:49:43.025452 Event: init Receiver
-On: 2011-10-20 12:49:43.025474 Event: GSMRZ2
-On: 2011-10-20 12:49:50.035321 Event: Connected to Receiver Handler
-On: 2011-10-20 12:49:50.042746 Event: Receiver Handler respond
-On: 2011-10-20 12:49:50.044867 Event: Receiver handler : Ready
-On: 2011-10-20 12:49:50.044902 Event: Start Call
-On: 2011-10-20 12:49:50.044961 Event: Waiting Feedback
-On: 2011-10-20 12:50:20.045217 Event: Test Failed
-On: 2011-10-20 12:50:24.083189 Event:
-On: 2011-10-20 12:50:24.083248 Event: init Caller
-On: 2011-10-20 12:50:24.083269 Event: GSMRZ2
-On: 2011-10-20 12:50:31.093054 Event: Connected to Caller Handler
-On: 2011-10-20 12:50:31.100277 Event: Caller Handler respond
-On: 2011-10-20 12:50:31.103201 Event: Caller handler : Ready
-On: 2011-10-20 12:50:31.103265 Event: init Receiver
-On: 2011-10-20 12:50:31.103289 Event: sip
-On: 2011-10-20 12:50:33.108733 Event: Connected to Receiver Handler
-On: 2011-10-20 12:50:33.109037 Event: Receiver Handler respond
-On: 2011-10-20 12:50:33.109820 Event: Receiver handler : Ready
-On: 2011-10-20 12:50:33.109862 Event: Start Call
-On: 2011-10-20 12:50:33.110287 Event: Waiting Feedback
-On: 2011-10-20 12:50:36.541303 Event: Test Succeed
-On: 2011-10-20 12:50:40.583842 Event:
-On: 2011-10-20 12:50:40.583900 Event: init Caller
-On: 2011-10-20 12:50:40.583920 Event: sip
-On: 2011-10-20 12:50:42.588830 Event: Connected to Caller Handler
-On: 2011-10-20 12:50:42.589212 Event: Caller Handler respond
-On: 2011-10-20 12:50:42.590178 Event: Caller handler : Ready
-On: 2011-10-20 12:50:42.590212 Event: init Receiver
-On: 2011-10-20 12:50:42.590234 Event: GSMExt.O2
-On: 2011-10-20 12:50:44.594731 Event: Connected to Receiver Handler
-On: 2011-10-20 12:50:44.595020 Event: Receiver Handler respond
-On: 2011-10-20 12:50:44.595208 Event: Receiver handler : Ready
-On: 2011-10-20 12:50:44.595238 Event: Start Call
-On: 2011-10-20 12:50:44.595293 Event: Waiting Feedback
-On: 2011-10-20 12:50:59.595461 Event: Test Succeed
-On: 2011-10-20 12:51:03.672075 Event:
-On: 2011-10-20 12:51:03.672139 Event: init Caller
-On: 2011-10-20 12:51:03.672159 Event: sip
-On: 2011-10-20 12:51:05.678434 Event: Connected to Caller Handler
-On: 2011-10-20 12:51:05.678732 Event: Caller Handler respond
-On: 2011-10-20 12:51:05.679606 Event: Caller handler : Ready
-On: 2011-10-20 12:51:05.679644 Event: init Receiver
-On: 2011-10-20 12:51:05.679666 Event: GSMExt.Tm
-On: 2011-10-20 12:51:07.684904 Event: Connected to Receiver Handler
-On: 2011-10-20 12:51:07.685186 Event: Receiver Handler respond
-On: 2011-10-20 12:51:07.685366 Event: Receiver handler : Ready
-On: 2011-10-20 12:51:07.685396 Event: Start Call
-On: 2011-10-20 12:51:07.685450 Event: Waiting Feedback
-On: 2011-10-20 12:51:22.685607 Event: Test Succeed
-On: 2011-10-20 12:51:26.760388 Event:
-On: 2011-10-20 12:51:26.760452 Event: init Caller
-On: 2011-10-20 12:51:26.760471 Event: sip
-On: 2011-10-20 12:51:28.771161 Event: Connected to Caller Handler
-On: 2011-10-20 12:51:28.771553 Event: Caller Handler respond
-On: 2011-10-20 12:51:28.772326 Event: Caller handler : Ready
-On: 2011-10-20 12:51:28.772363 Event: init Receiver
-On: 2011-10-20 12:51:28.772385 Event: GSMExt.Voda
-On: 2011-10-20 12:51:30.777650 Event: Connected to Receiver Handler
-On: 2011-10-20 12:51:30.777988 Event: Receiver Handler respond
-On: 2011-10-20 12:51:30.778173 Event: Receiver handler : Ready
-On: 2011-10-20 12:51:30.778203 Event: Start Call
-On: 2011-10-20 12:51:30.778256 Event: Waiting Feedback
-On: 2011-10-20 12:51:45.778414 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:55:31.142452 ------------------
-On: 2011-10-20 12:55:31.142577 Event: init Caller
-On: 2011-10-20 12:55:31.142603 Event: unisip
-On: 2011-10-20 12:55:33.148757 Event: Connected to Caller Handler
-On: 2011-10-20 12:55:33.149068 Event: Caller Handler respond
-On: 2011-10-20 12:55:33.149817 Event: Caller handler : Ready
-On: 2011-10-20 12:55:33.149858 Event: init Receiver
-On: 2011-10-20 12:55:33.149881 Event: GSMRZ1
-On: 2011-10-20 12:55:35.154665 Event: Connected to Receiver Handler
-On: 2011-10-20 12:55:35.154942 Event: Receiver Handler respond
-On: 2011-10-20 12:55:35.155124 Event: Receiver handler : Ready
-On: 2011-10-20 12:55:35.155155 Event: Start Call
-On: 2011-10-20 12:55:35.155206 Event: Waiting Feedback
-On: 2011-10-20 12:55:50.155367 Event: Test Failed
-On: 2011-10-20 12:55:54.232178 Event:
-On: 2011-10-20 12:55:54.232242 Event: init Caller
-On: 2011-10-20 12:55:54.232262 Event: GSMRZ2
-On: 2011-10-20 12:56:01.243503 Event: Connected to Caller Handler
-On: 2011-10-20 12:56:01.251578 Event: Caller Handler respond
-On: 2011-10-20 12:56:01.253813 Event: Caller handler : Ready
-On: 2011-10-20 12:56:01.253851 Event: init Receiver
-On: 2011-10-20 12:56:01.253872 Event: GSMExt.Voda
-On: 2011-10-20 12:56:03.259119 Event: Connected to Receiver Handler
-On: 2011-10-20 12:56:03.259397 Event: Receiver Handler respond
-On: 2011-10-20 12:56:03.259575 Event: Receiver handler : Ready
-On: 2011-10-20 12:56:03.259605 Event: Start Call
-On: 2011-10-20 12:56:03.265817 Event: Waiting Feedback
-On: 2011-10-20 12:56:18.266020 Event: Test Succeed
-On: 2011-10-20 12:56:22.350167 Event:
-On: 2011-10-20 12:56:22.350228 Event: init Caller
-On: 2011-10-20 12:56:22.350247 Event: landline
-On: 2011-10-20 12:56:24.354410 Event: Connected to Caller Handler
-On: 2011-10-20 12:56:24.354793 Event: Caller Handler respond
-On: 2011-10-20 12:56:24.357351 Event: Caller handler : Ready
-On: 2011-10-20 12:56:24.357388 Event: init Receiver
-On: 2011-10-20 12:56:24.357409 Event: GSMRZ3
-On: 2011-10-20 12:56:31.367313 Event: Connected to Receiver Handler
-On: 2011-10-20 12:56:31.374671 Event: Receiver Handler respond
-On: 2011-10-20 12:56:31.377010 Event: Receiver handler : Ready
-On: 2011-10-20 12:56:31.377045 Event: Start Call
-On: 2011-10-20 12:56:31.377104 Event: Waiting Feedback
-On: 2011-10-20 12:57:01.377367 Event: Test Failed
-On: 2011-10-20 12:57:05.417064 Event:
-On: 2011-10-20 12:57:05.417126 Event: init Caller
-On: 2011-10-20 12:57:05.417146 Event: GSMRZ3
-On: 2011-10-20 12:57:12.426295 Event: Connected to Caller Handler
-On: 2011-10-20 12:57:12.433032 Event: Caller Handler respond
-On: 2011-10-20 12:57:12.436392 Event: Caller handler : Ready
-On: 2011-10-20 12:57:12.436438 Event: init Receiver
-On: 2011-10-20 12:57:12.436461 Event: sip
-On: 2011-10-20 12:57:14.441689 Event: Connected to Receiver Handler
-On: 2011-10-20 12:57:14.442032 Event: Receiver Handler respond
-On: 2011-10-20 12:57:14.442790 Event: Receiver handler : Ready
-On: 2011-10-20 12:57:14.442828 Event: Start Call
-On: 2011-10-20 12:57:14.443089 Event: Waiting Feedback
-On: 2011-10-20 12:57:17.897816 Event: Test Succeed
-On: 2011-10-20 12:57:21.939876 Event:
-On: 2011-10-20 12:57:21.939933 Event: init Caller
-On: 2011-10-20 12:57:21.939954 Event: sip
-On: 2011-10-20 12:57:23.943498 Event: Connected to Caller Handler
-On: 2011-10-20 12:57:23.943940 Event: Caller Handler respond
-On: 2011-10-20 12:57:23.944669 Event: Caller handler : Ready
-On: 2011-10-20 12:57:23.944708 Event: init Receiver
-On: 2011-10-20 12:57:23.944730 Event: GSMExt.Eplus
-On: 2011-10-20 12:57:25.950269 Event: Connected to Receiver Handler
-On: 2011-10-20 12:57:25.950553 Event: Receiver Handler respond
-On: 2011-10-20 12:57:25.950734 Event: Receiver handler : Ready
-On: 2011-10-20 12:57:25.950765 Event: Start Call
-On: 2011-10-20 12:57:25.950819 Event: Waiting Feedback
-On: 2011-10-20 12:57:40.950976 Event: Test Succeed
-On: 2011-10-20 12:57:45.030036 Event:
-On: 2011-10-20 12:57:45.030101 Event: init Caller
-On: 2011-10-20 12:57:45.030122 Event: sip
-On: 2011-10-20 12:57:47.035264 Event: Connected to Caller Handler
-On: 2011-10-20 12:57:47.035656 Event: Caller Handler respond
-On: 2011-10-20 12:57:47.036535 Event: Caller handler : Ready
-On: 2011-10-20 12:57:47.036574 Event: init Receiver
-On: 2011-10-20 12:57:47.036596 Event: GSMExt.O2
-On: 2011-10-20 12:57:49.042094 Event: Connected to Receiver Handler
-On: 2011-10-20 12:57:49.042394 Event: Receiver Handler respond
-On: 2011-10-20 12:57:49.042577 Event: Receiver handler : Ready
-On: 2011-10-20 12:57:49.042607 Event: Start Call
-On: 2011-10-20 12:57:49.042662 Event: Waiting Feedback
-On: 2011-10-20 12:58:04.042819 Event: Test Succeed
-On: 2011-10-20 12:58:08.120666 Event:
-On: 2011-10-20 12:58:08.120732 Event: init Caller
-On: 2011-10-20 12:58:08.120752 Event: sip
-On: 2011-10-20 12:58:10.126570 Event: Connected to Caller Handler
-On: 2011-10-20 12:58:10.126857 Event: Caller Handler respond
-On: 2011-10-20 12:58:10.127904 Event: Caller handler : Ready
-On: 2011-10-20 12:58:10.127959 Event: init Receiver
-On: 2011-10-20 12:58:10.127980 Event: GSMExt.Tm
-On: 2011-10-20 12:58:12.133753 Event: Connected to Receiver Handler
-On: 2011-10-20 12:58:12.134060 Event: Receiver Handler respond
-On: 2011-10-20 12:58:12.134241 Event: Receiver handler : Ready
-On: 2011-10-20 12:58:12.134272 Event: Start Call
-On: 2011-10-20 12:58:12.134324 Event: Waiting Feedback
-On: 2011-10-20 12:58:27.134483 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:04:47.963643 ------------------
-On: 2011-10-20 13:04:47.963724 Event: init Caller
-On: 2011-10-20 13:04:47.963748 Event: unisip
-On: 2011-10-20 13:04:49.968843 Event: Connected to Caller Handler
-On: 2011-10-20 13:04:49.969264 Event: Caller Handler respond
-On: 2011-10-20 13:04:49.970614 Event: Caller handler : Ready
-On: 2011-10-20 13:04:49.970655 Event: init Receiver
-On: 2011-10-20 13:04:49.970677 Event: GSMRZ2
-On: 2011-10-20 13:04:56.979366 Event: Connected to Receiver Handler
-On: 2011-10-20 13:04:56.987448 Event: Receiver Handler respond
-On: 2011-10-20 13:04:56.989741 Event: Receiver handler : Ready
-On: 2011-10-20 13:04:56.989787 Event: Start Call
-On: 2011-10-20 13:04:56.989850 Event: Waiting Feedback
-On: 2011-10-20 13:05:11.990033 Event: Test Failed
-On: 2011-10-20 13:05:16.038473 Event:
-On: 2011-10-20 13:05:16.038537 Event: init Caller
-On: 2011-10-20 13:05:16.038557 Event: GSMRZ1
-On: 2011-10-20 13:05:18.043632 Event: Connected to Caller Handler
-On: 2011-10-20 13:05:18.043911 Event: Caller Handler respond
-On: 2011-10-20 13:05:18.044097 Event: Caller handler : Ready
-On: 2011-10-20 13:05:18.044127 Event: init Receiver
-On: 2011-10-20 13:05:18.044147 Event: GSMExt.Eplus
-On: 2011-10-20 13:05:20.049478 Event: Connected to Receiver Handler
-On: 2011-10-20 13:05:20.049814 Event: Receiver Handler respond
-On: 2011-10-20 13:05:20.050013 Event: Receiver handler : Ready
-On: 2011-10-20 13:05:20.050047 Event: Start Call
-On: 2011-10-20 13:05:20.057741 Event: Waiting Feedback
-On: 2011-10-20 13:05:35.057948 Event: Test Succeed
-On: 2011-10-20 13:05:39.138337 Event:
-On: 2011-10-20 13:05:39.138401 Event: init Caller
-On: 2011-10-20 13:05:39.138422 Event: landline
-On: 2011-10-20 13:05:41.143356 Event: Connected to Caller Handler
-On: 2011-10-20 13:05:41.143742 Event: Caller Handler respond
-On: 2011-10-20 13:05:41.146547 Event: Caller handler : Ready
-On: 2011-10-20 13:05:41.146586 Event: init Receiver
-On: 2011-10-20 13:05:41.146608 Event: GSMRZ3
-On: 2011-10-20 13:05:48.155320 Event: Connected to Receiver Handler
-On: 2011-10-20 13:05:48.163139 Event: Receiver Handler respond
-On: 2011-10-20 13:05:48.165672 Event: Receiver handler : Ready
-On: 2011-10-20 13:05:48.165735 Event: Start Call
-On: 2011-10-20 13:05:48.165802 Event: Waiting Feedback
-On: 2011-10-20 13:06:18.166050 Event: Test Failed
-On: 2011-10-20 13:06:22.207831 Event:
-On: 2011-10-20 13:06:22.207894 Event: init Caller
-On: 2011-10-20 13:06:22.207914 Event: GSMRZ3
-On: 2011-10-20 13:06:29.217827 Event: Connected to Caller Handler
-On: 2011-10-20 13:06:29.226054 Event: Caller Handler respond
-On: 2011-10-20 13:06:29.228295 Event: Caller handler : Ready
-On: 2011-10-20 13:06:29.228329 Event: init Receiver
-On: 2011-10-20 13:06:29.228353 Event: sip
-On: 2011-10-20 13:06:31.232988 Event: Connected to Receiver Handler
-On: 2011-10-20 13:06:31.233384 Event: Receiver Handler respond
-On: 2011-10-20 13:06:31.234224 Event: Receiver handler : Ready
-On: 2011-10-20 13:06:31.234266 Event: Start Call
-On: 2011-10-20 13:06:31.234432 Event: Waiting Feedback
-On: 2011-10-20 13:06:35.248811 Event: Test Succeed
-On: 2011-10-20 13:06:39.291180 Event:
-On: 2011-10-20 13:06:39.291241 Event: init Caller
-On: 2011-10-20 13:06:39.291262 Event: sip
-On: 2011-10-20 13:06:41.296050 Event: Connected to Caller Handler
-On: 2011-10-20 13:06:41.296439 Event: Caller Handler respond
-On: 2011-10-20 13:06:41.297197 Event: Caller handler : Ready
-On: 2011-10-20 13:06:41.297235 Event: init Receiver
-On: 2011-10-20 13:06:41.297257 Event: GSMExt.O2
-On: 2011-10-20 13:06:43.302572 Event: Connected to Receiver Handler
-On: 2011-10-20 13:06:43.302860 Event: Receiver Handler respond
-On: 2011-10-20 13:06:43.303041 Event: Receiver handler : Ready
-On: 2011-10-20 13:06:43.303073 Event: Start Call
-On: 2011-10-20 13:06:43.303131 Event: Waiting Feedback
-On: 2011-10-20 13:06:58.303289 Event: Test Succeed
-On: 2011-10-20 13:07:02.378142 Event:
-On: 2011-10-20 13:07:02.378206 Event: init Caller
-On: 2011-10-20 13:07:02.378226 Event: sip
-On: 2011-10-20 13:07:04.386534 Event: Connected to Caller Handler
-On: 2011-10-20 13:07:04.386831 Event: Caller Handler respond
-On: 2011-10-20 13:07:04.387909 Event: Caller handler : Ready
-On: 2011-10-20 13:07:04.387947 Event: init Receiver
-On: 2011-10-20 13:07:04.387968 Event: GSMExt.Tm
-On: 2011-10-20 13:07:06.393275 Event: Connected to Receiver Handler
-On: 2011-10-20 13:07:06.393568 Event: Receiver Handler respond
-On: 2011-10-20 13:07:06.393800 Event: Receiver handler : Ready
-On: 2011-10-20 13:07:06.393833 Event: Start Call
-On: 2011-10-20 13:07:06.393895 Event: Waiting Feedback
-On: 2011-10-20 13:07:21.394053 Event: Test Succeed
-On: 2011-10-20 13:07:25.470146 Event:
-On: 2011-10-20 13:07:25.470213 Event: init Caller
-On: 2011-10-20 13:07:25.470233 Event: sip
-On: 2011-10-20 13:07:27.478345 Event: Connected to Caller Handler
-On: 2011-10-20 13:07:27.478743 Event: Caller Handler respond
-On: 2011-10-20 13:07:27.479512 Event: Caller handler : Ready
-On: 2011-10-20 13:07:27.479550 Event: init Receiver
-On: 2011-10-20 13:07:27.479572 Event: GSMExt.Voda
-On: 2011-10-20 13:07:29.484912 Event: Connected to Receiver Handler
-On: 2011-10-20 13:07:29.485210 Event: Receiver Handler respond
-On: 2011-10-20 13:07:29.485396 Event: Receiver handler : Ready
-On: 2011-10-20 13:07:29.485430 Event: Start Call
-On: 2011-10-20 13:07:29.485487 Event: Waiting Feedback
-On: 2011-10-20 13:07:44.485646 Event: Test Succeed
-On: 2011-10-20 13:07:48.545018 Event:
-On: 2011-10-20 13:07:48.545079 Event: init Caller
-On: 2011-10-20 13:07:48.545099 Event: sip
-On: 2011-10-20 13:07:50.560936 Event: Connected to Caller Handler
-On: 2011-10-20 13:07:50.561330 Event: Caller Handler respond
-On: 2011-10-20 13:07:50.562315 Event: Caller handler : Ready
-On: 2011-10-20 13:07:50.562355 Event: init Receiver
-On: 2011-10-20 13:07:50.562376 Event: GSMRZ2
-On: 2011-10-20 13:07:57.570255 Event: Connected to Receiver Handler
-On: 2011-10-20 13:07:57.577319 Event: Receiver Handler respond
-On: 2011-10-20 13:07:57.580004 Event: Receiver handler : Ready
-On: 2011-10-20 13:07:57.580062 Event: Start Call
-On: 2011-10-20 13:07:57.580134 Event: Waiting Feedback
-On: 2011-10-20 13:08:12.580321 Event: Test Failed
-On: 2011-10-20 13:08:16.617529 Event:
-On: 2011-10-20 13:08:16.617591 Event: init Caller
-On: 2011-10-20 13:08:16.617611 Event: sip
-On: 2011-10-20 13:08:18.622426 Event: Connected to Caller Handler
-On: 2011-10-20 13:08:18.622815 Event: Caller Handler respond
-On: 2011-10-20 13:08:18.623578 Event: Caller handler : Ready
-On: 2011-10-20 13:08:18.623612 Event: init Receiver
-On: 2011-10-20 13:08:18.623633 Event: GSMRZ3
-On: 2011-10-20 13:08:25.630267 Event: Connected to Receiver Handler
-On: 2011-10-20 13:08:25.638829 Event: Receiver Handler respond
-On: 2011-10-20 13:08:25.641274 Event: Receiver handler : Ready
-On: 2011-10-20 13:08:25.641312 Event: Start Call
-On: 2011-10-20 13:08:25.641373 Event: Waiting Feedback
-On: 2011-10-20 13:08:40.641552 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:15:50.870848 ------------------
-On: 2011-10-20 13:15:50.870923 Event: init Caller
-On: 2011-10-20 13:15:50.870947 Event: unisip
-On: 2011-10-20 13:15:52.876026 Event: Connected to Caller Handler
-On: 2011-10-20 13:15:52.876429 Event: Caller Handler respond
-On: 2011-10-20 13:15:52.877197 Event: Caller handler : Ready
-On: 2011-10-20 13:15:52.877230 Event: init Receiver
-On: 2011-10-20 13:15:52.877252 Event: GSMRZ1
-On: 2011-10-20 13:15:54.881488 Event: Connected to Receiver Handler
-On: 2011-10-20 13:15:54.881825 Event: Receiver Handler respond
-On: 2011-10-20 13:15:54.882048 Event: Receiver handler : Ready
-On: 2011-10-20 13:15:54.882080 Event: Start Call
-On: 2011-10-20 13:15:54.882136 Event: Waiting Feedback
-On: 2011-10-20 13:16:09.882293 Event: Test Failed
-On: 2011-10-20 13:16:13.961333 Event:
-On: 2011-10-20 13:16:13.961401 Event: init Caller
-On: 2011-10-20 13:16:13.961421 Event: GSMRZ2
-On: 2011-10-20 13:16:20.971505 Event: Connected to Caller Handler
-On: 2011-10-20 13:16:20.978850 Event: Caller Handler respond
-On: 2011-10-20 13:16:20.981070 Event: Caller handler : Ready
-On: 2011-10-20 13:16:20.981103 Event: init Receiver
-On: 2011-10-20 13:16:20.981124 Event: GSMExt.Voda
-On: 2011-10-20 13:16:22.986448 Event: Connected to Receiver Handler
-On: 2011-10-20 13:16:22.986727 Event: Receiver Handler respond
-On: 2011-10-20 13:16:22.986907 Event: Receiver handler : Ready
-On: 2011-10-20 13:16:22.986939 Event: Start Call
-On: 2011-10-20 13:16:22.989962 Event: Waiting Feedback
-On: 2011-10-20 13:16:37.990176 Event: Test Succeed
-On: 2011-10-20 13:16:42.070726 Event:
-On: 2011-10-20 13:16:42.070789 Event: init Caller
-On: 2011-10-20 13:16:42.070809 Event: landline
-On: 2011-10-20 13:16:44.077892 Event: Connected to Caller Handler
-On: 2011-10-20 13:16:44.078279 Event: Caller Handler respond
-On: 2011-10-20 13:16:44.081052 Event: Caller handler : Ready
-On: 2011-10-20 13:16:44.081089 Event: init Receiver
-On: 2011-10-20 13:16:44.081111 Event: GSMRZ3
-On: 2011-10-20 13:16:51.084914 Event: Connected to Receiver Handler
-On: 2011-10-20 13:16:51.093161 Event: Receiver Handler respond
-On: 2011-10-20 13:16:51.095548 Event: Receiver handler : Ready
-On: 2011-10-20 13:16:51.095606 Event: Start Call
-On: 2011-10-20 13:16:51.095675 Event: Waiting Feedback
-On: 2011-10-20 13:17:21.095942 Event: Test Failed
-On: 2011-10-20 13:17:25.135193 Event:
-On: 2011-10-20 13:17:25.135254 Event: init Caller
-On: 2011-10-20 13:17:25.135274 Event: GSMRZ3
-On: 2011-10-20 13:17:32.145132 Event: Connected to Caller Handler
-On: 2011-10-20 13:17:32.152995 Event: Caller Handler respond
-On: 2011-10-20 13:17:32.155246 Event: Caller handler : Ready
-On: 2011-10-20 13:17:32.155281 Event: init Receiver
-On: 2011-10-20 13:17:32.155304 Event: sip
-On: 2011-10-20 13:17:34.160357 Event: Connected to Receiver Handler
-On: 2011-10-20 13:17:34.160750 Event: Receiver Handler respond
-On: 2011-10-20 13:17:34.162015 Event: Receiver handler : Ready
-On: 2011-10-20 13:17:34.162062 Event: Start Call
-On: 2011-10-20 13:17:34.162222 Event: Waiting Feedback
-On: 2011-10-20 13:17:37.486333 Event: Test Succeed
-On: 2011-10-20 13:17:41.528098 Event:
-On: 2011-10-20 13:17:41.528154 Event: init Caller
-On: 2011-10-20 13:17:41.528174 Event: sip
-On: 2011-10-20 13:17:43.533036 Event: Connected to Caller Handler
-On: 2011-10-20 13:17:43.533422 Event: Caller Handler respond
-On: 2011-10-20 13:17:43.534406 Event: Caller handler : Ready
-On: 2011-10-20 13:17:43.534440 Event: init Receiver
-On: 2011-10-20 13:17:43.534461 Event: GSMExt.Eplus
-On: 2011-10-20 13:17:45.538889 Event: Connected to Receiver Handler
-On: 2011-10-20 13:17:45.539171 Event: Receiver Handler respond
-On: 2011-10-20 13:17:45.539351 Event: Receiver handler : Ready
-On: 2011-10-20 13:17:45.539381 Event: Start Call
-On: 2011-10-20 13:17:45.539433 Event: Waiting Feedback
-On: 2011-10-20 13:18:00.539588 Event: Test Succeed
-On: 2011-10-20 13:18:04.617080 Event:
-On: 2011-10-20 13:18:04.617145 Event: init Caller
-On: 2011-10-20 13:18:04.617165 Event: sip
-On: 2011-10-20 13:18:06.622695 Event: Connected to Caller Handler
-On: 2011-10-20 13:18:06.623083 Event: Caller Handler respond
-On: 2011-10-20 13:18:06.624164 Event: Caller handler : Ready
-On: 2011-10-20 13:18:06.624203 Event: init Receiver
-On: 2011-10-20 13:18:06.624224 Event: GSMExt.O2
-On: 2011-10-20 13:18:08.628930 Event: Connected to Receiver Handler
-On: 2011-10-20 13:18:08.629224 Event: Receiver Handler respond
-On: 2011-10-20 13:18:08.629513 Event: Receiver handler : Ready
-On: 2011-10-20 13:18:08.629548 Event: Start Call
-On: 2011-10-20 13:18:08.629614 Event: Waiting Feedback
-On: 2011-10-20 13:18:23.629782 Event: Test Succeed
-On: 2011-10-20 13:18:27.708224 Event:
-On: 2011-10-20 13:18:27.708287 Event: init Caller
-On: 2011-10-20 13:18:27.708307 Event: sip
-On: 2011-10-20 13:18:29.714305 Event: Connected to Caller Handler
-On: 2011-10-20 13:18:29.714693 Event: Caller Handler respond
-On: 2011-10-20 13:18:29.715750 Event: Caller handler : Ready
-On: 2011-10-20 13:18:29.715788 Event: init Receiver
-On: 2011-10-20 13:18:29.715810 Event: GSMExt.Tm
-On: 2011-10-20 13:18:31.722139 Event: Connected to Receiver Handler
-On: 2011-10-20 13:18:31.722648 Event: Receiver Handler respond
-On: 2011-10-20 13:18:31.722875 Event: Receiver handler : Ready
-On: 2011-10-20 13:18:31.722913 Event: Start Call
-On: 2011-10-20 13:18:31.725879 Event: Waiting Feedback
-On: 2011-10-20 13:18:46.726073 Event: Test Succeed
-On: 2011-10-20 13:18:50.804161 Event:
-On: 2011-10-20 13:18:50.804225 Event: init Caller
-On: 2011-10-20 13:18:50.804245 Event: sip
-On: 2011-10-20 13:18:52.810431 Event: Connected to Caller Handler
-On: 2011-10-20 13:18:52.810817 Event: Caller Handler respond
-On: 2011-10-20 13:18:52.811576 Event: Caller handler : Ready
-On: 2011-10-20 13:18:52.811613 Event: init Receiver
-On: 2011-10-20 13:18:52.811634 Event: GSMRZ1
-On: 2011-10-20 13:18:54.817163 Event: Connected to Receiver Handler
-On: 2011-10-20 13:18:54.817453 Event: Receiver Handler respond
-On: 2011-10-20 13:18:54.817631 Event: Receiver handler : Ready
-On: 2011-10-20 13:18:54.817661 Event: Start Call
-On: 2011-10-20 13:18:54.821843 Event: Waiting Feedback
-On: 2011-10-20 13:19:09.822054 Event: Test Failed
-On: 2011-10-20 13:19:13.884740 Event:
-On: 2011-10-20 13:19:13.884801 Event: init Caller
-On: 2011-10-20 13:19:13.884821 Event: sip
-On: 2011-10-20 13:19:15.899430 Event: Connected to Caller Handler
-On: 2011-10-20 13:19:15.899818 Event: Caller Handler respond
-On: 2011-10-20 13:19:15.900579 Event: Caller handler : Ready
-On: 2011-10-20 13:19:15.900617 Event: init Receiver
-On: 2011-10-20 13:19:15.900638 Event: GSMRZ3
-On: 2011-10-20 13:19:22.906262 Event: Connected to Receiver Handler
-On: 2011-10-20 13:19:22.914605 Event: Receiver Handler respond
-On: 2011-10-20 13:19:22.916798 Event: Receiver handler : Ready
-On: 2011-10-20 13:19:22.916835 Event: Start Call
-On: 2011-10-20 13:19:22.916893 Event: Waiting Feedback
-On: 2011-10-20 13:19:37.917070 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:33:34.578306 ------------------
-On: 2011-10-20 13:33:34.578385 Event: init Caller
-On: 2011-10-20 13:33:34.578410 Event: unisip
-On: 2011-10-20 13:33:36.588906 Event: Connected to Caller Handler
-On: 2011-10-20 13:33:36.589209 Event: Caller Handler respond
-On: 2011-10-20 13:33:36.590175 Event: Caller handler : Ready
-On: 2011-10-20 13:33:36.590211 Event: init Receiver
-On: 2011-10-20 13:33:36.590232 Event: GSMRZ3
-On: 2011-10-20 13:33:43.595195 Event: Connected to Receiver Handler
-On: 2011-10-20 13:33:43.603509 Event: Receiver Handler respond
-On: 2011-10-20 13:33:43.606274 Event: Receiver handler : Ready
-On: 2011-10-20 13:33:43.606331 Event: Start Call
-On: 2011-10-20 13:33:43.606396 Event: Waiting Feedback
-On: 2011-10-20 13:33:58.606612 Event: Test Failed
-On: 2011-10-20 13:34:02.653142 Event:
-On: 2011-10-20 13:34:02.653203 Event: init Caller
-On: 2011-10-20 13:34:02.653224 Event: GSMRZ1
-On: 2011-10-20 13:34:04.658369 Event: Connected to Caller Handler
-On: 2011-10-20 13:34:04.658648 Event: Caller Handler respond
-On: 2011-10-20 13:34:04.658834 Event: Caller handler : Ready
-On: 2011-10-20 13:34:04.658863 Event: init Receiver
-On: 2011-10-20 13:34:04.658882 Event: GSMExt.Eplus
-On: 2011-10-20 13:34:06.663987 Event: Connected to Receiver Handler
-On: 2011-10-20 13:34:06.664265 Event: Receiver Handler respond
-On: 2011-10-20 13:34:06.664444 Event: Receiver handler : Ready
-On: 2011-10-20 13:34:06.664472 Event: Start Call
-On: 2011-10-20 13:34:06.664524 Event: Waiting Feedback
-On: 2011-10-20 13:34:21.664718 Event: Test Succeed
-On: 2011-10-20 13:34:25.971820 Event:
-On: 2011-10-20 13:34:25.971882 Event: init Caller
-On: 2011-10-20 13:34:25.971902 Event: landline
-On: 2011-10-20 13:34:27.976755 Event: Connected to Caller Handler
-On: 2011-10-20 13:34:27.977137 Event: Caller Handler respond
-On: 2011-10-20 13:34:32.983892 Event: Caller handler : Ready
-On: 2011-10-20 13:34:32.983930 Event: init Receiver
-On: 2011-10-20 13:34:32.983951 Event: GSMRZ2
-On: 2011-10-20 13:34:39.993984 Event: Connected to Receiver Handler
-On: 2011-10-20 13:34:40.002020 Event: Receiver Handler respond
-On: 2011-10-20 13:34:40.004277 Event: Receiver handler : Ready
-On: 2011-10-20 13:34:40.004319 Event: Start Call
-On: 2011-10-20 13:34:40.004383 Event: Waiting Feedback
-On: 2011-10-20 13:35:10.004664 Event: Test Failed
-On: 2011-10-20 13:35:14.042850 Event:
-On: 2011-10-20 13:35:14.042911 Event: init Caller
-On: 2011-10-20 13:35:14.042932 Event: GSMRZ2
-On: 2011-10-20 13:35:21.050297 Event: Connected to Caller Handler
-On: 2011-10-20 13:35:21.058344 Event: Caller Handler respond
-On: 2011-10-20 13:35:21.060549 Event: Caller handler : Ready
-On: 2011-10-20 13:35:21.060584 Event: init Receiver
-On: 2011-10-20 13:35:21.060608 Event: sip
-On: 2011-10-20 13:35:23.065615 Event: Connected to Receiver Handler
-On: 2011-10-20 13:35:23.065962 Event: Receiver Handler respond
-On: 2011-10-20 13:35:23.066715 Event: Receiver handler : Ready
-On: 2011-10-20 13:35:23.066755 Event: Start Call
-On: 2011-10-20 13:35:23.067016 Event: Waiting Feedback
-On: 2011-10-20 13:35:26.502442 Event: Test Succeed
-On: 2011-10-20 13:35:30.544077 Event:
-On: 2011-10-20 13:35:30.544136 Event: init Caller
-On: 2011-10-20 13:35:30.544157 Event: sip
-On: 2011-10-20 13:35:32.549192 Event: Connected to Caller Handler
-On: 2011-10-20 13:35:32.549487 Event: Caller Handler respond
-On: 2011-10-20 13:35:32.550317 Event: Caller handler : Ready
-On: 2011-10-20 13:35:32.550356 Event: init Receiver
-On: 2011-10-20 13:35:32.550377 Event: GSMExt.O2
-On: 2011-10-20 13:35:34.554635 Event: Connected to Receiver Handler
-On: 2011-10-20 13:35:34.554922 Event: Receiver Handler respond
-On: 2011-10-20 13:35:34.555104 Event: Receiver handler : Ready
-On: 2011-10-20 13:35:34.555135 Event: Start Call
-On: 2011-10-20 13:35:34.555189 Event: Waiting Feedback
-On: 2011-10-20 13:35:49.555370 Event: Test Succeed
-On: 2011-10-20 13:35:53.631781 Event:
-On: 2011-10-20 13:35:53.631846 Event: init Caller
-On: 2011-10-20 13:35:53.631866 Event: sip
-On: 2011-10-20 13:35:55.638084 Event: Connected to Caller Handler
-On: 2011-10-20 13:35:55.638473 Event: Caller Handler respond
-On: 2011-10-20 13:35:55.639549 Event: Caller handler : Ready
-On: 2011-10-20 13:35:55.639583 Event: init Receiver
-On: 2011-10-20 13:35:55.639604 Event: GSMExt.Tm
-On: 2011-10-20 13:35:57.643115 Event: Connected to Receiver Handler
-On: 2011-10-20 13:35:57.643396 Event: Receiver Handler respond
-On: 2011-10-20 13:35:57.643597 Event: Receiver handler : Ready
-On: 2011-10-20 13:35:57.643624 Event: Start Call
-On: 2011-10-20 13:35:57.643680 Event: Waiting Feedback
-On: 2011-10-20 13:36:12.643864 Event: Test Succeed
-On: 2011-10-20 13:36:16.719382 Event:
-On: 2011-10-20 13:36:16.719445 Event: init Caller
-On: 2011-10-20 13:36:16.719465 Event: sip
-On: 2011-10-20 13:36:18.726536 Event: Connected to Caller Handler
-On: 2011-10-20 13:36:18.726822 Event: Caller Handler respond
-On: 2011-10-20 13:36:18.727561 Event: Caller handler : Ready
-On: 2011-10-20 13:36:18.727596 Event: init Receiver
-On: 2011-10-20 13:36:18.727617 Event: GSMExt.Voda
-On: 2011-10-20 13:36:20.732944 Event: Connected to Receiver Handler
-On: 2011-10-20 13:36:20.733225 Event: Receiver Handler respond
-On: 2011-10-20 13:36:20.733406 Event: Receiver handler : Ready
-On: 2011-10-20 13:36:20.733438 Event: Start Call
-On: 2011-10-20 13:36:20.733492 Event: Waiting Feedback
-On: 2011-10-20 13:36:35.733677 Event: Test Succeed
-On: 2011-10-20 13:36:39.793679 Event:
-On: 2011-10-20 13:36:39.793772 Event: init Caller
-On: 2011-10-20 13:36:39.793793 Event: sip
-On: 2011-10-20 13:36:41.809209 Event: Connected to Caller Handler
-On: 2011-10-20 13:36:41.809505 Event: Caller Handler respond
-On: 2011-10-20 13:36:41.810813 Event: Caller handler : Ready
-On: 2011-10-20 13:36:41.810850 Event: init Receiver
-On: 2011-10-20 13:36:41.810872 Event: GSMRZ3
-On: 2011-10-20 13:36:48.818674 Event: Connected to Receiver Handler
-On: 2011-10-20 13:36:48.826212 Event: Receiver Handler respond
-On: 2011-10-20 13:36:48.829315 Event: Receiver handler : Ready
-On: 2011-10-20 13:36:48.829371 Event: Start Call
-On: 2011-10-20 13:36:48.829438 Event: Waiting Feedback
-On: 2011-10-20 13:37:03.829682 Event: Test Failed
-On: 2011-10-20 13:37:07.883786 Event:
-On: 2011-10-20 13:37:07.883848 Event: init Caller
-On: 2011-10-20 13:37:07.883868 Event: sip
-On: 2011-10-20 13:37:09.888709 Event: Connected to Caller Handler
-On: 2011-10-20 13:37:09.889099 Event: Caller Handler respond
-On: 2011-10-20 13:37:09.890387 Event: Caller handler : Ready
-On: 2011-10-20 13:37:09.890424 Event: init Receiver
-On: 2011-10-20 13:37:09.890446 Event: GSMRZ2
-On: 2011-10-20 13:37:16.896565 Event: Connected to Receiver Handler
-On: 2011-10-20 13:37:16.904660 Event: Receiver Handler respond
-On: 2011-10-20 13:37:16.906936 Event: Receiver handler : Ready
-On: 2011-10-20 13:37:16.906990 Event: Start Call
-On: 2011-10-20 13:37:16.907059 Event: Waiting Feedback
-On: 2011-10-20 13:37:31.907267 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:51:31.086361 ------------------
-On: 2011-10-20 13:51:31.086445 Event: init Caller
-On: 2011-10-20 13:51:31.086470 Event: unisip
-On: 2011-10-20 13:51:33.091647 Event: Connected to Caller Handler
-On: 2011-10-20 13:51:33.091960 Event: Caller Handler respond
-On: 2011-10-20 13:51:33.092728 Event: Caller handler : Ready
-On: 2011-10-20 13:51:33.092768 Event: init Receiver
-On: 2011-10-20 13:51:33.092791 Event: GSMRZ2
-On: 2011-10-20 13:51:40.098304 Event: Connected to Receiver Handler
-On: 2011-10-20 13:51:40.105197 Event: Receiver Handler respond
-On: 2011-10-20 13:51:40.108058 Event: Receiver handler : Ready
-On: 2011-10-20 13:51:40.108108 Event: Start Call
-On: 2011-10-20 13:51:40.108172 Event: Waiting Feedback
-On: 2011-10-20 13:51:55.108381 Event: Test Failed
-On: 2011-10-20 13:51:59.154154 Event:
-On: 2011-10-20 13:51:59.154215 Event: init Caller
-On: 2011-10-20 13:51:59.154236 Event: GSMRZ1
-On: 2011-10-20 13:52:01.159313 Event: Connected to Caller Handler
-On: 2011-10-20 13:52:01.159590 Event: Caller Handler respond
-On: 2011-10-20 13:52:01.159780 Event: Caller handler : Ready
-On: 2011-10-20 13:52:01.159811 Event: init Receiver
-On: 2011-10-20 13:52:01.159831 Event: GSMExt.Voda
-On: 2011-10-20 13:52:03.165171 Event: Connected to Receiver Handler
-On: 2011-10-20 13:52:03.165451 Event: Receiver Handler respond
-On: 2011-10-20 13:52:03.165631 Event: Receiver handler : Ready
-On: 2011-10-20 13:52:03.165662 Event: Start Call
-On: 2011-10-20 13:52:03.173835 Event: Waiting Feedback
-On: 2011-10-20 13:52:18.174074 Event: Test Failed
-On: 2011-10-20 13:52:22.255772 Event:
-On: 2011-10-20 13:52:22.255834 Event: init Caller
-On: 2011-10-20 13:52:22.255855 Event: landline
-On: 2011-10-20 13:52:24.260802 Event: Connected to Caller Handler
-On: 2011-10-20 13:52:24.261207 Event: Caller Handler respond
-On: 2011-10-20 13:52:24.263885 Event: Caller handler : Ready
-On: 2011-10-20 13:52:24.263924 Event: init Receiver
-On: 2011-10-20 13:52:24.263946 Event: GSMRZ3
-On: 2011-10-20 13:52:31.270265 Event: Connected to Receiver Handler
-On: 2011-10-20 13:52:31.277224 Event: Receiver Handler respond
-On: 2011-10-20 13:52:31.279290 Event: Receiver handler : Ready
-On: 2011-10-20 13:52:31.279327 Event: Start Call
-On: 2011-10-20 13:52:31.279386 Event: Waiting Feedback
-On: 2011-10-20 13:53:01.279665 Event: Test Failed
-On: 2011-10-20 13:53:05.319791 Event:
-On: 2011-10-20 13:53:05.319851 Event: init Caller
-On: 2011-10-20 13:53:05.319872 Event: GSMRZ3
-On: 2011-10-20 13:53:12.326300 Event: Connected to Caller Handler
-On: 2011-10-20 13:53:12.333616 Event: Caller Handler respond
-On: 2011-10-20 13:53:12.335930 Event: Caller handler : Ready
-On: 2011-10-20 13:53:12.335968 Event: init Receiver
-On: 2011-10-20 13:53:12.335992 Event: sip
-On: 2011-10-20 13:53:14.341048 Event: Connected to Receiver Handler
-On: 2011-10-20 13:53:14.341446 Event: Receiver Handler respond
-On: 2011-10-20 13:53:14.342392 Event: Receiver handler : Ready
-On: 2011-10-20 13:53:14.342433 Event: Start Call
-On: 2011-10-20 13:53:14.342599 Event: Waiting Feedback
-On: 2011-10-20 13:53:17.667413 Event: Test Succeed
-On: 2011-10-20 13:53:21.709870 Event:
-On: 2011-10-20 13:53:21.709931 Event: init Caller
-On: 2011-10-20 13:53:21.709952 Event: sip
-On: 2011-10-20 13:53:23.714821 Event: Connected to Caller Handler
-On: 2011-10-20 13:53:23.715214 Event: Caller Handler respond
-On: 2011-10-20 13:53:23.715979 Event: Caller handler : Ready
-On: 2011-10-20 13:53:23.716012 Event: init Receiver
-On: 2011-10-20 13:53:23.716034 Event: GSMExt.Eplus
-On: 2011-10-20 13:53:25.721441 Event: Connected to Receiver Handler
-On: 2011-10-20 13:53:25.721764 Event: Receiver Handler respond
-On: 2011-10-20 13:53:25.722113 Event: Receiver handler : Ready
-On: 2011-10-20 13:53:25.722153 Event: Start Call
-On: 2011-10-20 13:53:25.722226 Event: Waiting Feedback
-On: 2011-10-20 13:53:40.722417 Event: Test Failed
-On: 2011-10-20 13:53:44.800690 Event:
-On: 2011-10-20 13:53:44.800753 Event: init Caller
-On: 2011-10-20 13:53:44.800775 Event: sip
-On: 2011-10-20 13:53:46.806938 Event: Connected to Caller Handler
-On: 2011-10-20 13:53:46.807326 Event: Caller Handler respond
-On: 2011-10-20 13:53:46.808519 Event: Caller handler : Ready
-On: 2011-10-20 13:53:46.808557 Event: init Receiver
-On: 2011-10-20 13:53:46.808579 Event: GSMExt.O2
-On: 2011-10-20 13:53:48.814237 Event: Connected to Receiver Handler
-On: 2011-10-20 13:53:48.814519 Event: Receiver Handler respond
-On: 2011-10-20 13:53:48.814702 Event: Receiver handler : Ready
-On: 2011-10-20 13:53:48.814733 Event: Start Call
-On: 2011-10-20 13:53:48.814788 Event: Waiting Feedback
-On: 2011-10-20 13:54:03.814982 Event: Test Failed
-On: 2011-10-20 13:54:07.897593 Event:
-On: 2011-10-20 13:54:07.897657 Event: init Caller
-On: 2011-10-20 13:54:07.897679 Event: sip
-On: 2011-10-20 13:54:09.902383 Event: Connected to Caller Handler
-On: 2011-10-20 13:54:09.902777 Event: Caller Handler respond
-On: 2011-10-20 13:54:09.903546 Event: Caller handler : Ready
-On: 2011-10-20 13:54:09.903585 Event: init Receiver
-On: 2011-10-20 13:54:09.903607 Event: GSMExt.Tm
-On: 2011-10-20 13:54:11.908944 Event: Connected to Receiver Handler
-On: 2011-10-20 13:54:11.909221 Event: Receiver Handler respond
-On: 2011-10-20 13:54:11.909400 Event: Receiver handler : Ready
-On: 2011-10-20 13:54:11.909430 Event: Start Call
-On: 2011-10-20 13:54:11.909485 Event: Waiting Feedback
-On: 2011-10-20 13:54:26.909671 Event: Test Failed
-On: 2011-10-20 13:54:30.969229 Event:
-On: 2011-10-20 13:54:30.969289 Event: init Caller
-On: 2011-10-20 13:54:30.969309 Event: sip
-On: 2011-10-20 13:54:32.974424 Event: Connected to Caller Handler
-On: 2011-10-20 13:54:32.974718 Event: Caller Handler respond
-On: 2011-10-20 13:54:32.975487 Event: Caller handler : Ready
-On: 2011-10-20 13:54:32.975526 Event: init Receiver
-On: 2011-10-20 13:54:32.975548 Event: GSMRZ2
-On: 2011-10-20 13:54:39.980909 Event: Connected to Receiver Handler
-On: 2011-10-20 13:54:39.988181 Event: Receiver Handler respond
-On: 2011-10-20 13:54:39.990838 Event: Receiver handler : Ready
-On: 2011-10-20 13:54:39.990899 Event: Start Call
-On: 2011-10-20 13:54:39.990971 Event: Waiting Feedback
-On: 2011-10-20 13:54:54.991195 Event: Test Failed
-On: 2011-10-20 13:54:59.031468 Event:
-On: 2011-10-20 13:54:59.031527 Event: init Caller
-On: 2011-10-20 13:54:59.031548 Event: sip
-On: 2011-10-20 13:55:01.036635 Event: Connected to Caller Handler
-On: 2011-10-20 13:55:01.036938 Event: Caller Handler respond
-On: 2011-10-20 13:55:01.037860 Event: Caller handler : Ready
-On: 2011-10-20 13:55:01.037909 Event: init Receiver
-On: 2011-10-20 13:55:01.037933 Event: GSMExt.Voda
-On: 2011-10-20 13:55:03.042129 Event: Connected to Receiver Handler
-On: 2011-10-20 13:55:03.042410 Event: Receiver Handler respond
-On: 2011-10-20 13:55:03.042591 Event: Receiver handler : Ready
-On: 2011-10-20 13:55:03.042622 Event: Start Call
-On: 2011-10-20 13:55:03.042688 Event: Waiting Feedback
-On: 2011-10-20 13:55:18.042874 Event: Test Failed
-On: 2011-10-20 13:55:22.120742 Event:
-On: 2011-10-20 13:55:22.120807 Event: init Caller
-On: 2011-10-20 13:55:22.120828 Event: sip
-On: 2011-10-20 13:55:24.126445 Event: Connected to Caller Handler
-On: 2011-10-20 13:55:24.126840 Event: Caller Handler respond
-On: 2011-10-20 13:55:24.127927 Event: Caller handler : Ready
-On: 2011-10-20 13:55:24.127965 Event: init Receiver
-On: 2011-10-20 13:55:24.127988 Event: GSMRZ1
-On: 2011-10-20 13:55:26.133508 Event: Connected to Receiver Handler
-On: 2011-10-20 13:55:26.133855 Event: Receiver Handler respond
-On: 2011-10-20 13:55:26.134056 Event: Receiver handler : Ready
-On: 2011-10-20 13:55:26.134088 Event: Start Call
-On: 2011-10-20 13:55:26.134145 Event: Waiting Feedback
-On: 2011-10-20 13:55:41.134373 Event: Test Failed
-On: 2011-10-20 13:55:45.205792 Event:
-On: 2011-10-20 13:55:45.205854 Event: init Caller
-On: 2011-10-20 13:55:45.205875 Event: sip
-On: 2011-10-20 13:55:47.213994 Event: Connected to Caller Handler
-On: 2011-10-20 13:55:47.214388 Event: Caller Handler respond
-On: 2011-10-20 13:55:47.215171 Event: Caller handler : Ready
-On: 2011-10-20 13:55:47.215209 Event: init Receiver
-On: 2011-10-20 13:55:47.215231 Event: GSMRZ3
-On: 2011-10-20 13:55:54.222316 Event: Connected to Receiver Handler
-On: 2011-10-20 13:55:54.231041 Event: Receiver Handler respond
-On: 2011-10-20 13:55:54.233670 Event: Receiver handler : Ready
-On: 2011-10-20 13:55:54.233769 Event: Start Call
-On: 2011-10-20 13:55:54.233844 Event: Waiting Feedback
-On: 2011-10-20 13:56:09.234051 Event: Test Failed
-On: 2011-10-20 13:56:13.275595 Event:
-On: 2011-10-20 13:56:13.275653 Event: init Caller
-On: 2011-10-20 13:56:13.275674 Event: sip
-On: 2011-10-20 13:56:15.280836 Event: Connected to Caller Handler
-On: 2011-10-20 13:56:15.281133 Event: Caller Handler respond
-On: 2011-10-20 13:56:15.282072 Event: Caller handler : Ready
-On: 2011-10-20 13:56:15.282114 Event: init Receiver
-On: 2011-10-20 13:56:15.282136 Event: GSMExt.Eplus
-On: 2011-10-20 13:56:17.291323 Event: Connected to Receiver Handler
-On: 2011-10-20 13:56:17.291600 Event: Receiver Handler respond
-On: 2011-10-20 13:56:17.291784 Event: Receiver handler : Ready
-On: 2011-10-20 13:56:17.291815 Event: Start Call
-On: 2011-10-20 13:56:17.291871 Event: Waiting Feedback
-On: 2011-10-20 13:56:32.292056 Event: Test Failed
-On: 2011-10-20 13:56:36.368937 Event:
-On: 2011-10-20 13:56:36.369002 Event: init Caller
-On: 2011-10-20 13:56:36.369024 Event: sip
-On: 2011-10-20 13:56:38.375362 Event: Connected to Caller Handler
-On: 2011-10-20 13:56:38.375755 Event: Caller Handler respond
-On: 2011-10-20 13:56:38.376521 Event: Caller handler : Ready
-On: 2011-10-20 13:56:38.376559 Event: init Receiver
-On: 2011-10-20 13:56:38.376581 Event: GSMExt.O2
-On: 2011-10-20 13:56:40.381948 Event: Connected to Receiver Handler
-On: 2011-10-20 13:56:40.382233 Event: Receiver Handler respond
-On: 2011-10-20 13:56:40.382420 Event: Receiver handler : Ready
-On: 2011-10-20 13:56:40.382452 Event: Start Call
-On: 2011-10-20 13:56:40.382508 Event: Waiting Feedback
-On: 2011-10-20 13:56:55.382691 Event: Test Failed
-On: 2011-10-20 13:56:59.462069 Event:
-On: 2011-10-20 13:56:59.462137 Event: init Caller
-On: 2011-10-20 13:56:59.462158 Event: sip
-On: 2011-10-20 13:57:01.472643 Event: Connected to Caller Handler
-On: 2011-10-20 13:57:01.472936 Event: Caller Handler respond
-On: 2011-10-20 13:57:01.473692 Event: Caller handler : Ready
-On: 2011-10-20 13:57:01.473896 Event: init Receiver
-On: 2011-10-20 13:57:01.473923 Event: GSMExt.Tm
-On: 2011-10-20 13:57:03.478682 Event: Connected to Receiver Handler
-On: 2011-10-20 13:57:03.478966 Event: Receiver Handler respond
-On: 2011-10-20 13:57:03.479149 Event: Receiver handler : Ready
-On: 2011-10-20 13:57:03.479180 Event: Start Call
-On: 2011-10-20 13:57:03.479236 Event: Waiting Feedback
-On: 2011-10-20 13:57:18.479419 Event: Test Failed
-On: 2011-10-20 13:57:22.537989 Event:
-On: 2011-10-20 13:57:22.538054 Event: init Caller
-On: 2011-10-20 13:57:22.538075 Event: GSMRZ3
-On: 2011-10-20 13:57:29.558397 Event: Connected to Caller Handler
-On: 2011-10-20 13:57:29.565614 Event: Caller Handler respond
-On: 2011-10-20 13:57:29.568944 Event: Caller handler : Ready
-On: 2011-10-20 13:57:29.568988 Event: init Receiver
-On: 2011-10-20 13:57:29.569011 Event: GSMRZ3
-On: 2011-10-20 13:57:36.579247 Event: Connected to Receiver Handler
-On: 2011-10-20 13:57:59.576830 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:01:40.029329 ------------------
-On: 2011-10-20 14:01:40.029406 Event: init Caller
-On: 2011-10-20 14:01:40.029431 Event: unisip
-On: 2011-10-20 14:01:42.034704 Event: Connected to Caller Handler
-On: 2011-10-20 14:01:42.035012 Event: Caller Handler respond
-On: 2011-10-20 14:01:42.035771 Event: Caller handler : Ready
-On: 2011-10-20 14:01:42.035812 Event: init Receiver
-On: 2011-10-20 14:01:42.035834 Event: GSMRZ1
-On: 2011-10-20 14:01:44.041224 Event: Connected to Receiver Handler
-On: 2011-10-20 14:01:44.041504 Event: Receiver Handler respond
-On: 2011-10-20 14:01:44.041685 Event: Receiver handler : Ready
-On: 2011-10-20 14:01:44.041756 Event: Start Call
-On: 2011-10-20 14:01:44.041811 Event: Waiting Feedback
-On: 2011-10-20 14:01:59.041970 Event: Test Failed
-On: 2011-10-20 14:02:03.120295 Event:
-On: 2011-10-20 14:02:03.120360 Event: init Caller
-On: 2011-10-20 14:02:03.120380 Event: GSMRZ2
-On: 2011-10-20 14:02:10.131345 Event: Connected to Caller Handler
-On: 2011-10-20 14:02:10.138348 Event: Caller Handler respond
-On: 2011-10-20 14:02:10.140500 Event: Caller handler : Ready
-On: 2011-10-20 14:02:10.140534 Event: init Receiver
-On: 2011-10-20 14:02:10.140555 Event: GSMExt.Tm
-On: 2011-10-20 14:02:12.146004 Event: Connected to Receiver Handler
-On: 2011-10-20 14:02:12.146288 Event: Receiver Handler respond
-On: 2011-10-20 14:02:12.146470 Event: Receiver handler : Ready
-On: 2011-10-20 14:02:12.146499 Event: Start Call
-On: 2011-10-20 14:02:12.149963 Event: Waiting Feedback
-On: 2011-10-20 14:02:27.150177 Event: Test Failed
-On: 2011-10-20 14:02:31.230600 Event:
-On: 2011-10-20 14:02:31.230663 Event: init Caller
-On: 2011-10-20 14:02:31.230683 Event: landline
-On: 2011-10-20 14:02:33.240404 Event: Connected to Caller Handler
-On: 2011-10-20 14:02:33.240794 Event: Caller Handler respond
-On: 2011-10-20 14:02:33.243938 Event: Caller handler : Ready
-On: 2011-10-20 14:02:33.243978 Event: init Receiver
-On: 2011-10-20 14:02:33.244000 Event: GSMRZ3
-On: 2011-10-20 14:02:40.250268 Event: Connected to Receiver Handler
-On: 2011-10-20 14:02:40.257091 Event: Receiver Handler respond
-On: 2011-10-20 14:02:40.260463 Event: Receiver handler : Ready
-On: 2011-10-20 14:02:40.260513 Event: Start Call
-On: 2011-10-20 14:02:40.260578 Event: Waiting Feedback
-On: 2011-10-20 14:03:10.260824 Event: Test Failed
-On: 2011-10-20 14:03:14.297639 Event:
-On: 2011-10-20 14:03:14.297698 Event: init Caller
-On: 2011-10-20 14:03:14.297748 Event: GSMRZ3
-On: 2011-10-20 14:03:21.307625 Event: Connected to Caller Handler
-On: 2011-10-20 14:03:21.314791 Event: Caller Handler respond
-On: 2011-10-20 14:03:21.318101 Event: Caller handler : Ready
-On: 2011-10-20 14:03:21.318161 Event: init Receiver
-On: 2011-10-20 14:03:21.318185 Event: sip
-On: 2011-10-20 14:03:23.322436 Event: Connected to Receiver Handler
-On: 2011-10-20 14:03:23.322828 Event: Receiver Handler respond
-On: 2011-10-20 14:03:23.323588 Event: Receiver handler : Ready
-On: 2011-10-20 14:03:23.323626 Event: Start Call
-On: 2011-10-20 14:03:23.323785 Event: Waiting Feedback
-On: 2011-10-20 14:03:26.629611 Event: Test Succeed
-On: 2011-10-20 14:03:30.671053 Event:
-On: 2011-10-20 14:03:30.671111 Event: init Caller
-On: 2011-10-20 14:03:30.671131 Event: sip
-On: 2011-10-20 14:03:32.676039 Event: Connected to Caller Handler
-On: 2011-10-20 14:03:32.676429 Event: Caller Handler respond
-On: 2011-10-20 14:03:32.677504 Event: Caller handler : Ready
-On: 2011-10-20 14:03:32.677544 Event: init Receiver
-On: 2011-10-20 14:03:32.677566 Event: GSMExt.Eplus
-On: 2011-10-20 14:03:34.682625 Event: Connected to Receiver Handler
-On: 2011-10-20 14:03:34.682907 Event: Receiver Handler respond
-On: 2011-10-20 14:03:34.683091 Event: Receiver handler : Ready
-On: 2011-10-20 14:03:34.683120 Event: Start Call
-On: 2011-10-20 14:03:34.683174 Event: Waiting Feedback
-On: 2011-10-20 14:03:49.683333 Event: Test Failed
-On: 2011-10-20 14:03:53.756428 Event:
-On: 2011-10-20 14:03:53.756489 Event: init Caller
-On: 2011-10-20 14:03:53.756510 Event: sip
-On: 2011-10-20 14:03:55.766372 Event: Connected to Caller Handler
-On: 2011-10-20 14:03:55.766760 Event: Caller Handler respond
-On: 2011-10-20 14:03:55.768105 Event: Caller handler : Ready
-On: 2011-10-20 14:03:55.768144 Event: init Receiver
-On: 2011-10-20 14:03:55.768166 Event: GSMExt.O2
-On: 2011-10-20 14:03:57.773688 Event: Connected to Receiver Handler
-On: 2011-10-20 14:03:57.774163 Event: Receiver Handler respond
-On: 2011-10-20 14:03:57.774393 Event: Receiver handler : Ready
-On: 2011-10-20 14:03:57.774424 Event: Start Call
-On: 2011-10-20 14:03:57.774479 Event: Waiting Feedback
-On: 2011-10-20 14:04:12.774634 Event: Test Failed
-On: 2011-10-20 14:04:16.852659 Event:
-On: 2011-10-20 14:04:16.852720 Event: init Caller
-On: 2011-10-20 14:04:16.852740 Event: sip
-On: 2011-10-20 14:04:18.859141 Event: Connected to Caller Handler
-On: 2011-10-20 14:04:18.859529 Event: Caller Handler respond
-On: 2011-10-20 14:04:18.860298 Event: Caller handler : Ready
-On: 2011-10-20 14:04:18.860338 Event: init Receiver
-On: 2011-10-20 14:04:18.860359 Event: GSMExt.Voda
-On: 2011-10-20 14:04:20.865829 Event: Connected to Receiver Handler
-On: 2011-10-20 14:04:20.866278 Event: Receiver Handler respond
-On: 2011-10-20 14:04:20.866507 Event: Receiver handler : Ready
-On: 2011-10-20 14:04:20.866539 Event: Start Call
-On: 2011-10-20 14:04:20.866594 Event: Waiting Feedback
-On: 2011-10-20 14:04:35.866751 Event: Test Failed
-On: 2011-10-20 14:04:39.943996 Event:
-On: 2011-10-20 14:04:39.944062 Event: init Caller
-On: 2011-10-20 14:04:39.944083 Event: sip
-On: 2011-10-20 14:04:41.950606 Event: Connected to Caller Handler
-On: 2011-10-20 14:04:41.950995 Event: Caller Handler respond
-On: 2011-10-20 14:04:41.951762 Event: Caller handler : Ready
-On: 2011-10-20 14:04:41.951803 Event: init Receiver
-On: 2011-10-20 14:04:41.951825 Event: GSMRZ1
-On: 2011-10-20 14:04:43.957240 Event: Connected to Receiver Handler
-On: 2011-10-20 14:04:43.957528 Event: Receiver Handler respond
-On: 2011-10-20 14:04:43.957743 Event: Receiver handler : Ready
-On: 2011-10-20 14:04:43.957772 Event: Start Call
-On: 2011-10-20 14:04:43.957828 Event: Waiting Feedback
-On: 2011-10-20 14:04:58.957984 Event: Test Failed
-On: 2011-10-20 14:05:03.036877 Event:
-On: 2011-10-20 14:05:03.036941 Event: init Caller
-On: 2011-10-20 14:05:03.036961 Event: sip
-On: 2011-10-20 14:05:05.041302 Event: Connected to Caller Handler
-On: 2011-10-20 14:05:05.041690 Event: Caller Handler respond
-On: 2011-10-20 14:05:05.042972 Event: Caller handler : Ready
-On: 2011-10-20 14:05:05.043011 Event: init Receiver
-On: 2011-10-20 14:05:05.043033 Event: GSMExt.Tm
-On: 2011-10-20 14:05:07.046623 Event: Connected to Receiver Handler
-On: 2011-10-20 14:05:07.046910 Event: Receiver Handler respond
-On: 2011-10-20 14:05:07.047092 Event: Receiver handler : Ready
-On: 2011-10-20 14:05:07.047122 Event: Start Call
-On: 2011-10-20 14:05:07.047175 Event: Waiting Feedback
-On: 2011-10-20 14:05:22.047331 Event: Test Failed
-On: 2011-10-20 14:05:26.105013 Event:
-On: 2011-10-20 14:05:26.105072 Event: init Caller
-On: 2011-10-20 14:05:26.105093 Event: sip
-On: 2011-10-20 14:05:28.119758 Event: Connected to Caller Handler
-On: 2011-10-20 14:05:28.120142 Event: Caller Handler respond
-On: 2011-10-20 14:05:28.120898 Event: Caller handler : Ready
-On: 2011-10-20 14:05:28.120933 Event: init Receiver
-On: 2011-10-20 14:05:28.120954 Event: GSMRZ2
-On: 2011-10-20 14:05:35.130256 Event: Connected to Receiver Handler
-On: 2011-10-20 14:05:35.138323 Event: Receiver Handler respond
-On: 2011-10-20 14:05:35.140469 Event: Receiver handler : Ready
-On: 2011-10-20 14:05:35.140503 Event: Start Call
-On: 2011-10-20 14:05:35.140563 Event: Waiting Feedback
-On: 2011-10-20 14:05:50.140741 Event: Test Failed
-On: 2011-10-20 14:05:54.178612 Event:
-On: 2011-10-20 14:05:54.178671 Event: init Caller
-On: 2011-10-20 14:05:54.178691 Event: sip
-On: 2011-10-20 14:05:56.183526 Event: Connected to Caller Handler
-On: 2011-10-20 14:05:56.183908 Event: Caller Handler respond
-On: 2011-10-20 14:05:56.184671 Event: Caller handler : Ready
-On: 2011-10-20 14:05:56.184709 Event: init Receiver
-On: 2011-10-20 14:05:56.184731 Event: GSMRZ3
-On: 2011-10-20 14:06:03.194842 Event: Connected to Receiver Handler
-On: 2011-10-20 14:06:03.202390 Event: Receiver Handler respond
-On: 2011-10-20 14:06:03.204604 Event: Receiver handler : Ready
-On: 2011-10-20 14:06:03.204639 Event: Start Call
-On: 2011-10-20 14:06:03.204699 Event: Waiting Feedback
-On: 2011-10-20 14:06:18.204879 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:00.996941 ------------------
-On: 2011-10-20 14:09:00.997017 Event: init Caller
-On: 2011-10-20 14:09:00.997041 Event: unisip
-On: 2011-10-20 14:09:03.002393 Event: Connected to Caller Handler
-On: 2011-10-20 14:09:03.002707 Event: Caller Handler respond
-On: 2011-10-20 14:09:03.003480 Event: Caller handler : Ready
-On: 2011-10-20 14:09:03.003519 Event: init Receiver
-On: 2011-10-20 14:09:03.003541 Event: GSMRZ1
-On: 2011-10-20 14:09:05.008937 Event: Connected to Receiver Handler
-On: 2011-10-20 14:09:05.009223 Event: Receiver Handler respond
-On: 2011-10-20 14:09:05.009409 Event: Receiver handler : Ready
-On: 2011-10-20 14:09:05.009441 Event: Start Call
-On: 2011-10-20 14:09:05.009496 Event: Waiting Feedback
-On: 2011-10-20 14:09:09.997898 Event: Test Succeed
-On: 2011-10-20 14:09:14.038652 Event:
-On: 2011-10-20 14:09:14.038710 Event: init Caller
-On: 2011-10-20 14:09:14.038731 Event: GSMRZ2
-On: 2011-10-20 14:09:21.048631 Event: Connected to Caller Handler
-On: 2011-10-20 14:09:21.055884 Event: Caller Handler respond
-On: 2011-10-20 14:09:21.058084 Event: Caller handler : Ready
-On: 2011-10-20 14:09:21.058117 Event: init Receiver
-On: 2011-10-20 14:09:21.058139 Event: GSMExt.Tm
-On: 2011-10-20 14:09:23.063418 Event: Connected to Receiver Handler
-On: 2011-10-20 14:09:23.063701 Event: Receiver Handler respond
-On: 2011-10-20 14:09:23.063884 Event: Receiver handler : Ready
-On: 2011-10-20 14:09:23.063913 Event: Start Call
-On: 2011-10-20 14:09:23.065836 Event: Waiting Feedback
-On: 2011-10-20 14:09:38.066033 Event: Test Failed
-On: 2011-10-20 14:09:42.147137 Event:
-On: 2011-10-20 14:09:42.147199 Event: init Caller
-On: 2011-10-20 14:09:42.147219 Event: landline
-On: 2011-10-20 14:09:44.158233 Event: Connected to Caller Handler
-On: 2011-10-20 14:09:44.158522 Event: Caller Handler respond
-On: 2011-10-20 14:09:44.161180 Event: Caller handler : Ready
-On: 2011-10-20 14:09:44.161216 Event: init Receiver
-On: 2011-10-20 14:09:44.161238 Event: GSMRZ3
-On: 2011-10-20 14:09:51.169059 Event: Connected to Receiver Handler
-On: 2011-10-20 14:09:51.177493 Event: Receiver Handler respond
-On: 2011-10-20 14:09:51.180250 Event: Receiver handler : Ready
-On: 2011-10-20 14:09:51.180304 Event: Start Call
-On: 2011-10-20 14:09:51.180375 Event: Waiting Feedback
-On: 2011-10-20 14:09:59.202290 Event: Test Succeed
-On: 2011-10-20 14:10:03.239158 Event:
-On: 2011-10-20 14:10:03.239218 Event: init Caller
-On: 2011-10-20 14:10:03.239238 Event: GSMRZ3
-On: 2011-10-20 14:10:10.249124 Event: Connected to Caller Handler
-On: 2011-10-20 14:10:10.256806 Event: Caller Handler respond
-On: 2011-10-20 14:10:10.259295 Event: Caller handler : Ready
-On: 2011-10-20 14:10:10.259348 Event: init Receiver
-On: 2011-10-20 14:10:10.259371 Event: sip
-On: 2011-10-20 14:10:12.262817 Event: Connected to Receiver Handler
-On: 2011-10-20 14:10:12.263210 Event: Receiver Handler respond
-On: 2011-10-20 14:10:12.263974 Event: Receiver handler : Ready
-On: 2011-10-20 14:10:12.264012 Event: Start Call
-On: 2011-10-20 14:10:12.264169 Event: Waiting Feedback
-On: 2011-10-20 14:10:16.083863 Event: Test Succeed
-On: 2011-10-20 14:10:20.124689 Event:
-On: 2011-10-20 14:10:20.124748 Event: init Caller
-On: 2011-10-20 14:10:20.124769 Event: sip
-On: 2011-10-20 14:10:22.129793 Event: Connected to Caller Handler
-On: 2011-10-20 14:10:22.130192 Event: Caller Handler respond
-On: 2011-10-20 14:10:22.130939 Event: Caller handler : Ready
-On: 2011-10-20 14:10:22.130979 Event: init Receiver
-On: 2011-10-20 14:10:22.130999 Event: GSMExt.Eplus
-On: 2011-10-20 14:10:24.134635 Event: Connected to Receiver Handler
-On: 2011-10-20 14:10:24.134921 Event: Receiver Handler respond
-On: 2011-10-20 14:10:24.135107 Event: Receiver handler : Ready
-On: 2011-10-20 14:10:24.135137 Event: Start Call
-On: 2011-10-20 14:10:24.135192 Event: Waiting Feedback
-On: 2011-10-20 14:10:39.135351 Event: Test Failed
-On: 2011-10-20 14:10:43.213759 Event:
-On: 2011-10-20 14:10:43.213825 Event: init Caller
-On: 2011-10-20 14:10:43.213845 Event: sip
-On: 2011-10-20 14:10:45.218820 Event: Connected to Caller Handler
-On: 2011-10-20 14:10:45.219206 Event: Caller Handler respond
-On: 2011-10-20 14:10:45.220583 Event: Caller handler : Ready
-On: 2011-10-20 14:10:45.220622 Event: init Receiver
-On: 2011-10-20 14:10:45.220643 Event: GSMExt.O2
-On: 2011-10-20 14:10:47.226160 Event: Connected to Receiver Handler
-On: 2011-10-20 14:10:47.226446 Event: Receiver Handler respond
-On: 2011-10-20 14:10:47.226627 Event: Receiver handler : Ready
-On: 2011-10-20 14:10:47.226657 Event: Start Call
-On: 2011-10-20 14:10:47.226713 Event: Waiting Feedback
-On: 2011-10-20 14:11:02.226862 Event: Test Failed
-On: 2011-10-20 14:11:06.305881 Event:
-On: 2011-10-20 14:11:06.305948 Event: init Caller
-On: 2011-10-20 14:11:06.305968 Event: sip
-On: 2011-10-20 14:11:08.311050 Event: Connected to Caller Handler
-On: 2011-10-20 14:11:08.311446 Event: Caller Handler respond
-On: 2011-10-20 14:11:08.312213 Event: Caller handler : Ready
-On: 2011-10-20 14:11:08.312251 Event: init Receiver
-On: 2011-10-20 14:11:08.312272 Event: GSMExt.Voda
-On: 2011-10-20 14:11:10.315629 Event: Connected to Receiver Handler
-On: 2011-10-20 14:11:10.315939 Event: Receiver Handler respond
-On: 2011-10-20 14:11:10.316134 Event: Receiver handler : Ready
-On: 2011-10-20 14:11:10.316164 Event: Start Call
-On: 2011-10-20 14:11:10.316220 Event: Waiting Feedback
-On: 2011-10-20 14:11:25.316377 Event: Test Failed
-On: 2011-10-20 14:11:29.390139 Event:
-On: 2011-10-20 14:11:29.390203 Event: init Caller
-On: 2011-10-20 14:11:29.390223 Event: sip
-On: 2011-10-20 14:11:31.398646 Event: Connected to Caller Handler
-On: 2011-10-20 14:11:31.399041 Event: Caller Handler respond
-On: 2011-10-20 14:11:31.399802 Event: Caller handler : Ready
-On: 2011-10-20 14:11:31.399839 Event: init Receiver
-On: 2011-10-20 14:11:31.399860 Event: GSMExt.Tm
-On: 2011-10-20 14:11:33.405236 Event: Connected to Receiver Handler
-On: 2011-10-20 14:11:33.405527 Event: Receiver Handler respond
-On: 2011-10-20 14:11:33.405753 Event: Receiver handler : Ready
-On: 2011-10-20 14:11:33.405784 Event: Start Call
-On: 2011-10-20 14:11:33.405842 Event: Waiting Feedback
-On: 2011-10-20 14:11:48.406003 Event: Test Failed
-On: 2011-10-20 14:11:52.464407 Event:
-On: 2011-10-20 14:11:52.464468 Event: init Caller
-On: 2011-10-20 14:11:52.464488 Event: sip
-On: 2011-10-20 14:11:54.478555 Event: Connected to Caller Handler
-On: 2011-10-20 14:11:54.478856 Event: Caller Handler respond
-On: 2011-10-20 14:11:54.479619 Event: Caller handler : Ready
-On: 2011-10-20 14:11:54.479657 Event: init Receiver
-On: 2011-10-20 14:11:54.479678 Event: GSMRZ2
-On: 2011-10-20 14:12:01.485037 Event: Connected to Receiver Handler
-On: 2011-10-20 14:12:01.492198 Event: Receiver Handler respond
-On: 2011-10-20 14:12:01.494359 Event: Receiver handler : Ready
-On: 2011-10-20 14:12:01.494395 Event: Start Call
-On: 2011-10-20 14:12:01.494454 Event: Waiting Feedback
-On: 2011-10-20 14:12:06.223095 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:14:43.686359 ------------------
-On: 2011-10-20 14:14:43.686434 Event: init Caller
-On: 2011-10-20 14:14:43.686458 Event: unisip
-On: 2011-10-20 14:14:45.690821 Event: Connected to Caller Handler
-On: 2011-10-20 14:14:45.691125 Event: Caller Handler respond
-On: 2011-10-20 14:14:45.691870 Event: Caller handler : Ready
-On: 2011-10-20 14:14:45.691906 Event: init Receiver
-On: 2011-10-20 14:14:45.691927 Event: GSMRZ1
-On: 2011-10-20 14:14:47.697340 Event: Connected to Receiver Handler
-On: 2011-10-20 14:14:47.697627 Event: Receiver Handler respond
-On: 2011-10-20 14:14:47.697994 Event: Receiver handler : Ready
-On: 2011-10-20 14:14:47.698035 Event: Start Call
-On: 2011-10-20 14:14:47.698116 Event: Waiting Feedback
-On: 2011-10-20 14:14:53.685874 Event: Test Succeed
-On: 2011-10-20 14:14:57.726756 Event:
-On: 2011-10-20 14:14:57.726817 Event: init Caller
-On: 2011-10-20 14:14:57.726837 Event: GSMRZ2
-On: 2011-10-20 14:15:04.736761 Event: Connected to Caller Handler
-On: 2011-10-20 14:15:04.743800 Event: Caller Handler respond
-On: 2011-10-20 14:15:04.746889 Event: Caller handler : Ready
-On: 2011-10-20 14:15:04.746931 Event: init Receiver
-On: 2011-10-20 14:15:04.746952 Event: GSMExt.Tm
-On: 2011-10-20 14:15:06.752102 Event: Connected to Receiver Handler
-On: 2011-10-20 14:15:06.752382 Event: Receiver Handler respond
-On: 2011-10-20 14:15:06.752564 Event: Receiver handler : Ready
-On: 2011-10-20 14:15:06.752594 Event: Start Call
-On: 2011-10-20 14:15:06.753970 Event: Waiting Feedback
-On: 2011-10-20 14:15:21.754181 Event: Test Failed
-On: 2011-10-20 14:15:25.835456 Event:
-On: 2011-10-20 14:15:25.835518 Event: init Caller
-On: 2011-10-20 14:15:25.835538 Event: landline
-On: 2011-10-20 14:15:27.844856 Event: Connected to Caller Handler
-On: 2011-10-20 14:15:27.845238 Event: Caller Handler respond
-On: 2011-10-20 14:15:27.848655 Event: Caller handler : Ready
-On: 2011-10-20 14:15:27.848691 Event: init Receiver
-On: 2011-10-20 14:15:27.848713 Event: GSMRZ3
-On: 2011-10-20 14:15:34.858261 Event: Connected to Receiver Handler
-On: 2011-10-20 14:15:34.864956 Event: Receiver Handler respond
-On: 2011-10-20 14:15:34.867077 Event: Receiver handler : Ready
-On: 2011-10-20 14:15:34.867115 Event: Start Call
-On: 2011-10-20 14:15:34.867176 Event: Waiting Feedback
-On: 2011-10-20 14:15:42.874755 Event: Test Succeed
-On: 2011-10-20 14:15:46.912673 Event:
-On: 2011-10-20 14:15:46.912733 Event: init Caller
-On: 2011-10-20 14:15:46.912753 Event: GSMRZ3
-On: 2011-10-20 14:15:53.922914 Event: Connected to Caller Handler
-On: 2011-10-20 14:15:53.929899 Event: Caller Handler respond
-On: 2011-10-20 14:15:53.933262 Event: Caller handler : Ready
-On: 2011-10-20 14:15:53.933307 Event: init Receiver
-On: 2011-10-20 14:15:53.933330 Event: sip
-On: 2011-10-20 14:15:55.938322 Event: Connected to Receiver Handler
-On: 2011-10-20 14:15:55.938712 Event: Receiver Handler respond
-On: 2011-10-20 14:15:55.939838 Event: Receiver handler : Ready
-On: 2011-10-20 14:15:55.939878 Event: Start Call
-On: 2011-10-20 14:15:55.940031 Event: Waiting Feedback
-On: 2011-10-20 14:15:59.285836 Event: Test Succeed
-On: 2011-10-20 14:16:03.326573 Event:
-On: 2011-10-20 14:16:03.326633 Event: init Caller
-On: 2011-10-20 14:16:03.326654 Event: sip
-On: 2011-10-20 14:16:05.331504 Event: Connected to Caller Handler
-On: 2011-10-20 14:16:05.331897 Event: Caller Handler respond
-On: 2011-10-20 14:16:05.332666 Event: Caller handler : Ready
-On: 2011-10-20 14:16:05.332704 Event: init Receiver
-On: 2011-10-20 14:16:05.332726 Event: GSMExt.Eplus
-On: 2011-10-20 14:16:07.338151 Event: Connected to Receiver Handler
-On: 2011-10-20 14:16:07.338435 Event: Receiver Handler respond
-On: 2011-10-20 14:16:07.338619 Event: Receiver handler : Ready
-On: 2011-10-20 14:16:07.338650 Event: Start Call
-On: 2011-10-20 14:16:07.338704 Event: Waiting Feedback
-On: 2011-10-20 14:16:22.338866 Event: Test Failed
-On: 2011-10-20 14:16:26.412927 Event:
-On: 2011-10-20 14:16:26.412989 Event: init Caller
-On: 2011-10-20 14:16:26.413009 Event: sip
-On: 2011-10-20 14:16:28.423094 Event: Connected to Caller Handler
-On: 2011-10-20 14:16:28.423393 Event: Caller Handler respond
-On: 2011-10-20 14:16:28.424548 Event: Caller handler : Ready
-On: 2011-10-20 14:16:28.424586 Event: init Receiver
-On: 2011-10-20 14:16:28.424608 Event: GSMExt.O2
-On: 2011-10-20 14:16:30.430824 Event: Connected to Receiver Handler
-On: 2011-10-20 14:16:30.431110 Event: Receiver Handler respond
-On: 2011-10-20 14:16:30.431288 Event: Receiver handler : Ready
-On: 2011-10-20 14:16:30.431317 Event: Start Call
-On: 2011-10-20 14:16:30.431369 Event: Waiting Feedback
-On: 2011-10-20 14:16:45.431523 Event: Test Failed
-On: 2011-10-20 14:16:49.506138 Event:
-On: 2011-10-20 14:16:49.506202 Event: init Caller
-On: 2011-10-20 14:16:49.506222 Event: sip
-On: 2011-10-20 14:16:51.514417 Event: Connected to Caller Handler
-On: 2011-10-20 14:16:51.514805 Event: Caller Handler respond
-On: 2011-10-20 14:16:51.515901 Event: Caller handler : Ready
-On: 2011-10-20 14:16:51.515940 Event: init Receiver
-On: 2011-10-20 14:16:51.515961 Event: GSMExt.Voda
-On: 2011-10-20 14:16:53.521339 Event: Connected to Receiver Handler
-On: 2011-10-20 14:16:53.521620 Event: Receiver Handler respond
-On: 2011-10-20 14:16:53.521980 Event: Receiver handler : Ready
-On: 2011-10-20 14:16:53.522023 Event: Start Call
-On: 2011-10-20 14:16:53.522095 Event: Waiting Feedback
-On: 2011-10-20 14:17:08.522254 Event: Test Failed
-On: 2011-10-20 14:17:12.600365 Event:
-On: 2011-10-20 14:17:12.600427 Event: init Caller
-On: 2011-10-20 14:17:12.600447 Event: sip
-On: 2011-10-20 14:17:14.606669 Event: Connected to Caller Handler
-On: 2011-10-20 14:17:14.607059 Event: Caller Handler respond
-On: 2011-10-20 14:17:14.608133 Event: Caller handler : Ready
-On: 2011-10-20 14:17:14.608170 Event: init Receiver
-On: 2011-10-20 14:17:14.608192 Event: GSMExt.Tm
-On: 2011-10-20 14:17:16.613802 Event: Connected to Receiver Handler
-On: 2011-10-20 14:17:16.614096 Event: Receiver Handler respond
-On: 2011-10-20 14:17:16.614278 Event: Receiver handler : Ready
-On: 2011-10-20 14:17:16.614308 Event: Start Call
-On: 2011-10-20 14:17:16.614362 Event: Waiting Feedback
-On: 2011-10-20 14:17:31.614518 Event: Test Failed
-On: 2011-10-20 14:17:35.673049 Event:
-On: 2011-10-20 14:17:35.673108 Event: init Caller
-On: 2011-10-20 14:17:35.673129 Event: sip
-On: 2011-10-20 14:17:37.687613 Event: Connected to Caller Handler
-On: 2011-10-20 14:17:37.688003 Event: Caller Handler respond
-On: 2011-10-20 14:17:37.688772 Event: Caller handler : Ready
-On: 2011-10-20 14:17:37.688810 Event: init Receiver
-On: 2011-10-20 14:17:37.688831 Event: GSMRZ2
-On: 2011-10-20 14:17:44.694268 Event: Connected to Receiver Handler
-On: 2011-10-20 14:17:44.701742 Event: Receiver Handler respond
-On: 2011-10-20 14:17:44.703874 Event: Receiver handler : Ready
-On: 2011-10-20 14:17:44.703909 Event: Start Call
-On: 2011-10-20 14:17:44.703968 Event: Waiting Feedback
-On: 2011-10-20 14:17:49.902230 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:11.092385 ------------------
-On: 2011-10-20 14:20:11.092462 Event: init Caller
-On: 2011-10-20 14:20:11.092486 Event: unisip
-On: 2011-10-20 14:20:13.097531 Event: Connected to Caller Handler
-On: 2011-10-20 14:20:13.097989 Event: Caller Handler respond
-On: 2011-10-20 14:20:13.098758 Event: Caller handler : Ready
-On: 2011-10-20 14:20:13.098795 Event: init Receiver
-On: 2011-10-20 14:20:13.098816 Event: GSMRZ3
-On: 2011-10-20 14:20:20.106313 Event: Connected to Receiver Handler
-On: 2011-10-20 14:20:20.113021 Event: Receiver Handler respond
-On: 2011-10-20 14:20:20.116435 Event: Receiver handler : Ready
-On: 2011-10-20 14:20:20.116495 Event: Start Call
-On: 2011-10-20 14:20:20.116632 Event: Waiting Feedback
-On: 2011-10-20 14:20:25.023073 Event: Test Succeed
-On: 2011-10-20 14:20:29.062734 Event:
-On: 2011-10-20 14:20:29.062796 Event: init Caller
-On: 2011-10-20 14:20:29.062816 Event: GSMRZ1
-On: 2011-10-20 14:20:31.067790 Event: Connected to Caller Handler
-On: 2011-10-20 14:20:31.068070 Event: Caller Handler respond
-On: 2011-10-20 14:20:31.068259 Event: Caller handler : Ready
-On: 2011-10-20 14:20:31.068287 Event: init Receiver
-On: 2011-10-20 14:20:31.068306 Event: GSMRZ2
-On: 2011-10-20 14:20:38.078457 Event: Connected to Receiver Handler
-On: 2011-10-20 14:20:38.085818 Event: Receiver Handler respond
-On: 2011-10-20 14:20:38.088708 Event: Receiver handler : Ready
-On: 2011-10-20 14:20:38.088755 Event: Start Call
-On: 2011-10-20 14:20:38.093747 Event: Waiting Feedback
-On: 2011-10-20 14:20:42.681854 Event: Test Succeed
-On: 2011-10-20 14:20:46.728609 Event:
-On: 2011-10-20 14:20:46.728670 Event: init Caller
-On: 2011-10-20 14:20:46.728690 Event: landline
-On: 2011-10-20 14:20:48.733495 Event: Connected to Caller Handler
-On: 2011-10-20 14:20:48.733931 Event: Caller Handler respond
-On: 2011-10-20 14:20:48.736421 Event: Caller handler : Ready
-On: 2011-10-20 14:20:48.736460 Event: init Receiver
-On: 2011-10-20 14:20:48.736481 Event: GSMRZ2
-On: 2011-10-20 14:20:55.741925 Event: Connected to Receiver Handler
-On: 2011-10-20 14:20:55.749278 Event: Receiver Handler respond
-On: 2011-10-20 14:20:55.751497 Event: Receiver handler : Ready
-On: 2011-10-20 14:20:55.751535 Event: Start Call
-On: 2011-10-20 14:20:55.751595 Event: Waiting Feedback
-On: 2011-10-20 14:21:13.940353 Event: Test Succeed
-On: 2011-10-20 14:21:17.978743 Event:
-On: 2011-10-20 14:21:17.978802 Event: init Caller
-On: 2011-10-20 14:21:17.978822 Event: GSMRZ2
-On: 2011-10-20 14:21:24.988629 Event: Connected to Caller Handler
-On: 2011-10-20 14:21:24.995624 Event: Caller Handler respond
-On: 2011-10-20 14:21:24.998704 Event: Caller handler : Ready
-On: 2011-10-20 14:21:24.998762 Event: init Receiver
-On: 2011-10-20 14:21:24.998785 Event: sip
-On: 2011-10-20 14:21:27.003578 Event: Connected to Receiver Handler
-On: 2011-10-20 14:21:27.003977 Event: Receiver Handler respond
-On: 2011-10-20 14:21:27.004735 Event: Receiver handler : Ready
-On: 2011-10-20 14:21:27.004777 Event: Start Call
-On: 2011-10-20 14:21:27.004939 Event: Waiting Feedback
-On: 2011-10-20 14:21:30.450976 Event: Test Succeed
-On: 2011-10-20 14:21:34.514747 Event:
-On: 2011-10-20 14:21:34.514804 Event: init Caller
-On: 2011-10-20 14:21:34.514824 Event: sip
-On: 2011-10-20 14:21:36.519356 Event: Connected to Caller Handler
-On: 2011-10-20 14:21:36.519653 Event: Caller Handler respond
-On: 2011-10-20 14:21:36.520773 Event: Caller handler : Ready
-On: 2011-10-20 14:21:36.520811 Event: init Receiver
-On: 2011-10-20 14:21:36.520831 Event: GSMExt.Eplus
-On: 2011-10-20 14:21:38.536780 Event: Connected to Receiver Handler
-On: 2011-10-20 14:21:38.537060 Event: Receiver Handler respond
-On: 2011-10-20 14:21:38.537240 Event: Receiver handler : Ready
-On: 2011-10-20 14:21:38.537271 Event: Start Call
-On: 2011-10-20 14:21:38.537326 Event: Waiting Feedback
-On: 2011-10-20 14:21:53.537481 Event: Test Failed
-On: 2011-10-20 14:21:57.616161 Event:
-On: 2011-10-20 14:21:57.616226 Event: init Caller
-On: 2011-10-20 14:21:57.616247 Event: sip
-On: 2011-10-20 14:21:59.622401 Event: Connected to Caller Handler
-On: 2011-10-20 14:21:59.622794 Event: Caller Handler respond
-On: 2011-10-20 14:21:59.623871 Event: Caller handler : Ready
-On: 2011-10-20 14:21:59.623908 Event: init Receiver
-On: 2011-10-20 14:21:59.623929 Event: GSMExt.O2
-On: 2011-10-20 14:22:01.629274 Event: Connected to Receiver Handler
-On: 2011-10-20 14:22:01.629559 Event: Receiver Handler respond
-On: 2011-10-20 14:22:01.629919 Event: Receiver handler : Ready
-On: 2011-10-20 14:22:01.629963 Event: Start Call
-On: 2011-10-20 14:22:01.630038 Event: Waiting Feedback
-On: 2011-10-20 14:22:16.630194 Event: Test Failed
-On: 2011-10-20 14:22:20.708157 Event:
-On: 2011-10-20 14:22:20.708220 Event: init Caller
-On: 2011-10-20 14:22:20.708240 Event: sip
-On: 2011-10-20 14:22:22.714207 Event: Connected to Caller Handler
-On: 2011-10-20 14:22:22.714597 Event: Caller Handler respond
-On: 2011-10-20 14:22:22.715355 Event: Caller handler : Ready
-On: 2011-10-20 14:22:22.715392 Event: init Receiver
-On: 2011-10-20 14:22:22.715413 Event: GSMExt.Tm
-On: 2011-10-20 14:22:24.718631 Event: Connected to Receiver Handler
-On: 2011-10-20 14:22:24.718913 Event: Receiver Handler respond
-On: 2011-10-20 14:22:24.719092 Event: Receiver handler : Ready
-On: 2011-10-20 14:22:24.719124 Event: Start Call
-On: 2011-10-20 14:22:24.719178 Event: Waiting Feedback
-On: 2011-10-20 14:22:39.719334 Event: Test Failed
-On: 2011-10-20 14:22:43.796319 Event:
-On: 2011-10-20 14:22:43.796383 Event: init Caller
-On: 2011-10-20 14:22:43.796403 Event: sip
-On: 2011-10-20 14:22:45.801153 Event: Connected to Caller Handler
-On: 2011-10-20 14:22:45.801446 Event: Caller Handler respond
-On: 2011-10-20 14:22:45.802386 Event: Caller handler : Ready
-On: 2011-10-20 14:22:45.802428 Event: init Receiver
-On: 2011-10-20 14:22:45.802449 Event: GSMExt.Voda
-On: 2011-10-20 14:22:47.806624 Event: Connected to Receiver Handler
-On: 2011-10-20 14:22:47.806912 Event: Receiver Handler respond
-On: 2011-10-20 14:22:47.807094 Event: Receiver handler : Ready
-On: 2011-10-20 14:22:47.807124 Event: Start Call
-On: 2011-10-20 14:22:47.807179 Event: Waiting Feedback
-On: 2011-10-20 14:23:02.807334 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:11.854651 ------------------
-On: 2011-10-20 14:25:11.854722 Event: init Caller
-On: 2011-10-20 14:25:11.854746 Event: unisip
-On: 2011-10-20 14:25:13.859816 Event: Connected to Caller Handler
-On: 2011-10-20 14:25:13.860119 Event: Caller Handler respond
-On: 2011-10-20 14:25:13.860881 Event: Caller handler : Ready
-On: 2011-10-20 14:25:13.860919 Event: init Receiver
-On: 2011-10-20 14:25:13.860940 Event: GSMRZ3
-On: 2011-10-20 14:25:20.866295 Event: Connected to Receiver Handler
-On: 2011-10-20 14:25:20.874049 Event: Receiver Handler respond
-On: 2011-10-20 14:25:20.876230 Event: Receiver handler : Ready
-On: 2011-10-20 14:25:20.876269 Event: Start Call
-On: 2011-10-20 14:25:20.876326 Event: Waiting Feedback
-On: 2011-10-20 14:25:26.355519 Event: Test Succeed
-On: 2011-10-20 14:25:30.399221 Event:
-On: 2011-10-20 14:25:30.399277 Event: init Caller
-On: 2011-10-20 14:25:30.399297 Event: GSMRZ1
-On: 2011-10-20 14:25:32.404212 Event: Connected to Caller Handler
-On: 2011-10-20 14:25:32.404474 Event: Caller Handler respond
-On: 2011-10-20 14:25:32.404663 Event: Caller handler : Ready
-On: 2011-10-20 14:25:32.404692 Event: init Receiver
-On: 2011-10-20 14:25:32.404711 Event: GSMExt.Voda
-On: 2011-10-20 14:25:34.409938 Event: Connected to Receiver Handler
-On: 2011-10-20 14:25:34.410222 Event: Receiver Handler respond
-On: 2011-10-20 14:25:34.410407 Event: Receiver handler : Ready
-On: 2011-10-20 14:25:34.410440 Event: Start Call
-On: 2011-10-20 14:25:34.417741 Event: Waiting Feedback
-On: 2011-10-20 14:25:49.417939 Event: Test Failed
-On: 2011-10-20 14:25:53.492610 Event:
-On: 2011-10-20 14:25:53.492671 Event: init Caller
-On: 2011-10-20 14:25:53.492691 Event: landline
-On: 2011-10-20 14:25:55.504524 Event: Connected to Caller Handler
-On: 2011-10-20 14:25:55.504905 Event: Caller Handler respond
-On: 2011-10-20 14:25:55.507397 Event: Caller handler : Ready
-On: 2011-10-20 14:25:55.507436 Event: init Receiver
-On: 2011-10-20 14:25:55.507458 Event: GSMRZ3
-On: 2011-10-20 14:26:02.510721 Event: Connected to Receiver Handler
-On: 2011-10-20 14:26:02.518007 Event: Receiver Handler respond
-On: 2011-10-20 14:26:02.521248 Event: Receiver handler : Ready
-On: 2011-10-20 14:26:02.521294 Event: Start Call
-On: 2011-10-20 14:26:02.521353 Event: Waiting Feedback
-On: 2011-10-20 14:26:11.635701 Event: Test Succeed
-On: 2011-10-20 14:26:15.671752 Event:
-On: 2011-10-20 14:26:15.671810 Event: init Caller
-On: 2011-10-20 14:26:15.671830 Event: GSMRZ3
-On: 2011-10-20 14:26:22.681562 Event: Connected to Caller Handler
-On: 2011-10-20 14:26:22.689376 Event: Caller Handler respond
-On: 2011-10-20 14:26:22.691487 Event: Caller handler : Ready
-On: 2011-10-20 14:26:22.691520 Event: init Receiver
-On: 2011-10-20 14:26:22.691542 Event: sip
-On: 2011-10-20 14:26:24.696480 Event: Connected to Receiver Handler
-On: 2011-10-20 14:26:24.696875 Event: Receiver Handler respond
-On: 2011-10-20 14:26:24.697643 Event: Receiver handler : Ready
-On: 2011-10-20 14:26:24.697685 Event: Start Call
-On: 2011-10-20 14:26:24.697903 Event: Waiting Feedback
-On: 2011-10-20 14:26:28.014077 Event: Test Succeed
-On: 2011-10-20 14:26:32.054988 Event:
-On: 2011-10-20 14:26:32.055044 Event: init Caller
-On: 2011-10-20 14:26:32.055064 Event: sip
-On: 2011-10-20 14:26:34.058384 Event: Connected to Caller Handler
-On: 2011-10-20 14:26:34.058762 Event: Caller Handler respond
-On: 2011-10-20 14:26:34.059523 Event: Caller handler : Ready
-On: 2011-10-20 14:26:34.059556 Event: init Receiver
-On: 2011-10-20 14:26:34.059577 Event: GSMExt.Eplus
-On: 2011-10-20 14:26:36.062635 Event: Connected to Receiver Handler
-On: 2011-10-20 14:26:36.062905 Event: Receiver Handler respond
-On: 2011-10-20 14:26:36.063084 Event: Receiver handler : Ready
-On: 2011-10-20 14:26:36.063117 Event: Start Call
-On: 2011-10-20 14:26:36.063171 Event: Waiting Feedback
-On: 2011-10-20 14:26:51.063329 Event: Test Failed
-On: 2011-10-20 14:26:55.136188 Event:
-On: 2011-10-20 14:26:55.136249 Event: init Caller
-On: 2011-10-20 14:26:55.136268 Event: sip
-On: 2011-10-20 14:26:57.146216 Event: Connected to Caller Handler
-On: 2011-10-20 14:26:57.146598 Event: Caller Handler respond
-On: 2011-10-20 14:26:57.147667 Event: Caller handler : Ready
-On: 2011-10-20 14:26:57.147705 Event: init Receiver
-On: 2011-10-20 14:26:57.147725 Event: GSMExt.O2
-On: 2011-10-20 14:26:59.152928 Event: Connected to Receiver Handler
-On: 2011-10-20 14:26:59.153204 Event: Receiver Handler respond
-On: 2011-10-20 14:26:59.153386 Event: Receiver handler : Ready
-On: 2011-10-20 14:26:59.153420 Event: Start Call
-On: 2011-10-20 14:26:59.153472 Event: Waiting Feedback
-On: 2011-10-20 14:27:14.153626 Event: Test Failed
-On: 2011-10-20 14:27:18.230126 Event:
-On: 2011-10-20 14:27:18.230188 Event: init Caller
-On: 2011-10-20 14:27:18.230207 Event: sip
-On: 2011-10-20 14:27:20.235493 Event: Connected to Caller Handler
-On: 2011-10-20 14:27:20.235862 Event: Caller Handler respond
-On: 2011-10-20 14:27:20.236618 Event: Caller handler : Ready
-On: 2011-10-20 14:27:20.236656 Event: init Receiver
-On: 2011-10-20 14:27:20.236676 Event: GSMExt.Tm
-On: 2011-10-20 14:27:22.241990 Event: Connected to Receiver Handler
-On: 2011-10-20 14:27:22.242269 Event: Receiver Handler respond
-On: 2011-10-20 14:27:22.242453 Event: Receiver handler : Ready
-On: 2011-10-20 14:27:22.242487 Event: Start Call
-On: 2011-10-20 14:27:22.242540 Event: Waiting Feedback
-On: 2011-10-20 14:27:37.242695 Event: Test Failed
-On: 2011-10-20 14:27:41.300442 Event:
-On: 2011-10-20 14:27:41.300499 Event: init Caller
-On: 2011-10-20 14:27:41.300518 Event: sip
-On: 2011-10-20 14:27:43.312620 Event: Connected to Caller Handler
-On: 2011-10-20 14:27:43.313005 Event: Caller Handler respond
-On: 2011-10-20 14:27:43.313922 Event: Caller handler : Ready
-On: 2011-10-20 14:27:43.313966 Event: init Receiver
-On: 2011-10-20 14:27:43.313987 Event: GSMRZ2
-On: 2011-10-20 14:27:50.322271 Event: Connected to Receiver Handler
-On: 2011-10-20 14:27:50.329559 Event: Receiver Handler respond
-On: 2011-10-20 14:27:50.331865 Event: Receiver handler : Ready
-On: 2011-10-20 14:27:50.331903 Event: Start Call
-On: 2011-10-20 14:27:50.331961 Event: Waiting Feedback
-On: 2011-10-20 14:27:56.030846 Event: Test Succeed
-On: 2011-10-20 14:28:00.072668 Event:
-On: 2011-10-20 14:28:00.072725 Event: init Caller
-On: 2011-10-20 14:28:00.072745 Event: sip
-On: 2011-10-20 14:28:02.077887 Event: Connected to Caller Handler
-On: 2011-10-20 14:28:02.078273 Event: Caller Handler respond
-On: 2011-10-20 14:28:02.079044 Event: Caller handler : Ready
-On: 2011-10-20 14:28:02.079081 Event: init Receiver
-On: 2011-10-20 14:28:02.079102 Event: GSMExt.Voda
-On: 2011-10-20 14:28:04.082620 Event: Connected to Receiver Handler
-On: 2011-10-20 14:28:04.082899 Event: Receiver Handler respond
-On: 2011-10-20 14:28:04.083080 Event: Receiver handler : Ready
-On: 2011-10-20 14:28:04.083115 Event: Start Call
-On: 2011-10-20 14:28:04.083167 Event: Waiting Feedback
-On: 2011-10-20 14:28:19.083322 Event: Test Failed
-On: 2011-10-20 14:28:23.158141 Event:
-On: 2011-10-20 14:28:23.158201 Event: init Caller
-On: 2011-10-20 14:28:23.158220 Event: sip
-On: 2011-10-20 14:28:25.166058 Event: Connected to Caller Handler
-On: 2011-10-20 14:28:25.166439 Event: Caller Handler respond
-On: 2011-10-20 14:28:25.167206 Event: Caller handler : Ready
-On: 2011-10-20 14:28:25.167243 Event: init Receiver
-On: 2011-10-20 14:28:25.167264 Event: GSMRZ1
-On: 2011-10-20 14:28:27.170611 Event: Connected to Receiver Handler
-On: 2011-10-20 14:28:27.170887 Event: Receiver Handler respond
-On: 2011-10-20 14:28:27.171068 Event: Receiver handler : Ready
-On: 2011-10-20 14:28:27.171100 Event: Start Call
-On: 2011-10-20 14:28:27.171153 Event: Waiting Feedback
-On: 2011-10-20 14:28:32.769877 Event: Test Succeed
-On: 2011-10-20 14:28:36.822568 Event:
-On: 2011-10-20 14:28:36.822627 Event: init Caller
-On: 2011-10-20 14:28:36.822647 Event: GSMRZ1
-On: 2011-10-20 14:28:38.830375 Event: Connected to Caller Handler
-On: 2011-10-20 14:28:38.830661 Event: Caller Handler respond
-On: 2011-10-20 14:28:38.830852 Event: Caller handler : Ready
-On: 2011-10-20 14:28:38.830883 Event: init Receiver
-On: 2011-10-20 14:28:38.830901 Event: GSMRZ2
-On: 2011-10-20 14:28:45.838271 Event: Connected to Receiver Handler
-On: 2011-10-20 14:28:45.845851 Event: Receiver Handler respond
-On: 2011-10-20 14:28:45.848100 Event: Receiver handler : Ready
-On: 2011-10-20 14:28:45.848157 Event: Start Call
-On: 2011-10-20 14:28:45.849754 Event: Waiting Feedback
-On: 2011-10-20 14:28:49.449874 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:13.593767 ------------------
-On: 2011-10-20 14:32:13.593846 Event: init Caller
-On: 2011-10-20 14:32:13.593870 Event: unisip
-On: 2011-10-20 14:32:15.599033 Event: Connected to Caller Handler
-On: 2011-10-20 14:32:15.599349 Event: Caller Handler respond
-On: 2011-10-20 14:32:15.600483 Event: Caller handler : Ready
-On: 2011-10-20 14:32:15.600524 Event: init Receiver
-On: 2011-10-20 14:32:15.600545 Event: GSMRZ1
-On: 2011-10-20 14:32:17.605962 Event: Connected to Receiver Handler
-On: 2011-10-20 14:32:17.606247 Event: Receiver Handler respond
-On: 2011-10-20 14:32:17.606420 Event: Receiver handler : Ready
-On: 2011-10-20 14:32:17.606445 Event: Start Call
-On: 2011-10-20 14:32:17.606496 Event: Waiting Feedback
-On: 2011-10-20 14:32:24.185901 Event: Test Succeed
-On: 2011-10-20 14:32:28.226894 Event:
-On: 2011-10-20 14:32:28.226954 Event: init Caller
-On: 2011-10-20 14:32:28.226973 Event: GSMRZ2
-On: 2011-10-20 14:32:35.235363 Event: Connected to Caller Handler
-On: 2011-10-20 14:32:35.242632 Event: Caller Handler respond
-On: 2011-10-20 14:32:35.245562 Event: Caller handler : Ready
-On: 2011-10-20 14:32:35.245603 Event: init Receiver
-On: 2011-10-20 14:32:35.245625 Event: GSMExt.Voda
-On: 2011-10-20 14:32:37.250887 Event: Connected to Receiver Handler
-On: 2011-10-20 14:32:37.251164 Event: Receiver Handler respond
-On: 2011-10-20 14:32:37.251343 Event: Receiver handler : Ready
-On: 2011-10-20 14:32:37.251374 Event: Start Call
-On: 2011-10-20 14:32:37.254328 Event: Waiting Feedback
-On: 2011-10-20 14:32:52.254547 Event: Test Failed
-On: 2011-10-20 14:32:56.335265 Event:
-On: 2011-10-20 14:32:56.335331 Event: init Caller
-On: 2011-10-20 14:32:56.335351 Event: landline
-On: 2011-10-20 14:32:58.344224 Event: Connected to Caller Handler
-On: 2011-10-20 14:32:58.344611 Event: Caller Handler respond
-On: 2011-10-20 14:32:58.350805 Event: Caller handler : Ready
-On: 2011-10-20 14:32:58.350844 Event: init Receiver
-On: 2011-10-20 14:32:58.350866 Event: GSMRZ3
-On: 2011-10-20 14:33:05.359319 Event: Connected to Receiver Handler
-On: 2011-10-20 14:33:05.366947 Event: Receiver Handler respond
-On: 2011-10-20 14:33:05.369177 Event: Receiver handler : Ready
-On: 2011-10-20 14:33:05.369213 Event: Start Call
-On: 2011-10-20 14:33:05.369271 Event: Waiting Feedback
-On: 2011-10-20 14:33:14.021281 Event: Test Succeed
-On: 2011-10-20 14:33:18.055452 Event:
-On: 2011-10-20 14:33:18.055514 Event: init Caller
-On: 2011-10-20 14:33:18.055534 Event: GSMRZ3
-On: 2011-10-20 14:33:25.065387 Event: Connected to Caller Handler
-On: 2011-10-20 14:33:25.073221 Event: Caller Handler respond
-On: 2011-10-20 14:33:25.075698 Event: Caller handler : Ready
-On: 2011-10-20 14:33:25.075731 Event: init Receiver
-On: 2011-10-20 14:33:25.075754 Event: sip
-On: 2011-10-20 14:33:27.080936 Event: Connected to Receiver Handler
-On: 2011-10-20 14:33:27.081325 Event: Receiver Handler respond
-On: 2011-10-20 14:33:27.082306 Event: Receiver handler : Ready
-On: 2011-10-20 14:33:27.082341 Event: Start Call
-On: 2011-10-20 14:33:27.082496 Event: Waiting Feedback
-On: 2011-10-20 14:33:30.352044 Event: Test Succeed
-On: 2011-10-20 14:33:34.392821 Event:
-On: 2011-10-20 14:33:34.392879 Event: init Caller
-On: 2011-10-20 14:33:34.392900 Event: sip
-On: 2011-10-20 14:33:36.397766 Event: Connected to Caller Handler
-On: 2011-10-20 14:33:36.398170 Event: Caller Handler respond
-On: 2011-10-20 14:33:36.399302 Event: Caller handler : Ready
-On: 2011-10-20 14:33:36.399340 Event: init Receiver
-On: 2011-10-20 14:33:36.399361 Event: GSMExt.Eplus
-On: 2011-10-20 14:33:38.402636 Event: Connected to Receiver Handler
-On: 2011-10-20 14:33:38.402917 Event: Receiver Handler respond
-On: 2011-10-20 14:33:38.403095 Event: Receiver handler : Ready
-On: 2011-10-20 14:33:38.403125 Event: Start Call
-On: 2011-10-20 14:33:38.403178 Event: Waiting Feedback
-On: 2011-10-20 14:33:53.403335 Event: Test Failed
-On: 2011-10-20 14:33:57.475774 Event:
-On: 2011-10-20 14:33:57.475837 Event: init Caller
-On: 2011-10-20 14:33:57.475857 Event: sip
-On: 2011-10-20 14:33:59.486802 Event: Connected to Caller Handler
-On: 2011-10-20 14:33:59.487190 Event: Caller Handler respond
-On: 2011-10-20 14:33:59.488557 Event: Caller handler : Ready
-On: 2011-10-20 14:33:59.488594 Event: init Receiver
-On: 2011-10-20 14:33:59.488615 Event: GSMExt.O2
-On: 2011-10-20 14:34:01.493894 Event: Connected to Receiver Handler
-On: 2011-10-20 14:34:01.494176 Event: Receiver Handler respond
-On: 2011-10-20 14:34:01.494380 Event: Receiver handler : Ready
-On: 2011-10-20 14:34:01.494410 Event: Start Call
-On: 2011-10-20 14:34:01.494465 Event: Waiting Feedback
-On: 2011-10-20 14:34:16.494628 Event: Test Failed
-On: 2011-10-20 14:34:20.572712 Event:
-On: 2011-10-20 14:34:20.572774 Event: init Caller
-On: 2011-10-20 14:34:20.572794 Event: sip
-On: 2011-10-20 14:34:22.578596 Event: Connected to Caller Handler
-On: 2011-10-20 14:34:22.578987 Event: Caller Handler respond
-On: 2011-10-20 14:34:22.579749 Event: Caller handler : Ready
-On: 2011-10-20 14:34:22.579786 Event: init Receiver
-On: 2011-10-20 14:34:22.579807 Event: GSMExt.Tm
-On: 2011-10-20 14:34:24.585572 Event: Connected to Receiver Handler
-On: 2011-10-20 14:34:24.586032 Event: Receiver Handler respond
-On: 2011-10-20 14:34:24.586255 Event: Receiver handler : Ready
-On: 2011-10-20 14:34:24.586285 Event: Start Call
-On: 2011-10-20 14:34:24.586340 Event: Waiting Feedback
-On: 2011-10-20 14:34:39.586497 Event: Test Failed
-On: 2011-10-20 14:34:43.664056 Event:
-On: 2011-10-20 14:34:43.664121 Event: init Caller
-On: 2011-10-20 14:34:43.664141 Event: sip
-On: 2011-10-20 14:34:45.670363 Event: Connected to Caller Handler
-On: 2011-10-20 14:34:45.670754 Event: Caller Handler respond
-On: 2011-10-20 14:34:45.671512 Event: Caller handler : Ready
-On: 2011-10-20 14:34:45.671549 Event: init Receiver
-On: 2011-10-20 14:34:45.671569 Event: GSMExt.Voda
-On: 2011-10-20 14:34:47.676856 Event: Connected to Receiver Handler
-On: 2011-10-20 14:34:47.677138 Event: Receiver Handler respond
-On: 2011-10-20 14:34:47.677317 Event: Receiver handler : Ready
-On: 2011-10-20 14:34:47.677347 Event: Start Call
-On: 2011-10-20 14:34:47.677400 Event: Waiting Feedback
-On: 2011-10-20 14:35:02.677557 Event: Test Failed
-On: 2011-10-20 14:35:06.736823 Event:
-On: 2011-10-20 14:35:06.736884 Event: init Caller
-On: 2011-10-20 14:35:06.736904 Event: sip
-On: 2011-10-20 14:35:08.748663 Event: Connected to Caller Handler
-On: 2011-10-20 14:35:08.749059 Event: Caller Handler respond
-On: 2011-10-20 14:35:08.749842 Event: Caller handler : Ready
-On: 2011-10-20 14:35:08.749882 Event: init Receiver
-On: 2011-10-20 14:35:08.749904 Event: GSMRZ2
-On: 2011-10-20 14:35:15.760828 Event: Connected to Receiver Handler
-On: 2011-10-20 14:35:15.768965 Event: Receiver Handler respond
-On: 2011-10-20 14:35:15.771216 Event: Receiver handler : Ready
-On: 2011-10-20 14:35:15.771274 Event: Start Call
-On: 2011-10-20 14:35:15.771341 Event: Waiting Feedback
-On: 2011-10-20 14:35:21.143613 Event: Test Succeed
-On: 2011-10-20 14:35:25.186761 Event:
-On: 2011-10-20 14:35:25.186822 Event: init Caller
-On: 2011-10-20 14:35:25.186841 Event: GSMRZ2
-On: 2011-10-20 14:35:32.196643 Event: Connected to Caller Handler
-On: 2011-10-20 14:35:32.203803 Event: Caller Handler respond
-On: 2011-10-20 14:35:32.206909 Event: Caller handler : Ready
-On: 2011-10-20 14:35:32.206949 Event: init Receiver
-On: 2011-10-20 14:35:32.206971 Event: GSMRZ1
-On: 2011-10-20 14:35:34.212036 Event: Connected to Receiver Handler
-On: 2011-10-20 14:35:34.212324 Event: Receiver Handler respond
-On: 2011-10-20 14:35:34.212504 Event: Receiver handler : Ready
-On: 2011-10-20 14:35:34.212532 Event: Start Call
-On: 2011-10-20 14:35:34.213965 Event: Waiting Feedback
-On: 2011-10-20 14:35:39.707131 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:38:53.438628 ------------------
-On: 2011-10-20 14:38:53.438705 Event: init Caller
-On: 2011-10-20 14:38:53.438729 Event: unisip
-On: 2011-10-20 14:38:55.443685 Event: Connected to Caller Handler
-On: 2011-10-20 14:38:55.444078 Event: Caller Handler respond
-On: 2011-10-20 14:38:55.444834 Event: Caller handler : Ready
-On: 2011-10-20 14:38:55.444874 Event: init Receiver
-On: 2011-10-20 14:38:55.444895 Event: GSMRZ3
-On: 2011-10-20 14:39:02.450298 Event: Connected to Receiver Handler
-On: 2011-10-20 14:39:02.457488 Event: Receiver Handler respond
-On: 2011-10-20 14:39:02.460753 Event: Receiver handler : Ready
-On: 2011-10-20 14:39:02.460800 Event: Start Call
-On: 2011-10-20 14:39:02.460860 Event: Waiting Feedback
-On: 2011-10-20 14:39:07.849944 Event: Test Succeed
-On: 2011-10-20 14:39:11.894454 Event:
-On: 2011-10-20 14:39:11.894515 Event: init Caller
-On: 2011-10-20 14:39:11.894535 Event: GSMRZ1
-On: 2011-10-20 14:39:13.899536 Event: Connected to Caller Handler
-On: 2011-10-20 14:39:13.899813 Event: Caller Handler respond
-On: 2011-10-20 14:39:13.900000 Event: Caller handler : Ready
-On: 2011-10-20 14:39:13.900028 Event: init Receiver
-On: 2011-10-20 14:39:13.900047 Event: GSMExt.Tm
-On: 2011-10-20 14:39:15.905283 Event: Connected to Receiver Handler
-On: 2011-10-20 14:39:15.905563 Event: Receiver Handler respond
-On: 2011-10-20 14:39:15.905916 Event: Receiver handler : Ready
-On: 2011-10-20 14:39:15.905958 Event: Start Call
-On: 2011-10-20 14:39:15.909876 Event: Waiting Feedback
-On: 2011-10-20 14:39:30.910085 Event: Test Failed
-On: 2011-10-20 14:39:34.990204 Event:
-On: 2011-10-20 14:39:34.990268 Event: init Caller
-On: 2011-10-20 14:39:34.990288 Event: landline
-On: 2011-10-20 14:39:36.994957 Event: Connected to Caller Handler
-On: 2011-10-20 14:39:36.995347 Event: Caller Handler respond
-On: 2011-10-20 14:39:36.998383 Event: Caller handler : Ready
-On: 2011-10-20 14:39:36.998422 Event: init Receiver
-On: 2011-10-20 14:39:36.998442 Event: GSMRZ2
-On: 2011-10-20 14:39:44.007313 Event: Connected to Receiver Handler
-On: 2011-10-20 14:39:44.015189 Event: Receiver Handler respond
-On: 2011-10-20 14:39:44.017473 Event: Receiver handler : Ready
-On: 2011-10-20 14:39:44.017509 Event: Start Call
-On: 2011-10-20 14:39:44.017568 Event: Waiting Feedback
-On: 2011-10-20 14:39:55.549350 Event: Test Succeed
-On: 2011-10-20 14:39:59.585383 Event:
-On: 2011-10-20 14:39:59.585443 Event: init Caller
-On: 2011-10-20 14:39:59.585462 Event: GSMRZ2
-On: 2011-10-20 14:40:06.595265 Event: Connected to Caller Handler
-On: 2011-10-20 14:40:06.603083 Event: Caller Handler respond
-On: 2011-10-20 14:40:06.605317 Event: Caller handler : Ready
-On: 2011-10-20 14:40:06.605352 Event: init Receiver
-On: 2011-10-20 14:40:06.605375 Event: sip
-On: 2011-10-20 14:40:08.610249 Event: Connected to Receiver Handler
-On: 2011-10-20 14:40:08.610636 Event: Receiver Handler respond
-On: 2011-10-20 14:40:08.611378 Event: Receiver handler : Ready
-On: 2011-10-20 14:40:08.611418 Event: Start Call
-On: 2011-10-20 14:40:08.611577 Event: Waiting Feedback
-On: 2011-10-20 14:40:12.070466 Event: Test Succeed
-On: 2011-10-20 14:40:16.111445 Event:
-On: 2011-10-20 14:40:16.111502 Event: init Caller
-On: 2011-10-20 14:40:16.111522 Event: sip
-On: 2011-10-20 14:40:18.116285 Event: Connected to Caller Handler
-On: 2011-10-20 14:40:18.116673 Event: Caller Handler respond
-On: 2011-10-20 14:40:18.117440 Event: Caller handler : Ready
-On: 2011-10-20 14:40:18.117476 Event: init Receiver
-On: 2011-10-20 14:40:18.117496 Event: GSMExt.Eplus
-On: 2011-10-20 14:40:20.122793 Event: Connected to Receiver Handler
-On: 2011-10-20 14:40:20.123071 Event: Receiver Handler respond
-On: 2011-10-20 14:40:20.123250 Event: Receiver handler : Ready
-On: 2011-10-20 14:40:20.123279 Event: Start Call
-On: 2011-10-20 14:40:20.123333 Event: Waiting Feedback
-On: 2011-10-20 14:40:35.123490 Event: Test Failed
-On: 2011-10-20 14:40:39.196331 Event:
-On: 2011-10-20 14:40:39.196394 Event: init Caller
-On: 2011-10-20 14:40:39.196413 Event: sip
-On: 2011-10-20 14:40:41.206404 Event: Connected to Caller Handler
-On: 2011-10-20 14:40:41.206789 Event: Caller Handler respond
-On: 2011-10-20 14:40:41.207656 Event: Caller handler : Ready
-On: 2011-10-20 14:40:41.207689 Event: init Receiver
-On: 2011-10-20 14:40:41.207710 Event: GSMExt.O2
-On: 2011-10-20 14:40:43.213164 Event: Connected to Receiver Handler
-On: 2011-10-20 14:40:43.213440 Event: Receiver Handler respond
-On: 2011-10-20 14:40:43.213616 Event: Receiver handler : Ready
-On: 2011-10-20 14:40:43.213646 Event: Start Call
-On: 2011-10-20 14:40:43.213697 Event: Waiting Feedback
-On: 2011-10-20 14:40:58.217958 Event: Test Failed
-On: 2011-10-20 14:41:02.294913 Event:
-On: 2011-10-20 14:41:02.294977 Event: init Caller
-On: 2011-10-20 14:41:02.294996 Event: sip
-On: 2011-10-20 14:41:04.301251 Event: Connected to Caller Handler
-On: 2011-10-20 14:41:04.301636 Event: Caller Handler respond
-On: 2011-10-20 14:41:04.302574 Event: Caller handler : Ready
-On: 2011-10-20 14:41:04.302617 Event: init Receiver
-On: 2011-10-20 14:41:04.302638 Event: GSMExt.Voda
-On: 2011-10-20 14:41:06.306628 Event: Connected to Receiver Handler
-On: 2011-10-20 14:41:06.306911 Event: Receiver Handler respond
-On: 2011-10-20 14:41:06.307094 Event: Receiver handler : Ready
-On: 2011-10-20 14:41:06.307123 Event: Start Call
-On: 2011-10-20 14:41:06.307175 Event: Waiting Feedback
-On: 2011-10-20 14:41:21.307331 Event: Test Failed
-On: 2011-10-20 14:41:25.384864 Event:
-On: 2011-10-20 14:41:25.384927 Event: init Caller
-On: 2011-10-20 14:41:25.384947 Event: sip
-On: 2011-10-20 14:41:27.390772 Event: Connected to Caller Handler
-On: 2011-10-20 14:41:27.391163 Event: Caller Handler respond
-On: 2011-10-20 14:41:27.391901 Event: Caller handler : Ready
-On: 2011-10-20 14:41:27.391939 Event: init Receiver
-On: 2011-10-20 14:41:27.391960 Event: GSMExt.Tm
-On: 2011-10-20 14:41:29.397262 Event: Connected to Receiver Handler
-On: 2011-10-20 14:41:29.397540 Event: Receiver Handler respond
-On: 2011-10-20 14:41:29.397760 Event: Receiver handler : Ready
-On: 2011-10-20 14:41:29.397791 Event: Start Call
-On: 2011-10-20 14:41:29.397844 Event: Waiting Feedback
-On: 2011-10-20 14:41:44.397999 Event: Test Failed
-On: 2011-10-20 14:41:48.472762 Event:
-On: 2011-10-20 14:41:48.472821 Event: init Caller
-On: 2011-10-20 14:41:48.472840 Event: sip
-On: 2011-10-20 14:41:50.482557 Event: Connected to Caller Handler
-On: 2011-10-20 14:41:50.482945 Event: Caller Handler respond
-On: 2011-10-20 14:41:50.483703 Event: Caller handler : Ready
-On: 2011-10-20 14:41:50.483740 Event: init Receiver
-On: 2011-10-20 14:41:50.483761 Event: GSMRZ1
-On: 2011-10-20 14:41:52.487079 Event: Connected to Receiver Handler
-On: 2011-10-20 14:41:52.487362 Event: Receiver Handler respond
-On: 2011-10-20 14:41:52.487569 Event: Receiver handler : Ready
-On: 2011-10-20 14:41:52.487600 Event: Start Call
-On: 2011-10-20 14:41:52.487655 Event: Waiting Feedback
-On: 2011-10-20 14:41:58.481872 Event: Test Succeed
-On: 2011-10-20 14:42:02.522238 Event:
-On: 2011-10-20 14:42:02.522301 Event: init Caller
-On: 2011-10-20 14:42:02.522321 Event: GSMRZ1
-On: 2011-10-20 14:42:04.526640 Event: Connected to Caller Handler
-On: 2011-10-20 14:42:04.526915 Event: Caller Handler respond
-On: 2011-10-20 14:42:04.527098 Event: Caller handler : Ready
-On: 2011-10-20 14:42:04.527126 Event: init Receiver
-On: 2011-10-20 14:42:04.527145 Event: GSMRZ2
-On: 2011-10-20 14:42:11.537992 Event: Connected to Receiver Handler
-On: 2011-10-20 14:42:11.546113 Event: Receiver Handler respond
-On: 2011-10-20 14:42:11.548259 Event: Receiver handler : Ready
-On: 2011-10-20 14:42:11.548295 Event: Start Call
-On: 2011-10-20 14:42:11.551493 Event: Waiting Feedback
-On: 2011-10-20 14:42:16.229867 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:55:30.017862 ------------------
-On: 2011-10-20 14:55:30.017940 Event: init Caller
-On: 2011-10-20 14:55:30.017964 Event: unisip
-On: 2011-10-20 14:55:32.022775 Event: Connected to Caller Handler
-On: 2011-10-20 14:55:32.023070 Event: Caller Handler respond
-On: 2011-10-20 14:55:32.024189 Event: Caller handler : Ready
-On: 2011-10-20 14:55:32.024228 Event: init Receiver
-On: 2011-10-20 14:55:32.024249 Event: GSMRZ3
-On: 2011-10-20 14:55:39.034411 Event: Connected to Receiver Handler
-On: 2011-10-20 14:55:39.041775 Event: Receiver Handler respond
-On: 2011-10-20 14:55:39.044428 Event: Receiver handler : Ready
-On: 2011-10-20 14:55:39.044466 Event: Start Call
-On: 2011-10-20 14:55:39.044524 Event: Waiting Feedback
-On: 2011-10-20 14:55:44.266007 Event: Test Succeed
-On: 2011-10-20 14:55:48.310433 Event:
-On: 2011-10-20 14:55:48.310495 Event: init Caller
-On: 2011-10-20 14:55:48.310515 Event: GSMRZ1
-On: 2011-10-20 14:55:50.315532 Event: Connected to Caller Handler
-On: 2011-10-20 14:55:50.315798 Event: Caller Handler respond
-On: 2011-10-20 14:55:50.315975 Event: Caller handler : Ready
-On: 2011-10-20 14:55:50.315998 Event: init Receiver
-On: 2011-10-20 14:55:50.316016 Event: GSMExt.Eplus
-On: 2011-10-20 14:55:52.321409 Event: Connected to Receiver Handler
-On: 2011-10-20 14:55:52.321687 Event: Receiver Handler respond
-On: 2011-10-20 14:55:52.322067 Event: Receiver handler : Ready
-On: 2011-10-20 14:55:52.322105 Event: Start Call
-On: 2011-10-20 14:55:52.325868 Event: Waiting Feedback
-On: 2011-10-20 14:56:07.326074 Event: Test Failed
-On: 2011-10-20 14:56:11.410155 Event:
-On: 2011-10-20 14:56:11.410216 Event: init Caller
-On: 2011-10-20 14:56:11.410236 Event: landline
-On: 2011-10-20 14:56:13.416221 Event: Connected to Caller Handler
-On: 2011-10-20 14:56:13.416598 Event: Caller Handler respond
-On: 2011-10-20 14:56:13.418942 Event: Caller handler : Ready
-On: 2011-10-20 14:56:13.418978 Event: init Receiver
-On: 2011-10-20 14:56:13.418999 Event: GSMRZ2
-On: 2011-10-20 14:56:20.422381 Event: Connected to Receiver Handler
-On: 2011-10-20 14:56:20.429749 Event: Receiver Handler respond
-On: 2011-10-20 14:56:20.432534 Event: Receiver handler : Ready
-On: 2011-10-20 14:56:20.432581 Event: Start Call
-On: 2011-10-20 14:56:20.432644 Event: Waiting Feedback
-On: 2011-10-20 14:56:34.135596 Event: Test Succeed
-On: 2011-10-20 14:56:38.172585 Event:
-On: 2011-10-20 14:56:38.172643 Event: init Caller
-On: 2011-10-20 14:56:38.172662 Event: GSMRZ2
-On: 2011-10-20 14:56:45.182498 Event: Connected to Caller Handler
-On: 2011-10-20 14:56:45.189548 Event: Caller Handler respond
-On: 2011-10-20 14:56:45.192605 Event: Caller handler : Ready
-On: 2011-10-20 14:56:45.192647 Event: init Receiver
-On: 2011-10-20 14:56:45.192669 Event: sip
-On: 2011-10-20 14:56:47.197890 Event: Connected to Receiver Handler
-On: 2011-10-20 14:56:47.198194 Event: Receiver Handler respond
-On: 2011-10-20 14:56:47.198951 Event: Receiver handler : Ready
-On: 2011-10-20 14:56:47.198990 Event: Start Call
-On: 2011-10-20 14:56:47.199240 Event: Waiting Feedback
-On: 2011-10-20 14:56:51.114459 Event: Test Succeed
-On: 2011-10-20 14:56:55.160046 Event:
-On: 2011-10-20 14:56:55.160105 Event: init Caller
-On: 2011-10-20 14:56:55.160125 Event: sip
-On: 2011-10-20 14:56:57.165072 Event: Connected to Caller Handler
-On: 2011-10-20 14:56:57.165355 Event: Caller Handler respond
-On: 2011-10-20 14:56:57.166170 Event: Caller handler : Ready
-On: 2011-10-20 14:56:57.166206 Event: init Receiver
-On: 2011-10-20 14:56:57.166227 Event: GSMExt.O2
-On: 2011-10-20 14:56:59.170625 Event: Connected to Receiver Handler
-On: 2011-10-20 14:56:59.170907 Event: Receiver Handler respond
-On: 2011-10-20 14:56:59.171088 Event: Receiver handler : Ready
-On: 2011-10-20 14:56:59.171117 Event: Start Call
-On: 2011-10-20 14:56:59.171169 Event: Waiting Feedback
-On: 2011-10-20 14:57:14.171325 Event: Test Failed
-On: 2011-10-20 14:57:18.274317 Event:
-On: 2011-10-20 14:57:18.274373 Event: init Caller
-On: 2011-10-20 14:57:18.274393 Event: sip
-On: 2011-10-20 14:57:20.288750 Event: Connected to Caller Handler
-On: 2011-10-20 14:57:20.289038 Event: Caller Handler respond
-On: 2011-10-20 14:57:20.290293 Event: Caller handler : Ready
-On: 2011-10-20 14:57:20.290334 Event: init Receiver
-On: 2011-10-20 14:57:20.290355 Event: GSMExt.Tm
-On: 2011-10-20 14:57:22.294640 Event: Connected to Receiver Handler
-On: 2011-10-20 14:57:22.294926 Event: Receiver Handler respond
-On: 2011-10-20 14:57:22.295108 Event: Receiver handler : Ready
-On: 2011-10-20 14:57:22.295139 Event: Start Call
-On: 2011-10-20 14:57:22.295193 Event: Waiting Feedback
-On: 2011-10-20 14:57:37.295347 Event: Test Failed
-On: 2011-10-20 14:57:41.370144 Event:
-On: 2011-10-20 14:57:41.370206 Event: init Caller
-On: 2011-10-20 14:57:41.370225 Event: sip
-On: 2011-10-20 14:57:43.378726 Event: Connected to Caller Handler
-On: 2011-10-20 14:57:43.379120 Event: Caller Handler respond
-On: 2011-10-20 14:57:43.379889 Event: Caller handler : Ready
-On: 2011-10-20 14:57:43.379926 Event: init Receiver
-On: 2011-10-20 14:57:43.379946 Event: GSMExt.Voda
-On: 2011-10-20 14:57:45.385764 Event: Connected to Receiver Handler
-On: 2011-10-20 14:57:45.386054 Event: Receiver Handler respond
-On: 2011-10-20 14:57:45.386230 Event: Receiver handler : Ready
-On: 2011-10-20 14:57:45.386256 Event: Start Call
-On: 2011-10-20 14:57:45.386309 Event: Waiting Feedback
-On: 2011-10-20 14:58:00.386467 Event: Test Failed
-On: 2011-10-20 14:58:04.462071 Event:
-On: 2011-10-20 14:58:04.462133 Event: init Caller
-On: 2011-10-20 14:58:04.462152 Event: sip
-On: 2011-10-20 14:58:06.468996 Event: Connected to Caller Handler
-On: 2011-10-20 14:58:06.469387 Event: Caller Handler respond
-On: 2011-10-20 14:58:06.470692 Event: Caller handler : Ready
-On: 2011-10-20 14:58:06.470731 Event: init Receiver
-On: 2011-10-20 14:58:06.470752 Event: GSMExt.Eplus
-On: 2011-10-20 14:58:08.474632 Event: Connected to Receiver Handler
-On: 2011-10-20 14:58:08.474919 Event: Receiver Handler respond
-On: 2011-10-20 14:58:08.475106 Event: Receiver handler : Ready
-On: 2011-10-20 14:58:08.475137 Event: Start Call
-On: 2011-10-20 14:58:08.475191 Event: Waiting Feedback
-On: 2011-10-20 14:58:23.475356 Event: Test Failed
-On: 2011-10-20 14:58:27.551968 Event:
-On: 2011-10-20 14:58:27.552029 Event: init Caller
-On: 2011-10-20 14:58:27.552049 Event: sip
-On: 2011-10-20 14:58:29.558363 Event: Connected to Caller Handler
-On: 2011-10-20 14:58:29.558660 Event: Caller Handler respond
-On: 2011-10-20 14:58:29.559424 Event: Caller handler : Ready
-On: 2011-10-20 14:58:29.559461 Event: init Receiver
-On: 2011-10-20 14:58:29.559482 Event: GSMRZ1
-On: 2011-10-20 14:58:31.565484 Event: Connected to Receiver Handler
-On: 2011-10-20 14:58:31.565815 Event: Receiver Handler respond
-On: 2011-10-20 14:58:31.566010 Event: Receiver handler : Ready
-On: 2011-10-20 14:58:31.566040 Event: Start Call
-On: 2011-10-20 14:58:31.566096 Event: Waiting Feedback
-On: 2011-10-20 14:58:36.541935 Event: Test Succeed
-On: 2011-10-20 14:58:40.582308 Event:
-On: 2011-10-20 14:58:40.582368 Event: init Caller
-On: 2011-10-20 14:58:40.582388 Event: GSMRZ2
-On: 2011-10-20 14:58:47.592223 Event: Connected to Caller Handler
-On: 2011-10-20 14:58:47.598919 Event: Caller Handler respond
-On: 2011-10-20 14:58:47.601069 Event: Caller handler : Ready
-On: 2011-10-20 14:58:47.601103 Event: init Receiver
-On: 2011-10-20 14:58:47.601124 Event: GSMRZ1
-On: 2011-10-20 14:58:49.606415 Event: Connected to Receiver Handler
-On: 2011-10-20 14:58:49.606699 Event: Receiver Handler respond
-On: 2011-10-20 14:58:49.606882 Event: Receiver handler : Ready
-On: 2011-10-20 14:58:49.606911 Event: Start Call
-On: 2011-10-20 14:58:49.609963 Event: Waiting Feedback
-On: 2011-10-20 14:58:55.010644 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:09.573230 ------------------
-On: 2011-10-20 15:00:09.573304 Event: init Caller
-On: 2011-10-20 15:00:09.573328 Event: unisip
-On: 2011-10-20 15:00:11.578546 Event: Connected to Caller Handler
-On: 2011-10-20 15:00:11.578855 Event: Caller Handler respond
-On: 2011-10-20 15:00:11.579626 Event: Caller handler : Ready
-On: 2011-10-20 15:00:11.579664 Event: init Receiver
-On: 2011-10-20 15:00:11.579686 Event: GSMRZ1
-On: 2011-10-20 15:00:13.585240 Event: Connected to Receiver Handler
-On: 2011-10-20 15:00:13.585521 Event: Receiver Handler respond
-On: 2011-10-20 15:00:13.585904 Event: Receiver handler : Ready
-On: 2011-10-20 15:00:13.585951 Event: Start Call
-On: 2011-10-20 15:00:13.586027 Event: Waiting Feedback
-On: 2011-10-20 15:00:18.993874 Event: Test Succeed
-On: 2011-10-20 15:00:23.033767 Event:
-On: 2011-10-20 15:00:23.033828 Event: init Caller
-On: 2011-10-20 15:00:23.033849 Event: GSMRZ2
-On: 2011-10-20 15:00:30.043613 Event: Connected to Caller Handler
-On: 2011-10-20 15:00:30.050734 Event: Caller Handler respond
-On: 2011-10-20 15:00:30.053830 Event: Caller handler : Ready
-On: 2011-10-20 15:00:30.053875 Event: init Receiver
-On: 2011-10-20 15:00:30.053898 Event: GSMExt.Voda
-On: 2011-10-20 15:00:32.059058 Event: Connected to Receiver Handler
-On: 2011-10-20 15:00:32.059344 Event: Receiver Handler respond
-On: 2011-10-20 15:00:32.059525 Event: Receiver handler : Ready
-On: 2011-10-20 15:00:32.059556 Event: Start Call
-On: 2011-10-20 15:00:32.061853 Event: Waiting Feedback
-On: 2011-10-20 15:00:47.062060 Event: Test Failed
-On: 2011-10-20 15:00:51.146175 Event:
-On: 2011-10-20 15:00:51.146237 Event: init Caller
-On: 2011-10-20 15:00:51.146257 Event: landline
-On: 2011-10-20 15:00:53.149351 Event: Connected to Caller Handler
-On: 2011-10-20 15:00:53.149964 Event: Caller Handler respond
-On: 2011-10-20 15:00:53.152509 Event: Caller handler : Ready
-On: 2011-10-20 15:00:53.152547 Event: init Receiver
-On: 2011-10-20 15:00:53.152569 Event: GSMRZ3
-On: 2011-10-20 15:01:00.160224 Event: Connected to Receiver Handler
-On: 2011-10-20 15:01:00.167112 Event: Receiver Handler respond
-On: 2011-10-20 15:01:00.170338 Event: Receiver handler : Ready
-On: 2011-10-20 15:01:00.170398 Event: Start Call
-On: 2011-10-20 15:01:00.170469 Event: Waiting Feedback
-On: 2011-10-20 15:01:10.547444 Event: Test Succeed
-On: 2011-10-20 15:01:14.587913 Event:
-On: 2011-10-20 15:01:14.587971 Event: init Caller
-On: 2011-10-20 15:01:14.587992 Event: sip
-On: 2011-10-20 15:01:16.592799 Event: Connected to Caller Handler
-On: 2011-10-20 15:01:16.593184 Event: Caller Handler respond
-On: 2011-10-20 15:01:16.594466 Event: Caller handler : Ready
-On: 2011-10-20 15:01:16.594502 Event: init Receiver
-On: 2011-10-20 15:01:16.594525 Event: GSMExt.Eplus
-On: 2011-10-20 15:01:18.598635 Event: Connected to Receiver Handler
-On: 2011-10-20 15:01:18.598917 Event: Receiver Handler respond
-On: 2011-10-20 15:01:18.599099 Event: Receiver handler : Ready
-On: 2011-10-20 15:01:18.599129 Event: Start Call
-On: 2011-10-20 15:01:18.599183 Event: Waiting Feedback
-On: 2011-10-20 15:01:33.599340 Event: Test Failed
-On: 2011-10-20 15:01:37.672074 Event:
-On: 2011-10-20 15:01:37.672136 Event: init Caller
-On: 2011-10-20 15:01:37.672157 Event: sip
-On: 2011-10-20 15:01:39.681949 Event: Connected to Caller Handler
-On: 2011-10-20 15:01:39.682339 Event: Caller Handler respond
-On: 2011-10-20 15:01:39.683113 Event: Caller handler : Ready
-On: 2011-10-20 15:01:39.683150 Event: init Receiver
-On: 2011-10-20 15:01:39.683171 Event: GSMExt.O2
-On: 2011-10-20 15:01:41.686636 Event: Connected to Receiver Handler
-On: 2011-10-20 15:01:41.686918 Event: Receiver Handler respond
-On: 2011-10-20 15:01:41.687099 Event: Receiver handler : Ready
-On: 2011-10-20 15:01:41.687128 Event: Start Call
-On: 2011-10-20 15:01:41.687183 Event: Waiting Feedback
-On: 2011-10-20 15:01:56.687342 Event: Test Failed
-On: 2011-10-20 15:02:00.763895 Event:
-On: 2011-10-20 15:02:00.763957 Event: init Caller
-On: 2011-10-20 15:02:00.763977 Event: sip
-On: 2011-10-20 15:02:02.770270 Event: Connected to Caller Handler
-On: 2011-10-20 15:02:02.770567 Event: Caller Handler respond
-On: 2011-10-20 15:02:02.771615 Event: Caller handler : Ready
-On: 2011-10-20 15:02:02.771651 Event: init Receiver
-On: 2011-10-20 15:02:02.771673 Event: GSMExt.Tm
-On: 2011-10-20 15:02:04.777461 Event: Connected to Receiver Handler
-On: 2011-10-20 15:02:04.777933 Event: Receiver Handler respond
-On: 2011-10-20 15:02:04.778174 Event: Receiver handler : Ready
-On: 2011-10-20 15:02:04.778207 Event: Start Call
-On: 2011-10-20 15:02:04.778262 Event: Waiting Feedback
-On: 2011-10-20 15:02:19.778416 Event: Test Failed
-On: 2011-10-20 15:02:23.855619 Event:
-On: 2011-10-20 15:02:23.855682 Event: init Caller
-On: 2011-10-20 15:02:23.855701 Event: sip
-On: 2011-10-20 15:02:25.861897 Event: Connected to Caller Handler
-On: 2011-10-20 15:02:25.862293 Event: Caller Handler respond
-On: 2011-10-20 15:02:25.863061 Event: Caller handler : Ready
-On: 2011-10-20 15:02:25.863098 Event: init Receiver
-On: 2011-10-20 15:02:25.863120 Event: GSMExt.Voda
-On: 2011-10-20 15:02:27.866625 Event: Connected to Receiver Handler
-On: 2011-10-20 15:02:27.866910 Event: Receiver Handler respond
-On: 2011-10-20 15:02:27.867095 Event: Receiver handler : Ready
-On: 2011-10-20 15:02:27.867126 Event: Start Call
-On: 2011-10-20 15:02:27.867180 Event: Waiting Feedback
-On: 2011-10-20 15:02:42.867340 Event: Test Failed
-On: 2011-10-20 15:02:46.924864 Event:
-On: 2011-10-20 15:02:46.924924 Event: init Caller
-On: 2011-10-20 15:02:46.924944 Event: sip
-On: 2011-10-20 15:02:48.940618 Event: Connected to Caller Handler
-On: 2011-10-20 15:02:48.941008 Event: Caller Handler respond
-On: 2011-10-20 15:02:48.941812 Event: Caller handler : Ready
-On: 2011-10-20 15:02:48.941849 Event: init Receiver
-On: 2011-10-20 15:02:48.941871 Event: GSMRZ2
-On: 2011-10-20 15:02:55.946265 Event: Connected to Receiver Handler
-On: 2011-10-20 15:02:55.953627 Event: Receiver Handler respond
-On: 2011-10-20 15:02:55.955753 Event: Receiver handler : Ready
-On: 2011-10-20 15:02:55.955790 Event: Start Call
-On: 2011-10-20 15:02:55.955851 Event: Waiting Feedback
-On: 2011-10-20 15:03:01.107077 Event: Test Succeed
-On: 2011-10-20 15:03:05.143655 Event:
-On: 2011-10-20 15:03:05.143715 Event: init Caller
-On: 2011-10-20 15:03:05.143735 Event: GSMRZ2
-On: 2011-10-20 15:03:12.153589 Event: Connected to Caller Handler
-On: 2011-10-20 15:03:12.161463 Event: Caller Handler respond
-On: 2011-10-20 15:03:12.163825 Event: Caller handler : Ready
-On: 2011-10-20 15:03:12.163881 Event: init Receiver
-On: 2011-10-20 15:03:12.163903 Event: GSMRZ3
-On: 2011-10-20 15:03:19.173838 Event: Connected to Receiver Handler
-On: 2011-10-20 15:03:19.181590 Event: Receiver Handler respond
-On: 2011-10-20 15:03:19.184277 Event: Receiver handler : Ready
-On: 2011-10-20 15:03:19.184322 Event: Start Call
-On: 2011-10-20 15:03:19.184385 Event: Waiting Feedback
-On: 2011-10-20 15:03:23.576557 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:16:17.717995 ------------------
-On: 2011-10-20 15:16:17.718074 Event: init Caller
-On: 2011-10-20 15:16:17.718099 Event: unisip
-On: 2011-10-20 15:16:19.722806 Event: Connected to Caller Handler
-On: 2011-10-20 15:16:19.723116 Event: Caller Handler respond
-On: 2011-10-20 15:16:19.724239 Event: Caller handler : Ready
-On: 2011-10-20 15:16:19.724278 Event: init Receiver
-On: 2011-10-20 15:16:19.724299 Event: GSMRZ1
-On: 2011-10-20 15:16:21.730738 Event: Cannt connect to Receiver
-On: 2011-10-20 15:16:21.730809 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-20 15:16:25.810035 Event:
-On: 2011-10-20 15:16:25.810105 Event: init Caller
-On: 2011-10-20 15:16:25.810125 Event: GSMRZ2
-On: 2011-10-20 15:16:32.818708 Event: Connected to Caller Handler
-On: 2011-10-20 15:16:32.826260 Event: Caller Handler respond
-On: 2011-10-20 15:16:32.828748 Event: Caller handler : Ready
-On: 2011-10-20 15:16:32.828815 Event: init Receiver
-On: 2011-10-20 15:16:32.828838 Event: GSMExt.Voda
-On: 2011-10-20 15:16:34.834378 Event: Connected to Receiver Handler
-On: 2011-10-20 15:16:34.834702 Event: Receiver Handler respond
-On: 2011-10-20 15:16:34.834888 Event: Receiver handler : Ready
-On: 2011-10-20 15:16:34.834918 Event: Start Call
-On: 2011-10-20 15:16:34.837920 Event: Waiting Feedback
-On: 2011-10-20 15:16:49.838139 Event: Test Failed
-On: 2011-10-20 15:16:53.922136 Event:
-On: 2011-10-20 15:16:53.922197 Event: init Caller
-On: 2011-10-20 15:16:53.922216 Event: landline
-On: 2011-10-20 15:16:55.932618 Event: Connected to Caller Handler
-On: 2011-10-20 15:16:55.933012 Event: Caller Handler respond
-On: 2011-10-20 15:16:55.941382 Event: Caller handler : Ready
-On: 2011-10-20 15:16:55.941419 Event: init Receiver
-On: 2011-10-20 15:16:55.941440 Event: GSMRZ3
-On: 2011-10-20 15:17:02.948557 Event: Connected to Receiver Handler
-On: 2011-10-20 15:17:02.955998 Event: Receiver Handler respond
-On: 2011-10-20 15:17:02.959417 Event: Receiver handler : Ready
-On: 2011-10-20 15:17:02.959466 Event: Start Call
-On: 2011-10-20 15:17:02.959530 Event: Waiting Feedback
-On: 2011-10-20 15:17:12.586901 Event: Test Succeed
-On: 2011-10-20 15:17:16.632529 Event:
-On: 2011-10-20 15:17:16.632586 Event: init Caller
-On: 2011-10-20 15:17:16.632607 Event: sip
-On: 2011-10-20 15:17:18.637556 Event: Connected to Caller Handler
-On: 2011-10-20 15:17:18.637982 Event: Caller Handler respond
-On: 2011-10-20 15:17:18.638745 Event: Caller handler : Ready
-On: 2011-10-20 15:17:18.638783 Event: init Receiver
-On: 2011-10-20 15:17:18.638804 Event: GSMExt.Eplus
-On: 2011-10-20 15:17:20.642629 Event: Connected to Receiver Handler
-On: 2011-10-20 15:17:20.642896 Event: Receiver Handler respond
-On: 2011-10-20 15:17:20.643066 Event: Receiver handler : Ready
-On: 2011-10-20 15:17:20.643092 Event: Start Call
-On: 2011-10-20 15:17:20.643143 Event: Waiting Feedback
-On: 2011-10-20 15:17:35.643305 Event: Test Failed
-On: 2011-10-20 15:17:39.720810 Event:
-On: 2011-10-20 15:17:39.720873 Event: init Caller
-On: 2011-10-20 15:17:39.720893 Event: sip
-On: 2011-10-20 15:17:41.726534 Event: Connected to Caller Handler
-On: 2011-10-20 15:17:41.726830 Event: Caller Handler respond
-On: 2011-10-20 15:17:41.727589 Event: Caller handler : Ready
-On: 2011-10-20 15:17:41.727627 Event: init Receiver
-On: 2011-10-20 15:17:41.727648 Event: GSMExt.O2
-On: 2011-10-20 15:17:43.733031 Event: Connected to Receiver Handler
-On: 2011-10-20 15:17:43.733316 Event: Receiver Handler respond
-On: 2011-10-20 15:17:43.733496 Event: Receiver handler : Ready
-On: 2011-10-20 15:17:43.733526 Event: Start Call
-On: 2011-10-20 15:17:43.733578 Event: Waiting Feedback
-On: 2011-10-20 15:17:58.733750 Event: Test Failed
-On: 2011-10-20 15:18:02.812625 Event:
-On: 2011-10-20 15:18:02.812689 Event: init Caller
-On: 2011-10-20 15:18:02.812710 Event: sip
-On: 2011-10-20 15:18:04.818978 Event: Connected to Caller Handler
-On: 2011-10-20 15:18:04.819302 Event: Caller Handler respond
-On: 2011-10-20 15:18:04.820179 Event: Caller handler : Ready
-On: 2011-10-20 15:18:04.820217 Event: init Receiver
-On: 2011-10-20 15:18:04.820238 Event: GSMExt.Tm
-On: 2011-10-20 15:18:06.827795 Event: Connected to Receiver Handler
-On: 2011-10-20 15:18:06.828082 Event: Receiver Handler respond
-On: 2011-10-20 15:18:06.828266 Event: Receiver handler : Ready
-On: 2011-10-20 15:18:06.828297 Event: Start Call
-On: 2011-10-20 15:18:06.828349 Event: Waiting Feedback
-On: 2011-10-20 15:18:21.828509 Event: Test Failed
-On: 2011-10-20 15:18:25.938250 Event:
-On: 2011-10-20 15:18:25.938312 Event: init Caller
-On: 2011-10-20 15:18:25.938332 Event: sip
-On: 2011-10-20 15:18:27.941425 Event: Connected to Caller Handler
-On: 2011-10-20 15:18:27.941770 Event: Caller Handler respond
-On: 2011-10-20 15:18:27.942562 Event: Caller handler : Ready
-On: 2011-10-20 15:18:27.942600 Event: init Receiver
-On: 2011-10-20 15:18:27.942622 Event: GSMExt.Voda
-On: 2011-10-20 15:18:29.947264 Event: Connected to Receiver Handler
-On: 2011-10-20 15:18:29.947553 Event: Receiver Handler respond
-On: 2011-10-20 15:18:29.947738 Event: Receiver handler : Ready
-On: 2011-10-20 15:18:29.947769 Event: Start Call
-On: 2011-10-20 15:18:29.948961 Event: Waiting Feedback
-On: 2011-10-20 15:18:44.949215 Event: Test Failed
-On: 2011-10-20 15:18:49.017319 Event:
-On: 2011-10-20 15:18:49.017380 Event: init Caller
-On: 2011-10-20 15:18:49.017400 Event: sip
-On: 2011-10-20 15:18:51.021050 Event: Connected to Caller Handler
-On: 2011-10-20 15:18:51.021342 Event: Caller Handler respond
-On: 2011-10-20 15:18:51.022171 Event: Caller handler : Ready
-On: 2011-10-20 15:18:51.022210 Event: init Receiver
-On: 2011-10-20 15:18:51.022231 Event: GSMRZ2
-On: 2011-10-20 15:18:58.030274 Event: Connected to Receiver Handler
-On: 2011-10-20 15:18:58.037496 Event: Receiver Handler respond
-On: 2011-10-20 15:18:58.040595 Event: Receiver handler : Ready
-On: 2011-10-20 15:18:58.040663 Event: Start Call
-On: 2011-10-20 15:18:58.040735 Event: Waiting Feedback
-On: 2011-10-20 15:19:04.320891 Event: Test Succeed
-On: 2011-10-20 15:19:08.370882 Event:
-On: 2011-10-20 15:19:08.370944 Event: init Caller
-On: 2011-10-20 15:19:08.370964 Event: GSMRZ2
-On: 2011-10-20 15:19:15.380913 Event: Connected to Caller Handler
-On: 2011-10-20 15:19:15.388152 Event: Caller Handler respond
-On: 2011-10-20 15:19:15.390581 Event: Caller handler : Ready
-On: 2011-10-20 15:19:15.390646 Event: init Receiver
-On: 2011-10-20 15:19:15.390668 Event: GSMRZ1
-On: 2011-10-20 15:19:17.394401 Event: Cannt connect to Receiver
-On: 2011-10-20 15:19:17.394463 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:23:20.127905 ------------------
-On: 2011-10-20 15:23:20.127980 Event: init Caller
-On: 2011-10-20 15:23:20.128003 Event: unisip
-On: 2011-10-20 15:23:22.133155 Event: Connected to Caller Handler
-On: 2011-10-20 15:23:22.133463 Event: Caller Handler respond
-On: 2011-10-20 15:23:22.134268 Event: Caller handler : Ready
-On: 2011-10-20 15:23:22.134308 Event: init Receiver
-On: 2011-10-20 15:23:22.134329 Event: GSMRZ3
-On: 2011-10-20 15:23:29.143421 Event: Connected to Receiver Handler
-On: 2011-10-20 15:23:29.150218 Event: Receiver Handler respond
-On: 2011-10-20 15:23:29.152576 Event: Receiver handler : Ready
-On: 2011-10-20 15:23:29.152649 Event: Start Call
-On: 2011-10-20 15:23:29.152800 Event: Waiting Feedback
-On: 2011-10-20 15:23:34.350232 Event: Test Succeed
-On: 2011-10-20 15:23:38.391677 Event:
-On: 2011-10-20 15:23:38.391739 Event: init Caller
-On: 2011-10-20 15:23:38.391759 Event: GSMRZ1
-On: 2011-10-20 15:23:40.396630 Event: Cannt connect to Caller
-On: 2011-10-20 15:23:40.396694 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 15:23:44.476034 Event:
-On: 2011-10-20 15:23:44.476095 Event: init Caller
-On: 2011-10-20 15:23:44.476115 Event: landline
-On: 2011-10-20 15:23:46.481679 Event: Connected to Caller Handler
-On: 2011-10-20 15:23:46.482012 Event: Caller Handler respond
-On: 2011-10-20 15:23:46.484880 Event: Caller handler : Ready
-On: 2011-10-20 15:23:46.484917 Event: init Receiver
-On: 2011-10-20 15:23:46.484938 Event: GSMRZ2
-On: 2011-10-20 15:23:53.488634 Event: Connected to Receiver Handler
-On: 2011-10-20 15:23:53.496348 Event: Receiver Handler respond
-On: 2011-10-20 15:23:53.499075 Event: Receiver handler : Ready
-On: 2011-10-20 15:23:53.499137 Event: Start Call
-On: 2011-10-20 15:23:53.499284 Event: Waiting Feedback
-On: 2011-10-20 15:24:02.066930 Event: Test Succeed
-On: 2011-10-20 15:24:06.122244 Event:
-On: 2011-10-20 15:24:06.122307 Event: init Caller
-On: 2011-10-20 15:24:06.122326 Event: sip
-On: 2011-10-20 15:24:08.130568 Event: Connected to Caller Handler
-On: 2011-10-20 15:24:08.130860 Event: Caller Handler respond
-On: 2011-10-20 15:24:08.131663 Event: Caller handler : Ready
-On: 2011-10-20 15:24:08.131699 Event: init Receiver
-On: 2011-10-20 15:24:08.131720 Event: GSMExt.Eplus
-On: 2011-10-20 15:24:10.137046 Event: Connected to Receiver Handler
-On: 2011-10-20 15:24:10.137334 Event: Receiver Handler respond
-On: 2011-10-20 15:24:10.137515 Event: Receiver handler : Ready
-On: 2011-10-20 15:24:10.137546 Event: Start Call
-On: 2011-10-20 15:24:10.141748 Event: Waiting Feedback
-On: 2011-10-20 15:24:25.141967 Event: Test Failed
-On: 2011-10-20 15:24:29.255720 Event:
-On: 2011-10-20 15:24:29.255775 Event: init Caller
-On: 2011-10-20 15:24:29.255795 Event: sip
-On: 2011-10-20 15:24:31.266015 Event: Connected to Caller Handler
-On: 2011-10-20 15:24:31.266313 Event: Caller Handler respond
-On: 2011-10-20 15:24:31.267081 Event: Caller handler : Ready
-On: 2011-10-20 15:24:31.267118 Event: init Receiver
-On: 2011-10-20 15:24:31.267139 Event: GSMExt.O2
-On: 2011-10-20 15:24:33.272864 Event: Connected to Receiver Handler
-On: 2011-10-20 15:24:33.273148 Event: Receiver Handler respond
-On: 2011-10-20 15:24:33.273377 Event: Receiver handler : Ready
-On: 2011-10-20 15:24:33.273409 Event: Start Call
-On: 2011-10-20 15:24:33.273463 Event: Waiting Feedback
-On: 2011-10-20 15:24:48.273637 Event: Test Failed
-On: 2011-10-20 15:24:52.350353 Event:
-On: 2011-10-20 15:24:52.350417 Event: init Caller
-On: 2011-10-20 15:24:52.350437 Event: sip
-On: 2011-10-20 15:24:54.356704 Event: Connected to Caller Handler
-On: 2011-10-20 15:24:54.357007 Event: Caller Handler respond
-On: 2011-10-20 15:24:54.357829 Event: Caller handler : Ready
-On: 2011-10-20 15:24:54.357866 Event: init Receiver
-On: 2011-10-20 15:24:54.357887 Event: GSMExt.Tm
-On: 2011-10-20 15:24:56.362643 Event: Connected to Receiver Handler
-On: 2011-10-20 15:24:56.362930 Event: Receiver Handler respond
-On: 2011-10-20 15:24:56.363107 Event: Receiver handler : Ready
-On: 2011-10-20 15:24:56.363139 Event: Start Call
-On: 2011-10-20 15:24:56.363191 Event: Waiting Feedback
-On: 2011-10-20 15:25:11.363437 Event: Test Failed
-On: 2011-10-20 15:25:15.456168 Event:
-On: 2011-10-20 15:25:15.456231 Event: init Caller
-On: 2011-10-20 15:25:15.456251 Event: sip
-On: 2011-10-20 15:25:17.468276 Event: Connected to Caller Handler
-On: 2011-10-20 15:25:17.468573 Event: Caller Handler respond
-On: 2011-10-20 15:25:17.469750 Event: Caller handler : Ready
-On: 2011-10-20 15:25:17.469789 Event: init Receiver
-On: 2011-10-20 15:25:17.469809 Event: GSMExt.Voda
-On: 2011-10-20 15:25:19.474677 Event: Connected to Receiver Handler
-On: 2011-10-20 15:25:19.474957 Event: Receiver Handler respond
-On: 2011-10-20 15:25:19.475140 Event: Receiver handler : Ready
-On: 2011-10-20 15:25:19.475172 Event: Start Call
-On: 2011-10-20 15:25:19.477374 Event: Waiting Feedback
-On: 2011-10-20 15:25:34.477579 Event: Test Failed
-On: 2011-10-20 15:25:38.547840 Event:
-On: 2011-10-20 15:25:38.547902 Event: init Caller
-On: 2011-10-20 15:25:38.547922 Event: sip
-On: 2011-10-20 15:25:40.556853 Event: Connected to Caller Handler
-On: 2011-10-20 15:25:40.557152 Event: Caller Handler respond
-On: 2011-10-20 15:25:40.558361 Event: Caller handler : Ready
-On: 2011-10-20 15:25:40.558399 Event: init Receiver
-On: 2011-10-20 15:25:40.558419 Event: GSMRZ2
-On: 2011-10-20 15:25:47.567399 Event: Connected to Receiver Handler
-On: 2011-10-20 15:25:47.575498 Event: Receiver Handler respond
-On: 2011-10-20 15:25:47.580384 Event: Receiver handler : Ready
-On: 2011-10-20 15:25:47.580456 Event: Start Call
-On: 2011-10-20 15:25:47.580533 Event: Waiting Feedback
-On: 2011-10-20 15:25:53.417075 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:02:45.892295 ------------------
-On: 2011-10-20 16:02:45.892371 Event: init Caller
-On: 2011-10-20 16:02:45.892395 Event: unisip
-On: 2011-10-20 16:02:47.897465 Event: Connected to Caller Handler
-On: 2011-10-20 16:02:47.897794 Event: Caller Handler respond
-On: 2011-10-20 16:02:47.898639 Event: Caller handler : Ready
-On: 2011-10-20 16:02:47.898680 Event: init Receiver
-On: 2011-10-20 16:02:47.898700 Event: GSMRZ3
-On: 2011-10-20 16:02:54.907358 Event: Connected to Receiver Handler
-On: 2011-10-20 16:02:54.915716 Event: Receiver Handler respond
-On: 2011-10-20 16:02:54.917823 Event: Receiver handler : Ready
-On: 2011-10-20 16:02:54.917869 Event: Start Call
-On: 2011-10-20 16:02:54.917930 Event: Waiting Feedback
-On: 2011-10-20 16:03:00.009352 Event: Test Succeed
-On: 2011-10-20 16:03:04.054965 Event:
-On: 2011-10-20 16:03:04.055028 Event: init Caller
-On: 2011-10-20 16:03:04.055048 Event: GSMRZ1
-On: 2011-10-20 16:03:06.058405 Event: Cannt connect to Caller
-On: 2011-10-20 16:03:06.058470 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:03:10.139212 Event:
-On: 2011-10-20 16:03:10.139274 Event: init Caller
-On: 2011-10-20 16:03:10.139294 Event: landline
-On: 2011-10-20 16:03:12.148627 Event: Connected to Caller Handler
-On: 2011-10-20 16:03:12.149014 Event: Caller Handler respond
-On: 2011-10-20 16:03:12.151775 Event: Caller handler : Ready
-On: 2011-10-20 16:03:12.151813 Event: init Receiver
-On: 2011-10-20 16:03:12.151834 Event: GSMRZ2
-On: 2011-10-20 16:03:19.156974 Event: Connected to Receiver Handler
-On: 2011-10-20 16:03:19.165232 Event: Receiver Handler respond
-On: 2011-10-20 16:03:19.167559 Event: Receiver handler : Ready
-On: 2011-10-20 16:03:19.167618 Event: Start Call
-On: 2011-10-20 16:03:19.167763 Event: Waiting Feedback
-On: 2011-10-20 16:03:27.613357 Event: Test Succeed
-On: 2011-10-20 16:03:31.656489 Event:
-On: 2011-10-20 16:03:31.656546 Event: init Caller
-On: 2011-10-20 16:03:31.656566 Event: sip
-On: 2011-10-20 16:03:33.661602 Event: Connected to Caller Handler
-On: 2011-10-20 16:03:33.661939 Event: Caller Handler respond
-On: 2011-10-20 16:03:33.662703 Event: Caller handler : Ready
-On: 2011-10-20 16:03:33.662741 Event: init Receiver
-On: 2011-10-20 16:03:33.662762 Event: GSMExt.O2
-On: 2011-10-20 16:03:35.666639 Event: Connected to Receiver Handler
-On: 2011-10-20 16:03:35.666929 Event: Receiver Handler respond
-On: 2011-10-20 16:03:35.667105 Event: Receiver handler : Ready
-On: 2011-10-20 16:03:35.667137 Event: Start Call
-On: 2011-10-20 16:03:35.667189 Event: Waiting Feedback
-On: 2011-10-20 16:03:50.667382 Event: Test Failed
-On: 2011-10-20 16:03:54.747936 Event:
-On: 2011-10-20 16:03:54.748002 Event: init Caller
-On: 2011-10-20 16:03:54.748021 Event: sip
-On: 2011-10-20 16:03:56.754129 Event: Connected to Caller Handler
-On: 2011-10-20 16:03:56.754427 Event: Caller Handler respond
-On: 2011-10-20 16:03:56.755193 Event: Caller handler : Ready
-On: 2011-10-20 16:03:56.755232 Event: init Receiver
-On: 2011-10-20 16:03:56.755253 Event: GSMExt.Tm
-On: 2011-10-20 16:03:58.760893 Event: Connected to Receiver Handler
-On: 2011-10-20 16:03:58.761170 Event: Receiver Handler respond
-On: 2011-10-20 16:03:58.761348 Event: Receiver handler : Ready
-On: 2011-10-20 16:03:58.761379 Event: Start Call
-On: 2011-10-20 16:03:58.765874 Event: Waiting Feedback
-On: 2011-10-20 16:04:13.766043 Event: Test Failed
-On: 2011-10-20 16:04:17.840852 Event:
-On: 2011-10-20 16:04:17.840915 Event: init Caller
-On: 2011-10-20 16:04:17.840935 Event: sip
-On: 2011-10-20 16:04:19.846568 Event: Connected to Caller Handler
-On: 2011-10-20 16:04:19.846860 Event: Caller Handler respond
-On: 2011-10-20 16:04:19.847621 Event: Caller handler : Ready
-On: 2011-10-20 16:04:19.847658 Event: init Receiver
-On: 2011-10-20 16:04:19.847679 Event: GSMExt.Voda
-On: 2011-10-20 16:04:21.851195 Event: Connected to Receiver Handler
-On: 2011-10-20 16:04:21.851474 Event: Receiver Handler respond
-On: 2011-10-20 16:04:21.851655 Event: Receiver handler : Ready
-On: 2011-10-20 16:04:21.851687 Event: Start Call
-On: 2011-10-20 16:04:21.851741 Event: Waiting Feedback
-On: 2011-10-20 16:04:36.852014 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:07.041905 ------------------
-On: 2011-10-20 16:07:07.041984 Event: init Caller
-On: 2011-10-20 16:07:07.042008 Event: unisip
-On: 2011-10-20 16:07:09.046813 Event: Connected to Caller Handler
-On: 2011-10-20 16:07:09.047127 Event: Caller Handler respond
-On: 2011-10-20 16:07:09.047889 Event: Caller handler : Ready
-On: 2011-10-20 16:07:09.047929 Event: init Receiver
-On: 2011-10-20 16:07:09.047950 Event: GSMRZ3
-On: 2011-10-20 16:07:16.060127 Event: Connected to Receiver Handler
-On: 2011-10-20 16:07:16.068277 Event: Receiver Handler respond
-On: 2011-10-20 16:07:16.070497 Event: Receiver handler : Ready
-On: 2011-10-20 16:07:16.070556 Event: Start Call
-On: 2011-10-20 16:07:16.070699 Event: Waiting Feedback
-On: 2011-10-20 16:07:21.262371 Event: Test Succeed
-On: 2011-10-20 16:07:25.308137 Event:
-On: 2011-10-20 16:07:25.308201 Event: init Caller
-On: 2011-10-20 16:07:25.308221 Event: GSMRZ1
-On: 2011-10-20 16:07:27.314245 Event: Cannt connect to Caller
-On: 2011-10-20 16:07:27.314314 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:07:31.395492 Event:
-On: 2011-10-20 16:07:31.395555 Event: init Caller
-On: 2011-10-20 16:07:31.395576 Event: landline
-On: 2011-10-20 16:07:33.400765 Event: Connected to Caller Handler
-On: 2011-10-20 16:07:33.401148 Event: Caller Handler respond
-On: 2011-10-20 16:07:33.438727 Event: Caller handler : Ready
-On: 2011-10-20 16:07:33.438763 Event: init Receiver
-On: 2011-10-20 16:07:33.438796 Event: GSMRZ2
-On: 2011-10-20 16:07:40.446276 Event: Connected to Receiver Handler
-On: 2011-10-20 16:07:40.453654 Event: Receiver Handler respond
-On: 2011-10-20 16:07:40.455917 Event: Receiver handler : Ready
-On: 2011-10-20 16:07:40.455981 Event: Start Call
-On: 2011-10-20 16:07:40.456051 Event: Waiting Feedback
-On: 2011-10-20 16:07:47.681889 Event: Test Succeed
-On: 2011-10-20 16:07:51.747358 Event:
-On: 2011-10-20 16:07:51.747419 Event: init Caller
-On: 2011-10-20 16:07:51.747439 Event: sip
-On: 2011-10-20 16:07:53.750563 Event: Connected to Caller Handler
-On: 2011-10-20 16:07:53.750858 Event: Caller Handler respond
-On: 2011-10-20 16:07:53.751628 Event: Caller handler : Ready
-On: 2011-10-20 16:07:53.751666 Event: init Receiver
-On: 2011-10-20 16:07:53.751687 Event: GSMExt.O2
-On: 2011-10-20 16:07:55.757777 Event: Connected to Receiver Handler
-On: 2011-10-20 16:07:55.758091 Event: Receiver Handler respond
-On: 2011-10-20 16:07:55.758275 Event: Receiver handler : Ready
-On: 2011-10-20 16:07:55.758305 Event: Start Call
-On: 2011-10-20 16:07:55.758358 Event: Waiting Feedback
-On: 2011-10-20 16:08:10.758517 Event: Test Failed
-On: 2011-10-20 16:08:14.847185 Event:
-On: 2011-10-20 16:08:14.847248 Event: init Caller
-On: 2011-10-20 16:08:14.847268 Event: sip
-On: 2011-10-20 16:08:16.854479 Event: Connected to Caller Handler
-On: 2011-10-20 16:08:16.854876 Event: Caller Handler respond
-On: 2011-10-20 16:08:16.855652 Event: Caller handler : Ready
-On: 2011-10-20 16:08:16.855690 Event: init Receiver
-On: 2011-10-20 16:08:16.855711 Event: GSMExt.Tm
-On: 2011-10-20 16:08:18.861157 Event: Connected to Receiver Handler
-On: 2011-10-20 16:08:18.861440 Event: Receiver Handler respond
-On: 2011-10-20 16:08:18.861622 Event: Receiver handler : Ready
-On: 2011-10-20 16:08:18.861653 Event: Start Call
-On: 2011-10-20 16:08:18.865170 Event: Waiting Feedback
-On: 2011-10-20 16:08:33.865381 Event: Test Failed
-On: 2011-10-20 16:08:37.940803 Event:
-On: 2011-10-20 16:08:37.940871 Event: init Caller
-On: 2011-10-20 16:08:37.940890 Event: sip
-On: 2011-10-20 16:08:39.947394 Event: Connected to Caller Handler
-On: 2011-10-20 16:08:39.947699 Event: Caller Handler respond
-On: 2011-10-20 16:08:39.948459 Event: Caller handler : Ready
-On: 2011-10-20 16:08:39.948498 Event: init Receiver
-On: 2011-10-20 16:08:39.948519 Event: GSMExt.Voda
-On: 2011-10-20 16:08:41.954116 Event: Connected to Receiver Handler
-On: 2011-10-20 16:08:41.954453 Event: Receiver Handler respond
-On: 2011-10-20 16:08:41.954640 Event: Receiver handler : Ready
-On: 2011-10-20 16:08:41.954670 Event: Start Call
-On: 2011-10-20 16:08:41.954724 Event: Waiting Feedback
-On: 2011-10-20 16:08:56.954955 Event: Test Failed
-On: 2011-10-20 16:09:01.045978 Event:
-On: 2011-10-20 16:09:01.046043 Event: init Caller
-On: 2011-10-20 16:09:01.046063 Event: sip
-On: 2011-10-20 16:09:03.054058 Event: Connected to Caller Handler
-On: 2011-10-20 16:09:03.054355 Event: Caller Handler respond
-On: 2011-10-20 16:09:03.055475 Event: Caller handler : Ready
-On: 2011-10-20 16:09:03.055514 Event: init Receiver
-On: 2011-10-20 16:09:03.055535 Event: GSMExt.Eplus
-On: 2011-10-20 16:09:05.060966 Event: Connected to Receiver Handler
-On: 2011-10-20 16:09:05.061251 Event: Receiver Handler respond
-On: 2011-10-20 16:09:05.061429 Event: Receiver handler : Ready
-On: 2011-10-20 16:09:05.061459 Event: Start Call
-On: 2011-10-20 16:09:05.061521 Event: Waiting Feedback
-On: 2011-10-20 16:09:20.061686 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:13:17.880180 ------------------
-On: 2011-10-20 16:13:17.880258 Event: init Caller
-On: 2011-10-20 16:13:17.880281 Event: unisip
-On: 2011-10-20 16:13:19.885581 Event: Connected to Caller Handler
-On: 2011-10-20 16:13:19.885932 Event: Caller Handler respond
-On: 2011-10-20 16:13:19.886691 Event: Caller handler : Ready
-On: 2011-10-20 16:13:19.886727 Event: init Receiver
-On: 2011-10-20 16:13:19.886747 Event: GSMRZ2
-On: 2011-10-20 16:13:26.894386 Event: Connected to Receiver Handler
-On: 2011-10-20 16:13:26.901589 Event: Receiver Handler respond
-On: 2011-10-20 16:13:26.904214 Event: Receiver handler : Ready
-On: 2011-10-20 16:13:26.904266 Event: Start Call
-On: 2011-10-20 16:13:26.904328 Event: Waiting Feedback
-On: 2011-10-20 16:13:32.215845 Event: Test Succeed
-On: 2011-10-20 16:13:36.260075 Event:
-On: 2011-10-20 16:13:36.260137 Event: init Caller
-On: 2011-10-20 16:13:36.260157 Event: GSMRZ1
-On: 2011-10-20 16:13:38.265130 Event: Cannt connect to Caller
-On: 2011-10-20 16:13:38.265194 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:13:42.342828 Event:
-On: 2011-10-20 16:13:42.342893 Event: init Caller
-On: 2011-10-20 16:13:42.342912 Event: landline
-On: 2011-10-20 16:13:44.350340 Event: Connected to Caller Handler
-On: 2011-10-20 16:13:44.350725 Event: Caller Handler respond
-On: 2011-10-20 16:13:44.352684 Event: Caller handler : Ready
-On: 2011-10-20 16:13:44.352721 Event: init Receiver
-On: 2011-10-20 16:13:44.352742 Event: GSMRZ3
-On: 2011-10-20 16:13:51.358282 Event: Connected to Receiver Handler
-On: 2011-10-20 16:13:51.366907 Event: Receiver Handler respond
-On: 2011-10-20 16:13:51.369060 Event: Receiver handler : Ready
-On: 2011-10-20 16:13:51.369097 Event: Start Call
-On: 2011-10-20 16:13:51.369155 Event: Waiting Feedback
-On: 2011-10-20 16:13:59.525921 Event: Test Succeed
-On: 2011-10-20 16:14:03.568990 Event:
-On: 2011-10-20 16:14:03.569050 Event: init Caller
-On: 2011-10-20 16:14:03.569070 Event: sip
-On: 2011-10-20 16:14:05.574091 Event: Connected to Caller Handler
-On: 2011-10-20 16:14:05.574483 Event: Caller Handler respond
-On: 2011-10-20 16:14:05.575264 Event: Caller handler : Ready
-On: 2011-10-20 16:14:05.575301 Event: init Receiver
-On: 2011-10-20 16:14:05.575322 Event: GSMExt.Eplus
-On: 2011-10-20 16:14:07.578700 Event: Connected to Receiver Handler
-On: 2011-10-20 16:14:07.578978 Event: Receiver Handler respond
-On: 2011-10-20 16:14:07.579147 Event: Receiver handler : Ready
-On: 2011-10-20 16:14:07.579173 Event: Start Call
-On: 2011-10-20 16:14:07.579225 Event: Waiting Feedback
-On: 2011-10-20 16:14:22.579383 Event: Test Failed
-On: 2011-10-20 16:14:26.657358 Event:
-On: 2011-10-20 16:14:26.657425 Event: init Caller
-On: 2011-10-20 16:14:26.657444 Event: sip
-On: 2011-10-20 16:14:28.662527 Event: Connected to Caller Handler
-On: 2011-10-20 16:14:28.662920 Event: Caller Handler respond
-On: 2011-10-20 16:14:28.664007 Event: Caller handler : Ready
-On: 2011-10-20 16:14:28.664045 Event: init Receiver
-On: 2011-10-20 16:14:28.664066 Event: GSMExt.O2
-On: 2011-10-20 16:14:30.670009 Event: Connected to Receiver Handler
-On: 2011-10-20 16:14:30.670293 Event: Receiver Handler respond
-On: 2011-10-20 16:14:30.670464 Event: Receiver handler : Ready
-On: 2011-10-20 16:14:30.670490 Event: Start Call
-On: 2011-10-20 16:14:30.670541 Event: Waiting Feedback
-On: 2011-10-20 16:14:45.670696 Event: Test Failed
-On: 2011-10-20 16:14:49.750294 Event:
-On: 2011-10-20 16:14:49.750360 Event: init Caller
-On: 2011-10-20 16:14:49.750380 Event: sip
-On: 2011-10-20 16:14:51.754561 Event: Connected to Caller Handler
-On: 2011-10-20 16:14:51.754858 Event: Caller Handler respond
-On: 2011-10-20 16:14:51.755628 Event: Caller handler : Ready
-On: 2011-10-20 16:14:51.755665 Event: init Receiver
-On: 2011-10-20 16:14:51.755686 Event: GSMExt.Voda
-On: 2011-10-20 16:14:53.760483 Event: Connected to Receiver Handler
-On: 2011-10-20 16:14:53.760765 Event: Receiver Handler respond
-On: 2011-10-20 16:14:53.760945 Event: Receiver handler : Ready
-On: 2011-10-20 16:14:53.760976 Event: Start Call
-On: 2011-10-20 16:14:53.761029 Event: Waiting Feedback
-On: 2011-10-20 16:15:08.761278 Event: Test Failed
-On: 2011-10-20 16:15:12.839881 Event:
-On: 2011-10-20 16:15:12.839941 Event: init Caller
-On: 2011-10-20 16:15:12.839961 Event: sip
-On: 2011-10-20 16:15:14.846413 Event: Connected to Caller Handler
-On: 2011-10-20 16:15:14.846837 Event: Caller Handler respond
-On: 2011-10-20 16:15:14.847645 Event: Caller handler : Ready
-On: 2011-10-20 16:15:14.847679 Event: init Receiver
-On: 2011-10-20 16:15:14.847700 Event: GSMExt.Tm
-On: 2011-10-20 16:15:16.853397 Event: Connected to Receiver Handler
-On: 2011-10-20 16:15:16.854085 Event: Receiver Handler respond
-On: 2011-10-20 16:15:16.854560 Event: Receiver handler : Ready
-On: 2011-10-20 16:15:16.854594 Event: Start Call
-On: 2011-10-20 16:15:16.855727 Event: Waiting Feedback
-On: 2011-10-20 16:15:31.855908 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:17:01.817838 ------------------
-On: 2011-10-20 16:17:01.817917 Event: init Caller
-On: 2011-10-20 16:17:01.817942 Event: unisip
-On: 2011-10-20 16:17:03.822685 Event: Connected to Caller Handler
-On: 2011-10-20 16:17:03.823096 Event: Caller Handler respond
-On: 2011-10-20 16:17:03.823870 Event: Caller handler : Ready
-On: 2011-10-20 16:17:03.823909 Event: init Receiver
-On: 2011-10-20 16:17:03.823931 Event: GSMRZ1
-On: 2011-10-20 16:17:05.829143 Event: Cannt connect to Receiver
-On: 2011-10-20 16:17:05.829210 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-20 16:17:09.907662 Event:
-On: 2011-10-20 16:17:09.907730 Event: init Caller
-On: 2011-10-20 16:17:09.907750 Event: GSMRZ2
-On: 2011-10-20 16:17:16.914923 Event: Connected to Caller Handler
-On: 2011-10-20 16:17:16.922749 Event: Caller Handler respond
-On: 2011-10-20 16:17:16.925019 Event: Caller handler : Ready
-On: 2011-10-20 16:17:16.925054 Event: init Receiver
-On: 2011-10-20 16:17:16.925077 Event: GSMExt.Eplus
-On: 2011-10-20 16:17:18.930888 Event: Connected to Receiver Handler
-On: 2011-10-20 16:17:18.931370 Event: Receiver Handler respond
-On: 2011-10-20 16:17:18.931665 Event: Receiver handler : Ready
-On: 2011-10-20 16:17:18.931698 Event: Start Call
-On: 2011-10-20 16:17:18.933886 Event: Waiting Feedback
-On: 2011-10-20 16:17:33.934108 Event: Test Failed
-On: 2011-10-20 16:17:38.015778 Event:
-On: 2011-10-20 16:17:38.015842 Event: init Caller
-On: 2011-10-20 16:17:38.015862 Event: landline
-On: 2011-10-20 16:17:40.025977 Event: Connected to Caller Handler
-On: 2011-10-20 16:17:40.026374 Event: Caller Handler respond
-On: 2011-10-20 16:17:40.028876 Event: Caller handler : Ready
-On: 2011-10-20 16:17:40.028914 Event: init Receiver
-On: 2011-10-20 16:17:40.028936 Event: GSMRZ3
-On: 2011-10-20 16:17:47.034549 Event: Connected to Receiver Handler
-On: 2011-10-20 16:17:47.041728 Event: Receiver Handler respond
-On: 2011-10-20 16:17:47.043891 Event: Receiver handler : Ready
-On: 2011-10-20 16:17:47.043928 Event: Start Call
-On: 2011-10-20 16:17:47.044066 Event: Waiting Feedback
-On: 2011-10-20 16:17:59.426488 Event: Test Succeed
-On: 2011-10-20 16:18:03.469530 Event:
-On: 2011-10-20 16:18:03.469592 Event: init Caller
-On: 2011-10-20 16:18:03.469614 Event: sip
-On: 2011-10-20 16:18:05.473127 Event: Connected to Caller Handler
-On: 2011-10-20 16:18:05.474263 Event: Caller Handler respond
-On: 2011-10-20 16:18:05.475045 Event: Caller handler : Ready
-On: 2011-10-20 16:18:05.475083 Event: init Receiver
-On: 2011-10-20 16:18:05.475105 Event: GSMExt.O2
-On: 2011-10-20 16:18:07.478712 Event: Connected to Receiver Handler
-On: 2011-10-20 16:18:07.478995 Event: Receiver Handler respond
-On: 2011-10-20 16:18:07.479176 Event: Receiver handler : Ready
-On: 2011-10-20 16:18:07.479206 Event: Start Call
-On: 2011-10-20 16:18:07.479259 Event: Waiting Feedback
-On: 2011-10-20 16:18:22.479422 Event: Test Failed
-On: 2011-10-20 16:18:26.571571 Event:
-On: 2011-10-20 16:18:26.571636 Event: init Caller
-On: 2011-10-20 16:18:26.571657 Event: sip
-On: 2011-10-20 16:18:28.577133 Event: Connected to Caller Handler
-On: 2011-10-20 16:18:28.577433 Event: Caller Handler respond
-On: 2011-10-20 16:18:28.578384 Event: Caller handler : Ready
-On: 2011-10-20 16:18:28.578427 Event: init Receiver
-On: 2011-10-20 16:18:28.578448 Event: GSMExt.Tm
-On: 2011-10-20 16:18:30.582666 Event: Connected to Receiver Handler
-On: 2011-10-20 16:18:30.582957 Event: Receiver Handler respond
-On: 2011-10-20 16:18:30.583145 Event: Receiver handler : Ready
-On: 2011-10-20 16:18:30.583176 Event: Start Call
-On: 2011-10-20 16:18:30.583231 Event: Waiting Feedback
-On: 2011-10-20 16:18:45.583775 Event: Test Failed
-On: 2011-10-20 16:18:49.683360 Event:
-On: 2011-10-20 16:18:49.683423 Event: init Caller
-On: 2011-10-20 16:18:49.683444 Event: sip
-On: 2011-10-20 16:18:51.692228 Event: Connected to Caller Handler
-On: 2011-10-20 16:18:51.692524 Event: Caller Handler respond
-On: 2011-10-20 16:18:51.693301 Event: Caller handler : Ready
-On: 2011-10-20 16:18:51.693338 Event: init Receiver
-On: 2011-10-20 16:18:51.693360 Event: GSMExt.Voda
-On: 2011-10-20 16:18:53.700436 Event: Connected to Receiver Handler
-On: 2011-10-20 16:18:53.700720 Event: Receiver Handler respond
-On: 2011-10-20 16:18:53.700903 Event: Receiver handler : Ready
-On: 2011-10-20 16:18:53.700934 Event: Start Call
-On: 2011-10-20 16:18:53.700989 Event: Waiting Feedback
-On: 2011-10-20 16:19:08.701151 Event: Test Failed
-On: 2011-10-20 16:19:12.761453 Event:
-On: 2011-10-20 16:19:12.761515 Event: init Caller
-On: 2011-10-20 16:19:12.761536 Event: sip
-On: 2011-10-20 16:19:14.778421 Event: Connected to Caller Handler
-On: 2011-10-20 16:19:14.778717 Event: Caller Handler respond
-On: 2011-10-20 16:19:14.779858 Event: Caller handler : Ready
-On: 2011-10-20 16:19:14.779897 Event: init Receiver
-On: 2011-10-20 16:19:14.779919 Event: GSMRZ2
-On: 2011-10-20 16:19:21.787902 Event: Connected to Receiver Handler
-On: 2011-10-20 16:19:21.795681 Event: Receiver Handler respond
-On: 2011-10-20 16:19:21.798676 Event: Receiver handler : Ready
-On: 2011-10-20 16:19:21.798745 Event: Start Call
-On: 2011-10-20 16:19:21.798897 Event: Waiting Feedback
-On: 2011-10-20 16:19:27.653792 Event: Test Succeed
-On: 2011-10-20 16:19:31.696146 Event:
-On: 2011-10-20 16:19:31.696211 Event: init Caller
-On: 2011-10-20 16:19:31.696232 Event: GSMRZ2
-On: 2011-10-20 16:19:38.701894 Event: Connected to Caller Handler
-On: 2011-10-20 16:19:38.710032 Event: Caller Handler respond
-On: 2011-10-20 16:19:38.712311 Event: Caller handler : Ready
-On: 2011-10-20 16:19:38.712346 Event: init Receiver
-On: 2011-10-20 16:19:38.712368 Event: GSMRZ1
-On: 2011-10-20 16:19:40.716813 Event: Cannt connect to Receiver
-On: 2011-10-20 16:19:40.716880 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:43:26.733984 ------------------
-On: 2011-10-20 16:43:26.734065 Event: init Caller
-On: 2011-10-20 16:43:26.734089 Event: unisip
-On: 2011-10-20 16:43:28.739365 Event: Connected to Caller Handler
-On: 2011-10-20 16:43:28.739683 Event: Caller Handler respond
-On: 2011-10-20 16:43:28.740449 Event: Caller handler : Ready
-On: 2011-10-20 16:43:28.740488 Event: init Receiver
-On: 2011-10-20 16:43:28.740510 Event: GSMRZ1
-On: 2011-10-20 16:43:30.746195 Event: Cannt connect to Receiver
-On: 2011-10-20 16:43:30.746260 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-10-20 16:43:34.830397 Event:
-On: 2011-10-20 16:43:34.830466 Event: init Caller
-On: 2011-10-20 16:43:34.830486 Event: GSMRZ2
-On: 2011-10-20 16:43:41.843358 Event: Connected to Caller Handler
-On: 2011-10-20 16:43:41.850560 Event: Caller Handler respond
-On: 2011-10-20 16:43:41.853439 Event: Caller handler : Ready
-On: 2011-10-20 16:43:41.853483 Event: init Receiver
-On: 2011-10-20 16:43:41.853506 Event: GSMExt.Voda
-On: 2011-10-20 16:43:43.858660 Event: Connected to Receiver Handler
-On: 2011-10-20 16:43:43.858948 Event: Receiver Handler respond
-On: 2011-10-20 16:43:43.859135 Event: Receiver handler : Ready
-On: 2011-10-20 16:43:43.859166 Event: Start Call
-On: 2011-10-20 16:43:43.862194 Event: Waiting Feedback
-On: 2011-10-20 16:43:58.862403 Event: Test Failed
-On: 2011-10-20 16:44:02.945911 Event:
-On: 2011-10-20 16:44:02.945973 Event: init Caller
-On: 2011-10-20 16:44:02.945994 Event: landline
-On: 2011-10-20 16:44:04.949868 Event: Connected to Caller Handler
-On: 2011-10-20 16:44:04.950987 Event: Caller Handler respond
-On: 2011-10-20 16:44:04.953450 Event: Caller handler : Ready
-On: 2011-10-20 16:44:04.953490 Event: init Receiver
-On: 2011-10-20 16:44:04.953513 Event: GSMRZ3
-On: 2011-10-20 16:44:11.963436 Event: Connected to Receiver Handler
-On: 2011-10-20 16:44:11.970860 Event: Receiver Handler respond
-On: 2011-10-20 16:44:11.973871 Event: Receiver handler : Ready
-On: 2011-10-20 16:44:11.973928 Event: Start Call
-On: 2011-10-20 16:44:11.974071 Event: Waiting Feedback
-On: 2011-10-20 16:44:20.168481 Event: Test Succeed
-On: 2011-10-20 16:44:24.214754 Event:
-On: 2011-10-20 16:44:24.214813 Event: init Caller
-On: 2011-10-20 16:44:24.214834 Event: sip
-On: 2011-10-20 16:44:26.218544 Event: Connected to Caller Handler
-On: 2011-10-20 16:44:26.218832 Event: Caller Handler respond
-On: 2011-10-20 16:44:26.219588 Event: Caller handler : Ready
-On: 2011-10-20 16:44:26.219627 Event: init Receiver
-On: 2011-10-20 16:44:26.219649 Event: GSMExt.Eplus
-On: 2011-10-20 16:44:28.225084 Event: Connected to Receiver Handler
-On: 2011-10-20 16:44:28.225367 Event: Receiver Handler respond
-On: 2011-10-20 16:44:28.225548 Event: Receiver handler : Ready
-On: 2011-10-20 16:44:28.225579 Event: Start Call
-On: 2011-10-20 16:44:28.225633 Event: Waiting Feedback
-On: 2011-10-20 16:44:43.225829 Event: Test Failed
-On: 2011-10-20 16:44:47.317006 Event:
-On: 2011-10-20 16:44:47.317074 Event: init Caller
-On: 2011-10-20 16:44:47.317095 Event: sip
-On: 2011-10-20 16:44:49.324783 Event: Connected to Caller Handler
-On: 2011-10-20 16:44:49.325078 Event: Caller Handler respond
-On: 2011-10-20 16:44:49.325898 Event: Caller handler : Ready
-On: 2011-10-20 16:44:49.325935 Event: init Receiver
-On: 2011-10-20 16:44:49.325957 Event: GSMExt.O2
-On: 2011-10-20 16:44:51.330643 Event: Connected to Receiver Handler
-On: 2011-10-20 16:44:51.330921 Event: Receiver Handler respond
-On: 2011-10-20 16:44:51.331105 Event: Receiver handler : Ready
-On: 2011-10-20 16:44:51.331135 Event: Start Call
-On: 2011-10-20 16:44:51.331190 Event: Waiting Feedback
-On: 2011-10-20 16:45:06.331358 Event: Test Failed
-On: 2011-10-20 16:45:10.410565 Event:
-On: 2011-10-20 16:45:10.410630 Event: init Caller
-On: 2011-10-20 16:45:10.410651 Event: sip
-On: 2011-10-20 16:45:12.415884 Event: Connected to Caller Handler
-On: 2011-10-20 16:45:12.416174 Event: Caller Handler respond
-On: 2011-10-20 16:45:12.417303 Event: Caller handler : Ready
-On: 2011-10-20 16:45:12.417341 Event: init Receiver
-On: 2011-10-20 16:45:12.417363 Event: GSMExt.Tm
-On: 2011-10-20 16:45:14.422968 Event: Connected to Receiver Handler
-On: 2011-10-20 16:45:14.423255 Event: Receiver Handler respond
-On: 2011-10-20 16:45:14.423436 Event: Receiver handler : Ready
-On: 2011-10-20 16:45:14.423466 Event: Start Call
-On: 2011-10-20 16:45:14.423522 Event: Waiting Feedback
-On: 2011-10-20 16:45:29.423679 Event: Test Failed
-On: 2011-10-20 16:45:33.481122 Event:
-On: 2011-10-20 16:45:33.481184 Event: init Caller
-On: 2011-10-20 16:45:33.481205 Event: sip
-On: 2011-10-20 16:45:35.493277 Event: Connected to Caller Handler
-On: 2011-10-20 16:45:35.493575 Event: Caller Handler respond
-On: 2011-10-20 16:45:35.494400 Event: Caller handler : Ready
-On: 2011-10-20 16:45:35.494438 Event: init Receiver
-On: 2011-10-20 16:45:35.494459 Event: GSMRZ2
-On: 2011-10-20 16:45:42.503079 Event: Connected to Receiver Handler
-On: 2011-10-20 16:45:42.510414 Event: Receiver Handler respond
-On: 2011-10-20 16:45:42.512614 Event: Receiver handler : Ready
-On: 2011-10-20 16:45:42.512649 Event: Start Call
-On: 2011-10-20 16:45:42.512787 Event: Waiting Feedback
-On: 2011-10-20 16:45:48.279891 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:47:39.124279 ------------------
-On: 2011-10-20 16:47:39.124356 Event: init Caller
-On: 2011-10-20 16:47:39.124381 Event: unisip
-On: 2011-10-20 16:47:41.129641 Event: Connected to Caller Handler
-On: 2011-10-20 16:47:41.130002 Event: Caller Handler respond
-On: 2011-10-20 16:47:41.130773 Event: Caller handler : Ready
-On: 2011-10-20 16:47:41.130812 Event: init Receiver
-On: 2011-10-20 16:47:41.130834 Event: GSMRZ3
-On: 2011-10-20 16:47:48.139368 Event: Connected to Receiver Handler
-On: 2011-10-20 16:47:48.147176 Event: Receiver Handler respond
-On: 2011-10-20 16:47:48.149362 Event: Receiver handler : Ready
-On: 2011-10-20 16:47:48.149399 Event: Start Call
-On: 2011-10-20 16:47:48.149535 Event: Waiting Feedback
-On: 2011-10-20 16:47:54.489418 Event: Test Succeed
-On: 2011-10-20 16:47:58.530388 Event:
-On: 2011-10-20 16:47:58.530449 Event: init Caller
-On: 2011-10-20 16:47:58.530470 Event: GSMRZ1
-On: 2011-10-20 16:48:00.534401 Event: Cannt connect to Caller
-On: 2011-10-20 16:48:00.534464 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:48:04.613193 Event:
-On: 2011-10-20 16:48:04.613255 Event: init Caller
-On: 2011-10-20 16:48:04.613275 Event: landline
-On: 2011-10-20 16:48:06.618815 Event: Connected to Caller Handler
-On: 2011-10-20 16:48:06.619452 Event: Caller Handler respond
-On: 2011-10-20 16:48:06.621843 Event: Caller handler : Ready
-On: 2011-10-20 16:48:06.621884 Event: init Receiver
-On: 2011-10-20 16:48:06.621906 Event: GSMRZ2
-On: 2011-10-20 16:48:13.629094 Event: Connected to Receiver Handler
-On: 2011-10-20 16:48:13.636360 Event: Receiver Handler respond
-On: 2011-10-20 16:48:13.639127 Event: Receiver handler : Ready
-On: 2011-10-20 16:48:13.639188 Event: Start Call
-On: 2011-10-20 16:48:13.639335 Event: Waiting Feedback
-On: 2011-10-20 16:48:21.567941 Event: Test Succeed
-On: 2011-10-20 16:48:25.610285 Event:
-On: 2011-10-20 16:48:25.610343 Event: init Caller
-On: 2011-10-20 16:48:25.610364 Event: sip
-On: 2011-10-20 16:48:27.615371 Event: Connected to Caller Handler
-On: 2011-10-20 16:48:27.615661 Event: Caller Handler respond
-On: 2011-10-20 16:48:27.616782 Event: Caller handler : Ready
-On: 2011-10-20 16:48:27.616820 Event: init Receiver
-On: 2011-10-20 16:48:27.616841 Event: GSMExt.Eplus
-On: 2011-10-20 16:48:29.622279 Event: Connected to Receiver Handler
-On: 2011-10-20 16:48:29.622561 Event: Receiver Handler respond
-On: 2011-10-20 16:48:29.622743 Event: Receiver handler : Ready
-On: 2011-10-20 16:48:29.622774 Event: Start Call
-On: 2011-10-20 16:48:29.622826 Event: Waiting Feedback
-On: 2011-10-20 16:48:44.622993 Event: Test Failed
-On: 2011-10-20 16:48:48.701111 Event:
-On: 2011-10-20 16:48:48.701175 Event: init Caller
-On: 2011-10-20 16:48:48.701196 Event: sip
-On: 2011-10-20 16:48:50.707375 Event: Connected to Caller Handler
-On: 2011-10-20 16:48:50.707665 Event: Caller Handler respond
-On: 2011-10-20 16:48:50.708417 Event: Caller handler : Ready
-On: 2011-10-20 16:48:50.708454 Event: init Receiver
-On: 2011-10-20 16:48:50.708475 Event: GSMExt.O2
-On: 2011-10-20 16:48:52.713490 Event: Connected to Receiver Handler
-On: 2011-10-20 16:48:52.713834 Event: Receiver Handler respond
-On: 2011-10-20 16:48:52.714031 Event: Receiver handler : Ready
-On: 2011-10-20 16:48:52.714061 Event: Start Call
-On: 2011-10-20 16:48:52.714114 Event: Waiting Feedback
-On: 2011-10-20 16:49:07.714275 Event: Test Failed
-On: 2011-10-20 16:49:11.791903 Event:
-On: 2011-10-20 16:49:11.791968 Event: init Caller
-On: 2011-10-20 16:49:11.791988 Event: sip
-On: 2011-10-20 16:49:13.798784 Event: Connected to Caller Handler
-On: 2011-10-20 16:49:13.799119 Event: Caller Handler respond
-On: 2011-10-20 16:49:13.800246 Event: Caller handler : Ready
-On: 2011-10-20 16:49:13.800283 Event: init Receiver
-On: 2011-10-20 16:49:13.800304 Event: GSMExt.Tm
-On: 2011-10-20 16:49:15.805670 Event: Connected to Receiver Handler
-On: 2011-10-20 16:49:15.806021 Event: Receiver Handler respond
-On: 2011-10-20 16:49:15.806207 Event: Receiver handler : Ready
-On: 2011-10-20 16:49:15.806238 Event: Start Call
-On: 2011-10-20 16:49:15.806293 Event: Waiting Feedback
-On: 2011-10-20 16:49:30.806528 Event: Test Failed
-On: 2011-10-20 16:49:36.872992 Event:
-On: 2011-10-20 16:49:36.873049 Event: init Caller
-On: 2011-10-20 16:49:36.873070 Event: sip
-On: 2011-10-20 16:49:38.878120 Event: Connected to Caller Handler
-On: 2011-10-20 16:49:38.878417 Event: Caller Handler respond
-On: 2011-10-20 16:49:38.879180 Event: Caller handler : Ready
-On: 2011-10-20 16:49:38.879218 Event: init Receiver
-On: 2011-10-20 16:49:38.879240 Event: GSMExt.Voda
-On: 2011-10-20 16:49:40.882643 Event: Connected to Receiver Handler
-On: 2011-10-20 16:49:40.882929 Event: Receiver Handler respond
-On: 2011-10-20 16:49:40.883110 Event: Receiver handler : Ready
-On: 2011-10-20 16:49:40.883140 Event: Start Call
-On: 2011-10-20 16:49:40.883194 Event: Waiting Feedback
-On: 2011-10-20 16:49:55.883358 Event: Test Failed
-On: 2011-10-20 16:49:59.940621 Event:
-On: 2011-10-20 16:49:59.940682 Event: init Caller
-On: 2011-10-20 16:49:59.940702 Event: sip
-On: 2011-10-20 16:50:01.956790 Event: Connected to Caller Handler
-On: 2011-10-20 16:50:01.957085 Event: Caller Handler respond
-On: 2011-10-20 16:50:01.958263 Event: Caller handler : Ready
-On: 2011-10-20 16:50:01.958301 Event: init Receiver
-On: 2011-10-20 16:50:01.958323 Event: GSMRZ2
-On: 2011-10-20 16:50:08.967335 Event: Connected to Receiver Handler
-On: 2011-10-20 16:50:08.974882 Event: Receiver Handler respond
-On: 2011-10-20 16:50:08.977058 Event: Receiver handler : Ready
-On: 2011-10-20 16:50:08.977103 Event: Start Call
-On: 2011-10-20 16:50:08.977168 Event: Waiting Feedback
-On: 2011-10-20 16:50:14.276272 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:51:38.883398 ------------------
-On: 2011-10-20 16:51:38.883477 Event: init Caller
-On: 2011-10-20 16:51:38.883501 Event: unisip
-On: 2011-10-20 16:51:40.886811 Event: Connected to Caller Handler
-On: 2011-10-20 16:51:40.887117 Event: Caller Handler respond
-On: 2011-10-20 16:51:40.887885 Event: Caller handler : Ready
-On: 2011-10-20 16:51:40.887923 Event: init Receiver
-On: 2011-10-20 16:51:40.887945 Event: GSMRZ3
-On: 2011-10-20 16:51:47.896907 Event: Connected to Receiver Handler
-On: 2011-10-20 16:51:47.904146 Event: Receiver Handler respond
-On: 2011-10-20 16:51:47.907175 Event: Receiver handler : Ready
-On: 2011-10-20 16:51:47.907241 Event: Start Call
-On: 2011-10-20 16:51:47.907386 Event: Waiting Feedback
-On: 2011-10-20 16:51:52.929447 Event: Test Succeed
-On: 2011-10-20 16:51:56.975900 Event:
-On: 2011-10-20 16:51:56.975961 Event: init Caller
-On: 2011-10-20 16:51:56.975981 Event: GSMRZ1
-On: 2011-10-20 16:51:58.980941 Event: Cannt connect to Caller
-On: 2011-10-20 16:51:58.981005 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:52:03.060182 Event:
-On: 2011-10-20 16:52:03.060246 Event: init Caller
-On: 2011-10-20 16:52:03.060267 Event: landline
-On: 2011-10-20 16:52:05.066107 Event: Connected to Caller Handler
-On: 2011-10-20 16:52:05.066396 Event: Caller Handler respond
-On: 2011-10-20 16:52:05.069066 Event: Caller handler : Ready
-On: 2011-10-20 16:52:05.069100 Event: init Receiver
-On: 2011-10-20 16:52:05.069122 Event: GSMRZ2
-On: 2011-10-20 16:52:12.076707 Event: Connected to Receiver Handler
-On: 2011-10-20 16:52:12.083999 Event: Receiver Handler respond
-On: 2011-10-20 16:52:12.087151 Event: Receiver handler : Ready
-On: 2011-10-20 16:52:12.087218 Event: Start Call
-On: 2011-10-20 16:52:12.087290 Event: Waiting Feedback
-On: 2011-10-20 16:52:25.231350 Event: Test Succeed
-On: 2011-10-20 16:52:29.273801 Event:
-On: 2011-10-20 16:52:29.273861 Event: init Caller
-On: 2011-10-20 16:52:29.273881 Event: sip
-On: 2011-10-20 16:52:31.278954 Event: Connected to Caller Handler
-On: 2011-10-20 16:52:31.279239 Event: Caller Handler respond
-On: 2011-10-20 16:52:31.279993 Event: Caller handler : Ready
-On: 2011-10-20 16:52:31.280031 Event: init Receiver
-On: 2011-10-20 16:52:31.280053 Event: GSMExt.Eplus
-On: 2011-10-20 16:52:33.285432 Event: Connected to Receiver Handler
-On: 2011-10-20 16:52:33.285750 Event: Receiver Handler respond
-On: 2011-10-20 16:52:33.285961 Event: Receiver handler : Ready
-On: 2011-10-20 16:52:33.285993 Event: Start Call
-On: 2011-10-20 16:52:33.286050 Event: Waiting Feedback
-On: 2011-10-20 16:52:48.286212 Event: Test Failed
-On: 2011-10-20 16:52:52.364294 Event:
-On: 2011-10-20 16:52:52.364356 Event: init Caller
-On: 2011-10-20 16:52:52.364376 Event: sip
-On: 2011-10-20 16:52:54.372821 Event: Connected to Caller Handler
-On: 2011-10-20 16:52:54.373115 Event: Caller Handler respond
-On: 2011-10-20 16:52:54.373939 Event: Caller handler : Ready
-On: 2011-10-20 16:52:54.373977 Event: init Receiver
-On: 2011-10-20 16:52:54.373999 Event: GSMExt.O2
-On: 2011-10-20 16:52:56.378651 Event: Connected to Receiver Handler
-On: 2011-10-20 16:52:56.378936 Event: Receiver Handler respond
-On: 2011-10-20 16:52:56.379124 Event: Receiver handler : Ready
-On: 2011-10-20 16:52:56.379155 Event: Start Call
-On: 2011-10-20 16:52:56.379211 Event: Waiting Feedback
-On: 2011-10-20 16:53:11.379368 Event: Test Failed
-On: 2011-10-20 16:53:15.457901 Event:
-On: 2011-10-20 16:53:15.457965 Event: init Caller
-On: 2011-10-20 16:53:15.457985 Event: sip
-On: 2011-10-20 16:53:17.464995 Event: Connected to Caller Handler
-On: 2011-10-20 16:53:17.465289 Event: Caller Handler respond
-On: 2011-10-20 16:53:17.466130 Event: Caller handler : Ready
-On: 2011-10-20 16:53:17.466168 Event: init Receiver
-On: 2011-10-20 16:53:17.466190 Event: GSMExt.Voda
-On: 2011-10-20 16:53:19.470643 Event: Connected to Receiver Handler
-On: 2011-10-20 16:53:19.470920 Event: Receiver Handler respond
-On: 2011-10-20 16:53:19.471099 Event: Receiver handler : Ready
-On: 2011-10-20 16:53:19.471130 Event: Start Call
-On: 2011-10-20 16:53:19.473768 Event: Waiting Feedback
-On: 2011-10-20 16:53:34.475826 Event: Test Failed
-On: 2011-10-20 16:53:38.574194 Event:
-On: 2011-10-20 16:53:38.574259 Event: init Caller
-On: 2011-10-20 16:53:38.574279 Event: sip
-On: 2011-10-20 16:53:40.583589 Event: Connected to Caller Handler
-On: 2011-10-20 16:53:40.583881 Event: Caller Handler respond
-On: 2011-10-20 16:53:40.584646 Event: Caller handler : Ready
-On: 2011-10-20 16:53:40.584685 Event: init Receiver
-On: 2011-10-20 16:53:40.584707 Event: GSMExt.Tm
-On: 2011-10-20 16:53:42.590538 Event: Connected to Receiver Handler
-On: 2011-10-20 16:53:42.590824 Event: Receiver Handler respond
-On: 2011-10-20 16:53:42.591010 Event: Receiver handler : Ready
-On: 2011-10-20 16:53:42.591041 Event: Start Call
-On: 2011-10-20 16:53:42.591095 Event: Waiting Feedback
-On: 2011-10-20 16:53:57.591251 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:54:46.996344 ------------------
-On: 2011-10-20 16:54:46.996422 Event: init Caller
-On: 2011-10-20 16:54:46.996445 Event: unisip
-On: 2011-10-20 16:54:49.001848 Event: Connected to Caller Handler
-On: 2011-10-20 16:54:49.002163 Event: Caller Handler respond
-On: 2011-10-20 16:54:49.002931 Event: Caller handler : Ready
-On: 2011-10-20 16:54:49.002970 Event: init Receiver
-On: 2011-10-20 16:54:49.002990 Event: GSMRZ3
-On: 2011-10-20 16:54:56.010295 Event: Connected to Receiver Handler
-On: 2011-10-20 16:54:56.018069 Event: Receiver Handler respond
-On: 2011-10-20 16:54:56.020319 Event: Receiver handler : Ready
-On: 2011-10-20 16:54:56.020356 Event: Start Call
-On: 2011-10-20 16:54:56.020485 Event: Waiting Feedback
-On: 2011-10-20 16:55:01.257597 Event: Test Succeed
-On: 2011-10-20 16:55:05.305019 Event:
-On: 2011-10-20 16:55:05.305080 Event: init Caller
-On: 2011-10-20 16:55:05.305100 Event: GSMRZ1
-On: 2011-10-20 16:55:07.310381 Event: Cannt connect to Caller
-On: 2011-10-20 16:55:07.310444 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-10-20 16:55:11.391619 Event:
-On: 2011-10-20 16:55:11.391682 Event: init Caller
-On: 2011-10-20 16:55:11.391702 Event: landline
-On: 2011-10-20 16:55:13.398189 Event: Connected to Caller Handler
-On: 2011-10-20 16:55:13.398480 Event: Caller Handler respond
-On: 2011-10-20 16:55:13.400951 Event: Caller handler : Ready
-On: 2011-10-20 16:55:13.400989 Event: init Receiver
-On: 2011-10-20 16:55:13.401009 Event: GSMRZ2
-On: 2011-10-20 16:55:20.406263 Event: Connected to Receiver Handler
-On: 2011-10-20 16:55:20.413525 Event: Receiver Handler respond
-On: 2011-10-20 16:55:20.416375 Event: Receiver handler : Ready
-On: 2011-10-20 16:55:20.416421 Event: Start Call
-On: 2011-10-20 16:55:20.416560 Event: Waiting Feedback
-On: 2011-10-20 16:55:28.916564 Event: Test Succeed
-On: 2011-10-20 16:55:32.956883 Event:
-On: 2011-10-20 16:55:32.956942 Event: init Caller
-On: 2011-10-20 16:55:32.956962 Event: sip
-On: 2011-10-20 16:55:34.961993 Event: Connected to Caller Handler
-On: 2011-10-20 16:55:34.962292 Event: Caller Handler respond
-On: 2011-10-20 16:55:34.963050 Event: Caller handler : Ready
-On: 2011-10-20 16:55:34.963088 Event: init Receiver
-On: 2011-10-20 16:55:34.963108 Event: GSMExt.O2
-On: 2011-10-20 16:55:36.968832 Event: Connected to Receiver Handler
-On: 2011-10-20 16:55:36.969119 Event: Receiver Handler respond
-On: 2011-10-20 16:55:36.969303 Event: Receiver handler : Ready
-On: 2011-10-20 16:55:36.969333 Event: Start Call
-On: 2011-10-20 16:55:36.969386 Event: Waiting Feedback
-On: 2011-10-20 16:55:51.969553 Event: Test Failed
-On: 2011-10-20 16:55:56.050154 Event:
-On: 2011-10-20 16:55:56.050217 Event: init Caller
-On: 2011-10-20 16:55:56.050237 Event: sip
-On: 2011-10-20 16:55:58.056673 Event: Connected to Caller Handler
-On: 2011-10-20 16:55:58.056966 Event: Caller Handler respond
-On: 2011-10-20 16:55:58.057776 Event: Caller handler : Ready
-On: 2011-10-20 16:55:58.057814 Event: init Receiver
-On: 2011-10-20 16:55:58.057834 Event: GSMExt.Tm
-On: 2011-10-20 16:56:00.062692 Event: Connected to Receiver Handler
-On: 2011-10-20 16:56:00.063054 Event: Receiver Handler respond
-On: 2011-10-20 16:56:00.063238 Event: Receiver handler : Ready
-On: 2011-10-20 16:56:00.063267 Event: Start Call
-On: 2011-10-20 16:56:00.063323 Event: Waiting Feedback
-On: 2011-10-20 16:56:15.063491 Event: Test Failed
-On: 2011-10-20 16:56:19.140852 Event:
-On: 2011-10-20 16:56:19.140917 Event: init Caller
-On: 2011-10-20 16:56:19.140937 Event: sip
-On: 2011-10-20 16:56:21.147286 Event: Connected to Caller Handler
-On: 2011-10-20 16:56:21.147676 Event: Caller Handler respond
-On: 2011-10-20 16:56:21.148450 Event: Caller handler : Ready
-On: 2011-10-20 16:56:21.148487 Event: init Receiver
-On: 2011-10-20 16:56:21.148508 Event: GSMExt.Voda
-On: 2011-10-20 16:56:23.153932 Event: Connected to Receiver Handler
-On: 2011-10-20 16:56:23.154221 Event: Receiver Handler respond
-On: 2011-10-20 16:56:23.154402 Event: Receiver handler : Ready
-On: 2011-10-20 16:56:23.154432 Event: Start Call
-On: 2011-10-20 16:56:23.154493 Event: Waiting Feedback
-On: 2011-10-20 16:56:38.154733 Event: Test Failed
-On: 2011-10-20 16:56:42.232832 Event:
-On: 2011-10-20 16:56:42.232894 Event: init Caller
-On: 2011-10-20 16:56:42.232914 Event: sip
-On: 2011-10-20 16:56:44.239436 Event: Connected to Caller Handler
-On: 2011-10-20 16:56:44.239732 Event: Caller Handler respond
-On: 2011-10-20 16:56:44.240515 Event: Caller handler : Ready
-On: 2011-10-20 16:56:44.240553 Event: init Receiver
-On: 2011-10-20 16:56:44.240574 Event: GSMExt.Eplus
-On: 2011-10-20 16:56:46.246093 Event: Connected to Receiver Handler
-On: 2011-10-20 16:56:46.246386 Event: Receiver Handler respond
-On: 2011-10-20 16:56:46.246567 Event: Receiver handler : Ready
-On: 2011-10-20 16:56:46.246597 Event: Start Call
-On: 2011-10-20 16:56:46.246648 Event: Waiting Feedback
-On: 2011-10-20 16:57:01.246812 Event: Test Failed
diff --git a/For Weekly Test/Advance/University SIP handler.log b/For Weekly Test/Advance/University SIP handler.log
deleted file mode 100644
index 202de1b..0000000
--- a/For Weekly Test/Advance/University SIP handler.log
+++ /dev/null
@@ -1,583 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:20.463772 ------------------
-On: 2011-10-14 17:09:20.484808 Event: try to Connect to Controller
-On: 2011-10-14 17:09:21.787092 Event: init state
-On: 2011-10-14 17:09:21.787333 Event: Register Account to SIP server
-On: 2011-10-14 17:09:21.787760 Event: 100
-On: 2011-10-14 17:09:21.787849 Event: Caller Handler Ready
-On: 2011-10-14 17:09:23.798322 Event: Terminate
-On: 2011-10-14 17:09:23.798362 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:19.746950 ------------------
-On: 2011-10-14 17:54:19.768161 Event: try to Connect to Controller
-On: 2011-10-14 17:54:21.059772 Event: init state
-On: 2011-10-14 17:54:21.060003 Event: Register Account to SIP server
-On: 2011-10-14 17:54:21.060427 Event: 100
-On: 2011-10-14 17:54:21.060512 Event: Caller Handler Ready
-On: 2011-10-14 17:54:25.066805 Event: Terminate
-On: 2011-10-14 17:54:25.066845 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:10.607489 ------------------
-On: 2011-10-14 17:56:10.628235 Event: try to Connect to Controller
-On: 2011-10-14 17:56:11.929022 Event: init state
-On: 2011-10-14 17:56:11.929259 Event: Register Account to SIP server
-On: 2011-10-14 17:56:11.929679 Event: 100
-On: 2011-10-14 17:56:11.929765 Event: Caller Handler Ready
-On: 2011-10-14 17:56:13.938277 Event: Terminate
-On: 2011-10-14 17:56:13.938318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:30.100094 ------------------
-On: 2011-10-14 17:58:30.121441 Event: try to Connect to Controller
-On: 2011-10-14 17:58:31.415093 Event: init state
-On: 2011-10-14 17:58:31.415334 Event: Register Account to SIP server
-On: 2011-10-14 17:58:31.415757 Event: 100
-On: 2011-10-14 17:58:31.415843 Event: Caller Handler Ready
-On: 2011-10-14 17:58:35.422237 Event: Terminate
-On: 2011-10-14 17:58:35.422278 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:09.612616 ------------------
-On: 2011-10-14 19:02:09.635232 Event: try to Connect to Controller
-On: 2011-10-14 19:02:10.880521 Event: init state
-On: 2011-10-14 19:02:10.880760 Event: Register Account to SIP server
-On: 2011-10-14 19:02:10.881541 Event: 100
-On: 2011-10-14 19:02:10.881628 Event: Caller Handler Ready
-On: 2011-10-14 19:02:14.888860 Event: Terminate
-On: 2011-10-14 19:02:14.888899 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:36.840163 ------------------
-On: 2011-10-14 19:02:36.862417 Event: try to Connect to Controller
-On: 2011-10-14 19:02:38.099450 Event: init state
-On: 2011-10-14 19:02:38.099733 Event: Register Account to SIP server
-On: 2011-10-14 19:02:38.100154 Event: 100
-On: 2011-10-14 19:02:38.100240 Event: Caller Handler Ready
-On: 2011-10-14 19:02:45.119551 Event: CALL START
-On: 2011-10-14 19:02:45.119610 Event: Make a call to: 4661447
-On: 2011-10-14 19:02:45.214411 Event: Number busy or Offline
-On: 2011-10-14 19:02:45.214522 Event: CALL NOT OK
-On: 2011-10-14 19:02:45.214582 Event: Call Disconnected
-On: 2011-10-14 19:02:58.118120 Event: Terminate
-On: 2011-10-14 19:02:58.118170 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:03:14.777585 ------------------
-On: 2011-10-14 19:03:14.798150 Event: try to Connect to Controller
-On: 2011-10-14 19:03:16.046161 Event: init state
-On: 2011-10-14 19:03:16.046397 Event: Register Account to SIP server
-On: 2011-10-14 19:03:16.047165 Event: 100
-On: 2011-10-14 19:03:16.047251 Event: Caller Handler Ready
-On: 2011-10-14 19:03:23.065159 Event: CALL START
-On: 2011-10-14 19:03:23.065219 Event: Make a call to: 4661447
-On: 2011-10-14 19:03:23.145000 Event: Number busy or Offline
-On: 2011-10-14 19:03:23.145107 Event: CALL NOT OK
-On: 2011-10-14 19:03:23.145167 Event: Call Disconnected
-On: 2011-10-14 19:03:36.063802 Event: Terminate
-On: 2011-10-14 19:03:36.063852 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:41.178313 ------------------
-On: 2011-10-14 19:13:41.198922 Event: try to Connect to Controller
-On: 2011-10-14 19:13:42.505494 Event: init state
-On: 2011-10-14 19:13:42.505769 Event: Register Account to SIP server
-On: 2011-10-14 19:13:42.506544 Event: 100
-On: 2011-10-14 19:13:42.506632 Event: Caller Handler Ready
-On: 2011-10-14 19:13:46.529301 Event: Terminate
-On: 2011-10-14 19:13:46.529343 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:38.322077 ------------------
-On: 2011-10-14 19:16:38.342236 Event: try to Connect to Controller
-On: 2011-10-14 19:16:39.678791 Event: init state
-On: 2011-10-14 19:16:39.679031 Event: Register Account to SIP server
-On: 2011-10-14 19:16:39.679455 Event: 100
-On: 2011-10-14 19:16:39.679540 Event: Caller Handler Ready
-On: 2011-10-14 19:16:41.690034 Event: Terminate
-On: 2011-10-14 19:16:41.690076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:52:11.399757 ------------------
-On: 2011-10-17 16:52:11.420389 Event: try to Connect to Controller
-On: 2011-10-17 16:52:12.666407 Event: init state
-On: 2011-10-17 16:52:12.666634 Event: Register Account to SIP server
-On: 2011-10-17 16:52:12.667048 Event: 100
-On: 2011-10-17 16:52:12.667133 Event: Receiver Handler Ready
-On: 2011-10-17 16:52:12.667475 Event: RECEIVE START
-On: 2011-10-17 16:52:15.720061 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-17 16:52:15.720927 Event: Call Connecting
-On: 2011-10-17 16:52:15.720977 Event: 200
-On: 2011-10-17 16:52:15.721225 Event: Answer call
-On: 2011-10-17 16:52:15.721277 Event: Hangup call
-On: 2011-10-17 16:52:15.721647 Event: CALL OK
-On: 2011-10-17 16:52:15.822848 Event: Call Disconnected
-On: 2011-10-17 16:52:16.721855 Event: Terminate
-On: 2011-10-17 16:52:16.721898 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:15:26.258167 ------------------
-On: 2011-10-17 17:15:26.278319 Event: try to Connect to Controller
-On: 2011-10-17 17:15:27.596073 Event: init state
-On: 2011-10-17 17:15:27.596314 Event: Register Account to SIP server
-On: 2011-10-17 17:15:27.596730 Event: 100
-On: 2011-10-17 17:15:27.596816 Event: Caller Handler Ready
-On: 2011-10-17 17:15:32.608564 Event: CALL START
-On: 2011-10-17 17:15:32.608624 Event: Make a call to: 4661449
-On: 2011-10-17 17:15:32.680858 Event: Number busy or Offline
-On: 2011-10-17 17:15:32.680961 Event: CALL NOT OK
-On: 2011-10-17 17:15:32.681022 Event: Call Disconnected
-On: 2011-10-17 17:15:45.604531 Event: Terminate
-On: 2011-10-17 17:15:45.604575 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:29:39.716072 ------------------
-On: 2011-10-17 17:29:39.737029 Event: try to Connect to Controller
-On: 2011-10-17 17:29:41.041773 Event: init state
-On: 2011-10-17 17:29:41.042019 Event: Register Account to SIP server
-On: 2011-10-17 17:29:41.042447 Event: 100
-On: 2011-10-17 17:29:41.042535 Event: Caller Handler Ready
-On: 2011-10-17 17:29:59.201337 Event: Terminate
-On: 2011-10-17 17:29:59.201378 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:37:44.064925 ------------------
-On: 2011-10-17 17:37:44.087528 Event: try to Connect to Controller
-On: 2011-10-17 17:37:45.388397 Event: init state
-On: 2011-10-17 17:37:45.388638 Event: Register Account to SIP server
-On: 2011-10-17 17:37:45.389426 Event: 100
-On: 2011-10-17 17:37:45.389712 Event: Caller Handler Ready
-On: 2011-10-17 17:38:07.489481 Event: CALL START
-On: 2011-10-17 17:38:07.489559 Event: Make a call to: 4661455
-On: 2011-10-17 17:38:07.547960 Event: Number busy or Offline
-On: 2011-10-17 17:38:07.548065 Event: CALL NOT OK
-On: 2011-10-17 17:38:07.548126 Event: Call Disconnected
-On: 2011-10-17 17:38:20.489171 Event: Terminate
-On: 2011-10-17 17:38:20.489230 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:46:33.990113 ------------------
-On: 2011-10-17 17:46:34.010719 Event: try to Connect to Controller
-On: 2011-10-17 17:46:35.311714 Event: init state
-On: 2011-10-17 17:46:35.311956 Event: Register Account to SIP server
-On: 2011-10-17 17:46:35.312383 Event: 100
-On: 2011-10-17 17:46:35.312468 Event: Caller Handler Ready
-On: 2011-10-17 17:46:39.320140 Event: Terminate
-On: 2011-10-17 17:46:39.320179 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:02:39.179336 ------------------
-On: 2011-10-17 18:02:39.199551 Event: try to Connect to Controller
-On: 2011-10-17 18:02:40.511272 Event: init state
-On: 2011-10-17 18:02:40.511520 Event: Register Account to SIP server
-On: 2011-10-17 18:02:40.511939 Event: 100
-On: 2011-10-17 18:02:40.512028 Event: Caller Handler Ready
-On: 2011-10-17 18:02:45.524679 Event: CALL START
-On: 2011-10-17 18:02:45.524735 Event: Make a call to: 4661449
-On: 2011-10-17 18:02:45.601259 Event: Number busy or Offline
-On: 2011-10-17 18:02:45.601362 Event: CALL NOT OK
-On: 2011-10-17 18:02:45.601423 Event: Call Disconnected
-On: 2011-10-17 18:02:58.519835 Event: Terminate
-On: 2011-10-17 18:02:58.519878 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:09:37.195146 ------------------
-On: 2011-10-17 18:09:37.215474 Event: try to Connect to Controller
-On: 2011-10-17 18:09:38.514215 Event: init state
-On: 2011-10-17 18:09:38.514454 Event: Register Account to SIP server
-On: 2011-10-17 18:09:38.514876 Event: 100
-On: 2011-10-17 18:09:38.514964 Event: Caller Handler Ready
-On: 2011-10-17 18:09:42.522476 Event: Terminate
-On: 2011-10-17 18:09:42.522518 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:27:56.695383 ------------------
-On: 2011-10-20 12:27:56.715645 Event: try to Connect to Controller
-On: 2011-10-20 12:27:57.966095 Event: init state
-On: 2011-10-20 12:27:57.966351 Event: Register Account to SIP server
-On: 2011-10-20 12:27:57.967133 Event: 100
-On: 2011-10-20 12:27:57.967220 Event: Caller Handler Ready
-On: 2011-10-20 12:28:02.975299 Event: CALL START
-On: 2011-10-20 12:28:02.975354 Event: Make a call to: 4661449
-On: 2011-10-20 12:28:03.214760 Event: Number busy or Offline
-On: 2011-10-20 12:28:03.214857 Event: CALL NOT OK
-On: 2011-10-20 12:28:03.214918 Event: Call Disconnected
-On: 2011-10-20 12:28:14.973867 Event: Terminate
-On: 2011-10-20 12:28:14.973926 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:03.404722 ------------------
-On: 2011-10-20 12:30:03.425184 Event: try to Connect to Controller
-On: 2011-10-20 12:30:04.725895 Event: init state
-On: 2011-10-20 12:30:04.726141 Event: Register Account to SIP server
-On: 2011-10-20 12:30:04.726904 Event: 100
-On: 2011-10-20 12:30:04.726990 Event: Caller Handler Ready
-On: 2011-10-20 12:30:14.745741 Event: CALL START
-On: 2011-10-20 12:30:14.745803 Event: Make a call to: 4661447
-On: 2011-10-20 12:30:14.845066 Event: Number busy or Offline
-On: 2011-10-20 12:30:14.845175 Event: CALL NOT OK
-On: 2011-10-20 12:30:14.845238 Event: Call Disconnected
-On: 2011-10-20 12:30:26.746474 Event: Terminate
-On: 2011-10-20 12:30:26.746531 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:11.542884 ------------------
-On: 2011-10-20 12:41:11.605023 Event: try to Connect to Controller
-On: 2011-10-20 12:41:12.177901 Event: init state
-On: 2011-10-20 12:41:12.178195 Event: Register Account to SIP server
-On: 2011-10-20 12:41:12.179008 Event: 100
-On: 2011-10-20 12:41:12.179090 Event: Caller Handler Ready
-On: 2011-10-20 12:41:22.201238 Event: CALL START
-On: 2011-10-20 12:41:22.201297 Event: Make a call to: 4661455
-On: 2011-10-20 12:41:22.256105 Event: Number busy or Offline
-On: 2011-10-20 12:41:22.256210 Event: CALL NOT OK
-On: 2011-10-20 12:41:22.256271 Event: Call Disconnected
-On: 2011-10-20 12:41:34.198684 Event: Terminate
-On: 2011-10-20 12:41:34.198730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:48:50.545230 ------------------
-On: 2011-10-20 12:48:50.565974 Event: try to Connect to Controller
-On: 2011-10-20 12:48:51.855695 Event: init state
-On: 2011-10-20 12:48:51.855951 Event: Register Account to SIP server
-On: 2011-10-20 12:48:51.856370 Event: 100
-On: 2011-10-20 12:48:51.856456 Event: Caller Handler Ready
-On: 2011-10-20 12:49:01.880839 Event: CALL START
-On: 2011-10-20 12:49:01.880884 Event: Make a call to: 4661455
-On: 2011-10-20 12:49:01.938198 Event: Number busy or Offline
-On: 2011-10-20 12:49:01.938302 Event: CALL NOT OK
-On: 2011-10-20 12:49:01.938362 Event: Call Disconnected
-On: 2011-10-20 12:49:13.878212 Event: Terminate
-On: 2011-10-20 12:49:13.878257 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:55:31.808866 ------------------
-On: 2011-10-20 12:55:31.829989 Event: try to Connect to Controller
-On: 2011-10-20 12:55:33.148979 Event: init state
-On: 2011-10-20 12:55:33.149227 Event: Register Account to SIP server
-On: 2011-10-20 12:55:33.149638 Event: 100
-On: 2011-10-20 12:55:33.150705 Event: Caller Handler Ready
-On: 2011-10-20 12:55:38.160831 Event: CALL START
-On: 2011-10-20 12:55:38.160890 Event: Make a call to: 4661449
-On: 2011-10-20 12:55:38.227996 Event: Number busy or Offline
-On: 2011-10-20 12:55:38.228102 Event: CALL NOT OK
-On: 2011-10-20 12:55:38.228163 Event: Call Disconnected
-On: 2011-10-20 12:55:50.155718 Event: Terminate
-On: 2011-10-20 12:55:50.155760 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:04:48.648303 ------------------
-On: 2011-10-20 13:04:48.668858 Event: try to Connect to Controller
-On: 2011-10-20 13:04:49.969172 Event: init state
-On: 2011-10-20 13:04:49.969431 Event: Register Account to SIP server
-On: 2011-10-20 13:04:49.970412 Event: 100
-On: 2011-10-20 13:04:49.970513 Event: Caller Handler Ready
-On: 2011-10-20 13:04:59.993027 Event: CALL START
-On: 2011-10-20 13:04:59.993085 Event: Make a call to: 4661447
-On: 2011-10-20 13:05:00.084809 Event: Number busy or Offline
-On: 2011-10-20 13:05:00.084913 Event: CALL NOT OK
-On: 2011-10-20 13:05:00.084974 Event: Call Disconnected
-On: 2011-10-20 13:05:11.990436 Event: Terminate
-On: 2011-10-20 13:05:11.990482 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:15:51.539774 ------------------
-On: 2011-10-20 13:15:51.560375 Event: try to Connect to Controller
-On: 2011-10-20 13:15:52.876340 Event: init state
-On: 2011-10-20 13:15:52.876587 Event: Register Account to SIP server
-On: 2011-10-20 13:15:52.877007 Event: 100
-On: 2011-10-20 13:15:52.877092 Event: Caller Handler Ready
-On: 2011-10-20 13:15:57.888818 Event: CALL START
-On: 2011-10-20 13:15:57.888873 Event: Make a call to: 4661449
-On: 2011-10-20 13:15:57.957429 Event: Number busy or Offline
-On: 2011-10-20 13:15:57.957533 Event: CALL NOT OK
-On: 2011-10-20 13:15:57.957593 Event: Call Disconnected
-On: 2011-10-20 13:16:09.882641 Event: Terminate
-On: 2011-10-20 13:16:09.882683 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:33:35.254891 ------------------
-On: 2011-10-20 13:33:35.274979 Event: try to Connect to Controller
-On: 2011-10-20 13:33:36.589124 Event: init state
-On: 2011-10-20 13:33:36.589352 Event: Register Account to SIP server
-On: 2011-10-20 13:33:36.589972 Event: 100
-On: 2011-10-20 13:33:36.590073 Event: Caller Handler Ready
-On: 2011-10-20 13:33:46.609582 Event: CALL START
-On: 2011-10-20 13:33:46.609639 Event: Make a call to: 4661455
-On: 2011-10-20 13:33:46.689384 Event: Number busy or Offline
-On: 2011-10-20 13:33:46.689491 Event: CALL NOT OK
-On: 2011-10-20 13:33:46.689551 Event: Call Disconnected
-On: 2011-10-20 13:33:58.607656 Event: Terminate
-On: 2011-10-20 13:33:58.607714 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:51:31.916018 ------------------
-On: 2011-10-20 13:51:31.936621 Event: try to Connect to Controller
-On: 2011-10-20 13:51:33.091875 Event: init state
-On: 2011-10-20 13:51:33.092116 Event: Register Account to SIP server
-On: 2011-10-20 13:51:33.092538 Event: 100
-On: 2011-10-20 13:51:33.092625 Event: Caller Handler Ready
-On: 2011-10-20 13:51:43.111356 Event: CALL START
-On: 2011-10-20 13:51:43.111411 Event: Make a call to: 4661447
-On: 2011-10-20 13:51:43.197624 Event: Number busy or Offline
-On: 2011-10-20 13:51:43.197782 Event: CALL NOT OK
-On: 2011-10-20 13:51:43.197854 Event: Call Disconnected
-On: 2011-10-20 13:51:55.109101 Event: Terminate
-On: 2011-10-20 13:51:55.109156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:01:40.704703 ------------------
-On: 2011-10-20 14:01:40.725475 Event: try to Connect to Controller
-On: 2011-10-20 14:01:42.034925 Event: init state
-On: 2011-10-20 14:01:42.035163 Event: Register Account to SIP server
-On: 2011-10-20 14:01:42.035585 Event: 100
-On: 2011-10-20 14:01:42.035669 Event: Caller Handler Ready
-On: 2011-10-20 14:01:47.048822 Event: CALL START
-On: 2011-10-20 14:01:47.048877 Event: Make a call to: 4661449
-On: 2011-10-20 14:01:47.124585 Event: Number busy or Offline
-On: 2011-10-20 14:01:47.124688 Event: CALL NOT OK
-On: 2011-10-20 14:01:47.124749 Event: Call Disconnected
-On: 2011-10-20 14:01:59.042313 Event: Terminate
-On: 2011-10-20 14:01:59.042358 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:01.663717 ------------------
-On: 2011-10-20 14:09:01.683988 Event: try to Connect to Controller
-On: 2011-10-20 14:09:03.002619 Event: init state
-On: 2011-10-20 14:09:03.002863 Event: Register Account to SIP server
-On: 2011-10-20 14:09:03.003289 Event: 100
-On: 2011-10-20 14:09:03.003376 Event: Caller Handler Ready
-On: 2011-10-20 14:09:08.016800 Event: CALL START
-On: 2011-10-20 14:09:08.016855 Event: Make a call to: 4661449
-On: 2011-10-20 14:09:09.770914 Event: Call Connecting
-On: 2011-10-20 14:09:09.770959 Event: 200
-On: 2011-10-20 14:09:09.998229 Event: Terminate
-On: 2011-10-20 14:09:09.998271 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:14:44.358042 ------------------
-On: 2011-10-20 14:14:44.378073 Event: try to Connect to Controller
-On: 2011-10-20 14:14:45.691040 Event: init state
-On: 2011-10-20 14:14:45.691271 Event: Register Account to SIP server
-On: 2011-10-20 14:14:45.691684 Event: 100
-On: 2011-10-20 14:14:45.691769 Event: Caller Handler Ready
-On: 2011-10-20 14:14:50.704922 Event: CALL START
-On: 2011-10-20 14:14:50.704977 Event: Make a call to: 4661449
-On: 2011-10-20 14:14:53.386248 Event: Call Connecting
-On: 2011-10-20 14:14:53.386293 Event: 200
-On: 2011-10-20 14:14:53.686188 Event: Terminate
-On: 2011-10-20 14:14:53.686228 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:11.802214 ------------------
-On: 2011-10-20 14:20:11.822819 Event: try to Connect to Controller
-On: 2011-10-20 14:20:13.097889 Event: init state
-On: 2011-10-20 14:20:13.098155 Event: Register Account to SIP server
-On: 2011-10-20 14:20:13.098574 Event: 100
-On: 2011-10-20 14:20:13.098656 Event: Caller Handler Ready
-On: 2011-10-20 14:20:23.119643 Event: CALL START
-On: 2011-10-20 14:20:23.119701 Event: Make a call to: 4661455
-On: 2011-10-20 14:20:24.826556 Event: Call Connecting
-On: 2011-10-20 14:20:24.826617 Event: 200
-On: 2011-10-20 14:20:25.023821 Event: Terminate
-On: 2011-10-20 14:20:25.023878 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:12.542124 ------------------
-On: 2011-10-20 14:25:12.562752 Event: try to Connect to Controller
-On: 2011-10-20 14:25:13.860033 Event: init state
-On: 2011-10-20 14:25:13.860271 Event: Register Account to SIP server
-On: 2011-10-20 14:25:13.860692 Event: 100
-On: 2011-10-20 14:25:13.860779 Event: Caller Handler Ready
-On: 2011-10-20 14:25:23.876941 Event: CALL START
-On: 2011-10-20 14:25:23.876999 Event: Make a call to: 4661455
-On: 2011-10-20 14:25:26.128928 Event: Call Connecting
-On: 2011-10-20 14:25:26.128975 Event: 200
-On: 2011-10-20 14:25:26.356232 Event: Terminate
-On: 2011-10-20 14:25:26.356289 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:14.268211 ------------------
-On: 2011-10-20 14:32:14.288708 Event: try to Connect to Controller
-On: 2011-10-20 14:32:15.599261 Event: init state
-On: 2011-10-20 14:32:15.599507 Event: Register Account to SIP server
-On: 2011-10-20 14:32:15.600290 Event: 100
-On: 2011-10-20 14:32:15.600378 Event: Caller Handler Ready
-On: 2011-10-20 14:32:20.612960 Event: CALL START
-On: 2011-10-20 14:32:20.613013 Event: Make a call to: 4661449
-On: 2011-10-20 14:32:23.963758 Event: Call Connecting
-On: 2011-10-20 14:32:23.963806 Event: 200
-On: 2011-10-20 14:32:24.186230 Event: Terminate
-On: 2011-10-20 14:32:24.186273 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:38:54.146517 ------------------
-On: 2011-10-20 14:38:54.169425 Event: try to Connect to Controller
-On: 2011-10-20 14:38:55.443987 Event: init state
-On: 2011-10-20 14:38:55.444237 Event: Register Account to SIP server
-On: 2011-10-20 14:38:55.444646 Event: 100
-On: 2011-10-20 14:38:55.444731 Event: Caller Handler Ready
-On: 2011-10-20 14:39:05.463992 Event: CALL START
-On: 2011-10-20 14:39:05.464050 Event: Make a call to: 4661455
-On: 2011-10-20 14:39:07.637906 Event: Call Connecting
-On: 2011-10-20 14:39:07.637954 Event: 200
-On: 2011-10-20 14:39:07.850769 Event: Terminate
-On: 2011-10-20 14:39:07.850829 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:55:30.694502 ------------------
-On: 2011-10-20 14:55:30.714845 Event: try to Connect to Controller
-On: 2011-10-20 14:55:32.022984 Event: init state
-On: 2011-10-20 14:55:32.023222 Event: Register Account to SIP server
-On: 2011-10-20 14:55:32.024001 Event: 100
-On: 2011-10-20 14:55:32.024084 Event: Caller Handler Ready
-On: 2011-10-20 14:55:42.047699 Event: CALL START
-On: 2011-10-20 14:55:42.047758 Event: Make a call to: 4661455
-On: 2011-10-20 14:55:44.073497 Event: Call Connecting
-On: 2011-10-20 14:55:44.073545 Event: 200
-On: 2011-10-20 14:55:44.266711 Event: Terminate
-On: 2011-10-20 14:55:44.266769 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:10.244175 ------------------
-On: 2011-10-20 15:00:10.264816 Event: try to Connect to Controller
-On: 2011-10-20 15:00:11.578767 Event: init state
-On: 2011-10-20 15:00:11.579009 Event: Register Account to SIP server
-On: 2011-10-20 15:00:11.579432 Event: 100
-On: 2011-10-20 15:00:11.579521 Event: Caller Handler Ready
-On: 2011-10-20 15:00:16.592904 Event: CALL START
-On: 2011-10-20 15:00:16.592955 Event: Make a call to: 4661449
-On: 2011-10-20 15:00:18.761660 Event: Call Connecting
-On: 2011-10-20 15:00:18.761735 Event: 200
-On: 2011-10-20 15:00:18.994204 Event: Terminate
-On: 2011-10-20 15:00:18.994247 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:16:18.392826 ------------------
-On: 2011-10-20 15:16:18.413151 Event: try to Connect to Controller
-On: 2011-10-20 15:16:19.723029 Event: init state
-On: 2011-10-20 15:16:19.723273 Event: Register Account to SIP server
-On: 2011-10-20 15:16:19.724050 Event: 100
-On: 2011-10-20 15:16:19.724134 Event: Caller Handler Ready
-On: 2011-10-20 15:16:21.731058 Event: Terminate
-On: 2011-10-20 15:16:21.731099 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:23:20.799299 ------------------
-On: 2011-10-20 15:23:20.829401 Event: try to Connect to Controller
-On: 2011-10-20 15:23:22.133378 Event: init state
-On: 2011-10-20 15:23:22.133618 Event: Register Account to SIP server
-On: 2011-10-20 15:23:22.134073 Event: 100
-On: 2011-10-20 15:23:22.134158 Event: Caller Handler Ready
-On: 2011-10-20 15:23:32.155822 Event: CALL START
-On: 2011-10-20 15:23:32.155894 Event: Make a call to: 4661455
-On: 2011-10-20 15:23:34.169204 Event: Call Connecting
-On: 2011-10-20 15:23:34.169255 Event: 200
-On: 2011-10-20 15:23:34.350980 Event: Terminate
-On: 2011-10-20 15:23:34.351037 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:02:46.594696 ------------------
-On: 2011-10-20 16:02:46.615504 Event: try to Connect to Controller
-On: 2011-10-20 16:02:47.897691 Event: init state
-On: 2011-10-20 16:02:47.897997 Event: Register Account to SIP server
-On: 2011-10-20 16:02:47.898443 Event: 100
-On: 2011-10-20 16:02:47.898534 Event: Caller Handler Ready
-On: 2011-10-20 16:02:57.921058 Event: CALL START
-On: 2011-10-20 16:02:57.921118 Event: Make a call to: 4661455
-On: 2011-10-20 16:02:59.775096 Event: Call Connecting
-On: 2011-10-20 16:02:59.775185 Event: 200
-On: 2011-10-20 16:03:00.009781 Event: Terminate
-On: 2011-10-20 16:03:00.009829 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:07.762214 ------------------
-On: 2011-10-20 16:07:07.784429 Event: try to Connect to Controller
-On: 2011-10-20 16:07:09.047040 Event: init state
-On: 2011-10-20 16:07:09.047280 Event: Register Account to SIP server
-On: 2011-10-20 16:07:09.047698 Event: 100
-On: 2011-10-20 16:07:09.047784 Event: Caller Handler Ready
-On: 2011-10-20 16:07:19.073727 Event: CALL START
-On: 2011-10-20 16:07:19.073786 Event: Make a call to: 4661455
-On: 2011-10-20 16:07:21.051163 Event: Call Connecting
-On: 2011-10-20 16:07:21.051212 Event: 200
-On: 2011-10-20 16:07:21.263128 Event: Terminate
-On: 2011-10-20 16:07:21.263186 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:13:18.569013 ------------------
-On: 2011-10-20 16:13:18.590008 Event: try to Connect to Controller
-On: 2011-10-20 16:13:19.885842 Event: init state
-On: 2011-10-20 16:13:19.886082 Event: Register Account to SIP server
-On: 2011-10-20 16:13:19.886506 Event: 100
-On: 2011-10-20 16:13:19.886590 Event: Caller Handler Ready
-On: 2011-10-20 16:13:29.905735 Event: CALL START
-On: 2011-10-20 16:13:29.905794 Event: Make a call to: 4661447
-On: 2011-10-20 16:13:32.050076 Event: Call Connecting
-On: 2011-10-20 16:13:32.050126 Event: 200
-On: 2011-10-20 16:13:32.216576 Event: Terminate
-On: 2011-10-20 16:13:32.216634 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:17:02.499628 ------------------
-On: 2011-10-20 16:17:02.520237 Event: try to Connect to Controller
-On: 2011-10-20 16:17:03.823003 Event: init state
-On: 2011-10-20 16:17:03.823255 Event: Register Account to SIP server
-On: 2011-10-20 16:17:03.823681 Event: 100
-On: 2011-10-20 16:17:03.823765 Event: Caller Handler Ready
-On: 2011-10-20 16:17:05.829452 Event: Terminate
-On: 2011-10-20 16:17:05.829491 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:43:27.421197 ------------------
-On: 2011-10-20 16:43:27.441977 Event: try to Connect to Controller
-On: 2011-10-20 16:43:28.739596 Event: init state
-On: 2011-10-20 16:43:28.739838 Event: Register Account to SIP server
-On: 2011-10-20 16:43:28.740260 Event: 100
-On: 2011-10-20 16:43:28.740345 Event: Caller Handler Ready
-On: 2011-10-20 16:43:30.746511 Event: Terminate
-On: 2011-10-20 16:43:30.746553 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:47:39.800319 ------------------
-On: 2011-10-20 16:47:39.820934 Event: try to Connect to Controller
-On: 2011-10-20 16:47:41.129910 Event: init state
-On: 2011-10-20 16:47:41.130157 Event: Register Account to SIP server
-On: 2011-10-20 16:47:41.130582 Event: 100
-On: 2011-10-20 16:47:41.130667 Event: Caller Handler Ready
-On: 2011-10-20 16:47:51.152553 Event: CALL START
-On: 2011-10-20 16:47:51.152615 Event: Make a call to: 4661455
-On: 2011-10-20 16:47:54.310678 Event: Call Connecting
-On: 2011-10-20 16:47:54.310727 Event: 200
-On: 2011-10-20 16:47:54.489838 Event: Terminate
-On: 2011-10-20 16:47:54.489885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:51:39.644138 ------------------
-On: 2011-10-20 16:51:39.665348 Event: try to Connect to Controller
-On: 2011-10-20 16:51:40.887032 Event: init state
-On: 2011-10-20 16:51:40.887272 Event: Register Account to SIP server
-On: 2011-10-20 16:51:40.887697 Event: 100
-On: 2011-10-20 16:51:40.887782 Event: Caller Handler Ready
-On: 2011-10-20 16:51:50.910402 Event: CALL START
-On: 2011-10-20 16:51:50.910464 Event: Make a call to: 4661455
-On: 2011-10-20 16:51:52.721146 Event: Call Connecting
-On: 2011-10-20 16:51:52.721198 Event: 200
-On: 2011-10-20 16:51:52.929864 Event: Terminate
-On: 2011-10-20 16:51:52.929912 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:54:47.689027 ------------------
-On: 2011-10-20 16:54:47.710069 Event: try to Connect to Controller
-On: 2011-10-20 16:54:49.002075 Event: init state
-On: 2011-10-20 16:54:49.002317 Event: Register Account to SIP server
-On: 2011-10-20 16:54:49.002742 Event: 100
-On: 2011-10-20 16:54:49.002827 Event: Caller Handler Ready
-On: 2011-10-20 16:54:59.021772 Event: CALL START
-On: 2011-10-20 16:54:59.021840 Event: Make a call to: 4661455
-On: 2011-10-20 16:55:01.072065 Event: Call Connecting
-On: 2011-10-20 16:55:01.072115 Event: 200
-On: 2011-10-20 16:55:01.258358 Event: Terminate
-On: 2011-10-20 16:55:01.258415 Event: Goodbye
diff --git a/For Weekly Test/Advance/callorig.py b/For Weekly Test/Advance/callorig.py
deleted file mode 100644
index 699e483..0000000
--- a/For Weekly Test/Advance/callorig.py
+++ /dev/null
@@ -1,171 +0,0 @@
-# $Id$
-#
-# SIP call sample.
-#
-# Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-import sys
-import pjsua as pj
-
-LOG_LEVEL=3
-current_call = None
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
- if current_call:
- call.answer(486, "Busy")
- return
-
- print "Incoming call from ", call.info().remote_uri
- print "Press 'a' to answer"
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- print "Call with", self.call.info().remote_uri,
- print "is", self.call.info().state_text,
- print "last code =", self.call.info().last_code,
- print "(" + self.call.info().last_reason + ")"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call is', current_call
-
- # Notification when call's media state has changed.
- def on_media_state(self):
- if self.call.info().media_state == pj.MediaState.ACTIVE:
- # Connect the call to sound device
- call_slot = self.call.info().conf_slot
- pj.Lib.instance().conf_connect(call_slot, 0)
- pj.Lib.instance().conf_connect(0, call_slot)
- print "Media is now active"
- else:
- print "Media is inactive"
-
-# Function to make call
-def make_call(uri):
- try:
- print "Making call to", uri
- return acc.make_call(uri, cb=MyCallCallback())
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-
-# Create library instance
-lib = pj.Lib()
-
-try:
- # Init library with default config and some customized
- # logging config.
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-
- # Create UDP transport which listens to any available port
- transport = lib.create_transport(pj.TransportType.UDP,
- pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
- # Start the library
- lib.start()
- lib.set_null_snd_dev()
-
- # Create local account
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- # If argument is specified then make call to the URI
- if len(sys.argv) > 1:
- lck = lib.auto_lock()
- current_call = make_call(sys.argv[1])
- print 'Current call is', current_call
- del lck
-
- my_sip_uri = "sip:" + transport.info().host + \
- ":" + str(transport.info().port)
-
- # Menu loop
- while True:
- print "My SIP URI is", my_sip_uri
- print "Menu: m=make call, h=hangup call, a=answer call, q=quit"
-
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "m":
- if current_call:
- print "Already have another call"
- continue
- print "Enter destination URI to call: ",
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "":
- continue
- lck = lib.auto_lock()
- current_call = make_call("sip:"+input+"@132.230.4.8")
- del lck
-
- elif input == "h":
- if not current_call:
- print "There is no call"
- continue
- current_call.hangup()
-
- elif input == "a":
- if not current_call:
- print "There is no call"
- continue
- current_call.answer(200)
-
- elif input == "q":
- break
-
- # Shutdown the library
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
-
diff --git a/For Weekly Test/Advance/callorigTest.py b/For Weekly Test/Advance/callorigTest.py
deleted file mode 100644
index 13c0561..0000000
--- a/For Weekly Test/Advance/callorigTest.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# $Id$
-#
-# SIP call sample.
-#
-# Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-import sys
-import pjsua as pj
-
-LOG_LEVEL=3
-current_call = None
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
- if current_call:
- call.answer(486, "Busy")
- return
-
- print "Incoming call from ", call.info().remote_uri
- print "Press 'a' to answer"
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- print "Call with", self.call.info().remote_uri,
- print "is", self.call.info().state_text,
- print "last code =", self.call.info().last_code,
- print "(" + self.call.info().last_reason + ")"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call is', current_call
-
- # Notification when call's media state has changed.
- def on_media_state(self):
- if self.call.info().media_state == pj.MediaState.ACTIVE:
- # Connect the call to sound device
- call_slot = self.call.info().conf_slot
- pj.Lib.instance().conf_connect(call_slot, 0)
- pj.Lib.instance().conf_connect(0, call_slot)
- print "Media is now active"
- else:
- print "Media is inactive"
-
-# Function to make call
-def make_call(uri):
- try:
- print "Making call to", uri
- return acc.make_call(uri, cb=MyCallCallback())
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-
-# Create library instance
-lib = pj.Lib()
-
-try:
- # Init library with default config and some customized
- # logging config.
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-
- # Create UDP transport which listens to any available port
- transport = lib.create_transport(pj.TransportType.UDP,
- pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
- # Start the library
- lib.start()
- lib.set_null_snd_dev()
-
- # Create local account
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest1", "1mpselftest")
- #acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397898", "itzEfmLkzvS9")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- # If argument is specified then make call to the URI
- if len(sys.argv) > 1:
- lck = lib.auto_lock()
- current_call = make_call(sys.argv[1])
- print 'Current call is', current_call
- del lck
-
- my_sip_uri = "sip:" + transport.info().host + \
- ":" + str(transport.info().port)
-
- # Menu loop
- while True:
- print "My SIP URI is", my_sip_uri
- print "Menu: m=make call, h=hangup call, a=answer call, q=quit"
-
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "m":
- if current_call:
- print "Already have another call"
- continue
- print "Enter destination URI to call: ",
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "":
- continue
- lck = lib.auto_lock()
- current_call = make_call("sip:"+input+"@132.230.4.8")
- del lck
-
- elif input == "h":
- if not current_call:
- print "There is no call"
- continue
- current_call.hangup()
-
- elif input == "a":
- if not current_call:
- print "There is no call"
- continue
- current_call.answer(200)
-
- elif input == "q":
- break
-
- # Shutdown the library
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
-
diff --git a/For Weekly Test/Advance/gsmselftest-website.py b/For Weekly Test/Advance/gsmselftest-website.py
deleted file mode 100755
index d653404..0000000
--- a/For Weekly Test/Advance/gsmselftest-website.py
+++ /dev/null
@@ -1,480 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(2)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(2)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(2)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(2)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(2)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- openBSC = None
-
- for x in initResult.nanoBts:
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- else:
- if int(x[1]) == 486:
- print name+ ' not Working'
- elif int(x[1]) == 200:
- print name+ ' Working'
- else:
- print name+ ' not Working, handler error'
- print ''
- if openBSC != None:
- if openBSC == True:
- print 'openBSC working'
- else:
- print 'openBSC doesnt work'
- print ''
-
- if initResult.asteriskServer == True:
- print 'asterik server is working'
- print '\n'
-
- if initResult.outGoingRZ == True:
- print 'Outgoing call from RZ is working'
- elif initResult.outGoingRZ == False:
- print 'Outgoing call from RZ is not working'
-
- if initResult.incomingRZ == True:
- print 'incoming call from outside RZ to GSM RZ is working'
- elif initResult.incomingRZ == False:
- print 'incoming call from outside RZ to GSM RZ is not working'
- print '\n'
-
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline']
- print "test"
- doTest = initTestClass.doTest()
- print 'iam here'
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'GSMRZ2','GSMRZ3']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
-
-def withDB():
-
- initDB()
- resultsList = list()
- if dbStatus == 1: # Checking connection to database
- if db.anyTasksToDo() == 1: # Checking task on the table
-
- allPing()
- i=0
- makeTest = initTestClass.doTest()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- if i == 0:
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- db.closeDBConn()
- else:
- print "--- No job at all ---"
- db.closeDBConn()
- else:
- print 'Cant connect to database'
- sys.exit(1)
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found =='
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "USB Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- else:
- print 'please choose between 1-6'
- if input == 'a': #automatic configuration
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
- if input == "q":
- break
- sys.exit()
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--landline':
- resultsList = list()
- doLandlineTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--db':
- resultsList = list()
- withDB()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- resultsList = list()
- if dbStatus == 1:
- server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
- tried = server.openSocket(3)
-
- if tried == 'TIMEOUT':
- closeFunction(db,server)
-
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- print test
- if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
- else:
- sys.exit('WE DIDN\'T RECEIVE THE CONFIRMATION')
-
- if db.anyTasksToDo() == 1:
-
- allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- if i == 0:
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(makeTest.result) + '|' + str(db.errCode)
-
- if server.sendData(message+ chr(10)) == 1:
- print 'data sent successfully'
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- print test
- if test == 'CONTINUE':
- print 'continue test'
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
- if server.connected == 1:
- server.sendData('TEST DONE\n')
- test = server.receiveData(2)
-
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
- print 'release mutex says ', db.releaseMutex()
- print '\n'
-
- #initTrueTable(resultsList) # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-print db.closeDBConn()
-del db
-del server
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/Advance/gsmselftest-website2.py b/For Weekly Test/Advance/gsmselftest-website2.py
deleted file mode 100755
index 6f07e29..0000000
--- a/For Weekly Test/Advance/gsmselftest-website2.py
+++ /dev/null
@@ -1,461 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-import ServerClassSoftware
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing(): #ping all existing devices
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(2)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(2)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(2)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(2)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(2)
-
-def initDB(): # function for connection database
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- if dbStatus == 1:
- print 'Lock the mutex: ' + str(db.lockMutex(600))
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- openBSC = None
-
- for x in initResult.nanoBts:
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- print name+ ' Working'
- else:
- if int(x[1]) == 486:
- print name+ ' not Working'
- elif int(x[1]) == 200:
- print name+ ' Working'
- elif int(x[1]) == 998 or int(x[1]) == 999:
- print name+ ' not Working, handler error'
- else:
- print name+ ' not Working'
- print ''
- if openBSC != None:
- if openBSC == True:
- print 'openBSC working'
- else:
- print 'openBSC doesnt work'
- print ''
-
- if initResult.asteriskServer == True:
- print 'asterik server is working'
- print '\n'
-
- if initResult.outGoingRZ == True:
- print 'Outgoing call from RZ is working'
- elif initResult.outGoingRZ == False:
- print 'Outgoing call from RZ is not working'
-
- if initResult.incomingRZ == True:
- print 'incoming call from outside RZ to GSM RZ is working'
- elif initResult.incomingRZ == False:
- print 'incoming call from outside RZ to GSM RZ is not working'
- print '\n'
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline', 'unisip']
- print "test"
- doTest = initTestClass.doTest()
- print 'iam here'
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doIncomingTest(): #incoming call to RZ network
-
- destList = ['GSMRZ1','unisip', 'GSMRZ2','GSMRZ3']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doIncomingTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
-
-def sendResultWebsite(message):
- if server.sendData(message+ chr(10)) == 1:
- print 'data sent successfully'
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'CONTINUE':
- print 'continue test'
-
-def sendFinishMessage():
- if server.connected == 1:
- server.sendData('TEST DONE\n')
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
- print 'release mutex says ', db.releaseMutex()
-
-def withDB(x):
-
- initDB()
- resultsList = list()
- if dbStatus == 1: # Checking connection to database
- if db.anyTasksToDo() == 1: # Checking task on the table
-
- allPing()
- i=0
- makeTest = initTestClass.doTest()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- if i == 0:
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- if x == True: # if x = True means that this function call by website
-
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(makeTest.result) + '|' + str(db.errCode)
- sendResultWebsite(message) # send result to website
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
- if x == True:
- sendFinishMessage() #send finish message to website and close the connection
-
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- db.closeDBConn()
- else:
- print "--- No job at all ---"
- db.closeDBConn()
- else:
- print 'Cant connect to database'
- sys.exit(1)
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found =='
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-def autoUpdateDevice():
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- else:
- print 'please choose between 1-6'
-
- if input == 'a': #automatic configuration
- autoUpdateDevice()
-
- if input == "q":
- break
- sys.exit()
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--incoming':
- resultsList = list()
- doIncomingTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--db':
- resultsList = list()
- withDB(False)
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
- global server
- global tried
-
- initDB() # should put db condition
- server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
- tried = server.openSocket(3)
-
- if tried == 'TIMEOUT':
- closeFunction(db,server)
-
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
- withDB(True)
-
- if test == 'SMART TEST':
- server.sendData('CONFIRM\n')
- print 'SMART TEST STARTED'
- resultsList = list()
- regularTest()
-
- if test == 'UPDATE DEVICE':
- server.sendData('CONFIRM\n')
- print 'UPDATE DEVICE STARTED'
- autoUpdateDevice()
- else:
- sys.exit('WE DIDN\'T RECEIVE THE CONFIRMATION')
-
-del server
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/Advance/gsmselftest.py b/For Weekly Test/Advance/gsmselftest.py
deleted file mode 100755
index 6f1fa7c..0000000
--- a/For Weekly Test/Advance/gsmselftest.py
+++ /dev/null
@@ -1,389 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- openBSC = None
-
- for x in initResult.nanoBts:
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- print name+ ' Working'
- else:
- if int(x[1]) == 486:
- print name+ ' not Working'
- elif int(x[1]) == 200:
- print name+ ' Working'
- elif int(x[1]) == 998 or int(x[1]) == 999:
- print name+ ' not Working, handler error'
- else:
- print name+ ' not Working'
- print ''
- if openBSC != None:
- if openBSC == True:
- print 'openBSC working'
- else:
- print 'openBSC doesnt work'
- print ''
-
- if initResult.asteriskServer == True:
- print 'asterik server is working'
- print '\n'
-
- if initResult.outGoingRZ == True:
- print 'Outgoing call from RZ is working'
- elif initResult.outGoingRZ == False:
- print 'Outgoing call from RZ is not working'
-
- if initResult.incomingRZ == True:
- print 'incoming call from outside RZ to GSM RZ is working'
- elif initResult.incomingRZ == False:
- print 'incoming call from outside RZ to GSM RZ is not working'
- print '\n'
-
- #print initResult.outGoingRZ +'-----'+ initResult.incomingRZ
-
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline']
- print "test"
- doTest = initTestClass.doTest()
- print 'iam here'
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
- #print regulartest.smartResultList
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName): # Manual init device
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found IMEI and Number doesnt match =='
- elif str(IMEI) == str(imei):
- if number == '':
- print ' == cant save device configuration, number missing =='
- else:
- portClass.initUpdate(deviceName, portName, number) # update device database
- print '== Device succeced added, please re-check the number =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number) # update device database
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-
-def autoUpdateDevice():
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choice : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- elif input == '6':
- break
- else:
- print 'please choose between 1-6'
-
- if input == 'a': #automatic configuration
- autoUpdateDevice()
-
- if input == "q":
- break
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--landline':
- resultsList = list()
- doLandlineTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- resultsList = list()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/Advance/help.txt b/For Weekly Test/Advance/help.txt
deleted file mode 100755
index 96807ca..0000000
--- a/For Weekly Test/Advance/help.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-Usage: python gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---db : To execute the test case given in the database
---all : To execute all test case
---sip : To execute ALL test case
---gsmrz : To check whether GSM RZ network having problem or not
---gsmext : To check whether GSM BOX modem having problem or not
---incoming : To check incoming call from Landline
---smart : To test only important point in the network and identify which part having problem.
---devconf : To configuration USB device on the server
-
- example : gsmselftest.py --devconf
- gsmselftest.py --smart
diff --git a/For Weekly Test/Advance/initTestClass.py b/For Weekly Test/Advance/initTestClass.py
deleted file mode 100755
index 434d600..0000000
--- a/For Weekly Test/Advance/initTestClass.py
+++ /dev/null
@@ -1,264 +0,0 @@
-import sys
-import subprocess, signal
-import os
-import ControllerClass
-import DbClass
-import PingClass
-import random
-from time import sleep
-
-class doTest:
-
- def pings(self,IP):
-
- server = PingClass.Ping(IP)
- self.serverStatus = server.ping(2)
- return self.serverStatus
-
- def initDB(self):
-
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initaccount(self,account,handler):
- if handler == 'sip' or handler == 'unisip' or handler == 'landline':
- if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server
- self.status = 1
- else:
- self.status = 0
- else:
- if account[0] != '' or account[1] != '':
- self.status = 1
- else:
- self.status = 0
-
-
-#kill process to make sure, that the handler is Terminate incase handler having problem receiving
-# terminate message from controller
-
- def killProc(self):
- # define process name of the Handler
- procNameDest = 'GSM Handler'
- procNameCall = 'SIP Handler'
-
- p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
- out, err = p.communicate()
-
- #search process name and kill it.
- for line in out.splitlines():
- if procNameDest in line:
- pid = int(line.split(None, 1)[0])
- os.kill(pid, signal.SIGKILL)
- for line in out.splitlines():
- if procNameCall in line:
- pid = int(line.split(None, 1)[0])
- os.kill(pid, signal.SIGKILL)
-
- def initTest(self, callFrom, callTo):
-
- self.initDB() # open database connection
-
- if self.dbStatus != 0: # if connection to db establish, do the test
-
- #fetch device account detail from database
- dest = self.db.deviceAddress(str(callTo))
- caller = self.db.deviceAddress(str(callFrom))
- #self.pings(dest[4])
-
- if self.pings(caller[4]) <> 0:
- #self.pings(caller[4])
-
- if self.pings(dest[4]) <> 0:
-
- self.initaccount(caller,callFrom)
- if self.status == 1:
- self.initaccount(dest,callTo)
- if self.status == 1:
- callPortName = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destPortName = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest)
- makeTest.FuncTest()
- self.result = str(makeTest.testResult)
-
- print callFrom, callTo, makeTest.testResult
- else:
- self.result = 100
- else:
- self.result = 100
- sleep(3)
- self.killProc() # kill all the handler
- self.db.closeDBConn() #close db connection
- sleep(1)
- else:
- self.result = 500
- else:
- self.result = 500
-
- else:
- self.result = 333
- self.db.closeDBConn()
- return self.result
-
- # function to search in the list
- def isThere(self, keyword,lists):
- x = 0
- for item in lists:
-
- if item == keyword:
- return 1
- else:
- x = x+1
-
- def smartTest(self):
- self.initDB()
- self.smartResultList = list()
- deviceLists = self.db.deviceList()
- gsmList = list()
- gsmRZList = list()
- sipList = list()
- destList = list()
- rem = list()
- item = list()
- cpgsmRZList = list()
- self.db.closeDBConn()
-
- for lists in deviceLists: #define category of the device
- device = lists[0]
- if device[0:5] == 'GSMRZ':
- gsmRZList.append(device)
- cpgsmRZList.append(device)
- elif device[0:5] == 'GSMEx':
- gsmList.append(device)
- else:
- sipList.append(device)
-
- if device[0:5] == 'GSMRZ' or device[0:5] == 'GSMEx':
- destList.append(device)
-
- #first test from university telphone network to random GSM RZ avaliable
- i = random.randint(0, len(gsmRZList)-1)
- callTo = gsmRZList[i]
- self.initTest('unisip',callTo)
-
- gsmRZList.remove(callTo)
- destList.remove(callTo)
-
- self.smartResultList.append(['unisip', callTo, self.result, 1])
-
-
- for callFrom in gsmRZList:
- i = random.randint(0, len(destList)-1) #Check whether the caller and dest are same
- callTo = destList[i]
- if callFrom == callTo: #Check whether the caller and dest are same
- if i == 0:
- i = i+1 # if it in the first list, change to be the second list else, just back on step.
- else:
- i = i-1
- callTo = destList[i]
-
- self.initTest(callFrom,callTo)
-
- destList.remove(callTo)
- destList.remove(callFrom)
- gsmRZList.remove(callFrom)
- self.smartResultList.append([callFrom, callTo, self.result,1])
-
- # test incoming call from outside rz network to gsm rz
- i = random.randint(0, len(gsmRZList)-1) #
- callTo = gsmRZList[i]
- self.initTest('landline',callTo)
-
-
- if self.isThere(callTo,destList) == 1: # Checking whether caller at gsmrz list in the destination list, if yes delete it.
- destList.remove(callTo)
- self.smartResultList.append(['landline', callTo, self.result,1])
-
- # testing from random GSM RZ to sip
- #i = random.randint(0, len(cpgsmRZList)-1) #
- #callFrom = cpgsmRZList[i]
- #self.initTest(callFrom, 'sip')
-
- #self.smartResultList.append([callFrom, 'sip', self.result,1])
-
- for callTo in destList:
- callFrom = 'sip'
- self.initTest(callFrom, callTo)
- self.smartResultList.append([callFrom, callTo, self.result,1])
-
- #checking unsuccess call, to make sure that destination are really unreachable
- for dest in self.smartResultList:
- #check unsuccess call and did the test have already tried, 2 means has been check
- if int(dest[2]) == 486 and int(dest[3]) != 2 and dest[1] != 'sip' and dest[0] != 'sip':
- testDestination = False
- # make sure that destination have not tested by another part and give success result.
- for test in self.smartResultList:
- if test[1] == dest[1] and int(dest[2]) == 200:
- testDestination = True
- if testDestination == True:
- self.initTest('sip', dest[1])
- self.smartResultList.append(['sip', dest[1], self.result,2])
- rem.append(dest)
-
- #check unsuccess call because caller handler having problem
- if int(dest[2]) == 999 and int(dest[3]) != 2 and dest[1] != 'sip' and dest[1] != 'sip':
- testDestination = False
- # make sure that destination have not tested by another part and give success result.
- for test in self.smartResultList:
- if test[1] == dest[1] and int(dest[2]) != 200:
- testDestination = True
- if testDestination == True:
- self.initTest('sip', dest[1])
- self.smartResultList.append(['sip', dest[1], self.result,2])
- #rem.append(dest)
-
- caller = dest[0] # to test nanobts if the test come from RZ GSM but fehler
- if caller[0:5] == 'GSMRZ' and int(dest[3]) != 2 and dest[1] != 'sip':
- if int(dest[2]) == 486:
- self.initTest('sip', dest[1])
- self.smartResultList.append(['sip', dest[1], self.result,2])
- rem.append(dest)
-
- # test to make sure nanoBTS working or not. sice probably that nanotbts seems error but actually not.
- for RZ in cpgsmRZList:
- repeat = False
- for gsmrzResult in self.smartResultList:
-
- if gsmrzResult[0] == RZ or gsmrzResult[1] == RZ:
- if int(gsmrzResult[2]) == 486:
- repeat = True
- if gsmrzResult[1] == RZ and int(gsmrzResult[2]) == 998:
- cpgsmRZList.remove(RZ)
- if gsmrzResult[0] == RZ and int(gsmrzResult[2]) == 999:
- cpgsmRZList.remove(RZ)
-
- if len(cpgsmRZList) > 1:
-
- if repeat == True:
- i = random.randint(0, len(cpgsmRZList)-1) #
- callTo = cpgsmRZList[i]
- if i == 0:
- x = i+1
- else:
- x = i-1
- callFrom = cpgsmRZList[x]
- self.initTest(callFrom, callTo)
- self.smartResultList.append([callFrom, callTo, self.result,2])
- item = '['+str(gsmrzResult[0])+','+str(gsmrzResult[1])+','+str(gsmrzResult[2])+','+str(1)+']'
- rem.append(item)
-
- for remov in rem:
- for x in self.smartResultList:
- if x == remov:
- self.smartResultList.remove(x)
-
- return self.smartResultList
-
-
-
-
diff --git a/For Weekly Test/Advance/initTestClass.pyc b/For Weekly Test/Advance/initTestClass.pyc
deleted file mode 100644
index 1a4b7d6..0000000
--- a/For Weekly Test/Advance/initTestClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/number.py b/For Weekly Test/Advance/number.py
deleted file mode 100644
index 64d4748..0000000
--- a/For Weekly Test/Advance/number.py
+++ /dev/null
@@ -1,17 +0,0 @@
-readNum = "+CNUM ,:4915128040906:,129"
-
-firstQuote = readNum.find(':')
-cutString = readNum [firstQuote:]
-print cutString
-secondQuote = cutString.find(',')
-number = cutString[1:secondQuote-1]
-
-print number
-
-print number[0:1]
-
-if number.find('+') == 0:
- number = '0'+number[3:len(number)]
-elif int(number[0:1]) == 4:
- number = '0'+number[2:len(number)]
-print number
diff --git a/For Weekly Test/Advance/serialTest.py b/For Weekly Test/Advance/serialTest.py
deleted file mode 100755
index 2838961..0000000
--- a/For Weekly Test/Advance/serialTest.py
+++ /dev/null
@@ -1,38 +0,0 @@
-import time
-from serial import *
-
-# configure the serial connections (the parameters differs on the device you are connecting to)
-ser = Serial(
- port='/dev/ttyu0',
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
-)
-
-ser.open()
-ser.isOpen()
-
-print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
-
-input=1
-while 1 :
- # get keyboard input
- input = raw_input(">> ")
- # Python 3 users
- # input = input(">> ")
- if input == 'exit':
- ser.close()
- exit()
- else:
- # send the character to the device
- # (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
- ser.write(input + '\r\n')
- out = ''
- # let's wait one second before reading output (let's give device time to answer)
- time.sleep(1)
- while ser.inWaiting() > 0:
- out += ser.read(1)
-
- if out != '':
- print ">>" + out
diff --git a/For Weekly Test/Advance/testingfile.py b/For Weekly Test/Advance/testingfile.py
deleted file mode 100644
index f7f3f05..0000000
--- a/For Weekly Test/Advance/testingfile.py
+++ /dev/null
@@ -1,49 +0,0 @@
-
-nanoBts = list()
-lists = [['sip', 'GSMExt.o2',200],['sip', 'GSMExt.Tm',200],['sip', 'GSMExt.Eplus',486],['sip', 'GSMExt.Voda',200],['GSMExt.o2','sip',200],['GSMExt.Voda','sip',200],['GSMExt.Eplus','sip',486],['GSMExt.Tm','sip',486]]
-def test():
- for x in lists:
- call=x[0]
- dest=x[1]
- result=x[2]
- #print x
- if call[0:5]=='GSMEx': # looking for calling from GSMexternal
- found = False
- if len(nanoBts) == 0:
- nanoBts.append([call, result])
- found = False
- else:
- delete = False
- for y in nanoBts: #find the existing result for GSM external in the list
- name = y[0]
- if name == call:
- if int(y[1]) == 486:
- delete = True
- nanoBts.remove(y)
- else:
- found = True
-
- if found != True:
- nanoBts.append([call, result])
- if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal
- found = False
- if len(nanoBts) == 0:
- nanoBts.append([dest,result])
- found = False
- else:
- delete = False
- for y in nanoBts:
- name = y[0]
- if name == dest:
- if int(y[1]) == 486:
- delete = True
- item = y
- nanoBts.remove(y)
- else:
- found = True
- if found != True:
- nanoBts.append([dest,result])
- #print nanoBts
-
-test()
-print nanoBts
diff --git a/For Weekly Test/Advance/trueTableClass.py b/For Weekly Test/Advance/trueTableClass.py
deleted file mode 100755
index 36ddef6..0000000
--- a/For Weekly Test/Advance/trueTableClass.py
+++ /dev/null
@@ -1,164 +0,0 @@
-import DbClass
-
-class trueTable:
- def __init__(self, resultsList):
-
- self.resultsList = resultsList
- self.outGoingRZ = False
- self.asteriskServer = None
- self.incomingRZ = None
- self.openBSC = None
- self.nanoBTS = None
-
- def initDB(self):
- # function for connect to database
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def lookingBTSname(self, btsname):
- if len(self.nanoBts) == 0:
- self.nanoBts.append([btsName,True])
- found = True
- else:
- found = False
- for y in self.nanoBts: #find the existing nanoBts result
- name = y[0]
- if name == btsName:
- if y[1] == False:
- self.nanoBts.remove(btsName)
- else:
- found = True
- return found
-
- def initTrueTable(self):
- global btsName
- self.initDB()
- deviceLists = self.db.deviceList() #fetch device list from database
- externalRZList = list()
-
- for devLists in deviceLists: #define category of the external devices
- device = devLists[0]
- if device[0:5] == 'GSMEx' or device == 'landline':
- externalRZList.append(device) # fetch into the list
- self.db.closeDBConn()
- lists = self.resultsList
- self.nanoBts = list()
- gsmResultList = list()
-
- i= 1
- for w in lists:
- call=w[0]
- dest=w[1]
-
-
- if call[0:5]=='GSMRZ':
- if i <= int(call[5:]):
- i = int(call[5:])
- if dest[0:5]=='GSMRZ':
-
- if i <= int(dest[5:]):
- i = int(dest[5:])
- i = i+1
-
- for x in lists: # to find nanoBts, asterik server and open BSC status regarding result test for GSM RZ
- call=x[0]
- dest=x[1]
- result=x[2]
- stop = False
- j=1
-
- if call[0:5]=='GSMRZ' or dest[0:5]=='GSMRZ':
- while stop != True:
- if j != i:
- key = 'GSMRZ'+str(j)
- if key == call or key == dest:
-
- btsName = 'nanoBts '+str(j)
- if result == '200':
- btsName = 'nanoBts '+str(j)
- self.asteriskServer = True #set status of asterik server as working
- if self.lookingBTSname(btsName) != True:
- #if doesnt found the nanoBts, add the result to the list, otherwise just ignoring
- self.nanoBts.append([btsName,True])
-
- if key == call:#
- for z in externalRZList:# find the result for outgoing call from GSM RZ to external RZ network
- if dest == z:
- self.outGoingRZ = True #set status as working for outgoing RZ
- if key == dest:
- for z in externalRZList:
- if call == z:
- self.incomingRZ = True # find the result for imcoming call to GSM RZ from external RZ network
- elif result == '486':
- found = False
- if key == call:# and dest == 'landline':
- for z in externalRZList:
- if dest == z and self.outGoingRZ != True:
- self.outGoingRZ = False
- if key == dest:# and call == 'landline':
- for z in externalRZList:
- if call == z and self.incomingRZ != True:
- self.incomingRZ = False
- if self.nanoBts == '':
- self.nanoBts.append([btsName,False])
- for y in self.nanoBts: #find the existing nanoBts result
- name = y[0]
- if name == btsName and y[1] != True:
- found = True
- if found != True:
- self.nanoBts.append([btsName,False])
-
-
- if result == '998' and key == dest: # find how to solve this!!!
-
- if self.lookingBTSname(key) != True:
- self.nanoBts.append([key,result])
-
- if result == '999' and key == call: # find how to solve this!!!
-
- if self.lookingBTSname(key) != True:
- self.nanoBts.append([key,result])
-
-
- j = j+1
- elif j == i:
- stop = True
-
- if call[0:5]=='GSMEx': # looking for calling from GSMexternal
- found = False
- if len(self.nanoBts) == 0:
- self.nanoBts.append([call,result])
- found = False
- else:
- for y in self.nanoBts: #find the existing result for GSM external in the list
- name = y[0]
- if name == call:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998:
- self.nanoBts.remove(y)
- else:
- found = True
- if found != True:
- self.nanoBts.append([call,result])
-
- if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal
- found = False
- if len(self.nanoBts) == 0:
- self.nanoBts.append([dest,result])
- found = False
- else:
-
- for y in self.nanoBts:
- name = y[0]
- if name == dest:
- if int(y[1]) == 486 or int(y[1]) == 999 or int(y[1]) == 998:
- self.nanoBts.remove(y)
- else:
- found = True
- if found != True:
- self.nanoBts.append([dest,result])
- for device in externalRZList:
- if device == dest and int(result[1]) == 200:
- self.outGoingRZ = True
-
-
diff --git a/For Weekly Test/Advance/trueTableClass.pyc b/For Weekly Test/Advance/trueTableClass.pyc
deleted file mode 100644
index 5b74c28..0000000
--- a/For Weekly Test/Advance/trueTableClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Advance/usbDetectClass.py b/For Weekly Test/Advance/usbDetectClass.py
deleted file mode 100755
index 74744a5..0000000
--- a/For Weekly Test/Advance/usbDetectClass.py
+++ /dev/null
@@ -1,93 +0,0 @@
-from serial import * #serial port library
-import sys
-from time import sleep
-import DbClass
-
-
-class serialPort:
-
- def __init__(self, portAddress):
- self.portAddress = portAddress
- self.portExist = 0
- self.IMEI = None
- self.number = None
- #self.updateStatus = None
-
- def initDB(self):
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initUpdate(self, deviceName, newPortName, newNumber):
- self.initDB()
-
- if self.dbStatus != 0:
- self.db.updateGSMDevice(deviceName, newPortName, newNumber)
- else:
- print 'No connection to database'
-
- def portInit(self):
- self.portExist = 0
- try:
- self.ser = Serial(
- port='/dev/'+self.portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
- self.ser.open()
- self.ser.isOpen()
- self.portExist = 1
-
- except Exception, e:
- print 'error'
- return 0
-
- def isInteger(self, x):
- try:
- int(x)
- return True
- except:
- return False
-
- def findIMEI(self):
- self.portInit()
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+GSN\r')
- sleep(0.5)
- result = self.ser.read(25)
- if result != '':
- self.IMEI = result[result.find('3'):15+result.find('3')]
- else:
- self.IMEI = 'IMEI not found'
- return self.IMEI
-
- else:
- self.IMEI = 'port not found'
- return 0
-
- def findNumber(self):
- self.portInit()
-
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CNUM\r')
- sleep(0.5)
- readNum = self.ser.read(35)
- self.ser.close()
- firstQuote = readNum.find('"')
- cutString = readNum [firstQuote:]
- secondQuote = cutString.find(',')
- number = cutString[1:secondQuote-1]
-
- if number != '':
- self.number = number
- else:
- self.number = 'number not found'
-
- return self.number
-
- else:
- self.number = 'port not found'
- return 0
diff --git a/For Weekly Test/Advance/usbDetectClass.pyc b/For Weekly Test/Advance/usbDetectClass.pyc
deleted file mode 100644
index 56d911e..0000000
--- a/For Weekly Test/Advance/usbDetectClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Backup/_OriglandlineCall.py b/For Weekly Test/Backup/_OriglandlineCall.py
deleted file mode 100644
index 9cec7e3..0000000
--- a/For Weekly Test/Backup/_OriglandlineCall.py
+++ /dev/null
@@ -1,203 +0,0 @@
-import sys
-import pjsua as pj
-from time import sleep
-import string
-
-server = "sipgate.de"
-username = "1289459"
-password = "MMW9AX"
-number = ""
-
-LOG_LEVEL = 2
-current_call = None
-is486 = False
-isConfirmed = False
-isRinging = False
-isConnected = False
-isStopped = False
-firstTime502 = True
-firstTime100 = True
-TIMEOUT_LIMIT = 30
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- global isConfirmed
- global isConnected
- global isRinging
- global is486
-
- if self.call.info().state == pj.CallState.CALLING:
- print "CALLING..."
-
- if self.call.info().last_code == 486:
- is486 = True
-
- if self.call.info().state == pj.CallState.EARLY:
- isRinging = True
-
- if self.call.info().state == pj.CallState.CONFIRMED:
- isConfirmed = True
- isConnected = True
- isRinging = False
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- isConnected = False
-
-
-def make_call(uri):
- try:
- print "Making call to", uri
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-print "Whenever something comes from the server (at the moment from you), it will continue. Imitating the server behaviour!"
-
-while not isStopped:
-
- lib = pj.Lib()
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
- lib.start()
- lib.set_null_snd_dev()
-
-# server = classServer.ServerHandler(50099)
-# tried = server.openSocket()
-#
-# if server.error != 'No error':
-# print server.error
-# if server.error == '[Errno 98] Address already in use':
-# print "Trying to kill the port"
-# print server.killPort()
-# server.closeConection()
-
- acc_cfg = pj.AccountConfig(server,username,password)
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-
- if acc.info().reg_status == 502:
- if firstTime502:
- print "CONNECTION ERROR!!"
- print "Please check your internet connection!\n"
- firstTime502 = False
-
- acc.delete()
- lib.destroy()
- lib = None
- acc = None
-# server.sendData('NOT ready')
- sleep(2)
- continue
-
-
- while acc.info().reg_status == 100:
- if firstTime100:
- print "Trying to register."
- firstTime100 = False
-
-
- while acc.info().reg_status == 408:
- print "408: REGISTRATION FAILED DUE TO TIMEOUT!!"
- print "Check your internet connection and SIP settings!"
-# server.sendData('NOT ready')
-
-
- if acc.info().reg_status == 200:
- print ("REGISTRATION IS SUCCESSFUL") #server.sendData('ready')
-
- while 1:
-# try:
- print "Waiting for server(at the moment YOU!) to send command here:" #This line should be deleted further!
- startStop = sys.stdin.readline().rstrip("\r\n") #startStop = server.receiveData()
-
- if startStop == "start":
- timeCounterRinging = 0
- firstTimeRinging = True
-
- while 1:
- #number = server.receiveData()
- print "Please enter the number to call:"
- number = sys.stdin.readline().rstrip("\r\n")
- if number <> "":
- numberToCall = "sip:"+number+"@"+server
- current_call = make_call(numberToCall)
-
- while 1:
- if isRinging:
- sleep(1)
- timeCounterRinging = timeCounterRinging + 1
- if firstTimeRinging:
- print "RINGING..."
- firstTimeRinging = False
- if is486:
- print "THE NUMBER THAT YOU'VE DIALLED IS BUSY!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
-
- if isConnected and isConfirmed:
- print "CALL SUCCESSFULLY ESTABLISHED!!"
- sleep(5)
- current_call.hangup()
- print "CALL SUCCESSFULLY TERMINATED!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
-
- if timeCounterRinging == TIMEOUT_LIMIT and isRinging:
- current_call.hangup()
- print "THE NUMBER THAT YOU'VE DIALLED IS NOT ANSWERING!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
- break
-
- if startStop == "stop":
- isStopped = True
- break
-
-# except ValueError:
-# print "813 General socket layer error: Failed send message"
-# server.closeConnection()
-# del server
-
-# server.closeConnection()
-# del server
-
-# server.closeConnection()
-# del server
-
-sleep(2)
-print "LOGGING OUT..."
-acc.delete()
-lib.destroy()
-lib = None
-acc = None
-print "LOGOUT WAS SUCCESSFULL!!"
-
diff --git a/For Weekly Test/Backup/checkingNumberClass.py b/For Weekly Test/Backup/checkingNumberClass.py
deleted file mode 100644
index c5f9fc3..0000000
--- a/For Weekly Test/Backup/checkingNumberClass.py
+++ /dev/null
@@ -1,79 +0,0 @@
-from serial import * #serial port library
-import sys
-from time import sleep
-
-class serialPort:
-
- def __init__(self, portAddress):
- self.portAddress = portAddress
- self.number = 'number not found'
-
- def portInit(self):
- self.portExist = 0
- try:
- self.ser = Serial(
- port='/dev/'+self.portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
- self.ser.open()
- self.ser.isOpen()
- self.ser.flushInput()
- self.portExist = 1
-
- except Exception, e:
- try:
- self.ser = Serial(
- port='/dev/'+self.portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
- self.ser.open()
- self.ser.isOpen()
- self.ser.flushInput()
- self.portExist = 1
-
- except Exception, e:
- return 0
-
- def findNumber(self):
- self.portInit()
-
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CNUM\r')
- sleep(0.5)
- readNum = self.ser.read(35)
-
- self.ser.close()
- firstQuote = readNum.find('"')
- cutString = readNum [firstQuote:]
- secondQuote = cutString.find(',')
- number = cutString[1:secondQuote-1]
-
- if number != '':
- self.number = number
- else:
- self.number = 'number not found'
-
- else:
- self.number = 'port not found'
- return 0
-
- def findIME(self):
- self.portInit()
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+GSN\r')
- sleep(0.5)
- self.IME = int(self.ser.read(20))
-
- if self.IME = '':
- self.IME = 'IME Error, not found'
- else:
- self.IME = 'port not found'
- return 0
-
-
diff --git a/For Weekly Test/Backup/inserttest.py b/For Weekly Test/Backup/inserttest.py
deleted file mode 100644
index 4987242..0000000
--- a/For Weekly Test/Backup/inserttest.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-import MySQLdb as mdb
-import sys
-
-try:
- conn = mdb.connect('localhost', 'root', 'randompasswordSQL', 'gsmselftesting')
-
- cursor = conn.cursor()
-
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('1', '2', 'sip', 'GSMExt.O2', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('2', '2', 'sip', 'GSMExt.Voda', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('3', '2', 'sip', 'GSMExt.Tm', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('4', '2', 'sip', 'GSMExt.Eplus', '0')")
- cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('5', '2', 'sip', 'landline', '0')")
- #cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('6', '2', 'sip', 'unisip', '0')")
- #cursor.execute("INSERT INTO TempTaskTable(`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES('7', '2', 'unisip', 'sip', '0')")
-
- conn.commit()
-
- cursor.close()
- conn.close()
-
-except mdb.Error, e:
-
- print "Error %d: %s" % (e.args[0],e.args[1])
- sys.exit(1)
diff --git a/For Weekly Test/Backup/landlineCall.py b/For Weekly Test/Backup/landlineCall.py
deleted file mode 100644
index 51853b8..0000000
--- a/For Weekly Test/Backup/landlineCall.py
+++ /dev/null
@@ -1,205 +0,0 @@
-import sys
-import pjsua as pj
-from time import sleep
-import string
-
-server = "sipgate.de"
-username = "1289459"
-password = "MMW9AX"
-number = ""
-
-LOG_LEVEL = 2
-current_call = None
-is486 = False
-isConfirmed = False
-isRinging = False
-isConnected = False
-isStopped = False
-firstTime502 = True
-firstTime100 = True
-firstTime408 = True
-TIMEOUT_LIMIT = 30
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- global isConfirmed
- global isConnected
- global isRinging
- global is486
-
- if self.call.info().state == pj.CallState.CALLING:
- print "CALLING..."
-
- if self.call.info().last_code == 486:
- is486 = True
-
- if self.call.info().state == pj.CallState.EARLY:
- isRinging = True
-
- if self.call.info().state == pj.CallState.CONFIRMED:
- isConfirmed = True
- isConnected = True
- isRinging = False
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- isConnected = False
-
-
-def make_call(uri):
- try:
- print "Making call to", uri
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-print "Whenever something comes from the server (at the moment from you), it will continue. Imitating the server behaviour!"
-
-while not isStopped:
-
- lib = pj.Lib()
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
- lib.start()
- lib.set_null_snd_dev()
-
-# server = classServer.ServerHandler(50099)
-# tried = server.openSocket()
-#
-# if server.error != 'No error':
-# print server.error
-# if server.error == '[Errno 98] Address already in use':
-# print "Trying to kill the port"
-# print server.killPort()
-# server.closeConection()
-
- acc_cfg = pj.AccountConfig(server,username,password)
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-
- if acc.info().reg_status == 502:
- if firstTime502:
- print "CONNECTION ERROR!!"
- print "Please check your internet connection!\n"
- firstTime502 = False
-
- acc.delete()
- lib.destroy()
- lib = None
- acc = None
-# server.sendData('NOT ready')
- continue
-
-
- while acc.info().reg_status == 100:
- if firstTime100:
- print "Trying to register."
- firstTime100 = False
-
-
- while acc.info().reg_status == 408:
- if firstTime408:
- print "408: REGISTRATION FAILED DUE TO TIMEOUT!!"
- print "I will try to check again if I can be successful to register!"
- firstTime408 = False
-# server.sendData('NOT ready')
-
-
- if acc.info().reg_status == 200:
- print ("REGISTRATION IS SUCCESSFUL") #server.sendData('ready')
-
- while 1:
-# try:
- print "Waiting for server(at the moment YOU!) to send command here:" #This line should be deleted further!
- startStop = sys.stdin.readline().rstrip("\r\n") #startStop = server.receiveData()
-
- if startStop == "start":
- timeCounterRinging = 0
- firstTimeRinging = True
-
- while 1:
- #number = server.receiveData()
- print "Please enter the number to call:" #This line should be deleted further!
- number = sys.stdin.readline().rstrip("\r\n")#This line should be deleted further!
- if number <> "":
- numberToCall = "sip:"+number+"@"+server
- current_call = make_call(numberToCall)
-
- while 1:
- if isRinging:
- sleep(1)
- timeCounterRinging = timeCounterRinging + 1
- if firstTimeRinging:
- print "RINGING..."
- firstTimeRinging = False
- if is486:
- print "THE NUMBER THAT YOU'VE DIALLED IS BUSY!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
-
- if isConnected and isConfirmed:
- print "CALL SUCCESSFULLY ESTABLISHED!!"
- sleep(5)
- current_call.hangup()
- print "CALL SUCCESSFULLY TERMINATED!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
-
- if timeCounterRinging == TIMEOUT_LIMIT and isRinging:
- current_call.hangup()
- print "THE NUMBER THAT YOU'VE DIALLED IS NOT ANSWERING!!"
- isConfirmed = False
- isConnected = False
- isRinging = False
- is486 = False
- break
- break
-
- if startStop == "stop":
- isStopped = True
- break
-
-# except ValueError:
-# print "813 General socket layer error: Failed send message"
-# server.closeConnection()
-# del server
-
-# server.closeConnection()
-# del server
-
-# server.closeConnection()
-# del server
-
-sleep(2)
-print "LOGGING OUT..."
-acc.delete()
-lib.destroy()
-lib = None
-acc = None
-print "LOGOUT WAS SUCCESSFULL!!"
-
diff --git a/For Weekly Test/Backup/landlineReceiver.py b/For Weekly Test/Backup/landlineReceiver.py
deleted file mode 100644
index 22ae872..0000000
--- a/For Weekly Test/Backup/landlineReceiver.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import sys
-import pjsua as pj
-from time import sleep
-import string
-
-server = "sipgate.de"
-username = "1289459"
-password = "MMW9AX"
-current_call = None
-incomingCallNumber = ""
-
-LOG_LEVEL=2
-userInput = ""
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
-# Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
-
- if current_call:
- call.answer(486, "Busy")
- return
-
- incomingCallNumber = call.info().remote_uri
- print "This number "+incomingCallNumber+" is calling."
-
- current_call = call
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
- current_call.answer(180)
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
-
- if self.call.info().state == pj.CallState.CONNECTING:
- print "CONNECTING"
-
- if self.call.info().state == pj.CallState.EARLY:
- print "RINGING"
-
- if self.call.info().state == pj.CallState.CONFIRMED:
- print "CALL CONFIRMED"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print "CURRENT CALL DISCONNECTED"
-
-
-lib = pj.Lib()
-lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-lib.start()
-lib.set_null_snd_dev()
-
-try:
- acc_cfg = pj.AccountConfig(server,username,password)
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-except ValueError:
- print "Exception: " + str(e)
-
-print "You want to receive a call then."
-print "Receive another call?"
-userInput = sys.stdin.readline().rstrip("\r\n")
-
-while userInput == "yes":
-
- if acc.info().reg_status < 700:
- if not current_call:
- continue
- else:
- sleep(5)
- current_call.answer(200)
- sleep(5)
- current_call.hangup()
- sleep(3)
- print "Receive another call? "
- userInput = sys.stdin.readline().rstrip("\r\n")
-
- else:
- print "REGISTRATION ERROR"
- lib.destroy()
- lib = None
- acc = None
-
-sleep(2)
-print "LOGGING OUT..."
-acc.delete()
-lib.destroy()
-lib = None
-acc = None
-print "LOGOUT WAS SUCCESSFULL!!"
-
diff --git a/For Weekly Test/Backup/truetable.py b/For Weekly Test/Backup/truetable.py
deleted file mode 100644
index 6675ccd..0000000
--- a/For Weekly Test/Backup/truetable.py
+++ /dev/null
@@ -1,211 +0,0 @@
-def initTrueTable():
-
- resultsList = [['sip', 'GSMExt.Eplus', '486'], ['unisip', 'GSMExt.Tm', '486'], ['sip', 'GSMExt.O2', '200'], ['landline', 'GSMExt.Voda', '486'], ['sip', 'landline', '486'], ['sip', 'unisip', '200'], ['unisip', 'sip', '486'], ['GSMRZ1','landline', '486'], ['GSMRZ2','landline' ,'486'], ['GSMRZ3','landline', '486']]
- #resultsList = [['GSMExt.Eplus', 'GSMRZ1', '486'], ['unisip', 'sip', '486'], ['landline', 'sip', '200'], ['unisip', 'sip', '486']]
-
- nanoBTS1 = None
- nanoBTS2 = None
- nanoBTS3 = None
- o2Card = None
- eplusCard = None
- vodaCard = None
- tmobileCard = None
- outgoingLandline = None
-
- for x in resultsList:
-
- destination = x[1]
- result = x[2]
- caller = x[0]
-
- if destination == 'GSMRZ1':
- if result =='486':
- nanoBTS1 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
-
- if destination == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
- elif result =='200':
- nanoBTS1 = True
-
- elif destination == 'GSMRZ2':
- if result =='486':
- nanoBTS2 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
- elif result =='200':
- nanoBTS2 = True
-
- elif destination == 'GSMRZ3':
- if result =='486':
- nanoBTS3 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ3':
- if result == '200':
- nanoBTS3 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS3 = True
- elif result =='200':
- nanoBTS3 = True
-
- elif destination == 'GSMExt.O2':
- if result =='486':
- o2Card = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.O2':
- if result == '200':
- o2Card = True
-
- if destination == 'GSMExt.O2':
- if result == '200':
- o2Card = True
- elif result =='200':
- o2Card = True
-
- elif destination == 'GSMExt.Voda':
- if result =='486':
- vodaCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
-
- if destination == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
- elif result =='200':
- vodaCard = True
-
- elif destination == 'GSMExt.Eplus':
- if result =='486':
- eplusCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
-
- if destination == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
- elif result =='200':
- eplusCard = True
-
- elif destination == 'GSMExt.Tm':
- if result =='486':
- tmobileCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
-
- if destination == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
- elif result =='200':
- tmobileCard = True
-
- elif destination == 'sip':
- if result =='486':
- asteriskServer = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'sip':
- if result == '200':
- asteriskServer = True
-
- if destination == 'sip':
- if result == '200':
- asteriskServer = True
-
- elif result =='200':
- asteriskServer = True
-
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
-
- if destination == 'landline':
- if result =='486':
- outgoingLandline = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
- if destination == 'landline':
- if result == '200':
- outgoingLandline = True
-
- print '\n'
- if o2Card == False and eplusCard == False and vodaCard == False and tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if o2Card == False:
- print "O2 card indicate having problem"
- if eplusCard == False:
- print "eplus card indicate having problem"
- if vodaCard == False:
- print "vodaphone card indicate having problem"
- if tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if nanoBTS1 == False and nanoBTS2 == False and nanoBTS3 == False:
- print 'openBSC down'
- else:
- if nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if outgoingLandline == False:
- print 'outgoing from GSM RZ to landline having problem'
- print '\n'
-
- if asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-initTrueTable()
-
-
-
-
-
diff --git a/For Weekly Test/Backup/usbDetect.py b/For Weekly Test/Backup/usbDetect.py
deleted file mode 100644
index 695b59c..0000000
--- a/For Weekly Test/Backup/usbDetect.py
+++ /dev/null
@@ -1,156 +0,0 @@
-from serial import * #serial port library
-from time import sleep
-import sys
-import checkingNumberClass
-
-def initLog():
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to ttyUSB\'').read()
- sleep(0.5)
- dmesgfile = open('dmesg.log', 'w')
- dmesgfile.write(portLog)
- dmesgfile.close()
-
-def initLine():
- global i
- logfile = open('dmesg.log')
- i = 0
- while 1:
- line = logfile.readline()
- if not line:
- break
- i = i+1
- logfile.close()
-
-def initPort():
- global lines
- x = 0
- logfile = open('dmesg.log')
- while 1:
- line = logfile.readline()
- x = x+1
- if not line:
- break
- if x == i:
- lines = line
- logfile.close()
- print lines
-
-def newConf(device):
- x = checkingNumberClass.serialPort(port)
- x.findNumber()
- number = x.number
-
- portDev = '[/dev/'+port+']'
- file.write('\n['+device+'] ')
- file.writelines(portDev)
- file.writelines('['+number+']\n')
-
-def searchList():
- global found
- for item in portList:
- if item[1] == port:
- found = 1
- else:
- found = 0
-def initO2():
-
- print "pluged in, O2 Mobile Device [then Enter]"
- input = sys.stdin.readline().rstrip("\r\n")
- scanPort()
- portList.append(['O2', port])
- newConf('O2')
-
-def initVoda():
-
- print "pluged in, Vodaphone Mobile Device [then Enter]"
- input = sys.stdin.readline().rstrip("\r\n")
- scanPort()
- searchList()
- if found == 1:
- initRepeat()
- elif found == 0:
- portList.append(['Voda', port])
- newConf('Voda')
- elif repeat == True:
- initVoda()
-
-def initEplus():
- print "pluged in, Eplus Mobile Device [then Enter]"
- input = sys.stdin.readline().rstrip("\r\n")
- scanPort()
- searchList()
- if found == 1:
- initRepeat()
- elif found == 0:
- portList.append(['Eplus', port])
- newConf('Eplus')
- elif repeat == True:
- initEplus()
-
-def initTmobile():
-
- print "pluged in, T-Mobile Mobile Device [then Enter]"
- input = sys.stdin.readline().rstrip("\r\n")
- scanPort()
- searchList()
- if found == 1:
- initRepeat()
- if found == 0:
- portList.append(['Tm', port])
- newConf('Tm')
- if repeat == True:
- initTmobile()
-
-def initRepeat():
- global repeat
- while True:
- print 'No new device has pluged in'
- print 't = try again, i = ignore, q = quit'
- input = sys.stdin.readline().rstrip("\r\n")
- if input == 'i':
- repeat = False
- break
- elif input == 'q':
- file.close()
- sys.exit()
- elif input == 't':
- repeat = True
- break
-
-def scanPort():
- global port
- initLog()
- initLine()
- initPort()
- port = str(lines[59:66])
-
-
-global file
-global portList
-portList = list()
-while True:
- print "Mobile device port configuration"
- print "Menu: n = make new configuration, q = quit"
-
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "n":
- file = open('devicePortList.log', 'w')
- print "== Pluged Out all mobile devices [then Enter] =="
- input = sys.stdin.readline().rstrip("\r\n")
-
- initO2()
- initVoda()
- initEplus()
- initTmobile()
-
- file.close()
-
- if input == "q":
- break
-sys.exit()
-
-
-
-
-
diff --git a/For Weekly Test/DBProblem/DbClass.py b/For Weekly Test/DBProblem/DbClass.py
deleted file mode 100644
index 5556d47..0000000
--- a/For Weekly Test/DBProblem/DbClass.py
+++ /dev/null
@@ -1,252 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- self.tasksList = output
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- deviceAddr = str(entry)
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
-
diff --git a/For Weekly Test/DBProblem/DbClass.pyc b/For Weekly Test/DBProblem/DbClass.pyc
deleted file mode 100644
index a10d822..0000000
--- a/For Weekly Test/DBProblem/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/DBProblem/inserte.py b/For Weekly Test/DBProblem/inserte.py
deleted file mode 100644
index c37673f..0000000
--- a/For Weekly Test/DBProblem/inserte.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import sys
-#import ClientClass
-import DbClass
-#import ControllerClass
-#import classCheck
-from time import sleep
-
-
-db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-dbStatus = db.connectDB()
-print 'i am inserting into the table something', db.insertTaskIn2('sip','unisip',2)
-print 'i am inserting into the table something', db.insertTaskIn2('unisip','sip',2)
-print 'i am inserting into the table something', db.insertTaskIn2('sip','landline',2)
-print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeO',2)
-print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeV',2)
-print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmeE',2)
-print 'i am inserting into the table something', db.insertTaskIn2('landline','sip',2)
-#print 'i am inserting into the table something', db.insertTaskIn2('landline','gsmr2',2)
-print 'i am inserting into the table something', db.insertTaskIn2('landline','unisip',2)
-#print 'i am inserting into the table something', db.insertTaskIn2('sip','gsmr2',2)
-#print 'i am inserting into the table something', db.insertTaskIn2('gsmeO','sip',2)
-#print 'i am inserting into the table something', db.insertTaskIn2('gsmeV','sip',2)
-#print 'i am inserting into the table something', db.insertTaskIn2('gsmeE','sip',2)
diff --git a/For Weekly Test/DBProblem/test3.py b/For Weekly Test/DBProblem/test3.py
deleted file mode 100644
index 4450790..0000000
--- a/For Weekly Test/DBProblem/test3.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import sys
-#import ClientClass
-import DbClass
-#import ControllerClass
-#import classCheck
-from time import sleep
-
-
-db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-dbStatus = db.connectDB()
-print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', db.insertTaskIn2('gsm4','sip8',2)
-db.anyTasksToDo()
-if db.anyTasksToDo() == 1:
-
- for item in db.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
- templist.remove(item)
- #print item
- db.deleteTempTask(taskID)
- if callTo == 'sip':
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
-
-else:
- print "No job at all"
diff --git a/For Weekly Test/Old/07-07-2011/Controller-SecondType.py b/For Weekly Test/Old/07-07-2011/Controller-SecondType.py
deleted file mode 100644
index 31df36c..0000000
--- a/For Weekly Test/Old/07-07-2011/Controller-SecondType.py
+++ /dev/null
@@ -1,308 +0,0 @@
-import sys
-import os
-import re
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-
-from time import sleep
-from datetime import datetime
-
-
-user = 'root'
-passw = 'randompasswordSQL' #default password we agree with this password before!
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-stop = "False"
-status = ""
-dbSStatus = ""
-
-
-#function to ping
-def FuncPing(host):
- ping_cmd = os.popen('ping '+ host + ' -c 1 -W 1').read()
- pingAlive = int(string.find(ping_cmd, '1 received'))
- if pingAlive != -1:
- return 1
- else:
- return 0
-
-
-# One function for all test case
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global x
- global y
- portOrig = None
- resultOrig= None
- resultDest = None
-
-
- repeatTest = ""
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print "GSM server handler", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="SIPCall.py":
- portOrig = 50097
-
- if orig=="gsmcall_.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- while 1:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
- #think about time out
-
- if origHandler == "ready":
- print "Caller handler ready"
- print ""
- try:
- y = None
- global portDest
- portDest = None
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "GSM handler", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPIncoming.py":
- portDest = 50104
-
- if dest=="gsmincom_.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Destination handler status:", y.connect()
- y.sendData('hello Receiver, caller number')
-
- #wait respond from destination handler
- while 1:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
- #should have timeout = think about timeout
-
- if destHandler == "ready":
-
- print "Destination handler ready"
- print ""
- x.sendData("start")#send message to handler to start the call
- x.closeConnection()
- x.connect()
-
- #wait respond from both of handler
- while 1:
- sleep(5)
- x.connect()
- sleep(1)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if failed, try one more time
- if resultOrig == "failed" or resultDest == "failed":
- y.sendData('hello Destination Handler')
- x.sendData("start")
- sleep(2)
- x.sendData(destNo)
-
- while 1:
- resultOrig = X.receiveData()
- resultDest = y.receiveData()
- print "Origin1: ", resultOrig
- print "Destination1: ", resultDest
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if still failed, save to db and return repeat test, so we make automatic test vice versa
- if resultOrig == "failed" or resultDest == "failed":
- #db.execute ("update result table")
- repeatTest="true"
- print "Origin2: ", resultOrig
- print "Destination1: ", resultDest
-
- else: #save to database, tell handler to terminated
- #db.execute ("update result table")
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('terminated') # signal caller to terminate
- y.sendData('terminated') # signal receiver to terminate
-
- else:
- statusTest = "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData("terminated")
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- else:
- statusTest = "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-
-
-# Check DB connection
-x = classDb.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print ""
-dbStatus = x.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- #sipServerStatus = FuncPing("132.230.4.8")
- sipServerStatus =1
- #gsmBox1Status = FuncPing("132.230.4.8")
- #gsmBox2Status = FuncPing("132.230.4.8")
-
-# Fetch The task information from DB
- #print "do i have anything to do", x.anyTasksToDo()
-
- #for item in x.tasksList:
- # taskID = item[0]
- # callFrom = item[1]
- # callTo = item[2]
- callFrom = "gsmrz1"
- callTo = "sip"
- #J = 1, 2
- #for A in J:
-# print "call from to ", taskID , callFrom , callTo
- print "Test Task : Calling from " +callFrom+ " to " +callTo
- print ""
-
-
- if callFrom == "sip" and sipServerStatus <> 0:
-
- if callTo == "gsmrz1":
-
- FuncTest("SIPCall.py", "localhost", "gsmincom_.py", "localhost","473")
- print "Finish test"
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box1", "132.0.0.2","404")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box2", "132.0.0.3","405")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip" and sipServerStatus <> 0:
- FuncTest("gsmcall_.py", "localhost", "SIPIncoming.py", "localhost","929")
- sleep(10)
-
-
- if callTo =="gsmrz2" and gsmBox1Status <> 0:
- FuncTest("Box1", "132.0.0.2", "SIPReceiver.py", "localhost","929")
-
- if callTo =="gsmrz3" and gsmBox2Status <> 0:
- FuncTest("Box2", "132.0.0.3", "SIPReceiver.py", "localhost","929")
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/07-07-2011/Controller-SecondType_withDB.py b/For Weekly Test/Old/07-07-2011/Controller-SecondType_withDB.py
deleted file mode 100644
index a45fd05..0000000
--- a/For Weekly Test/Old/07-07-2011/Controller-SecondType_withDB.py
+++ /dev/null
@@ -1,339 +0,0 @@
-import sys
-import os
-import re
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-import classPing
-
-from time import sleep
-from datetime import datetime
-
-
-user = 'root'
-passw = 'randompasswordSQL' #default password we agree with this password before!
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-stop = "False"
-status = ""
-dbSStatus = ""
-
-sipNum = "4661929"
-landlnNum = "076145875681"
-
-
-sipCall = "sipCall.py"
-sipRec = "sipReceiver.py"
-landlnCall = "landlineCall.py"
-landlnRec = "landlineReceiver.py"
-localSipCall = "localsipCall.py"
-localSipRec = "localsipReceiver.py"
-rz1Call = "rz1Call.py"
-rz1Rec = "rz1Receiver.py
-
-o2Call = "o2Call.py"
-o2Rec = "o2Receiver.py"
-vodafoneCall = "vodafoneCall.py"
-vodafoneRec = "vodafoneReceiver.py"
-tmobileCall = "tmobileCall.py"
-tmobilRec = "tmobileReceiver.py"
-
-# One function for all test case
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global x
- global y
- portOrig = None
- resultOrig= None
- resultDest = None
-
-
- repeatTest = ""
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print "GSM server handler", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="SIPCall.py":
- portOrig = 50097
-
- if orig=="gsmcall_.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- while 1:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
- #think about time out
-
- if origHandler == "ready":
- print "Caller handler ready"
- print ""
- try:
- y = None
- global portDest
- portDest = None
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "GSM handler", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPIncoming.py":
- portDest = 50104
-
- if dest=="gsmincom_.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Destination handler status:", y.connect()
- y.sendData('hello Receiver, caller number')
-
- #wait respond from destination handler
- while 1:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
- #should have timeout = think about timeout
-
- if destHandler == "ready":
-
- print "Destination handler ready"
- print ""
- x.sendData("start ")#send message to handler to start the call
- sleep(1)
- x.sendData(destNo)
-
- #for refresh socket, so gsm handler can use socket to communicated with the phone
- x.closeConnection()
- x.connect()
-
- #wait respond from both of handler
- while 1:
- sleep(5)
- x.connect()
- sleep(1)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if failed, try one more time
- if resultOrig == "failed" or resultDest == "failed":
- y.sendData('hello Destination Handler')
- x.sendData("start")
- sleep(2)
- x.sendData(destNo)
-
- #for refresh socket, so gsm handler can use socket to communicated with the phone
- x.closeConnection()
- x.connect()
-
- while 1:
- resultOrig = X.receiveData()
- resultDest = y.receiveData()
- print "Origin1: ", resultOrig
- print "Destination1: ", resultDest
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if still failed, save to db and return repeat test, so we make automatic test vice versa
- if resultOrig == "failed" or resultDest == "failed":
- #db.execute ("update result table")
- repeatTest="true"
- print "Origin2: ", resultOrig
- print "Destination1: ", resultDest
-
- else: #save to database, tell handler to terminated
- #db.execute ("update result table")
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('terminated') # signal caller to terminate
- y.sendData('terminated') # signal receiver to terminate
-
- else:
- statusTest = "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData("terminated")
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- else:
- statusTest = "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-
-
-# Check DB connection
-x = classDb.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print ""
-dbStatus = x.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- sipServer = PingClass.Ping('132.230.4.60')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = PingClass.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = PingClass.Ping('132.230.4.60')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
- #gsmBox1Status = FuncPing("132.230.4.8")
- #gsmBox2Status = FuncPing("132.230.4.8")
-
-# Fetch The task information from DB
- print "do i have anything to do", x.anyTasksToDo()
-
- for item in x.tasksList:
- taskID = item[0]
- callFrom = item[1]
- callTo = item[2]
-
- print "call from to ", taskID , callFrom , callTo
-
- if callFrom == "sip" and sipServerStatus <> 0:
-
- if callTo == "gsmrz1":
-
- FuncTest(sipCall, "localhost", "gsmincom_.py", "localhost","4661473")
- print "Finish test"
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status <> 0:
- FuncTest(sipCall, "localhost", "Box1", "132.0.0.2","404")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status <> 0:
- FuncTest(sipCall, "localhost", "Box2", "132.0.0.3","405")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
- if callTo == "landline" and sipGateSeverStatus <> 0:
- FuncTest(sipCall, "localhost", landlnRec, "localhost",landlnNum)
-
- if callTo == "localsip" and sipLocalSeverStatus <> 0:
- FuncTest(sipCall, "localhost", localSipRec, "localhost","405")
-
- if callTo == "externalgsm":
- FuncTest(sipCall, "localhost", o2Rec, "localhost","405")
- FuncTest(sipCall, "localhost", tmobileRec, "localhost","405")
- FuncTest(sipCall, "localhost", vodafoneRec, "localhost","405")
- FuncTest(sipCall, "localhost", "xx", "localhost","405")
-
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip" and sipServerStatus <> 0:
- FuncTest("gsmcall_.py", "localhost", sipRec, "localhost",sipNum)
- sleep(10)
-
-
- if callTo =="gsmrz2" and gsmBox1Status <> 0:
- FuncTest("Box1", "132.0.0.2", sipRec, "localhost",sipNum)
-
- if callTo =="gsmrz3" and gsmBox2Status <> 0:
- FuncTest("Box2", "132.0.0.3", sipRec, "localhost",sipNum)
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/07-07-2011/ca_stMa.py b/For Weekly Test/Old/07-07-2011/ca_stMa.py
deleted file mode 100644
index 5df33c8..0000000
--- a/For Weekly Test/Old/07-07-2011/ca_stMa.py
+++ /dev/null
@@ -1,153 +0,0 @@
-from serial import * #serial port library
-from threading import Thread #library to make a thread (I guess)
-from time import sleep #timer library
-import string #import the string handling library
-import sys
-import atexit
-import signal
-
-####START of the definition how the serial port works
-
-class TimeoutException(Exception):
- pass
-
-def serial_portFunc():
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(50) # triger alarm in 50 seconds
-
- try:
- global last_received #make last_received a global variable
- global exitSuccessful
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
- ####END of the definition how the serial port works
- exitSuccessful = 0 #variable used to know if it closed successfully
-
- last_received = '' #reset the last received variable
- global pickUp
- pickUp = 0
- ser.write('AT\r') #just communicate with the cellphone at start
- callTrue=0 #use this variable to make sure the cell phone has dialed a number
- pickUp =0 #use to test if I pick up the call
- firstCall = 1
- firstCallSuccessful=0
- buffer = '' #make sure buffer variable is empty
- for arg in sys.argv:
- callThisNumberFirst = arg
- while True: #repeat the message accepting part forever
-
-
- #####BEGIN part responsible for receiving on serial port
-
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer: #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- buffer = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- #print line;
-
- #####END part responsible for receiving on serial port
-
-
-
-
-
-
- #####START of the state machine responsible for talking to the cellphone
-
- if len(line) > 0: #if line not empty then it is a value the cellphone returned
- #print 'I received:',line, len(line)
- if firstCall==1:
- #print 'I AM IN THE IF :)'
- sleep(1)
- callThisNumberFirst = 'ATD'+callThisNumberFirst+';\r'
- ser.write(callThisNumberFirst) #call the number from the argument
- line=''
-
- #sleep(5)
- #ser.write('AT+CSQ\r') #send the command for signal strength
- #sleep(2)
- ##sleep(5) #sleep 2 seconds
- #ser.write('AT+CHUP\r')
- firstCall=0
- firstCallSuccessful=1
-
- if (line=='OK') and (firstCallSuccessful==1):
- #print 'Successfully connected'
- sleep(1)
- ser.write('AT+CSQ\r') #send the command for signal strength
- sleep(5)
- #sleep(5) #sleep 2 seconds
- sleep(1)
- ser.write('AT+CHUP\r')
- firstCallSuccessful=0
- line = ''
-
- if line=='RING': #the cellphone is ringing and somebody is calling
- if pickUp == 0:
- sleep(1)
- ser.write('ATA\r') #pick up the phone call
- sleep(0.5) #wait half a second before sending another AT command
- sleep(1)
- ser.write('AT+CSQ\r') #tell me the signal quality command
- sleep(3)
- sleep(1)
- ser.write('AT+CHUP\r') #ask for the callers numbers
- line=''
- pickUp=1
-
- if line[0:5] == '+CSQ:':
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- signalStrength = (int(line[space:coma])*2)-113
- #print 'Signal strength', signalStrength, 'dBm'
- line=''
- if pickUp==1:
- exitSuccessful = 1
- return '|1|'+str(signalStrength)+'|'
-
- if len(line) == 4:
- if line == 'BUSY':
- if callTrue == 1:
- signalStr = '|0|Number was busy|'
- return '|0|Number was busy|'
-
- #####END of the state machine responsible for talking to the cellphone
- except TimeoutException:
- return "|2|Timeout"
- finally:
- signal.signal(signal.SIGALRM, old_handler)
-
- signal.alarm(0)
- return signalStr
-
-if __name__ == '__main__':
- result = serial_portFunc()
- print result
-
diff --git a/For Weekly Test/Old/07-07-2011/classClient.py b/For Weekly Test/Old/07-07-2011/classClient.py
deleted file mode 100644
index ce02d19..0000000
--- a/For Weekly Test/Old/07-07-2011/classClient.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import socket
-import sys
-import os
-import string
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- def connect(self):
- self.s = None
-
- alive = self.ping()
- if alive == 0:
- return 'The machine is not alive'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 'Could not open socket'
- else:
- self.connected = 1
- return 'Connected'
-
- def sendData(self, data):
- if self.connected == 1:
- self.s.send(data)
-
- def receiveData(self):
- if self.connected == 1:
- return self.s.recv(1024)
- else:
- return 'Not connected'
-
- def closeConnection(self):
- if self.connected == 1:
- self.s.close()
- self.connected = 0
- return 'Closed'
-
- def ping(self):
- ping_cmd = os.popen('ping '+ self.host + ' -c 1 -W 1').read()
- pingAlive = int(string.find(ping_cmd, '1 received'))
- if pingAlive != -1:
- return 1
- else:
- return 0
-
diff --git a/For Weekly Test/Old/07-07-2011/classClient.pyc b/For Weekly Test/Old/07-07-2011/classClient.pyc
deleted file mode 100644
index b93c110..0000000
--- a/For Weekly Test/Old/07-07-2011/classClient.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/07-07-2011/classDb.py b/For Weekly Test/Old/07-07-2011/classDb.py
deleted file mode 100644
index 615b868..0000000
--- a/For Weekly Test/Old/07-07-2011/classDb.py
+++ /dev/null
@@ -1,212 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- deviceAddr = str(entry)
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
diff --git a/For Weekly Test/Old/07-07-2011/classDb.pyc b/For Weekly Test/Old/07-07-2011/classDb.pyc
deleted file mode 100644
index 92d31c6..0000000
--- a/For Weekly Test/Old/07-07-2011/classDb.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/07-07-2011/classPing.py b/For Weekly Test/Old/07-07-2011/classPing.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/Old/07-07-2011/classPing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Old/07-07-2011/classServer.py b/For Weekly Test/Old/07-07-2011/classServer.py
deleted file mode 100644
index 97a398d..0000000
--- a/For Weekly Test/Old/07-07-2011/classServer.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Echo server program
-import socket
-import sys
-import os
-import string
-from time import sleep
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self):
- if self.connected == 1:
- while 1:
- data = self.connection.recv(64)
- if not data:
- return 'NO DATA'
- else:
- return data
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- self.connection.send(data)
- return 1
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- self.connection.close()
- self.s.close()
- self.s = None
- self.connected == 0
- return 1
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
-
diff --git a/For Weekly Test/Old/07-07-2011/classServer.pyc b/For Weekly Test/Old/07-07-2011/classServer.pyc
deleted file mode 100644
index 52f5085..0000000
--- a/For Weekly Test/Old/07-07-2011/classServer.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/07-07-2011/gsmcall2_.py b/For Weekly Test/Old/07-07-2011/gsmcall2_.py
deleted file mode 100644
index bf8e662..0000000
--- a/For Weekly Test/Old/07-07-2011/gsmcall2_.py
+++ /dev/null
@@ -1,102 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-
-import subprocess
-import os
-from serial import *
-
-import classServer
-
-from time import sleep
-from datetime import datetime
-import string
-
-
-stop ="false"
-success = "failed"
-
-
-try:
- global ser
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
-
- ser.open()
-
- server = classServer.ServerHandler(50098)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- server.sendData('ready')#send message to controller
- print "Status Server:", server.connected
- print ""
-
- while stop <> "true":
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
- ser.write('AT+CSQ\r')
- signalQuality = ser.read(35)
- print "Signal Bar: ", signalQuality
- #
-
-
- if data == "start": # if receiver start message, handler start to call destination
- while 1:
-
- num = server.receiveData() # waiting destination number
-
- #num = 929
-
- if num <> "":
-
- ser.write('ATD' + num + ';\r')
- sleep(5)
- success = "success"
- server.sendData(success)
- ser.write('AT+CHUP\r')
-
- break
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error on calling mode"
- server.closeConnection()
- del server
-
-
-
- server.sendData(success)
- server.closeConnection()
- ser.close()
- del server
-
-except ValueError:
- print "Exception: "
-
-print "Goodbye"
-sleep(3)
diff --git a/For Weekly Test/Old/07-07-2011/gsmcall_.py b/For Weekly Test/Old/07-07-2011/gsmcall_.py
deleted file mode 100644
index 039622c..0000000
--- a/For Weekly Test/Old/07-07-2011/gsmcall_.py
+++ /dev/null
@@ -1,105 +0,0 @@
-import sys
-import socket
-import time
-
-import subprocess
-import os
-from serial import *
-
-import classServer
-
-from time import sleep
-import string
-
-
-stop ="false"
-success = "failed"
-
-global server
-
-global ser
-portAddress = '/dev/ttyUSB1'
-portName = portAddress[-4:]
-portExist = os.popen('dmesg | grep ' + portName).read()
-
-if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
-while stop <> "true":#???
-
-
- try:
-
- server = classServer.ServerHandler(50098)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- server.sendData('ready')#send message to controller
- print "Controller status: ", server.connected
-
-
- while stop <> "true":
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
-
- if data == "start": # if receiver start message, handler start to call destination
-
- while 1:
-
- num = server.receiveData()
-
- #num = "929"
- if num <> "NO DATA":
- server.closeConnection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- ser.write('ATD4661' + num + ';\r')
- sleep(3)
- ser.write('AT+CHUP\r')
-
- ser.close()
- tried = server.openSocket()
- sleep(2)
- success = "success"
- server.sendData(success)
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error when sending message"
- server.closeConnection()
- del server
-
-
- server.closeConnection()
- del server
- print "Goodbye"
- sleep(3)
- sys.exit(1)
-
- except ValueError:
- print "Exception: " + str(e)
-
-print "Goodbye"
-sleep(3)
diff --git a/For Weekly Test/Old/07-07-2011/gsmincom_.py b/For Weekly Test/Old/07-07-2011/gsmincom_.py
deleted file mode 100644
index a49c24c..0000000
--- a/For Weekly Test/Old/07-07-2011/gsmincom_.py
+++ /dev/null
@@ -1,155 +0,0 @@
-
-import atexit
-import signal
-
-import sys
-import socket
-import time
-import os
-import string
-import classServer
-from time import sleep
-from serial import *
-
-
-success = None
-stop = False
-
-try:
-
- global ser
- global server
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
- server = classServer.ServerHandler(50105)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- print "here:", server.connected
- if server.connected == 1:
-
- server.sendData('ready')
- server.closeConection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- signalQuality = ser.write('AT+CSQ\r')
- print "signal Quality ", signalQuality
- print ""
-
-
-
- while stop <> True:
-
- global pickUp
- pickUp = None
- buffer = ""
-
-
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer: #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- buffer = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '')
-
- print "buffer:", buffer
- print "line:", line
-
- if len(line) > 0:
-
-
- if line=="RING":
-
- print "Somebody calling"
- print ""
- sleep(1)
- ser.write('ATA\r')
- sleep(1)
- ser.write('AT+CSQ\r')
-
- sleep(2)
- ser.write('AT+CLCC\r')
-
-
- if line[0:5] == '+CSQ:':
-
- space = int(string.find(line,' '))+1
- coma = int(string.find(line,','))
- signalStr = (int(line[space:coma])*2)-113
-
- line=''
-
- if line[0:6]=='+CLCC:':
-
- pickUp = 1
-
- print "I will hangup the call"
- print ""
- sleep(5)
-
- ser.write('AT+CHUP\r')
- pickUp = 0
- ser.close()
-
- quotation1 = int(string.find(line,'"'))+1
- lineTemp = line[quotation1:]
-
- quotation2 = int(string.find(lineTemp,'"'))
- numberOfCaller = line[quotation1:quotation1+quotation2]
-
- print "Signal Strength: ", signalStr
- print ""
-
- tried = server.openSocket()
- server.sendData('I got call from :' +numberOfCaller)
- print "with caller number", numberOfCaller
- sleep(1)
- server.sendData('success')
- stop = True
- sleep (3)
-
-
-
- server.closeConnection()
- del server
- else:
-
- print "not connected"
-
- del server
-
- ser.close()
-except ValueError:
- print "Exception: "
- server.closeConnection()
- del server
-
-print "GOODBYE"
-sleep(5)
diff --git a/For Weekly Test/Old/07-07-2011/sipCall.py b/For Weekly Test/Old/07-07-2011/sipCall.py
deleted file mode 100644
index eb44b4a..0000000
--- a/For Weekly Test/Old/07-07-2011/sipCall.py
+++ /dev/null
@@ -1,176 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-import MySQLdb
-import subprocess
-
-import classServer
-
-from time import sleep
-from datetime import datetime
-import string
-
-
-stop ="false"
-server = "132.230.4.8"
-username = "mpselftest1"
-password = "1mpselftest"
-
-LOG_LEVEL=2
-current_call = None
-success = ""
-
-
-# Logging callback
-def log_cb(level, str, len):
- print str, "SIP log"
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call##
-
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- global success
-
- if self.call.info().state_text <> "DISCONNCTD":
- if self.call.info().state_text == "CONNECTING":
- print "CONNECTING CALL"
- #print "isine opo:", self.call.info().state_text
- print "CALL CONFIRMED and ESTABLISH", self.call.info().state_text
- sleep(5)
- current_call.hangup()
- success = "true"
- server.sendData(success)
- else:
- sleep(1)
- #print ""
-
- if self.call.info().last_reason <> "":
-
- if self.call.info().last_reason == "Busy Here":
-
- print "Destination Number is Busy or offline"
- print ""
- success = "false"
- server.sendData(success)
-
-
- #print self.call.info().state_text
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call Disconnected'
-
-
-def make_call(uri):
- try:
- print "Making call to", uri
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-
-
-
-lib = pj.Lib()
-while stop <> "true":
-
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
- lib.start()
- lib.set_null_snd_dev()
-
- # open socket connection and connect to the controller
- server = classServer.ServerHandler(50097)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- try:
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
- print my_sip_uri
- server.sendData('ready')#send message to controller
- print "here:", server.connected
- while 1:
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
-
- if data == "start": # if receiver start message, handler start to call destination
-
- while 1:
-
- num = server.receiveData() # waiting destination number
- if num <> "":
-
- number = "sip:"+num+"@132.230.4.8"
- current_call = make_call(number)
- break
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error when sending message"
- server.closeConnection()
- del server
-
- server.closeConnection()
- del server
-
- else:
- Regis_status= "Bad"
- print "error when register"
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- del server
- except ValueError:
- print "Exception: " + str(e)
-
-print "Goodbye"
-sleep(3)
-acc.delete()
-lib.destroy()
-server.closeConnection()
-del server
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/07-07-2011/sipReceiver.py b/For Weekly Test/Old/07-07-2011/sipReceiver.py
deleted file mode 100644
index 6404f10..0000000
--- a/For Weekly Test/Old/07-07-2011/sipReceiver.py
+++ /dev/null
@@ -1,177 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-import os
-import string
-import classServer
-
-from time import sleep
-from datetime import datetime
-
-stop ="false"
-server = "132.230.4.8"
-username = "mpselftest2"
-password = "2mpselftest"
-
-LOG_LEVEL=2
-current_call = None
-success = ""
-global accept
-accept = None
-
-
-# Logging callback
-def log_cb(level, str, len):
- print str, "I am here"
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
- global number
- if current_call:
- call.answer(486, "Busy")
- return
-
- number = call.info().remote_uri
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
- if current_call <> None:
- accept = True
- if accept == True:
- sleep(2)
- current_call.answer(200)
- sleep(3)
- current_call.hangup()
- accept = "true"
- server.sendData('success')
-
- #server.sendData(success)
-
-
-
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
-
- if self.call.info().state_text == "CONNECTING":
- print self.call.info().state_text
- success = "success"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call is', current_call
-
- # Notification when call's media state has changed.
- def on_media_state(self):
- if self.call.info().media_state == pj.MediaState.ACTIVE:
- # Connect the call to sound device
- call_slot = self.call.info().conf_slot
- pj.Lib.instance().conf_connect(call_slot, 0)
- pj.Lib.instance().conf_connect(0, call_slot)
- #server.sendData('establish connection')
-
- print "Media is now active"
-
-
- else:
- print "Media is inactive"
-
-
-
-lib = pj.Lib()
-
-try:
- #open socket connection to the controller
- server = classServer.ServerHandler(50104)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-
-
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
- # Start the library
- lib.start()
- lib.set_null_snd_dev()
-
-
- # Create local account
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
-
- server.sendData('ready')#send message to controller that the handler ready
-
- while stop <> "true":
-
- data = server.receiveData()#waiting message from controller
- if data == "terminated":
- break
-
- if current_call == None:
- accept = None
- continue
- else:
- print "Incoming call from :", number
-
- sleep(4)
-
-
- # Shutdown the library
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
- else:
- Regis_status= "Bad"
- print "error when register"
-
- lib.destroy()
- lib = None
- acc = None
- server.closeConnection()
- del server
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
diff --git a/For Weekly Test/Old/15-07-2011/Controller-SecondType.py b/For Weekly Test/Old/15-07-2011/Controller-SecondType.py
deleted file mode 100644
index 31df36c..0000000
--- a/For Weekly Test/Old/15-07-2011/Controller-SecondType.py
+++ /dev/null
@@ -1,308 +0,0 @@
-import sys
-import os
-import re
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-
-from time import sleep
-from datetime import datetime
-
-
-user = 'root'
-passw = 'randompasswordSQL' #default password we agree with this password before!
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-stop = "False"
-status = ""
-dbSStatus = ""
-
-
-#function to ping
-def FuncPing(host):
- ping_cmd = os.popen('ping '+ host + ' -c 1 -W 1').read()
- pingAlive = int(string.find(ping_cmd, '1 received'))
- if pingAlive != -1:
- return 1
- else:
- return 0
-
-
-# One function for all test case
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global x
- global y
- portOrig = None
- resultOrig= None
- resultDest = None
-
-
- repeatTest = ""
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print "GSM server handler", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="SIPCall.py":
- portOrig = 50097
-
- if orig=="gsmcall_.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- while 1:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
- #think about time out
-
- if origHandler == "ready":
- print "Caller handler ready"
- print ""
- try:
- y = None
- global portDest
- portDest = None
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "GSM handler", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPIncoming.py":
- portDest = 50104
-
- if dest=="gsmincom_.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Destination handler status:", y.connect()
- y.sendData('hello Receiver, caller number')
-
- #wait respond from destination handler
- while 1:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
- #should have timeout = think about timeout
-
- if destHandler == "ready":
-
- print "Destination handler ready"
- print ""
- x.sendData("start")#send message to handler to start the call
- x.closeConnection()
- x.connect()
-
- #wait respond from both of handler
- while 1:
- sleep(5)
- x.connect()
- sleep(1)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if failed, try one more time
- if resultOrig == "failed" or resultDest == "failed":
- y.sendData('hello Destination Handler')
- x.sendData("start")
- sleep(2)
- x.sendData(destNo)
-
- while 1:
- resultOrig = X.receiveData()
- resultDest = y.receiveData()
- print "Origin1: ", resultOrig
- print "Destination1: ", resultDest
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if still failed, save to db and return repeat test, so we make automatic test vice versa
- if resultOrig == "failed" or resultDest == "failed":
- #db.execute ("update result table")
- repeatTest="true"
- print "Origin2: ", resultOrig
- print "Destination1: ", resultDest
-
- else: #save to database, tell handler to terminated
- #db.execute ("update result table")
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('terminated') # signal caller to terminate
- y.sendData('terminated') # signal receiver to terminate
-
- else:
- statusTest = "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData("terminated")
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- else:
- statusTest = "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-
-
-# Check DB connection
-x = classDb.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print ""
-dbStatus = x.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- #sipServerStatus = FuncPing("132.230.4.8")
- sipServerStatus =1
- #gsmBox1Status = FuncPing("132.230.4.8")
- #gsmBox2Status = FuncPing("132.230.4.8")
-
-# Fetch The task information from DB
- #print "do i have anything to do", x.anyTasksToDo()
-
- #for item in x.tasksList:
- # taskID = item[0]
- # callFrom = item[1]
- # callTo = item[2]
- callFrom = "gsmrz1"
- callTo = "sip"
- #J = 1, 2
- #for A in J:
-# print "call from to ", taskID , callFrom , callTo
- print "Test Task : Calling from " +callFrom+ " to " +callTo
- print ""
-
-
- if callFrom == "sip" and sipServerStatus <> 0:
-
- if callTo == "gsmrz1":
-
- FuncTest("SIPCall.py", "localhost", "gsmincom_.py", "localhost","473")
- print "Finish test"
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box1", "132.0.0.2","404")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status <> 0:
- FuncTest("SIPCall.py", "localhost", "Box2", "132.0.0.3","405")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip" and sipServerStatus <> 0:
- FuncTest("gsmcall_.py", "localhost", "SIPIncoming.py", "localhost","929")
- sleep(10)
-
-
- if callTo =="gsmrz2" and gsmBox1Status <> 0:
- FuncTest("Box1", "132.0.0.2", "SIPReceiver.py", "localhost","929")
-
- if callTo =="gsmrz3" and gsmBox2Status <> 0:
- FuncTest("Box2", "132.0.0.3", "SIPReceiver.py", "localhost","929")
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/15-07-2011/Controller-SecondType_withDB.py b/For Weekly Test/Old/15-07-2011/Controller-SecondType_withDB.py
deleted file mode 100644
index 1112c51..0000000
--- a/For Weekly Test/Old/15-07-2011/Controller-SecondType_withDB.py
+++ /dev/null
@@ -1,342 +0,0 @@
-import sys
-import os
-import re
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-import classPing
-
-from time import sleep
-from datetime import datetime
-
-
-user = 'root'
-passw = 'randompasswordSQL' #default password we agree with this password before!
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-stop = "False"
-status = ""
-dbSStatus = ""
-
-sipNum = "4661929"
-landlnNum = "076145875681"
-
-
-sipCall = "sipCall.py"
-sipRec = "sipReceiver.py"
-landlnCall = "LandlineCall.py"
-landlnRec = "LandlineReceiver.py"
-
-localSipRec = "localsipReceiver.py"
-rz1Call = "rz1Call.py"
-rz1Rec = "rz1Receiver.py"
-
-o2Call = "o2Call.py"
-o2Rec = "o2Receiver.py"
-vodafoneCall = "vodafoneCall.py"
-vodafoneRec = "vodafoneReceiver.py"
-tmobileCall = "tmobileCall.py"
-tmobilRec = "tmobileReceiver.py"
-
-# One function for all test case
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global x
- global y
- portOrig = None
- resultOrig= None
- resultDest = None
-
-
- repeatTest = ""
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print "GSM server handler", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="sipCall.py":
- portOrig = 50097
-
- if orig=="gsmcall_.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- while 1:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
- #think about time out
-
- if origHandler == "ready":
- print "Caller handler ready"
- print ""
- try:
- y = None
- global portDest
- portDest = None
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "GSM handler", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPIncoming.py":
- portDest = 50104
-
- if dest=="gsmincom_.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Destination handler status:", y.connect()
- y.sendData('hello Receiver, caller number')
-
- #wait respond from destination handler
- while 1:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
- #should have timeout = think about timeout
-
- if destHandler == "ready":
-
- print "Destination handler ready"
- print ""
- y.closeConnection()
- x.sendData("start")#send message to handler to start the call
- sleep(1)
- x.sendData(destNo)
-
- #for refresh socket, so gsm handler can use socket to communicated with the phone
- x.closeConnection()
-
- print ""
- #wait respond from both of handler
- while 1:
- sleep(5)
- x.connect()
- y.connect()
- sleep(1)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
- print "", resultDest
- if resultOrig <> "" and resultDest <> "":
- break
-
- #if failed, try one more time
- if resultOrig == "failed" or resultDest == "failed":
- y.sendData('hello Destination Handler')
- x.sendData("start")
- sleep(2)
- x.sendData(destNo)
-
- #for refresh socket, so gsm handler can use socket to communicated with the phone
- #x.closeConnection()
- #x.connect()
-
- while 1:
- resultOrig = X.receiveData()
- resultDest = y.receiveData()
- print "Origin1: ", resultOrig
- print "Destination1: ", resultDest
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- #if still failed, save to db and return repeat test, so we make automatic test vice versa
- if resultOrig == "failed" or resultDest == "failed":
- #db.execute ("update result table")
- repeatTest="true"
- print "Origin2: ", resultOrig
- print "Destination1: ", resultDest
-
- else: #save to database, tell handler to terminated
- #db.execute ("update result table")
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('terminated') # signal caller to terminate
- y.sendData('terminated') # signal receiver to terminate
-
- else:
- statusTest = "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData("terminated")
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- else:
- statusTest = "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-
-
-# Check DB connection
-x = classDb.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print ""
-dbStatus = x.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- sipServer = classPing.Ping('132.230.4.8')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = classPing.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = classPing.Ping('132.230.4.60')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
- #gsmBox1Status = FuncPing("132.230.4.8")
- #gsmBox2Status = FuncPing("132.230.4.8")
-
-# Fetch The task information from DB
- print "do i have anything to do", x.anyTasksToDo()
-
- for item in x.tasksList:
- taskID = item[0]
- callFrom = item[1]
- callTo = item[2]
-
- print "call from to ", taskID , callFrom , callTo
- print sipServerStatus
-
- if callFrom == "sip" and sipServerStatus <> 0:
-
- if callTo == "gsmrz1":
-
- FuncTest(sipCall, "localhost", "gsmincom_.py", "localhost","4661455")
- print "Finish test"
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status <> 0:
- FuncTest(sipCall, "localhost", "Box1", "132.0.0.2","404")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status <> 0:
- FuncTest(sipCall, "localhost", "Box2", "132.0.0.3","405")
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
- if callTo == "landline" and sipGateSeverStatus <> 0:
- FuncTest(sipCall, "localhost", landlnRec, "localhost",landlnNum)
-
- if callTo == "localsip" and sipLocalSeverStatus <> 0:
- FuncTest(sipCall, "localhost", localSipRec, "localhost","405")
-
- if callTo == "externalgsm":
- FuncTest(sipCall, "localhost", o2Rec, "localhost","405")
- FuncTest(sipCall, "localhost", tmobileRec, "localhost","405")
- FuncTest(sipCall, "localhost", vodafoneRec, "localhost","405")
- FuncTest(sipCall, "localhost", "xx", "localhost","405")
-
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip" and sipServerStatus <> 0:
- FuncTest("gsmcall_.py", "localhost", sipRec, "localhost",sipNum)
- sleep(10)
-
-
- if callTo =="gsmrz2" and gsmBox1Status <> 0:
- FuncTest("Box1", "132.0.0.2", sipRec, "localhost",sipNum)
-
- if callTo =="gsmrz3" and gsmBox2Status <> 0:
- FuncTest("Box2", "132.0.0.3", sipRec, "localhost",sipNum)
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/15-07-2011/LandlineCall.py b/For Weekly Test/Old/15-07-2011/LandlineCall.py
deleted file mode 100644
index a0b96e5..0000000
--- a/For Weekly Test/Old/15-07-2011/LandlineCall.py
+++ /dev/null
@@ -1,166 +0,0 @@
-import sys
-import pjsua as pj
-
-import classServer
-
-from time import sleep
-from datetime import datetime
-import string
-
-
-stop =False
-
-
-LOG_LEVEL=2
-current_call = None
-status = None
-
-
-# Logging
-def log_cb(level, str, len):
- print str, "SIP log"
-
-
-# Receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
-
-# Receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
-
- def on_state(self):
- global current_call
- global status
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- print "CONNECTING CALL"
-
- print "CALL CONFIRMED and ESTABLISH", self.call.info().state_text
- sleep(2)
- current_call.hangup()
- status = 200
- server.sendData(status)
- else:
- sleep(0.5)
-
-
- if self.call.info().last_reason <> "":
-
- if self.call.info().last_reason == "Busy Here":
-
- print "486 Busy Here"
- print ""
- status = 486
- server.sendData(status)
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call Disconnected'
-
-#Function to make call
-def make_call(uri):
- try:
- print "Making call to", uri
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
- except pj.Error, e:
- print "408 Request Time-out (Couldn't find the user in time) " + str(e)
- return None
-
-
-
-
-lib = pj.Lib()
-while stop <> True:
-
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
- lib.start()
- lib.set_null_snd_dev()
-
-
- server = classServer.ServerHandler(50097)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- try:
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
- print my_sip_uri
-
- server.sendData('ready')
- print "Status: ", server.connected
-
- while 1:
- try:
- data = server.receiveData()
-
- if data == "start":
-
- while 1:
-
- num = server.receiveData()
- if num <> "":
-
- number = "sip:"+num+"@132.230.4.8"
- current_call = make_call(number)
- break
-
- if data == "487":
- stop = True
- break
-
- except ValueError:
- print "813 General socket layer error: Failed send message"
- server.closeConnection()
- del server
-
- server.closeConnection()
- del server
-
- else:
- Regis_status= "Bad"
- print "488 Not Acceptable Here"
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- del server
- except ValueError:
- print "401 Unauthorized " + str(e)
-
-print "Goodbye"
-sleep(3)
-acc.delete()
-lib.destroy()
-server.closeConnection()
-del server
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/15-07-2011/LandlineReceiver.py b/For Weekly Test/Old/15-07-2011/LandlineReceiver.py
deleted file mode 100644
index 607f56d..0000000
--- a/For Weekly Test/Old/15-07-2011/LandlineReceiver.py
+++ /dev/null
@@ -1,160 +0,0 @@
-import sys
-import pjsua as pj
-import string
-import classServer
-
-from time import sleep
-from datetime import datetime
-
-stop = False
-
-LOG_LEVEL=2
-current_call = None
-status = None
-global accept
-accept = None
-
-
-# Logging
-def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
-
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- global success
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- def on_incoming_call(self, call):
- global current_call
- global number
-
- if current_call:
- call.answer(486, "Busy")
- return
-
- number = call.info().remote_uri
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
-
- if current_call <> None:
- accept = True
-
- if accept == True:
- sleep(0.5)
- current_call.answer(200)
- sleep(1.5)
- current_call.hangup()
- status = 200
- server.sendData(success)
-
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
-
- def on_state(self):
- global current_call
- global success
-
- if self.call.info().state == pj.CallState.CONNECTING:
- print self.call.info().state_text
- status = 200
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print '701 The called party has hung up'
-
-
-lib = pj.Lib()
-
-try:
-
- server = classServer.ServerHandler(50104)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
-
- lib.start()
- lib.set_null_snd_dev()
-
-
-
- try:
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
-
- server.sendData('ready')
-
- while stop <> True:
-
- data = server.receiveData()
-
- if data == "487":
- stop = True
- break
-
- if current_call == None:
- accept = None
- continue
- else:
- print "Incoming call from :", number
-
-
-
-
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
-
- else:
- print "Bad Register"
-
- lib.destroy()
- lib = None
- acc = None
- server.closeConnection()
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
-
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
diff --git a/For Weekly Test/Old/15-07-2011/classClient.py b/For Weekly Test/Old/15-07-2011/classClient.py
deleted file mode 100644
index ce02d19..0000000
--- a/For Weekly Test/Old/15-07-2011/classClient.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import socket
-import sys
-import os
-import string
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- def connect(self):
- self.s = None
-
- alive = self.ping()
- if alive == 0:
- return 'The machine is not alive'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 'Could not open socket'
- else:
- self.connected = 1
- return 'Connected'
-
- def sendData(self, data):
- if self.connected == 1:
- self.s.send(data)
-
- def receiveData(self):
- if self.connected == 1:
- return self.s.recv(1024)
- else:
- return 'Not connected'
-
- def closeConnection(self):
- if self.connected == 1:
- self.s.close()
- self.connected = 0
- return 'Closed'
-
- def ping(self):
- ping_cmd = os.popen('ping '+ self.host + ' -c 1 -W 1').read()
- pingAlive = int(string.find(ping_cmd, '1 received'))
- if pingAlive != -1:
- return 1
- else:
- return 0
-
diff --git a/For Weekly Test/Old/15-07-2011/classClient.pyc b/For Weekly Test/Old/15-07-2011/classClient.pyc
deleted file mode 100644
index b93c110..0000000
--- a/For Weekly Test/Old/15-07-2011/classClient.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/15-07-2011/classDb.py b/For Weekly Test/Old/15-07-2011/classDb.py
deleted file mode 100644
index 615b868..0000000
--- a/For Weekly Test/Old/15-07-2011/classDb.py
+++ /dev/null
@@ -1,212 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- deviceAddr = str(entry)
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
diff --git a/For Weekly Test/Old/15-07-2011/classDb.pyc b/For Weekly Test/Old/15-07-2011/classDb.pyc
deleted file mode 100644
index 92d31c6..0000000
--- a/For Weekly Test/Old/15-07-2011/classDb.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/15-07-2011/classPing.py b/For Weekly Test/Old/15-07-2011/classPing.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/Old/15-07-2011/classPing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Old/15-07-2011/classPing.pyc b/For Weekly Test/Old/15-07-2011/classPing.pyc
deleted file mode 100644
index cab2db5..0000000
--- a/For Weekly Test/Old/15-07-2011/classPing.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/15-07-2011/classServer.py b/For Weekly Test/Old/15-07-2011/classServer.py
deleted file mode 100644
index 97a398d..0000000
--- a/For Weekly Test/Old/15-07-2011/classServer.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Echo server program
-import socket
-import sys
-import os
-import string
-from time import sleep
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self):
- if self.connected == 1:
- while 1:
- data = self.connection.recv(64)
- if not data:
- return 'NO DATA'
- else:
- return data
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- self.connection.send(data)
- return 1
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- self.connection.close()
- self.s.close()
- self.s = None
- self.connected == 0
- return 1
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
-
diff --git a/For Weekly Test/Old/15-07-2011/classServer.pyc b/For Weekly Test/Old/15-07-2011/classServer.pyc
deleted file mode 100644
index 52f5085..0000000
--- a/For Weekly Test/Old/15-07-2011/classServer.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/15-07-2011/gsmcall2_.py b/For Weekly Test/Old/15-07-2011/gsmcall2_.py
deleted file mode 100644
index bf8e662..0000000
--- a/For Weekly Test/Old/15-07-2011/gsmcall2_.py
+++ /dev/null
@@ -1,102 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-
-import subprocess
-import os
-from serial import *
-
-import classServer
-
-from time import sleep
-from datetime import datetime
-import string
-
-
-stop ="false"
-success = "failed"
-
-
-try:
- global ser
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
-
- ser.open()
-
- server = classServer.ServerHandler(50098)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- server.sendData('ready')#send message to controller
- print "Status Server:", server.connected
- print ""
-
- while stop <> "true":
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
- ser.write('AT+CSQ\r')
- signalQuality = ser.read(35)
- print "Signal Bar: ", signalQuality
- #
-
-
- if data == "start": # if receiver start message, handler start to call destination
- while 1:
-
- num = server.receiveData() # waiting destination number
-
- #num = 929
-
- if num <> "":
-
- ser.write('ATD' + num + ';\r')
- sleep(5)
- success = "success"
- server.sendData(success)
- ser.write('AT+CHUP\r')
-
- break
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error on calling mode"
- server.closeConnection()
- del server
-
-
-
- server.sendData(success)
- server.closeConnection()
- ser.close()
- del server
-
-except ValueError:
- print "Exception: "
-
-print "Goodbye"
-sleep(3)
diff --git a/For Weekly Test/Old/15-07-2011/gsmcall_.py b/For Weekly Test/Old/15-07-2011/gsmcall_.py
deleted file mode 100644
index 55c599e..0000000
--- a/For Weekly Test/Old/15-07-2011/gsmcall_.py
+++ /dev/null
@@ -1,105 +0,0 @@
-import sys
-import socket
-import time
-
-import subprocess
-import os
-from serial import *
-
-import classServer
-
-from time import sleep
-import string
-
-
-stop ="false"
-success = "failed"
-
-global server
-
-global ser
-portAddress = '/dev/ttyACM0'
-portName = portAddress[-4:]
-portExist = os.popen('dmesg | grep ' + portName).read()
-
-if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
-while stop <> "true":#???
-
-
- try:
-
- server = classServer.ServerHandler(50098)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- server.sendData('ready')#send message to controller
- print "Controller status: ", server.connected
-
-
- while stop <> "true":
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
-
- if data == "start": # if receiver start message, handler start to call destination
-
- while 1:
-
- num = server.receiveData()
-
- #num = "929"
- if num <> "NO DATA":
- server.closeConnection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- ser.write('ATD4661' + num + ';\r')
- sleep(3)
- ser.write('AT+CHUP\r')
-
- ser.close()
- tried = server.openSocket()
- sleep(2)
- success = "success"
- server.sendData(success)
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error when sending message"
- server.closeConnection()
- del server
-
-
- server.closeConnection()
- del server
- print "Goodbye"
- sleep(3)
- sys.exit(1)
-
- except ValueError:
- print "Exception: " + str(e)
-
-print "Goodbye"
-sleep(3)
diff --git a/For Weekly Test/Old/15-07-2011/gsmincom_.py b/For Weekly Test/Old/15-07-2011/gsmincom_.py
deleted file mode 100644
index 413db25..0000000
--- a/For Weekly Test/Old/15-07-2011/gsmincom_.py
+++ /dev/null
@@ -1,134 +0,0 @@
-
-import atexit
-import signal
-
-import sys
-import socket
-import time
-import os
-import string
-import classServer
-from time import sleep
-from serial import *
-
-
-success = None
-stop = False
-
-try:
-
- global ser
- global server
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
- server = classServer.ServerHandler(50105)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- print "here:", server.connected
- if server.connected == 1:
-
- server.sendData('ready')
- server.closeConnection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- signalQuality = ser.write('AT+CSQ\r')
- print "signal Quality ", signalQuality
- print ""
-
-
-
- while stop <> True:
-
- global pickUp
- pickUp = None
- buffer = ""
-
-
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer:
- #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
- print "apa iyi", buffer
- #buffer = "".join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '')
-
- print "buffer:", buffer
- print "line:", line
- linesa = ser.read(ser.inWaiting())
- print "new line:", linesa
- sleep(1)
-
- if line =="RING" or linesa =="RING":
-
-
- if line =="RING" or lines =="RING":
-
- print "Somebody calling"
- print ""
- sleep(1)
- ser.write('ATA\r')
-
-
- print "I will hangup the call"
- print ""
- sleep(1)
-
- ser.write('AT+CHUP\r')
- pickUp = 0
- ser.close()
-
- print "here I am"
- tried = server.openSocket()
-
- sleep(1)
- server.sendData('success')
- stop = True
- sleep (5)
- break
-
-
-
- server.closeConnection()
- del server
- else:
-
- print "not connected"
-
- del server
-
- ser.close()
-except ValueError:
- print "Exception: "
- server.closeConnection()
- del server
-
-print "GOODBYE"
-sleep(5)
diff --git a/For Weekly Test/Old/15-07-2011/localsipReceiver.py b/For Weekly Test/Old/15-07-2011/localsipReceiver.py
deleted file mode 100644
index 96f058f..0000000
--- a/For Weekly Test/Old/15-07-2011/localsipReceiver.py
+++ /dev/null
@@ -1,160 +0,0 @@
-import sys
-import pjsua as pj
-import string
-import classServer
-
-from time import sleep
-from datetime import datetime
-
-stop = False
-
-LOG_LEVEL=2
-current_call = None
-status = None
-global accept
-accept = None
-
-
-# Logging
-def log_cb(level, str, len):
- print str, "SIP Handler Receiver Log"
-
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- global success
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- def on_incoming_call(self, call):
- global current_call
- global number
-
- if current_call:
- call.answer(486, "Busy")
- return
-
- number = call.info().remote_uri
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
-
- if current_call <> None:
- accept = True
-
- if accept == True:
- sleep(0.5)
- current_call.answer(200)
- sleep(1.5)
- current_call.hangup()
- status = 200
- server.sendData(success)
-
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
-
- def on_state(self):
- global current_call
- global success
-
- if self.call.info().state == pj.CallState.CONNECTING:
- print self.call.info().state_text
- status = 200
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print '701 The called party has hung up'
-
-
-lib = pj.Lib()
-
-try:
-
- server = classServer.ServerHandler(50104)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
-
- lib.start()
- lib.set_null_snd_dev()
-
-
-
- try:
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
-
- server.sendData('ready')
-
- while stop <> True:
-
- data = server.receiveData()
-
- if data == "487":
- stop = True
- break
-
- if current_call == None:
- accept = None
- continue
- else:
- print "Incoming call from :", number
-
-
-
-
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
-
- else:
- print "Bad Register"
-
- lib.destroy()
- lib = None
- acc = None
- server.closeConnection()
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
-
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
diff --git a/For Weekly Test/Old/15-07-2011/sipCall.py b/For Weekly Test/Old/15-07-2011/sipCall.py
deleted file mode 100644
index 0dbc133..0000000
--- a/For Weekly Test/Old/15-07-2011/sipCall.py
+++ /dev/null
@@ -1,180 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-import MySQLdb
-import subprocess
-
-import classServer
-
-from time import sleep
-from datetime import datetime
-import string
-
-
-stop ="false"
-server = "132.230.4.8"
-username = "mpselftest1"
-password = "1mpselftest"
-
-LOG_LEVEL=2
-current_call = None
-success = ""
-
-
-# Logging callback
-def log_cb(level, str, len):
- print str, "SIP log"
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call##
-
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- global success
-
- if self.call.info().state_text <> "DISCONNCTD":
- if self.call.info().state_text == "CONNECTING":
- print "CONNECTING CALL"
- #print "isine opo:", self.call.info().state_text
- print "CALL CONFIRMED and ESTABLISH", self.call.info().state_text
- sleep(1)
- current_call.hangup()
- print "I am here now"
- success = "true"
- server.sendData(success)
- else:
- sleep(1)
- #print ""
-
- if self.call.info().last_reason <> "":
-
- if self.call.info().last_reason == "Busy Here":
-
- print "Destination Number is Busy or offline"
- print ""
- success = "false"
- server.sendData(success)
-
-
- #print self.call.info().state_text
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call Disconnected'
-
-
-def make_call(uri):
- try:
- print "Making call to", uri
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-
-
-
-lib = pj.Lib()
-while stop <> "true":
-
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
- lib.start()
- lib.set_null_snd_dev()
-
- # open socket connection and connect to the controller
- server = classServer.ServerHandler(50097)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- try:
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
- print my_sip_uri
- server.sendData('ready')#send message to controller
- print "here:", server.connected
- while 1:
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
-
- if data == "start": # if receiver start message, handler start to call destination
-
- while 1:
-
- num = server.receiveData() # waiting destination number
- print num
- server.closeConnection()
- tried = server.openSocket()
- if num <> "":
-
- number = "sip:"+num+"@132.230.4.8"
- current_call = make_call(number)
- break
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error when sending message"
- server.closeConnection()
- del server
-
- server.closeConnection()
- del server
-
- else:
- Regis_status= "Bad"
- print "error when register"
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- del server
- except ValueError:
- print "Exception: " + str(e)
-
-print "Goodbye"
-sleep(3)
-acc.delete()
-lib.destroy()
-server.closeConnection()
-del server
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/15-07-2011/sipReceiver.py b/For Weekly Test/Old/15-07-2011/sipReceiver.py
deleted file mode 100644
index 6404f10..0000000
--- a/For Weekly Test/Old/15-07-2011/sipReceiver.py
+++ /dev/null
@@ -1,177 +0,0 @@
-import sys
-import pjsua as pj
-import socket
-import time
-import os
-import string
-import classServer
-
-from time import sleep
-from datetime import datetime
-
-stop ="false"
-server = "132.230.4.8"
-username = "mpselftest2"
-password = "2mpselftest"
-
-LOG_LEVEL=2
-current_call = None
-success = ""
-global accept
-accept = None
-
-
-# Logging callback
-def log_cb(level, str, len):
- print str, "I am here"
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
- global number
- if current_call:
- call.answer(486, "Busy")
- return
-
- number = call.info().remote_uri
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
- print "accept call"
- if current_call <> None:
- accept = True
- if accept == True:
- sleep(2)
- current_call.answer(200)
- sleep(3)
- current_call.hangup()
- accept = "true"
- server.sendData('success')
-
- #server.sendData(success)
-
-
-
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
-
- if self.call.info().state_text == "CONNECTING":
- print self.call.info().state_text
- success = "success"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call is', current_call
-
- # Notification when call's media state has changed.
- def on_media_state(self):
- if self.call.info().media_state == pj.MediaState.ACTIVE:
- # Connect the call to sound device
- call_slot = self.call.info().conf_slot
- pj.Lib.instance().conf_connect(call_slot, 0)
- pj.Lib.instance().conf_connect(0, call_slot)
- #server.sendData('establish connection')
-
- print "Media is now active"
-
-
- else:
- print "Media is inactive"
-
-
-
-lib = pj.Lib()
-
-try:
- #open socket connection to the controller
- server = classServer.ServerHandler(50104)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-
-
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
- # Start the library
- lib.start()
- lib.set_null_snd_dev()
-
-
- # Create local account
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- my_sip_uri = "sip:" + transport.info().host + ":" + str(transport.info().port)
-
- server.sendData('ready')#send message to controller that the handler ready
-
- while stop <> "true":
-
- data = server.receiveData()#waiting message from controller
- if data == "terminated":
- break
-
- if current_call == None:
- accept = None
- continue
- else:
- print "Incoming call from :", number
-
- sleep(4)
-
-
- # Shutdown the library
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
- else:
- Regis_status= "Bad"
- print "error when register"
-
- lib.destroy()
- lib = None
- acc = None
- server.closeConnection()
- del server
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
- server.closeConnection()
- del server
diff --git a/For Weekly Test/Old/20-07-2011/Controller.py b/For Weekly Test/Old/20-07-2011/Controller.py
deleted file mode 100644
index c1d63a4..0000000
--- a/For Weekly Test/Old/20-07-2011/Controller.py
+++ /dev/null
@@ -1,183 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-import classPing
-import classController
-from time import sleep
-
-
-
-sipNum = "4661929"
-landlnNum = "076145875681"
-unisipNum = "076120397897"
-
-
-sipCall = "sipCall.py"
-sipRec = "sipReceiver.py"
-landlnCall = "landlineCall.py"
-landlnRec = "landlineReceiver.py"
-localSipRec = "localsipReceiver.py"
-
-
-# Main software
-
-# Check DB connection
-db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-print ""
-dbStatus = db.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- sipServer = classPing.Ping('132.230.4.8')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = classPing.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = classPing.Ping('132.230.252.228')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
-# Fetch The task information from DB
- db.anyTasksToDo()
- #x = ()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
-
- if callFrom == "sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
-
- if callTo == "gsmrz1":
-
- x = classController.test(sipCall, "localhost", "gsmincom_.py", "localhost","4661455")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test(sipCall, "localhost", "Box1", "132.0.0.2","404")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test(sipCall, "localhost", "Box2", "132.0.0.3","405")
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- if callTo == "landline":
-
- if sipGateServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test(sipCall, "localhost", landlnRec, "localhost",landlnNum)
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
-
- if x.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
- sleep(5)
-
- if callTo == "localsip":
- if sipLocalServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x = classController.test(sipCall, "localhost", localSipRec, "localhost",unisipNum)
- x.FuncTest()
-
- db.addResult(taskID, x.testResult)
- sleep(5)
-
- if callTo == "externalgsm":
- x.FuncTest(sipCall, "localhost", o2Rec, "localhost","405")
- db.addResult(taskID, testResult)
-
- x.FuncTest(sipCall, "localhost", tmobileRec, "localhost","405")
- db.addResult(taskID, testResult)
-
- x.FuncTest(sipCall, "localhost", vodafoneRec, "localhost","405")
- db.addResult(taskID, testResult)
-
- x.FuncTest(sipCall, "localhost", "xx", "localhost","405")
- db.addResult(taskID, testResult)
-
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x.FuncTest("gsmcall_.py", "localhost", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
- sleep(10)
-
-
- if callTo =="gsmrz2":
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x.FuncTest("Box1", "132.0.0.2", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
-
- if callTo =="gsmrz3":
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- x.FuncTest("Box2", "132.0.0.3", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/20-07-2011/LogFileClass.py b/For Weekly Test/Old/20-07-2011/LogFileClass.py
deleted file mode 100644
index cb152f4..0000000
--- a/For Weekly Test/Old/20-07-2011/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/Old/20-07-2011/LogFileClass.pyc b/For Weekly Test/Old/20-07-2011/LogFileClass.pyc
deleted file mode 100644
index 511a60e..0000000
--- a/For Weekly Test/Old/20-07-2011/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/Testing.py b/For Weekly Test/Old/20-07-2011/Testing.py
deleted file mode 100644
index 34316ee..0000000
--- a/For Weekly Test/Old/20-07-2011/Testing.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-import signal
-
-import classClient
-import classDb
-import classPing
-
-from time import sleep
-
-command="--command=python sipCall.py"
-subprocess.Popen(args=["gnome-terminal", command])
-sleep(5)
-x = classClient.Connection("localhost", "50097")
-x.connect()
-origHandler = x.receiveData(0)
-print origHandler
-
-#command="--command=python localsipReceiver.py"
-#subprocess.Popen(args=["gnome-terminal", command])
-sleep(5)
-y = classClient.Connection("localhost", "50107")
-y.connect()
-
-while 1:
- destHandler = y.receiveData(0)
- if destHandler <> "":
- break
-
-print destHandler
-
-if destHandler == "ready":
- y.closeConnection()
- y.connect()
-
- #x.sendData("start|076120397897")
-while 1:
- destHandlers = y.receiveData(0)
- #origHandlers = x.receiveData(0)
-
- print destHandlers#, origHandlers
diff --git a/For Weekly Test/Old/20-07-2011/UniSIPRecHandler.log b/For Weekly Test/Old/20-07-2011/UniSIPRecHandler.log
deleted file mode 100644
index a203845..0000000
--- a/For Weekly Test/Old/20-07-2011/UniSIPRecHandler.log
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:40:01.724672 ------------------
-On: 2011-07-19 13:40:01.724716 Event: Connect to Controller via port 50107
-On: 2011-07-19 13:40:03.587386 Event: Register Account to University SIP server
-On: 2011-07-19 13:40:03.587623 Event: 100
-On: 2011-07-19 13:40:08.589638 Event: Handler Ready
-On: 2011-07-19 13:40:08.621158 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-07-19 13:40:09.122499 Event: Answer call
-On: 2011-07-19 13:40:09.623197 Event: Hangup call
-On: 2011-07-19 13:40:09.623657 Event: 200
-On: 2011-07-19 13:40:10.144886 Event: Terminate
-On: 2011-07-19 13:40:10.145237 Event: Un-Rigester SIP Account
-On: 2011-07-19 13:40:11.577828 Event: Close Connection to the Controller
-On: 2011-07-19 13:40:11.577983 Event: Close Connection to the Controller
diff --git a/For Weekly Test/Old/20-07-2011/classClient.py b/For Weekly Test/Old/20-07-2011/classClient.py
deleted file mode 100644
index 46c3b00..0000000
--- a/For Weekly Test/Old/20-07-2011/classClient.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/Old/20-07-2011/classClient.pyc b/For Weekly Test/Old/20-07-2011/classClient.pyc
deleted file mode 100644
index fbfa63d..0000000
--- a/For Weekly Test/Old/20-07-2011/classClient.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/classController.py b/For Weekly Test/Old/20-07-2011/classController.py
deleted file mode 100644
index b7e3bff..0000000
--- a/For Weekly Test/Old/20-07-2011/classController.py
+++ /dev/null
@@ -1,239 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-import signal
-
-import classClient
-import classDb
-import classPing
-
-from time import sleep
-
-class TimeoutException(Exception):
- pass
-
-class test:
-
- def __init__(self, orig, origAdd, dest, destAdd, destNo):
- self.orig = orig
- self.origAdd = origAdd
- self.dest = dest
- self.destAdd = destAdd
- self.destNo = destNo
- self.repeatTest = None
- self.portOrig = None
- self.resultOrig = None
- self.resultDest = None
- self.testResult = None
- self.x = None
- self.y = None
-
- def FuncTest(self):
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
- print ""
- print "====================== Preparing Test ======================"
-
- try:
-
- if self.dest =="gsmBox1" or self.dest =="gsmBox2":
-
- if self.dest =="gsmBox1":
- portOrig = 50095
-
- if self.dest =="gsmBox2":
- portOrig = 50096
-
- print ""
- print "Connecting to Caller handler"
- x.connect()
- x.sendData('be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +self.orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if self.orig=="sipCall.py":
- self.portOrig = 50097
-
- if self.orig == "landlineCall.py":
- self.portOrig = 50099
-
- if self.orig == "LocalSIPCall.py":
- self.portOrig = 50100
-
-
- x = classClient.Connection(self.origAdd,self.portOrig)
- print ""
- print "Connecting to Caller handler"
- x.connect()
-
- # wait respond from origin handler
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
-
- while 1:
- try:
- origHandler = x.receiveData(0)
- if origHandler <> "":
- break
-
- except TimeoutException:
- origHandler = "failed"
- break
-
-
- if origHandler == "ready":
- print "Caller handler : Ready"
- print ""
- try:
- if self.dest =="gsmBox1" or self.dest =="gsmBox2":
-
- if self.dest =="gsmBox1":
- self.portDest = 50102
-
- if self.dest =="gsmBox2":
- self.portDest = 50103
-
- y = classClient.Connection(self.destAdd, self.portDest)
- print "Connecting to Receiver handler"
- y.connect()
- y.sendData('receiver')
-
- else:
- command="--command=python " +self.dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if self.dest=="SIPReceiver.py":
- self.portDest = 50104
-
- if self.dest == "landlineReceiver.py":
- self.portDest = 50106
-
- if self.dest == "localsipReceiver.py":
- self.portDest = 50107
-
- y = classClient.Connection(self.destAdd, self.portDest)
- print "Connecting to Receiver handler"
- y.connect()
-
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
-
- while 1:
- try:
- destHandler = y.receiveData(0)
- if destHandler <> "":
- break
-
- except TimeoutException:
- destHandler = "failed"
- break
-
- if destHandler == "ready":
-
- print "Receiver handler : Ready"
-
- x.sendData("start|"+self.destNo)#send message to handler to start the call
-
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- print ""
- print "------------ Test Result ------------"
- print ""
-
- while 1:
- try:
- sleep(0.5)
- self.resultOrig = x.receiveData(0)
- self.resultDest = y.receiveData(0)
-
- if self.resultOrig <> "" and self.resultDest <> "":
- break
-
- except TimeoutException:
- self.resultOrig = 486
- self.resultDest = 486
- break
-
- #if failed, tell everybody to try one more time
- if self.resultOrig == 486 or self.resultDest == 486:
-
- x.sendData("start|"+self.destNo)
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- while 1:
- try:
- sleep(0.5)
- self.resultOrig = x.receiveData(0)
- self.resultDest = y.receiveData(0)
-
- if self.resultOrig <> "" and self.resultDest <> "":
- print "here"
- break
-
- except TimeoutException:
- self.resultOrig = 486
- self.resultDest = 486
- break
-
- #if still failed, we make automatic test vice versa
-
- if self.resultOrig == 486 or self.resultDest == 486:
- self.testResult = 486
- self.repeatTest = True
-
- print "Second test result origin: ", self.resultOrig
- print "Second test result Destination: ", self.resultDest
- else:
- self.testResult = 200
-
- print "Second test result origin: ", self.resultOrig
- print "Second test result Destination: ", self.resultDest
- x.sendData('487')
- y.sendData('487')
-
- else:
-
- self.testResult = 200
-
- print "Test Result origin: ", self.resultOrig
- print "Test Result Destination: ", self.resultDest
- x.sendData('487')
- y.sendData('487')
-
- else:
- self.testResult = 604
- print "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData('487')
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- self.testResult = 601
- else:
- self.testResult = 605
- print "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- testResult = 602
- print "602 General Handler Error: Could not open Origin handler"
-
diff --git a/For Weekly Test/Old/20-07-2011/classController.pyc b/For Weekly Test/Old/20-07-2011/classController.pyc
deleted file mode 100644
index c649bdb..0000000
--- a/For Weekly Test/Old/20-07-2011/classController.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/classDB.py b/For Weekly Test/Old/20-07-2011/classDB.py
deleted file mode 100644
index 11a109f..0000000
--- a/For Weekly Test/Old/20-07-2011/classDB.py
+++ /dev/null
@@ -1,271 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- deviceAddr = str(entry)
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
diff --git a/For Weekly Test/Old/20-07-2011/classDb.pyc b/For Weekly Test/Old/20-07-2011/classDb.pyc
deleted file mode 100644
index 8bf4d7c..0000000
--- a/For Weekly Test/Old/20-07-2011/classDb.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/classPing.py b/For Weekly Test/Old/20-07-2011/classPing.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/Old/20-07-2011/classPing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Old/20-07-2011/classPing.pyc b/For Weekly Test/Old/20-07-2011/classPing.pyc
deleted file mode 100644
index b664a9c..0000000
--- a/For Weekly Test/Old/20-07-2011/classPing.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/classServer.py b/For Weekly Test/Old/20-07-2011/classServer.py
deleted file mode 100644
index 93c2f8e..0000000
--- a/For Weekly Test/Old/20-07-2011/classServer.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/Old/20-07-2011/classServer.pyc b/For Weekly Test/Old/20-07-2011/classServer.pyc
deleted file mode 100644
index a96a41f..0000000
--- a/For Weekly Test/Old/20-07-2011/classServer.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/20-07-2011/gsmcall_.py b/For Weekly Test/Old/20-07-2011/gsmcall_.py
deleted file mode 100644
index 70e9c72..0000000
--- a/For Weekly Test/Old/20-07-2011/gsmcall_.py
+++ /dev/null
@@ -1,105 +0,0 @@
-import sys
-import socket
-import time
-
-import subprocess
-import os
-from serial import *
-
-import classServer
-
-from time import sleep
-import string
-
-
-stop ="false"
-success = "failed"
-
-global server
-
-global ser
-portAddress = '/dev/ttyUSB0'
-portName = portAddress[-4:]
-portExist = os.popen('dmesg | grep ' + portName).read()
-
-if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
-while stop <> "true":#???
-
-
- try:
-
- server = classServer.ServerHandler(50098)
- tried = server.openSocket()
-
- if server.error != 'No error':
- print server.error
- if server.error == '[Errno 98] Address already in use':
- print 'one should try to kill the port'
- print server.killPort()
- server.closeConection()
-
-
- server.sendData('ready')#send message to controller
- print "Controller status: ", server.connected
-
-
- while stop <> "true":
- try:
- data = server.receiveData() # waiting mode, until receiver start message or terminate message
-
- if data == "start": # if receiver start message, handler start to call destination
-
- while 1:
-
- num = server.receiveData()
-
- #num = "929"
- if num <> "NO DATA":
- server.closeConnection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- ser.write('ATD4661' + num + ';\r')
- sleep(3)
- ser.write('AT+CHUP\r')
-
- ser.close()
- tried = server.openSocket()
- sleep(2)
- success = "success"
- server.sendData(success)
-
- if data == "terminated": # will terminate the handler if controller send terminate message
- stop = "true"
- break
-
- except ValueError:
- print "error when sending message"
- server.closeConnection()
- del server
-
-
- server.closeConnection()
- del server
- print "Goodbye"
- sleep(3)
- sys.exit(1)
-
- except ValueError:
- print "Exception: " + str(e)
-
-print "Goodbye"
-sleep(3)
diff --git a/For Weekly Test/Old/20-07-2011/gsmincom_.py b/For Weekly Test/Old/20-07-2011/gsmincom_.py
deleted file mode 100644
index 0b2c48e..0000000
--- a/For Weekly Test/Old/20-07-2011/gsmincom_.py
+++ /dev/null
@@ -1,148 +0,0 @@
-
-import atexit
-import signal
-
-import sys
-import socket
-import time
-import os
-import string
-import classServer
-from time import sleep
-from serial import *
-
-
-success = None
-stop = False
-
-try:
-
- global ser
- global server
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
-
-
- server = classServer.ServerHandler(50105)
- tried = server.openSocket()
-
-
- print "here:", server.connected
- if server.connected == 1:
-
- server.sendData('ready')
- server.closeConnection()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
-
- ser.close()
- ser.open()
-
- signalQuality = ser.write('AT+CSQ\r')
- print "signal Quality ", signalQuality
- print ""
-
-
-
- while stop <> True:
-
- global pickUp
- pickUp = None
- buffer = ""
-
-
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer: #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- buffer = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '')
-
- print "buffer:", buffer
- print "line:", line
-
- if len(line) > 0:
-
-
- if line=="RING":
-
- print "Somebody calling"
- print ""
- sleep(1)
- ser.write('ATA\r')
- sleep(1)
- ser.write('AT+CSQ\r')
-
- sleep(2)
- ser.write('AT+CLCC\r')
-
-
- if line[0:5] == '+CSQ:':
-
- space = int(string.find(line,' '))+1
- coma = int(string.find(line,','))
- signalStr = (int(line[space:coma])*2)-113
-
- line=''
-
- if line[0:6]=='+CLCC:':
-
- pickUp = 1
-
- print "I will hangup the call"
- print ""
- sleep(5)
-
- ser.write('AT+CHUP\r')
- pickUp = 0
- ser.close()
-
- quotation1 = int(string.find(line,'"'))+1
- lineTemp = line[quotation1:]
-
- quotation2 = int(string.find(lineTemp,'"'))
- numberOfCaller = line[quotation1:quotation1+quotation2]
-
- print "Signal Strength: ", signalStr
- print ""
-
- tried = server.openSocket()
- server.sendData('I got call from :' +numberOfCaller)
- print "with caller number", numberOfCaller
- sleep(1)
- server.sendData('success')
- stop = True
- sleep (3)
-
-
-
- server.closeConnection()
- del server
- else:
-
- print "not connected"
-
- del server
-
- ser.close()
-except ValueError:
- print "Exception: "
- server.closeConnection()
- del server
-
-print "GOODBYE"
-sleep(5)
diff --git a/For Weekly Test/Old/20-07-2011/landlineCall.py b/For Weekly Test/Old/20-07-2011/landlineCall.py
deleted file mode 100644
index fcdf4fe..0000000
--- a/For Weekly Test/Old/20-07-2011/landlineCall.py
+++ /dev/null
@@ -1,135 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-import LogFileClass
-logger = LogFileClass.Logging('landlineCallHandler.log')
-from time import sleep
-
-
-def log_cb(level, str, len):
- print str, "landline log"
-
-# Receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- sleep(1)
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- logger.logEvent("will Hangup call")
- current_call.hangup()
-
- logger.logEvent('200')
- server.sendData('200')
- else:
- sleep(0.5)
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('486')
- logger.logEvent('486')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-
-lib = pj.Lib()
-stop =False
-current_call = None
-logger.logEvent('')
-
-while stop <> True:
-
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
-
- server = classServer.ServerHandler(50099)
- logger.logEvent('Connect to Controller via port 50099')
- conn = server.openSocket()
-
- try:
- logger.logEvent('Register Account to sipgate.de server')
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
- acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
-
-
- if acc.info().reg_status < 700:
-
- server.sendData('ready')
- logger.logEvent('Handler Ready')
-
- while 1:
- try:
- data = server.receiveData(0)
- event = data[0:5]
- num = data[6:]
-
- if event == "start" and num <> "":
-
- logger.logEvent(event)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@sipgate.de"
- current_call = make_call(number)
-
- if data == "487":
- stop = True
- logger.logEvent('Terminate')
- break
-
- except ValueError:
- logger.logEvent("error: Failed retrive message from Controller")
- logger.logEvent('999')
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-sleep(3)
-acc.delete()
-logger.logEvent('Un-Rigester SIP Account')
-lib.destroy()
-server.closeConnection()
-logger.logEvent('Close Connection to the Controller')
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/20-07-2011/landlineReceiver.py b/For Weekly Test/Old/20-07-2011/landlineReceiver.py
deleted file mode 100644
index ba02562..0000000
--- a/For Weekly Test/Old/20-07-2011/landlineReceiver.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-import LogFileClass
-
-from time import sleep
-
-logger = LogFileClass.Logging('LandlineRecHandler.log')
-
-def log_cb(level, str, len):
- print str, "landline Handler Receiver Log"
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- def on_incoming_call(self, call):
-
- current_call = call
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- server.sendData('200')
- logger.logEvent('200')
-lib = pj.Lib()
-stop = False
-logger.logEvent('')
-
-try:
-
- server = classServer.ServerHandler(50106)
- logger.logEvent('Connect to Controller via port 50106')
- conn = server.openSocket()
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- try:
- logger.logEvent('Register Account to sipgate.de server')
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Handler Ready')
-
- while stop <> True:
-
- data = server.receiveData(0)
-
- if data == "487":
- logger.logEvent('Terminate')
- stop = True
- break
-
- transport = None
- acc.delete()
- logger.logEvent('Un-Rigester SIP Account')
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- lib = None
- acc = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- logger.logEvent("401 Unauthorized ")
-
- lib.destroy()
- lib = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-except pj.Error, e:
- print "Exception: " + str(e)
- logger.logEvent(str(e))
-
- lib.destroy()
-
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
-
-
-
diff --git a/For Weekly Test/Old/20-07-2011/localsipReceiver.py b/For Weekly Test/Old/20-07-2011/localsipReceiver.py
deleted file mode 100644
index eb95ce0..0000000
--- a/For Weekly Test/Old/20-07-2011/localsipReceiver.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-import LogFileClass
-
-from time import sleep
-
-logger = LogFileClass.Logging('UniSIPRecHandler.log')
-
-def log_cb(level, str, len):
- print str, "SIP University account Handler Receiver Log"
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- def on_incoming_call(self, call):
-
- current_call = call
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- server.sendData('200')
- logger.logEvent('200')
-lib = pj.Lib()
-stop = False
-logger.logEvent('')
-
-try:
-
- server = classServer.ServerHandler(50107)
- logger.logEvent('Connect to Controller via port 50107')
- conn = server.openSocket()
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- try:
- logger.logEvent('Register Account to University SIP server')
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- logger.logEvent(acc.info().reg_status)
- sleep(5)
- server.sendData('ready')
- logger.logEvent('Handler Ready')
-
- while stop <> True:
-
- data = server.receiveData(0)
-
- if data == "487":
- logger.logEvent('Terminate')
- stop = True
- break
-
- transport = None
- acc.delete()
- logger.logEvent('Un-Rigester SIP Account')
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- lib = None
- acc = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- logger.logEvent("401 Unauthorized ")
-
- lib.destroy()
- lib = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-except pj.Error, e:
- print "Exception: " + str(e)
- logger.logEvent(str(e))
-
- lib.destroy()
-
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
-
-
-
diff --git a/For Weekly Test/Old/20-07-2011/sipCall.py b/For Weekly Test/Old/20-07-2011/sipCall.py
deleted file mode 100644
index 51ae240..0000000
--- a/For Weekly Test/Old/20-07-2011/sipCall.py
+++ /dev/null
@@ -1,135 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-import LogFileClass
-logger = LogFileClass.Logging('sipCallHandler.log')
-from time import sleep
-
-
-def log_cb(level, str, len):
- print str, "SIP log"
-
-# Receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- sleep(1)
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- logger.logEvent("will Hangup call")
- current_call.hangup()
-
- logger.logEvent('200')
- server.sendData('200')
- else:
- sleep(0.5)
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('486')
- logger.logEvent('486')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=MyCallCallback()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-
-lib = pj.Lib()
-stop =False
-current_call = None
-logger.logEvent('')
-
-while stop <> True:
-
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
-
- server = classServer.ServerHandler(50097)
- logger.logEvent('Connect to Controller via port 50097')
- conn = server.openSocket()
-
- try:
- logger.logEvent('Register Account to SIP server')
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- acc = lib.create_account(acc_cfg, cb=pj.AccountCallback())
-
-
- if acc.info().reg_status < 700:
-
- server.sendData('ready')
- logger.logEvent('Handler Ready')
-
- while 1:
- try:
- data = server.receiveData(0)
- event = data[0:5]
- num = data[6:]
-
- if event == "start" and num <> "":
-
- logger.logEvent(event)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@132.230.4.8"
- current_call = make_call(number)
-
- if data == "487":
- stop = True
- logger.logEvent('Terminate')
- break
-
- except ValueError:
- logger.logEvent("error: Failed retrive message from Controller")
- logger.logEvent('999')
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
-
- lib.destroy()
- lib = None
- acc = None
-
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-sleep(3)
-acc.delete()
-logger.logEvent('Un-Rigester SIP Account')
-lib.destroy()
-server.closeConnection()
-logger.logEvent('Close Connection to the Controller')
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/20-07-2011/sipCallHandler.log b/For Weekly Test/Old/20-07-2011/sipCallHandler.log
deleted file mode 100644
index 88005da..0000000
--- a/For Weekly Test/Old/20-07-2011/sipCallHandler.log
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:15:05.342369 ------------------
-On: 2011-07-19 13:15:05.351935 Event: Connect to Controller via port 50097
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:15:19.499982 ------------------
-On: 2011-07-19 13:15:19.509715 Event: Connect to Controller via port 50097
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:15:26.475769 ------------------
-On: 2011-07-19 13:15:26.485197 Event: Connect to Controller via port 50097
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:15:36.151728 ------------------
-On: 2011-07-19 13:15:36.162183 Event: Connect to Controller via port 50097
-On: 2011-07-19 13:15:41.003034 Event: Register Account to SIP server
-On: 2011-07-19 13:15:41.003725 Event: Handler Ready
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:17:12.303046 ------------------
-On: 2011-07-19 13:17:12.315193 Event: Connect to Controller via port 50097
-On: 2011-07-19 13:17:17.153546 Event: Register Account to SIP server
-On: 2011-07-19 13:17:17.154274 Event: Handler Ready
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:17:35.665110 ------------------
-On: 2011-07-19 13:17:35.675358 Event: Connect to Controller via port 50097
-On: 2011-07-19 13:17:40.499101 Event: Register Account to SIP server
-On: 2011-07-19 13:17:40.499773 Event: Handler Ready
-On: 2011-07-19 13:17:40.499834 Event: status Server
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:17:52.086222 ------------------
-On: 2011-07-19 13:17:52.096731 Event: Connect to Controller via port 50097
-On: 2011-07-19 13:17:56.885712 Event: Register Account to SIP server
-On: 2011-07-19 13:17:56.886499 Event: Handler Ready
-On: 2011-07-19 13:17:56.886560 Event: status Server
-On: 2011-07-19 13:18:03.923972 Event: start
-On: 2011-07-19 13:18:03.924059 Event: Make a call to: 076120397897
-On: 2011-07-19 13:18:04.476832 Event: Call Connecting
-On: 2011-07-19 13:18:05.477602 Event: will Hangup call
-On: 2011-07-19 13:18:05.477915 Event: 200
-On: 2011-07-19 13:18:05.478784 Event: 487
-On: 2011-07-19 13:18:05.478854 Event: Terminate
-On: 2011-07-19 13:18:05.479006 Event: Close Connection to the Controller
-On: 2011-07-19 13:18:05.479098 Event: Close Connection to the Controller
-On: 2011-07-19 13:18:05.479125 Event: Goodbye
-On: 2011-07-19 13:18:05.980151 Event: Call Disconnected
-On: 2011-07-19 13:18:08.482562 Event: Un-Rigester SIP Account
-On: 2011-07-19 13:18:10.007436 Event: Close PJSUA Library
-On: 2011-07-19 13:18:10.007616 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-19 13:39:56.727710 ------------------
-On: 2011-07-19 13:39:56.741089 Event: Connect to Controller via port 50097
-On: 2011-07-19 13:40:01.558882 Event: Register Account to SIP server
-On: 2011-07-19 13:40:01.559560 Event: Handler Ready
-On: 2011-07-19 13:40:08.589980 Event: start
-On: 2011-07-19 13:40:08.590047 Event: Make a call to: 076120397897
-On: 2011-07-19 13:40:09.142686 Event: Call Connecting
-On: 2011-07-19 13:40:10.144021 Event: will Hangup call
-On: 2011-07-19 13:40:10.144344 Event: 200
-On: 2011-07-19 13:40:10.145325 Event: Terminate
-On: 2011-07-19 13:40:10.145583 Event: Close Connection to the Controller
-On: 2011-07-19 13:40:10.145717 Event: Close Connection to the Controller
-On: 2011-07-19 13:40:10.145766 Event: Goodbye
-On: 2011-07-19 13:40:10.646310 Event: Call Disconnected
-On: 2011-07-19 13:40:13.149215 Event: Un-Rigester SIP Account
-On: 2011-07-19 13:40:14.675876 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-19 14:08:43.478088 ------------------
-On: 2011-07-19 14:08:43.488948 Event: Connect to Controller via port 50097
-On: 2011-07-19 14:08:48.312081 Event: Register Account to SIP server
-On: 2011-07-19 14:08:48.312787 Event: Handler Ready
-On: 2011-07-19 14:08:50.341066 Event: start
-On: 2011-07-19 14:08:50.341103 Event: Make a call to: 076145875681
-On: 2011-07-19 14:08:55.437133 Event: Call Connecting
-On: 2011-07-19 14:08:56.438035 Event: will Hangup call
-On: 2011-07-19 14:08:56.438314 Event: 200
-On: 2011-07-19 14:08:56.439496 Event: Terminate
-On: 2011-07-19 14:08:56.439679 Event: Close Connection to the Controller
-On: 2011-07-19 14:08:56.439788 Event: Close Connection to the Controller
-On: 2011-07-19 14:08:56.439832 Event: Goodbye
-On: 2011-07-19 14:08:56.940779 Event: Call Disconnected
-On: 2011-07-19 14:08:59.441807 Event: Un-Rigester SIP Account
-On: 2011-07-19 14:09:00.553758 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-19 14:11:06.310465 ------------------
-On: 2011-07-19 14:11:06.324540 Event: Connect to Controller via port 50097
-On: 2011-07-19 14:11:06.325868 Event: Register Account to SIP server
-On: 2011-07-19 14:11:06.326082 Event: Handler Ready
-
-
-------------------STARTED THE LOGGING 2011-07-19 14:10:53.811684 ------------------
-On: 2011-07-19 14:10:53.825926 Event: Connect to Controller via port 50097
-On: 2011-07-19 14:10:58.642116 Event: Register Account to SIP server
-On: 2011-07-19 14:10:58.642823 Event: Handler Ready
-On: 2011-07-19 14:11:00.667479 Event: start
-On: 2011-07-19 14:11:00.667554 Event: Make a call to: 076145875681
-On: 2011-07-19 14:11:05.148098 Event: Call Connecting
-On: 2011-07-19 14:11:06.149414 Event: will Hangup call
-On: 2011-07-19 14:11:06.149749 Event: 200
-On: 2011-07-19 14:11:06.151074 Event: Terminate
-On: 2011-07-19 14:11:06.151273 Event: Close Connection to the Controller
-On: 2011-07-19 14:11:06.151408 Event: Close Connection to the Controller
-On: 2011-07-19 14:11:06.151457 Event: Goodbye
-On: 2011-07-19 14:11:06.652364 Event: Call Disconnected
-On: 2011-07-19 14:11:09.153186 Event: Un-Rigester SIP Account
-On: 2011-07-19 14:11:10.309656 Event: Close Connection to the Controller
diff --git a/For Weekly Test/Old/20-07-2011/sipReceiver.py b/For Weekly Test/Old/20-07-2011/sipReceiver.py
deleted file mode 100644
index 62f9a49..0000000
--- a/For Weekly Test/Old/20-07-2011/sipReceiver.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import sys
-import pjsua as pj
-import classServer
-import LogFileClass
-
-from time import sleep
-
-logger = LogFileClass.Logging('sipRecHandler.log')
-
-def log_cb(level, str, len):
- print str, "sip Handler Receiver Log"
-
-
-class MyAccountCallback(pj.AccountCallback):
-
- def on_incoming_call(self, call):
-
- current_call = call
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- server.sendData('200')
- logger.logEvent('200')
-lib = pj.Lib()
-stop = False
-logger.logEvent('')
-
-try:
-
- server = classServer.ServerHandler(50104)
- logger.logEvent('Connect to Controller via port 50104')
- conn = server.openSocket()
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- try:
- logger.logEvent('Register Account to SIP Asterik server')
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest2", "2mpselftest")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- if acc.info().reg_status < 700:
-
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Handler Ready')
-
- while stop <> True:
-
- data = server.receiveData(0)
-
- if data == "487":
- logger.logEvent('Terminate')
- stop = True
- break
-
- transport = None
- acc.delete()
- logger.logEvent('Un-Rigester SIP Account')
- acc = None
- lib.destroy()
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- lib = None
- acc = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
- except pj.Error, e:
- print "401 Unauthorized " +str(e)
- logger.logEvent("401 Unauthorized ")
-
- lib.destroy()
- lib = None
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-except pj.Error, e:
- print "Exception: " + str(e)
- logger.logEvent(str(e))
-
- lib.destroy()
-
- lib = None
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
-
-
-
-
diff --git a/For Weekly Test/Old/23-07-2011/2classController.py b/For Weekly Test/Old/23-07-2011/2classController.py
deleted file mode 100644
index c722df3..0000000
--- a/For Weekly Test/Old/23-07-2011/2classController.py
+++ /dev/null
@@ -1,141 +0,0 @@
-import sys
-import os
-import subprocess
-
-import classClient
-import classDb
-import classPing
-
-import LogFileClass
-logger = LogFileClass.Logging('2classController.log')
-
-from time import sleep
-
-
-class test:
-
- def __init__(self, orig, dest, destNo):
- self.orig = orig
- self.dest = dest
- self.destNo = destNo
- self.repeatTest = None
- self.portOrig = None
- self.portDest = None
- self.resultOrig = None
- self.resultDest = None
- self.testResult = None
- self.add = None
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- try:
-
- if self.orig =="RZ1":
- self.portOrig = 50095
- self.add = ''
-
- elif self.orig =="RZ2":
- self.portOrig = 50096
- self.add = ''
-
- elif self.orig =="RZ3":
- self.portOrig = 50097
- self.add = ''
-
- else:
- self.portOrig = 50099
- self.add = 'localhost'
- #command='--command=python 2sipHandler.py '+self.orig+ ' ' +str(self.portOrig)
- subprocess.Popen(args=["gnome-terminal", '--command=python 2sipHandler.py '+self.orig+ ' ' +str(self.portOrig)])
-
- sleep(3)
-
- caller = classClient.Connection(self.add,self.portOrig)
-
- caller.connect()
- caller.sendData('CALLER|'+self.destNo)
-
- origHandler = caller.receiveData(60)
-
- if origHandler == "ready":
- logger.logEvent('Caller handler : Ready')
- try:
-
- if self.dest =="gsmBox1":
- self.portDest = 50102
- self.add = ''
-
- if self.dest =="gsmBox2":
- self.portDest = 50103
- self.add = ''
-
- if self.dest =="gsmBox3":
- self.portDest = 50103
- self.add = ''
-
- else:
- self.portDest = 50100
- #command='--command=python 2sipHandler.py '+self.dest+ ' ' +str(self.portDest)
- subprocess.Popen(args=['gnome-terminal', '--command=python 2sipHandler.py '+self.dest+ ' ' +str(self.portDest)])
- sleep(3)
-
- receiver = classClient.Connection('localhost', self.portDest)
-
- receiver.connect()
- receiver.sendData('RECEIVER')
-
- destHandler = receiver.receiveData(0)
-
- if destHandler == 'ready':
-
- caller.sendData('start')
-
- self.resultOrig = caller.receiveData(60)
- self.resultDest = receiver.receiveData(60)
-
- if self.resultOrig <> 200 or self.resultDest <> 200:
-
- caller.sendData('start')
-
- self.resultOrig = caller.receiveData(60)
- self.resultDest = receiver.receiveData(60)
-
- if self.resultOrig <> 200 or self.resultDest <> 200:
- self.testResult = 486
- self.repeatTest = True
- else:
- self.testResult = 200
-
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
-
- self.testResult = 200
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- caller.sendData('487')
-
- receiver.closeConnection()
-
- except ValueError:
- logger.logEvent('601 General Handler Error: Could not open Destination handler')
- self.testResult = 601
- caller.sendData('487')
- caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: Origin handler no respond timeout')
-
- caller.closeConnection()
-
- except ValueError:
- self.testResult = 602
- logger.logEvent('602 General Handler Error: Could not open Origin handler')
-
diff --git a/For Weekly Test/Old/23-07-2011/2sipHandler.py b/For Weekly Test/Old/23-07-2011/2sipHandler.py
deleted file mode 100644
index 91e3f62..0000000
--- a/For Weekly Test/Old/23-07-2011/2sipHandler.py
+++ /dev/null
@@ -1,182 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import classServer
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('200')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('200')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('486')
- logger.logEvent('486')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-global acc_cfg
-global handler
-global state
-
-handler = sys.argv[1]
-port = sys.argv[2]
-
-lib = pj.Lib()
-stop = False
-
-logger = LogFileClass.Logging('sipHandler.log')
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- server = classServer.ServerHandler(port)
- logger.logEvent('Connect to Controller')
- conn = server.openSocket()
-
- message = server.receiveData(30)
- num = message[7:]
-
- if handler == 'sip':
- logger.logEvent('Beeing SIP')
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
-
- elif handler == 'landline':
- logger.logEvent('Beeing Landline')
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
-
- elif handler == 'unisip':
- logger.logEvent('Beeing University SIP')
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
-
- else:
- logger.logEvent('Unknown Message')
- server.sendData('Unknown Message')
- server.closeConnection()
- sys.exit(1)
-
- try:
-
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
-
- if acc.info().reg_status < 700:
-
- if message.find('RECEIVER') <> -1:
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
-
- if data == "487":
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif message.find('CALLER') <> -1:
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
-
- if event == "start" and num <> "":
-
- logger.logEvent(event)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@132.230.4.8"
- make_call(number)
-
- if data == "487":
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(1)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/23-07-2011/Controller.py b/For Weekly Test/Old/23-07-2011/Controller.py
deleted file mode 100644
index b30ee6f..0000000
--- a/For Weekly Test/Old/23-07-2011/Controller.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import sys
-import classClient
-import classDb
-import 2classController
-import classCheck
-from time import sleep
-
-
-db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-dbStatus = db.connectDB()
-
-
-if dbStatus == 1:
-
- db.anyTasksToDo()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
-
- call = classCheck(callFrom)
- rec = classCheck(callTo)
-
- if call.serverStatus <> 0:
-
- if rec.serverStatus <> 0:
-
- makeTest = classController.test(callFrom, callTo,rec.destNumber)
- makeTest.FuncTest()
-
- db.addResult(taskID, makeTest.testResult)
-
- if makeTest.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
- else:
- print "[failed] 500 "+callTo+ " Server Internal Error"
- else:
- print "[failed] 500 "+callFrom+ " Server Internal Error"
-
- call = None
- rec = None
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/23-07-2011/LogFileClass.py b/For Weekly Test/Old/23-07-2011/LogFileClass.py
deleted file mode 100644
index cb152f4..0000000
--- a/For Weekly Test/Old/23-07-2011/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/Old/23-07-2011/LogFileClass.pyc b/For Weekly Test/Old/23-07-2011/LogFileClass.pyc
deleted file mode 100644
index 579ddb6..0000000
--- a/For Weekly Test/Old/23-07-2011/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/Testing.py b/For Weekly Test/Old/23-07-2011/Testing.py
deleted file mode 100644
index 34316ee..0000000
--- a/For Weekly Test/Old/23-07-2011/Testing.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-import signal
-
-import classClient
-import classDb
-import classPing
-
-from time import sleep
-
-command="--command=python sipCall.py"
-subprocess.Popen(args=["gnome-terminal", command])
-sleep(5)
-x = classClient.Connection("localhost", "50097")
-x.connect()
-origHandler = x.receiveData(0)
-print origHandler
-
-#command="--command=python localsipReceiver.py"
-#subprocess.Popen(args=["gnome-terminal", command])
-sleep(5)
-y = classClient.Connection("localhost", "50107")
-y.connect()
-
-while 1:
- destHandler = y.receiveData(0)
- if destHandler <> "":
- break
-
-print destHandler
-
-if destHandler == "ready":
- y.closeConnection()
- y.connect()
-
- #x.sendData("start|076120397897")
-while 1:
- destHandlers = y.receiveData(0)
- #origHandlers = x.receiveData(0)
-
- print destHandlers#, origHandlers
diff --git a/For Weekly Test/Old/23-07-2011/classCheck.py b/For Weekly Test/Old/23-07-2011/classCheck.py
deleted file mode 100644
index 4009669..0000000
--- a/For Weekly Test/Old/23-07-2011/classCheck.py
+++ /dev/null
@@ -1,28 +0,0 @@
-
-import classPing
-
-class checking:
-
- def __init__(self, handler):
-
- self.handler = handler
- self.destNumber = None
- self.serverStatus = None
-
- if self.handler == 'landline':
- server = classPing.Ping('sipgate.de')
- self.serverStatus = server.ping(3)
- self.destNumber = '076145875681'
-
- if self.handler == 'sip':
- server = classPing.Ping('132.230.4.8')
- self.serverStatus = server.ping(3)
- self.destNumber = '4661928'
-
- if self.handler == 'unisip':
- server = classPing.Ping('132.230.252.228')
- self.serverStatus = server.ping(3)
- self.destNumber = '076120397897'
-
- if self.handler == 'RZ1':
- self.destNumber = '000'
diff --git a/For Weekly Test/Old/23-07-2011/classClient.py b/For Weekly Test/Old/23-07-2011/classClient.py
deleted file mode 100644
index 071fb35..0000000
--- a/For Weekly Test/Old/23-07-2011/classClient.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/Old/23-07-2011/classClient.pyc b/For Weekly Test/Old/23-07-2011/classClient.pyc
deleted file mode 100644
index fdecef6..0000000
--- a/For Weekly Test/Old/23-07-2011/classClient.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/classController.log b/For Weekly Test/Old/23-07-2011/classController.log
deleted file mode 100644
index 92f77e8..0000000
--- a/For Weekly Test/Old/23-07-2011/classController.log
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-22 01:00:29.543691 ------------------
-On: 2011-07-22 01:00:29.543733 Event: hai
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:50:53.070660 ------------------
-On: 2011-07-22 16:50:53.070749 Event: ====================== Preparing Test ======================
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:51:45.723586 ------------------
-On: 2011-07-22 16:51:45.723683 Event: ====================== Preparing Test ======================
-On: 2011-07-22 16:51:50.732078 Event: Connecting to Caller handler
-On: 2011-07-22 16:51:50.733557 Event: 605 General Handler Error: Origin handler no respond time out
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:54:19.549330 ------------------
-On: 2011-07-22 16:54:19.549421 Event: ====================== Preparing Test ======================
-On: 2011-07-22 16:54:24.557199 Event: Connecting to Caller handler
-On: 2011-07-22 16:54:24.559769 Event: Caller handler : Ready
-On: 2011-07-22 16:54:29.565037 Event: Connecting to Receiver handler
-On: 2011-07-22 16:54:29.568706 Event: Receiver handler : Ready
-On: 2011-07-22 16:54:29.568817 Event: ------------ Test Result ------------
-On: 2011-07-22 16:55:23.469295 Event: 1st Test, Origin :
-On: 2011-07-22 16:55:23.469387 Event: 1st Test, Destination :200
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:58:17.699985 ------------------
-On: 2011-07-22 16:58:17.700105 Event: ====================== Preparing Test ======================
-On: 2011-07-22 16:58:22.708382 Event: Connecting to Caller handler
-On: 2011-07-22 16:58:22.710843 Event: Caller handler : Ready
-On: 2011-07-22 16:58:27.718721 Event: Connecting to Receiver handler
-On: 2011-07-22 16:58:27.723527 Event: Receiver handler : Ready
-On: 2011-07-22 16:58:27.723649 Event: ------------ Test Result ------------
-On: 2011-07-22 16:58:59.345361 Event: 1st Test, Origin :
-On: 2011-07-22 16:58:59.345485 Event: 1st Test, Destination :200
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:06:37.921271 ------------------
-On: 2011-07-22 17:06:37.921359 Event: ====================== Preparing Test ======================
-On: 2011-07-22 17:06:42.925529 Event: Connecting to Caller handler
-On: 2011-07-22 17:06:42.927898 Event: Caller handler : Ready
-On: 2011-07-22 17:06:47.933596 Event: Connecting to Receiver handler
-On: 2011-07-22 17:06:47.937714 Event: Receiver handler : Ready
-On: 2011-07-22 17:06:47.937833 Event: ------------ Test Result ------------
-On: 2011-07-22 17:07:47.938087 Event: 1st Test, Origin :TIMEOUT
-On: 2011-07-22 17:07:47.938158 Event: 1st Test, Destination :200200
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:29:03.877972 ------------------
-On: 2011-07-22 17:29:03.878061 Event: ====================== Preparing Test ======================
-On: 2011-07-22 17:29:08.881561 Event: Connecting to Caller handler
-On: 2011-07-22 17:29:08.885637 Event: Caller handler : Ready
-On: 2011-07-22 17:29:13.889520 Event: Connecting to Receiver handler
-On: 2011-07-22 17:29:13.893404 Event: Receiver handler : Ready
-On: 2011-07-22 17:29:13.893555 Event: ------------ Test Result ------------
-On: 2011-07-22 17:29:51.517301 Event: 1st Test, Origin :
-On: 2011-07-22 17:29:51.517394 Event: 1st Test, Destination :200200
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:32:39.000234 ------------------
-On: 2011-07-22 17:32:39.000323 Event: ====================== Preparing Test ======================
-On: 2011-07-22 17:32:44.008084 Event: Connecting to Caller handler
-On: 2011-07-22 17:32:44.010775 Event: Caller handler : Ready
-On: 2011-07-22 17:32:49.017802 Event: Connecting to Receiver handler
-On: 2011-07-22 17:32:49.021564 Event: Receiver handler : Ready
-On: 2011-07-22 17:32:49.021677 Event: ------------ Test Result ------------
-On: 2011-07-22 17:33:49.022006 Event: 1st Test, Origin :TIMEOUT
-On: 2011-07-22 17:33:49.022088 Event: 1st Test, Destination :200200
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:35:07.158565 ------------------
-On: 2011-07-22 17:35:07.158654 Event: ====================== Preparing Test ======================
-On: 2011-07-22 17:35:12.166340 Event: Connecting to Caller handler
-On: 2011-07-22 17:35:12.168728 Event: Caller handler : Ready
-On: 2011-07-22 17:35:17.176657 Event: Connecting to Receiver handler
-On: 2011-07-22 17:35:17.182244 Event: Receiver handler : Ready
-On: 2011-07-22 17:35:17.182357 Event: ------------ Test Result ------------
-On: 2011-07-22 17:35:21.089364 Event: 1st Test, Origin :200
-On: 2011-07-22 17:35:21.089478 Event: 1st Test, Destination :200200
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:38:45.094846 ------------------
-On: 2011-07-22 17:38:45.094933 Event: ====================== Preparing Test ======================
-On: 2011-07-22 17:38:50.101576 Event: Connecting to Caller handler
-On: 2011-07-22 17:38:50.103882 Event: Caller handler : Ready
-On: 2011-07-22 17:38:55.110361 Event: Connecting to Receiver handler
-On: 2011-07-22 17:38:55.114445 Event: Receiver handler : Ready
-On: 2011-07-22 17:38:55.114566 Event: ------------ Test Result ------------
-On: 2011-07-22 17:39:00.453616 Event: 1st Test, Origin :200
-On: 2011-07-22 17:39:00.453693 Event: 1st Test, Destination :200
diff --git a/For Weekly Test/Old/23-07-2011/classController.py b/For Weekly Test/Old/23-07-2011/classController.py
deleted file mode 100644
index a2c0b20..0000000
--- a/For Weekly Test/Old/23-07-2011/classController.py
+++ /dev/null
@@ -1,154 +0,0 @@
-import sys
-import os
-import subprocess
-
-import classClient
-import classDb
-import classPing
-
-import LogFileClass
-logger = LogFileClass.Logging('classController.log')
-
-from time import sleep
-
-
-class test:
-
- def __init__(self, orig, dest, destNo):
- self.orig = orig
- self.dest = dest
- self.destNo = destNo
- self.repeatTest = None
- self.portOrig = None
- self.portDest = None
- self.resultOrig = None
- self.resultDest = None
- self.testResult = None
- self.caller = None
- self.receiver = None
- self.add = None
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- try:
-
- if self.orig =="gsmBox1":
- self.portOrig = 50095
- self.add = ''
-
- elif self.orig =="gsmBox2":
- self.portOrig = 50096
- self.add = ''
-
- elif self.orig =="gsmBox3":
- self.portOrig = 50097
- self.add = ''
-
- else:
- self.portOrig = '50099'
- self.add = 'localhost'
- command="--command=python sipHandler.py " +self.portOrig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(3)
-
- caller = classClient.Connection(self.add,self.portOrig)
-
- caller.connect()
- message = self.orig+ '|-C'
- caller.sendData(message)
-
- origHandler = caller.receiveData(60)
-
- if origHandler == "ready":
- logger.logEvent('Caller handler : Ready')
- try:
-
- if self.dest =="gsmBox1":
- self.portDest = 50102
- self.add = ''
-
- if self.dest =="gsmBox2":
- self.portDest = 50103
- self.add = ''
-
- if self.dest =="gsmBox3":
- self.portDest = 50103
- self.add = ''
-
- else:
- self.portDest = '50100'
- command="--command=python sipHandler.py " +self.portDest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(3)
-
- receiver = classClient.Connection('localhost', self.portDest)
-
- receiver.connect()
- message = self.dest+ '|-R'
- receiver.sendData(message)
-
- destHandler = receiver.receiveData(0)
-
- if destHandler == "ready":
-
- caller.sendData("start|"+self.destNo)
-
- self.resultOrig = caller.receiveData(60)
- self.resultDest = receiver.receiveData(60)
-
- logger.logEvent('1st Test, Origin :' +self.resultOrig)
- logger.logEvent('1st Test, Destination :' +self.resultDest)
-
-
- if self.resultOrig == 486 or self.resultDest == 486:
-
- caller.sendData("start|"+self.destNo)
-
- self.resultOrig = caller.receiveData(60)
- self.resultDest = receiver.receiveData(60)
-
- logger.logEvent('2nd Test, Origin :' +self.resultOrig)
- logger.logEvent('2nd Test, Destination :' +self.resultDest)
-
- if self.resultOrig == 486 or self.resultDest == 486:
- self.testResult = 486
- self.repeatTest = True
-
- else:
- self.testResult = 200
-
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
-
- self.testResult = 200
- caller.sendData('487')
- receiver.sendData('487')
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- caller.sendData('487')
-
- receiver.closeConnection()
-
- except ValueError:
- logger.logEvent('601 General Handler Error: Could not open Destination handler')
- self.testResult = 601
- caller.sendData('487')
- caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: Origin handler no respond timeout')
-
- caller.closeConnection()
-
- except ValueError:
- self.testResult = 602
- logger.logEvent('602 General Handler Error: Could not open Origin handler')
-
diff --git a/For Weekly Test/Old/23-07-2011/classController.pyc b/For Weekly Test/Old/23-07-2011/classController.pyc
deleted file mode 100644
index 45f1e90..0000000
--- a/For Weekly Test/Old/23-07-2011/classController.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/classDB.py b/For Weekly Test/Old/23-07-2011/classDB.py
deleted file mode 100644
index 11a109f..0000000
--- a/For Weekly Test/Old/23-07-2011/classDB.py
+++ /dev/null
@@ -1,271 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP` FROM DeviceAddress where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- deviceAddr = str(entry)
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
diff --git a/For Weekly Test/Old/23-07-2011/classDb.pyc b/For Weekly Test/Old/23-07-2011/classDb.pyc
deleted file mode 100644
index 8bf4d7c..0000000
--- a/For Weekly Test/Old/23-07-2011/classDb.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/classPing.py b/For Weekly Test/Old/23-07-2011/classPing.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/Old/23-07-2011/classPing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Old/23-07-2011/classPing.pyc b/For Weekly Test/Old/23-07-2011/classPing.pyc
deleted file mode 100644
index 0694881..0000000
--- a/For Weekly Test/Old/23-07-2011/classPing.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/classServer.py b/For Weekly Test/Old/23-07-2011/classServer.py
deleted file mode 100644
index 93c2f8e..0000000
--- a/For Weekly Test/Old/23-07-2011/classServer.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/Old/23-07-2011/classServer.pyc b/For Weekly Test/Old/23-07-2011/classServer.pyc
deleted file mode 100644
index fb0a0b1..0000000
--- a/For Weekly Test/Old/23-07-2011/classServer.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/23-07-2011/sipHandler.log b/For Weekly Test/Old/23-07-2011/sipHandler.log
deleted file mode 100644
index 318b896..0000000
--- a/For Weekly Test/Old/23-07-2011/sipHandler.log
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:52:46.741408 ------------------
-On: 2011-07-22 16:52:46.750880 Event: Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:53:07.634838 ------------------
-On: 2011-07-22 16:53:07.643940 Event: Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:53:29.942303 ------------------
-On: 2011-07-22 16:53:29.951637 Event: Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:54:24.736302 ------------------
-On: 2011-07-22 16:54:24.747353 Event: Connect to Controller
-On: 2011-07-22 16:54:29.566373 Event: Beeing Landline
-On: 2011-07-22 16:54:29.566500 Event: Register Account to SIP server
-On: 2011-07-22 16:54:29.568543 Event: 100
-On: 2011-07-22 16:54:29.568647 Event: Receiver Handler Ready
-On: 2011-07-22 16:54:32.398823 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 16:54:32.900161 Event: Answer call
-On: 2011-07-22 16:54:33.400907 Event: Hangup call
-On: 2011-07-22 16:54:33.401550 Event: 200
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:54:19.715355 ------------------
-On: 2011-07-22 16:54:19.725015 Event: Connect to Controller
-On: 2011-07-22 16:54:24.558866 Event: Beeing SIP
-On: 2011-07-22 16:54:24.559005 Event: Register Account to SIP server
-On: 2011-07-22 16:54:24.559561 Event: 100
-On: 2011-07-22 16:54:24.559651 Event: Caller Handler Ready
-On: 2011-07-22 16:54:29.568876 Event: start
-On: 2011-07-22 16:54:29.568935 Event: Make a call to: 076145875681
-On: 2011-07-22 16:54:33.537284 Event: Call Connecting
-On: 2011-07-22 16:54:34.538569 Event: will Hangup call
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:58:17.878730 ------------------
-On: 2011-07-22 16:58:17.888488 Event: Connect to Controller
-On: 2011-07-22 16:58:22.710042 Event: Beeing SIP
-On: 2011-07-22 16:58:22.710168 Event: Register Account to SIP server
-On: 2011-07-22 16:58:22.710700 Event: 100
-On: 2011-07-22 16:58:22.710790 Event: Caller Handler Ready
-On: 2011-07-22 16:58:27.723708 Event: start
-On: 2011-07-22 16:58:27.723769 Event: Make a call to: 076145875681
-On: 2011-07-22 16:58:32.257841 Event: Call Connecting
-On: 2011-07-22 16:58:33.259153 Event: will Hangup call
-
-
-------------------STARTED THE LOGGING 2011-07-22 16:58:22.869026 ------------------
-On: 2011-07-22 16:58:22.879525 Event: Connect to Controller
-On: 2011-07-22 16:58:27.720122 Event: Beeing Landline
-On: 2011-07-22 16:58:27.720253 Event: Register Account to SIP server
-On: 2011-07-22 16:58:27.723308 Event: 100
-On: 2011-07-22 16:58:27.723441 Event: Receiver Handler Ready
-On: 2011-07-22 16:58:30.992886 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 16:58:31.494243 Event: Answer call
-On: 2011-07-22 16:58:31.994951 Event: Hangup call
-On: 2011-07-22 16:58:31.995415 Event: 200
-On: 2011-07-22 16:58:59.346231 Event: Terminate
-On: 2011-07-22 16:58:59.346456 Event: Close Connection to the Controller
-On: 2011-07-22 16:58:59.346575 Event: Close Connection to the Controller
-On: 2011-07-22 16:58:59.346618 Event: Goodbye
-On: 2011-07-22 16:58:59.348142 Event: Un-Rigester SIP Account
-On: 2011-07-22 16:59:00.504105 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:06:38.095955 ------------------
-On: 2011-07-22 17:06:38.106994 Event: Connect to Controller
-On: 2011-07-22 17:06:42.927084 Event: Beeing SIP
-On: 2011-07-22 17:06:42.927215 Event: Register Account to SIP server
-On: 2011-07-22 17:06:42.927755 Event: 100
-On: 2011-07-22 17:06:42.927845 Event: Caller Handler Ready
-On: 2011-07-22 17:06:47.937891 Event: start
-On: 2011-07-22 17:06:47.937954 Event: Make a call to: 076145875681
-On: 2011-07-22 17:06:52.369217 Event: Call Connecting
-On: 2011-07-22 17:06:53.370552 Event: will Hangup call
-On: 2011-07-22 17:07:47.938343 Event: Terminate
-On: 2011-07-22 17:07:47.938552 Event: Close Connection to the Controller
-On: 2011-07-22 17:07:47.938671 Event: Close Connection to the Controller
-On: 2011-07-22 17:07:47.938716 Event: Goodbye
-On: 2011-07-22 17:07:47.939081 Event: Un-Rigester SIP Account
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:06:43.091436 ------------------
-On: 2011-07-22 17:06:43.103178 Event: Connect to Controller
-On: 2011-07-22 17:06:47.934938 Event: Beeing Landline
-On: 2011-07-22 17:06:47.935069 Event: Register Account to SIP server
-On: 2011-07-22 17:06:47.937547 Event: 100
-On: 2011-07-22 17:06:47.937650 Event: Receiver Handler Ready
-On: 2011-07-22 17:06:51.164867 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 17:06:51.666299 Event: Call Connecting
-On: 2011-07-22 17:06:52.667580 Event: will Hangup call
-On: 2011-07-22 17:06:52.667926 Event: 200
-On: 2011-07-22 17:06:52.668166 Event: Answer call
-On: 2011-07-22 17:06:53.168820 Event: Hangup call
-On: 2011-07-22 17:06:53.169236 Event: 200
-On: 2011-07-22 17:06:53.670710 Event: Call Disconnected
-On: 2011-07-22 17:07:47.938815 Event: Terminate
-On: 2011-07-22 17:07:47.939018 Event: Close Connection to the Controller
-On: 2011-07-22 17:07:47.939134 Event: Close Connection to the Controller
-On: 2011-07-22 17:07:47.939177 Event: Goodbye
-On: 2011-07-22 17:07:47.940671 Event: Un-Rigester SIP Account
-On: 2011-07-22 17:07:49.185234 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:29:04.046061 ------------------
-On: 2011-07-22 17:29:04.056097 Event: Connect to Controller
-On: 2011-07-22 17:29:08.883163 Event: Beeing SIP
-On: 2011-07-22 17:29:08.884688 Event: Register Account to SIP server
-On: 2011-07-22 17:29:08.885322 Event: 100
-On: 2011-07-22 17:29:08.885484 Event: Caller Handler Ready
-On: 2011-07-22 17:29:13.893670 Event: start
-On: 2011-07-22 17:29:13.893736 Event: Make a call to: 076145875681
-On: 2011-07-22 17:29:18.580130 Event: Call Connecting
-On: 2011-07-22 17:29:19.581507 Event: will Hangup call
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:29:09.047015 ------------------
-On: 2011-07-22 17:29:09.056705 Event: Connect to Controller
-On: 2011-07-22 17:29:13.890830 Event: Beeing Landline
-On: 2011-07-22 17:29:13.890962 Event: Register Account to SIP server
-On: 2011-07-22 17:29:13.893230 Event: 100
-On: 2011-07-22 17:29:13.893338 Event: Receiver Handler Ready
-On: 2011-07-22 17:29:17.529191 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 17:29:18.030713 Event: Call Connecting
-On: 2011-07-22 17:29:19.031358 Event: will Hangup call
-On: 2011-07-22 17:29:19.031698 Event: 200
-On: 2011-07-22 17:29:19.031955 Event: Answer call
-On: 2011-07-22 17:29:19.532630 Event: Hangup call
-On: 2011-07-22 17:29:19.533078 Event: 200
-On: 2011-07-22 17:29:20.034557 Event: Call Disconnected
-On: 2011-07-22 17:29:51.517702 Event: Terminate
-On: 2011-07-22 17:29:51.517931 Event: Close Connection to the Controller
-On: 2011-07-22 17:29:51.518031 Event: Close Connection to the Controller
-On: 2011-07-22 17:29:51.518060 Event: Goodbye
-On: 2011-07-22 17:29:51.519713 Event: Un-Rigester SIP Account
-On: 2011-07-22 17:29:53.063721 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:32:39.174534 ------------------
-On: 2011-07-22 17:32:39.184258 Event: Connect to Controller
-On: 2011-07-22 17:32:44.009710 Event: Beeing SIP
-On: 2011-07-22 17:32:44.009850 Event: Register Account to SIP server
-On: 2011-07-22 17:32:44.010540 Event: 100
-On: 2011-07-22 17:32:44.011076 Event: Caller Handler Ready
-On: 2011-07-22 17:32:49.021797 Event: start
-On: 2011-07-22 17:32:49.021864 Event: Make a call to: 076145875681
-On: 2011-07-22 17:32:53.657049 Event: Call Connecting
-On: 2011-07-22 17:32:54.658385 Event: will Hangup call
-On: 2011-07-22 17:33:49.022348 Event: Terminate
-On: 2011-07-22 17:33:49.022544 Event: Close Connection to the Controller
-On: 2011-07-22 17:33:49.022640 Event: Close Connection to the Controller
-On: 2011-07-22 17:33:49.022667 Event: Goodbye
-On: 2011-07-22 17:33:49.022935 Event: Un-Rigester SIP Account
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:32:44.186998 ------------------
-On: 2011-07-22 17:32:44.200417 Event: Connect to Controller
-On: 2011-07-22 17:32:49.019093 Event: Beeing Landline
-On: 2011-07-22 17:32:49.019258 Event: Register Account to SIP server
-On: 2011-07-22 17:32:49.021346 Event: 100
-On: 2011-07-22 17:32:49.021484 Event: Receiver Handler Ready
-On: 2011-07-22 17:32:52.313985 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 17:32:52.815430 Event: Call Connecting
-On: 2011-07-22 17:32:53.816740 Event: will Hangup call
-On: 2011-07-22 17:32:53.817069 Event: 200
-On: 2011-07-22 17:32:53.817324 Event: Answer call
-On: 2011-07-22 17:32:54.318010 Event: Hangup call
-On: 2011-07-22 17:32:54.318457 Event: 200
-On: 2011-07-22 17:32:54.819907 Event: Call Disconnected
-On: 2011-07-22 17:33:49.022310 Event: Terminate
-On: 2011-07-22 17:33:49.022535 Event: Close Connection to the Controller
-On: 2011-07-22 17:33:49.022655 Event: Close Connection to the Controller
-On: 2011-07-22 17:33:49.022699 Event: Goodbye
-On: 2011-07-22 17:33:49.024497 Event: Un-Rigester SIP Account
-On: 2011-07-22 17:33:50.347230 Event: Close Connection to the Controller
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:35:12.327686 ------------------
-On: 2011-07-22 17:35:12.337419 Event: Connect to Controller
-On: 2011-07-22 17:35:17.178021 Event: Beeing Landline
-On: 2011-07-22 17:35:17.178144 Event: Register Account to SIP server
-On: 2011-07-22 17:35:17.182070 Event: 100
-On: 2011-07-22 17:35:17.182175 Event: Receiver Handler Ready
-On: 2011-07-22 17:35:20.038642 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 17:35:20.540080 Event: Call Connecting
-On: 2011-07-22 17:35:20.540149 Event: 200
-On: 2011-07-22 17:35:20.540357 Event: Answer call
-On: 2011-07-22 17:35:21.041033 Event: Hangup call
-On: 2011-07-22 17:35:21.041566 Event: 200
-On: 2011-07-22 17:35:21.089700 Event: Terminate
-On: 2011-07-22 17:35:21.089941 Event: Close Connection to the Controller
-On: 2011-07-22 17:35:21.090069 Event: Close Connection to the Controller
-On: 2011-07-22 17:35:21.090115 Event: Goodbye
-On: 2011-07-22 17:35:21.091949 Event: Un-Rigester SIP Account
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:35:07.327280 ------------------
-On: 2011-07-22 17:35:07.337311 Event: Connect to Controller
-On: 2011-07-22 17:35:12.167908 Event: Beeing SIP
-On: 2011-07-22 17:35:12.168030 Event: Register Account to SIP server
-On: 2011-07-22 17:35:12.168583 Event: 100
-On: 2011-07-22 17:35:12.168673 Event: Caller Handler Ready
-On: 2011-07-22 17:35:17.182418 Event: start
-On: 2011-07-22 17:35:17.182483 Event: Make a call to: 076145875681
-On: 2011-07-22 17:35:21.089055 Event: Call Connecting
-On: 2011-07-22 17:35:21.089125 Event: 200
-On: 2011-07-22 17:35:21.090233 Event: Terminate
-On: 2011-07-22 17:35:21.090403 Event: Close Connection to the Controller
-On: 2011-07-22 17:35:21.090491 Event: Close Connection to the Controller
-On: 2011-07-22 17:35:21.090518 Event: Goodbye
-On: 2011-07-22 17:35:21.090740 Event: Un-Rigester SIP Account
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:38:45.251738 ------------------
-On: 2011-07-22 17:38:45.261621 Event: Connect to Controller
-On: 2011-07-22 17:38:50.103095 Event: Beeing SIP
-On: 2011-07-22 17:38:50.103214 Event: Register Account to SIP server
-On: 2011-07-22 17:38:50.103741 Event: 100
-On: 2011-07-22 17:38:50.103828 Event: Caller Handler Ready
-On: 2011-07-22 17:38:55.115721 Event: start
-On: 2011-07-22 17:38:55.115787 Event: Make a call to: 076145875681
-On: 2011-07-22 17:39:00.453241 Event: Call Connecting
-On: 2011-07-22 17:39:00.453310 Event: 200
-On: 2011-07-22 17:39:00.454426 Event: Terminate
-On: 2011-07-22 17:39:00.454600 Event: Close Connection to the Controller
-On: 2011-07-22 17:39:00.454689 Event: Close Connection to the Controller
-On: 2011-07-22 17:39:00.454717 Event: Goodbye
-On: 2011-07-22 17:39:00.454938 Event: Un-Rigester SIP Account
-
-
-------------------STARTED THE LOGGING 2011-07-22 17:38:50.277006 ------------------
-On: 2011-07-22 17:38:50.289562 Event: Connect to Controller
-On: 2011-07-22 17:38:55.111613 Event: Beeing Landline
-On: 2011-07-22 17:38:55.111764 Event: Register Account to SIP server
-On: 2011-07-22 17:38:55.114271 Event: 100
-On: 2011-07-22 17:38:55.114391 Event: Receiver Handler Ready
-On: 2011-07-22 17:38:58.811983 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-22 17:38:59.313370 Event: Call Connecting
-On: 2011-07-22 17:38:59.313477 Event: 200
-On: 2011-07-22 17:38:59.313695 Event: Answer call
-On: 2011-07-22 17:38:59.814371 Event: Hangup call
-On: 2011-07-22 17:38:59.814754 Event: 200
-On: 2011-07-22 17:38:59.865862 Event: Call Disconnected
-On: 2011-07-22 17:39:00.453913 Event: Terminate
-On: 2011-07-22 17:39:00.454135 Event: Close Connection to the Controller
-On: 2011-07-22 17:39:00.454259 Event: Close Connection to the Controller
-On: 2011-07-22 17:39:00.454308 Event: Goodbye
-On: 2011-07-22 17:39:00.455577 Event: Un-Rigester SIP Account
-On: 2011-07-22 17:39:01.819806 Event: Close Connection to the Controller
diff --git a/For Weekly Test/Old/23-07-2011/sipHandler.py b/For Weekly Test/Old/23-07-2011/sipHandler.py
deleted file mode 100644
index 619efe3..0000000
--- a/For Weekly Test/Old/23-07-2011/sipHandler.py
+++ /dev/null
@@ -1,189 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import classServer
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('200')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('200')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('486')
- logger.logEvent('486')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-global acc_cfg
-global handler
-global state
-port = sys.argv[1]
-
-lib = pj.Lib()
-stop = False
-
-logger = LogFileClass.Logging('sipHandler.log')
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- server = classServer.ServerHandler(port)
- logger.logEvent('Connect to Controller')
- conn = server.openSocket()
-
- message = server.receiveData(30)
- handler = message[0:2]
- state = message[3:5] # Receiver / caller
-
- if handler == "-S":
- logger.logEvent('Beeing SIP')
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
-
- elif handler == "-L":
- logger.logEvent('Beeing Landline')
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
-
- elif handler == "-U":
- logger.logEvent('Beeing University SIP')
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
-
- else:
- logger.logEvent('Unknown Message')
- server.sendData('Unknown Message')
- server.closeConnection()
- sys.exit(1)
-
- try:
-
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
-
- if acc.info().reg_status < 700:
-
- if state == "-R":
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
-
- if data == "487":
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state == "-C":
- logger.logEvent(acc.info().reg_status)
- server.sendData('ready')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
- event = data[0:5]
- num = data[6:]
-
- if event == "start" and num <> "":
-
- logger.logEvent(event)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@132.230.4.8"
- make_call(number)
-
- if data == "487":
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(1)
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
-
- server.closeConnection()
- logger.logEvent('Close Connection to the Controller')
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/23-07-2011/test.py b/For Weekly Test/Old/23-07-2011/test.py
deleted file mode 100644
index fee71b0..0000000
--- a/For Weekly Test/Old/23-07-2011/test.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import LogFileClass
-tri = 'cc'
-logger = LogFileClass.Logging('testing'+tri+'.log')
-logger.logEvent('')
-
-message = 'hai'
-
-logger.logEvent('opo iki' +message)
diff --git a/For Weekly Test/Old/23-07-2011/test1.py b/For Weekly Test/Old/23-07-2011/test1.py
deleted file mode 100644
index e04e093..0000000
--- a/For Weekly Test/Old/23-07-2011/test1.py
+++ /dev/null
@@ -1,7 +0,0 @@
-import sys
-import os
-
-mode = "-S"
-state = "-R"
-command="--command=python test.py" +mode +state
-subprocess.Popen(args=["gnome-terminal", command])
diff --git a/For Weekly Test/Old/23-07-2011/testing.log b/For Weekly Test/Old/23-07-2011/testing.log
deleted file mode 100644
index 75a361e..0000000
--- a/For Weekly Test/Old/23-07-2011/testing.log
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-22 01:01:19.482585 ------------------
-On: 2011-07-22 01:01:19.482630 Event: opo ikihai
-
-
-------------------STARTED THE LOGGING 2011-07-22 01:01:52.806697 ------------------
-On: 2011-07-22 01:01:52.806739 Event: opo ikihai
diff --git a/For Weekly Test/Old/23-07-2011/testingcc.log b/For Weekly Test/Old/23-07-2011/testingcc.log
deleted file mode 100644
index 5f42730..0000000
--- a/For Weekly Test/Old/23-07-2011/testingcc.log
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-22 01:20:51.929961 ------------------
-On: 2011-07-22 01:20:51.930005 Event: opo ikihai
diff --git a/For Weekly Test/Old/30-07-2011/ClientClass.py b/For Weekly Test/Old/30-07-2011/ClientClass.py
deleted file mode 100644
index 46c3b00..0000000
--- a/For Weekly Test/Old/30-07-2011/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/Old/30-07-2011/ClientClass.pyc b/For Weekly Test/Old/30-07-2011/ClientClass.pyc
deleted file mode 100644
index 7cdfa60..0000000
--- a/For Weekly Test/Old/30-07-2011/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/Controller.py b/For Weekly Test/Old/30-07-2011/Controller.py
deleted file mode 100644
index e4a4566..0000000
--- a/For Weekly Test/Old/30-07-2011/Controller.py
+++ /dev/null
@@ -1,98 +0,0 @@
-import sys
-import ClientClass
-import DbClass
-import ControllerClass
-import PingClass
-from time import sleep
-
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(3)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(3)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(3)
-
- elif handler == 'gsmr1':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(3)
-
- elif handler == 'gsmr2':
- server = PingClass.Ping('132.230.4.64')
- serverStatus = server.ping(3)
-
-
-db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-db.connectDB()
-dbStatus = db.connectDB()
-
-if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
- i=0
- for item in db.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- destination = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- recAdd = destination[0]
- destNo = destination[1]
-
- if callFrom == 'unisip':
- destNo = destNo[7:]
-
-
- print '\n'
- print "Task ID: ", taskID
- print "Calling From: ", callFrom
- print "To: ", callTo
- print "number: ", destNo
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- makeTest = ControllerClass.test(callFrom, callAdd, callTo, recAdd, destNo)
- makeTest.FuncTest()
-
- db.addResult(taskID, makeTest.testResult)
-
- if makeTest.repeatTest == True:
- db.insertTaskIn2(callTo,callFrom,taskNo)
-
- print "Result :", makeTest.testResult
-
- db.deleteTempTask(taskID)
- db.tasksList.remove(item)
- db.tasksList.insert(i,'')
- i = i+1
-
- sleep(3)
- else:
- print "[failed] 500 "+callTo+ " Server Internal Error"
- else:
- print "[failed] 500 "+callFrom+ " Server Internal Error"
- db.cleanTasksList()
- else:
- print "No job at all"
-else:
- sys.exit(5)
-
diff --git a/For Weekly Test/Old/30-07-2011/ControllerClass.py b/For Weekly Test/Old/30-07-2011/ControllerClass.py
deleted file mode 100644
index 9c6b74e..0000000
--- a/For Weekly Test/Old/30-07-2011/ControllerClass.py
+++ /dev/null
@@ -1,233 +0,0 @@
-import sys
-import os
-import subprocess
-
-import ClientClass
-
-import LogFileClass
-logger = LogFileClass.Logging('TestProcessLog.log')
-
-from time import sleep
-
-
-class test:
-
- def __init__(self, callFrom, callAdd, accCaller, callTo, recAdd, destNo, accDest):
-
- self.callFrom = callFrom
- self.dest = callTo
- self.destNo = destNo
- self.accDest = accDest
- self.accCaller = accCaller
- self.repeatTest = None
- self.portAdd = None
- self.portCaller = None
- self.portDest = None
- self.resultCaller = None
- self.resultDest = None
- self.testResult = None
- self.callAdd = callAdd
- self.recAdd = recAdd
- self.receiver = None
- self.caller = None
- self.connected = None
-
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- self.initCaller()
- sleep(3)
-
- self.callerGreeting()
-
- if self.connected == 'OK':
-
- self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(15)
-
- if callerHandler == "CALLER READY":
- logger.logEvent('Caller handler : Ready')
-
- self.initReceiver()
- sleep(3)
- self.receiverGreeting()
-
- if self.connected == 'OK':
-
- self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(15)
-
- if destHandler == 'RECEIVER READY':
- logger.logEvent('Receiver handler : Ready')
-
- self.startCall()
- self.waitingFeedback()
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.closeConnection()
-
- else:
- logger.logEvent('998 General Handler Error: Could not connect Destination handler')
- self.testResult = 998
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: caller handler no respond timeout')
-
- self.caller.closeConnection()
-
- else:
- self.testResult = 999
- logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
-
-
-
- def waitingFeedback(self):
- logger.logEvent('Waiting Feedback')
- self.resultCaller = self.caller.receiveData(30)
- self.resultDest = self.receiver.receiveData(30)
-
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- logger.logEvent('Test Failed')
- self.testResult = 486
- self.repeatTest = True
- self.initTerminate()
-
- else:
- logger.logEvent('Test Succeed')
- self.testResult = 200
- self.initTerminate()
-
-
- def startCall(self):
- logger.logEvent('Start Call')
- self.receiver.sendData('RECEIVE START')
- self.caller.sendData('CALL START')
-
-
- def initCaller(self):
- logger.logEvent('init Caller')
- logger.logEvent(self.callFrom)
-
- if self.callFrom =="gsmr1":
- self.portCaller = 50007
- self.portAdd = ''
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="gsmr2":
- self.portCaller = 50008
-
- elif self.callFrom =="gsmr3":
- self.portCaller = 50009
-
- elif self.callFrom =="gsmeO":
- self.portCaller = 50010
- self.portAdd = '/dev/ttyUSB0'
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="gsmeV":
- self.portCaller = 50011
- self.portAdd = '/dev/ttyUSB1'
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="gsmeT":
- self.portCaller = 50012
- self.portAdd = ''
- self.initGSM(self.portCaller, self.portAdd)
-
- elif self.callFrom =="gsmeE":
- self.portCaller = 50013
- self.portAdd = '/dev/ttyUSB2'
- self.initGSM(self.portCaller, self.portAdd)
-
- else:
- self.portCaller = 50099
- subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)])
-
- def initReceiver(self):
- logger.logEvent('init Receiver')
- logger.logEvent(self.dest)
-
- if self.dest =="gsmr1":
- self.portDest = 50007
- self.portAdd = ''
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="gsmr2":
- self.portDest = 50008
-
- elif self.dest =="gsmr3":
- self.portDest = 50009
-
- elif self.dest =="gsmeO":
- self.portDest = 50010
- self.portAdd = '/dev/ttyUSB0'
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="gsmeV":
- self.portDest = 50011
- self.portAdd = '/dev/ttyUSB1'
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="gsmeT":
- self.portDest = 50012
- self.portAdd = ''
- self.initGSM(self.portDest, self.portAdd)
-
- elif self.dest =="gsmeE":
- self.portDest = 50013
- self.portAdd = '/dev/ttyUSB2'
- self.initGSM(self.portDest, self.portAdd)
-
- else:
- self.portDest = 50100
- subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)])
-
- def initTerminate(self):
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
-
- def callerGreeting(self):
- self.connected = None
- self.caller = ClientClass.Connection(self.callAdd,self.portCaller)
- self.caller.connect()
-
- if self.caller.connected == 1:
- logger.logEvent('Connected to Caller Handler')
- self.caller.sendData('HELLO HANDLER')
- if self.caller.receiveData(15) == 'HELLO CONTROLLER':
- logger.logEvent('Caller Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Caller')
- self.connected = 'NOT OK'
-
- def receiverGreeting(self):
- self.connected = None
- self.receiver = ClientClass.Connection(self.recAdd, self.portDest)
- self.receiver.connect()
-
- if self.receiver.connected == 1:
- logger.logEvent('Connected to Receiver Handler')
- self.receiver.sendData('HELLO HANDLER')
- if self.receiver.receiveData(15) == 'HELLO CONTROLLER':
- logger.logEvent('Receiver Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Receiver')
- self.connected = 'NOT OK'
-
- def initGSM(self, portCommunication, portDevice):
-
- subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)])
-
-
-
-
diff --git a/For Weekly Test/Old/30-07-2011/ControllerClass.pyc b/For Weekly Test/Old/30-07-2011/ControllerClass.pyc
deleted file mode 100644
index 3efebe9..0000000
--- a/For Weekly Test/Old/30-07-2011/ControllerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/DbClass.py b/For Weekly Test/Old/30-07-2011/DbClass.py
deleted file mode 100644
index e5ef961..0000000
--- a/For Weekly Test/Old/30-07-2011/DbClass.py
+++ /dev/null
@@ -1,295 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.errCode = None
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
-
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- #columns.append(str(0))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
-
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo, status):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`,`status` ) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "', '"+ str(status) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- columns.append(str(status))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- if item != '':
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
-
- def errorCode(self,code):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code)
- data = self.cur.fetchone()
- self.errCode = data[0]
- return self.errCode
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
diff --git a/For Weekly Test/Old/30-07-2011/DbClass.pyc b/For Weekly Test/Old/30-07-2011/DbClass.pyc
deleted file mode 100644
index bb6a774..0000000
--- a/For Weekly Test/Old/30-07-2011/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/GSMClass.py b/For Weekly Test/Old/30-07-2011/GSMClass.py
deleted file mode 100644
index e994814..0000000
--- a/For Weekly Test/Old/30-07-2011/GSMClass.py
+++ /dev/null
@@ -1,304 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
-
- self.debugMode = 0
-
- def portInit(self):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
-
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
-
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/For Weekly Test/Old/30-07-2011/GSMClass.pyc b/For Weekly Test/Old/30-07-2011/GSMClass.pyc
deleted file mode 100644
index 93ccd6c..0000000
--- a/For Weekly Test/Old/30-07-2011/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/GSMHandler.py b/For Weekly Test/Old/30-07-2011/GSMHandler.py
deleted file mode 100644
index a5b61c3..0000000
--- a/For Weekly Test/Old/30-07-2011/GSMHandler.py
+++ /dev/null
@@ -1,286 +0,0 @@
-import ServerClass
-import GSMClass
-import LogFileClass
-from time import sleep
-import sys
-
-global portListen
-global portAddress
-
-
-if len(sys.argv) <> 3:
- print "Error given command"
- sys.exit(2)
-
-
-portListen = int(sys.argv[1])
-portAddress = sys.argv[2]
-
-def initLogfile():
- global nameOfLogFile
-
- if portListen == 50007:
- nameOfLogFile = 'GSM RZ1 handler.log'
-
- elif portListen == 50010:
- nameOfLogFile = 'GSM O2 handler.log'
-
- elif portListen == 50011:
- nameOfLogFile = 'GSM Vodaphone handler.log'
-
- elif portListen == 50012:
- nameOfLogFile = 'GSM TMobile handler.log'
-
- elif portListen == 50013:
- nameOfLogFile = 'GSM EPlus handler.log'
- else:
- print "No port listening found"
-
-
-baudRate = 19200
-
-initLogfile()
-logger = LogFileClass.Logging(nameOfLogFile)
-
-errorCount = 0
-
-logger.logEvent('')
-
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-lastState = 0
-resetState = 0
-
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass.serialPort(portAddress, baudRate, 45)
-
- initDevice = gsmDevice.portInit()
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- terminateConnection()
- return 2
- else:
- logger.logEvent('$no connection')
- sys.exit(1)
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
-
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
- terminateConnection()
-
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- lastState = 3
- receiveCall = gsmDevice.receiveCall()
-
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- sendMessage = handlerSocket.sendData(callSuccess)
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller'
-
- #call the number here
- global lastState
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 6:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- return handlerSocket.sendData(callSuccess)
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- sys.exit(0.5)
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- receivedMessage += receiveMessage(10)
-
- del handlerSocket
- del gsmDevice
diff --git a/For Weekly Test/Old/30-07-2011/Landline handler.log b/For Weekly Test/Old/30-07-2011/Landline handler.log
deleted file mode 100644
index 08456fb..0000000
--- a/For Weekly Test/Old/30-07-2011/Landline handler.log
+++ /dev/null
@@ -1,210 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:27.189491 ------------------
-On: 2011-07-29 23:26:27.197636 Event: try to Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:29:02.577881 ------------------
-On: 2011-07-29 23:29:02.588058 Event: try to Connect to Controller
-On: 2011-07-29 23:29:50.425808 Event: init state
-On: 2011-07-29 23:29:50.426527 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:31:11.685264 ------------------
-On: 2011-07-29 23:31:11.693752 Event: try to Connect to Controller
-On: 2011-07-29 23:31:50.356785 Event: init state
-On: 2011-07-29 23:31:50.357509 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:32:30.935401 ------------------
-On: 2011-07-29 23:32:30.944002 Event: try to Connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:38:34.265205 ------------------
-On: 2011-07-29 23:38:34.272929 Event: init state
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:39:05.071215 ------------------
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:39:35.502775 ------------------
-On: 2011-07-29 23:39:35.512507 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:41:23.875335 ------------------
-On: 2011-07-29 23:41:23.884532 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:13.341609 ------------------
-On: 2011-07-29 23:42:13.350064 Event: try to Connect to Controller
-On: 2011-07-29 23:42:16.203271 Event: init state
-On: 2011-07-29 23:42:16.203385 Event: Register Account to SIP server
-On: 2011-07-29 23:42:16.236148 Event: 100
-On: 2011-07-29 23:42:16.237396 Event: Receiver Handler Ready
-On: 2011-07-29 23:42:16.237455 Event: RECEIVE START
-On: 2011-07-29 23:42:24.127645 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-29 23:42:24.628790 Event: Call Connecting
-On: 2011-07-29 23:42:24.628835 Event: 200
-On: 2011-07-29 23:42:24.628978 Event: Answer call
-On: 2011-07-29 23:42:25.129584 Event: Hangup call
-On: 2011-07-29 23:42:25.129810 Event: CALL OK
-On: 2011-07-29 23:42:25.283094 Event: Call Disconnected
-On: 2011-07-29 23:42:25.393821 Event: Terminate
-On: 2011-07-29 23:42:25.393846 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:09.728877 ------------------
-On: 2011-07-29 23:43:09.736885 Event: try to Connect to Controller
-On: 2011-07-29 23:43:12.619960 Event: init state
-On: 2011-07-29 23:43:12.620108 Event: Register Account to SIP server
-On: 2011-07-29 23:43:12.667817 Event: 100
-On: 2011-07-29 23:43:12.669071 Event: Receiver Handler Ready
-On: 2011-07-29 23:43:12.669134 Event: RECEIVE START
-On: 2011-07-29 23:43:22.045718 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-29 23:43:22.546823 Event: Call Connecting
-On: 2011-07-29 23:43:22.546868 Event: 200
-On: 2011-07-29 23:43:22.547008 Event: Answer call
-On: 2011-07-29 23:43:23.047637 Event: Hangup call
-On: 2011-07-29 23:43:23.047873 Event: CALL OK
-On: 2011-07-29 23:43:23.101125 Event: Terminate
-On: 2011-07-29 23:43:23.101164 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:42.822564 ------------------
-On: 2011-07-30 00:10:42.830586 Event: try to Connect to Controller
-On: 2011-07-30 00:10:45.703646 Event: init state
-On: 2011-07-30 00:10:45.703811 Event: Register Account to SIP server
-On: 2011-07-30 00:10:45.737799 Event: 100
-On: 2011-07-30 00:10:45.737884 Event: Receiver Handler Ready
-On: 2011-07-30 00:10:45.738026 Event: RECEIVE START
-On: 2011-07-30 00:10:55.229448 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:10:55.730592 Event: Call Connecting
-On: 2011-07-30 00:10:55.730637 Event: 200
-On: 2011-07-30 00:10:55.730779 Event: Answer call
-On: 2011-07-30 00:10:56.231365 Event: Hangup call
-On: 2011-07-30 00:10:56.231546 Event: CALL OK
-On: 2011-07-30 00:10:56.333503 Event: Call Disconnected
-On: 2011-07-30 00:10:56.339227 Event: Terminate
-On: 2011-07-30 00:10:56.339270 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:35.034475 ------------------
-On: 2011-07-30 00:11:35.042598 Event: try to Connect to Controller
-On: 2011-07-30 00:11:37.902099 Event: init state
-On: 2011-07-30 00:11:37.902275 Event: Register Account to SIP server
-On: 2011-07-30 00:11:37.935993 Event: 100
-On: 2011-07-30 00:11:37.936061 Event: Receiver Handler Ready
-On: 2011-07-30 00:11:37.937281 Event: RECEIVE START
-On: 2011-07-30 00:12:19.237484 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:12:19.738583 Event: Call Connecting
-On: 2011-07-30 00:12:19.738627 Event: 200
-On: 2011-07-30 00:12:19.738772 Event: Answer call
-On: 2011-07-30 00:12:19.739148 Event: Terminate
-On: 2011-07-30 00:12:19.739188 Event: Goodbye
-On: 2011-07-30 00:12:20.239411 Event: Hangup call
-On: 2011-07-30 00:12:20.239637 Event: CALL OK
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:57.303984 ------------------
-On: 2011-07-30 00:26:57.313040 Event: try to Connect to Controller
-On: 2011-07-30 00:27:00.184213 Event: init state
-On: 2011-07-30 00:27:00.184461 Event: Register Account to SIP server
-On: 2011-07-30 00:27:00.218449 Event: 100
-On: 2011-07-30 00:27:00.218498 Event: Receiver Handler Ready
-On: 2011-07-30 00:27:00.218650 Event: RECEIVE START
-On: 2011-07-30 00:27:08.332497 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:27:08.833577 Event: Call Connecting
-On: 2011-07-30 00:27:08.833612 Event: 200
-On: 2011-07-30 00:27:08.833737 Event: Answer call
-On: 2011-07-30 00:27:09.334016 Event: Hangup call
-On: 2011-07-30 00:27:09.334160 Event: CALL OK
-On: 2011-07-30 00:27:09.487264 Event: Call Disconnected
-On: 2011-07-30 00:27:09.642374 Event: Terminate
-On: 2011-07-30 00:27:09.642418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:28:01.427077 ------------------
-On: 2011-07-30 00:28:01.436400 Event: try to Connect to Controller
-On: 2011-07-30 00:28:04.292014 Event: init state
-On: 2011-07-30 00:28:04.292217 Event: Register Account to SIP server
-On: 2011-07-30 00:28:04.324649 Event: 100
-On: 2011-07-30 00:28:04.325843 Event: Receiver Handler Ready
-On: 2011-07-30 00:28:04.325903 Event: RECEIVE START
-On: 2011-07-30 00:28:13.702346 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:28:14.203385 Event: Call Connecting
-On: 2011-07-30 00:28:14.203417 Event: 200
-On: 2011-07-30 00:28:14.203537 Event: Answer call
-On: 2011-07-30 00:28:14.704140 Event: Hangup call
-On: 2011-07-30 00:28:14.704328 Event: CALL OK
-On: 2011-07-30 00:28:14.857462 Event: Call Disconnected
-On: 2011-07-30 00:28:15.222953 Event: Terminate
-On: 2011-07-30 00:28:15.222995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:48.744168 ------------------
-On: 2011-07-30 00:29:48.752266 Event: try to Connect to Controller
-On: 2011-07-30 00:29:51.616628 Event: init state
-On: 2011-07-30 00:29:51.616869 Event: Register Account to SIP server
-On: 2011-07-30 00:29:51.652901 Event: 100
-On: 2011-07-30 00:29:51.654175 Event: Receiver Handler Ready
-On: 2011-07-30 00:29:51.654238 Event: RECEIVE START
-On: 2011-07-30 00:29:59.645670 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:30:00.146572 Event: Call Connecting
-On: 2011-07-30 00:30:00.146595 Event: 200
-On: 2011-07-30 00:30:00.146639 Event: Answer call
-On: 2011-07-30 00:30:01.000360 Event: Terminate
-On: 2011-07-30 00:30:01.000409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:56.623124 ------------------
-On: 2011-07-30 00:30:56.633526 Event: try to Connect to Controller
-On: 2011-07-30 00:30:59.467030 Event: init state
-On: 2011-07-30 00:30:59.467207 Event: Register Account to SIP server
-On: 2011-07-30 00:30:59.514683 Event: 100
-On: 2011-07-30 00:30:59.515924 Event: Receiver Handler Ready
-On: 2011-07-30 00:30:59.515989 Event: RECEIVE START
-On: 2011-07-30 00:31:07.302992 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:31:07.303394 Event: Call Connecting
-On: 2011-07-30 00:31:07.303420 Event: 200
-On: 2011-07-30 00:31:07.303559 Event: Answer call
-On: 2011-07-30 00:31:07.303592 Event: Hangup call
-On: 2011-07-30 00:31:07.303717 Event: CALL OK
-On: 2011-07-30 00:31:07.456866 Event: Call Disconnected
-On: 2011-07-30 00:31:08.091116 Event: Terminate
-On: 2011-07-30 00:31:08.091163 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:36.381169 ------------------
-On: 2011-07-30 00:32:36.389505 Event: try to Connect to Controller
-On: 2011-07-30 00:32:39.254557 Event: init state
-On: 2011-07-30 00:32:39.254662 Event: Register Account to SIP server
-On: 2011-07-30 00:32:39.302100 Event: 100
-On: 2011-07-30 00:32:39.303401 Event: Receiver Handler Ready
-On: 2011-07-30 00:32:39.303465 Event: RECEIVE START
-On: 2011-07-30 00:32:45.346692 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:32:45.347091 Event: Call Connecting
-On: 2011-07-30 00:32:45.347129 Event: 200
-On: 2011-07-30 00:32:45.347287 Event: Answer call
-On: 2011-07-30 00:32:45.347323 Event: Hangup call
-On: 2011-07-30 00:32:45.347446 Event: CALL OK
-On: 2011-07-30 00:32:45.500536 Event: Call Disconnected
-On: 2011-07-30 00:32:46.218824 Event: Terminate
-On: 2011-07-30 00:32:46.218872 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:35.950284 ------------------
-On: 2011-07-30 00:33:35.958817 Event: try to Connect to Controller
-On: 2011-07-30 00:33:38.817673 Event: init state
-On: 2011-07-30 00:33:38.817826 Event: Register Account to SIP server
-On: 2011-07-30 00:33:38.865841 Event: 100
-On: 2011-07-30 00:33:38.865926 Event: Receiver Handler Ready
-On: 2011-07-30 00:33:38.867128 Event: RECEIVE START
-On: 2011-07-30 00:33:44.604232 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-07-30 00:33:44.604630 Event: Call Connecting
-On: 2011-07-30 00:33:44.604652 Event: 200
-On: 2011-07-30 00:33:44.604820 Event: Answer call
-On: 2011-07-30 00:33:44.604848 Event: Hangup call
-On: 2011-07-30 00:33:44.604946 Event: CALL OK
-On: 2011-07-30 00:33:44.757964 Event: Call Disconnected
-On: 2011-07-30 00:33:45.465493 Event: Terminate
-On: 2011-07-30 00:33:45.465530 Event: Goodbye
diff --git a/For Weekly Test/Old/30-07-2011/LogFileClass.py b/For Weekly Test/Old/30-07-2011/LogFileClass.py
deleted file mode 100644
index cb152f4..0000000
--- a/For Weekly Test/Old/30-07-2011/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/Old/30-07-2011/LogFileClass.pyc b/For Weekly Test/Old/30-07-2011/LogFileClass.pyc
deleted file mode 100644
index 52fd946..0000000
--- a/For Weekly Test/Old/30-07-2011/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/PingClass.py b/For Weekly Test/Old/30-07-2011/PingClass.py
deleted file mode 100644
index e13b32b..0000000
--- a/For Weekly Test/Old/30-07-2011/PingClass.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/Old/30-07-2011/PingClass.pyc b/For Weekly Test/Old/30-07-2011/PingClass.pyc
deleted file mode 100644
index 9ac5c4b..0000000
--- a/For Weekly Test/Old/30-07-2011/PingClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/SIP handler.log b/For Weekly Test/Old/30-07-2011/SIP handler.log
deleted file mode 100644
index ee0220b..0000000
--- a/For Weekly Test/Old/30-07-2011/SIP handler.log
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:21:57.415823 ------------------
-On: 2011-07-29 23:21:57.425345 Event: try to Connect to Controller
-On: 2011-07-29 23:22:00.306913 Event: init state
-On: 2011-07-29 23:22:00.307021 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:24:53.876724 ------------------
-On: 2011-07-29 23:24:53.884855 Event: try to Connect to Controller
-On: 2011-07-29 23:24:56.739250 Event: init state
-On: 2011-07-29 23:24:56.739367 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:11.922247 ------------------
-On: 2011-07-29 23:25:11.930374 Event: try to Connect to Controller
-On: 2011-07-29 23:25:14.776741 Event: init state
-On: 2011-07-29 23:25:14.776832 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:27.644319 ------------------
-On: 2011-07-29 23:25:27.654529 Event: try to Connect to Controller
-On: 2011-07-29 23:25:30.488887 Event: init state
-On: 2011-07-29 23:25:30.488998 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:15.433339 ------------------
-On: 2011-07-29 23:26:15.444299 Event: try to Connect to Controller
-On: 2011-07-29 23:26:18.276304 Event: init state
-On: 2011-07-29 23:26:18.276337 Event: Register Account to SIP server
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:10.319903 ------------------
-On: 2011-07-29 23:42:10.328198 Event: try to Connect to Controller
-On: 2011-07-29 23:42:13.196833 Event: init state
-On: 2011-07-29 23:42:13.197004 Event: Register Account to SIP server
-On: 2011-07-29 23:42:13.197373 Event: 100
-On: 2011-07-29 23:42:13.197448 Event: Caller Handler Ready
-On: 2011-07-29 23:42:21.238138 Event: CALL START
-On: 2011-07-29 23:42:21.238194 Event: Make a call to: 076145875681
-On: 2011-07-29 23:42:25.393438 Event: Call Connecting
-On: 2011-07-29 23:42:25.393485 Event: 200
-On: 2011-07-29 23:42:25.394043 Event: Terminate
-On: 2011-07-29 23:42:25.394074 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:06.750461 ------------------
-On: 2011-07-29 23:43:06.759085 Event: try to Connect to Controller
-On: 2011-07-29 23:43:09.613473 Event: init state
-On: 2011-07-29 23:43:09.613644 Event: Register Account to SIP server
-On: 2011-07-29 23:43:09.614010 Event: 100
-On: 2011-07-29 23:43:09.614061 Event: Caller Handler Ready
-On: 2011-07-29 23:43:17.673133 Event: CALL START
-On: 2011-07-29 23:43:17.673190 Event: Make a call to: 076145875681
-On: 2011-07-29 23:43:23.100719 Event: Call Connecting
-On: 2011-07-29 23:43:23.100753 Event: 200
-On: 2011-07-29 23:43:23.101544 Event: Terminate
-On: 2011-07-29 23:43:23.101576 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:39.836082 ------------------
-On: 2011-07-30 00:10:39.845051 Event: try to Connect to Controller
-On: 2011-07-30 00:10:42.697416 Event: init state
-On: 2011-07-30 00:10:42.697558 Event: Register Account to SIP server
-On: 2011-07-30 00:10:42.697908 Event: 100
-On: 2011-07-30 00:10:42.697990 Event: Caller Handler Ready
-On: 2011-07-30 00:10:50.739806 Event: CALL START
-On: 2011-07-30 00:10:50.739862 Event: Make a call to: 076145875681
-On: 2011-07-30 00:10:56.338263 Event: Call Connecting
-On: 2011-07-30 00:10:56.338295 Event: 200
-On: 2011-07-30 00:10:56.338926 Event: Terminate
-On: 2011-07-30 00:10:56.338971 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:32.044804 ------------------
-On: 2011-07-30 00:11:32.055384 Event: try to Connect to Controller
-On: 2011-07-30 00:11:34.895786 Event: init state
-On: 2011-07-30 00:11:34.895941 Event: Register Account to SIP server
-On: 2011-07-30 00:11:34.896327 Event: 100
-On: 2011-07-30 00:11:34.896381 Event: Caller Handler Ready
-On: 2011-07-30 00:11:42.941360 Event: CALL START
-On: 2011-07-30 00:11:42.941412 Event: Make a call to: 076145875681
-On: 2011-07-30 00:12:19.738871 Event: Terminate
-On: 2011-07-30 00:12:19.738916 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:54.311305 ------------------
-On: 2011-07-30 00:26:54.320356 Event: try to Connect to Controller
-On: 2011-07-30 00:26:57.176776 Event: init state
-On: 2011-07-30 00:26:57.176895 Event: Register Account to SIP server
-On: 2011-07-30 00:26:57.177196 Event: 100
-On: 2011-07-30 00:26:57.177239 Event: Caller Handler Ready
-On: 2011-07-30 00:27:05.219886 Event: CALL START
-On: 2011-07-30 00:27:05.219948 Event: Make a call to: 076145875681
-On: 2011-07-30 00:27:09.641501 Event: Call Connecting
-On: 2011-07-30 00:27:09.641557 Event: 200
-On: 2011-07-30 00:27:09.642486 Event: Terminate
-On: 2011-07-30 00:27:09.642523 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:27:58.409659 ------------------
-On: 2011-07-30 00:27:58.417830 Event: try to Connect to Controller
-On: 2011-07-30 00:28:01.285869 Event: init state
-On: 2011-07-30 00:28:01.286077 Event: Register Account to SIP server
-On: 2011-07-30 00:28:01.286389 Event: 100
-On: 2011-07-30 00:28:01.286431 Event: Caller Handler Ready
-On: 2011-07-30 00:28:09.329917 Event: CALL START
-On: 2011-07-30 00:28:09.329971 Event: Make a call to: 076145875681
-On: 2011-07-30 00:28:15.222548 Event: Call Connecting
-On: 2011-07-30 00:28:15.222589 Event: 200
-On: 2011-07-30 00:28:15.223404 Event: Terminate
-On: 2011-07-30 00:28:15.223435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:45.720356 ------------------
-On: 2011-07-30 00:29:45.729640 Event: try to Connect to Controller
-On: 2011-07-30 00:29:48.610439 Event: init state
-On: 2011-07-30 00:29:48.610574 Event: Register Account to SIP server
-On: 2011-07-30 00:29:48.610890 Event: 100
-On: 2011-07-30 00:29:48.610932 Event: Caller Handler Ready
-On: 2011-07-30 00:29:56.654983 Event: CALL START
-On: 2011-07-30 00:29:56.655033 Event: Make a call to: 076145875681
-On: 2011-07-30 00:30:00.999654 Event: Call Connecting
-On: 2011-07-30 00:30:00.999696 Event: 200
-On: 2011-07-30 00:30:01.000381 Event: Terminate
-On: 2011-07-30 00:30:01.000414 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:53.582445 ------------------
-On: 2011-07-30 00:30:53.591399 Event: try to Connect to Controller
-On: 2011-07-30 00:30:56.463424 Event: init state
-On: 2011-07-30 00:30:56.463573 Event: Register Account to SIP server
-On: 2011-07-30 00:30:56.463798 Event: 100
-On: 2011-07-30 00:30:56.463820 Event: Caller Handler Ready
-On: 2011-07-30 00:31:04.516608 Event: CALL START
-On: 2011-07-30 00:31:04.516663 Event: Make a call to: 076145875681
-On: 2011-07-30 00:31:08.090713 Event: Call Connecting
-On: 2011-07-30 00:31:08.090759 Event: 200
-On: 2011-07-30 00:31:08.091467 Event: Terminate
-On: 2011-07-30 00:31:08.091499 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:33.354788 ------------------
-On: 2011-07-30 00:32:33.363048 Event: try to Connect to Controller
-On: 2011-07-30 00:32:36.248229 Event: init state
-On: 2011-07-30 00:32:36.248378 Event: Register Account to SIP server
-On: 2011-07-30 00:32:36.248733 Event: 100
-On: 2011-07-30 00:32:36.248833 Event: Caller Handler Ready
-On: 2011-07-30 00:32:42.303930 Event: CALL START
-On: 2011-07-30 00:32:42.303983 Event: Make a call to: 076145875681
-On: 2011-07-30 00:32:46.218329 Event: Call Connecting
-On: 2011-07-30 00:32:46.218374 Event: 200
-On: 2011-07-30 00:32:46.219139 Event: Terminate
-On: 2011-07-30 00:32:46.219177 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:32.956715 ------------------
-On: 2011-07-30 00:33:32.965479 Event: try to Connect to Controller
-On: 2011-07-30 00:33:35.811340 Event: init state
-On: 2011-07-30 00:33:35.811482 Event: Register Account to SIP server
-On: 2011-07-30 00:33:35.811814 Event: 100
-On: 2011-07-30 00:33:35.811857 Event: Caller Handler Ready
-On: 2011-07-30 00:33:41.869229 Event: CALL START
-On: 2011-07-30 00:33:41.869282 Event: Make a call to: 076145875681
-On: 2011-07-30 00:33:45.465131 Event: Call Connecting
-On: 2011-07-30 00:33:45.465173 Event: 200
-On: 2011-07-30 00:33:45.465887 Event: Terminate
-On: 2011-07-30 00:33:45.465913 Event: Goodbye
diff --git a/For Weekly Test/Old/30-07-2011/SIPHandler.py b/For Weekly Test/Old/30-07-2011/SIPHandler.py
deleted file mode 100644
index 6d268a9..0000000
--- a/For Weekly Test/Old/30-07-2011/SIPHandler.py
+++ /dev/null
@@ -1,229 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
-
- call.answer(200)
- logger.logEvent("Answer call")
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('Cant connect to Controller')
- sys.exit(1)
-
-def initLogFile(sipServer):
-
- global logger
-
- if sipServer == '132.230.4.8':
- nameOfLogFile = 'SIP handler.log'
-
- elif sipServer == 'sipgate.de':
- nameOfLogFile = 'Landline handler.log'
-
- elif sipServer == '132.230.252.228':
- nameOfLogFile = 'University SIP handler.log'
-
- logger = LogFileClass.Logging(nameOfLogFile)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- num = message[7:]
-
-def initHandler():
- global sipServer
- global username
- global password
-
-
- accConf = sys.argv[1]
- username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- sipServer = newLine[0:newLine.find(':')]
-
-
-lib = pj.Lib()
-stop = False
-
-initHandler()
-
-initLogFile(sipServer)
-
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
-
-
- try:
- initState()
- acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password))
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'RECEIVE START':
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'CALL START':
- if num <> '':
- sleep(3)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/Old/30-07-2011/ServerClass.py b/For Weekly Test/Old/30-07-2011/ServerClass.py
deleted file mode 100644
index 93c2f8e..0000000
--- a/For Weekly Test/Old/30-07-2011/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/Old/30-07-2011/ServerClass.pyc b/For Weekly Test/Old/30-07-2011/ServerClass.pyc
deleted file mode 100644
index 99bd14d..0000000
--- a/For Weekly Test/Old/30-07-2011/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/Old/30-07-2011/TestProcessLog.log b/For Weekly Test/Old/30-07-2011/TestProcessLog.log
deleted file mode 100644
index 4826295..0000000
--- a/For Weekly Test/Old/30-07-2011/TestProcessLog.log
+++ /dev/null
@@ -1,200 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:21:57.301030 ------------------
-On: 2011-07-29 23:21:57.301097 Event: init Caller
-On: 2011-07-29 23:21:57.301117 Event: sip
-On: 2011-07-29 23:22:00.306750 Event: Connected to Caller Handler
-On: 2011-07-29 23:22:00.306934 Event: Caller Handler respond
-On: 2011-07-29 23:22:00.330494 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:24:53.733342 ------------------
-On: 2011-07-29 23:24:53.733408 Event: init Caller
-On: 2011-07-29 23:24:53.733427 Event: sip
-On: 2011-07-29 23:24:56.739075 Event: Connected to Caller Handler
-On: 2011-07-29 23:24:56.739283 Event: Caller Handler respond
-On: 2011-07-29 23:24:56.743416 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:11.770967 ------------------
-On: 2011-07-29 23:25:11.771004 Event: init Caller
-On: 2011-07-29 23:25:11.771011 Event: sip
-On: 2011-07-29 23:25:14.776562 Event: Connected to Caller Handler
-On: 2011-07-29 23:25:14.776759 Event: Caller Handler respond
-On: 2011-07-29 23:25:14.778543 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:25:27.483948 ------------------
-On: 2011-07-29 23:25:27.484014 Event: init Caller
-On: 2011-07-29 23:25:27.484034 Event: sip
-On: 2011-07-29 23:25:30.488703 Event: Connected to Caller Handler
-On: 2011-07-29 23:25:30.488907 Event: Caller Handler respond
-On: 2011-07-29 23:25:30.492889 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:26:15.270712 ------------------
-On: 2011-07-29 23:26:15.270780 Event: init Caller
-On: 2011-07-29 23:26:15.270799 Event: sip
-On: 2011-07-29 23:26:18.276198 Event: Connected to Caller Handler
-On: 2011-07-29 23:26:18.276306 Event: Caller Handler respond
-On: 2011-07-29 23:26:18.279521 Event: 605 General Handler Error: caller handler no respond timeout
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:42:10.192780 ------------------
-On: 2011-07-29 23:42:10.192869 Event: init Caller
-On: 2011-07-29 23:42:10.192901 Event: sip
-On: 2011-07-29 23:42:13.196666 Event: Connected to Caller Handler
-On: 2011-07-29 23:42:13.196857 Event: Caller Handler respond
-On: 2011-07-29 23:42:13.197492 Event: Caller handler : Ready
-On: 2011-07-29 23:42:13.197523 Event: init Receiver
-On: 2011-07-29 23:42:13.197551 Event: landline
-On: 2011-07-29 23:42:16.203095 Event: Connected to Receiver Handler
-On: 2011-07-29 23:42:16.203292 Event: Receiver Handler respond
-On: 2011-07-29 23:42:16.236357 Event: Receiver handler : Ready
-On: 2011-07-29 23:42:16.236397 Event: Start Call
-On: 2011-07-29 23:42:16.236480 Event: Waiting Feedback
-On: 2011-07-29 23:42:25.393704 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-29 23:43:06.607570 ------------------
-On: 2011-07-29 23:43:06.607634 Event: init Caller
-On: 2011-07-29 23:43:06.607654 Event: sip
-On: 2011-07-29 23:43:09.613314 Event: Connected to Caller Handler
-On: 2011-07-29 23:43:09.613504 Event: Caller Handler respond
-On: 2011-07-29 23:43:09.614142 Event: Caller handler : Ready
-On: 2011-07-29 23:43:09.614180 Event: init Receiver
-On: 2011-07-29 23:43:09.614210 Event: landline
-On: 2011-07-29 23:43:12.619780 Event: Connected to Receiver Handler
-On: 2011-07-29 23:43:12.619981 Event: Receiver Handler respond
-On: 2011-07-29 23:43:12.667920 Event: Receiver handler : Ready
-On: 2011-07-29 23:43:12.667952 Event: Start Call
-On: 2011-07-29 23:43:12.668021 Event: Waiting Feedback
-On: 2011-07-29 23:43:23.100908 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:10:39.691500 ------------------
-On: 2011-07-30 00:10:39.691562 Event: init Caller
-On: 2011-07-30 00:10:39.691581 Event: sip
-On: 2011-07-30 00:10:42.697234 Event: Connected to Caller Handler
-On: 2011-07-30 00:10:42.697433 Event: Caller Handler respond
-On: 2011-07-30 00:10:42.698013 Event: Caller handler : Ready
-On: 2011-07-30 00:10:42.698050 Event: init Receiver
-On: 2011-07-30 00:10:42.698078 Event: landline
-On: 2011-07-30 00:10:45.703491 Event: Connected to Receiver Handler
-On: 2011-07-30 00:10:45.703670 Event: Receiver Handler respond
-On: 2011-07-30 00:10:45.737912 Event: Receiver handler : Ready
-On: 2011-07-30 00:10:45.737950 Event: Start Call
-On: 2011-07-30 00:10:45.738028 Event: Waiting Feedback
-On: 2011-07-30 00:10:56.338452 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:11:31.889910 ------------------
-On: 2011-07-30 00:11:31.889974 Event: init Caller
-On: 2011-07-30 00:11:31.889994 Event: sip
-On: 2011-07-30 00:11:34.895578 Event: Connected to Caller Handler
-On: 2011-07-30 00:11:34.895803 Event: Caller Handler respond
-On: 2011-07-30 00:11:34.896404 Event: Caller handler : Ready
-On: 2011-07-30 00:11:34.896442 Event: init Receiver
-On: 2011-07-30 00:11:34.896471 Event: landline
-On: 2011-07-30 00:11:37.901943 Event: Connected to Receiver Handler
-On: 2011-07-30 00:11:37.902124 Event: Receiver Handler respond
-On: 2011-07-30 00:11:37.936091 Event: Receiver handler : Ready
-On: 2011-07-30 00:11:37.936130 Event: Start Call
-On: 2011-07-30 00:11:37.936214 Event: Waiting Feedback
-On: 2011-07-30 00:12:19.738731 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:26:54.171248 ------------------
-On: 2011-07-30 00:26:54.171301 Event: init Caller
-On: 2011-07-30 00:26:54.171316 Event: sip
-On: 2011-07-30 00:26:57.176620 Event: Connected to Caller Handler
-On: 2011-07-30 00:26:57.176790 Event: Caller Handler respond
-On: 2011-07-30 00:26:57.177313 Event: Caller handler : Ready
-On: 2011-07-30 00:26:57.177342 Event: init Receiver
-On: 2011-07-30 00:26:57.177362 Event: landline
-On: 2011-07-30 00:27:00.183045 Event: Connected to Receiver Handler
-On: 2011-07-30 00:27:00.184305 Event: Receiver Handler respond
-On: 2011-07-30 00:27:00.218555 Event: Receiver handler : Ready
-On: 2011-07-30 00:27:00.218586 Event: Start Call
-On: 2011-07-30 00:27:00.218653 Event: Waiting Feedback
-On: 2011-07-30 00:27:09.641743 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:27:58.280395 ------------------
-On: 2011-07-30 00:27:58.280448 Event: init Caller
-On: 2011-07-30 00:27:58.280464 Event: sip
-On: 2011-07-30 00:28:01.285723 Event: Connected to Caller Handler
-On: 2011-07-30 00:28:01.285934 Event: Caller Handler respond
-On: 2011-07-30 00:28:01.286508 Event: Caller handler : Ready
-On: 2011-07-30 00:28:01.286540 Event: init Receiver
-On: 2011-07-30 00:28:01.286565 Event: landline
-On: 2011-07-30 00:28:04.291863 Event: Connected to Receiver Handler
-On: 2011-07-30 00:28:04.292049 Event: Receiver Handler respond
-On: 2011-07-30 00:28:04.324731 Event: Receiver handler : Ready
-On: 2011-07-30 00:28:04.324758 Event: Start Call
-On: 2011-07-30 00:28:04.324809 Event: Waiting Feedback
-On: 2011-07-30 00:28:15.222749 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:29:45.604794 ------------------
-On: 2011-07-30 00:29:45.604849 Event: init Caller
-On: 2011-07-30 00:29:45.604865 Event: sip
-On: 2011-07-30 00:29:48.610293 Event: Connected to Caller Handler
-On: 2011-07-30 00:29:48.610457 Event: Caller Handler respond
-On: 2011-07-30 00:29:48.610961 Event: Caller handler : Ready
-On: 2011-07-30 00:29:48.610988 Event: init Receiver
-On: 2011-07-30 00:29:48.611012 Event: landline
-On: 2011-07-30 00:29:51.616488 Event: Connected to Receiver Handler
-On: 2011-07-30 00:29:51.616698 Event: Receiver Handler respond
-On: 2011-07-30 00:29:51.653007 Event: Receiver handler : Ready
-On: 2011-07-30 00:29:51.653033 Event: Start Call
-On: 2011-07-30 00:29:51.653089 Event: Waiting Feedback
-On: 2011-07-30 00:30:00.999843 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:30:53.455843 ------------------
-On: 2011-07-30 00:30:53.455927 Event: init Caller
-On: 2011-07-30 00:30:53.455956 Event: sip
-On: 2011-07-30 00:30:56.462075 Event: Connected to Caller Handler
-On: 2011-07-30 00:30:56.463454 Event: Caller Handler respond
-On: 2011-07-30 00:30:56.463833 Event: Caller handler : Ready
-On: 2011-07-30 00:30:56.463851 Event: init Receiver
-On: 2011-07-30 00:30:56.463864 Event: landline
-On: 2011-07-30 00:30:59.466866 Event: Connected to Receiver Handler
-On: 2011-07-30 00:30:59.467064 Event: Receiver Handler respond
-On: 2011-07-30 00:30:59.514807 Event: Receiver handler : Ready
-On: 2011-07-30 00:30:59.514840 Event: Start Call
-On: 2011-07-30 00:30:59.514905 Event: Waiting Feedback
-On: 2011-07-30 00:31:08.090937 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:32:33.242689 ------------------
-On: 2011-07-30 00:32:33.242743 Event: init Caller
-On: 2011-07-30 00:32:33.242759 Event: sip
-On: 2011-07-30 00:32:36.248041 Event: Connected to Caller Handler
-On: 2011-07-30 00:32:36.248249 Event: Caller Handler respond
-On: 2011-07-30 00:32:36.248856 Event: Caller handler : Ready
-On: 2011-07-30 00:32:36.248896 Event: init Receiver
-On: 2011-07-30 00:32:36.248923 Event: landline
-On: 2011-07-30 00:32:39.254384 Event: Connected to Receiver Handler
-On: 2011-07-30 00:32:39.254580 Event: Receiver Handler respond
-On: 2011-07-30 00:32:39.302242 Event: Receiver handler : Ready
-On: 2011-07-30 00:32:39.302269 Event: Start Call
-On: 2011-07-30 00:32:39.302328 Event: Waiting Feedback
-On: 2011-07-30 00:32:46.218668 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-07-30 00:33:32.805854 ------------------
-On: 2011-07-30 00:33:32.805907 Event: init Caller
-On: 2011-07-30 00:33:32.805923 Event: sip
-On: 2011-07-30 00:33:35.811199 Event: Connected to Caller Handler
-On: 2011-07-30 00:33:35.811359 Event: Caller Handler respond
-On: 2011-07-30 00:33:35.811924 Event: Caller handler : Ready
-On: 2011-07-30 00:33:35.812014 Event: init Receiver
-On: 2011-07-30 00:33:35.812040 Event: landline
-On: 2011-07-30 00:33:38.817500 Event: Connected to Receiver Handler
-On: 2011-07-30 00:33:38.817694 Event: Receiver Handler respond
-On: 2011-07-30 00:33:38.865974 Event: Receiver handler : Ready
-On: 2011-07-30 00:33:38.866013 Event: Start Call
-On: 2011-07-30 00:33:38.866098 Event: Waiting Feedback
-On: 2011-07-30 00:33:45.465315 Event: Test Succeed
diff --git a/For Weekly Test/Old/30-07-2011/gsmselftest.py b/For Weekly Test/Old/30-07-2011/gsmselftest.py
deleted file mode 100644
index f8a385c..0000000
--- a/For Weekly Test/Old/30-07-2011/gsmselftest.py
+++ /dev/null
@@ -1,293 +0,0 @@
-#! /usr/bin/env python
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-from time import sleep
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(1)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(1)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(1)
-
- elif handler == 'gsmr1':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(1)
-
- elif handler == 'gsmr2':
- server = PingClass.Ping('132.230.4.64')
- serverStatus = server.ping(1)
- else:
- serverStatus = 1
-
-def allPing():
-
- global sipGate
- global sipServer
- global sipLoc
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(3)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(3)
-
- server = PingClass.Ping('132.230.252.228')
- sipLoc = server.ping(3)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(3)
-
- server = PingClass.Ping('132.230.4.64')
- gsmBox2 = server.ping(3)
-
-
-def doTest(callFrom,callTo):
-
-
- global testRepeat
-
- testRepeat = None
- ping(callFrom)
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
- if serverStatus <> 0 and dbStatus == 1:
-
- ping(callTo)
- if serverStatus <> 0:
- destination = db.deviceAddress(str(callTo))
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- recAdd = destination[0]
- destNo = destination[1]
- accDest = destination[2]+':'+destination[3]+':'+destination[4]+':'
-
- print '\n'
- print 'Caller :', callFrom
- print 'Destination :', callTo
- makeTest = ControllerClass.test(callFrom, callAdd, accCaller, callTo, recAdd, destNo, accDest)
- makeTest.FuncTest()
-
- if makeTest.repeatTest == True:
- testRepeat = True
- db.errorCode(makeTest.testResult)
- print 'Result : ' +str(makeTest.testResult)+ ' ' +db.errCode
- sleep(5)
- else:
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- print '[failed] 500 '+callFrom+ ' Server Internal Error'
-
-def doSipTest():
-
- print '--SIP Part Test--'
- #destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
- destList = ['landline']
- for callTo in destList:
-
- callFrom = 'sip'
- if callFrom <> callTo:
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def doLandlineTest():
-
- print '--Landline Part Test--'
- destList = ['gsmr1', 'gsmr2', 'gsmr3', 'sip']
-
- for callTo in destList:
-
- callFrom = 'landline'
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def doGsmrzTest():
-
- print '--GSM Part Test--'
- destList = ['sip', 'gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
- callList = ['gsmr1','gsmr2', 'gsmr3']
-
- for callFrom in callList:
-
- for callTo in destList:
- if callTo <> callFrom:
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
- doGsmExtTest()
-
-def doGsmExtTest():
-
- destList = ['sip', 'gsmr1','gsmr2', 'gsmr3']
- callList = ['gsmeO', 'gsmeV', 'gsmeT', 'gsmeE']
-
- for callFrom in callList:
- for callTo in destList:
-
- doTest(callFrom, callTo)
- if testRepeat == True:
- doTest(callTo,callFrom)
-
-def initResult(i, result):
- global resultsList
-
-
-
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmTest()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print '\n'
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsm':
- doGsmTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
- global resultList
- print '\n'
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- resultsList = list()
-
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- for item in db.tasksList:
- print item
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- tried = item[4]
-
- destination = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- recAdd = destination[0]
- destNo = destination[1]
- accDest = destination[2]+':'+destination[3]+':'+destination[4]+':'
-
- #if i == 0:
- # db.updatePingResult(taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
- print 'number :', destNo
- print 'status :', tried
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- makeTest = ControllerClass.test(callFrom, callAdd, accCaller, callTo, recAdd, destNo, accDest)
- makeTest.FuncTest()
-
- db.addResult(taskID, makeTest.testResult)
- resultList.append([callTo, callFrom, makeTest.testResult])
-
- if makeTest.repeatTest == True and tried <> '1':
- db.insertTaskIn2(callTo,callFrom,taskNo, '1')
-
- db.errorCode(makeTest.testResult)
- print 'Result : ' +str(makeTest.testResult)+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- db.tasksList.remove(item)
- db.tasksList.insert(i,'')
-
- i = i+1
-
- sleep(5)
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callFrom+' Server Internal Error'
- db.cleanTasksList()
- else:
- print "No job at all"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/Old/30-07-2011/help.txt b/For Weekly Test/Old/30-07-2011/help.txt
deleted file mode 100644
index ccbc193..0000000
--- a/For Weekly Test/Old/30-07-2011/help.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-Usage: python gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---all : To execute all test case
---sip : To execute ALL test case
---gsm : To execute GSM test case
---extGsm : To execute external GSM test case
---landline : To execute Landline test case
diff --git a/For Weekly Test/Old/30-07-2011/true table.txt b/For Weekly Test/Old/30-07-2011/true table.txt
deleted file mode 100644
index 5a5916b..0000000
--- a/For Weekly Test/Old/30-07-2011/true table.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-if GSMRZ1 != 200:
- if GSMRZ2 = 200:
- if GSMRZ3 == 200:
- BTS RZ 1 problem
- else:
- unknow problem
- elif GSMRZ3 == 200:
- if GSMRZ2 == 200:
- BTS RZ 1 Problem
- else:
- unknow problem
- else:
- OpenBSC problem
-
-if GSMRZ2 != 200:
- if GSMRZ1 = 200:
- if GSMRZ3 == 200:
- BTS RZ 2 problem
- else:
- unknow problem
- elif GSMRZ3 == 200:
- if GSMRZ1 == 200:
- BTS RZ 2 Problem
- else:
- unknow problem
- else:
- OpenBSC problem
-
-if GSMRZ3 != 200:
- if GSMRZ1 = 200:
- if GSMRZ2 == 200:
- BTS RZ 3 problem
- else:
- unknow problem
- elif GSMRZ2 == 200:
- if GSMRZ1 == 200:
- BTS RZ 3 Problem
- else:
- unknow problem
- else:
- OpenBSC problem
-
-
diff --git a/For Weekly Test/tricode/ClientClass.py b/For Weekly Test/tricode/ClientClass.py
deleted file mode 100755
index 46c3b00..0000000
--- a/For Weekly Test/tricode/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/For Weekly Test/tricode/GSMExt.Eplus handler.log b/For Weekly Test/tricode/GSMExt.Eplus handler.log
deleted file mode 100644
index f399469..0000000
--- a/For Weekly Test/tricode/GSMExt.Eplus handler.log
+++ /dev/null
@@ -1,368 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:21:10.209885 ------------------
-On: 2011-10-31 13:21:10.210040 Event: LISTEN ON PORT: 53190
-On: 2011-10-31 13:21:11.417910 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38498)
-On: 2011-10-31 13:21:11.490080 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:21:11.493662 Event: RECEIVER READY SENT
-On: 2011-10-31 13:21:21.561755 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:26:21.643874 ------------------
-On: 2011-10-31 13:26:21.644003 Event: LISTEN ON PORT: 49286
-On: 2011-10-31 13:26:22.712041 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56053)
-On: 2011-10-31 13:26:22.784894 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:26:22.790117 Event: RECEIVER READY SENT
-On: 2011-10-31 13:26:32.837702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:30:55.352995 ------------------
-On: 2011-10-31 13:30:55.353128 Event: LISTEN ON PORT: 56194
-On: 2011-10-31 13:30:56.605750 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53962)
-On: 2011-10-31 13:30:56.649995 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:30:56.650372 Event: RECEIVER READY SENT
-On: 2011-10-31 13:31:06.693859 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:36:57.036420 ------------------
-On: 2011-10-31 13:36:57.036553 Event: LISTEN ON PORT: 33609
-On: 2011-10-31 13:36:58.345834 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45640)
-On: 2011-10-31 13:36:58.393927 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:36:58.394711 Event: RECEIVER READY SENT
-On: 2011-10-31 13:37:13.437757 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:55:21.926724 ------------------
-On: 2011-10-31 13:55:21.926857 Event: LISTEN ON PORT: 51515
-On: 2011-10-31 13:55:23.161887 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46514)
-On: 2011-10-31 13:55:23.233983 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:55:23.237798 Event: RECEIVER READY SENT
-On: 2011-10-31 13:55:38.309704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:56:49.664668 ------------------
-On: 2011-10-31 13:56:49.664801 Event: LISTEN ON PORT: 35933
-On: 2011-10-31 13:56:50.841740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55988)
-On: 2011-10-31 13:56:50.909988 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:56:50.911011 Event: RECEIVER READY SENT
-On: 2011-10-31 13:57:05.981704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:58:36.463642 ------------------
-On: 2011-10-31 13:58:36.463777 Event: LISTEN ON PORT: 37961
-On: 2011-10-31 13:58:37.641833 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34926)
-On: 2011-10-31 13:58:37.713547 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:58:37.714367 Event: RECEIVER READY SENT
-On: 2011-10-31 13:58:52.782950 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:01:00.888824 ------------------
-On: 2011-10-31 14:01:00.888954 Event: LISTEN ON PORT: 51113
-On: 2011-10-31 14:01:02.125776 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36538)
-On: 2011-10-31 14:01:02.198176 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:01:02.198546 Event: RECEIVER READY SENT
-On: 2011-10-31 14:01:17.240561 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:24:40.419525 ------------------
-On: 2011-10-31 14:24:40.419660 Event: LISTEN ON PORT: 44922
-On: 2011-10-31 14:24:41.633743 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52087)
-On: 2011-10-31 14:24:41.678145 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:24:41.678581 Event: RECEIVER READY SENT
-On: 2011-10-31 14:24:56.724858 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:25:08.966850 ------------------
-On: 2011-10-31 14:25:08.966983 Event: LISTEN ON PORT: 59523
-On: 2011-10-31 14:25:10.009743 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46656)
-On: 2011-10-31 14:25:10.085565 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:25:10.086428 Event: RECEIVER READY SENT
-On: 2011-10-31 14:25:25.133725 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:22:59.137904 ------------------
-On: 2011-10-31 15:22:59.138044 Event: LISTEN ON PORT: 41374
-On: 2011-10-31 15:23:00.365845 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47701)
-On: 2011-10-31 15:23:00.417947 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:23:00.418319 Event: RECEIVER READY SENT
-On: 2011-10-31 15:23:15.461707 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:24:42.141822 ------------------
-On: 2011-10-31 16:24:42.141957 Event: LISTEN ON PORT: 51104
-On: 2011-10-31 16:24:43.493749 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48945)
-On: 2011-10-31 16:24:43.561978 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:24:43.562340 Event: RECEIVER READY SENT
-On: 2011-10-31 16:24:58.605714 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:38:33.429966 ------------------
-On: 2011-10-31 17:38:33.430095 Event: LISTEN ON PORT: 57229
-On: 2011-10-31 17:38:34.793735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33791)
-On: 2011-10-31 17:38:34.841974 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:38:34.845793 Event: RECEIVER READY SENT
-On: 2011-10-31 17:38:49.893733 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:36.080689 ------------------
-On: 2011-10-31 19:55:36.080815 Event: LISTEN ON PORT: 36705
-On: 2011-10-31 19:55:37.453749 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45290)
-On: 2011-10-31 19:55:37.497983 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:55:37.498344 Event: RECEIVER READY SENT
-On: 2011-10-31 19:55:52.569700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:01:33.373041 ------------------
-On: 2011-10-31 20:01:33.373168 Event: LISTEN ON PORT: 57090
-On: 2011-10-31 20:01:34.733738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53685)
-On: 2011-10-31 20:01:34.805972 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:01:34.806328 Event: RECEIVER READY SENT
-On: 2011-10-31 20:01:49.849716 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:15:01.890134 ------------------
-On: 2011-10-31 21:15:01.890264 Event: LISTEN ON PORT: 46697
-On: 2011-10-31 21:15:03.249735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59567)
-On: 2011-10-31 21:15:03.293977 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:15:03.294331 Event: RECEIVER READY SENT
-On: 2011-10-31 21:15:18.349700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:28:47.700575 ------------------
-On: 2011-10-31 21:28:47.700701 Event: LISTEN ON PORT: 33835
-On: 2011-10-31 21:28:49.061807 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52069)
-On: 2011-10-31 21:28:49.130004 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:28:49.130368 Event: RECEIVER READY SENT
-On: 2011-10-31 21:29:04.173733 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:13.054667 ------------------
-On: 2011-10-31 23:22:13.054797 Event: LISTEN ON PORT: 51792
-On: 2011-10-31 23:22:14.397742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51379)
-On: 2011-10-31 23:22:14.445983 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 23:22:14.446349 Event: RECEIVER READY SENT
-On: 2011-10-31 23:22:29.493714 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:22:03.598480 ------------------
-On: 2011-11-01 11:22:03.598606 Event: LISTEN ON PORT: 59222
-On: 2011-11-01 11:22:04.945802 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44933)
-On: 2011-11-01 11:22:05.018176 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:22:05.021779 Event: RECEIVER READY SENT
-On: 2011-11-01 11:22:20.065759 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:24:30.996559 ------------------
-On: 2011-11-01 11:24:30.996683 Event: LISTEN ON PORT: 44571
-On: 2011-11-01 11:24:32.345790 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39985)
-On: 2011-11-01 11:24:32.393905 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:24:32.397791 Event: RECEIVER READY SENT
-On: 2011-11-01 11:24:47.449774 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:14.199161 ------------------
-On: 2011-11-01 14:18:14.199286 Event: LISTEN ON PORT: 35855
-On: 2011-11-01 14:18:15.545810 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58455)
-On: 2011-11-01 14:18:15.617909 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:18:15.618273 Event: RECEIVER READY SENT
-On: 2011-11-01 14:18:30.685727 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:24:09.590448 ------------------
-On: 2011-11-01 14:24:09.590575 Event: LISTEN ON PORT: 47477
-On: 2011-11-01 14:24:10.961740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56748)
-On: 2011-11-01 14:24:11.029973 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:24:11.030386 Event: RECEIVER READY SENT
-On: 2011-11-01 14:24:26.073707 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:02.461521 ------------------
-On: 2011-11-01 19:37:02.461711 Event: LISTEN ON PORT: 40637
-On: 2011-11-01 19:37:03.789741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36699)
-On: 2011-11-01 19:37:03.838038 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 19:37:03.838444 Event: RECEIVER READY SENT
-On: 2011-11-01 19:37:18.881742 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:13:40.954676 ------------------
-On: 2011-11-01 20:13:40.954799 Event: LISTEN ON PORT: 37824
-On: 2011-11-01 20:13:42.317739 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43952)
-On: 2011-11-01 20:13:42.365913 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:13:42.366276 Event: RECEIVER READY SENT
-On: 2011-11-01 20:13:57.409947 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:42.765117 ------------------
-On: 2011-11-02 13:07:42.765259 Event: LISTEN ON PORT: 52404
-On: 2011-11-02 13:07:44.084658 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40410)
-On: 2011-11-02 13:07:44.135205 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:07:44.135616 Event: RECEIVER READY SENT
-On: 2011-11-02 13:07:59.178100 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:51.738678 ------------------
-On: 2011-11-02 13:19:51.738809 Event: LISTEN ON PORT: 39232
-On: 2011-11-02 13:19:53.034141 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47724)
-On: 2011-11-02 13:19:53.110261 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:19:53.110628 Event: RECEIVER READY SENT
-On: 2011-11-02 13:20:08.178235 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:29:44.789608 ------------------
-On: 2011-11-02 13:29:44.789742 Event: LISTEN ON PORT: 42028
-On: 2011-11-02 13:29:46.150191 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56891)
-On: 2011-11-02 13:29:46.222312 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:29:46.226128 Event: RECEIVER READY SENT
-On: 2011-11-02 13:30:01.274043 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:52.169908 ------------------
-On: 2011-11-02 13:42:52.177185 Event: LISTEN ON PORT: 56243
-On: 2011-11-02 13:42:53.150093 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56013)
-On: 2011-11-02 13:42:53.210470 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:42:53.210847 Event: RECEIVER READY SENT
-On: 2011-11-02 13:43:08.258189 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:55:37.461077 ------------------
-On: 2011-11-02 13:55:37.461212 Event: LISTEN ON PORT: 57431
-On: 2011-11-02 13:55:38.790137 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59306)
-On: 2011-11-02 13:55:38.846442 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:55:38.850007 Event: RECEIVER READY SENT
-On: 2011-11-02 13:55:53.898040 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:04:24.953327 ------------------
-On: 2011-11-02 14:04:24.953502 Event: LISTEN ON PORT: 54930
-On: 2011-11-02 14:04:26.010176 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58411)
-On: 2011-11-02 14:04:26.082288 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:04:26.082652 Event: RECEIVER READY SENT
-On: 2011-11-02 14:04:41.135761 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:44.622905 ------------------
-On: 2011-11-02 14:19:44.623036 Event: LISTEN ON PORT: 34539
-On: 2011-11-02 14:19:45.786214 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49168)
-On: 2011-11-02 14:19:45.850459 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:19:45.850817 Event: RECEIVER READY SENT
-On: 2011-11-02 14:20:00.898906 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:28:45.946161 ------------------
-On: 2011-11-02 14:28:45.946343 Event: LISTEN ON PORT: 41411
-On: 2011-11-02 14:28:47.150144 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52558)
-On: 2011-11-02 14:28:47.222325 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:28:47.222680 Event: RECEIVER READY SENT
-On: 2011-11-02 14:29:02.266212 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:30:46.230288 ------------------
-On: 2011-11-02 14:30:46.230432 Event: LISTEN ON PORT: 51881
-On: 2011-11-02 14:30:47.542160 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38117)
-On: 2011-11-02 14:30:47.590259 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:30:47.594122 Event: RECEIVER READY SENT
-On: 2011-11-02 14:31:02.643015 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:44.404745 ------------------
-On: 2011-11-02 14:35:44.404919 Event: LISTEN ON PORT: 36170
-On: 2011-11-02 14:35:45.562094 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54162)
-On: 2011-11-02 14:35:45.629699 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:35:45.630099 Event: RECEIVER READY SENT
-On: 2011-11-02 14:36:00.670143 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:52:38.921352 ------------------
-On: 2011-11-02 14:52:38.921482 Event: LISTEN ON PORT: 35734
-On: 2011-11-02 14:52:40.286088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42610)
-On: 2011-11-02 14:52:40.354321 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:52:40.354833 Event: RECEIVER READY SENT
-On: 2011-11-02 14:52:55.398098 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:42:51.635391 ------------------
-On: 2011-11-02 15:42:51.635523 Event: LISTEN ON PORT: 40091
-On: 2011-11-02 15:42:52.902091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54205)
-On: 2011-11-02 15:42:52.954260 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:42:52.958250 Event: RECEIVER READY SENT
-On: 2011-11-02 15:43:08.006097 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:44:14.554726 ------------------
-On: 2011-11-02 15:44:14.554856 Event: LISTEN ON PORT: 44913
-On: 2011-11-02 15:44:15.878100 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51579)
-On: 2011-11-02 15:44:15.930258 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:44:15.930680 Event: RECEIVER READY SENT
-On: 2011-11-02 15:44:30.974107 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:45:53.507920 ------------------
-On: 2011-11-02 15:45:53.508051 Event: LISTEN ON PORT: 30249
-On: 2011-11-02 15:45:54.810173 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56360)
-On: 2011-11-02 15:45:54.882275 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:45:54.882698 Event: RECEIVER READY SENT
-On: 2011-11-02 15:46:09.950047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:48:09.365370 ------------------
-On: 2011-11-02 15:48:09.365508 Event: LISTEN ON PORT: 47280
-On: 2011-11-02 15:48:10.622090 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60876)
-On: 2011-11-02 15:48:10.703769 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:48:10.704122 Event: RECEIVER READY SENT
-On: 2011-11-02 15:48:25.746099 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:12:49.308113 ------------------
-On: 2011-11-02 16:12:49.308478 Event: LISTEN ON PORT: 33542
-On: 2011-11-02 16:12:50.482094 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52405)
-On: 2011-11-02 16:12:50.541863 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:12:50.542655 Event: RECEIVER READY SENT
-On: 2011-11-02 16:13:05.610064 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:23:28.025485 ------------------
-On: 2011-11-02 16:23:28.025615 Event: LISTEN ON PORT: 47618
-On: 2011-11-02 16:23:29.294143 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54478)
-On: 2011-11-02 16:23:29.378904 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:23:29.379268 Event: RECEIVER READY SENT
-On: 2011-11-02 16:23:44.422101 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:08:10.180889 ------------------
-On: 2011-11-02 17:08:10.181051 Event: LISTEN ON PORT: 36943
-On: 2011-11-02 17:08:11.462174 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33311)
-On: 2011-11-02 17:08:11.534265 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:08:11.535047 Event: RECEIVER READY SENT
-On: 2011-11-02 17:08:26.602121 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:09:56.888424 ------------------
-On: 2011-11-02 17:09:56.888555 Event: LISTEN ON PORT: 47603
-On: 2011-11-02 17:09:58.166086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50789)
-On: 2011-11-02 17:09:58.242337 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:09:58.243070 Event: RECEIVER READY SENT
-On: 2011-11-02 17:10:13.314063 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:11:16.608307 ------------------
-On: 2011-11-02 17:11:16.608437 Event: LISTEN ON PORT: 30912
-On: 2011-11-02 17:11:17.842131 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59009)
-On: 2011-11-02 17:11:17.914329 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:11:17.918117 Event: RECEIVER READY SENT
-On: 2011-11-02 17:11:32.990048 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:33.630876 ------------------
-On: 2011-11-02 17:16:33.631011 Event: LISTEN ON PORT: 42940
-On: 2011-11-02 17:16:34.886204 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55801)
-On: 2011-11-02 17:16:34.962279 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:16:34.962646 Event: RECEIVER READY SENT
-On: 2011-11-02 17:16:50.010072 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:28:30.785522 ------------------
-On: 2011-11-02 18:28:30.785654 Event: LISTEN ON PORT: 44290
-On: 2011-11-02 18:28:31.822511 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58356)
-On: 2011-11-02 18:28:31.878616 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 18:28:31.878982 Event: RECEIVER READY SENT
-On: 2011-11-02 18:28:46.942045 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/tricode/GSMExt.O2 handler.log b/For Weekly Test/tricode/GSMExt.O2 handler.log
deleted file mode 100644
index 5c79918..0000000
--- a/For Weekly Test/tricode/GSMExt.O2 handler.log
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:23:26.633667 ------------------
-On: 2011-10-31 13:23:26.633810 Event: LISTEN ON PORT: 46436
-On: 2011-10-31 13:23:27.865904 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46533)
-On: 2011-10-31 13:23:27.945928 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:23:27.946360 Event: RECEIVER READY SENT
-On: 2011-10-31 13:23:37.701705 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:32:31.735325 ------------------
-On: 2011-10-31 13:32:31.735455 Event: LISTEN ON PORT: 56501
-On: 2011-10-31 13:32:32.761791 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58858)
-On: 2011-10-31 13:32:32.837975 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:32:32.838764 Event: RECEIVER READY SENT
-On: 2011-10-31 13:32:42.880050 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:37:59.804017 ------------------
-On: 2011-10-31 13:37:59.804147 Event: LISTEN ON PORT: 41358
-On: 2011-10-31 13:38:01.069799 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54267)
-On: 2011-10-31 13:38:01.149918 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:38:01.150237 Event: RECEIVER READY SENT
-On: 2011-10-31 13:38:12.125354 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:56:23.040314 ------------------
-On: 2011-10-31 13:56:23.040449 Event: LISTEN ON PORT: 33489
-On: 2011-10-31 13:56:24.309836 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43239)
-On: 2011-10-31 13:56:24.361947 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:56:24.373647 Event: RECEIVER READY SENT
-On: 2011-10-31 13:56:34.889708 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:58:11.452422 ------------------
-On: 2011-10-31 13:58:11.452557 Event: LISTEN ON PORT: 52584
-On: 2011-10-31 13:58:12.664502 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35010)
-On: 2011-10-31 13:58:12.709950 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:58:12.713695 Event: RECEIVER READY SENT
-On: 2011-10-31 13:58:21.985751 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:59:57.419959 ------------------
-On: 2011-10-31 13:59:57.420091 Event: LISTEN ON PORT: 55096
-On: 2011-10-31 13:59:58.581735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53524)
-On: 2011-10-31 13:59:58.658000 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:59:58.658789 Event: RECEIVER READY SENT
-On: 2011-10-31 14:00:09.137732 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:02:05.063343 ------------------
-On: 2011-10-31 14:02:05.063485 Event: LISTEN ON PORT: 58304
-On: 2011-10-31 14:02:06.297966 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51000)
-On: 2011-10-31 14:02:06.369921 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:02:06.370364 Event: RECEIVER READY SENT
-On: 2011-10-31 14:02:17.302001 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:05:09.508350 ------------------
-On: 2011-10-31 14:05:09.508483 Event: LISTEN ON PORT: 48123
-On: 2011-10-31 14:05:10.760428 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47184)
-On: 2011-10-31 14:05:10.829969 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:05:10.833787 Event: RECEIVER READY SENT
-On: 2011-10-31 14:05:20.981776 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:07:04.587340 ------------------
-On: 2011-10-31 14:07:04.587471 Event: LISTEN ON PORT: 58581
-On: 2011-10-31 14:07:05.841818 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49947)
-On: 2011-10-31 14:07:05.917916 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:07:05.921797 Event: RECEIVER READY SENT
-On: 2011-10-31 14:07:15.157746 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:22:18.944637 ------------------
-On: 2011-10-31 15:22:18.944766 Event: LISTEN ON PORT: 32722
-On: 2011-10-31 15:22:20.208164 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56845)
-On: 2011-10-31 15:22:20.262062 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:22:20.271128 Event: RECEIVER READY SENT
-On: 2011-10-31 15:22:29.569756 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:25:04.307740 ------------------
-On: 2011-10-31 16:25:04.307870 Event: LISTEN ON PORT: 31683
-On: 2011-10-31 16:25:05.661768 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37475)
-On: 2011-10-31 16:25:05.733917 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:25:05.734267 Event: RECEIVER READY SENT
-On: 2011-10-31 16:25:16.065698 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:16.491773 ------------------
-On: 2011-10-31 17:39:16.491899 Event: LISTEN ON PORT: 31658
-On: 2011-10-31 17:39:17.841773 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55747)
-On: 2011-10-31 17:39:17.913942 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:39:17.914306 Event: RECEIVER READY SENT
-On: 2011-10-31 17:39:29.533701 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:58.249528 ------------------
-On: 2011-10-31 19:55:58.249684 Event: LISTEN ON PORT: 46070
-On: 2011-10-31 19:55:59.605735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47266)
-On: 2011-10-31 19:55:59.677934 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:55:59.678294 Event: RECEIVER READY SENT
-On: 2011-10-31 19:56:09.917741 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:01:55.549376 ------------------
-On: 2011-10-31 20:01:55.549501 Event: LISTEN ON PORT: 51485
-On: 2011-10-31 20:01:56.909768 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38648)
-On: 2011-10-31 20:01:56.981908 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:01:56.982255 Event: RECEIVER READY SENT
-On: 2011-10-31 20:02:07.741730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:15:27.325934 ------------------
-On: 2011-10-31 21:15:27.326065 Event: LISTEN ON PORT: 57630
-On: 2011-10-31 21:15:28.693739 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52446)
-On: 2011-10-31 21:15:28.741917 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:15:28.742272 Event: RECEIVER READY SENT
-On: 2011-10-31 21:15:43.789740 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:17:40.061025 ------------------
-On: 2011-10-31 21:17:40.061150 Event: LISTEN ON PORT: 45325
-On: 2011-10-31 21:17:41.429760 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59290)
-On: 2011-10-31 21:17:41.477911 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:17:41.478389 Event: RECEIVER READY SENT
-On: 2011-10-31 21:17:56.525730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:26:24.196000 ------------------
-On: 2011-10-31 21:26:24.196125 Event: LISTEN ON PORT: 45725
-On: 2011-10-31 21:26:25.589786 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58707)
-On: 2011-10-31 21:26:25.661911 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:26:25.662320 Event: RECEIVER READY SENT
-On: 2011-10-31 21:26:37.609708 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:27:14.522454 ------------------
-On: 2011-10-31 21:27:14.522580 Event: LISTEN ON PORT: 44273
-On: 2011-10-31 21:27:15.873742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56182)
-On: 2011-10-31 21:27:15.945939 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:27:15.946359 Event: RECEIVER READY SENT
-On: 2011-10-31 21:27:25.837730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:29:09.884550 ------------------
-On: 2011-10-31 21:29:09.884677 Event: LISTEN ON PORT: 41615
-On: 2011-10-31 21:29:11.253771 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58546)
-On: 2011-10-31 21:29:11.301923 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:29:11.302357 Event: RECEIVER READY SENT
-On: 2011-10-31 21:29:22.841694 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:35.196673 ------------------
-On: 2011-10-31 23:22:35.196799 Event: LISTEN ON PORT: 30397
-On: 2011-10-31 23:22:36.549767 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36522)
-On: 2011-10-31 23:22:36.621914 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 23:22:36.622276 Event: RECEIVER READY SENT
-On: 2011-10-31 23:22:49.793694 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:22:47.143290 ------------------
-On: 2011-11-01 11:22:47.143418 Event: LISTEN ON PORT: 48933
-On: 2011-11-01 11:22:48.485763 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47938)
-On: 2011-11-01 11:22:48.553938 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:22:48.554293 Event: RECEIVER READY SENT
-On: 2011-11-01 11:22:59.541718 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:14.262527 ------------------
-On: 2011-11-01 11:25:14.262654 Event: LISTEN ON PORT: 37173
-On: 2011-11-01 11:25:15.605746 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56198)
-On: 2011-11-01 11:25:15.677935 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:25:15.678302 Event: RECEIVER READY SENT
-On: 2011-11-01 11:25:26.329717 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:17:29.953768 ------------------
-On: 2011-11-01 14:17:29.953901 Event: LISTEN ON PORT: 45594
-On: 2011-11-01 14:17:31.301740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36292)
-On: 2011-11-01 14:17:31.349937 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:17:31.353789 Event: RECEIVER READY SENT
-On: 2011-11-01 14:17:46.409740 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:17.799351 ------------------
-On: 2011-11-01 14:19:17.799477 Event: LISTEN ON PORT: 54732
-On: 2011-11-01 14:19:19.137740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59598)
-On: 2011-11-01 14:19:19.209943 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:19:19.210304 Event: RECEIVER READY SENT
-On: 2011-11-01 14:19:34.281700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:20:25.891225 ------------------
-On: 2011-11-01 14:20:25.891347 Event: LISTEN ON PORT: 45459
-On: 2011-11-01 14:20:27.229737 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54945)
-On: 2011-11-01 14:20:27.301937 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:20:27.302301 Event: RECEIVER READY SENT
-On: 2011-11-01 14:20:42.373714 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:24:52.756672 ------------------
-On: 2011-11-01 14:24:52.756795 Event: LISTEN ON PORT: 55435
-On: 2011-11-01 14:24:54.085734 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42661)
-On: 2011-11-01 14:24:54.157962 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:24:54.158316 Event: RECEIVER READY SENT
-On: 2011-11-01 14:25:09.229697 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:26:20.231792 ------------------
-On: 2011-11-01 14:26:20.231917 Event: LISTEN ON PORT: 45055
-On: 2011-11-01 14:26:21.605732 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54908)
-On: 2011-11-01 14:26:21.677906 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:26:21.678385 Event: RECEIVER READY SENT
-On: 2011-11-01 14:26:36.729704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:34:16.619818 ------------------
-On: 2011-11-01 14:34:16.619943 Event: LISTEN ON PORT: 46819
-On: 2011-11-01 14:34:18.013740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46835)
-On: 2011-11-01 14:34:18.061943 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:34:18.062365 Event: RECEIVER READY SENT
-On: 2011-11-01 14:34:27.561696 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:39:34.715098 ------------------
-On: 2011-11-01 14:39:34.715223 Event: LISTEN ON PORT: 39736
-On: 2011-11-01 14:39:36.081768 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45098)
-On: 2011-11-01 14:39:36.129905 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:39:36.130264 Event: RECEIVER READY SENT
-On: 2011-11-01 14:39:47.245700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:43:10.847867 ------------------
-On: 2011-11-01 14:43:10.848012 Event: LISTEN ON PORT: 46911
-On: 2011-11-01 14:43:12.193746 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33482)
-On: 2011-11-01 14:43:12.265933 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:43:12.266294 Event: RECEIVER READY SENT
-On: 2011-11-01 14:43:22.669701 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:44:28.719971 ------------------
-On: 2011-11-01 14:44:28.720096 Event: LISTEN ON PORT: 43222
-On: 2011-11-01 14:44:30.061745 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37443)
-On: 2011-11-01 14:44:30.133941 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:44:30.134304 Event: RECEIVER READY SENT
-On: 2011-11-01 14:44:42.569745 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:25.909758 ------------------
-On: 2011-11-01 19:37:25.909899 Event: LISTEN ON PORT: 56290
-On: 2011-11-01 19:37:27.245771 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43023)
-On: 2011-11-01 19:37:27.293909 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 19:37:27.294270 Event: RECEIVER READY SENT
-On: 2011-11-01 19:37:37.549693 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:14:03.145867 ------------------
-On: 2011-11-01 20:14:03.146001 Event: LISTEN ON PORT: 51137
-On: 2011-11-01 20:14:04.473742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42763)
-On: 2011-11-01 20:14:04.545935 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:14:04.546298 Event: RECEIVER READY SENT
-On: 2011-11-01 20:14:14.609697 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:04.975031 ------------------
-On: 2011-11-02 13:08:04.975186 Event: LISTEN ON PORT: 46041
-On: 2011-11-02 13:08:06.250230 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34926)
-On: 2011-11-02 13:08:06.318333 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:08:06.318699 Event: RECEIVER READY SENT
-On: 2011-11-02 13:08:16.698091 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:19.460477 ------------------
-On: 2011-11-02 13:19:19.460608 Event: LISTEN ON PORT: 38999
-On: 2011-11-02 13:19:20.762076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59327)
-On: 2011-11-02 13:19:20.834285 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:19:20.838126 Event: RECEIVER READY SENT
-On: 2011-11-02 13:19:29.672539 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:43:14.284875 ------------------
-On: 2011-11-02 13:43:14.285012 Event: LISTEN ON PORT: 49562
-On: 2011-11-02 13:43:15.354915 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38945)
-On: 2011-11-02 13:43:15.410449 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:43:15.410818 Event: RECEIVER READY SENT
-On: 2011-11-02 13:43:27.187850 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:56:12.722041 ------------------
-On: 2011-11-02 13:56:12.722179 Event: LISTEN ON PORT: 35340
-On: 2011-11-02 13:56:14.058110 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54352)
-On: 2011-11-02 13:56:14.126320 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:56:14.126684 Event: RECEIVER READY SENT
-On: 2011-11-02 13:56:24.578088 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:04:47.019278 ------------------
-On: 2011-11-02 14:04:47.019413 Event: LISTEN ON PORT: 49362
-On: 2011-11-02 14:04:48.256211 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34400)
-On: 2011-11-02 14:04:48.346391 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:04:48.346762 Event: RECEIVER READY SENT
-On: 2011-11-02 14:04:58.826257 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:06.597792 ------------------
-On: 2011-11-02 14:20:06.597922 Event: LISTEN ON PORT: 31511
-On: 2011-11-02 14:20:07.950140 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47370)
-On: 2011-11-02 14:20:07.998381 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:20:07.998777 Event: RECEIVER READY SENT
-On: 2011-11-02 14:20:20.218063 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:54.177495 ------------------
-On: 2011-11-02 14:27:54.177628 Event: LISTEN ON PORT: 41806
-On: 2011-11-02 14:27:55.378173 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41597)
-On: 2011-11-02 14:27:55.426306 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:27:55.426666 Event: RECEIVER READY SENT
-On: 2011-11-02 14:28:06.306085 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:21.439145 ------------------
-On: 2011-11-02 14:31:21.439278 Event: LISTEN ON PORT: 54132
-On: 2011-11-02 14:31:22.794081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40880)
-On: 2011-11-02 14:31:22.838330 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:31:22.838698 Event: RECEIVER READY SENT
-On: 2011-11-02 14:31:33.610047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:06.602232 ------------------
-On: 2011-11-02 14:36:06.602374 Event: LISTEN ON PORT: 38264
-On: 2011-11-02 14:36:07.794267 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49234)
-On: 2011-11-02 14:36:07.850299 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:36:07.850695 Event: RECEIVER READY SENT
-On: 2011-11-02 14:36:18.482073 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:01.147086 ------------------
-On: 2011-11-02 14:53:01.147218 Event: LISTEN ON PORT: 34074
-On: 2011-11-02 14:53:02.486167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47127)
-On: 2011-11-02 14:53:02.534257 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:53:02.534613 Event: RECEIVER READY SENT
-On: 2011-11-02 14:53:14.226156 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:43:46.174666 ------------------
-On: 2011-11-02 15:43:46.174798 Event: LISTEN ON PORT: 55336
-On: 2011-11-02 15:43:47.462194 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39267)
-On: 2011-11-02 15:43:47.506671 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:43:47.510487 Event: RECEIVER READY SENT
-On: 2011-11-02 15:44:02.554098 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:45:28.561173 ------------------
-On: 2011-11-02 15:45:28.561308 Event: LISTEN ON PORT: 52847
-On: 2011-11-02 15:45:29.862156 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48346)
-On: 2011-11-02 15:45:29.934286 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:45:29.935071 Event: RECEIVER READY SENT
-On: 2011-11-02 15:45:39.805053 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:47:06.460510 ------------------
-On: 2011-11-02 15:47:06.460643 Event: LISTEN ON PORT: 48086
-On: 2011-11-02 15:47:07.762178 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59116)
-On: 2011-11-02 15:47:07.810277 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:47:07.811061 Event: RECEIVER READY SENT
-On: 2011-11-02 15:47:18.978092 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:49:03.570867 ------------------
-On: 2011-11-02 15:49:03.571000 Event: LISTEN ON PORT: 53452
-On: 2011-11-02 15:49:04.834164 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50200)
-On: 2011-11-02 15:49:04.910261 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:49:04.911095 Event: RECEIVER READY SENT
-On: 2011-11-02 15:49:16.266079 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:11:42.987894 ------------------
-On: 2011-11-02 16:11:42.988033 Event: LISTEN ON PORT: 43412
-On: 2011-11-02 16:11:44.030144 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38978)
-On: 2011-11-02 16:11:44.086519 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:11:44.090127 Event: RECEIVER READY SENT
-On: 2011-11-02 16:11:53.230046 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:23:50.287133 ------------------
-On: 2011-11-02 16:23:50.287264 Event: LISTEN ON PORT: 45930
-On: 2011-11-02 16:23:51.494199 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47521)
-On: 2011-11-02 16:23:51.566386 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:23:51.566751 Event: RECEIVER READY SENT
-On: 2011-11-02 16:24:02.882092 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:06:50.268531 ------------------
-On: 2011-11-02 17:06:50.268665 Event: LISTEN ON PORT: 53490
-On: 2011-11-02 17:06:51.554087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57820)
-On: 2011-11-02 17:06:51.630338 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:06:51.630778 Event: RECEIVER READY SENT
-On: 2011-11-02 17:07:02.022213 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:08:38.585672 ------------------
-On: 2011-11-02 17:08:38.585825 Event: LISTEN ON PORT: 58624
-On: 2011-11-02 17:08:39.898169 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53967)
-On: 2011-11-02 17:08:39.946270 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:08:39.946702 Event: RECEIVER READY SENT
-On: 2011-11-02 17:08:50.238219 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:19.279748 ------------------
-On: 2011-11-02 17:10:19.279880 Event: LISTEN ON PORT: 34456
-On: 2011-11-02 17:10:20.522121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56719)
-On: 2011-11-02 17:10:20.594335 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:20.598546 Event: RECEIVER READY SENT
-On: 2011-11-02 17:10:29.042044 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:17:39.679295 ------------------
-On: 2011-11-02 17:17:39.679427 Event: LISTEN ON PORT: 47315
-On: 2011-11-02 17:17:40.938164 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35771)
-On: 2011-11-02 17:17:40.990375 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:17:40.990696 Event: RECEIVER READY SENT
-On: 2011-11-02 17:17:52.790091 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:27:52.702755 ------------------
-On: 2011-11-02 18:27:52.702887 Event: LISTEN ON PORT: 31611
-On: 2011-11-02 18:27:52.818103 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53371)
-On: 2011-11-02 18:27:52.866325 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 18:27:52.870299 Event: RECEIVER READY SENT
-On: 2011-11-02 18:28:01.830082 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/tricode/GSMExt.Tm handler.log b/For Weekly Test/tricode/GSMExt.Tm handler.log
deleted file mode 100644
index 528472d..0000000
--- a/For Weekly Test/tricode/GSMExt.Tm handler.log
+++ /dev/null
@@ -1,352 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:23:51.720558 ------------------
-On: 2011-10-31 13:23:51.720690 Event: LISTEN ON PORT: 55644
-On: 2011-10-31 13:23:52.949673 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55759)
-On: 2011-10-31 13:23:52.993997 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:23:52.994652 Event: RECEIVER READY SENT
-On: 2011-10-31 13:24:03.037704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:33:00.178843 ------------------
-On: 2011-10-31 13:33:00.178976 Event: LISTEN ON PORT: 43457
-On: 2011-10-31 13:33:01.341748 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55958)
-On: 2011-10-31 13:33:01.413993 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:33:01.414653 Event: RECEIVER READY SENT
-On: 2011-10-31 13:33:11.453784 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:38:20.603323 ------------------
-On: 2011-10-31 13:38:20.603452 Event: LISTEN ON PORT: 33071
-On: 2011-10-31 13:38:21.853756 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54171)
-On: 2011-10-31 13:38:21.929988 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:38:21.930344 Event: RECEIVER READY SENT
-On: 2011-10-31 13:38:36.993731 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:56:03.717498 ------------------
-On: 2011-10-31 13:56:03.717666 Event: LISTEN ON PORT: 53699
-On: 2011-10-31 13:56:04.957753 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56311)
-On: 2011-10-31 13:56:05.026328 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:56:05.029798 Event: RECEIVER READY SENT
-On: 2011-10-31 13:56:15.053879 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:57:44.603855 ------------------
-On: 2011-10-31 13:57:44.604003 Event: LISTEN ON PORT: 30278
-On: 2011-10-31 13:57:45.385755 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34611)
-On: 2011-10-31 13:57:45.504537 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:57:45.504952 Event: RECEIVER READY SENT
-On: 2011-10-31 13:57:57.373754 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:59:31.207597 ------------------
-On: 2011-10-31 13:59:31.207730 Event: LISTEN ON PORT: 52222
-On: 2011-10-31 13:59:32.365796 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44920)
-On: 2011-10-31 13:59:32.441921 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:59:32.442711 Event: RECEIVER READY SENT
-On: 2011-10-31 13:59:42.703756 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:01:44.201444 ------------------
-On: 2011-10-31 14:01:44.201578 Event: LISTEN ON PORT: 35238
-On: 2011-10-31 14:01:44.829916 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52808)
-On: 2011-10-31 14:01:44.913359 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:01:44.913922 Event: RECEIVER READY SENT
-On: 2011-10-31 14:01:57.421737 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:23:21.547270 ------------------
-On: 2011-10-31 15:23:21.547401 Event: LISTEN ON PORT: 36978
-On: 2011-10-31 15:23:22.537739 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39075)
-On: 2011-10-31 15:23:22.613945 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:23:22.614307 Event: RECEIVER READY SENT
-On: 2011-10-31 15:23:34.949757 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:25:23.403736 ------------------
-On: 2011-10-31 16:25:23.403867 Event: LISTEN ON PORT: 33237
-On: 2011-10-31 16:25:24.785735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57022)
-On: 2011-10-31 16:25:24.833945 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:25:24.834307 Event: RECEIVER READY SENT
-On: 2011-10-31 16:25:36.341703 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:36.902977 ------------------
-On: 2011-10-31 17:39:36.903104 Event: LISTEN ON PORT: 43818
-On: 2011-10-31 17:39:38.277803 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59970)
-On: 2011-10-31 17:39:38.329914 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:39:38.330348 Event: RECEIVER READY SENT
-On: 2011-10-31 17:39:50.633693 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:56:17.337269 ------------------
-On: 2011-10-31 19:56:17.337394 Event: LISTEN ON PORT: 38458
-On: 2011-10-31 19:56:18.693742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40930)
-On: 2011-10-31 19:56:18.765935 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:56:18.766294 Event: RECEIVER READY SENT
-On: 2011-10-31 19:56:34.501726 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:02:15.109568 ------------------
-On: 2011-10-31 20:02:15.109765 Event: LISTEN ON PORT: 32547
-On: 2011-10-31 20:02:16.465769 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51980)
-On: 2011-10-31 20:02:16.537945 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:02:16.538308 Event: RECEIVER READY SENT
-On: 2011-10-31 20:02:31.609697 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:03:45.706962 ------------------
-On: 2011-10-31 20:03:45.707095 Event: LISTEN ON PORT: 34839
-On: 2011-10-31 20:03:47.062803 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42171)
-On: 2011-10-31 20:03:47.137908 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:03:47.138746 Event: RECEIVER READY SENT
-On: 2011-10-31 20:04:02.189843 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:16:09.494445 ------------------
-On: 2011-10-31 21:16:09.494575 Event: LISTEN ON PORT: 50222
-On: 2011-10-31 21:16:10.857742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45567)
-On: 2011-10-31 21:16:10.905937 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:16:10.906299 Event: RECEIVER READY SENT
-On: 2011-10-31 21:16:25.957703 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:18:09.249099 ------------------
-On: 2011-10-31 21:18:09.249225 Event: LISTEN ON PORT: 53566
-On: 2011-10-31 21:18:10.637736 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54115)
-On: 2011-10-31 21:18:10.689912 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:18:10.690327 Event: RECEIVER READY SENT
-On: 2011-10-31 21:18:25.773823 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:29:30.204153 ------------------
-On: 2011-10-31 21:29:30.204278 Event: LISTEN ON PORT: 58497
-On: 2011-10-31 21:29:31.557742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43210)
-On: 2011-10-31 21:29:31.629940 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:29:31.630292 Event: RECEIVER READY SENT
-On: 2011-10-31 21:29:42.873720 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:57.164539 ------------------
-On: 2011-10-31 23:22:57.164680 Event: LISTEN ON PORT: 41851
-On: 2011-10-31 23:22:58.541770 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34924)
-On: 2011-10-31 23:22:58.589919 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 23:22:58.590280 Event: RECEIVER READY SENT
-On: 2011-10-31 23:23:10.161704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:06.855549 ------------------
-On: 2011-11-01 11:23:06.855673 Event: LISTEN ON PORT: 44839
-On: 2011-11-01 11:23:08.221742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34150)
-On: 2011-11-01 11:23:08.269943 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:23:08.270307 Event: RECEIVER READY SENT
-On: 2011-11-01 11:23:21.301699 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:33.673730 ------------------
-On: 2011-11-01 11:25:33.673864 Event: LISTEN ON PORT: 30883
-On: 2011-11-01 11:25:35.021740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33474)
-On: 2011-11-01 11:25:35.093944 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:25:35.094309 Event: RECEIVER READY SENT
-On: 2011-11-01 11:25:47.425731 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:36.381763 ------------------
-On: 2011-11-01 14:18:36.381896 Event: LISTEN ON PORT: 50990
-On: 2011-11-01 14:18:37.721738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59468)
-On: 2011-11-01 14:18:37.769940 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:18:37.770305 Event: RECEIVER READY SENT
-On: 2011-11-01 14:18:49.937729 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:25:14.918313 ------------------
-On: 2011-11-01 14:25:14.918437 Event: LISTEN ON PORT: 54682
-On: 2011-11-01 14:25:16.285738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34886)
-On: 2011-11-01 14:25:16.333939 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:25:16.334293 Event: RECEIVER READY SENT
-On: 2011-11-01 14:25:28.225730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:44.869025 ------------------
-On: 2011-11-01 19:37:44.869150 Event: LISTEN ON PORT: 32596
-On: 2011-11-01 19:37:46.205770 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46380)
-On: 2011-11-01 19:37:46.253922 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 19:37:46.254290 Event: RECEIVER READY SENT
-On: 2011-11-01 19:37:59.765702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:12:58.953480 ------------------
-On: 2011-11-01 20:12:58.953603 Event: LISTEN ON PORT: 45303
-On: 2011-11-01 20:13:00.353762 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51955)
-On: 2011-11-01 20:13:00.401911 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:13:00.402323 Event: RECEIVER READY SENT
-On: 2011-11-01 20:13:12.201693 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:24.139020 ------------------
-On: 2011-11-02 13:08:24.139160 Event: LISTEN ON PORT: 59082
-On: 2011-11-02 13:08:25.430219 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53396)
-On: 2011-11-02 13:08:25.498333 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:08:25.498696 Event: RECEIVER READY SENT
-On: 2011-11-02 13:08:37.330402 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:20:13.939420 ------------------
-On: 2011-11-02 13:20:13.939552 Event: LISTEN ON PORT: 41673
-On: 2011-11-02 13:20:15.226121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38986)
-On: 2011-11-02 13:20:15.294320 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:20:15.294685 Event: RECEIVER READY SENT
-On: 2011-11-02 13:20:29.102093 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:43:34.748542 ------------------
-On: 2011-11-02 13:43:34.748695 Event: LISTEN ON PORT: 37348
-On: 2011-11-02 13:43:35.914087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35096)
-On: 2011-11-02 13:43:35.991666 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:43:35.992090 Event: RECEIVER READY SENT
-On: 2011-11-02 13:43:50.810087 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:56:31.935810 ------------------
-On: 2011-11-02 13:56:31.935943 Event: LISTEN ON PORT: 41628
-On: 2011-11-02 13:56:33.266091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56299)
-On: 2011-11-02 13:56:33.334320 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:56:33.334688 Event: RECEIVER READY SENT
-On: 2011-11-02 13:56:46.626046 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:06.749637 ------------------
-On: 2011-11-02 14:05:06.749769 Event: LISTEN ON PORT: 58510
-On: 2011-11-02 14:05:07.542216 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53282)
-On: 2011-11-02 14:05:07.614423 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:05:07.614785 Event: RECEIVER READY SENT
-On: 2011-11-02 14:05:22.037516 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:27.528077 ------------------
-On: 2011-11-02 14:20:27.528209 Event: LISTEN ON PORT: 43094
-On: 2011-11-02 14:20:28.870149 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36144)
-On: 2011-11-02 14:20:28.938326 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:20:28.938692 Event: RECEIVER READY SENT
-On: 2011-11-02 14:20:40.162046 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:28:13.699080 ------------------
-On: 2011-11-02 14:28:13.699216 Event: LISTEN ON PORT: 51654
-On: 2011-11-02 14:28:14.986174 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43710)
-On: 2011-11-02 14:28:15.038318 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:28:15.038687 Event: RECEIVER READY SENT
-On: 2011-11-02 14:28:26.214044 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:40.969457 ------------------
-On: 2011-11-02 14:31:40.969592 Event: LISTEN ON PORT: 30693
-On: 2011-11-02 14:31:42.326137 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44519)
-On: 2011-11-02 14:31:42.398254 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:31:42.398616 Event: RECEIVER READY SENT
-On: 2011-11-02 14:31:53.938085 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:26.123571 ------------------
-On: 2011-11-02 14:36:26.131526 Event: LISTEN ON PORT: 40525
-On: 2011-11-02 14:36:27.178086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38245)
-On: 2011-11-02 14:36:27.250291 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:36:27.250647 Event: RECEIVER READY SENT
-On: 2011-11-02 14:36:39.466093 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:21.522638 ------------------
-On: 2011-11-02 14:53:21.522772 Event: LISTEN ON PORT: 54034
-On: 2011-11-02 14:53:22.914089 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39173)
-On: 2011-11-02 14:53:22.958450 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:53:22.958816 Event: RECEIVER READY SENT
-On: 2011-11-02 14:53:34.646096 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:43:26.229831 ------------------
-On: 2011-11-02 15:43:26.230185 Event: LISTEN ON PORT: 40754
-On: 2011-11-02 15:43:27.506196 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39094)
-On: 2011-11-02 15:43:27.582259 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:43:27.586120 Event: RECEIVER READY SENT
-On: 2011-11-02 15:43:37.268078 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:45:01.276748 ------------------
-On: 2011-11-02 15:45:01.277103 Event: LISTEN ON PORT: 36000
-On: 2011-11-02 15:45:02.586243 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49597)
-On: 2011-11-02 15:45:02.662255 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:45:02.662677 Event: RECEIVER READY SENT
-On: 2011-11-02 15:45:14.270093 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:46:40.234689 ------------------
-On: 2011-11-02 15:46:40.234821 Event: LISTEN ON PORT: 44768
-On: 2011-11-02 15:46:41.578180 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57089)
-On: 2011-11-02 15:46:41.626323 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:46:41.626753 Event: RECEIVER READY SENT
-On: 2011-11-02 15:46:52.422080 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:48:43.667823 ------------------
-On: 2011-11-02 15:48:43.668341 Event: LISTEN ON PORT: 34258
-On: 2011-11-02 15:48:44.930170 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54341)
-On: 2011-11-02 15:48:44.982320 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:48:44.982686 Event: RECEIVER READY SENT
-On: 2011-11-02 15:48:56.070087 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:13:11.482298 ------------------
-On: 2011-11-02 16:13:11.482437 Event: LISTEN ON PORT: 49037
-On: 2011-11-02 16:13:12.690081 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33074)
-On: 2011-11-02 16:13:12.747821 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:13:12.748385 Event: RECEIVER READY SENT
-On: 2011-11-02 16:13:27.214097 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:24:10.554891 ------------------
-On: 2011-11-02 16:24:10.555022 Event: LISTEN ON PORT: 45326
-On: 2011-11-02 16:24:11.686103 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50639)
-On: 2011-11-02 16:24:11.754027 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:24:11.754517 Event: RECEIVER READY SENT
-On: 2011-11-02 16:24:26.794122 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:07:16.589675 ------------------
-On: 2011-11-02 17:07:16.589814 Event: LISTEN ON PORT: 33542
-On: 2011-11-02 17:07:17.862120 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34118)
-On: 2011-11-02 17:07:17.938257 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:07:17.939046 Event: RECEIVER READY SENT
-On: 2011-11-02 17:07:29.631686 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:09:04.640966 ------------------
-On: 2011-11-02 17:09:04.641102 Event: LISTEN ON PORT: 30644
-On: 2011-11-02 17:09:05.918412 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52053)
-On: 2011-11-02 17:09:05.994261 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:09:05.994681 Event: RECEIVER READY SENT
-On: 2011-11-02 17:09:16.474095 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:37.762941 ------------------
-On: 2011-11-02 17:10:37.763072 Event: LISTEN ON PORT: 34407
-On: 2011-11-02 17:10:38.994449 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56425)
-On: 2011-11-02 17:10:39.066253 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:39.070120 Event: RECEIVER READY SENT
-On: 2011-11-02 17:10:50.045947 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:17:18.823162 ------------------
-On: 2011-11-02 17:17:18.823296 Event: LISTEN ON PORT: 51731
-On: 2011-11-02 17:17:20.078089 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41613)
-On: 2011-11-02 17:17:20.150263 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:17:20.150629 Event: RECEIVER READY SENT
-On: 2011-11-02 17:17:32.126058 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:28:52.784822 ------------------
-On: 2011-11-02 18:28:52.784955 Event: LISTEN ON PORT: 50563
-On: 2011-11-02 18:28:53.986174 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40034)
-On: 2011-11-02 18:28:54.058385 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 18:28:54.058750 Event: RECEIVER READY SENT
-On: 2011-11-02 18:29:06.562092 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/tricode/GSMExt.Voda handler.log b/For Weekly Test/tricode/GSMExt.Voda handler.log
deleted file mode 100644
index f5f7d0d..0000000
--- a/For Weekly Test/tricode/GSMExt.Voda handler.log
+++ /dev/null
@@ -1,264 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:23:00.746361 ------------------
-On: 2011-10-31 13:23:00.746521 Event: LISTEN ON PORT: 48000
-On: 2011-10-31 13:23:02.006030 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44640)
-On: 2011-10-31 13:23:02.097921 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:23:02.098291 Event: RECEIVER READY SENT
-On: 2011-10-31 13:23:12.757702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:30:13.495659 ------------------
-On: 2011-10-31 13:30:13.495788 Event: LISTEN ON PORT: 43031
-On: 2011-10-31 13:30:14.465739 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40699)
-On: 2011-10-31 13:30:14.509998 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:30:14.513795 Event: RECEIVER READY SENT
-On: 2011-10-31 13:30:24.765756 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:38:45.080959 ------------------
-On: 2011-10-31 13:38:45.081095 Event: LISTEN ON PORT: 35483
-On: 2011-10-31 13:38:46.293750 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42693)
-On: 2011-10-31 13:38:46.345918 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:38:46.346282 Event: RECEIVER READY SENT
-On: 2011-10-31 13:38:57.565325 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:55:44.277891 ------------------
-On: 2011-10-31 13:55:44.278054 Event: LISTEN ON PORT: 30997
-On: 2011-10-31 13:55:45.513880 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37324)
-On: 2011-10-31 13:55:45.585978 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:55:45.589800 Event: RECEIVER READY SENT
-On: 2011-10-31 13:55:55.733756 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:57:18.924822 ------------------
-On: 2011-10-31 13:57:18.924952 Event: LISTEN ON PORT: 37221
-On: 2011-10-31 13:57:19.265841 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38090)
-On: 2011-10-31 13:57:19.335722 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:57:19.336143 Event: RECEIVER READY SENT
-On: 2011-10-31 13:57:29.657705 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:59:04.936762 ------------------
-On: 2011-10-31 13:59:04.936894 Event: LISTEN ON PORT: 42156
-On: 2011-10-31 13:59:06.074258 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41965)
-On: 2011-10-31 13:59:06.141980 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:59:06.142401 Event: RECEIVER READY SENT
-On: 2011-10-31 13:59:16.423965 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:01:23.087753 ------------------
-On: 2011-10-31 14:01:23.087885 Event: LISTEN ON PORT: 35166
-On: 2011-10-31 14:01:24.389225 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46842)
-On: 2011-10-31 14:01:24.467531 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:01:24.467843 Event: RECEIVER READY SENT
-On: 2011-10-31 14:01:35.857769 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:26:11.263696 ------------------
-On: 2011-10-31 14:26:11.263831 Event: LISTEN ON PORT: 52188
-On: 2011-10-31 14:26:12.481980 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35512)
-On: 2011-10-31 14:26:12.553932 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:26:12.554369 Event: RECEIVER READY SENT
-On: 2011-10-31 14:26:24.792100 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:26:33.533438 ------------------
-On: 2011-10-31 14:26:33.533569 Event: LISTEN ON PORT: 55814
-On: 2011-10-31 14:26:34.633740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42054)
-On: 2011-10-31 14:26:34.706000 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:26:34.709796 Event: RECEIVER READY SENT
-On: 2011-10-31 14:26:44.273706 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:23:42.497005 ------------------
-On: 2011-10-31 15:23:42.497134 Event: LISTEN ON PORT: 51919
-On: 2011-10-31 15:23:43.749745 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58733)
-On: 2011-10-31 15:23:43.798015 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:23:43.798385 Event: RECEIVER READY SENT
-On: 2011-10-31 15:23:54.645753 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:23:58.929865 ------------------
-On: 2011-10-31 16:23:58.930002 Event: LISTEN ON PORT: 48517
-On: 2011-10-31 16:24:00.325733 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56085)
-On: 2011-10-31 16:24:00.393939 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:24:00.394718 Event: RECEIVER READY SENT
-On: 2011-10-31 16:24:12.841695 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:58.055547 ------------------
-On: 2011-10-31 17:39:58.055674 Event: LISTEN ON PORT: 45091
-On: 2011-10-31 17:39:59.405800 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59518)
-On: 2011-10-31 17:39:59.481913 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:39:59.482276 Event: RECEIVER READY SENT
-On: 2011-10-31 17:40:12.237715 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:56:41.960809 ------------------
-On: 2011-10-31 19:56:41.960949 Event: LISTEN ON PORT: 44060
-On: 2011-10-31 19:56:43.309803 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48226)
-On: 2011-10-31 19:56:43.381908 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:56:43.382267 Event: RECEIVER READY SENT
-On: 2011-10-31 19:56:58.445748 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:57:30.373575 ------------------
-On: 2011-10-31 19:57:30.373769 Event: LISTEN ON PORT: 36318
-On: 2011-10-31 19:57:31.721730 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50604)
-On: 2011-10-31 19:57:31.789981 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:57:31.790819 Event: RECEIVER READY SENT
-On: 2011-10-31 19:57:46.993751 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:02:57.288833 ------------------
-On: 2011-10-31 20:02:57.288962 Event: LISTEN ON PORT: 48393
-On: 2011-10-31 20:02:58.645766 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47525)
-On: 2011-10-31 20:02:58.713974 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:02:58.714334 Event: RECEIVER READY SENT
-On: 2011-10-31 20:03:13.753772 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:04:14.128661 ------------------
-On: 2011-10-31 20:04:14.128787 Event: LISTEN ON PORT: 42298
-On: 2011-10-31 20:04:15.481736 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48293)
-On: 2011-10-31 20:04:15.529987 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:04:15.530398 Event: RECEIVER READY SENT
-On: 2011-10-31 20:04:27.793776 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:10:23.471500 ------------------
-On: 2011-10-31 21:10:23.471626 Event: LISTEN ON PORT: 44340
-On: 2011-10-31 21:10:24.853736 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39038)
-On: 2011-10-31 21:10:24.897989 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:10:24.901792 Event: RECEIVER READY SENT
-On: 2011-10-31 21:10:39.949732 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:11:06.626164 ------------------
-On: 2011-10-31 21:11:06.626292 Event: LISTEN ON PORT: 57098
-On: 2011-10-31 21:11:07.977796 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56423)
-On: 2011-10-31 21:11:08.049917 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:11:08.050283 Event: RECEIVER READY SENT
-On: 2011-10-31 21:11:23.117744 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:11:48.933342 ------------------
-On: 2011-10-31 21:11:48.933465 Event: LISTEN ON PORT: 43893
-On: 2011-10-31 21:11:50.297787 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38707)
-On: 2011-10-31 21:11:50.369911 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:11:50.373798 Event: RECEIVER READY SENT
-On: 2011-10-31 21:12:05.421699 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:16:51.659679 ------------------
-On: 2011-10-31 21:16:51.659805 Event: LISTEN ON PORT: 46444
-On: 2011-10-31 21:16:53.013742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34424)
-On: 2011-10-31 21:16:53.061912 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:16:53.062274 Event: RECEIVER READY SENT
-On: 2011-10-31 21:17:08.105725 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:18:37.648694 ------------------
-On: 2011-10-31 21:18:37.648817 Event: LISTEN ON PORT: 37265
-On: 2011-10-31 21:18:39.033795 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39326)
-On: 2011-10-31 21:18:39.081906 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:18:39.082321 Event: RECEIVER READY SENT
-On: 2011-10-31 21:18:54.121860 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:28:07.879546 ------------------
-On: 2011-10-31 21:28:07.879671 Event: LISTEN ON PORT: 44182
-On: 2011-10-31 21:28:09.261791 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40865)
-On: 2011-10-31 21:28:09.309906 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:28:09.313794 Event: RECEIVER READY SENT
-On: 2011-10-31 21:28:18.289698 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:21:32.066980 ------------------
-On: 2011-10-31 23:21:32.067109 Event: LISTEN ON PORT: 52679
-On: 2011-10-31 23:21:33.425738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49463)
-On: 2011-10-31 23:21:33.493916 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 23:21:33.497798 Event: RECEIVER READY SENT
-On: 2011-10-31 23:21:43.429700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:29.798218 ------------------
-On: 2011-11-01 11:23:29.798343 Event: LISTEN ON PORT: 36375
-On: 2011-11-01 11:23:31.141738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49805)
-On: 2011-11-01 11:23:31.209917 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:23:31.210279 Event: RECEIVER READY SENT
-On: 2011-11-01 11:23:43.081964 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:54.892160 ------------------
-On: 2011-11-01 11:25:54.892295 Event: LISTEN ON PORT: 32144
-On: 2011-11-01 11:25:56.250048 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55368)
-On: 2011-11-01 11:25:56.297915 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:25:56.298281 Event: RECEIVER READY SENT
-On: 2011-11-01 11:26:07.021737 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:57.372279 ------------------
-On: 2011-11-01 14:18:57.372404 Event: LISTEN ON PORT: 43953
-On: 2011-11-01 14:18:58.677793 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58841)
-On: 2011-11-01 14:18:58.725915 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:18:58.726277 Event: RECEIVER READY SENT
-On: 2011-11-01 14:19:10.289720 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:25:35.832966 ------------------
-On: 2011-11-01 14:25:35.833094 Event: LISTEN ON PORT: 34097
-On: 2011-11-01 14:25:37.197741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51919)
-On: 2011-11-01 14:25:37.241967 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:25:37.242322 Event: RECEIVER READY SENT
-On: 2011-11-01 14:25:48.205751 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:22:48.728711 ------------------
-On: 2011-11-02 16:22:48.728844 Event: LISTEN ON PORT: 41292
-On: 2011-11-02 16:22:49.754123 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35516)
-On: 2011-11-02 16:22:49.810250 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:22:49.814122 Event: RECEIVER READY SENT
-On: 2011-11-02 16:22:58.714047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:07:43.933892 ------------------
-On: 2011-11-02 17:07:43.934115 Event: LISTEN ON PORT: 39292
-On: 2011-11-02 17:07:45.214239 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33428)
-On: 2011-11-02 17:07:45.286286 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:07:45.287065 Event: RECEIVER READY SENT
-On: 2011-11-02 17:07:56.222102 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:09:30.799978 ------------------
-On: 2011-11-02 17:09:30.800114 Event: LISTEN ON PORT: 56437
-On: 2011-11-02 17:09:32.082115 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34391)
-On: 2011-11-02 17:09:32.130256 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:09:32.130681 Event: RECEIVER READY SENT
-On: 2011-11-02 17:09:42.078096 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:58.295265 ------------------
-On: 2011-11-02 17:10:58.295396 Event: LISTEN ON PORT: 47642
-On: 2011-11-02 17:10:59.545890 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36702)
-On: 2011-11-02 17:10:59.618290 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:59.622292 Event: RECEIVER READY SENT
-On: 2011-11-02 17:11:08.042196 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:55.828610 ------------------
-On: 2011-11-02 17:16:55.828754 Event: LISTEN ON PORT: 54061
-On: 2011-11-02 17:16:57.106163 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39592)
-On: 2011-11-02 17:16:57.154295 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:16:57.154663 Event: RECEIVER READY SENT
-On: 2011-11-02 17:17:11.230048 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:29:14.770176 ------------------
-On: 2011-11-02 18:29:14.770362 Event: LISTEN ON PORT: 50487
-On: 2011-11-02 18:29:15.662277 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54154)
-On: 2011-11-02 18:29:15.738441 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 18:29:15.738809 Event: RECEIVER READY SENT
-On: 2011-11-02 18:29:26.986046 Event: RECEIVE STATUS REPORTED
diff --git a/For Weekly Test/tricode/GSMRZ1 handler.log b/For Weekly Test/tricode/GSMRZ1 handler.log
deleted file mode 100644
index d29f02b..0000000
--- a/For Weekly Test/tricode/GSMRZ1 handler.log
+++ /dev/null
@@ -1,888 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:07:29.592675 ------------------
-On: 2011-10-31 13:07:29.592812 Event: LISTEN ON PORT: 57729
-On: 2011-10-31 13:07:30.905769 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48871)
-On: 2011-10-31 13:07:30.976733 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:07:30.981814 Event: CALLER READY SENT
-On: 2011-10-31 13:07:42.961860 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:07:46.702964 ------------------
-On: 2011-10-31 13:07:46.703097 Event: LISTEN ON PORT: 37854
-On: 2011-10-31 13:07:48.017744 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57778)
-On: 2011-10-31 13:07:48.094003 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:07:48.101828 Event: CALLER READY SENT
-On: 2011-10-31 13:07:59.889860 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:21:07.983954 ------------------
-On: 2011-10-31 13:21:07.984089 Event: LISTEN ON PORT: 53102
-On: 2011-10-31 13:21:09.305834 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36375)
-On: 2011-10-31 13:21:09.353917 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:21:09.357803 Event: CALLER READY SENT
-On: 2011-10-31 13:21:19.429735 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:26:19.453192 ------------------
-On: 2011-10-31 13:26:19.453320 Event: LISTEN ON PORT: 55599
-On: 2011-10-31 13:26:20.577782 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54681)
-On: 2011-10-31 13:26:20.658024 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:26:20.661702 Event: CALLER READY SENT
-On: 2011-10-31 13:26:32.453743 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:30:11.270780 ------------------
-On: 2011-10-31 13:30:11.270914 Event: LISTEN ON PORT: 53340
-On: 2011-10-31 13:30:12.315043 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59807)
-On: 2011-10-31 13:30:12.385940 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:30:12.389825 Event: CALLER READY SENT
-On: 2011-10-31 13:30:27.693754 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:33:28.468924 ------------------
-On: 2011-10-31 13:33:28.469055 Event: LISTEN ON PORT: 39422
-On: 2011-10-31 13:33:29.739513 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58711)
-On: 2011-10-31 13:33:29.821947 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:33:29.822373 Event: RECEIVER READY SENT
-On: 2011-10-31 13:33:33.826123 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:36:38.020244 ------------------
-On: 2011-10-31 13:36:38.020376 Event: LISTEN ON PORT: 44190
-On: 2011-10-31 13:36:39.293793 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50277)
-On: 2011-10-31 13:36:39.341942 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:36:39.342315 Event: RECEIVER READY SENT
-On: 2011-10-31 13:36:45.217959 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:51:21.779446 ------------------
-On: 2011-10-31 13:51:21.779580 Event: LISTEN ON PORT: 31348
-On: 2011-10-31 13:51:23.079741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37704)
-On: 2011-10-31 13:51:23.149949 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:51:23.153828 Event: CALLER READY SENT
-On: 2011-10-31 13:51:27.881917 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:10.072571 ------------------
-On: 2011-10-31 13:52:10.072701 Event: LISTEN ON PORT: 52954
-On: 2011-10-31 13:52:11.357770 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56393)
-On: 2011-10-31 13:52:11.405921 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:52:11.406285 Event: RECEIVER READY SENT
-On: 2011-10-31 13:52:17.285708 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:53:03.071990 ------------------
-On: 2011-10-31 13:53:03.072122 Event: LISTEN ON PORT: 52005
-On: 2011-10-31 13:53:04.337792 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40073)
-On: 2011-10-31 13:53:04.413916 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:53:04.417827 Event: CALLER READY SENT
-On: 2011-10-31 13:53:18.017005 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:53:21.817891 ------------------
-On: 2011-10-31 13:53:21.818035 Event: LISTEN ON PORT: 44770
-On: 2011-10-31 13:53:23.069737 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47423)
-On: 2011-10-31 13:53:23.146002 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:53:23.149828 Event: CALLER READY SENT
-On: 2011-10-31 13:53:34.941076 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:23.151926 ------------------
-On: 2011-10-31 13:54:23.152056 Event: LISTEN ON PORT: 55068
-On: 2011-10-31 13:54:24.413738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40700)
-On: 2011-10-31 13:54:24.486092 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:54:24.487419 Event: RECEIVER READY SENT
-On: 2011-10-31 13:54:32.609730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:55:19.844844 ------------------
-On: 2011-10-31 13:55:19.844983 Event: LISTEN ON PORT: 47735
-On: 2011-10-31 13:55:21.049744 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44775)
-On: 2011-10-31 13:55:21.109668 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:55:21.113700 Event: CALLER READY SENT
-On: 2011-10-31 13:55:31.193710 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:55:42.166424 ------------------
-On: 2011-10-31 13:55:42.166560 Event: LISTEN ON PORT: 47154
-On: 2011-10-31 13:55:43.405773 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39659)
-On: 2011-10-31 13:55:43.462864 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:55:43.469707 Event: CALLER READY SENT
-On: 2011-10-31 13:55:57.733727 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:56:01.631591 ------------------
-On: 2011-10-31 13:56:01.631723 Event: LISTEN ON PORT: 52131
-On: 2011-10-31 13:56:02.849437 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55793)
-On: 2011-10-31 13:56:02.901824 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:56:02.905702 Event: CALLER READY SENT
-On: 2011-10-31 13:56:17.073713 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:56:21.016570 ------------------
-On: 2011-10-31 13:56:21.016699 Event: LISTEN ON PORT: 53634
-On: 2011-10-31 13:56:22.185741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46501)
-On: 2011-10-31 13:56:22.233941 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 13:56:22.237821 Event: CALLER READY SENT
-On: 2011-10-31 13:56:37.593705 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:00:15.582285 ------------------
-On: 2011-10-31 14:00:15.582424 Event: LISTEN ON PORT: 48360
-On: 2011-10-31 14:00:16.721751 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35571)
-On: 2011-10-31 14:00:16.793947 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:00:16.801705 Event: CALLER READY SENT
-On: 2011-10-31 14:00:21.289774 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:05:07.485825 ------------------
-On: 2011-10-31 14:05:07.485963 Event: LISTEN ON PORT: 36241
-On: 2011-10-31 14:05:08.659108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50148)
-On: 2011-10-31 14:05:08.710815 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:05:08.717708 Event: CALLER READY SENT
-On: 2011-10-31 14:05:23.005757 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:07:02.501021 ------------------
-On: 2011-10-31 14:07:02.501155 Event: LISTEN ON PORT: 40879
-On: 2011-10-31 14:07:03.737746 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45438)
-On: 2011-10-31 14:07:03.785985 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:07:03.789819 Event: CALLER READY SENT
-On: 2011-10-31 14:07:16.941702 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:08:36.129918 ------------------
-On: 2011-10-31 14:08:36.130054 Event: LISTEN ON PORT: 33447
-On: 2011-10-31 14:08:37.433779 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39125)
-On: 2011-10-31 14:08:37.481725 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:08:37.485820 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:17:53.536799 ------------------
-On: 2011-10-31 14:17:53.536929 Event: LISTEN ON PORT: 36979
-On: 2011-10-31 14:17:54.765760 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55916)
-On: 2011-10-31 14:17:54.841916 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:17:54.845824 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:26:31.284662 ------------------
-On: 2011-10-31 14:26:31.284798 Event: LISTEN ON PORT: 30066
-On: 2011-10-31 14:26:32.513730 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34018)
-On: 2011-10-31 14:26:32.577111 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 14:26:32.581940 Event: CALLER READY SENT
-On: 2011-10-31 14:26:46.821704 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:01:23.659837 ------------------
-On: 2011-10-31 15:01:23.659973 Event: LISTEN ON PORT: 49980
-On: 2011-10-31 15:01:24.849769 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55634)
-On: 2011-10-31 15:01:24.921948 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:01:24.925831 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:03:59.919538 ------------------
-On: 2011-10-31 15:03:59.919668 Event: LISTEN ON PORT: 47844
-On: 2011-10-31 15:04:01.153733 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54887)
-On: 2011-10-31 15:04:01.205942 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:04:01.209820 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:22:16.771639 ------------------
-On: 2011-10-31 15:22:16.771771 Event: LISTEN ON PORT: 49193
-On: 2011-10-31 15:22:18.081775 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50888)
-On: 2011-10-31 15:22:18.153922 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 15:22:18.157828 Event: CALLER READY SENT
-On: 2011-10-31 15:22:31.897747 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:11:05.838727 ------------------
-On: 2011-10-31 16:11:05.838860 Event: LISTEN ON PORT: 42418
-On: 2011-10-31 16:11:07.245732 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36698)
-On: 2011-10-31 16:11:07.317909 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:11:07.321816 Event: CALLER READY SENT
-On: 2011-10-31 16:11:11.881732 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:12:46.775307 ------------------
-On: 2011-10-31 16:12:46.775432 Event: LISTEN ON PORT: 52928
-On: 2011-10-31 16:12:48.157735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47345)
-On: 2011-10-31 16:12:48.205932 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:12:48.206290 Event: RECEIVER READY SENT
-On: 2011-10-31 16:12:53.917704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:23:39.771785 ------------------
-On: 2011-10-31 16:23:39.771913 Event: LISTEN ON PORT: 55080
-On: 2011-10-31 16:23:41.177741 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59008)
-On: 2011-10-31 16:23:41.225941 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:23:41.226303 Event: RECEIVER READY SENT
-On: 2011-10-31 16:23:47.181703 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:31:13.298022 ------------------
-On: 2011-10-31 16:31:13.298154 Event: LISTEN ON PORT: 44572
-On: 2011-10-31 16:31:14.677740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52505)
-On: 2011-10-31 16:31:14.745940 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 16:31:14.746303 Event: RECEIVER READY SENT
-On: 2011-10-31 16:31:20.265702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:38:31.256403 ------------------
-On: 2011-10-31 17:38:31.256529 Event: LISTEN ON PORT: 42453
-On: 2011-10-31 17:38:32.665759 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53952)
-On: 2011-10-31 17:38:32.737906 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:38:32.741818 Event: CALLER READY SENT
-On: 2011-10-31 17:38:39.441700 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:40:19.873463 ------------------
-On: 2011-10-31 17:40:19.873590 Event: LISTEN ON PORT: 54300
-On: 2011-10-31 17:40:21.245730 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54392)
-On: 2011-10-31 17:40:21.297906 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 17:40:21.298261 Event: RECEIVER READY SENT
-On: 2011-10-31 17:40:26.153699 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:03.025723 ------------------
-On: 2011-10-31 19:55:03.025857 Event: LISTEN ON PORT: 44428
-On: 2011-10-31 19:55:04.433729 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55002)
-On: 2011-10-31 19:55:04.505937 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 19:55:04.509817 Event: CALLER READY SENT
-On: 2011-10-31 19:55:09.029746 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:00:35.109010 ------------------
-On: 2011-10-31 20:00:35.109136 Event: LISTEN ON PORT: 32903
-On: 2011-10-31 20:00:36.481792 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53043)
-On: 2011-10-31 20:00:36.553950 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 20:00:36.554300 Event: RECEIVER READY SENT
-On: 2011-10-31 20:00:42.549701 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:10:21.296022 ------------------
-On: 2011-10-31 21:10:21.296148 Event: LISTEN ON PORT: 32938
-On: 2011-10-31 21:10:22.705765 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49342)
-On: 2011-10-31 21:10:22.777915 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:10:22.781829 Event: CALLER READY SENT
-On: 2011-10-31 21:10:39.137747 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:11:46.765965 ------------------
-On: 2011-10-31 21:11:46.766093 Event: LISTEN ON PORT: 53639
-On: 2011-10-31 21:11:48.173733 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58743)
-On: 2011-10-31 21:11:48.245909 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:11:48.249819 Event: CALLER READY SENT
-On: 2011-10-31 21:12:04.721715 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:14:11.719821 ------------------
-On: 2011-10-31 21:14:11.719946 Event: LISTEN ON PORT: 35132
-On: 2011-10-31 21:14:13.093740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34267)
-On: 2011-10-31 21:14:13.165935 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:14:13.166297 Event: RECEIVER READY SENT
-On: 2011-10-31 21:14:18.833761 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:28:05.732973 ------------------
-On: 2011-10-31 21:28:05.733099 Event: LISTEN ON PORT: 32814
-On: 2011-10-31 21:28:07.137729 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54280)
-On: 2011-10-31 21:28:07.185977 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:28:07.189811 Event: CALLER READY SENT
-On: 2011-10-31 21:28:20.361703 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:35:17.573538 ------------------
-On: 2011-10-31 21:35:17.573695 Event: LISTEN ON PORT: 42831
-On: 2011-10-31 21:35:18.497766 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52630)
-On: 2011-10-31 21:35:18.553910 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:35:18.554270 Event: RECEIVER READY SENT
-On: 2011-10-31 21:35:23.517702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:53:02.498482 ------------------
-On: 2011-10-31 21:53:02.498608 Event: LISTEN ON PORT: 44150
-On: 2011-10-31 21:53:03.873760 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45753)
-On: 2011-10-31 21:53:03.945973 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 21:53:03.946336 Event: RECEIVER READY SENT
-On: 2011-10-31 21:53:09.837715 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 22:44:16.675234 ------------------
-On: 2011-10-31 22:44:16.675362 Event: LISTEN ON PORT: 36449
-On: 2011-10-31 22:44:18.053749 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60562)
-On: 2011-10-31 22:44:18.125909 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 22:44:18.126269 Event: RECEIVER READY SENT
-On: 2011-10-31 22:44:24.013703 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:21:29.895722 ------------------
-On: 2011-10-31 23:21:29.895847 Event: LISTEN ON PORT: 34139
-On: 2011-10-31 23:21:31.321732 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33436)
-On: 2011-10-31 23:21:31.369945 Event: TALK INITIALIZATION SENT
-On: 2011-10-31 23:21:31.373812 Event: CALLER READY SENT
-On: 2011-10-31 23:21:45.701703 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:22:01.427578 ------------------
-On: 2011-11-01 11:22:01.427701 Event: LISTEN ON PORT: 52196
-On: 2011-11-01 11:22:02.845738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52496)
-On: 2011-11-01 11:22:02.893974 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:22:02.897810 Event: CALLER READY SENT
-On: 2011-11-01 11:22:13.086941 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:50.595223 ------------------
-On: 2011-11-01 11:23:50.595348 Event: LISTEN ON PORT: 49707
-On: 2011-11-01 11:23:51.985765 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55190)
-On: 2011-11-01 11:23:52.033906 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:23:52.034262 Event: RECEIVER READY SENT
-On: 2011-11-01 11:23:56.937704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:24:28.834662 ------------------
-On: 2011-11-01 11:24:28.834788 Event: LISTEN ON PORT: 31961
-On: 2011-11-01 11:24:30.225740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56455)
-On: 2011-11-01 11:24:30.293935 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:24:30.297812 Event: CALLER READY SENT
-On: 2011-11-01 11:24:40.265729 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:26:14.528051 ------------------
-On: 2011-11-01 11:26:14.528195 Event: LISTEN ON PORT: 37700
-On: 2011-11-01 11:26:15.889740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55166)
-On: 2011-11-01 11:26:15.961913 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 11:26:15.962229 Event: RECEIVER READY SENT
-On: 2011-11-01 11:26:26.401730 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:09:19.558128 ------------------
-On: 2011-11-01 14:09:19.558265 Event: LISTEN ON PORT: 53485
-On: 2011-11-01 14:09:20.921738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35827)
-On: 2011-11-01 14:09:20.993935 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:09:20.994302 Event: RECEIVER READY SENT
-On: 2011-11-01 14:09:26.813700 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:17:27.780908 ------------------
-On: 2011-11-01 14:17:27.781031 Event: LISTEN ON PORT: 45503
-On: 2011-11-01 14:17:29.197738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40060)
-On: 2011-11-01 14:17:29.245938 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:17:29.249806 Event: CALLER READY SENT
-On: 2011-11-01 14:17:36.137734 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:39.976423 ------------------
-On: 2011-11-01 14:19:39.976548 Event: LISTEN ON PORT: 44794
-On: 2011-11-01 14:19:41.365735 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58245)
-On: 2011-11-01 14:19:41.413938 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:19:41.414386 Event: RECEIVER READY SENT
-On: 2011-11-01 14:19:47.085704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:52.725940 ------------------
-On: 2011-11-01 14:19:52.726070 Event: LISTEN ON PORT: 58287
-On: 2011-11-01 14:19:54.085738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35376)
-On: 2011-11-01 14:19:54.134057 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:19:54.134445 Event: RECEIVER READY SENT
-On: 2011-11-01 14:20:00.009699 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:23:51.293194 ------------------
-On: 2011-11-01 14:23:51.293321 Event: LISTEN ON PORT: 58410
-On: 2011-11-01 14:23:52.657730 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34604)
-On: 2011-11-01 14:23:52.725968 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 14:23:52.726324 Event: RECEIVER READY SENT
-On: 2011-11-01 14:23:57.824741 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:36:01.928332 ------------------
-On: 2011-11-01 19:36:01.928454 Event: LISTEN ON PORT: 38898
-On: 2011-11-01 19:36:03.289738 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37351)
-On: 2011-11-01 19:36:03.337907 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 19:36:03.338271 Event: RECEIVER READY SENT
-On: 2011-11-01 19:36:08.817702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:57.566934 ------------------
-On: 2011-11-01 19:39:57.567065 Event: LISTEN ON PORT: 58651
-On: 2011-11-01 19:39:58.949811 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43379)
-On: 2011-11-01 19:39:58.997916 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 19:39:58.998275 Event: RECEIVER READY SENT
-On: 2011-11-01 19:40:04.005706 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:11:23.331899 ------------------
-On: 2011-11-01 20:11:23.332029 Event: LISTEN ON PORT: 41090
-On: 2011-11-01 20:11:24.701754 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37303)
-On: 2011-11-01 20:11:24.753926 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:11:24.754286 Event: RECEIVER READY SENT
-On: 2011-11-01 20:11:30.661707 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:12:40.996081 ------------------
-On: 2011-11-01 20:12:40.996210 Event: LISTEN ON PORT: 39123
-On: 2011-11-01 20:12:42.301737 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43662)
-On: 2011-11-01 20:12:42.353907 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:12:42.354265 Event: RECEIVER READY SENT
-On: 2011-11-01 20:12:47.213704 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:14:58.550225 ------------------
-On: 2011-11-01 20:14:58.550352 Event: LISTEN ON PORT: 39960
-On: 2011-11-01 20:14:59.945740 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42349)
-On: 2011-11-01 20:15:00.017905 Event: TALK INITIALIZATION SENT
-On: 2011-11-01 20:15:00.018321 Event: RECEIVER READY SENT
-On: 2011-11-01 20:15:04.861702 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:05.867849 ------------------
-On: 2011-11-02 13:07:05.867984 Event: LISTEN ON PORT: 43668
-On: 2011-11-02 13:07:07.226099 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36285)
-On: 2011-11-02 13:07:07.274332 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:07:07.274697 Event: RECEIVER READY SENT
-On: 2011-11-02 13:07:13.126071 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:11:40.322162 ------------------
-On: 2011-11-02 13:11:40.322303 Event: LISTEN ON PORT: 37806
-On: 2011-11-02 13:11:41.638080 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49192)
-On: 2011-11-02 13:11:41.718313 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:11:41.718669 Event: RECEIVER READY SENT
-On: 2011-11-02 13:11:47.118047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:17.324575 ------------------
-On: 2011-11-02 13:19:17.324707 Event: LISTEN ON PORT: 53988
-On: 2011-11-02 13:19:18.658089 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42879)
-On: 2011-11-02 13:19:18.706340 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:19:18.710148 Event: CALLER READY SENT
-On: 2011-11-02 13:19:32.918039 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:29:42.626401 ------------------
-On: 2011-11-02 13:29:42.626532 Event: LISTEN ON PORT: 43024
-On: 2011-11-02 13:29:44.050072 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45503)
-On: 2011-11-02 13:29:44.098323 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:29:44.102147 Event: CALLER READY SENT
-On: 2011-11-02 13:29:55.126179 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:15.216580 ------------------
-On: 2011-11-02 13:42:15.216715 Event: LISTEN ON PORT: 32403
-On: 2011-11-02 13:42:16.570091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36867)
-On: 2011-11-02 13:42:16.618293 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:42:16.618654 Event: RECEIVER READY SENT
-On: 2011-11-02 13:42:22.054041 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:09.296770 ------------------
-On: 2011-11-02 13:46:09.296908 Event: LISTEN ON PORT: 49165
-On: 2011-11-02 13:46:10.614149 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49544)
-On: 2011-11-02 13:46:10.694318 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:46:10.694691 Event: RECEIVER READY SENT
-On: 2011-11-02 13:46:16.246199 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:55.899523 ------------------
-On: 2011-11-02 13:46:55.899657 Event: LISTEN ON PORT: 34452
-On: 2011-11-02 13:46:57.286088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53163)
-On: 2011-11-02 13:46:57.358282 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:46:57.358644 Event: RECEIVER READY SENT
-On: 2011-11-02 13:47:03.574045 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:53:44.311001 ------------------
-On: 2011-11-02 13:53:44.311135 Event: LISTEN ON PORT: 37977
-On: 2011-11-02 13:53:45.682085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40248)
-On: 2011-11-02 13:53:45.730304 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:53:45.730678 Event: RECEIVER READY SENT
-On: 2011-11-02 13:53:51.710042 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:55:35.234912 ------------------
-On: 2011-11-02 13:55:35.235048 Event: LISTEN ON PORT: 53561
-On: 2011-11-02 13:55:36.630135 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59365)
-On: 2011-11-02 13:55:36.711619 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:55:36.715710 Event: CALLER READY SENT
-On: 2011-11-02 13:55:47.326404 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:29.275799 ------------------
-On: 2011-11-02 13:57:29.275932 Event: LISTEN ON PORT: 51586
-On: 2011-11-02 13:57:30.619166 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37192)
-On: 2011-11-02 13:57:30.690253 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 13:57:30.690621 Event: RECEIVER READY SENT
-On: 2011-11-02 13:57:36.486090 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:03:56.795347 ------------------
-On: 2011-11-02 14:03:56.795543 Event: LISTEN ON PORT: 48239
-On: 2011-11-02 14:03:57.698088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39373)
-On: 2011-11-02 14:03:57.746290 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:03:57.754046 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:17.936778 ------------------
-On: 2011-11-02 14:06:17.936908 Event: LISTEN ON PORT: 46663
-On: 2011-11-02 14:06:19.262134 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48564)
-On: 2011-11-02 14:06:19.338251 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:06:19.338608 Event: RECEIVER READY SENT
-On: 2011-11-02 14:06:24.918041 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:07.685341 ------------------
-On: 2011-11-02 14:19:07.685467 Event: LISTEN ON PORT: 36221
-On: 2011-11-02 14:19:09.046138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43754)
-On: 2011-11-02 14:19:09.098690 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:19:09.099058 Event: RECEIVER READY SENT
-On: 2011-11-02 14:19:14.718097 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:22:05.674254 ------------------
-On: 2011-11-02 14:22:05.674393 Event: LISTEN ON PORT: 47886
-On: 2011-11-02 14:22:06.926105 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53235)
-On: 2011-11-02 14:22:06.998257 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:22:06.998624 Event: RECEIVER READY SENT
-On: 2011-11-02 14:22:12.354044 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:25:45.584326 ------------------
-On: 2011-11-02 14:25:45.584461 Event: LISTEN ON PORT: 34861
-On: 2011-11-02 14:25:46.810079 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33978)
-On: 2011-11-02 14:25:46.878292 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:25:46.878656 Event: RECEIVER READY SENT
-On: 2011-11-02 14:25:52.438046 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:17.187712 ------------------
-On: 2011-11-02 14:27:17.187845 Event: LISTEN ON PORT: 56241
-On: 2011-11-02 14:27:18.550173 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45440)
-On: 2011-11-02 14:27:18.622259 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:27:18.622624 Event: RECEIVER READY SENT
-On: 2011-11-02 14:27:24.318047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:30:44.067126 ------------------
-On: 2011-11-02 14:30:44.067261 Event: LISTEN ON PORT: 33647
-On: 2011-11-02 14:30:45.414144 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54929)
-On: 2011-11-02 14:30:45.490289 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:30:45.498045 Event: CALLER READY SENT
-On: 2011-11-02 14:30:55.369772 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:36.568897 ------------------
-On: 2011-11-02 14:32:36.569030 Event: LISTEN ON PORT: 47549
-On: 2011-11-02 14:32:37.970082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58131)
-On: 2011-11-02 14:32:38.018262 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:32:38.018634 Event: RECEIVER READY SENT
-On: 2011-11-02 14:32:43.906047 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:15.895859 ------------------
-On: 2011-11-02 14:35:15.895992 Event: LISTEN ON PORT: 42243
-On: 2011-11-02 14:35:17.238075 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43364)
-On: 2011-11-02 14:35:17.310251 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:35:17.314165 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:35.567567 ------------------
-On: 2011-11-02 14:37:35.567698 Event: LISTEN ON PORT: 36812
-On: 2011-11-02 14:37:36.750133 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40595)
-On: 2011-11-02 14:37:36.807158 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:37:36.807518 Event: RECEIVER READY SENT
-On: 2011-11-02 14:37:42.370040 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:52:11.694558 ------------------
-On: 2011-11-02 14:52:11.694738 Event: LISTEN ON PORT: 38892
-On: 2011-11-02 14:52:12.994114 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48215)
-On: 2011-11-02 14:52:13.066256 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:52:13.070308 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:17.552678 ------------------
-On: 2011-11-02 14:54:17.552811 Event: LISTEN ON PORT: 45905
-On: 2011-11-02 14:54:18.934095 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36927)
-On: 2011-11-02 14:54:18.982349 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 14:54:18.982714 Event: RECEIVER READY SENT
-On: 2011-11-02 14:54:23.710050 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:02:04.654883 ------------------
-On: 2011-11-02 15:02:04.655015 Event: LISTEN ON PORT: 50944
-On: 2011-11-02 15:02:06.014094 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35830)
-On: 2011-11-02 15:02:06.082329 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:02:06.088004 Event: CALLER READY SENT
-On: 2011-11-02 15:02:17.998044 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:02:21.758956 ------------------
-On: 2011-11-02 15:02:21.759086 Event: LISTEN ON PORT: 53432
-On: 2011-11-02 15:02:23.078221 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47213)
-On: 2011-11-02 15:02:23.158267 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:02:23.162160 Event: CALLER READY SENT
-On: 2011-11-02 15:02:36.054099 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:07:24.793667 ------------------
-On: 2011-11-02 15:07:24.793803 Event: LISTEN ON PORT: 44108
-On: 2011-11-02 15:07:25.990161 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37789)
-On: 2011-11-02 15:07:26.066296 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:07:26.074045 Event: CALLER READY SENT
-On: 2011-11-02 15:07:37.946119 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:22.007410 ------------------
-On: 2011-11-02 15:39:22.007541 Event: LISTEN ON PORT: 34554
-On: 2011-11-02 15:39:23.226002 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59169)
-On: 2011-11-02 15:39:23.298620 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:39:23.298981 Event: RECEIVER READY SENT
-On: 2011-11-02 15:39:29.278087 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:33.072358 ------------------
-On: 2011-11-02 15:39:33.072497 Event: LISTEN ON PORT: 42306
-On: 2011-11-02 15:39:34.298118 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50392)
-On: 2011-11-02 15:39:34.350260 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:39:34.354151 Event: CALLER READY SENT
-On: 2011-11-02 15:39:38.998195 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:37.311740 ------------------
-On: 2011-11-02 15:40:37.311875 Event: LISTEN ON PORT: 49573
-On: 2011-11-02 15:40:38.502086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53082)
-On: 2011-11-02 15:40:38.577009 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:40:38.582035 Event: CALLER READY SENT
-On: 2011-11-02 15:40:50.362045 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:54.241410 ------------------
-On: 2011-11-02 15:40:54.241545 Event: LISTEN ON PORT: 33004
-On: 2011-11-02 15:40:55.450232 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42009)
-On: 2011-11-02 15:40:55.498273 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:40:55.502169 Event: CALLER READY SENT
-On: 2011-11-02 15:41:08.378040 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:41:51.953818 ------------------
-On: 2011-11-02 15:41:51.953949 Event: LISTEN ON PORT: 44410
-On: 2011-11-02 15:41:53.238086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47575)
-On: 2011-11-02 15:41:53.318253 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:41:53.318931 Event: RECEIVER READY SENT
-On: 2011-11-02 15:42:02.286066 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:42:49.507151 ------------------
-On: 2011-11-02 15:42:49.507283 Event: LISTEN ON PORT: 53863
-On: 2011-11-02 15:42:50.794082 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39678)
-On: 2011-11-02 15:42:50.850258 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:42:50.854160 Event: CALLER READY SENT
-On: 2011-11-02 15:43:00.877740 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:43:11.837553 ------------------
-On: 2011-11-02 15:43:11.837687 Event: LISTEN ON PORT: 47765
-On: 2011-11-02 15:43:13.118141 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49815)
-On: 2011-11-02 15:43:13.194258 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:43:13.198165 Event: CALLER READY SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:43:24.137020 ------------------
-On: 2011-11-02 15:43:24.137151 Event: LISTEN ON PORT: 46709
-On: 2011-11-02 15:43:25.402083 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48921)
-On: 2011-11-02 15:43:25.450265 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:43:25.454158 Event: CALLER READY SENT
-On: 2011-11-02 15:43:40.262042 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:43:44.039421 ------------------
-On: 2011-11-02 15:43:44.039554 Event: LISTEN ON PORT: 48476
-On: 2011-11-02 15:43:45.310120 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55951)
-On: 2011-11-02 15:43:45.384256 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:43:45.390041 Event: CALLER READY SENT
-On: 2011-11-02 15:44:01.870105 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:47:24.623152 ------------------
-On: 2011-11-02 15:47:24.623291 Event: LISTEN ON PORT: 31809
-On: 2011-11-02 15:47:25.898123 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41781)
-On: 2011-11-02 15:47:25.974269 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 15:47:25.978165 Event: CALLER READY SENT
-On: 2011-11-02 15:47:30.630089 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:11:40.643228 ------------------
-On: 2011-11-02 16:11:40.643367 Event: LISTEN ON PORT: 32126
-On: 2011-11-02 16:11:41.906108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41588)
-On: 2011-11-02 16:11:41.967694 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:11:41.973363 Event: CALLER READY SENT
-On: 2011-11-02 16:11:55.138052 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:35.736228 ------------------
-On: 2011-11-02 16:18:35.736360 Event: LISTEN ON PORT: 34456
-On: 2011-11-02 16:18:36.994091 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38779)
-On: 2011-11-02 16:18:37.074289 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:18:37.078111 Event: CALLER READY SENT
-On: 2011-11-02 16:18:41.704937 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:47.590588 ------------------
-On: 2011-11-02 16:18:47.590720 Event: LISTEN ON PORT: 49803
-On: 2011-11-02 16:18:48.866178 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55189)
-On: 2011-11-02 16:18:48.946377 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:18:48.946737 Event: RECEIVER READY SENT
-On: 2011-11-02 16:18:54.702064 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:21:14.279724 ------------------
-On: 2011-11-02 16:21:14.279900 Event: LISTEN ON PORT: 53314
-On: 2011-11-02 16:21:15.548960 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41665)
-On: 2011-11-02 16:21:15.625898 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:21:15.626688 Event: RECEIVER READY SENT
-On: 2011-11-02 16:21:26.059312 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:22:46.398730 ------------------
-On: 2011-11-02 16:22:46.398867 Event: LISTEN ON PORT: 44165
-On: 2011-11-02 16:22:47.618269 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41939)
-On: 2011-11-02 16:22:47.698340 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:22:47.706047 Event: CALLER READY SENT
-On: 2011-11-02 16:23:00.838545 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:30:07.432175 ------------------
-On: 2011-11-02 16:30:07.432306 Event: LISTEN ON PORT: 36227
-On: 2011-11-02 16:30:08.566143 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53924)
-On: 2011-11-02 16:30:08.641342 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:30:08.644897 Event: CALLER READY SENT
-On: 2011-11-02 16:30:22.226113 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:30:26.063261 ------------------
-On: 2011-11-02 16:30:26.063396 Event: LISTEN ON PORT: 39497
-On: 2011-11-02 16:30:27.302176 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42463)
-On: 2011-11-02 16:30:27.373245 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:30:27.378037 Event: CALLER READY SENT
-On: 2011-11-02 16:30:40.310064 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:37:38.522447 ------------------
-On: 2011-11-02 16:37:38.522579 Event: LISTEN ON PORT: 35461
-On: 2011-11-02 16:37:39.446278 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35064)
-On: 2011-11-02 16:37:39.514289 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:37:39.518147 Event: CALLER READY SENT
-On: 2011-11-02 16:37:53.086039 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:37:56.946999 ------------------
-On: 2011-11-02 16:37:56.947133 Event: LISTEN ON PORT: 52147
-On: 2011-11-02 16:37:58.168108 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33643)
-On: 2011-11-02 16:37:58.246314 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 16:37:58.250161 Event: CALLER READY SENT
-On: 2011-11-02 16:38:11.218089 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:17.123420 ------------------
-On: 2011-11-02 17:10:17.123555 Event: LISTEN ON PORT: 31078
-On: 2011-11-02 17:10:18.390084 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40975)
-On: 2011-11-02 17:10:18.466353 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:18.470164 Event: CALLER READY SENT
-On: 2011-11-02 17:10:31.786244 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:35.608491 ------------------
-On: 2011-11-02 17:10:35.608631 Event: LISTEN ON PORT: 47996
-On: 2011-11-02 17:10:36.870085 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48431)
-On: 2011-11-02 17:10:36.943423 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:36.950048 Event: CALLER READY SENT
-On: 2011-11-02 17:10:52.346071 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:10:56.165772 ------------------
-On: 2011-11-02 17:10:56.165903 Event: LISTEN ON PORT: 46169
-On: 2011-11-02 17:10:57.418092 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35942)
-On: 2011-11-02 17:10:57.493623 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:10:57.502023 Event: CALLER READY SENT
-On: 2011-11-02 17:11:10.614106 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:11:14.442391 ------------------
-On: 2011-11-02 17:11:14.442527 Event: LISTEN ON PORT: 48827
-On: 2011-11-02 17:11:15.730180 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51141)
-On: 2011-11-02 17:11:15.782297 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:11:15.794027 Event: CALLER READY SENT
-On: 2011-11-02 17:11:25.754077 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:12:24.692058 ------------------
-On: 2011-11-02 17:12:24.692190 Event: LISTEN ON PORT: 51443
-On: 2011-11-02 17:12:26.002122 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58163)
-On: 2011-11-02 17:12:26.054265 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:12:26.054635 Event: RECEIVER READY SENT
-On: 2011-11-02 17:12:33.650066 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:13:15.090364 ------------------
-On: 2011-11-02 17:13:15.090667 Event: LISTEN ON PORT: 36229
-On: 2011-11-02 17:13:16.338121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33898)
-On: 2011-11-02 17:13:16.410260 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:13:16.414228 Event: CALLER READY SENT
-On: 2011-11-02 17:13:29.370058 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:13:33.200648 ------------------
-On: 2011-11-02 17:13:33.200794 Event: LISTEN ON PORT: 41729
-On: 2011-11-02 17:13:34.454116 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56301)
-On: 2011-11-02 17:13:34.522334 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:13:34.526160 Event: CALLER READY SENT
-On: 2011-11-02 17:13:47.370065 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:48.946257 ------------------
-On: 2011-11-02 17:14:48.946396 Event: LISTEN ON PORT: 45506
-On: 2011-11-02 17:14:50.198173 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55726)
-On: 2011-11-02 17:14:50.254290 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:14:50.258149 Event: CALLER READY SENT
-On: 2011-11-02 17:14:54.834210 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:15:37.105540 ------------------
-On: 2011-11-02 17:15:37.105672 Event: LISTEN ON PORT: 49562
-On: 2011-11-02 17:15:38.382093 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35747)
-On: 2011-11-02 17:15:38.458540 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:15:38.458902 Event: RECEIVER READY SENT
-On: 2011-11-02 17:15:44.330059 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:15:48.091415 ------------------
-On: 2011-11-02 17:15:48.091551 Event: LISTEN ON PORT: 44244
-On: 2011-11-02 17:15:49.338087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42379)
-On: 2011-11-02 17:15:49.390261 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:15:49.398047 Event: CALLER READY SENT
-On: 2011-11-02 17:15:54.506167 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:43.638172 ------------------
-On: 2011-11-02 17:39:43.638304 Event: LISTEN ON PORT: 47433
-On: 2011-11-02 17:39:45.042087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44558)
-On: 2011-11-02 17:39:45.090275 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:39:45.094136 Event: CALLER READY SENT
-On: 2011-11-02 17:39:49.610095 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:55.329699 ------------------
-On: 2011-11-02 17:39:55.329825 Event: LISTEN ON PORT: 54099
-On: 2011-11-02 17:39:56.714086 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40984)
-On: 2011-11-02 17:39:56.766256 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 17:39:56.766654 Event: RECEIVER READY SENT
-On: 2011-11-02 17:40:02.562043 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:27:49.341414 ------------------
-On: 2011-11-02 18:27:49.342570 Event: LISTEN ON PORT: 53362
-On: 2011-11-02 18:27:50.658167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49618)
-On: 2011-11-02 18:27:50.722343 Event: TALK INITIALIZATION SENT
-On: 2011-11-02 18:27:50.726040 Event: CALLER READY SENT
-On: 2011-11-02 18:28:04.014845 Event: CALLER STATUS SENT
diff --git a/For Weekly Test/tricode/Landline handler.log b/For Weekly Test/tricode/Landline handler.log
deleted file mode 100644
index b150447..0000000
--- a/For Weekly Test/tricode/Landline handler.log
+++ /dev/null
@@ -1,3142 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:36.590523 ------------------
-On: 2011-10-14 17:09:36.610786 Event: try to Connect to Controller
-On: 2011-10-14 17:09:37.907265 Event: init state
-On: 2011-10-14 17:09:37.907505 Event: Register Account to SIP server
-On: 2011-10-14 17:09:37.909234 Event: 100
-On: 2011-10-14 17:09:37.911726 Event: Caller Handler Ready
-On: 2011-10-14 17:09:41.916794 Event: Terminate
-On: 2011-10-14 17:09:41.916831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:35.873056 ------------------
-On: 2011-10-14 17:54:35.894582 Event: try to Connect to Controller
-On: 2011-10-14 17:54:37.176912 Event: init state
-On: 2011-10-14 17:54:37.177185 Event: Register Account to SIP server
-On: 2011-10-14 17:54:37.178874 Event: 100
-On: 2011-10-14 17:54:37.181279 Event: Caller Handler Ready
-On: 2011-10-14 17:54:41.184773 Event: Terminate
-On: 2011-10-14 17:54:41.184810 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:26.718035 ------------------
-On: 2011-10-14 17:56:26.738822 Event: try to Connect to Controller
-On: 2011-10-14 17:56:28.042823 Event: init state
-On: 2011-10-14 17:56:28.043057 Event: Register Account to SIP server
-On: 2011-10-14 17:56:28.044734 Event: 100
-On: 2011-10-14 17:56:28.044829 Event: Caller Handler Ready
-On: 2011-10-14 17:56:32.052672 Event: Terminate
-On: 2011-10-14 17:56:32.052710 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:46.216385 ------------------
-On: 2011-10-14 17:58:46.236740 Event: try to Connect to Controller
-On: 2011-10-14 17:58:47.533023 Event: init state
-On: 2011-10-14 17:58:47.533260 Event: Register Account to SIP server
-On: 2011-10-14 17:58:47.535074 Event: 100
-On: 2011-10-14 17:58:47.535171 Event: Caller Handler Ready
-On: 2011-10-14 17:58:51.540754 Event: Terminate
-On: 2011-10-14 17:58:51.540790 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:57.300596 ------------------
-On: 2011-10-14 19:13:57.321699 Event: try to Connect to Controller
-On: 2011-10-14 19:13:58.650489 Event: init state
-On: 2011-10-14 19:13:58.650739 Event: Register Account to SIP server
-On: 2011-10-14 19:13:58.652831 Event: 100
-On: 2011-10-14 19:13:58.655350 Event: Caller Handler Ready
-On: 2011-10-14 19:14:02.664725 Event: Terminate
-On: 2011-10-14 19:14:02.664764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:54.438539 ------------------
-On: 2011-10-14 19:16:54.459222 Event: try to Connect to Controller
-On: 2011-10-14 19:16:55.793430 Event: init state
-On: 2011-10-14 19:16:55.793722 Event: Register Account to SIP server
-On: 2011-10-14 19:16:55.795880 Event: 100
-On: 2011-10-14 19:16:55.797031 Event: Caller Handler Ready
-On: 2011-10-14 19:16:59.802440 Event: Terminate
-On: 2011-10-14 19:16:59.802478 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:15:58.456080 ------------------
-On: 2011-10-17 17:15:58.476264 Event: try to Connect to Controller
-On: 2011-10-17 17:15:59.777790 Event: init state
-On: 2011-10-17 17:15:59.777928 Event: Register Account to SIP server
-On: 2011-10-17 17:15:59.779856 Event: 100
-On: 2011-10-17 17:15:59.782422 Event: Caller Handler Ready
-On: 2011-10-17 17:16:03.786388 Event: Terminate
-On: 2011-10-17 17:16:03.786427 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:30:19.025425 ------------------
-On: 2011-10-17 17:30:19.045330 Event: try to Connect to Controller
-On: 2011-10-17 17:30:20.342309 Event: init state
-On: 2011-10-17 17:30:20.342547 Event: Register Account to SIP server
-On: 2011-10-17 17:30:20.344911 Event: 100
-On: 2011-10-17 17:30:20.345006 Event: Caller Handler Ready
-On: 2011-10-17 17:30:27.365206 Event: CALL START
-On: 2011-10-17 17:30:27.365265 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:30:30.870213 Event: Call Disconnected
-On: 2011-10-17 17:30:55.364331 Event: Terminate
-On: 2011-10-17 17:30:55.364388 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:38:49.331013 ------------------
-On: 2011-10-17 17:38:49.351667 Event: try to Connect to Controller
-On: 2011-10-17 17:38:50.624624 Event: init state
-On: 2011-10-17 17:38:50.624875 Event: Register Account to SIP server
-On: 2011-10-17 17:38:50.627469 Event: 100
-On: 2011-10-17 17:38:50.629829 Event: Caller Handler Ready
-On: 2011-10-17 17:38:57.645466 Event: CALL START
-On: 2011-10-17 17:38:57.645524 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:39:01.686294 Event: Call Disconnected
-On: 2011-10-17 17:39:25.645653 Event: Terminate
-On: 2011-10-17 17:39:25.645711 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:08.242835 ------------------
-On: 2011-10-17 17:47:08.262962 Event: try to Connect to Controller
-On: 2011-10-17 17:47:09.463828 Event: init state
-On: 2011-10-17 17:47:09.464066 Event: Register Account to SIP server
-On: 2011-10-17 17:47:09.466587 Event: 100
-On: 2011-10-17 17:47:09.468910 Event: Caller Handler Ready
-On: 2011-10-17 17:47:13.472421 Event: Terminate
-On: 2011-10-17 17:47:13.472458 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:51:26.581342 ------------------
-On: 2011-10-17 17:51:26.601788 Event: try to Connect to Controller
-On: 2011-10-17 17:51:27.877356 Event: init state
-On: 2011-10-17 17:51:27.877794 Event: Register Account to SIP server
-On: 2011-10-17 17:51:27.880493 Event: 100
-On: 2011-10-17 17:51:27.882919 Event: Caller Handler Ready
-On: 2011-10-17 17:51:34.896450 Event: CALL START
-On: 2011-10-17 17:51:34.896511 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:51:39.760119 Event: Call Disconnected
-On: 2011-10-17 17:52:02.897301 Event: Terminate
-On: 2011-10-17 17:52:02.897351 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:11.336417 ------------------
-On: 2011-10-17 18:03:11.356727 Event: try to Connect to Controller
-On: 2011-10-17 18:03:12.667059 Event: init state
-On: 2011-10-17 18:03:12.667312 Event: Register Account to SIP server
-On: 2011-10-17 18:03:12.669674 Event: 100
-On: 2011-10-17 18:03:12.671976 Event: Caller Handler Ready
-On: 2011-10-17 18:03:16.676445 Event: Terminate
-On: 2011-10-17 18:03:16.676485 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:11.475488 ------------------
-On: 2011-10-17 18:10:11.495245 Event: try to Connect to Controller
-On: 2011-10-17 18:10:12.676099 Event: init state
-On: 2011-10-17 18:10:12.676339 Event: Register Account to SIP server
-On: 2011-10-17 18:10:17.678530 Event: 100
-On: 2011-10-17 18:10:17.680992 Event: Caller Handler Ready
-On: 2011-10-17 18:10:21.684418 Event: Terminate
-On: 2011-10-17 18:10:21.684457 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:54.590446 ------------------
-On: 2011-10-20 12:30:54.610652 Event: try to Connect to Controller
-On: 2011-10-20 12:30:55.917190 Event: init state
-On: 2011-10-20 12:30:55.917443 Event: Register Account to SIP server
-On: 2011-10-20 12:30:55.922181 Event: 100
-On: 2011-10-20 12:30:55.924569 Event: Caller Handler Ready
-On: 2011-10-20 12:31:05.943139 Event: CALL START
-On: 2011-10-20 12:31:05.943197 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:31:11.296744 Event: Call Disconnected
-On: 2011-10-20 12:31:32.941273 Event: Terminate
-On: 2011-10-20 12:31:32.941330 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:57.096453 ------------------
-On: 2011-10-20 12:41:57.120972 Event: try to Connect to Controller
-On: 2011-10-20 12:41:58.098717 Event: init state
-On: 2011-10-20 12:41:58.098945 Event: Register Account to SIP server
-On: 2011-10-20 12:41:58.101273 Event: 100
-On: 2011-10-20 12:41:58.103933 Event: Caller Handler Ready
-On: 2011-10-20 12:42:08.127717 Event: CALL START
-On: 2011-10-20 12:42:08.127776 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:42:11.161567 Event: Call Disconnected
-On: 2011-10-20 12:42:35.125560 Event: Terminate
-On: 2011-10-20 12:42:35.125617 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:49:41.739449 ------------------
-On: 2011-10-20 12:49:41.760029 Event: try to Connect to Controller
-On: 2011-10-20 12:49:43.022714 Event: init state
-On: 2011-10-20 12:49:43.022959 Event: Register Account to SIP server
-On: 2011-10-20 12:49:43.025260 Event: 100
-On: 2011-10-20 12:49:43.027748 Event: Caller Handler Ready
-On: 2011-10-20 12:49:53.048143 Event: CALL START
-On: 2011-10-20 12:49:53.048212 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:49:56.661047 Event: Call Disconnected
-On: 2011-10-20 12:50:20.046374 Event: Terminate
-On: 2011-10-20 12:50:20.046431 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:56:23.099352 ------------------
-On: 2011-10-20 12:56:23.119575 Event: try to Connect to Controller
-On: 2011-10-20 12:56:24.354700 Event: init state
-On: 2011-10-20 12:56:24.354955 Event: Register Account to SIP server
-On: 2011-10-20 12:56:24.357197 Event: 100
-On: 2011-10-20 12:56:24.359713 Event: Caller Handler Ready
-On: 2011-10-20 12:56:34.380476 Event: CALL START
-On: 2011-10-20 12:56:34.380538 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:56:38.115273 Event: Call Disconnected
-On: 2011-10-20 12:57:01.377790 Event: Terminate
-On: 2011-10-20 12:57:01.377836 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:05:39.827134 ------------------
-On: 2011-10-20 13:05:39.847531 Event: try to Connect to Controller
-On: 2011-10-20 13:05:41.143653 Event: init state
-On: 2011-10-20 13:05:41.143900 Event: Register Account to SIP server
-On: 2011-10-20 13:05:41.146392 Event: 100
-On: 2011-10-20 13:05:41.148826 Event: Caller Handler Ready
-On: 2011-10-20 13:05:51.167001 Event: CALL START
-On: 2011-10-20 13:05:51.167060 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:05:54.228278 Event: Call Disconnected
-On: 2011-10-20 13:06:18.166426 Event: Terminate
-On: 2011-10-20 13:06:18.166472 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:16:42.837943 ------------------
-On: 2011-10-20 13:16:42.859449 Event: try to Connect to Controller
-On: 2011-10-20 13:16:44.078189 Event: init state
-On: 2011-10-20 13:16:44.078440 Event: Register Account to SIP server
-On: 2011-10-20 13:16:44.080898 Event: 100
-On: 2011-10-20 13:16:44.083455 Event: Caller Handler Ready
-On: 2011-10-20 13:16:54.098859 Event: CALL START
-On: 2011-10-20 13:16:54.098918 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:17:15.623823 Event: Call Disconnected
-On: 2011-10-20 13:17:21.096683 Event: Terminate
-On: 2011-10-20 13:17:21.096742 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:34:26.657642 ------------------
-On: 2011-10-20 13:34:26.678147 Event: try to Connect to Controller
-On: 2011-10-20 13:34:27.977045 Event: init state
-On: 2011-10-20 13:34:27.977291 Event: Register Account to SIP server
-On: 2011-10-20 13:34:32.983698 Event: 100
-On: 2011-10-20 13:34:32.983790 Event: Caller Handler Ready
-On: 2011-10-20 13:34:43.007573 Event: CALL START
-On: 2011-10-20 13:34:43.007629 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:34:46.397358 Event: Call Disconnected
-On: 2011-10-20 13:35:10.005746 Event: Terminate
-On: 2011-10-20 13:35:10.005804 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:52:22.960377 ------------------
-On: 2011-10-20 13:52:22.980870 Event: try to Connect to Controller
-On: 2011-10-20 13:52:24.261115 Event: init state
-On: 2011-10-20 13:52:24.261368 Event: Register Account to SIP server
-On: 2011-10-20 13:52:24.263732 Event: 100
-On: 2011-10-20 13:52:24.266192 Event: Caller Handler Ready
-On: 2011-10-20 13:52:34.280375 Event: CALL START
-On: 2011-10-20 13:52:34.280433 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:52:40.336993 Event: Call Disconnected
-On: 2011-10-20 13:53:01.280027 Event: Terminate
-On: 2011-10-20 13:53:01.280071 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:02:31.979436 ------------------
-On: 2011-10-20 14:02:31.999936 Event: try to Connect to Controller
-On: 2011-10-20 14:02:33.240701 Event: init state
-On: 2011-10-20 14:02:33.240953 Event: Register Account to SIP server
-On: 2011-10-20 14:02:33.243782 Event: 100
-On: 2011-10-20 14:02:33.246254 Event: Caller Handler Ready
-On: 2011-10-20 14:02:43.261454 Event: CALL START
-On: 2011-10-20 14:02:43.261512 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:02:46.638790 Event: Call Disconnected
-On: 2011-10-20 14:03:10.261960 Event: Terminate
-On: 2011-10-20 14:03:10.262017 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:42.904626 ------------------
-On: 2011-10-20 14:09:42.925088 Event: try to Connect to Controller
-On: 2011-10-20 14:09:44.158439 Event: init state
-On: 2011-10-20 14:09:44.158669 Event: Register Account to SIP server
-On: 2011-10-20 14:09:44.161029 Event: 100
-On: 2011-10-20 14:09:44.163639 Event: Caller Handler Ready
-On: 2011-10-20 14:09:54.183562 Event: CALL START
-On: 2011-10-20 14:09:54.183621 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:09:59.202122 Event: Call Connecting
-On: 2011-10-20 14:09:59.202169 Event: 200
-On: 2011-10-20 14:09:59.202967 Event: Terminate
-On: 2011-10-20 14:09:59.203024 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:15:26.528121 ------------------
-On: 2011-10-20 14:15:26.548612 Event: try to Connect to Controller
-On: 2011-10-20 14:15:27.845151 Event: init state
-On: 2011-10-20 14:15:27.845391 Event: Register Account to SIP server
-On: 2011-10-20 14:15:27.848500 Event: 100
-On: 2011-10-20 14:15:27.851038 Event: Caller Handler Ready
-On: 2011-10-20 14:15:37.868253 Event: CALL START
-On: 2011-10-20 14:15:37.868310 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:15:42.874584 Event: Call Connecting
-On: 2011-10-20 14:15:42.874631 Event: 200
-On: 2011-10-20 14:15:42.875431 Event: Terminate
-On: 2011-10-20 14:15:42.875490 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:47.426333 ------------------
-On: 2011-10-20 14:20:47.446723 Event: try to Connect to Controller
-On: 2011-10-20 14:20:48.733834 Event: init state
-On: 2011-10-20 14:20:48.734098 Event: Register Account to SIP server
-On: 2011-10-20 14:20:48.736267 Event: 100
-On: 2011-10-20 14:20:48.738781 Event: Caller Handler Ready
-On: 2011-10-20 14:20:58.754767 Event: CALL START
-On: 2011-10-20 14:20:58.754825 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:21:13.939704 Event: Call Connecting
-On: 2011-10-20 14:21:13.939754 Event: 200
-On: 2011-10-20 14:21:13.941082 Event: Terminate
-On: 2011-10-20 14:21:13.941139 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:54.263456 ------------------
-On: 2011-10-20 14:25:54.283912 Event: try to Connect to Controller
-On: 2011-10-20 14:25:55.504813 Event: init state
-On: 2011-10-20 14:25:55.505064 Event: Register Account to SIP server
-On: 2011-10-20 14:25:55.507243 Event: 100
-On: 2011-10-20 14:25:55.509547 Event: Caller Handler Ready
-On: 2011-10-20 14:26:05.524148 Event: CALL START
-On: 2011-10-20 14:26:05.524203 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:26:11.635526 Event: Call Connecting
-On: 2011-10-20 14:26:11.635575 Event: 200
-On: 2011-10-20 14:26:11.636378 Event: Terminate
-On: 2011-10-20 14:26:11.636435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:57.063337 ------------------
-On: 2011-10-20 14:32:57.083538 Event: try to Connect to Controller
-On: 2011-10-20 14:32:58.344519 Event: init state
-On: 2011-10-20 14:32:58.344771 Event: Register Account to SIP server
-On: 2011-10-20 14:32:58.350649 Event: 100
-On: 2011-10-20 14:32:58.352987 Event: Caller Handler Ready
-On: 2011-10-20 14:33:08.372442 Event: CALL START
-On: 2011-10-20 14:33:08.372500 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:33:14.021105 Event: Call Connecting
-On: 2011-10-20 14:33:14.021154 Event: 200
-On: 2011-10-20 14:33:14.022144 Event: Terminate
-On: 2011-10-20 14:33:14.022202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:39:35.673426 ------------------
-On: 2011-10-20 14:39:35.694067 Event: try to Connect to Controller
-On: 2011-10-20 14:39:36.995256 Event: init state
-On: 2011-10-20 14:39:36.995507 Event: Register Account to SIP server
-On: 2011-10-20 14:39:36.998226 Event: 100
-On: 2011-10-20 14:39:37.000589 Event: Caller Handler Ready
-On: 2011-10-20 14:39:47.020770 Event: CALL START
-On: 2011-10-20 14:39:47.020830 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:39:55.549182 Event: Call Connecting
-On: 2011-10-20 14:39:55.549230 Event: 200
-On: 2011-10-20 14:39:55.550214 Event: Terminate
-On: 2011-10-20 14:39:55.550274 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:12.157340 ------------------
-On: 2011-10-20 14:56:12.177952 Event: try to Connect to Controller
-On: 2011-10-20 14:56:13.416510 Event: init state
-On: 2011-10-20 14:56:13.416753 Event: Register Account to SIP server
-On: 2011-10-20 14:56:13.418785 Event: 100
-On: 2011-10-20 14:56:13.421186 Event: Caller Handler Ready
-On: 2011-10-20 14:56:23.435824 Event: CALL START
-On: 2011-10-20 14:56:23.435881 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:56:34.135425 Event: Call Connecting
-On: 2011-10-20 14:56:34.135474 Event: 200
-On: 2011-10-20 14:56:34.136267 Event: Terminate
-On: 2011-10-20 14:56:34.136323 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:51.898638 ------------------
-On: 2011-10-20 15:00:51.918777 Event: try to Connect to Controller
-On: 2011-10-20 15:00:53.149693 Event: init state
-On: 2011-10-20 15:00:53.150173 Event: Register Account to SIP server
-On: 2011-10-20 15:00:53.152357 Event: 100
-On: 2011-10-20 15:00:53.154956 Event: Caller Handler Ready
-On: 2011-10-20 15:01:03.173662 Event: CALL START
-On: 2011-10-20 15:01:03.173738 Event: Make a call to: 07612034661455
-On: 2011-10-20 15:01:10.547274 Event: Call Connecting
-On: 2011-10-20 15:01:10.547324 Event: 200
-On: 2011-10-20 15:01:10.548121 Event: Terminate
-On: 2011-10-20 15:01:10.548178 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:16:55.007734 ------------------
-On: 2011-10-20 15:16:55.028200 Event: try to Connect to Controller
-On: 2011-10-20 15:16:55.932919 Event: init state
-On: 2011-10-20 15:16:55.933179 Event: Register Account to SIP server
-On: 2011-10-20 15:16:55.941228 Event: 100
-On: 2011-10-20 15:16:55.943652 Event: Caller Handler Ready
-On: 2011-10-20 15:17:05.962718 Event: CALL START
-On: 2011-10-20 15:17:05.962778 Event: Make a call to: 07612034661455
-On: 2011-10-20 15:17:12.586728 Event: Call Connecting
-On: 2011-10-20 15:17:12.586777 Event: 200
-On: 2011-10-20 15:17:12.587590 Event: Terminate
-On: 2011-10-20 15:17:12.587645 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:23:45.181529 ------------------
-On: 2011-10-20 15:23:45.202254 Event: try to Connect to Controller
-On: 2011-10-20 15:23:46.481925 Event: init state
-On: 2011-10-20 15:23:46.482179 Event: Register Account to SIP server
-On: 2011-10-20 15:23:46.484726 Event: 100
-On: 2011-10-20 15:23:46.487182 Event: Caller Handler Ready
-On: 2011-10-20 15:23:56.501744 Event: CALL START
-On: 2011-10-20 15:23:56.501809 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:24:02.066756 Event: Call Connecting
-On: 2011-10-20 15:24:02.066805 Event: 200
-On: 2011-10-20 15:24:02.067621 Event: Terminate
-On: 2011-10-20 15:24:02.067679 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:10.891536 ------------------
-On: 2011-10-20 16:03:10.912278 Event: try to Connect to Controller
-On: 2011-10-20 16:03:12.148924 Event: init state
-On: 2011-10-20 16:03:12.149177 Event: Register Account to SIP server
-On: 2011-10-20 16:03:12.151616 Event: 100
-On: 2011-10-20 16:03:12.154033 Event: Caller Handler Ready
-On: 2011-10-20 16:03:22.169783 Event: CALL START
-On: 2011-10-20 16:03:22.169854 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:03:27.612704 Event: Call Connecting
-On: 2011-10-20 16:03:27.612754 Event: 200
-On: 2011-10-20 16:03:27.614156 Event: Terminate
-On: 2011-10-20 16:03:27.614214 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:32.136698 ------------------
-On: 2011-10-20 16:07:32.157494 Event: try to Connect to Controller
-On: 2011-10-20 16:07:33.401059 Event: init state
-On: 2011-10-20 16:07:33.401303 Event: Register Account to SIP server
-On: 2011-10-20 16:07:33.438577 Event: 100
-On: 2011-10-20 16:07:33.441041 Event: Caller Handler Ready
-On: 2011-10-20 16:07:43.457108 Event: CALL START
-On: 2011-10-20 16:07:43.457168 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:07:47.681207 Event: Call Connecting
-On: 2011-10-20 16:07:47.681257 Event: 200
-On: 2011-10-20 16:07:47.682646 Event: Terminate
-On: 2011-10-20 16:07:47.682705 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:13:43.076802 ------------------
-On: 2011-10-20 16:13:43.097058 Event: try to Connect to Controller
-On: 2011-10-20 16:13:44.350635 Event: init state
-On: 2011-10-20 16:13:44.350885 Event: Register Account to SIP server
-On: 2011-10-20 16:13:44.352530 Event: 100
-On: 2011-10-20 16:13:44.355127 Event: Caller Handler Ready
-On: 2011-10-20 16:13:54.372286 Event: CALL START
-On: 2011-10-20 16:13:54.372346 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:13:59.525734 Event: Call Connecting
-On: 2011-10-20 16:13:59.525784 Event: 200
-On: 2011-10-20 16:13:59.526615 Event: Terminate
-On: 2011-10-20 16:13:59.526672 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:17:38.771969 ------------------
-On: 2011-10-20 16:17:38.792338 Event: try to Connect to Controller
-On: 2011-10-20 16:17:40.026281 Event: init state
-On: 2011-10-20 16:17:40.026537 Event: Register Account to SIP server
-On: 2011-10-20 16:17:40.028720 Event: 100
-On: 2011-10-20 16:17:40.031341 Event: Caller Handler Ready
-On: 2011-10-20 16:17:50.047085 Event: CALL START
-On: 2011-10-20 16:17:50.047148 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:17:59.425782 Event: Call Connecting
-On: 2011-10-20 16:17:59.425852 Event: 200
-On: 2011-10-20 16:17:59.427179 Event: Terminate
-On: 2011-10-20 16:17:59.427235 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:03.749552 ------------------
-On: 2011-10-20 16:44:03.770707 Event: try to Connect to Controller
-On: 2011-10-20 16:44:04.950853 Event: init state
-On: 2011-10-20 16:44:04.951163 Event: Register Account to SIP server
-On: 2011-10-20 16:44:04.953297 Event: 100
-On: 2011-10-20 16:44:04.955801 Event: Caller Handler Ready
-On: 2011-10-20 16:44:14.977083 Event: CALL START
-On: 2011-10-20 16:44:14.977142 Event: Make a call to: 07612034661455
-On: 2011-10-20 16:44:20.167837 Event: Call Connecting
-On: 2011-10-20 16:44:20.167887 Event: 200
-On: 2011-10-20 16:44:20.169220 Event: Terminate
-On: 2011-10-20 16:44:20.169277 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:05.367912 ------------------
-On: 2011-10-20 16:48:05.388565 Event: try to Connect to Controller
-On: 2011-10-20 16:48:06.619343 Event: init state
-On: 2011-10-20 16:48:06.619619 Event: Register Account to SIP server
-On: 2011-10-20 16:48:06.621629 Event: 100
-On: 2011-10-20 16:48:06.624075 Event: Caller Handler Ready
-On: 2011-10-20 16:48:16.642348 Event: CALL START
-On: 2011-10-20 16:48:16.642408 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:48:21.567297 Event: Call Connecting
-On: 2011-10-20 16:48:21.567346 Event: 200
-On: 2011-10-20 16:48:21.568672 Event: Terminate
-On: 2011-10-20 16:48:21.568730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:03.755170 ------------------
-On: 2011-10-20 16:52:03.776426 Event: try to Connect to Controller
-On: 2011-10-20 16:52:05.066312 Event: init state
-On: 2011-10-20 16:52:05.066543 Event: Register Account to SIP server
-On: 2011-10-20 16:52:05.068863 Event: 100
-On: 2011-10-20 16:52:05.068959 Event: Caller Handler Ready
-On: 2011-10-20 16:52:15.090436 Event: CALL START
-On: 2011-10-20 16:52:15.090502 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:52:25.230699 Event: Call Connecting
-On: 2011-10-20 16:52:25.230750 Event: 200
-On: 2011-10-20 16:52:25.232055 Event: Terminate
-On: 2011-10-20 16:52:25.232112 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:12.102282 ------------------
-On: 2011-10-20 16:55:12.123024 Event: try to Connect to Controller
-On: 2011-10-20 16:55:13.398396 Event: init state
-On: 2011-10-20 16:55:13.398633 Event: Register Account to SIP server
-On: 2011-10-20 16:55:13.400753 Event: 100
-On: 2011-10-20 16:55:13.400845 Event: Caller Handler Ready
-On: 2011-10-20 16:55:23.419572 Event: CALL START
-On: 2011-10-20 16:55:23.419631 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:55:28.915918 Event: Call Connecting
-On: 2011-10-20 16:55:28.915969 Event: 200
-On: 2011-10-20 16:55:28.917252 Event: Terminate
-On: 2011-10-20 16:55:28.917310 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:52:46.125908 ------------------
-On: 2011-10-20 19:52:46.146549 Event: try to Connect to Controller
-On: 2011-10-20 19:52:47.438653 Event: init state
-On: 2011-10-20 19:52:47.438890 Event: Register Account to SIP server
-On: 2011-10-20 19:52:47.440537 Event: 100
-On: 2011-10-20 19:52:47.440902 Event: Receiver Handler Ready
-On: 2011-10-20 19:52:47.440967 Event: RECEIVE START
-On: 2011-10-20 19:52:54.438597 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-20 19:52:54.439131 Event: Call Connecting
-On: 2011-10-20 19:52:54.439173 Event: 200
-On: 2011-10-20 19:52:54.439416 Event: Answer call
-On: 2011-10-20 19:52:54.439465 Event: Hangup call
-On: 2011-10-20 19:52:54.439637 Event: CALL OK
-On: 2011-10-20 19:52:54.490282 Event: Call Disconnected
-On: 2011-10-20 19:52:55.694303 Event: Terminate
-On: 2011-10-20 19:52:55.694358 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:54:11.394654 ------------------
-On: 2011-10-21 14:54:11.419365 Event: try to Connect to Controller
-On: 2011-10-21 14:54:12.651987 Event: init state
-On: 2011-10-21 14:54:12.652222 Event: Register Account to SIP server
-On: 2011-10-21 14:54:12.655776 Event: 100
-On: 2011-10-21 14:54:12.655867 Event: Caller Handler Ready
-On: 2011-10-21 14:54:19.668761 Event: Terminate
-On: 2011-10-21 14:54:19.668801 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:07:11.808783 ------------------
-On: 2011-10-21 15:07:11.834046 Event: try to Connect to Controller
-On: 2011-10-21 15:07:12.954662 Event: init state
-On: 2011-10-21 15:07:12.954902 Event: Register Account to SIP server
-On: 2011-10-21 15:07:12.957244 Event: 100
-On: 2011-10-21 15:07:12.957337 Event: Caller Handler Ready
-On: 2011-10-21 15:07:22.994223 Event: CALL START
-On: 2011-10-21 15:07:22.994291 Event: Make a call to: 07612034661447
-On: 2011-10-21 15:07:28.380264 Event: Call Connecting
-On: 2011-10-21 15:07:28.380314 Event: 200
-On: 2011-10-21 15:07:28.381626 Event: Terminate
-On: 2011-10-21 15:07:28.381685 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:17:22.291363 ------------------
-On: 2011-10-21 15:17:22.315640 Event: try to Connect to Controller
-On: 2011-10-21 15:17:23.530752 Event: init state
-On: 2011-10-21 15:17:23.530984 Event: Register Account to SIP server
-On: 2011-10-21 15:17:23.533565 Event: 100
-On: 2011-10-21 15:17:23.533663 Event: Caller Handler Ready
-On: 2011-10-21 15:17:33.575909 Event: CALL START
-On: 2011-10-21 15:17:33.575977 Event: Make a call to: 07612034661447
-On: 2011-10-21 15:17:38.976179 Event: Call Connecting
-On: 2011-10-21 15:17:38.976230 Event: 200
-On: 2011-10-21 15:17:38.977520 Event: Terminate
-On: 2011-10-21 15:17:38.977578 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:23:00.145079 ------------------
-On: 2011-10-21 15:23:00.165459 Event: try to Connect to Controller
-On: 2011-10-21 15:23:01.334709 Event: init state
-On: 2011-10-21 15:23:01.334965 Event: Register Account to SIP server
-On: 2011-10-21 15:23:01.336814 Event: 100
-On: 2011-10-21 15:23:01.339313 Event: Caller Handler Ready
-On: 2011-10-21 15:23:11.382055 Event: CALL START
-On: 2011-10-21 15:23:11.382115 Event: Make a call to: 07612034661455
-On: 2011-10-21 15:23:16.247174 Event: Call Connecting
-On: 2011-10-21 15:23:16.247222 Event: 200
-On: 2011-10-21 15:23:16.248063 Event: Terminate
-On: 2011-10-21 15:23:16.248120 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:56:05.435075 ------------------
-On: 2011-10-21 15:56:05.459742 Event: try to Connect to Controller
-On: 2011-10-21 15:56:06.574769 Event: init state
-On: 2011-10-21 15:56:06.575000 Event: Register Account to SIP server
-On: 2011-10-21 15:56:06.577186 Event: 100
-On: 2011-10-21 15:56:06.577279 Event: Caller Handler Ready
-On: 2011-10-21 15:56:16.617830 Event: CALL START
-On: 2011-10-21 15:56:16.617898 Event: Make a call to: 07612034661455
-On: 2011-10-21 15:56:21.753510 Event: Call Connecting
-On: 2011-10-21 15:56:21.753559 Event: 200
-On: 2011-10-21 15:56:21.754962 Event: Terminate
-On: 2011-10-21 15:56:21.755018 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:58:21.957477 ------------------
-On: 2011-10-21 15:58:21.977940 Event: try to Connect to Controller
-On: 2011-10-21 15:58:23.282731 Event: init state
-On: 2011-10-21 15:58:23.282979 Event: Register Account to SIP server
-On: 2011-10-21 15:58:23.285151 Event: 100
-On: 2011-10-21 15:58:23.287797 Event: Caller Handler Ready
-On: 2011-10-21 15:58:33.321752 Event: CALL START
-On: 2011-10-21 15:58:33.321811 Event: Make a call to: 07612034661455
-On: 2011-10-21 15:58:38.762718 Event: Call Connecting
-On: 2011-10-21 15:58:38.762766 Event: 200
-On: 2011-10-21 15:58:38.763618 Event: Terminate
-On: 2011-10-21 15:58:38.763673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:01:28.068396 ------------------
-On: 2011-10-21 16:01:28.089105 Event: try to Connect to Controller
-On: 2011-10-21 16:01:29.303572 Event: init state
-On: 2011-10-21 16:01:29.303827 Event: Register Account to SIP server
-On: 2011-10-21 16:01:29.306579 Event: 100
-On: 2011-10-21 16:01:29.309060 Event: Caller Handler Ready
-On: 2011-10-21 16:01:39.340187 Event: CALL START
-On: 2011-10-21 16:01:39.340248 Event: Make a call to: 07612034661455
-On: 2011-10-21 16:01:44.312069 Event: Call Connecting
-On: 2011-10-21 16:01:44.312118 Event: 200
-On: 2011-10-21 16:01:44.312968 Event: Terminate
-On: 2011-10-21 16:01:44.313026 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:15:21.155778 ------------------
-On: 2011-10-21 16:15:21.176098 Event: try to Connect to Controller
-On: 2011-10-21 16:15:22.404195 Event: init state
-On: 2011-10-21 16:15:22.404426 Event: Register Account to SIP server
-On: 2011-10-21 16:15:22.406473 Event: 100
-On: 2011-10-21 16:15:22.406568 Event: Caller Handler Ready
-On: 2011-10-21 16:15:32.442347 Event: CALL START
-On: 2011-10-21 16:15:32.442412 Event: Make a call to: 07612034661447
-On: 2011-10-21 16:15:36.594484 Event: Call Connecting
-On: 2011-10-21 16:15:36.594533 Event: 200
-On: 2011-10-21 16:15:36.595893 Event: Terminate
-On: 2011-10-21 16:15:36.595951 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:30:32.379237 ------------------
-On: 2011-10-21 16:30:32.399681 Event: try to Connect to Controller
-On: 2011-10-21 16:30:33.586958 Event: init state
-On: 2011-10-21 16:30:33.587194 Event: Register Account to SIP server
-On: 2011-10-21 16:30:33.589712 Event: 100
-On: 2011-10-21 16:30:33.589996 Event: Caller Handler Ready
-On: 2011-10-21 16:30:43.625778 Event: CALL START
-On: 2011-10-21 16:30:43.625838 Event: Make a call to: 07612034661447
-On: 2011-10-21 16:30:48.765125 Event: Call Connecting
-On: 2011-10-21 16:30:48.765174 Event: 200
-On: 2011-10-21 16:30:48.766545 Event: Terminate
-On: 2011-10-21 16:30:48.766604 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:21:18.159155 ------------------
-On: 2011-10-21 17:21:18.179228 Event: try to Connect to Controller
-On: 2011-10-21 17:21:19.459807 Event: init state
-On: 2011-10-21 17:21:19.460035 Event: Register Account to SIP server
-On: 2011-10-21 17:21:19.465891 Event: 100
-On: 2011-10-21 17:21:19.468381 Event: Caller Handler Ready
-On: 2011-10-21 17:21:29.505833 Event: CALL START
-On: 2011-10-21 17:21:29.505891 Event: Make a call to: 07612034661455
-On: 2011-10-21 17:21:34.665774 Event: Call Connecting
-On: 2011-10-21 17:21:34.665824 Event: 200
-On: 2011-10-21 17:21:34.666651 Event: Terminate
-On: 2011-10-21 17:21:34.666707 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:39:34.913067 ------------------
-On: 2011-10-21 17:39:34.933377 Event: try to Connect to Controller
-On: 2011-10-21 17:39:36.158271 Event: init state
-On: 2011-10-21 17:39:36.158510 Event: Register Account to SIP server
-On: 2011-10-21 17:39:36.160745 Event: 100
-On: 2011-10-21 17:39:36.160837 Event: Caller Handler Ready
-On: 2011-10-21 17:39:46.193811 Event: CALL START
-On: 2011-10-21 17:39:46.193880 Event: Make a call to: 07612034661447
-On: 2011-10-21 17:39:51.582939 Event: Call Connecting
-On: 2011-10-21 17:39:51.582987 Event: 200
-On: 2011-10-21 17:39:51.584320 Event: Terminate
-On: 2011-10-21 17:39:51.584375 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:02:52.963770 ------------------
-On: 2011-10-21 19:02:52.984584 Event: try to Connect to Controller
-On: 2011-10-21 19:02:54.198723 Event: init state
-On: 2011-10-21 19:02:54.198957 Event: Register Account to SIP server
-On: 2011-10-21 19:02:54.201435 Event: 100
-On: 2011-10-21 19:02:54.201531 Event: Caller Handler Ready
-On: 2011-10-21 19:03:04.229765 Event: CALL START
-On: 2011-10-21 19:03:04.229831 Event: Make a call to: 07612034661447
-On: 2011-10-21 19:03:09.792103 Event: Call Connecting
-On: 2011-10-21 19:03:09.792152 Event: 200
-On: 2011-10-21 19:03:09.793471 Event: Terminate
-On: 2011-10-21 19:03:09.793529 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:54:20.532593 ------------------
-On: 2011-10-21 19:54:20.553237 Event: try to Connect to Controller
-On: 2011-10-21 19:54:21.778804 Event: init state
-On: 2011-10-21 19:54:21.779040 Event: Register Account to SIP server
-On: 2011-10-21 19:54:21.780695 Event: 100
-On: 2011-10-21 19:54:21.780792 Event: Caller Handler Ready
-On: 2011-10-21 19:54:31.817438 Event: CALL START
-On: 2011-10-21 19:54:31.817505 Event: Make a call to: 07612034661447
-On: 2011-10-21 19:54:36.687843 Event: Call Connecting
-On: 2011-10-21 19:54:36.687892 Event: 200
-On: 2011-10-21 19:54:36.689211 Event: Terminate
-On: 2011-10-21 19:54:36.689268 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:58:23.837223 ------------------
-On: 2011-10-21 19:58:23.858781 Event: try to Connect to Controller
-On: 2011-10-21 19:58:25.081530 Event: init state
-On: 2011-10-21 19:58:25.081806 Event: Register Account to SIP server
-On: 2011-10-21 19:58:25.083451 Event: 100
-On: 2011-10-21 19:58:25.085893 Event: Caller Handler Ready
-On: 2011-10-21 19:58:35.121779 Event: CALL START
-On: 2011-10-21 19:58:35.121849 Event: Make a call to: 07612034661455
-On: 2011-10-21 19:58:40.351720 Event: Call Connecting
-On: 2011-10-21 19:58:40.351769 Event: 200
-On: 2011-10-21 19:58:40.353090 Event: Terminate
-On: 2011-10-21 19:58:40.353149 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:04:32.808770 ------------------
-On: 2011-10-21 20:04:32.840403 Event: try to Connect to Controller
-On: 2011-10-21 20:04:33.773504 Event: init state
-On: 2011-10-21 20:04:33.773816 Event: Register Account to SIP server
-On: 2011-10-21 20:04:33.776261 Event: 100
-On: 2011-10-21 20:04:33.776359 Event: Caller Handler Ready
-On: 2011-10-21 20:04:43.819214 Event: CALL START
-On: 2011-10-21 20:04:43.819281 Event: Make a call to: 07612034661455
-On: 2011-10-21 20:04:48.484228 Event: Call Connecting
-On: 2011-10-21 20:04:48.484277 Event: 200
-On: 2011-10-21 20:04:48.485596 Event: Terminate
-On: 2011-10-21 20:04:48.485652 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:07:20.585452 ------------------
-On: 2011-10-21 20:07:20.610407 Event: try to Connect to Controller
-On: 2011-10-21 20:07:21.834784 Event: init state
-On: 2011-10-21 20:07:21.835021 Event: Register Account to SIP server
-On: 2011-10-21 20:07:21.836667 Event: 100
-On: 2011-10-21 20:07:21.836763 Event: Caller Handler Ready
-On: 2011-10-21 20:07:31.877792 Event: CALL START
-On: 2011-10-21 20:07:31.877857 Event: Make a call to: 07612034661455
-On: 2011-10-21 20:07:38.035691 Event: Call Connecting
-On: 2011-10-21 20:07:38.035740 Event: 200
-On: 2011-10-21 20:07:38.037059 Event: Terminate
-On: 2011-10-21 20:07:38.037116 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:38:51.935263 ------------------
-On: 2011-10-21 20:38:51.956223 Event: try to Connect to Controller
-On: 2011-10-21 20:38:53.284196 Event: init state
-On: 2011-10-21 20:38:53.284444 Event: Register Account to SIP server
-On: 2011-10-21 20:38:53.286196 Event: 100
-On: 2011-10-21 20:38:53.288671 Event: Caller Handler Ready
-On: 2011-10-21 20:39:03.325773 Event: CALL START
-On: 2011-10-21 20:39:03.325828 Event: Make a call to: 07612034661455
-On: 2011-10-21 20:39:08.329060 Event: Call Connecting
-On: 2011-10-21 20:39:08.329106 Event: 200
-On: 2011-10-21 20:39:08.330076 Event: Terminate
-On: 2011-10-21 20:39:08.330131 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:58:28.745455 ------------------
-On: 2011-10-21 20:58:28.766050 Event: try to Connect to Controller
-On: 2011-10-21 20:58:30.098882 Event: init state
-On: 2011-10-21 20:58:30.099132 Event: Register Account to SIP server
-On: 2011-10-21 20:58:30.101978 Event: 100
-On: 2011-10-21 20:58:30.104410 Event: Caller Handler Ready
-On: 2011-10-21 20:58:40.141797 Event: CALL START
-On: 2011-10-21 20:58:40.141848 Event: Make a call to: 07612034661455
-On: 2011-10-21 20:58:45.093920 Event: Call Connecting
-On: 2011-10-21 20:58:45.093964 Event: 200
-On: 2011-10-21 20:58:45.094748 Event: Terminate
-On: 2011-10-21 20:58:45.094803 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:13:54.597696 ------------------
-On: 2011-10-21 22:13:54.617972 Event: try to Connect to Controller
-On: 2011-10-21 22:13:55.948075 Event: init state
-On: 2011-10-21 22:13:55.948317 Event: Register Account to SIP server
-On: 2011-10-21 22:13:55.950126 Event: 100
-On: 2011-10-21 22:13:55.952585 Event: Caller Handler Ready
-On: 2011-10-21 22:14:05.985239 Event: CALL START
-On: 2011-10-21 22:14:05.985293 Event: Make a call to: 07612034661447
-On: 2011-10-21 22:14:11.351089 Event: Call Connecting
-On: 2011-10-21 22:14:11.351136 Event: 200
-On: 2011-10-21 22:14:11.351917 Event: Terminate
-On: 2011-10-21 22:14:11.351971 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:33:16.993948 ------------------
-On: 2011-10-21 22:33:17.014096 Event: try to Connect to Controller
-On: 2011-10-21 22:33:18.348178 Event: init state
-On: 2011-10-21 22:33:18.348422 Event: Register Account to SIP server
-On: 2011-10-21 22:33:18.350168 Event: 100
-On: 2011-10-21 22:33:18.352591 Event: Caller Handler Ready
-On: 2011-10-21 22:33:28.389965 Event: CALL START
-On: 2011-10-21 22:33:28.390020 Event: Make a call to: 07612034661455
-On: 2011-10-21 22:33:32.779510 Event: Call Connecting
-On: 2011-10-21 22:33:32.779557 Event: 200
-On: 2011-10-21 22:33:32.780325 Event: Terminate
-On: 2011-10-21 22:33:32.780378 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:43:31.276547 ------------------
-On: 2011-10-21 23:43:31.297184 Event: try to Connect to Controller
-On: 2011-10-21 23:43:32.627183 Event: init state
-On: 2011-10-21 23:43:32.627427 Event: Register Account to SIP server
-On: 2011-10-21 23:43:32.629568 Event: 100
-On: 2011-10-21 23:43:32.632072 Event: Caller Handler Ready
-On: 2011-10-21 23:43:42.669388 Event: CALL START
-On: 2011-10-21 23:43:42.669442 Event: Make a call to: 07612034661455
-On: 2011-10-21 23:43:47.365406 Event: Call Connecting
-On: 2011-10-21 23:43:47.365453 Event: 200
-On: 2011-10-21 23:43:47.366407 Event: Terminate
-On: 2011-10-21 23:43:47.366464 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:03:22.172059 ------------------
-On: 2011-10-22 00:03:22.192347 Event: try to Connect to Controller
-On: 2011-10-22 00:03:23.518786 Event: init state
-On: 2011-10-22 00:03:23.519035 Event: Register Account to SIP server
-On: 2011-10-22 00:03:23.520586 Event: 100
-On: 2011-10-22 00:03:23.523082 Event: Caller Handler Ready
-On: 2011-10-22 00:03:33.560840 Event: CALL START
-On: 2011-10-22 00:03:33.560896 Event: Make a call to: 07612034661455
-On: 2011-10-22 00:03:43.171808 Event: Call Connecting
-On: 2011-10-22 00:03:43.171855 Event: 200
-On: 2011-10-22 00:03:43.172628 Event: Terminate
-On: 2011-10-22 00:03:43.172682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:19:35.444607 ------------------
-On: 2011-10-22 00:19:35.464883 Event: try to Connect to Controller
-On: 2011-10-22 00:19:36.799968 Event: init state
-On: 2011-10-22 00:19:36.800217 Event: Register Account to SIP server
-On: 2011-10-22 00:19:36.802505 Event: 100
-On: 2011-10-22 00:19:36.804880 Event: Caller Handler Ready
-On: 2011-10-22 00:19:46.833199 Event: CALL START
-On: 2011-10-22 00:19:46.833255 Event: Make a call to: 07612034661447
-On: 2011-10-22 00:19:52.022670 Event: Call Connecting
-On: 2011-10-22 00:19:52.022716 Event: 200
-On: 2011-10-22 00:19:52.023506 Event: Terminate
-On: 2011-10-22 00:19:52.023560 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:34:28.802573 ------------------
-On: 2011-10-22 00:34:28.822948 Event: try to Connect to Controller
-On: 2011-10-22 00:34:30.152062 Event: init state
-On: 2011-10-22 00:34:30.152301 Event: Register Account to SIP server
-On: 2011-10-22 00:34:30.154151 Event: 100
-On: 2011-10-22 00:34:30.156554 Event: Caller Handler Ready
-On: 2011-10-22 00:34:40.194723 Event: CALL START
-On: 2011-10-22 00:34:40.194774 Event: Make a call to: 07612034661455
-On: 2011-10-22 00:34:45.095312 Event: Call Connecting
-On: 2011-10-22 00:34:45.095358 Event: 200
-On: 2011-10-22 00:34:45.096142 Event: Terminate
-On: 2011-10-22 00:34:45.096196 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:41:30.156704 ------------------
-On: 2011-10-22 00:41:30.176804 Event: try to Connect to Controller
-On: 2011-10-22 00:41:31.505682 Event: init state
-On: 2011-10-22 00:41:31.506146 Event: Register Account to SIP server
-On: 2011-10-22 00:41:31.507781 Event: 100
-On: 2011-10-22 00:41:31.509898 Event: Caller Handler Ready
-On: 2011-10-22 00:41:41.548255 Event: CALL START
-On: 2011-10-22 00:41:41.548305 Event: Make a call to: 07612034661455
-On: 2011-10-22 00:41:46.396949 Event: Call Connecting
-On: 2011-10-22 00:41:46.396996 Event: 200
-On: 2011-10-22 00:41:46.398048 Event: Terminate
-On: 2011-10-22 00:41:46.398103 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:51:41.935746 ------------------
-On: 2011-10-22 00:51:41.955817 Event: try to Connect to Controller
-On: 2011-10-22 00:51:43.282985 Event: init state
-On: 2011-10-22 00:51:43.283234 Event: Register Account to SIP server
-On: 2011-10-22 00:51:43.284804 Event: 100
-On: 2011-10-22 00:51:43.287354 Event: Caller Handler Ready
-On: 2011-10-22 00:51:53.315467 Event: CALL START
-On: 2011-10-22 00:51:53.315518 Event: Make a call to: 07612034661447
-On: 2011-10-22 00:51:58.845382 Event: Call Connecting
-On: 2011-10-22 00:51:58.845430 Event: 200
-On: 2011-10-22 00:51:58.846410 Event: Terminate
-On: 2011-10-22 00:51:58.846467 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:57:34.728371 ------------------
-On: 2011-10-22 00:57:34.749167 Event: try to Connect to Controller
-On: 2011-10-22 00:57:36.075943 Event: init state
-On: 2011-10-22 00:57:36.076192 Event: Register Account to SIP server
-On: 2011-10-22 00:57:36.077961 Event: 100
-On: 2011-10-22 00:57:36.080465 Event: Caller Handler Ready
-On: 2011-10-22 00:57:46.118968 Event: CALL START
-On: 2011-10-22 00:57:46.119024 Event: Make a call to: 07612034661455
-On: 2011-10-22 00:57:50.354597 Event: Call Connecting
-On: 2011-10-22 00:57:50.354645 Event: 200
-On: 2011-10-22 00:57:50.355429 Event: Terminate
-On: 2011-10-22 00:57:50.355484 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:05:33.503102 ------------------
-On: 2011-10-22 01:05:33.523388 Event: try to Connect to Controller
-On: 2011-10-22 01:05:34.854987 Event: init state
-On: 2011-10-22 01:05:34.855248 Event: Register Account to SIP server
-On: 2011-10-22 01:05:34.856897 Event: 100
-On: 2011-10-22 01:05:34.859477 Event: Caller Handler Ready
-On: 2011-10-22 01:05:44.897764 Event: CALL START
-On: 2011-10-22 01:05:44.897819 Event: Make a call to: 07612034661455
-On: 2011-10-22 01:05:50.718886 Event: Call Connecting
-On: 2011-10-22 01:05:50.718935 Event: 200
-On: 2011-10-22 01:05:50.719741 Event: Terminate
-On: 2011-10-22 01:05:50.719795 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:09:09.114423 ------------------
-On: 2011-10-22 01:09:09.134747 Event: try to Connect to Controller
-On: 2011-10-22 01:09:10.465999 Event: init state
-On: 2011-10-22 01:09:10.466250 Event: Register Account to SIP server
-On: 2011-10-22 01:09:10.467921 Event: 100
-On: 2011-10-22 01:09:10.469922 Event: Caller Handler Ready
-On: 2011-10-22 01:09:20.507127 Event: CALL START
-On: 2011-10-22 01:09:20.507183 Event: Make a call to: 07612034661455
-On: 2011-10-22 01:09:24.742749 Event: Call Connecting
-On: 2011-10-22 01:09:24.742795 Event: 200
-On: 2011-10-22 01:09:24.743591 Event: Terminate
-On: 2011-10-22 01:09:24.743645 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:14:27.186709 ------------------
-On: 2011-10-22 01:14:27.206950 Event: try to Connect to Controller
-On: 2011-10-22 01:14:28.538874 Event: init state
-On: 2011-10-22 01:14:28.539121 Event: Register Account to SIP server
-On: 2011-10-22 01:14:28.540788 Event: 100
-On: 2011-10-22 01:14:28.543364 Event: Caller Handler Ready
-On: 2011-10-22 01:14:38.572908 Event: CALL START
-On: 2011-10-22 01:14:38.572964 Event: Make a call to: 07612034661447
-On: 2011-10-22 01:14:44.099925 Event: Call Connecting
-On: 2011-10-22 01:14:44.099972 Event: 200
-On: 2011-10-22 01:14:44.100757 Event: Terminate
-On: 2011-10-22 01:14:44.100812 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:28:13.620114 ------------------
-On: 2011-10-22 01:28:13.640490 Event: try to Connect to Controller
-On: 2011-10-22 01:28:14.967972 Event: init state
-On: 2011-10-22 01:28:14.968218 Event: Register Account to SIP server
-On: 2011-10-22 01:28:14.969988 Event: 100
-On: 2011-10-22 01:28:14.972347 Event: Caller Handler Ready
-On: 2011-10-22 01:28:25.009753 Event: CALL START
-On: 2011-10-22 01:28:25.009809 Event: Make a call to: 07612034661455
-On: 2011-10-22 01:28:29.915512 Event: Call Connecting
-On: 2011-10-22 01:28:29.915559 Event: 200
-On: 2011-10-22 01:28:29.916335 Event: Terminate
-On: 2011-10-22 01:28:29.916389 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:37:46.406882 ------------------
-On: 2011-10-22 01:37:46.427290 Event: try to Connect to Controller
-On: 2011-10-22 01:37:47.750683 Event: init state
-On: 2011-10-22 01:37:47.750929 Event: Register Account to SIP server
-On: 2011-10-22 01:37:47.752482 Event: 100
-On: 2011-10-22 01:37:47.755044 Event: Caller Handler Ready
-On: 2011-10-22 01:37:57.785693 Event: CALL START
-On: 2011-10-22 01:37:57.785764 Event: Make a call to: 07612034661455
-On: 2011-10-22 01:38:03.313138 Event: Call Connecting
-On: 2011-10-22 01:38:03.313185 Event: 200
-On: 2011-10-22 01:38:03.314156 Event: Terminate
-On: 2011-10-22 01:38:03.314212 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:45:52.182074 ------------------
-On: 2011-10-22 01:45:52.202229 Event: try to Connect to Controller
-On: 2011-10-22 01:45:53.526685 Event: init state
-On: 2011-10-22 01:45:53.526931 Event: Register Account to SIP server
-On: 2011-10-22 01:45:53.528491 Event: 100
-On: 2011-10-22 01:45:53.531068 Event: Caller Handler Ready
-On: 2011-10-22 01:46:03.560648 Event: CALL START
-On: 2011-10-22 01:46:03.560703 Event: Make a call to: 07612034661447
-On: 2011-10-22 01:46:08.932801 Event: Call Connecting
-On: 2011-10-22 01:46:08.932848 Event: 200
-On: 2011-10-22 01:46:08.933625 Event: Terminate
-On: 2011-10-22 01:46:08.933680 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:05:41.509345 ------------------
-On: 2011-10-22 02:05:41.529578 Event: try to Connect to Controller
-On: 2011-10-22 02:05:42.859739 Event: init state
-On: 2011-10-22 02:05:42.859989 Event: Register Account to SIP server
-On: 2011-10-22 02:05:42.861635 Event: 100
-On: 2011-10-22 02:05:42.864201 Event: Caller Handler Ready
-On: 2011-10-22 02:05:52.902520 Event: CALL START
-On: 2011-10-22 02:05:52.902576 Event: Make a call to: 07612034661455
-On: 2011-10-22 02:05:57.393618 Event: Call Connecting
-On: 2011-10-22 02:05:57.393666 Event: 200
-On: 2011-10-22 02:05:57.394632 Event: Terminate
-On: 2011-10-22 02:05:57.394688 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:31:05.215607 ------------------
-On: 2011-10-22 02:31:05.236024 Event: try to Connect to Controller
-On: 2011-10-22 02:31:06.564134 Event: init state
-On: 2011-10-22 02:31:06.564382 Event: Register Account to SIP server
-On: 2011-10-22 02:31:06.566190 Event: 100
-On: 2011-10-22 02:31:06.568585 Event: Caller Handler Ready
-On: 2011-10-22 02:31:16.606615 Event: CALL START
-On: 2011-10-22 02:31:16.606671 Event: Make a call to: 07612034661455
-On: 2011-10-22 02:31:21.813849 Event: Call Connecting
-On: 2011-10-22 02:31:21.813897 Event: 200
-On: 2011-10-22 02:31:21.814679 Event: Terminate
-On: 2011-10-22 02:31:21.814735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:56:12.713386 ------------------
-On: 2011-10-22 02:56:12.733349 Event: try to Connect to Controller
-On: 2011-10-22 02:56:14.064011 Event: init state
-On: 2011-10-22 02:56:14.064257 Event: Register Account to SIP server
-On: 2011-10-22 02:56:14.066232 Event: 100
-On: 2011-10-22 02:56:14.068667 Event: Caller Handler Ready
-On: 2011-10-22 02:56:24.099281 Event: CALL START
-On: 2011-10-22 02:56:24.099331 Event: Make a call to: 07612034661447
-On: 2011-10-22 02:56:29.471732 Event: Call Connecting
-On: 2011-10-22 02:56:29.471779 Event: 200
-On: 2011-10-22 02:56:29.472574 Event: Terminate
-On: 2011-10-22 02:56:29.472628 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:02:22.153923 ------------------
-On: 2011-10-22 03:02:22.173981 Event: try to Connect to Controller
-On: 2011-10-22 03:02:23.501615 Event: init state
-On: 2011-10-22 03:02:23.502035 Event: Register Account to SIP server
-On: 2011-10-22 03:02:23.503680 Event: 100
-On: 2011-10-22 03:02:23.505915 Event: Caller Handler Ready
-On: 2011-10-22 03:02:33.537752 Event: CALL START
-On: 2011-10-22 03:02:33.537807 Event: Make a call to: 07612034661455
-On: 2011-10-22 03:02:38.803392 Event: Call Connecting
-On: 2011-10-22 03:02:38.803439 Event: 200
-On: 2011-10-22 03:02:38.804235 Event: Terminate
-On: 2011-10-22 03:02:38.804289 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:07:31.654215 ------------------
-On: 2011-10-22 03:07:31.674227 Event: try to Connect to Controller
-On: 2011-10-22 03:07:33.002204 Event: init state
-On: 2011-10-22 03:07:33.002454 Event: Register Account to SIP server
-On: 2011-10-22 03:07:33.004468 Event: 100
-On: 2011-10-22 03:07:33.006895 Event: Caller Handler Ready
-On: 2011-10-22 03:07:38.013694 Event: CALL START
-On: 2011-10-22 03:07:38.013767 Event: Make a call to: 07612034661928
-On: 2011-10-22 03:07:40.836829 Event: Call Connecting
-On: 2011-10-22 03:07:40.836875 Event: 200
-On: 2011-10-22 03:07:40.837252 Event: Terminate
-On: 2011-10-22 03:07:40.837288 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:22:51.695337 ------------------
-On: 2011-10-22 03:22:51.715311 Event: try to Connect to Controller
-On: 2011-10-22 03:22:53.043918 Event: init state
-On: 2011-10-22 03:22:53.044164 Event: Register Account to SIP server
-On: 2011-10-22 03:22:53.046431 Event: 100
-On: 2011-10-22 03:22:53.048806 Event: Caller Handler Ready
-On: 2011-10-22 03:23:02.082351 Event: CALL START
-On: 2011-10-22 03:23:02.082404 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:23:06.558269 Event: Call Connecting
-On: 2011-10-22 03:23:06.558315 Event: 200
-On: 2011-10-22 03:23:06.559094 Event: Terminate
-On: 2011-10-22 03:23:06.559147 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:26:40.254758 ------------------
-On: 2011-10-22 03:26:40.274949 Event: try to Connect to Controller
-On: 2011-10-22 03:26:41.598694 Event: init state
-On: 2011-10-22 03:26:41.598944 Event: Register Account to SIP server
-On: 2011-10-22 03:26:41.600625 Event: 100
-On: 2011-10-22 03:26:41.603033 Event: Caller Handler Ready
-On: 2011-10-22 03:26:50.636810 Event: CALL START
-On: 2011-10-22 03:26:50.636865 Event: Make a call to: 07612034661455
-On: 2011-10-22 03:26:55.828013 Event: Call Connecting
-On: 2011-10-22 03:26:55.828058 Event: 200
-On: 2011-10-22 03:26:55.828870 Event: Terminate
-On: 2011-10-22 03:26:55.828924 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:31:27.251029 ------------------
-On: 2011-10-22 03:31:27.271223 Event: try to Connect to Controller
-On: 2011-10-22 03:31:28.599398 Event: init state
-On: 2011-10-22 03:31:28.599641 Event: Register Account to SIP server
-On: 2011-10-22 03:31:28.601353 Event: 100
-On: 2011-10-22 03:31:28.603926 Event: Caller Handler Ready
-On: 2011-10-22 03:31:37.636741 Event: CALL START
-On: 2011-10-22 03:31:37.636798 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:31:42.109850 Event: Call Connecting
-On: 2011-10-22 03:31:42.109898 Event: 200
-On: 2011-10-22 03:31:42.110666 Event: Terminate
-On: 2011-10-22 03:31:42.110720 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:34:22.838794 ------------------
-On: 2011-10-22 03:34:22.859150 Event: try to Connect to Controller
-On: 2011-10-22 03:34:24.188982 Event: init state
-On: 2011-10-22 03:34:24.189234 Event: Register Account to SIP server
-On: 2011-10-22 03:34:24.191529 Event: 100
-On: 2011-10-22 03:34:24.194010 Event: Caller Handler Ready
-On: 2011-10-22 03:34:33.225772 Event: CALL START
-On: 2011-10-22 03:34:33.225823 Event: Make a call to: 07612034661455
-On: 2011-10-22 03:34:38.364536 Event: Call Connecting
-On: 2011-10-22 03:34:38.364584 Event: 200
-On: 2011-10-22 03:34:38.365380 Event: Terminate
-On: 2011-10-22 03:34:38.365434 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:43:22.308977 ------------------
-On: 2011-10-22 03:43:22.329400 Event: try to Connect to Controller
-On: 2011-10-22 03:43:23.663094 Event: init state
-On: 2011-10-22 03:43:23.663343 Event: Register Account to SIP server
-On: 2011-10-22 03:43:23.665592 Event: 100
-On: 2011-10-22 03:43:23.668162 Event: Caller Handler Ready
-On: 2011-10-22 03:43:32.705738 Event: CALL START
-On: 2011-10-22 03:43:32.705794 Event: Make a call to: 07612034661455
-On: 2011-10-22 03:43:37.583724 Event: Call Connecting
-On: 2011-10-22 03:43:37.583771 Event: 200
-On: 2011-10-22 03:43:37.584530 Event: Terminate
-On: 2011-10-22 03:43:37.584586 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:51:31.200980 ------------------
-On: 2011-10-22 03:51:31.221264 Event: try to Connect to Controller
-On: 2011-10-22 03:51:32.548144 Event: init state
-On: 2011-10-22 03:51:32.548395 Event: Register Account to SIP server
-On: 2011-10-22 03:51:32.550540 Event: 100
-On: 2011-10-22 03:51:32.552995 Event: Caller Handler Ready
-On: 2011-10-22 03:51:41.581552 Event: CALL START
-On: 2011-10-22 03:51:41.581608 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:51:47.286112 Event: Call Connecting
-On: 2011-10-22 03:51:47.286159 Event: 200
-On: 2011-10-22 03:51:47.286943 Event: Terminate
-On: 2011-10-22 03:51:47.286997 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:40:53.415501 ------------------
-On: 2011-10-24 13:40:53.435547 Event: try to Connect to Controller
-On: 2011-10-24 13:40:54.711141 Event: init state
-On: 2011-10-24 13:40:54.711376 Event: Register Account to SIP server
-On: 2011-10-24 13:40:54.713644 Event: 100
-On: 2011-10-24 13:40:54.713746 Event: Caller Handler Ready
-On: 2011-10-24 13:41:04.771662 Event: CALL START
-On: 2011-10-24 13:41:04.771722 Event: Make a call to: 07612034661455
-On: 2011-10-24 13:41:10.388047 Event: Call Connecting
-On: 2011-10-24 13:41:10.388096 Event: 200
-On: 2011-10-24 13:41:10.388888 Event: Terminate
-On: 2011-10-24 13:41:10.388947 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:50:34.142533 ------------------
-On: 2011-10-24 13:50:34.165756 Event: try to Connect to Controller
-On: 2011-10-24 13:50:35.347115 Event: init state
-On: 2011-10-24 13:50:35.347352 Event: Register Account to SIP server
-On: 2011-10-24 13:50:35.350346 Event: 100
-On: 2011-10-24 13:50:35.350447 Event: Caller Handler Ready
-On: 2011-10-24 13:50:45.393098 Event: CALL START
-On: 2011-10-24 13:50:45.393162 Event: Make a call to: 07612034661455
-On: 2011-10-24 13:50:51.635063 Event: Call Connecting
-On: 2011-10-24 13:50:51.635113 Event: 200
-On: 2011-10-24 13:50:51.636427 Event: Terminate
-On: 2011-10-24 13:50:51.636487 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:10:59.987050 ------------------
-On: 2011-10-24 14:11:00.009852 Event: try to Connect to Controller
-On: 2011-10-24 14:11:01.242489 Event: init state
-On: 2011-10-24 14:11:01.242733 Event: Register Account to SIP server
-On: 2011-10-24 14:11:01.245084 Event: 100
-On: 2011-10-24 14:11:01.245182 Event: Caller Handler Ready
-On: 2011-10-24 14:11:11.277437 Event: CALL START
-On: 2011-10-24 14:11:11.277505 Event: Make a call to: 07612034661447
-On: 2011-10-24 14:11:16.353067 Event: Call Disconnected
-On: 2011-10-24 14:11:38.277458 Event: Terminate
-On: 2011-10-24 14:11:38.277503 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:42:40.422560 ------------------
-On: 2011-10-24 14:42:40.445109 Event: try to Connect to Controller
-On: 2011-10-24 14:42:41.720599 Event: init state
-On: 2011-10-24 14:42:41.720835 Event: Register Account to SIP server
-On: 2011-10-24 14:42:41.723164 Event: 100
-On: 2011-10-24 14:42:41.723259 Event: Caller Handler Ready
-On: 2011-10-24 14:42:51.761984 Event: CALL START
-On: 2011-10-24 14:42:51.762053 Event: Make a call to: 07612034661455
-On: 2011-10-24 14:42:57.725224 Event: Call Connecting
-On: 2011-10-24 14:42:57.725274 Event: 200
-On: 2011-10-24 14:42:57.726588 Event: Terminate
-On: 2011-10-24 14:42:57.726641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:47:14.563455 ------------------
-On: 2011-10-24 14:47:14.600038 Event: try to Connect to Controller
-On: 2011-10-24 14:47:15.362419 Event: init state
-On: 2011-10-24 14:47:15.362657 Event: Register Account to SIP server
-On: 2011-10-24 14:47:15.366316 Event: 100
-On: 2011-10-24 14:47:15.366459 Event: Caller Handler Ready
-On: 2011-10-24 14:47:25.401470 Event: CALL START
-On: 2011-10-24 14:47:25.401543 Event: Make a call to: 07612034661455
-On: 2011-10-24 14:47:29.529613 Event: Call Connecting
-On: 2011-10-24 14:47:29.529662 Event: 200
-On: 2011-10-24 14:47:29.530992 Event: Terminate
-On: 2011-10-24 14:47:29.531343 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:01:32.013958 ------------------
-On: 2011-10-25 01:01:32.035595 Event: try to Connect to Controller
-On: 2011-10-25 01:01:33.306406 Event: init state
-On: 2011-10-25 01:01:33.306640 Event: Register Account to SIP server
-On: 2011-10-25 01:01:33.308629 Event: 100
-On: 2011-10-25 01:01:33.308717 Event: Caller Handler Ready
-On: 2011-10-25 01:01:43.349181 Event: CALL START
-On: 2011-10-25 01:01:43.349248 Event: Make a call to: 07612034661455
-On: 2011-10-25 01:01:47.659625 Event: Call Connecting
-On: 2011-10-25 01:01:47.659673 Event: 200
-On: 2011-10-25 01:01:47.661025 Event: Terminate
-On: 2011-10-25 01:01:47.661079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:06:01.052838 ------------------
-On: 2011-10-25 01:06:01.074835 Event: try to Connect to Controller
-On: 2011-10-25 01:06:02.345272 Event: init state
-On: 2011-10-25 01:06:02.345565 Event: Register Account to SIP server
-On: 2011-10-25 01:06:02.347143 Event: 100
-On: 2011-10-25 01:06:02.347232 Event: Caller Handler Ready
-On: 2011-10-25 01:06:12.385436 Event: CALL START
-On: 2011-10-25 01:06:12.385500 Event: Make a call to: 07612034661455
-On: 2011-10-25 01:06:17.211906 Event: Call Connecting
-On: 2011-10-25 01:06:17.211954 Event: 200
-On: 2011-10-25 01:06:17.213254 Event: Terminate
-On: 2011-10-25 01:06:17.213308 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:12:04.986897 ------------------
-On: 2011-10-25 14:12:05.010930 Event: try to Connect to Controller
-On: 2011-10-25 14:12:06.206454 Event: init state
-On: 2011-10-25 14:12:06.206701 Event: Register Account to SIP server
-On: 2011-10-25 14:12:06.210513 Event: 100
-On: 2011-10-25 14:12:06.210611 Event: Caller Handler Ready
-On: 2011-10-25 14:12:16.248885 Event: CALL START
-On: 2011-10-25 14:12:16.248953 Event: Make a call to: 07612034661455
-On: 2011-10-25 14:12:21.410657 Event: Call Connecting
-On: 2011-10-25 14:12:21.410707 Event: 200
-On: 2011-10-25 14:12:21.412000 Event: Terminate
-On: 2011-10-25 14:12:21.412059 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:19:51.972692 ------------------
-On: 2011-10-25 14:19:51.996848 Event: try to Connect to Controller
-On: 2011-10-25 14:19:53.200644 Event: init state
-On: 2011-10-25 14:19:53.200879 Event: Register Account to SIP server
-On: 2011-10-25 14:19:53.203037 Event: 100
-On: 2011-10-25 14:19:53.205489 Event: Caller Handler Ready
-On: 2011-10-25 14:20:03.239036 Event: CALL START
-On: 2011-10-25 14:20:03.239102 Event: Make a call to: 07612034661455
-On: 2011-10-25 14:20:13.418646 Event: Call Connecting
-On: 2011-10-25 14:20:13.418695 Event: 200
-On: 2011-10-25 14:20:13.420033 Event: Terminate
-On: 2011-10-25 14:20:13.420090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:35:47.470365 ------------------
-On: 2011-10-25 14:35:47.502759 Event: try to Connect to Controller
-On: 2011-10-25 14:35:48.480532 Event: init state
-On: 2011-10-25 14:35:48.480854 Event: Register Account to SIP server
-On: 2011-10-25 14:35:48.482939 Event: 100
-On: 2011-10-25 14:35:48.484082 Event: Caller Handler Ready
-On: 2011-10-25 14:35:58.518014 Event: CALL START
-On: 2011-10-25 14:35:58.518083 Event: Make a call to: 07612034661455
-On: 2011-10-25 14:36:04.265739 Event: Call Connecting
-On: 2011-10-25 14:36:04.265789 Event: 200
-On: 2011-10-25 14:36:04.267101 Event: Terminate
-On: 2011-10-25 14:36:04.267158 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:43:52.139300 ------------------
-On: 2011-10-25 16:43:52.171927 Event: try to Connect to Controller
-On: 2011-10-25 16:43:53.003093 Event: init state
-On: 2011-10-25 16:43:53.003335 Event: Register Account to SIP server
-On: 2011-10-25 16:43:53.006647 Event: 100
-On: 2011-10-25 16:43:53.006747 Event: Caller Handler Ready
-On: 2011-10-25 16:44:03.046597 Event: CALL START
-On: 2011-10-25 16:44:03.046656 Event: Make a call to: 07612034661455
-On: 2011-10-25 16:44:07.445058 Event: Call Connecting
-On: 2011-10-25 16:44:07.445109 Event: 200
-On: 2011-10-25 16:44:07.446521 Event: Terminate
-On: 2011-10-25 16:44:07.446580 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:13.458077 ------------------
-On: 2011-10-25 16:44:13.483866 Event: try to Connect to Controller
-On: 2011-10-25 16:44:14.521787 Event: init state
-On: 2011-10-25 16:44:14.522031 Event: Register Account to SIP server
-On: 2011-10-25 16:44:14.524753 Event: 100
-On: 2011-10-25 16:44:14.524850 Event: Caller Handler Ready
-On: 2011-10-25 16:44:19.533471 Event: CALL START
-On: 2011-10-25 16:44:19.533540 Event: Make a call to: 07612034661928
-On: 2011-10-25 16:44:22.258002 Event: Call Connecting
-On: 2011-10-25 16:44:22.258053 Event: 200
-On: 2011-10-25 16:44:22.259333 Event: Terminate
-On: 2011-10-25 16:44:22.259379 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:38.378070 ------------------
-On: 2011-10-25 16:44:38.401036 Event: try to Connect to Controller
-On: 2011-10-25 16:44:39.473576 Event: init state
-On: 2011-10-25 16:44:39.473817 Event: Register Account to SIP server
-On: 2011-10-25 16:44:39.476656 Event: 100
-On: 2011-10-25 16:44:39.476761 Event: Receiver Handler Ready
-On: 2011-10-25 16:44:39.477125 Event: RECEIVE START
-On: 2011-10-25 16:44:45.279402 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-25 16:44:45.279950 Event: Call Connecting
-On: 2011-10-25 16:44:45.279994 Event: 200
-On: 2011-10-25 16:44:45.280334 Event: Answer call
-On: 2011-10-25 16:44:45.280398 Event: Hangup call
-On: 2011-10-25 16:44:45.280586 Event: CALL OK
-On: 2011-10-25 16:44:45.331354 Event: Call Disconnected
-On: 2011-10-25 16:44:45.948425 Event: Terminate
-On: 2011-10-25 16:44:45.948470 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:10:39.397895 ------------------
-On: 2011-10-25 17:10:39.432832 Event: try to Connect to Controller
-On: 2011-10-25 17:10:40.430519 Event: init state
-On: 2011-10-25 17:10:40.430760 Event: Register Account to SIP server
-On: 2011-10-25 17:10:40.433336 Event: 100
-On: 2011-10-25 17:10:40.433487 Event: Caller Handler Ready
-On: 2011-10-25 17:10:50.473180 Event: CALL START
-On: 2011-10-25 17:10:50.473250 Event: Make a call to: 07612034661455
-On: 2011-10-25 17:10:55.810627 Event: Call Connecting
-On: 2011-10-25 17:10:55.810678 Event: 200
-On: 2011-10-25 17:10:55.812038 Event: Terminate
-On: 2011-10-25 17:10:55.812098 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:21:21.964353 ------------------
-On: 2011-10-25 17:21:21.997734 Event: try to Connect to Controller
-On: 2011-10-25 17:21:23.094441 Event: init state
-On: 2011-10-25 17:21:23.094682 Event: Register Account to SIP server
-On: 2011-10-25 17:21:23.096472 Event: 100
-On: 2011-10-25 17:21:23.096566 Event: Caller Handler Ready
-On: 2011-10-25 17:21:33.133439 Event: CALL START
-On: 2011-10-25 17:21:33.133507 Event: Make a call to: 07612034661455
-On: 2011-10-25 17:21:38.504250 Event: Call Connecting
-On: 2011-10-25 17:21:38.504299 Event: 200
-On: 2011-10-25 17:21:38.505660 Event: Terminate
-On: 2011-10-25 17:21:38.505719 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:34:02.386701 ------------------
-On: 2011-10-26 20:34:02.406647 Event: try to Connect to Controller
-On: 2011-10-26 20:34:03.703863 Event: init state
-On: 2011-10-26 20:34:03.704109 Event: Register Account to SIP server
-On: 2011-10-26 20:34:03.705874 Event: 100
-On: 2011-10-26 20:34:03.708406 Event: Caller Handler Ready
-On: 2011-10-26 20:34:13.746665 Event: CALL START
-On: 2011-10-26 20:34:13.746721 Event: Make a call to: 07612034661455
-On: 2011-10-26 20:34:18.115685 Event: Call Connecting
-On: 2011-10-26 20:34:18.115733 Event: 200
-On: 2011-10-26 20:34:18.116530 Event: Terminate
-On: 2011-10-26 20:34:18.116585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 16:38:44.173343 ------------------
-On: 2011-10-27 16:38:44.241693 Event: try to Connect to Controller
-On: 2011-10-27 16:38:45.154807 Event: init state
-On: 2011-10-27 16:38:45.155042 Event: Register Account to SIP server
-On: 2011-10-27 16:38:45.157809 Event: 100
-On: 2011-10-27 16:38:45.157903 Event: Caller Handler Ready
-On: 2011-10-27 16:38:50.165473 Event: CALL START
-On: 2011-10-27 16:38:50.165544 Event: Make a call to: 07612034661928
-On: 2011-10-27 16:38:53.118915 Event: Call Connecting
-On: 2011-10-27 16:38:53.118963 Event: 200
-On: 2011-10-27 16:38:53.119740 Event: Terminate
-On: 2011-10-27 16:38:53.119802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 01:07:49.035368 ------------------
-On: 2011-10-28 01:07:49.055430 Event: try to Connect to Controller
-On: 2011-10-28 01:07:50.337425 Event: init state
-On: 2011-10-28 01:07:50.337840 Event: Register Account to SIP server
-On: 2011-10-28 01:07:50.339441 Event: 100
-On: 2011-10-28 01:07:50.341831 Event: Caller Handler Ready
-On: 2011-10-28 01:07:55.346605 Event: CALL START
-On: 2011-10-28 01:07:55.346663 Event: Make a call to: 07612034661928
-On: 2011-10-28 01:07:58.114753 Event: Call Connecting
-On: 2011-10-28 01:07:58.114800 Event: 200
-On: 2011-10-28 01:07:58.115224 Event: Terminate
-On: 2011-10-28 01:07:58.115263 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:12:51.295481 ------------------
-On: 2011-10-28 15:12:51.328113 Event: try to Connect to Controller
-On: 2011-10-28 15:12:52.534717 Event: init state
-On: 2011-10-28 15:12:52.534959 Event: Register Account to SIP server
-On: 2011-10-28 15:12:52.537448 Event: 100
-On: 2011-10-28 15:12:52.537545 Event: Receiver Handler Ready
-On: 2011-10-28 15:12:52.537971 Event: RECEIVE START
-On: 2011-10-28 15:12:58.090894 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-28 15:12:58.091435 Event: Call Connecting
-On: 2011-10-28 15:12:58.091479 Event: 200
-On: 2011-10-28 15:12:58.091730 Event: Answer call
-On: 2011-10-28 15:12:58.091782 Event: Hangup call
-On: 2011-10-28 15:12:58.091955 Event: CALL OK
-On: 2011-10-28 15:12:58.142670 Event: Call Disconnected
-On: 2011-10-28 15:12:58.737375 Event: Terminate
-On: 2011-10-28 15:12:58.737417 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:15:37.580335 ------------------
-On: 2011-10-28 15:15:37.601069 Event: try to Connect to Controller
-On: 2011-10-28 15:15:38.685737 Event: init state
-On: 2011-10-28 15:15:38.686007 Event: Register Account to SIP server
-On: 2011-10-28 15:15:38.688554 Event: 100
-On: 2011-10-28 15:15:38.688651 Event: Caller Handler Ready
-On: 2011-10-28 15:15:48.729737 Event: CALL START
-On: 2011-10-28 15:15:48.729796 Event: Make a call to: 07612034661455
-On: 2011-10-28 15:15:53.946468 Event: Call Connecting
-On: 2011-10-28 15:15:53.946518 Event: 200
-On: 2011-10-28 15:15:53.947866 Event: Terminate
-On: 2011-10-28 15:15:53.947923 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:15:57.859230 ------------------
-On: 2011-10-28 15:15:57.896463 Event: try to Connect to Controller
-On: 2011-10-28 15:15:59.011940 Event: init state
-On: 2011-10-28 15:15:59.012183 Event: Register Account to SIP server
-On: 2011-10-28 15:15:59.016085 Event: 100
-On: 2011-10-28 15:15:59.016187 Event: Caller Handler Ready
-On: 2011-10-28 15:16:09.034609 Event: CALL START
-On: 2011-10-28 15:16:09.034672 Event: Make a call to: 07612034661473
-On: 2011-10-28 15:16:13.370639 Event: Call Connecting
-On: 2011-10-28 15:16:13.370690 Event: 200
-On: 2011-10-28 15:16:13.372079 Event: Terminate
-On: 2011-10-28 15:16:13.372138 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:16:17.312458 ------------------
-On: 2011-10-28 15:16:17.349934 Event: try to Connect to Controller
-On: 2011-10-28 15:16:18.453623 Event: init state
-On: 2011-10-28 15:16:18.453923 Event: Register Account to SIP server
-On: 2011-10-28 15:16:18.457057 Event: 100
-On: 2011-10-28 15:16:18.457150 Event: Caller Handler Ready
-On: 2011-10-28 15:16:23.465723 Event: CALL START
-On: 2011-10-28 15:16:23.465786 Event: Make a call to: 07612034661449
-On: 2011-10-28 15:16:29.298293 Event: Call Connecting
-On: 2011-10-28 15:16:29.298343 Event: 200
-On: 2011-10-28 15:16:29.946259 Event: Terminate
-On: 2011-10-28 15:16:29.946301 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:16:33.869529 ------------------
-On: 2011-10-28 15:16:33.908478 Event: try to Connect to Controller
-On: 2011-10-28 15:16:35.008822 Event: init state
-On: 2011-10-28 15:16:35.009070 Event: Register Account to SIP server
-On: 2011-10-28 15:16:35.011373 Event: 100
-On: 2011-10-28 15:16:35.011470 Event: Caller Handler Ready
-On: 2011-10-28 15:16:40.017785 Event: CALL START
-On: 2011-10-28 15:16:40.017844 Event: Make a call to: 07612034661928
-On: 2011-10-28 15:16:47.946164 Event: Call Connecting
-On: 2011-10-28 15:16:47.946215 Event: 200
-On: 2011-10-28 15:16:47.947538 Event: Terminate
-On: 2011-10-28 15:16:47.947585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:46:40.021515 ------------------
-On: 2011-10-28 15:46:40.042050 Event: try to Connect to Controller
-On: 2011-10-28 15:46:41.306000 Event: init state
-On: 2011-10-28 15:46:41.306242 Event: Register Account to SIP server
-On: 2011-10-28 15:46:41.308409 Event: 100
-On: 2011-10-28 15:46:41.308505 Event: Caller Handler Ready
-On: 2011-10-28 15:46:51.345719 Event: CALL START
-On: 2011-10-28 15:46:51.345781 Event: Make a call to: 07612034661455
-On: 2011-10-28 15:46:57.101195 Event: Call Connecting
-On: 2011-10-28 15:46:57.101245 Event: 200
-On: 2011-10-28 15:46:57.102601 Event: Terminate
-On: 2011-10-28 15:46:57.102659 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:47:00.896998 ------------------
-On: 2011-10-28 15:47:00.921614 Event: try to Connect to Controller
-On: 2011-10-28 15:47:02.158690 Event: init state
-On: 2011-10-28 15:47:02.158934 Event: Register Account to SIP server
-On: 2011-10-28 15:47:02.160868 Event: 100
-On: 2011-10-28 15:47:02.160965 Event: Caller Handler Ready
-On: 2011-10-28 15:47:12.178899 Event: CALL START
-On: 2011-10-28 15:47:12.178969 Event: Make a call to: 07612034661473
-On: 2011-10-28 15:47:18.955424 Event: Call Connecting
-On: 2011-10-28 15:47:18.955474 Event: 200
-On: 2011-10-28 15:47:18.956746 Event: Terminate
-On: 2011-10-28 15:47:18.956803 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:47:22.764325 ------------------
-On: 2011-10-28 15:47:22.788996 Event: try to Connect to Controller
-On: 2011-10-28 15:47:24.033201 Event: init state
-On: 2011-10-28 15:47:24.033441 Event: Register Account to SIP server
-On: 2011-10-28 15:47:24.035738 Event: 100
-On: 2011-10-28 15:47:24.035837 Event: Caller Handler Ready
-On: 2011-10-28 15:47:29.044765 Event: CALL START
-On: 2011-10-28 15:47:29.044824 Event: Make a call to: 07612034661449
-On: 2011-10-28 15:47:34.066297 Event: Call Connecting
-On: 2011-10-28 15:47:34.066343 Event: 200
-On: 2011-10-28 15:47:34.686252 Event: Terminate
-On: 2011-10-28 15:47:34.686294 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:47:38.496095 ------------------
-On: 2011-10-28 15:47:38.520632 Event: try to Connect to Controller
-On: 2011-10-28 15:47:39.758751 Event: init state
-On: 2011-10-28 15:47:39.758982 Event: Register Account to SIP server
-On: 2011-10-28 15:47:39.761638 Event: 100
-On: 2011-10-28 15:47:39.763876 Event: Caller Handler Ready
-On: 2011-10-28 15:47:44.769440 Event: CALL START
-On: 2011-10-28 15:47:44.769509 Event: Make a call to: 07612034661928
-On: 2011-10-28 15:47:47.948479 Event: Call Connecting
-On: 2011-10-28 15:47:47.948529 Event: 200
-On: 2011-10-28 15:47:47.949851 Event: Terminate
-On: 2011-10-28 15:47:47.949901 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:48:58.743363 ------------------
-On: 2011-10-28 15:48:58.765525 Event: try to Connect to Controller
-On: 2011-10-28 15:48:59.979038 Event: init state
-On: 2011-10-28 15:48:59.979277 Event: Register Account to SIP server
-On: 2011-10-28 15:48:59.981029 Event: 100
-On: 2011-10-28 15:48:59.981124 Event: Receiver Handler Ready
-On: 2011-10-28 15:48:59.981538 Event: RECEIVE START
-On: 2011-10-28 15:49:05.836255 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-28 15:49:05.836796 Event: Call Connecting
-On: 2011-10-28 15:49:05.836840 Event: 200
-On: 2011-10-28 15:49:05.837098 Event: Answer call
-On: 2011-10-28 15:49:05.837151 Event: Hangup call
-On: 2011-10-28 15:49:05.837336 Event: CALL OK
-On: 2011-10-28 15:49:05.888050 Event: Call Disconnected
-On: 2011-10-28 15:49:06.386968 Event: Terminate
-On: 2011-10-28 15:49:06.387010 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:50:54.357668 ------------------
-On: 2011-10-28 16:50:54.378072 Event: try to Connect to Controller
-On: 2011-10-28 16:50:55.671816 Event: init state
-On: 2011-10-28 16:50:55.672070 Event: Register Account to SIP server
-On: 2011-10-28 16:50:55.673868 Event: 100
-On: 2011-10-28 16:50:55.676215 Event: Caller Handler Ready
-On: 2011-10-28 16:51:05.697091 Event: CALL START
-On: 2011-10-28 16:51:05.697149 Event: Make a call to: 07612034661473
-On: 2011-10-28 16:51:12.134048 Event: Call Connecting
-On: 2011-10-28 16:51:12.134097 Event: 200
-On: 2011-10-28 16:51:12.134862 Event: Terminate
-On: 2011-10-28 16:51:12.134919 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:19:14.165481 ------------------
-On: 2011-10-28 18:19:14.186515 Event: try to Connect to Controller
-On: 2011-10-28 18:19:15.516235 Event: init state
-On: 2011-10-28 18:19:15.516479 Event: Register Account to SIP server
-On: 2011-10-28 18:19:15.520259 Event: 100
-On: 2011-10-28 18:19:15.520353 Event: Caller Handler Ready
-On: 2011-10-28 18:19:25.544120 Event: CALL START
-On: 2011-10-28 18:19:25.544181 Event: Make a call to: 07612034661455
-On: 2011-10-28 18:19:29.709713 Event: Call Connecting
-On: 2011-10-28 18:19:29.709764 Event: 200
-On: 2011-10-28 18:19:29.711268 Event: Terminate
-On: 2011-10-28 18:19:29.711327 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:37:48.307941 ------------------
-On: 2011-10-28 18:37:48.332390 Event: try to Connect to Controller
-On: 2011-10-28 18:37:49.558732 Event: init state
-On: 2011-10-28 18:37:49.558976 Event: Register Account to SIP server
-On: 2011-10-28 18:37:49.561259 Event: 100
-On: 2011-10-28 18:37:49.561356 Event: Caller Handler Ready
-On: 2011-10-28 18:37:59.583898 Event: CALL START
-On: 2011-10-28 18:37:59.583963 Event: Make a call to: 07612034661455
-On: 2011-10-28 18:38:04.466280 Event: Call Connecting
-On: 2011-10-28 18:38:04.466326 Event: 200
-On: 2011-10-28 18:38:04.467665 Event: Terminate
-On: 2011-10-28 18:38:04.467725 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:42:10.555316 ------------------
-On: 2011-10-28 18:42:10.584687 Event: try to Connect to Controller
-On: 2011-10-28 18:42:11.691217 Event: init state
-On: 2011-10-28 18:42:11.691461 Event: Register Account to SIP server
-On: 2011-10-28 18:42:11.693138 Event: 100
-On: 2011-10-28 18:42:11.693235 Event: Caller Handler Ready
-On: 2011-10-28 18:42:21.714152 Event: CALL START
-On: 2011-10-28 18:42:21.714211 Event: Make a call to: 07612034661455
-On: 2011-10-28 18:42:26.737567 Event: Call Connecting
-On: 2011-10-28 18:42:26.737619 Event: 200
-On: 2011-10-28 18:42:26.739019 Event: Terminate
-On: 2011-10-28 18:42:26.739077 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:44:42.350264 ------------------
-On: 2011-10-28 18:44:42.374517 Event: try to Connect to Controller
-On: 2011-10-28 18:44:43.508578 Event: init state
-On: 2011-10-28 18:44:43.508833 Event: Register Account to SIP server
-On: 2011-10-28 18:44:43.510503 Event: 100
-On: 2011-10-28 18:44:43.512892 Event: Caller Handler Ready
-On: 2011-10-28 18:44:53.529752 Event: CALL START
-On: 2011-10-28 18:44:53.529819 Event: Make a call to: 07612034661473
-On: 2011-10-28 18:44:59.033543 Event: Call Connecting
-On: 2011-10-28 18:44:59.033593 Event: 200
-On: 2011-10-28 18:44:59.035001 Event: Terminate
-On: 2011-10-28 18:44:59.035060 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:53:55.358453 ------------------
-On: 2011-10-28 18:53:55.383108 Event: try to Connect to Controller
-On: 2011-10-28 18:53:56.578400 Event: init state
-On: 2011-10-28 18:53:56.578644 Event: Register Account to SIP server
-On: 2011-10-28 18:53:56.580709 Event: 100
-On: 2011-10-28 18:53:56.580805 Event: Caller Handler Ready
-On: 2011-10-28 18:54:06.602934 Event: CALL START
-On: 2011-10-28 18:54:06.602997 Event: Make a call to: 07612034661455
-On: 2011-10-28 18:54:11.775564 Event: Call Connecting
-On: 2011-10-28 18:54:11.775615 Event: 200
-On: 2011-10-28 18:54:11.776926 Event: Terminate
-On: 2011-10-28 18:54:11.776984 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:59:58.721037 ------------------
-On: 2011-10-28 18:59:58.746104 Event: try to Connect to Controller
-On: 2011-10-28 18:59:59.814236 Event: init state
-On: 2011-10-28 18:59:59.814476 Event: Register Account to SIP server
-On: 2011-10-28 18:59:59.816494 Event: 100
-On: 2011-10-28 18:59:59.816589 Event: Caller Handler Ready
-On: 2011-10-28 19:00:09.837709 Event: CALL START
-On: 2011-10-28 19:00:09.837767 Event: Make a call to: 07612034661455
-On: 2011-10-28 19:00:14.749302 Event: Call Connecting
-On: 2011-10-28 19:00:14.749354 Event: 200
-On: 2011-10-28 19:00:14.750627 Event: Terminate
-On: 2011-10-28 19:00:14.750684 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:14:12.880860 ------------------
-On: 2011-10-28 19:14:12.905889 Event: try to Connect to Controller
-On: 2011-10-28 19:14:14.042012 Event: init state
-On: 2011-10-28 19:14:14.042260 Event: Register Account to SIP server
-On: 2011-10-28 19:14:14.044416 Event: 100
-On: 2011-10-28 19:14:14.044513 Event: Caller Handler Ready
-On: 2011-10-28 19:14:24.069392 Event: CALL START
-On: 2011-10-28 19:14:24.069461 Event: Make a call to: 07612034661455
-On: 2011-10-28 19:14:28.744045 Event: Call Connecting
-On: 2011-10-28 19:14:28.744096 Event: 200
-On: 2011-10-28 19:14:28.745463 Event: Terminate
-On: 2011-10-28 19:14:28.745522 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:41:01.855559 ------------------
-On: 2011-10-29 02:41:01.876456 Event: try to Connect to Controller
-On: 2011-10-29 02:41:03.168113 Event: init state
-On: 2011-10-29 02:41:03.168358 Event: Register Account to SIP server
-On: 2011-10-29 02:41:03.170211 Event: 100
-On: 2011-10-29 02:41:03.172474 Event: Caller Handler Ready
-On: 2011-10-29 02:41:13.189500 Event: CALL START
-On: 2011-10-29 02:41:13.189556 Event: Make a call to: 07612034661455
-On: 2011-10-29 02:41:19.476234 Event: Call Connecting
-On: 2011-10-29 02:41:19.476282 Event: 200
-On: 2011-10-29 02:41:19.477054 Event: Terminate
-On: 2011-10-29 02:41:19.477107 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:41:23.206873 ------------------
-On: 2011-10-29 02:41:23.227274 Event: try to Connect to Controller
-On: 2011-10-29 02:41:24.532851 Event: init state
-On: 2011-10-29 02:41:24.533101 Event: Register Account to SIP server
-On: 2011-10-29 02:41:24.535188 Event: 100
-On: 2011-10-29 02:41:24.537663 Event: Caller Handler Ready
-On: 2011-10-29 02:41:34.554460 Event: CALL START
-On: 2011-10-29 02:41:34.554516 Event: Make a call to: 07612034661473
-On: 2011-10-29 02:41:40.934777 Event: Call Connecting
-On: 2011-10-29 02:41:40.934825 Event: 200
-On: 2011-10-29 02:41:40.935594 Event: Terminate
-On: 2011-10-29 02:41:40.935647 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:41:44.664097 ------------------
-On: 2011-10-29 02:41:44.684164 Event: try to Connect to Controller
-On: 2011-10-29 02:41:46.004582 Event: init state
-On: 2011-10-29 02:41:46.004833 Event: Register Account to SIP server
-On: 2011-10-29 02:41:46.006652 Event: 100
-On: 2011-10-29 02:41:46.008805 Event: Caller Handler Ready
-On: 2011-10-29 02:41:51.016704 Event: CALL START
-On: 2011-10-29 02:41:51.016758 Event: Make a call to: 07612034661449
-On: 2011-10-29 02:41:56.254545 Event: Call Connecting
-On: 2011-10-29 02:41:56.254591 Event: 200
-On: 2011-10-29 02:41:56.881950 Event: Terminate
-On: 2011-10-29 02:41:56.881991 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:42:00.602515 ------------------
-On: 2011-10-29 02:42:00.622707 Event: try to Connect to Controller
-On: 2011-10-29 02:42:01.936928 Event: init state
-On: 2011-10-29 02:42:01.937177 Event: Register Account to SIP server
-On: 2011-10-29 02:42:01.939051 Event: 100
-On: 2011-10-29 02:42:01.941231 Event: Caller Handler Ready
-On: 2011-10-29 02:42:06.944701 Event: CALL START
-On: 2011-10-29 02:42:06.944757 Event: Make a call to: 07612034661928
-On: 2011-10-29 02:42:09.627175 Event: Call Connecting
-On: 2011-10-29 02:42:09.627221 Event: 200
-On: 2011-10-29 02:42:09.627597 Event: Terminate
-On: 2011-10-29 02:42:09.627633 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:20.743935 ------------------
-On: 2011-10-29 02:43:20.764156 Event: try to Connect to Controller
-On: 2011-10-29 02:43:22.058418 Event: init state
-On: 2011-10-29 02:43:22.058665 Event: Register Account to SIP server
-On: 2011-10-29 02:43:22.060271 Event: 100
-On: 2011-10-29 02:43:22.060629 Event: Receiver Handler Ready
-On: 2011-10-29 02:43:22.060697 Event: RECEIVE START
-On: 2011-10-29 02:43:29.568963 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 02:43:29.569660 Event: Call Connecting
-On: 2011-10-29 02:43:29.569713 Event: 200
-On: 2011-10-29 02:43:29.569969 Event: Answer call
-On: 2011-10-29 02:43:29.570023 Event: Hangup call
-On: 2011-10-29 02:43:29.570200 Event: CALL OK
-On: 2011-10-29 02:43:29.620887 Event: Call Disconnected
-On: 2011-10-29 02:43:30.063842 Event: Terminate
-On: 2011-10-29 02:43:30.063892 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:19:16.976730 ------------------
-On: 2011-10-29 03:19:16.997105 Event: try to Connect to Controller
-On: 2011-10-29 03:19:18.284667 Event: init state
-On: 2011-10-29 03:19:18.284940 Event: Register Account to SIP server
-On: 2011-10-29 03:19:18.286767 Event: 100
-On: 2011-10-29 03:19:18.287128 Event: Receiver Handler Ready
-On: 2011-10-29 03:19:18.287199 Event: RECEIVE START
-On: 2011-10-29 03:19:25.696896 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 03:19:25.697649 Event: Call Connecting
-On: 2011-10-29 03:19:25.697702 Event: 200
-On: 2011-10-29 03:19:25.697960 Event: Answer call
-On: 2011-10-29 03:19:25.698014 Event: Hangup call
-On: 2011-10-29 03:19:25.698192 Event: CALL OK
-On: 2011-10-29 03:19:25.748885 Event: Call Disconnected
-On: 2011-10-29 03:19:26.227496 Event: Terminate
-On: 2011-10-29 03:19:26.227550 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:28:51.158262 ------------------
-On: 2011-10-29 03:28:51.178406 Event: try to Connect to Controller
-On: 2011-10-29 03:28:52.498696 Event: init state
-On: 2011-10-29 03:28:52.498942 Event: Register Account to SIP server
-On: 2011-10-29 03:28:52.501016 Event: 100
-On: 2011-10-29 03:28:52.503362 Event: Caller Handler Ready
-On: 2011-10-29 03:29:02.521500 Event: CALL START
-On: 2011-10-29 03:29:02.521556 Event: Make a call to: 07612034661473
-On: 2011-10-29 03:29:07.911548 Event: Call Connecting
-On: 2011-10-29 03:29:07.911594 Event: 200
-On: 2011-10-29 03:29:07.912357 Event: Terminate
-On: 2011-10-29 03:29:07.912409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:34:30.980943 ------------------
-On: 2011-10-29 04:34:31.001255 Event: try to Connect to Controller
-On: 2011-10-29 04:34:32.290176 Event: init state
-On: 2011-10-29 04:34:32.290416 Event: Register Account to SIP server
-On: 2011-10-29 04:34:32.292007 Event: 100
-On: 2011-10-29 04:34:32.292402 Event: Receiver Handler Ready
-On: 2011-10-29 04:34:32.292473 Event: RECEIVE START
-On: 2011-10-29 04:34:39.703810 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 04:34:39.704343 Event: Call Connecting
-On: 2011-10-29 04:34:39.704383 Event: 200
-On: 2011-10-29 04:34:39.704627 Event: Answer call
-On: 2011-10-29 04:34:39.704679 Event: Hangup call
-On: 2011-10-29 04:34:39.704855 Event: CALL OK
-On: 2011-10-29 04:34:39.755545 Event: Call Disconnected
-On: 2011-10-29 04:34:40.238235 Event: Terminate
-On: 2011-10-29 04:34:40.238287 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:38:18.402048 ------------------
-On: 2011-10-29 04:38:18.421890 Event: try to Connect to Controller
-On: 2011-10-29 04:38:19.707855 Event: init state
-On: 2011-10-29 04:38:19.708158 Event: Register Account to SIP server
-On: 2011-10-29 04:38:19.710181 Event: 100
-On: 2011-10-29 04:38:19.710546 Event: Receiver Handler Ready
-On: 2011-10-29 04:38:19.710618 Event: RECEIVE START
-On: 2011-10-29 04:38:25.692807 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 04:38:25.693329 Event: Call Connecting
-On: 2011-10-29 04:38:25.693370 Event: 200
-On: 2011-10-29 04:38:25.693921 Event: Answer call
-On: 2011-10-29 04:38:25.693999 Event: Hangup call
-On: 2011-10-29 04:38:25.694181 Event: CALL OK
-On: 2011-10-29 04:38:25.744882 Event: Call Disconnected
-On: 2011-10-29 04:38:26.412356 Event: Terminate
-On: 2011-10-29 04:38:26.412408 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:38:32.160208 ------------------
-On: 2011-10-29 04:38:32.180494 Event: try to Connect to Controller
-On: 2011-10-29 04:38:33.466023 Event: init state
-On: 2011-10-29 04:38:33.466279 Event: Register Account to SIP server
-On: 2011-10-29 04:38:33.467865 Event: 100
-On: 2011-10-29 04:38:33.468227 Event: Receiver Handler Ready
-On: 2011-10-29 04:38:33.468299 Event: RECEIVE START
-On: 2011-10-29 04:38:39.557895 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 04:38:39.558409 Event: Call Connecting
-On: 2011-10-29 04:38:39.558451 Event: 200
-On: 2011-10-29 04:38:39.558695 Event: Answer call
-On: 2011-10-29 04:38:39.558746 Event: Hangup call
-On: 2011-10-29 04:38:39.558922 Event: CALL OK
-On: 2011-10-29 04:38:39.609640 Event: Call Disconnected
-On: 2011-10-29 04:38:40.338734 Event: Terminate
-On: 2011-10-29 04:38:40.338787 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:37:35.867781 ------------------
-On: 2011-10-29 17:37:35.888151 Event: try to Connect to Controller
-On: 2011-10-29 17:37:37.057405 Event: init state
-On: 2011-10-29 17:37:37.057701 Event: Register Account to SIP server
-On: 2011-10-29 17:37:37.059944 Event: 100
-On: 2011-10-29 17:37:37.060041 Event: Receiver Handler Ready
-On: 2011-10-29 17:37:37.060395 Event: RECEIVE START
-On: 2011-10-29 17:37:44.444267 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 17:37:44.444815 Event: Call Connecting
-On: 2011-10-29 17:37:44.444858 Event: 200
-On: 2011-10-29 17:37:44.445149 Event: Answer call
-On: 2011-10-29 17:37:44.445208 Event: Hangup call
-On: 2011-10-29 17:37:44.445390 Event: CALL OK
-On: 2011-10-29 17:37:44.496083 Event: Call Disconnected
-On: 2011-10-29 17:37:44.979973 Event: Terminate
-On: 2011-10-29 17:37:44.980016 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:23:32.791770 ------------------
-On: 2011-10-29 18:23:32.811729 Event: try to Connect to Controller
-On: 2011-10-29 18:23:34.077841 Event: init state
-On: 2011-10-29 18:23:34.078100 Event: Register Account to SIP server
-On: 2011-10-29 18:23:34.079701 Event: 100
-On: 2011-10-29 18:23:34.081688 Event: Caller Handler Ready
-On: 2011-10-29 18:23:45.097501 Event: CALL START
-On: 2011-10-29 18:23:45.097559 Event: Make a call to: 07612034661455
-On: 2011-10-29 18:23:50.423715 Event: Call Connecting
-On: 2011-10-29 18:23:50.423764 Event: 200
-On: 2011-10-29 18:23:50.424576 Event: Terminate
-On: 2011-10-29 18:23:50.424633 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:23:54.207641 ------------------
-On: 2011-10-29 18:23:54.227893 Event: try to Connect to Controller
-On: 2011-10-29 18:23:55.493240 Event: init state
-On: 2011-10-29 18:23:55.493519 Event: Register Account to SIP server
-On: 2011-10-29 18:23:55.495197 Event: 100
-On: 2011-10-29 18:23:55.497666 Event: Caller Handler Ready
-On: 2011-10-29 18:24:06.514248 Event: CALL START
-On: 2011-10-29 18:24:06.514306 Event: Make a call to: 07612034661473
-On: 2011-10-29 18:24:10.816122 Event: Call Connecting
-On: 2011-10-29 18:24:10.816173 Event: 200
-On: 2011-10-29 18:24:10.816959 Event: Terminate
-On: 2011-10-29 18:24:10.817017 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:24:16.621706 ------------------
-On: 2011-10-29 18:24:16.641884 Event: try to Connect to Controller
-On: 2011-10-29 18:24:17.885296 Event: init state
-On: 2011-10-29 18:24:17.885572 Event: Register Account to SIP server
-On: 2011-10-29 18:24:17.887203 Event: 100
-On: 2011-10-29 18:24:17.887583 Event: Receiver Handler Ready
-On: 2011-10-29 18:24:17.887651 Event: RECEIVE START
-On: 2011-10-29 18:24:26.216253 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 18:24:26.216796 Event: Call Connecting
-On: 2011-10-29 18:24:26.216837 Event: 200
-On: 2011-10-29 18:24:26.217115 Event: Answer call
-On: 2011-10-29 18:24:26.217173 Event: Hangup call
-On: 2011-10-29 18:24:26.217355 Event: CALL OK
-On: 2011-10-29 18:24:26.268044 Event: Call Disconnected
-On: 2011-10-29 18:24:26.748497 Event: Terminate
-On: 2011-10-29 18:24:26.748552 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:37:18.594253 ------------------
-On: 2011-10-29 18:37:18.614807 Event: try to Connect to Controller
-On: 2011-10-29 18:37:19.845017 Event: init state
-On: 2011-10-29 18:37:19.845245 Event: Register Account to SIP server
-On: 2011-10-29 18:37:19.847711 Event: 100
-On: 2011-10-29 18:37:19.848132 Event: Receiver Handler Ready
-On: 2011-10-29 18:37:19.848207 Event: RECEIVE START
-On: 2011-10-29 18:37:25.989300 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 18:37:25.990102 Event: Call Connecting
-On: 2011-10-29 18:37:25.990153 Event: 200
-On: 2011-10-29 18:37:25.990399 Event: Answer call
-On: 2011-10-29 18:37:25.990451 Event: Hangup call
-On: 2011-10-29 18:37:25.990633 Event: CALL OK
-On: 2011-10-29 18:37:26.041307 Event: Call Disconnected
-On: 2011-10-29 18:37:26.826652 Event: Terminate
-On: 2011-10-29 18:37:26.826710 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 19:03:36.025000 ------------------
-On: 2011-10-29 19:03:36.045653 Event: try to Connect to Controller
-On: 2011-10-29 19:03:37.312849 Event: init state
-On: 2011-10-29 19:03:37.313092 Event: Register Account to SIP server
-On: 2011-10-29 19:03:37.314991 Event: 100
-On: 2011-10-29 19:03:37.315355 Event: Receiver Handler Ready
-On: 2011-10-29 19:03:37.315423 Event: RECEIVE START
-On: 2011-10-29 19:03:43.112972 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 19:03:43.113739 Event: Call Connecting
-On: 2011-10-29 19:03:43.113793 Event: 200
-On: 2011-10-29 19:03:43.114040 Event: Answer call
-On: 2011-10-29 19:03:43.114093 Event: Hangup call
-On: 2011-10-29 19:03:43.114279 Event: CALL OK
-On: 2011-10-29 19:03:43.164982 Event: Call Disconnected
-On: 2011-10-29 19:03:43.841300 Event: Terminate
-On: 2011-10-29 19:03:43.841346 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:12:48.680598 ------------------
-On: 2011-10-29 22:12:48.700854 Event: try to Connect to Controller
-On: 2011-10-29 22:12:49.992861 Event: init state
-On: 2011-10-29 22:12:49.993105 Event: Register Account to SIP server
-On: 2011-10-29 22:12:49.994864 Event: 100
-On: 2011-10-29 22:12:49.997298 Event: Caller Handler Ready
-On: 2011-10-29 22:13:01.015513 Event: CALL START
-On: 2011-10-29 22:13:01.015569 Event: Make a call to: 07612034661455
-On: 2011-10-29 22:13:05.896456 Event: Call Connecting
-On: 2011-10-29 22:13:05.896503 Event: 200
-On: 2011-10-29 22:13:05.897308 Event: Terminate
-On: 2011-10-29 22:13:05.897362 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:09.649068 ------------------
-On: 2011-10-29 22:13:09.669090 Event: try to Connect to Controller
-On: 2011-10-29 22:13:10.960781 Event: init state
-On: 2011-10-29 22:13:10.961025 Event: Register Account to SIP server
-On: 2011-10-29 22:13:10.963450 Event: 100
-On: 2011-10-29 22:13:10.965865 Event: Caller Handler Ready
-On: 2011-10-29 22:13:15.971078 Event: CALL START
-On: 2011-10-29 22:13:15.971132 Event: Make a call to: 07612034661928
-On: 2011-10-29 22:13:18.932097 Event: Call Connecting
-On: 2011-10-29 22:13:18.932144 Event: 200
-On: 2011-10-29 22:13:18.932875 Event: Terminate
-On: 2011-10-29 22:13:18.932919 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:34.834478 ------------------
-On: 2011-10-29 22:13:34.855031 Event: try to Connect to Controller
-On: 2011-10-29 22:13:36.114433 Event: init state
-On: 2011-10-29 22:13:36.114676 Event: Register Account to SIP server
-On: 2011-10-29 22:13:36.117120 Event: 100
-On: 2011-10-29 22:13:36.117657 Event: Receiver Handler Ready
-On: 2011-10-29 22:13:36.117752 Event: RECEIVE START
-On: 2011-10-29 22:13:43.708192 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-29 22:13:43.708718 Event: Call Connecting
-On: 2011-10-29 22:13:43.708759 Event: 200
-On: 2011-10-29 22:13:43.709008 Event: Answer call
-On: 2011-10-29 22:13:43.709059 Event: Hangup call
-On: 2011-10-29 22:13:43.709233 Event: CALL OK
-On: 2011-10-29 22:13:43.759933 Event: Call Disconnected
-On: 2011-10-29 22:13:44.234531 Event: Terminate
-On: 2011-10-29 22:13:44.234585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:20:42.863649 ------------------
-On: 2011-10-30 15:20:42.883976 Event: try to Connect to Controller
-On: 2011-10-30 15:20:44.001349 Event: init state
-On: 2011-10-30 15:20:44.001649 Event: Register Account to SIP server
-On: 2011-10-30 15:20:44.003294 Event: 100
-On: 2011-10-30 15:20:44.003391 Event: Caller Handler Ready
-On: 2011-10-30 15:20:55.252813 Event: CALL START
-On: 2011-10-30 15:20:55.252881 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:21:00.453891 Event: Call Connecting
-On: 2011-10-30 15:21:00.453942 Event: 200
-On: 2011-10-30 15:21:00.455261 Event: Terminate
-On: 2011-10-30 15:21:00.455319 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:27:00.008408 ------------------
-On: 2011-10-30 15:27:00.030271 Event: try to Connect to Controller
-On: 2011-10-30 15:27:01.054678 Event: init state
-On: 2011-10-30 15:27:01.054920 Event: Register Account to SIP server
-On: 2011-10-30 15:27:01.056550 Event: 100
-On: 2011-10-30 15:27:01.056645 Event: Caller Handler Ready
-On: 2011-10-30 15:27:06.161216 Event: CALL START
-On: 2011-10-30 15:27:06.161272 Event: Make a call to: 07612034661449
-On: 2011-10-30 15:27:10.492513 Event: Call Connecting
-On: 2011-10-30 15:27:10.492563 Event: 200
-On: 2011-10-30 15:27:11.097970 Event: Terminate
-On: 2011-10-30 15:27:11.098014 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:31:36.232098 ------------------
-On: 2011-10-30 15:31:36.253000 Event: try to Connect to Controller
-On: 2011-10-30 15:31:37.374119 Event: init state
-On: 2011-10-30 15:31:37.374357 Event: Register Account to SIP server
-On: 2011-10-30 15:31:37.376038 Event: 100
-On: 2011-10-30 15:31:37.376132 Event: Caller Handler Ready
-On: 2011-10-30 15:31:48.617447 Event: CALL START
-On: 2011-10-30 15:31:48.617535 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:31:53.568467 Event: Call Connecting
-On: 2011-10-30 15:31:53.568518 Event: 200
-On: 2011-10-30 15:31:53.569851 Event: Terminate
-On: 2011-10-30 15:31:53.569910 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:36:11.427627 ------------------
-On: 2011-10-30 15:36:11.452185 Event: try to Connect to Controller
-On: 2011-10-30 15:36:12.622595 Event: init state
-On: 2011-10-30 15:36:12.622829 Event: Register Account to SIP server
-On: 2011-10-30 15:36:12.624494 Event: 100
-On: 2011-10-30 15:36:12.624587 Event: Caller Handler Ready
-On: 2011-10-30 15:36:23.649714 Event: CALL START
-On: 2011-10-30 15:36:23.649780 Event: Make a call to: 07612034661473
-On: 2011-10-30 15:36:28.316641 Event: Call Connecting
-On: 2011-10-30 15:36:28.316691 Event: 200
-On: 2011-10-30 15:36:28.318035 Event: Terminate
-On: 2011-10-30 15:36:28.318093 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:38:58.665842 ------------------
-On: 2011-10-30 15:38:58.690680 Event: try to Connect to Controller
-On: 2011-10-30 15:38:59.809998 Event: init state
-On: 2011-10-30 15:38:59.810239 Event: Register Account to SIP server
-On: 2011-10-30 15:38:59.812410 Event: 100
-On: 2011-10-30 15:38:59.812501 Event: Caller Handler Ready
-On: 2011-10-30 15:39:11.050778 Event: CALL START
-On: 2011-10-30 15:39:11.050847 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:39:16.397130 Event: Call Connecting
-On: 2011-10-30 15:39:16.397181 Event: 200
-On: 2011-10-30 15:39:16.398550 Event: Terminate
-On: 2011-10-30 15:39:16.398608 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:41:55.387792 ------------------
-On: 2011-10-30 15:41:55.453366 Event: try to Connect to Controller
-On: 2011-10-30 15:41:56.114535 Event: init state
-On: 2011-10-30 15:41:56.114776 Event: Register Account to SIP server
-On: 2011-10-30 15:41:56.116481 Event: 100
-On: 2011-10-30 15:41:56.116574 Event: Caller Handler Ready
-On: 2011-10-30 15:42:07.353526 Event: CALL START
-On: 2011-10-30 15:42:07.353595 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:42:11.461787 Event: Call Connecting
-On: 2011-10-30 15:42:11.461837 Event: 200
-On: 2011-10-30 15:42:11.463161 Event: Terminate
-On: 2011-10-30 15:42:11.463220 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:46:33.922707 ------------------
-On: 2011-10-30 15:46:33.947653 Event: try to Connect to Controller
-On: 2011-10-30 15:46:34.988876 Event: init state
-On: 2011-10-30 15:46:34.989120 Event: Register Account to SIP server
-On: 2011-10-30 15:46:34.990848 Event: 100
-On: 2011-10-30 15:46:34.990938 Event: Caller Handler Ready
-On: 2011-10-30 15:46:46.237621 Event: CALL START
-On: 2011-10-30 15:46:46.237689 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:46:50.373338 Event: Call Connecting
-On: 2011-10-30 15:46:50.373388 Event: 200
-On: 2011-10-30 15:46:50.374743 Event: Terminate
-On: 2011-10-30 15:46:50.374802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:52:23.573181 ------------------
-On: 2011-10-30 15:52:23.597847 Event: try to Connect to Controller
-On: 2011-10-30 15:52:24.690582 Event: init state
-On: 2011-10-30 15:52:24.690816 Event: Register Account to SIP server
-On: 2011-10-30 15:52:24.692479 Event: 100
-On: 2011-10-30 15:52:24.692575 Event: Caller Handler Ready
-On: 2011-10-30 15:52:35.929562 Event: CALL START
-On: 2011-10-30 15:52:35.929631 Event: Make a call to: 07612034661455
-On: 2011-10-30 15:52:41.317868 Event: Call Connecting
-On: 2011-10-30 15:52:41.317918 Event: 200
-On: 2011-10-30 15:52:41.319159 Event: Terminate
-On: 2011-10-30 15:52:41.319214 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:55:41.948990 ------------------
-On: 2011-10-30 15:55:41.972286 Event: try to Connect to Controller
-On: 2011-10-30 15:55:43.066555 Event: init state
-On: 2011-10-30 15:55:43.066798 Event: Register Account to SIP server
-On: 2011-10-30 15:55:43.068774 Event: 100
-On: 2011-10-30 15:55:43.071147 Event: Caller Handler Ready
-On: 2011-10-30 15:55:54.085529 Event: CALL START
-On: 2011-10-30 15:55:54.085598 Event: Make a call to: 07612034661473
-On: 2011-10-30 15:55:59.377904 Event: Call Connecting
-On: 2011-10-30 15:55:59.377954 Event: 200
-On: 2011-10-30 15:55:59.379293 Event: Terminate
-On: 2011-10-30 15:55:59.379349 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:18:42.330575 ------------------
-On: 2011-10-30 16:18:42.355398 Event: try to Connect to Controller
-On: 2011-10-30 16:18:43.509981 Event: init state
-On: 2011-10-30 16:18:43.510220 Event: Register Account to SIP server
-On: 2011-10-30 16:18:43.511782 Event: 100
-On: 2011-10-30 16:18:43.513556 Event: Caller Handler Ready
-On: 2011-10-30 16:18:54.529572 Event: CALL START
-On: 2011-10-30 16:18:54.529643 Event: Make a call to: 07612034661473
-On: 2011-10-30 16:18:57.363605 Event: Call Disconnected
-On: 2011-10-30 16:19:31.528190 Event: Terminate
-On: 2011-10-30 16:19:31.528236 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:50:34.267212 ------------------
-On: 2011-10-30 19:50:34.287627 Event: try to Connect to Controller
-On: 2011-10-30 19:50:35.465245 Event: init state
-On: 2011-10-30 19:50:35.465511 Event: Register Account to SIP server
-On: 2011-10-30 19:50:35.467099 Event: 100
-On: 2011-10-30 19:50:35.469395 Event: Caller Handler Ready
-On: 2011-10-30 19:50:43.516398 Event: Terminate
-On: 2011-10-30 19:50:43.516453 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:52:16.058569 ------------------
-On: 2011-10-30 19:52:16.079130 Event: try to Connect to Controller
-On: 2011-10-30 19:52:17.140291 Event: init state
-On: 2011-10-30 19:52:17.140522 Event: Register Account to SIP server
-On: 2011-10-30 19:52:17.142204 Event: 100
-On: 2011-10-30 19:52:17.142341 Event: Receiver Handler Ready
-On: 2011-10-30 19:52:17.142676 Event: RECEIVE START
-On: 2011-10-30 19:52:23.094239 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-30 19:52:23.094777 Event: Call Connecting
-On: 2011-10-30 19:52:23.094822 Event: 200
-On: 2011-10-30 19:52:23.095071 Event: Answer call
-On: 2011-10-30 19:52:23.095123 Event: Hangup call
-On: 2011-10-30 19:52:23.095294 Event: CALL OK
-On: 2011-10-30 19:52:23.145996 Event: Call Disconnected
-On: 2011-10-30 19:52:23.825819 Event: Terminate
-On: 2011-10-30 19:52:23.826140 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:02:51.378994 ------------------
-On: 2011-10-30 20:02:51.399238 Event: try to Connect to Controller
-On: 2011-10-30 20:02:52.374028 Event: init state
-On: 2011-10-30 20:02:52.374267 Event: Register Account to SIP server
-On: 2011-10-30 20:02:52.375875 Event: 100
-On: 2011-10-30 20:02:52.377712 Event: Caller Handler Ready
-On: 2011-10-30 20:03:03.598625 Event: CALL START
-On: 2011-10-30 20:03:03.598681 Event: Make a call to: 07612034661473
-On: 2011-10-30 20:03:08.349381 Event: Call Connecting
-On: 2011-10-30 20:03:08.349429 Event: 200
-On: 2011-10-30 20:03:08.350382 Event: Terminate
-On: 2011-10-30 20:03:08.350438 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:22:01.910157 ------------------
-On: 2011-10-30 20:22:01.930281 Event: try to Connect to Controller
-On: 2011-10-30 20:22:02.646666 Event: init state
-On: 2011-10-30 20:22:02.646784 Event: Register Account to SIP server
-On: 2011-10-30 20:22:02.648359 Event: 100
-On: 2011-10-30 20:22:02.655561 Event: Caller Handler Ready
-On: 2011-10-30 20:22:13.873500 Event: CALL START
-On: 2011-10-30 20:22:13.873554 Event: Make a call to: 07612034661473
-On: 2011-10-30 20:22:19.896904 Event: Call Connecting
-On: 2011-10-30 20:22:19.896952 Event: 200
-On: 2011-10-30 20:22:19.897910 Event: Terminate
-On: 2011-10-30 20:22:19.897967 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:21:25.388655 ------------------
-On: 2011-10-31 13:21:25.408902 Event: try to Connect to Controller
-On: 2011-10-31 13:21:26.550048 Event: init state
-On: 2011-10-31 13:21:26.550285 Event: Register Account to SIP server
-On: 2011-10-31 13:21:26.553148 Event: 100
-On: 2011-10-31 13:21:26.553240 Event: Caller Handler Ready
-On: 2011-10-31 13:21:37.757643 Event: CALL START
-On: 2011-10-31 13:21:37.757701 Event: Make a call to: 07612034661473
-On: 2011-10-31 13:21:42.671395 Event: Call Connecting
-On: 2011-10-31 13:21:42.671446 Event: 200
-On: 2011-10-31 13:21:42.672761 Event: Terminate
-On: 2011-10-31 13:21:42.672813 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:30:31.548223 ------------------
-On: 2011-10-31 13:30:31.569025 Event: try to Connect to Controller
-On: 2011-10-31 13:30:32.694738 Event: init state
-On: 2011-10-31 13:30:32.694981 Event: Register Account to SIP server
-On: 2011-10-31 13:30:32.696576 Event: 100
-On: 2011-10-31 13:30:32.696668 Event: Caller Handler Ready
-On: 2011-10-31 13:30:43.916032 Event: CALL START
-On: 2011-10-31 13:30:43.916099 Event: Make a call to: 07612034661455
-On: 2011-10-31 13:30:49.500136 Event: Call Connecting
-On: 2011-10-31 13:30:49.500185 Event: 200
-On: 2011-10-31 13:30:49.501545 Event: Terminate
-On: 2011-10-31 13:30:49.501599 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:37:17.234252 ------------------
-On: 2011-10-31 13:37:17.258396 Event: try to Connect to Controller
-On: 2011-10-31 13:37:18.452974 Event: init state
-On: 2011-10-31 13:37:18.453213 Event: Register Account to SIP server
-On: 2011-10-31 13:37:18.455530 Event: 100
-On: 2011-10-31 13:37:18.457918 Event: Caller Handler Ready
-On: 2011-10-31 13:37:29.698262 Event: CALL START
-On: 2011-10-31 13:37:29.698333 Event: Make a call to: 07612034661455
-On: 2011-10-31 13:37:53.952464 Event: Terminate
-On: 2011-10-31 13:37:53.952498 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:39.633009 ------------------
-On: 2011-10-31 13:52:39.653864 Event: try to Connect to Controller
-On: 2011-10-31 13:52:40.818683 Event: init state
-On: 2011-10-31 13:52:40.818922 Event: Register Account to SIP server
-On: 2011-10-31 13:52:40.821240 Event: 100
-On: 2011-10-31 13:52:40.821335 Event: Receiver Handler Ready
-On: 2011-10-31 13:52:40.821737 Event: RECEIVE START
-On: 2011-10-31 13:52:48.515130 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-10-31 13:52:48.515682 Event: Call Connecting
-On: 2011-10-31 13:52:48.515725 Event: 200
-On: 2011-10-31 13:52:48.515983 Event: Answer call
-On: 2011-10-31 13:52:48.516037 Event: Hangup call
-On: 2011-10-31 13:52:48.516217 Event: CALL OK
-On: 2011-10-31 13:52:48.566912 Event: Call Disconnected
-On: 2011-10-31 13:52:49.059578 Event: Terminate
-On: 2011-10-31 13:52:49.059615 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:07.851130 ------------------
-On: 2011-10-31 13:54:07.882758 Event: try to Connect to Controller
-On: 2011-10-31 13:54:09.023908 Event: init state
-On: 2011-10-31 13:54:09.024144 Event: Register Account to SIP server
-On: 2011-10-31 13:54:09.026244 Event: 100
-On: 2011-10-31 13:54:09.026340 Event: Caller Handler Ready
-On: 2011-10-31 13:54:14.034331 Event: CALL START
-On: 2011-10-31 13:54:14.034389 Event: Make a call to: 07612034661928
-On: 2011-10-31 13:54:17.257720 Event: Call Connecting
-On: 2011-10-31 13:54:17.257769 Event: 200
-On: 2011-10-31 13:54:17.259075 Event: Terminate
-On: 2011-10-31 13:54:17.259122 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:21.167964 ------------------
-On: 2011-10-31 13:54:21.188467 Event: try to Connect to Controller
-On: 2011-10-31 13:54:22.336778 Event: init state
-On: 2011-10-31 13:54:22.337015 Event: Register Account to SIP server
-On: 2011-10-31 13:54:22.338698 Event: 100
-On: 2011-10-31 13:54:22.338793 Event: Caller Handler Ready
-On: 2011-10-31 13:54:27.488036 Event: CALL START
-On: 2011-10-31 13:54:27.488096 Event: Make a call to: 07612034661449
-On: 2011-10-31 13:54:32.874612 Event: Call Connecting
-On: 2011-10-31 13:54:32.874660 Event: 200
-On: 2011-10-31 13:54:32.877791 Event: Terminate
-On: 2011-10-31 13:54:32.877849 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:36.777982 ------------------
-On: 2011-10-31 13:54:36.802022 Event: try to Connect to Controller
-On: 2011-10-31 13:54:37.940957 Event: init state
-On: 2011-10-31 13:54:37.941190 Event: Register Account to SIP server
-On: 2011-10-31 13:54:37.943674 Event: 100
-On: 2011-10-31 13:54:37.943770 Event: Caller Handler Ready
-On: 2011-10-31 13:54:49.171369 Event: CALL START
-On: 2011-10-31 13:54:49.171427 Event: Make a call to: 07612034661473
-On: 2011-10-31 13:54:54.325567 Event: Call Connecting
-On: 2011-10-31 13:54:54.325653 Event: 200
-On: 2011-10-31 13:54:54.327000 Event: Terminate
-On: 2011-10-31 13:54:54.327049 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:58.271722 ------------------
-On: 2011-10-31 13:54:58.292356 Event: try to Connect to Controller
-On: 2011-10-31 13:54:59.390806 Event: init state
-On: 2011-10-31 13:54:59.391045 Event: Register Account to SIP server
-On: 2011-10-31 13:54:59.393174 Event: 100
-On: 2011-10-31 13:54:59.393267 Event: Caller Handler Ready
-On: 2011-10-31 13:55:10.638794 Event: CALL START
-On: 2011-10-31 13:55:10.638863 Event: Make a call to: 07612034661455
-On: 2011-10-31 13:55:15.917268 Event: Call Connecting
-On: 2011-10-31 13:55:15.917316 Event: 200
-On: 2011-10-31 13:55:15.918698 Event: Terminate
-On: 2011-10-31 13:55:15.918750 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:22:35.710385 ------------------
-On: 2011-10-31 15:22:35.748547 Event: try to Connect to Controller
-On: 2011-10-31 15:22:36.880315 Event: init state
-On: 2011-10-31 15:22:36.880624 Event: Register Account to SIP server
-On: 2011-10-31 15:22:36.883229 Event: 100
-On: 2011-10-31 15:22:36.883327 Event: Caller Handler Ready
-On: 2011-10-31 15:22:48.117420 Event: CALL START
-On: 2011-10-31 15:22:48.117481 Event: Make a call to: 07612034661455
-On: 2011-10-31 15:22:53.232841 Event: Call Connecting
-On: 2011-10-31 15:22:53.232892 Event: 200
-On: 2011-10-31 15:22:53.234335 Event: Terminate
-On: 2011-10-31 15:22:53.234390 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:24:19.027230 ------------------
-On: 2011-10-31 16:24:19.047456 Event: try to Connect to Controller
-On: 2011-10-31 16:24:20.359391 Event: init state
-On: 2011-10-31 16:24:20.359640 Event: Register Account to SIP server
-On: 2011-10-31 16:24:20.362256 Event: 100
-On: 2011-10-31 16:24:20.364615 Event: Caller Handler Ready
-On: 2011-10-31 16:24:31.597607 Event: CALL START
-On: 2011-10-31 16:24:31.597673 Event: Make a call to: 07612034661455
-On: 2011-10-31 16:24:36.392084 Event: Call Connecting
-On: 2011-10-31 16:24:36.392130 Event: 200
-On: 2011-10-31 16:24:36.392971 Event: Terminate
-On: 2011-10-31 16:24:36.393022 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:38:53.575236 ------------------
-On: 2011-10-31 17:38:53.595783 Event: try to Connect to Controller
-On: 2011-10-31 17:38:54.902671 Event: init state
-On: 2011-10-31 17:38:54.902919 Event: Register Account to SIP server
-On: 2011-10-31 17:38:54.905123 Event: 100
-On: 2011-10-31 17:38:54.907599 Event: Caller Handler Ready
-On: 2011-10-31 17:39:06.144020 Event: CALL START
-On: 2011-10-31 17:39:06.144075 Event: Make a call to: 07612034661455
-On: 2011-10-31 17:39:10.738936 Event: Call Connecting
-On: 2011-10-31 17:39:10.738984 Event: 200
-On: 2011-10-31 17:39:10.739819 Event: Terminate
-On: 2011-10-31 17:39:10.739869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:12.703020 ------------------
-On: 2011-10-31 19:55:12.723162 Event: try to Connect to Controller
-On: 2011-10-31 19:55:14.028745 Event: init state
-On: 2011-10-31 19:55:14.028993 Event: Register Account to SIP server
-On: 2011-10-31 19:55:14.031423 Event: 100
-On: 2011-10-31 19:55:14.033812 Event: Caller Handler Ready
-On: 2011-10-31 19:55:25.277037 Event: CALL START
-On: 2011-10-31 19:55:25.277093 Event: Make a call to: 07612034661455
-On: 2011-10-31 19:55:30.330683 Event: Call Connecting
-On: 2011-10-31 19:55:30.330729 Event: 200
-On: 2011-10-31 19:55:30.331574 Event: Terminate
-On: 2011-10-31 19:55:30.331625 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:01:09.747852 ------------------
-On: 2011-10-31 20:01:09.767928 Event: try to Connect to Controller
-On: 2011-10-31 20:01:11.078617 Event: init state
-On: 2011-10-31 20:01:11.078861 Event: Register Account to SIP server
-On: 2011-10-31 20:01:11.080461 Event: 100
-On: 2011-10-31 20:01:11.083014 Event: Caller Handler Ready
-On: 2011-10-31 20:01:22.324818 Event: CALL START
-On: 2011-10-31 20:01:22.324872 Event: Make a call to: 07612034661455
-On: 2011-10-31 20:01:27.633101 Event: Call Connecting
-On: 2011-10-31 20:01:27.633147 Event: 200
-On: 2011-10-31 20:01:27.634209 Event: Terminate
-On: 2011-10-31 20:01:27.634263 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:14:38.880444 ------------------
-On: 2011-10-31 21:14:38.901012 Event: try to Connect to Controller
-On: 2011-10-31 21:14:40.210665 Event: init state
-On: 2011-10-31 21:14:40.210916 Event: Register Account to SIP server
-On: 2011-10-31 21:14:40.212485 Event: 100
-On: 2011-10-31 21:14:40.214967 Event: Caller Handler Ready
-On: 2011-10-31 21:14:51.458991 Event: CALL START
-On: 2011-10-31 21:14:51.459053 Event: Make a call to: 07612034661455
-On: 2011-10-31 21:14:56.147949 Event: Call Connecting
-On: 2011-10-31 21:14:56.147995 Event: 200
-On: 2011-10-31 21:14:56.148859 Event: Terminate
-On: 2011-10-31 21:14:56.148909 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:28:24.030198 ------------------
-On: 2011-10-31 21:28:24.050402 Event: try to Connect to Controller
-On: 2011-10-31 21:28:25.354832 Event: init state
-On: 2011-10-31 21:28:25.355056 Event: Register Account to SIP server
-On: 2011-10-31 21:28:25.358123 Event: 100
-On: 2011-10-31 21:28:25.358213 Event: Caller Handler Ready
-On: 2011-10-31 21:28:36.597887 Event: CALL START
-On: 2011-10-31 21:28:36.597942 Event: Make a call to: 07612034661455
-On: 2011-10-31 21:28:41.960134 Event: Call Connecting
-On: 2011-10-31 21:28:41.960179 Event: 200
-On: 2011-10-31 21:28:41.961036 Event: Terminate
-On: 2011-10-31 21:28:41.961086 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:21:49.366900 ------------------
-On: 2011-10-31 23:21:49.387050 Event: try to Connect to Controller
-On: 2011-10-31 23:21:50.694641 Event: init state
-On: 2011-10-31 23:21:50.694887 Event: Register Account to SIP server
-On: 2011-10-31 23:21:50.697310 Event: 100
-On: 2011-10-31 23:21:50.699826 Event: Caller Handler Ready
-On: 2011-10-31 23:22:01.937642 Event: CALL START
-On: 2011-10-31 23:22:01.937695 Event: Make a call to: 07612034661455
-On: 2011-10-31 23:22:07.297279 Event: Call Connecting
-On: 2011-10-31 23:22:07.297325 Event: 200
-On: 2011-10-31 23:22:07.298358 Event: Terminate
-On: 2011-10-31 23:22:07.298413 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:22:23.760073 ------------------
-On: 2011-11-01 11:22:23.780213 Event: try to Connect to Controller
-On: 2011-11-01 11:22:25.073224 Event: init state
-On: 2011-11-01 11:22:25.073459 Event: Register Account to SIP server
-On: 2011-11-01 11:22:25.075203 Event: 100
-On: 2011-11-01 11:22:25.077506 Event: Caller Handler Ready
-On: 2011-11-01 11:22:36.314000 Event: CALL START
-On: 2011-11-01 11:22:36.314057 Event: Make a call to: 07612034661455
-On: 2011-11-01 11:22:41.383160 Event: Call Connecting
-On: 2011-11-01 11:22:41.383207 Event: 200
-On: 2011-11-01 11:22:41.384026 Event: Terminate
-On: 2011-11-01 11:22:41.384077 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:24:51.135082 ------------------
-On: 2011-11-01 11:24:51.156121 Event: try to Connect to Controller
-On: 2011-11-01 11:24:52.449214 Event: init state
-On: 2011-11-01 11:24:52.449468 Event: Register Account to SIP server
-On: 2011-11-01 11:24:52.451204 Event: 100
-On: 2011-11-01 11:24:52.453537 Event: Caller Handler Ready
-On: 2011-11-01 11:25:03.694307 Event: CALL START
-On: 2011-11-01 11:25:03.694363 Event: Make a call to: 07612034661455
-On: 2011-11-01 11:25:08.505140 Event: Call Connecting
-On: 2011-11-01 11:25:08.505187 Event: 200
-On: 2011-11-01 11:25:08.506224 Event: Terminate
-On: 2011-11-01 11:25:08.506278 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:02.511218 ------------------
-On: 2011-11-01 14:08:02.531591 Event: try to Connect to Controller
-On: 2011-11-01 14:08:03.823126 Event: init state
-On: 2011-11-01 14:08:03.823358 Event: Register Account to SIP server
-On: 2011-11-01 14:08:03.824957 Event: 100
-On: 2011-11-01 14:08:03.827848 Event: Caller Handler Ready
-On: 2011-11-01 14:08:15.065644 Event: CALL START
-On: 2011-11-01 14:08:15.065697 Event: Make a call to: 07612034661455
-On: 2011-11-01 14:08:19.571089 Event: Call Connecting
-On: 2011-11-01 14:08:19.571136 Event: 200
-On: 2011-11-01 14:08:19.571994 Event: Terminate
-On: 2011-11-01 14:08:19.572044 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:23.339516 ------------------
-On: 2011-11-01 14:08:23.359974 Event: try to Connect to Controller
-On: 2011-11-01 14:08:24.630667 Event: init state
-On: 2011-11-01 14:08:24.630907 Event: Register Account to SIP server
-On: 2011-11-01 14:08:24.632434 Event: 100
-On: 2011-11-01 14:08:24.633801 Event: Caller Handler Ready
-On: 2011-11-01 14:08:29.641646 Event: CALL START
-On: 2011-11-01 14:08:29.641701 Event: Make a call to: 07612034661928
-On: 2011-11-01 14:08:32.265179 Event: Call Connecting
-On: 2011-11-01 14:08:32.265226 Event: 200
-On: 2011-11-01 14:08:32.265837 Event: Terminate
-On: 2011-11-01 14:08:32.265884 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:48.156288 ------------------
-On: 2011-11-01 14:08:48.177113 Event: try to Connect to Controller
-On: 2011-11-01 14:08:49.440957 Event: init state
-On: 2011-11-01 14:08:49.441189 Event: Register Account to SIP server
-On: 2011-11-01 14:08:49.442940 Event: 100
-On: 2011-11-01 14:08:49.443305 Event: Receiver Handler Ready
-On: 2011-11-01 14:08:49.443373 Event: RECEIVE START
-On: 2011-11-01 14:08:56.825774 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-01 14:08:56.826315 Event: Call Connecting
-On: 2011-11-01 14:08:56.826354 Event: 200
-On: 2011-11-01 14:08:56.826597 Event: Answer call
-On: 2011-11-01 14:08:56.826649 Event: Hangup call
-On: 2011-11-01 14:08:56.826825 Event: CALL OK
-On: 2011-11-01 14:08:56.877549 Event: Call Disconnected
-On: 2011-11-01 14:08:57.361023 Event: Terminate
-On: 2011-11-01 14:08:57.361075 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:17:50.095328 ------------------
-On: 2011-11-01 14:17:50.116312 Event: try to Connect to Controller
-On: 2011-11-01 14:17:51.405803 Event: init state
-On: 2011-11-01 14:17:51.406041 Event: Register Account to SIP server
-On: 2011-11-01 14:17:51.408204 Event: 100
-On: 2011-11-01 14:17:51.410751 Event: Caller Handler Ready
-On: 2011-11-01 14:18:02.636284 Event: CALL START
-On: 2011-11-01 14:18:02.636342 Event: Make a call to: 07612034661473
-On: 2011-11-01 14:18:08.443949 Event: Call Connecting
-On: 2011-11-01 14:18:08.443996 Event: 200
-On: 2011-11-01 14:18:08.444859 Event: Terminate
-On: 2011-11-01 14:18:08.444912 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:24:29.768770 ------------------
-On: 2011-11-01 14:24:29.790044 Event: try to Connect to Controller
-On: 2011-11-01 14:24:31.083695 Event: init state
-On: 2011-11-01 14:24:31.083926 Event: Register Account to SIP server
-On: 2011-11-01 14:24:31.086118 Event: 100
-On: 2011-11-01 14:24:31.088467 Event: Caller Handler Ready
-On: 2011-11-01 14:24:42.321947 Event: CALL START
-On: 2011-11-01 14:24:42.322005 Event: Make a call to: 07612034661455
-On: 2011-11-01 14:24:46.982131 Event: Call Connecting
-On: 2011-11-01 14:24:46.982178 Event: 200
-On: 2011-11-01 14:24:46.983033 Event: Terminate
-On: 2011-11-01 14:24:46.983085 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:36:38.091230 ------------------
-On: 2011-11-01 19:36:38.112750 Event: try to Connect to Controller
-On: 2011-11-01 19:36:39.385581 Event: init state
-On: 2011-11-01 19:36:39.386049 Event: Register Account to SIP server
-On: 2011-11-01 19:36:39.387924 Event: 100
-On: 2011-11-01 19:36:39.388012 Event: Caller Handler Ready
-On: 2011-11-01 19:36:50.592724 Event: CALL START
-On: 2011-11-01 19:36:50.592781 Event: Make a call to: 07612034661455
-On: 2011-11-01 19:36:56.691514 Event: Call Connecting
-On: 2011-11-01 19:36:56.691560 Event: 200
-On: 2011-11-01 19:36:56.692405 Event: Terminate
-On: 2011-11-01 19:36:56.692457 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:38:37.405039 ------------------
-On: 2011-11-01 19:38:37.425235 Event: try to Connect to Controller
-On: 2011-11-01 19:38:38.718640 Event: init state
-On: 2011-11-01 19:38:38.718865 Event: Register Account to SIP server
-On: 2011-11-01 19:38:38.721000 Event: 100
-On: 2011-11-01 19:38:38.723526 Event: Caller Handler Ready
-On: 2011-11-01 19:38:49.964769 Event: CALL START
-On: 2011-11-01 19:38:49.964824 Event: Make a call to: 07612034661455
-On: 2011-11-01 19:38:54.362422 Event: Call Connecting
-On: 2011-11-01 19:38:54.362468 Event: 200
-On: 2011-11-01 19:38:54.363325 Event: Terminate
-On: 2011-11-01 19:38:54.363376 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:38:58.120529 ------------------
-On: 2011-11-01 19:38:58.140622 Event: try to Connect to Controller
-On: 2011-11-01 19:38:59.428841 Event: init state
-On: 2011-11-01 19:38:59.429067 Event: Register Account to SIP server
-On: 2011-11-01 19:38:59.430921 Event: 100
-On: 2011-11-01 19:38:59.433164 Event: Caller Handler Ready
-On: 2011-11-01 19:39:04.438268 Event: CALL START
-On: 2011-11-01 19:39:04.438322 Event: Make a call to: 07612034661928
-On: 2011-11-01 19:39:07.149958 Event: Call Connecting
-On: 2011-11-01 19:39:07.150004 Event: 200
-On: 2011-11-01 19:39:07.150437 Event: Terminate
-On: 2011-11-01 19:39:07.150470 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:23.035567 ------------------
-On: 2011-11-01 19:39:23.055826 Event: try to Connect to Controller
-On: 2011-11-01 19:39:24.321352 Event: init state
-On: 2011-11-01 19:39:24.321586 Event: Register Account to SIP server
-On: 2011-11-01 19:39:24.323867 Event: 100
-On: 2011-11-01 19:39:24.324233 Event: Receiver Handler Ready
-On: 2011-11-01 19:39:24.324302 Event: RECEIVE START
-On: 2011-11-01 19:39:30.220739 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-01 19:39:30.221263 Event: Call Connecting
-On: 2011-11-01 19:39:30.221304 Event: 200
-On: 2011-11-01 19:39:30.221548 Event: Answer call
-On: 2011-11-01 19:39:30.221599 Event: Hangup call
-On: 2011-11-01 19:39:30.221979 Event: CALL OK
-On: 2011-11-01 19:39:30.272677 Event: Call Disconnected
-On: 2011-11-01 19:39:34.162777 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-01 19:39:34.163232 Event: Call Connecting
-On: 2011-11-01 19:39:34.163267 Event: 200
-On: 2011-11-01 19:39:34.163417 Event: Answer call
-On: 2011-11-01 19:39:34.163452 Event: Hangup call
-On: 2011-11-01 19:39:34.163606 Event: CALL OK
-On: 2011-11-01 19:39:34.214301 Event: Call Disconnected
-On: 2011-11-01 19:39:35.358372 Event: Terminate
-On: 2011-11-01 19:39:35.358408 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:13:17.979283 ------------------
-On: 2011-11-01 20:13:17.999587 Event: try to Connect to Controller
-On: 2011-11-01 20:13:19.289291 Event: init state
-On: 2011-11-01 20:13:19.289526 Event: Register Account to SIP server
-On: 2011-11-01 20:13:19.291260 Event: 100
-On: 2011-11-01 20:13:19.293669 Event: Caller Handler Ready
-On: 2011-11-01 20:13:30.533645 Event: CALL START
-On: 2011-11-01 20:13:30.533702 Event: Make a call to: 07612034661455
-On: 2011-11-01 20:13:35.193441 Event: Call Connecting
-On: 2011-11-01 20:13:35.193486 Event: 200
-On: 2011-11-01 20:13:35.194499 Event: Terminate
-On: 2011-11-01 20:13:35.194554 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:27.665255 ------------------
-On: 2011-11-02 13:07:27.689314 Event: try to Connect to Controller
-On: 2011-11-02 13:07:28.940777 Event: init state
-On: 2011-11-02 13:07:28.941013 Event: Register Account to SIP server
-On: 2011-11-02 13:07:28.943945 Event: 100
-On: 2011-11-02 13:07:28.944043 Event: Caller Handler Ready
-On: 2011-11-02 13:07:36.954356 Event: Terminate
-On: 2011-11-02 13:07:36.954389 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:09:10.241926 ------------------
-On: 2011-11-02 13:09:10.262487 Event: try to Connect to Controller
-On: 2011-11-02 13:09:11.386478 Event: init state
-On: 2011-11-02 13:09:11.386709 Event: Register Account to SIP server
-On: 2011-11-02 13:09:11.388970 Event: 100
-On: 2011-11-02 13:09:11.389064 Event: Receiver Handler Ready
-On: 2011-11-02 13:09:11.389517 Event: RECEIVE START
-On: 2011-11-02 13:09:28.822591 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 13:09:28.823148 Event: Call Connecting
-On: 2011-11-02 13:09:28.823190 Event: 200
-On: 2011-11-02 13:09:28.823515 Event: Answer call
-On: 2011-11-02 13:09:28.823582 Event: Hangup call
-On: 2011-11-02 13:09:28.823769 Event: CALL OK
-On: 2011-11-02 13:09:28.874525 Event: Call Disconnected
-On: 2011-11-02 13:09:29.397642 Event: Terminate
-On: 2011-11-02 13:09:29.397680 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:36.772080 ------------------
-On: 2011-11-02 13:19:36.792774 Event: try to Connect to Controller
-On: 2011-11-02 13:19:37.909882 Event: init state
-On: 2011-11-02 13:19:37.910173 Event: Register Account to SIP server
-On: 2011-11-02 13:19:37.912219 Event: 100
-On: 2011-11-02 13:19:37.912318 Event: Caller Handler Ready
-On: 2011-11-02 13:19:45.928971 Event: Terminate
-On: 2011-11-02 13:19:45.929005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:21:25.009369 ------------------
-On: 2011-11-02 13:21:25.034227 Event: try to Connect to Controller
-On: 2011-11-02 13:21:26.233941 Event: init state
-On: 2011-11-02 13:21:26.234273 Event: Register Account to SIP server
-On: 2011-11-02 13:21:26.236162 Event: 100
-On: 2011-11-02 13:21:26.236258 Event: Receiver Handler Ready
-On: 2011-11-02 13:21:26.236606 Event: RECEIVE START
-On: 2011-11-02 13:21:32.462481 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 13:21:32.463021 Event: Call Connecting
-On: 2011-11-02 13:21:32.463062 Event: 200
-On: 2011-11-02 13:21:32.463316 Event: Answer call
-On: 2011-11-02 13:21:32.463368 Event: Hangup call
-On: 2011-11-02 13:21:32.463548 Event: CALL OK
-On: 2011-11-02 13:21:32.514346 Event: Call Disconnected
-On: 2011-11-02 13:21:33.293178 Event: Terminate
-On: 2011-11-02 13:21:33.293214 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:37.112815 ------------------
-On: 2011-11-02 13:42:37.159961 Event: try to Connect to Controller
-On: 2011-11-02 13:42:38.011250 Event: init state
-On: 2011-11-02 13:42:38.011908 Event: Register Account to SIP server
-On: 2011-11-02 13:42:38.014233 Event: 100
-On: 2011-11-02 13:42:38.014336 Event: Caller Handler Ready
-On: 2011-11-02 13:42:46.031832 Event: Terminate
-On: 2011-11-02 13:42:46.031866 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:44:23.666445 ------------------
-On: 2011-11-02 13:44:23.686924 Event: try to Connect to Controller
-On: 2011-11-02 13:44:24.871049 Event: init state
-On: 2011-11-02 13:44:24.871277 Event: Register Account to SIP server
-On: 2011-11-02 13:44:24.873578 Event: 100
-On: 2011-11-02 13:44:24.873672 Event: Receiver Handler Ready
-On: 2011-11-02 13:44:24.874225 Event: RECEIVE START
-On: 2011-11-02 13:44:31.013162 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 13:44:31.013692 Event: Call Connecting
-On: 2011-11-02 13:44:31.013732 Event: 200
-On: 2011-11-02 13:44:31.014032 Event: Answer call
-On: 2011-11-02 13:44:31.014094 Event: Hangup call
-On: 2011-11-02 13:44:31.014283 Event: CALL OK
-On: 2011-11-02 13:44:31.065000 Event: Call Disconnected
-On: 2011-11-02 13:44:31.531060 Event: Terminate
-On: 2011-11-02 13:44:31.531097 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:55:57.609117 ------------------
-On: 2011-11-02 13:55:57.629571 Event: try to Connect to Controller
-On: 2011-11-02 13:55:58.935075 Event: init state
-On: 2011-11-02 13:55:58.935313 Event: Register Account to SIP server
-On: 2011-11-02 13:55:58.937769 Event: 100
-On: 2011-11-02 13:55:58.937865 Event: Caller Handler Ready
-On: 2011-11-02 13:56:06.953562 Event: Terminate
-On: 2011-11-02 13:56:06.953613 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:55.295492 ------------------
-On: 2011-11-02 13:57:55.332607 Event: try to Connect to Controller
-On: 2011-11-02 13:57:56.476688 Event: init state
-On: 2011-11-02 13:57:56.476920 Event: Register Account to SIP server
-On: 2011-11-02 13:57:56.479527 Event: 100
-On: 2011-11-02 13:57:56.479929 Event: Receiver Handler Ready
-On: 2011-11-02 13:57:56.480015 Event: RECEIVE START
-On: 2011-11-02 13:58:03.027237 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 13:58:03.027773 Event: Call Connecting
-On: 2011-11-02 13:58:03.027814 Event: 200
-On: 2011-11-02 13:58:03.028068 Event: Answer call
-On: 2011-11-02 13:58:03.028121 Event: Hangup call
-On: 2011-11-02 13:58:03.028303 Event: CALL OK
-On: 2011-11-02 13:58:03.079014 Event: Call Disconnected
-On: 2011-11-02 13:58:03.963944 Event: Terminate
-On: 2011-11-02 13:58:03.963998 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:04:09.954420 ------------------
-On: 2011-11-02 14:04:10.002264 Event: try to Connect to Controller
-On: 2011-11-02 14:04:10.845836 Event: init state
-On: 2011-11-02 14:04:10.846253 Event: Register Account to SIP server
-On: 2011-11-02 14:04:10.848557 Event: 100
-On: 2011-11-02 14:04:10.848651 Event: Caller Handler Ready
-On: 2011-11-02 14:04:18.859928 Event: Terminate
-On: 2011-11-02 14:04:18.859962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:43.608213 ------------------
-On: 2011-11-02 14:06:43.628575 Event: try to Connect to Controller
-On: 2011-11-02 14:06:44.906986 Event: init state
-On: 2011-11-02 14:06:44.907340 Event: Register Account to SIP server
-On: 2011-11-02 14:06:44.909488 Event: 100
-On: 2011-11-02 14:06:44.909576 Event: Receiver Handler Ready
-On: 2011-11-02 14:06:44.910069 Event: RECEIVE START
-On: 2011-11-02 14:06:51.877102 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:06:51.877646 Event: Call Connecting
-On: 2011-11-02 14:06:51.877688 Event: 200
-On: 2011-11-02 14:06:51.878182 Event: Answer call
-On: 2011-11-02 14:06:51.878263 Event: Hangup call
-On: 2011-11-02 14:06:51.878452 Event: CALL OK
-On: 2011-11-02 14:06:51.929276 Event: Call Disconnected
-On: 2011-11-02 14:06:52.970248 Event: Terminate
-On: 2011-11-02 14:06:52.970307 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:29.493686 ------------------
-On: 2011-11-02 14:19:29.514246 Event: try to Connect to Controller
-On: 2011-11-02 14:19:30.646986 Event: init state
-On: 2011-11-02 14:19:30.647236 Event: Register Account to SIP server
-On: 2011-11-02 14:19:30.649374 Event: 100
-On: 2011-11-02 14:19:30.651728 Event: Caller Handler Ready
-On: 2011-11-02 14:19:38.663385 Event: Terminate
-On: 2011-11-02 14:19:38.663424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:21:12.810415 ------------------
-On: 2011-11-02 14:21:12.831325 Event: try to Connect to Controller
-On: 2011-11-02 14:21:14.057639 Event: init state
-On: 2011-11-02 14:21:14.057860 Event: Register Account to SIP server
-On: 2011-11-02 14:21:14.060534 Event: 100
-On: 2011-11-02 14:21:14.061170 Event: Receiver Handler Ready
-On: 2011-11-02 14:21:14.061265 Event: RECEIVE START
-On: 2011-11-02 14:21:20.719101 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:21:20.719638 Event: Call Connecting
-On: 2011-11-02 14:21:20.719681 Event: 200
-On: 2011-11-02 14:21:20.719931 Event: Answer call
-On: 2011-11-02 14:21:20.719982 Event: Hangup call
-On: 2011-11-02 14:21:20.720162 Event: CALL OK
-On: 2011-11-02 14:21:20.770844 Event: Call Disconnected
-On: 2011-11-02 14:21:21.281826 Event: Terminate
-On: 2011-11-02 14:21:21.281886 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:38.913522 ------------------
-On: 2011-11-02 14:27:38.936331 Event: try to Connect to Controller
-On: 2011-11-02 14:27:40.221137 Event: init state
-On: 2011-11-02 14:27:40.221380 Event: Register Account to SIP server
-On: 2011-11-02 14:27:40.224273 Event: 100
-On: 2011-11-02 14:27:40.226751 Event: Caller Handler Ready
-On: 2011-11-02 14:27:48.239752 Event: Terminate
-On: 2011-11-02 14:27:48.239791 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:29:23.047391 ------------------
-On: 2011-11-02 14:29:23.067603 Event: try to Connect to Controller
-On: 2011-11-02 14:29:24.350193 Event: init state
-On: 2011-11-02 14:29:24.350455 Event: Register Account to SIP server
-On: 2011-11-02 14:29:24.353126 Event: 100
-On: 2011-11-02 14:29:24.353754 Event: Receiver Handler Ready
-On: 2011-11-02 14:29:24.353849 Event: RECEIVE START
-On: 2011-11-02 14:29:30.084213 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:29:30.084754 Event: Call Connecting
-On: 2011-11-02 14:29:30.084796 Event: 200
-On: 2011-11-02 14:29:30.085100 Event: Answer call
-On: 2011-11-02 14:29:30.085159 Event: Hangup call
-On: 2011-11-02 14:29:30.085343 Event: CALL OK
-On: 2011-11-02 14:29:30.136030 Event: Call Disconnected
-On: 2011-11-02 14:29:30.623010 Event: Terminate
-On: 2011-11-02 14:29:30.623069 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:06.383709 ------------------
-On: 2011-11-02 14:31:06.403703 Event: try to Connect to Controller
-On: 2011-11-02 14:31:07.674486 Event: init state
-On: 2011-11-02 14:31:07.674738 Event: Register Account to SIP server
-On: 2011-11-02 14:31:07.677456 Event: 100
-On: 2011-11-02 14:31:07.680039 Event: Caller Handler Ready
-On: 2011-11-02 14:31:15.689191 Event: Terminate
-On: 2011-11-02 14:31:15.689231 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:33:02.615611 ------------------
-On: 2011-11-02 14:33:02.635788 Event: try to Connect to Controller
-On: 2011-11-02 14:33:03.906993 Event: init state
-On: 2011-11-02 14:33:03.907241 Event: Register Account to SIP server
-On: 2011-11-02 14:33:03.910484 Event: 100
-On: 2011-11-02 14:33:03.910869 Event: Receiver Handler Ready
-On: 2011-11-02 14:33:03.910938 Event: RECEIVE START
-On: 2011-11-02 14:33:11.131463 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:33:11.132006 Event: Call Connecting
-On: 2011-11-02 14:33:11.132049 Event: 200
-On: 2011-11-02 14:33:11.132302 Event: Answer call
-On: 2011-11-02 14:33:11.132354 Event: Hangup call
-On: 2011-11-02 14:33:11.132534 Event: CALL OK
-On: 2011-11-02 14:33:11.183230 Event: Call Disconnected
-On: 2011-11-02 14:33:12.281699 Event: Terminate
-On: 2011-11-02 14:33:12.281758 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:29.123015 ------------------
-On: 2011-11-02 14:35:29.142923 Event: try to Connect to Controller
-On: 2011-11-02 14:35:30.381770 Event: init state
-On: 2011-11-02 14:35:30.382048 Event: Register Account to SIP server
-On: 2011-11-02 14:35:30.384609 Event: 100
-On: 2011-11-02 14:35:30.386907 Event: Caller Handler Ready
-On: 2011-11-02 14:35:38.399372 Event: Terminate
-On: 2011-11-02 14:35:38.399407 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:38:01.271871 ------------------
-On: 2011-11-02 14:38:01.293027 Event: try to Connect to Controller
-On: 2011-11-02 14:38:02.374005 Event: init state
-On: 2011-11-02 14:38:02.374268 Event: Register Account to SIP server
-On: 2011-11-02 14:38:02.376003 Event: 100
-On: 2011-11-02 14:38:02.376623 Event: Receiver Handler Ready
-On: 2011-11-02 14:38:02.376715 Event: RECEIVE START
-On: 2011-11-02 14:38:08.054935 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:38:08.055487 Event: Call Connecting
-On: 2011-11-02 14:38:08.055529 Event: 200
-On: 2011-11-02 14:38:08.055841 Event: Answer call
-On: 2011-11-02 14:38:08.055902 Event: Hangup call
-On: 2011-11-02 14:38:08.056089 Event: CALL OK
-On: 2011-11-02 14:38:08.106764 Event: Call Disconnected
-On: 2011-11-02 14:38:08.568545 Event: Terminate
-On: 2011-11-02 14:38:08.568582 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:52:24.056468 ------------------
-On: 2011-11-02 14:52:24.097317 Event: try to Connect to Controller
-On: 2011-11-02 14:52:25.161193 Event: init state
-On: 2011-11-02 14:52:25.161427 Event: Register Account to SIP server
-On: 2011-11-02 14:52:25.164418 Event: 100
-On: 2011-11-02 14:52:25.164517 Event: Caller Handler Ready
-On: 2011-11-02 14:52:33.180268 Event: Terminate
-On: 2011-11-02 14:52:33.180302 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:42.617607 ------------------
-On: 2011-11-02 14:54:42.662385 Event: try to Connect to Controller
-On: 2011-11-02 14:54:43.709226 Event: init state
-On: 2011-11-02 14:54:43.709466 Event: Register Account to SIP server
-On: 2011-11-02 14:54:43.712596 Event: 100
-On: 2011-11-02 14:54:43.712693 Event: Receiver Handler Ready
-On: 2011-11-02 14:54:43.713038 Event: RECEIVE START
-On: 2011-11-02 14:54:49.963115 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 14:54:49.963659 Event: Call Connecting
-On: 2011-11-02 14:54:49.963702 Event: 200
-On: 2011-11-02 14:54:49.964287 Event: Answer call
-On: 2011-11-02 14:54:49.964376 Event: Hangup call
-On: 2011-11-02 14:54:49.964566 Event: CALL OK
-On: 2011-11-02 14:54:50.015269 Event: Call Disconnected
-On: 2011-11-02 14:54:50.889838 Event: Terminate
-On: 2011-11-02 14:54:50.889875 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:14.461457 ------------------
-On: 2011-11-02 15:40:14.487097 Event: try to Connect to Controller
-On: 2011-11-02 15:40:15.641937 Event: init state
-On: 2011-11-02 15:40:15.642236 Event: Register Account to SIP server
-On: 2011-11-02 15:40:15.644847 Event: 100
-On: 2011-11-02 15:40:15.644942 Event: Receiver Handler Ready
-On: 2011-11-02 15:40:15.645293 Event: RECEIVE START
-On: 2011-11-02 15:40:22.638501 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 15:40:22.639052 Event: Call Connecting
-On: 2011-11-02 15:40:22.639096 Event: 200
-On: 2011-11-02 15:40:22.639349 Event: Answer call
-On: 2011-11-02 15:40:22.639401 Event: Hangup call
-On: 2011-11-02 15:40:22.639583 Event: CALL OK
-On: 2011-11-02 15:40:22.690307 Event: Call Disconnected
-On: 2011-11-02 15:40:23.259554 Event: Terminate
-On: 2011-11-02 15:40:23.259590 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:41:37.046480 ------------------
-On: 2011-11-02 15:41:37.094275 Event: try to Connect to Controller
-On: 2011-11-02 15:41:38.061323 Event: init state
-On: 2011-11-02 15:41:38.061557 Event: Register Account to SIP server
-On: 2011-11-02 15:41:38.064173 Event: 100
-On: 2011-11-02 15:41:38.064269 Event: Caller Handler Ready
-On: 2011-11-02 15:41:43.071525 Event: CALL START
-On: 2011-11-02 15:41:43.071588 Event: Make a call to: 07612034661928
-On: 2011-11-02 15:41:46.067192 Event: Call Connecting
-On: 2011-11-02 15:41:46.067242 Event: 200
-On: 2011-11-02 15:41:46.068542 Event: Terminate
-On: 2011-11-02 15:41:46.068590 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:41:49.952308 ------------------
-On: 2011-11-02 15:41:49.978743 Event: try to Connect to Controller
-On: 2011-11-02 15:41:51.154952 Event: init state
-On: 2011-11-02 15:41:51.155182 Event: Register Account to SIP server
-On: 2011-11-02 15:41:51.158353 Event: 100
-On: 2011-11-02 15:41:51.158444 Event: Caller Handler Ready
-On: 2011-11-02 15:41:56.319185 Event: CALL START
-On: 2011-11-02 15:41:56.319248 Event: Make a call to: 07612034661449
-On: 2011-11-02 15:42:02.739284 Event: Call Connecting
-On: 2011-11-02 15:42:02.739331 Event: 200
-On: 2011-11-02 15:42:02.742269 Event: Terminate
-On: 2011-11-02 15:42:02.742325 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:42:06.627744 ------------------
-On: 2011-11-02 15:42:06.653204 Event: try to Connect to Controller
-On: 2011-11-02 15:42:07.808903 Event: init state
-On: 2011-11-02 15:42:07.809143 Event: Register Account to SIP server
-On: 2011-11-02 15:42:07.811190 Event: 100
-On: 2011-11-02 15:42:07.811289 Event: Caller Handler Ready
-On: 2011-11-02 15:42:19.033132 Event: CALL START
-On: 2011-11-02 15:42:19.033196 Event: Make a call to: 07612034661473
-On: 2011-11-02 15:42:23.509351 Event: Call Connecting
-On: 2011-11-02 15:42:23.509401 Event: 200
-On: 2011-11-02 15:42:23.510915 Event: Terminate
-On: 2011-11-02 15:42:23.510972 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:42:27.383880 ------------------
-On: 2011-11-02 15:42:27.404874 Event: try to Connect to Controller
-On: 2011-11-02 15:42:28.573499 Event: init state
-On: 2011-11-02 15:42:28.573739 Event: Register Account to SIP server
-On: 2011-11-02 15:42:28.576870 Event: 100
-On: 2011-11-02 15:42:28.579288 Event: Caller Handler Ready
-On: 2011-11-02 15:42:39.822403 Event: CALL START
-On: 2011-11-02 15:42:39.822469 Event: Make a call to: 07612034661455
-On: 2011-11-02 15:42:45.642048 Event: Call Connecting
-On: 2011-11-02 15:42:45.642098 Event: 200
-On: 2011-11-02 15:42:45.643422 Event: Terminate
-On: 2011-11-02 15:42:45.643474 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:11:59.127015 ------------------
-On: 2011-11-02 16:11:59.148045 Event: try to Connect to Controller
-On: 2011-11-02 16:12:00.143098 Event: init state
-On: 2011-11-02 16:12:00.143334 Event: Register Account to SIP server
-On: 2011-11-02 16:12:00.146627 Event: 100
-On: 2011-11-02 16:12:00.146725 Event: Caller Handler Ready
-On: 2011-11-02 16:12:11.361808 Event: CALL START
-On: 2011-11-02 16:12:11.361868 Event: Make a call to: 07612034661455
-On: 2011-11-02 16:12:32.662251 Event: Call Disconnected
-On: 2011-11-02 16:12:43.363511 Event: Terminate
-On: 2011-11-02 16:12:43.363545 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:14:05.804789 ------------------
-On: 2011-11-02 16:14:05.827509 Event: try to Connect to Controller
-On: 2011-11-02 16:14:06.936189 Event: init state
-On: 2011-11-02 16:14:06.936421 Event: Register Account to SIP server
-On: 2011-11-02 16:14:06.940048 Event: 100
-On: 2011-11-02 16:14:06.940145 Event: Receiver Handler Ready
-On: 2011-11-02 16:14:06.940945 Event: RECEIVE START
-On: 2011-11-02 16:14:13.771245 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 16:14:13.771789 Event: Call Connecting
-On: 2011-11-02 16:14:13.771833 Event: 200
-On: 2011-11-02 16:14:13.772086 Event: Answer call
-On: 2011-11-02 16:14:13.772137 Event: Hangup call
-On: 2011-11-02 16:14:13.772320 Event: CALL OK
-On: 2011-11-02 16:14:13.823018 Event: Call Disconnected
-On: 2011-11-02 16:14:14.751049 Event: Terminate
-On: 2011-11-02 16:14:14.751092 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:04.243771 ------------------
-On: 2011-11-02 16:17:04.282759 Event: try to Connect to Controller
-On: 2011-11-02 16:17:05.209463 Event: init state
-On: 2011-11-02 16:17:05.209761 Event: Register Account to SIP server
-On: 2011-11-02 16:17:05.212395 Event: 100
-On: 2011-11-02 16:17:05.214892 Event: Caller Handler Ready
-On: 2011-11-02 16:17:16.453597 Event: CALL START
-On: 2011-11-02 16:17:16.453662 Event: Make a call to: 07612034661455
-On: 2011-11-02 16:17:21.544909 Event: Call Connecting
-On: 2011-11-02 16:17:21.544956 Event: 200
-On: 2011-11-02 16:17:21.546363 Event: Terminate
-On: 2011-11-02 16:17:21.546419 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:25.476281 ------------------
-On: 2011-11-02 16:17:25.514426 Event: try to Connect to Controller
-On: 2011-11-02 16:17:26.603049 Event: init state
-On: 2011-11-02 16:17:26.603282 Event: Register Account to SIP server
-On: 2011-11-02 16:17:26.608370 Event: 100
-On: 2011-11-02 16:17:26.608469 Event: Caller Handler Ready
-On: 2011-11-02 16:17:31.618882 Event: CALL START
-On: 2011-11-02 16:17:31.618938 Event: Make a call to: 07612034661928
-On: 2011-11-02 16:17:34.639547 Event: Call Connecting
-On: 2011-11-02 16:17:34.639596 Event: 200
-On: 2011-11-02 16:17:34.640881 Event: Terminate
-On: 2011-11-02 16:17:34.640927 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:50.760290 ------------------
-On: 2011-11-02 16:17:50.784175 Event: try to Connect to Controller
-On: 2011-11-02 16:17:51.875041 Event: init state
-On: 2011-11-02 16:17:51.875274 Event: Register Account to SIP server
-On: 2011-11-02 16:17:51.877662 Event: 100
-On: 2011-11-02 16:17:51.878103 Event: Receiver Handler Ready
-On: 2011-11-02 16:17:51.878177 Event: RECEIVE START
-On: 2011-11-02 16:17:58.013220 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 16:17:58.013766 Event: Call Connecting
-On: 2011-11-02 16:17:58.013808 Event: 200
-On: 2011-11-02 16:17:58.014228 Event: Answer call
-On: 2011-11-02 16:17:58.014301 Event: Hangup call
-On: 2011-11-02 16:17:58.014493 Event: CALL OK
-On: 2011-11-02 16:17:58.065183 Event: Call Disconnected
-On: 2011-11-02 16:17:58.808316 Event: Terminate
-On: 2011-11-02 16:17:58.808362 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:23:04.679261 ------------------
-On: 2011-11-02 16:23:04.700172 Event: try to Connect to Controller
-On: 2011-11-02 16:23:05.897781 Event: init state
-On: 2011-11-02 16:23:05.898051 Event: Register Account to SIP server
-On: 2011-11-02 16:23:05.900497 Event: 100
-On: 2011-11-02 16:23:05.900586 Event: Caller Handler Ready
-On: 2011-11-02 16:23:17.129997 Event: CALL START
-On: 2011-11-02 16:23:17.130064 Event: Make a call to: 07612034661473
-On: 2011-11-02 16:23:22.174818 Event: Call Connecting
-On: 2011-11-02 16:23:22.174870 Event: 200
-On: 2011-11-02 16:23:22.176230 Event: Terminate
-On: 2011-11-02 16:23:22.176281 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:11:38.768083 ------------------
-On: 2011-11-02 17:11:38.793987 Event: try to Connect to Controller
-On: 2011-11-02 17:11:39.985804 Event: init state
-On: 2011-11-02 17:11:39.986078 Event: Register Account to SIP server
-On: 2011-11-02 17:11:39.988831 Event: 100
-On: 2011-11-02 17:11:39.988929 Event: Caller Handler Ready
-On: 2011-11-02 17:11:51.226946 Event: CALL START
-On: 2011-11-02 17:11:51.227012 Event: Make a call to: 07612034661455
-On: 2011-11-02 17:11:57.028590 Event: Call Connecting
-On: 2011-11-02 17:11:57.028640 Event: 200
-On: 2011-11-02 17:11:57.030054 Event: Terminate
-On: 2011-11-02 17:11:57.030109 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:12:00.957902 ------------------
-On: 2011-11-02 17:12:00.983168 Event: try to Connect to Controller
-On: 2011-11-02 17:12:02.099073 Event: init state
-On: 2011-11-02 17:12:02.099309 Event: Register Account to SIP server
-On: 2011-11-02 17:12:02.101480 Event: 100
-On: 2011-11-02 17:12:02.101576 Event: Caller Handler Ready
-On: 2011-11-02 17:12:13.329314 Event: CALL START
-On: 2011-11-02 17:12:13.329384 Event: Make a call to: 07612034661473
-On: 2011-11-02 17:12:18.811863 Event: Call Connecting
-On: 2011-11-02 17:12:18.811912 Event: 200
-On: 2011-11-02 17:12:18.813237 Event: Terminate
-On: 2011-11-02 17:12:18.813289 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:12:22.743853 ------------------
-On: 2011-11-02 17:12:22.765033 Event: try to Connect to Controller
-On: 2011-11-02 17:12:23.893761 Event: init state
-On: 2011-11-02 17:12:23.894081 Event: Register Account to SIP server
-On: 2011-11-02 17:12:23.895805 Event: 100
-On: 2011-11-02 17:12:23.898129 Event: Caller Handler Ready
-On: 2011-11-02 17:12:29.057644 Event: CALL START
-On: 2011-11-02 17:12:29.057702 Event: Make a call to: 07612034661449
-On: 2011-11-02 17:12:33.936278 Event: Call Connecting
-On: 2011-11-02 17:12:33.936327 Event: 200
-On: 2011-11-02 17:12:33.940794 Event: Terminate
-On: 2011-11-02 17:12:33.940853 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:12:37.867146 ------------------
-On: 2011-11-02 17:12:37.888062 Event: try to Connect to Controller
-On: 2011-11-02 17:12:39.002136 Event: init state
-On: 2011-11-02 17:12:39.002380 Event: Register Account to SIP server
-On: 2011-11-02 17:12:39.004181 Event: 100
-On: 2011-11-02 17:12:39.004276 Event: Caller Handler Ready
-On: 2011-11-02 17:12:44.011137 Event: CALL START
-On: 2011-11-02 17:12:44.011202 Event: Make a call to: 07612034661928
-On: 2011-11-02 17:12:47.519385 Event: Call Connecting
-On: 2011-11-02 17:12:47.519433 Event: 200
-On: 2011-11-02 17:12:47.520701 Event: Terminate
-On: 2011-11-02 17:12:47.520746 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:03.298589 ------------------
-On: 2011-11-02 17:14:03.319487 Event: try to Connect to Controller
-On: 2011-11-02 17:14:04.489417 Event: init state
-On: 2011-11-02 17:14:04.489646 Event: Register Account to SIP server
-On: 2011-11-02 17:14:04.494061 Event: 100
-On: 2011-11-02 17:14:04.494437 Event: Receiver Handler Ready
-On: 2011-11-02 17:14:04.494509 Event: RECEIVE START
-On: 2011-11-02 17:14:11.465783 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 17:14:11.466477 Event: Call Connecting
-On: 2011-11-02 17:14:11.466526 Event: 200
-On: 2011-11-02 17:14:11.466777 Event: Answer call
-On: 2011-11-02 17:14:11.466827 Event: Hangup call
-On: 2011-11-02 17:14:11.467010 Event: CALL OK
-On: 2011-11-02 17:14:11.517688 Event: Call Disconnected
-On: 2011-11-02 17:14:12.030702 Event: Terminate
-On: 2011-11-02 17:14:12.030739 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:11.299132 ------------------
-On: 2011-11-02 17:38:11.320054 Event: try to Connect to Controller
-On: 2011-11-02 17:38:12.605029 Event: init state
-On: 2011-11-02 17:38:12.605260 Event: Register Account to SIP server
-On: 2011-11-02 17:38:12.606939 Event: 100
-On: 2011-11-02 17:38:12.607028 Event: Caller Handler Ready
-On: 2011-11-02 17:38:23.845998 Event: CALL START
-On: 2011-11-02 17:38:23.846057 Event: Make a call to: 07612034661455
-On: 2011-11-02 17:38:29.357202 Event: Call Connecting
-On: 2011-11-02 17:38:29.357249 Event: 200
-On: 2011-11-02 17:38:29.358548 Event: Terminate
-On: 2011-11-02 17:38:29.358596 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:33.112045 ------------------
-On: 2011-11-02 17:38:33.132690 Event: try to Connect to Controller
-On: 2011-11-02 17:38:34.422855 Event: init state
-On: 2011-11-02 17:38:34.423092 Event: Register Account to SIP server
-On: 2011-11-02 17:38:34.427206 Event: 100
-On: 2011-11-02 17:38:34.429540 Event: Caller Handler Ready
-On: 2011-11-02 17:38:39.433112 Event: CALL START
-On: 2011-11-02 17:38:39.433167 Event: Make a call to: 07612034661928
-On: 2011-11-02 17:38:42.807504 Event: Call Connecting
-On: 2011-11-02 17:38:42.807550 Event: 200
-On: 2011-11-02 17:38:42.808780 Event: Terminate
-On: 2011-11-02 17:38:42.808825 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:58.703023 ------------------
-On: 2011-11-02 17:38:58.723922 Event: try to Connect to Controller
-On: 2011-11-02 17:38:59.989196 Event: init state
-On: 2011-11-02 17:38:59.989425 Event: Register Account to SIP server
-On: 2011-11-02 17:38:59.991750 Event: 100
-On: 2011-11-02 17:38:59.991838 Event: Receiver Handler Ready
-On: 2011-11-02 17:38:59.992193 Event: RECEIVE START
-On: 2011-11-02 17:39:06.148308 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-11-02 17:39:06.148837 Event: Call Connecting
-On: 2011-11-02 17:39:06.148878 Event: 200
-On: 2011-11-02 17:39:06.149124 Event: Answer call
-On: 2011-11-02 17:39:06.149175 Event: Hangup call
-On: 2011-11-02 17:39:06.149349 Event: CALL OK
-On: 2011-11-02 17:39:06.200037 Event: Call Disconnected
-On: 2011-11-02 17:39:06.687030 Event: Terminate
-On: 2011-11-02 17:39:06.687065 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:28:08.000328 ------------------
-On: 2011-11-02 18:28:08.052763 Event: try to Connect to Controller
-On: 2011-11-02 18:28:08.995075 Event: init state
-On: 2011-11-02 18:28:08.995311 Event: Register Account to SIP server
-On: 2011-11-02 18:28:09.003233 Event: 100
-On: 2011-11-02 18:28:09.003332 Event: Caller Handler Ready
-On: 2011-11-02 18:28:20.242458 Event: CALL START
-On: 2011-11-02 18:28:20.242523 Event: Make a call to: 07612034661455
-On: 2011-11-02 18:28:24.665915 Event: Call Connecting
-On: 2011-11-02 18:28:24.665997 Event: 200
-On: 2011-11-02 18:28:24.667347 Event: Terminate
-On: 2011-11-02 18:28:24.667399 Event: Goodbye
diff --git a/For Weekly Test/tricode/LogFileClass.py b/For Weekly Test/tricode/LogFileClass.py
deleted file mode 100755
index cb152f4..0000000
--- a/For Weekly Test/tricode/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/For Weekly Test/tricode/Login.html b/For Weekly Test/tricode/Login.html
deleted file mode 100644
index 1e324f2..0000000
--- a/For Weekly Test/tricode/Login.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head></head>
-<body background="Images/BackGround.jpg" style="height: 100%;">
-<table style="align: center; margin:auto;" width="399px" height="600px" border="0" >
- <tr background="Images/BackgroundLogin.png">
-
-
- <td align="center">Login</td>
-
- </tr>
-
-</body>
-</html>
diff --git a/For Weekly Test/tricode/PingClass.py b/For Weekly Test/tricode/PingClass.py
deleted file mode 100755
index e13b32b..0000000
--- a/For Weekly Test/tricode/PingClass.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/For Weekly Test/tricode/SIP handler.log b/For Weekly Test/tricode/SIP handler.log
deleted file mode 100644
index 46e43b2..0000000
--- a/For Weekly Test/tricode/SIP handler.log
+++ /dev/null
@@ -1,13841 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:46.636460 ------------------
-On: 2011-10-14 17:09:46.657136 Event: try to Connect to Controller
-On: 2011-10-14 17:09:47.961095 Event: init state
-On: 2011-10-14 17:09:47.961321 Event: Register Account to SIP server
-On: 2011-10-14 17:09:47.961739 Event: 100
-On: 2011-10-14 17:09:47.961871 Event: Caller Handler Ready
-On: 2011-10-14 17:09:52.969803 Event: CALL START
-On: 2011-10-14 17:09:52.969863 Event: Make a call to: 015782677224
-On: 2011-10-14 17:10:04.629306 Event: Call Connecting
-On: 2011-10-14 17:10:04.629356 Event: 200
-On: 2011-10-14 17:10:04.633907 Event: Terminate
-On: 2011-10-14 17:10:04.633966 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:09.360723 ------------------
-On: 2011-10-14 17:10:09.381097 Event: try to Connect to Controller
-On: 2011-10-14 17:10:10.677033 Event: init state
-On: 2011-10-14 17:10:10.677272 Event: Register Account to SIP server
-On: 2011-10-14 17:10:10.677699 Event: 100
-On: 2011-10-14 17:10:10.677820 Event: Caller Handler Ready
-On: 2011-10-14 17:10:15.685800 Event: CALL START
-On: 2011-10-14 17:10:15.685857 Event: Make a call to: 017678038038
-On: 2011-10-14 17:10:18.495676 Event: Call Connecting
-On: 2011-10-14 17:10:18.495723 Event: 200
-On: 2011-10-14 17:10:27.683426 Event: Terminate
-On: 2011-10-14 17:10:27.683466 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:32.462526 ------------------
-On: 2011-10-14 17:10:32.483232 Event: try to Connect to Controller
-On: 2011-10-14 17:10:33.765729 Event: init state
-On: 2011-10-14 17:10:33.766069 Event: Register Account to SIP server
-On: 2011-10-14 17:10:33.766858 Event: 100
-On: 2011-10-14 17:10:33.766945 Event: Caller Handler Ready
-On: 2011-10-14 17:10:38.773808 Event: CALL START
-On: 2011-10-14 17:10:38.773867 Event: Make a call to: 015128040906
-On: 2011-10-14 17:10:50.198003 Event: Call Connecting
-On: 2011-10-14 17:10:50.198052 Event: 200
-On: 2011-10-14 17:10:50.201957 Event: Terminate
-On: 2011-10-14 17:10:50.202013 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:10:54.936512 ------------------
-On: 2011-10-14 17:10:54.957090 Event: try to Connect to Controller
-On: 2011-10-14 17:10:56.245390 Event: init state
-On: 2011-10-14 17:10:56.245630 Event: Register Account to SIP server
-On: 2011-10-14 17:10:56.246463 Event: 100
-On: 2011-10-14 17:10:56.246551 Event: Caller Handler Ready
-On: 2011-10-14 17:11:01.253803 Event: CALL START
-On: 2011-10-14 17:11:01.253863 Event: Make a call to: 015252423662
-On: 2011-10-14 17:11:04.075325 Event: Call Connecting
-On: 2011-10-14 17:11:04.075374 Event: 200
-On: 2011-10-14 17:11:13.251721 Event: Terminate
-On: 2011-10-14 17:11:13.251761 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:11:18.042969 ------------------
-On: 2011-10-14 17:11:18.063549 Event: try to Connect to Controller
-On: 2011-10-14 17:11:19.341116 Event: init state
-On: 2011-10-14 17:11:19.341353 Event: Register Account to SIP server
-On: 2011-10-14 17:11:19.341826 Event: 100
-On: 2011-10-14 17:11:19.341911 Event: Caller Handler Ready
-On: 2011-10-14 17:11:23.348784 Event: Terminate
-On: 2011-10-14 17:11:23.348821 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:45.929341 ------------------
-On: 2011-10-14 17:54:45.950533 Event: try to Connect to Controller
-On: 2011-10-14 17:54:47.233014 Event: init state
-On: 2011-10-14 17:54:47.233278 Event: Register Account to SIP server
-On: 2011-10-14 17:54:47.233685 Event: 100
-On: 2011-10-14 17:54:47.233764 Event: Caller Handler Ready
-On: 2011-10-14 17:54:52.244885 Event: CALL START
-On: 2011-10-14 17:54:52.244944 Event: Make a call to: 017678038038
-On: 2011-10-14 17:54:55.028083 Event: Call Connecting
-On: 2011-10-14 17:54:55.028132 Event: 200
-On: 2011-10-14 17:55:05.240472 Event: Terminate
-On: 2011-10-14 17:55:05.240512 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:09.996293 ------------------
-On: 2011-10-14 17:55:10.016902 Event: try to Connect to Controller
-On: 2011-10-14 17:55:11.314844 Event: init state
-On: 2011-10-14 17:55:11.315069 Event: Register Account to SIP server
-On: 2011-10-14 17:55:11.315848 Event: 100
-On: 2011-10-14 17:55:11.315932 Event: Caller Handler Ready
-On: 2011-10-14 17:55:16.325824 Event: CALL START
-On: 2011-10-14 17:55:16.325886 Event: Make a call to: 015128040906
-On: 2011-10-14 17:55:27.226235 Event: Call Connecting
-On: 2011-10-14 17:55:27.226285 Event: 200
-On: 2011-10-14 17:55:27.229949 Event: Terminate
-On: 2011-10-14 17:55:27.230009 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:32.392005 ------------------
-On: 2011-10-14 17:55:32.443227 Event: try to Connect to Controller
-On: 2011-10-14 17:55:33.300758 Event: init state
-On: 2011-10-14 17:55:33.300986 Event: Register Account to SIP server
-On: 2011-10-14 17:55:33.301399 Event: 100
-On: 2011-10-14 17:55:33.301484 Event: Caller Handler Ready
-On: 2011-10-14 17:55:38.311987 Event: CALL START
-On: 2011-10-14 17:55:38.312053 Event: Make a call to: 015252423662
-On: 2011-10-14 17:55:47.779197 Event: Call Connecting
-On: 2011-10-14 17:55:47.779246 Event: 200
-On: 2011-10-14 17:55:47.783761 Event: Terminate
-On: 2011-10-14 17:55:47.783819 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:55:52.611246 ------------------
-On: 2011-10-14 17:55:52.650468 Event: try to Connect to Controller
-On: 2011-10-14 17:55:53.832742 Event: init state
-On: 2011-10-14 17:55:53.832968 Event: Register Account to SIP server
-On: 2011-10-14 17:55:53.833384 Event: 100
-On: 2011-10-14 17:55:53.833467 Event: Caller Handler Ready
-On: 2011-10-14 17:55:55.846416 Event: Terminate
-On: 2011-10-14 17:55:55.846453 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:36.775397 ------------------
-On: 2011-10-14 17:56:36.795759 Event: try to Connect to Controller
-On: 2011-10-14 17:56:38.097164 Event: init state
-On: 2011-10-14 17:56:38.097393 Event: Register Account to SIP server
-On: 2011-10-14 17:56:38.097862 Event: 100
-On: 2011-10-14 17:56:38.097950 Event: Caller Handler Ready
-On: 2011-10-14 17:56:43.106143 Event: CALL START
-On: 2011-10-14 17:56:43.106211 Event: Make a call to: 015782677224
-On: 2011-10-14 17:56:53.696081 Event: Call Connecting
-On: 2011-10-14 17:56:53.696130 Event: 200
-On: 2011-10-14 17:56:53.700618 Event: Terminate
-On: 2011-10-14 17:56:53.700677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:58.426964 ------------------
-On: 2011-10-14 17:56:58.447568 Event: try to Connect to Controller
-On: 2011-10-14 17:56:59.742432 Event: init state
-On: 2011-10-14 17:56:59.742661 Event: Register Account to SIP server
-On: 2011-10-14 17:56:59.743073 Event: 100
-On: 2011-10-14 17:56:59.743157 Event: Caller Handler Ready
-On: 2011-10-14 17:57:04.749801 Event: CALL START
-On: 2011-10-14 17:57:04.749855 Event: Make a call to: 015128040906
-On: 2011-10-14 17:57:16.572462 Event: Call Connecting
-On: 2011-10-14 17:57:16.572510 Event: 200
-On: 2011-10-14 17:57:16.576938 Event: Terminate
-On: 2011-10-14 17:57:16.576995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:57:21.305063 ------------------
-On: 2011-10-14 17:57:21.325519 Event: try to Connect to Controller
-On: 2011-10-14 17:57:22.619651 Event: init state
-On: 2011-10-14 17:57:22.619874 Event: Register Account to SIP server
-On: 2011-10-14 17:57:22.620283 Event: 100
-On: 2011-10-14 17:57:22.620368 Event: Caller Handler Ready
-On: 2011-10-14 17:57:27.629651 Event: CALL START
-On: 2011-10-14 17:57:27.629707 Event: Make a call to: 015252423662
-On: 2011-10-14 17:57:38.117497 Event: Call Connecting
-On: 2011-10-14 17:57:38.117547 Event: 200
-On: 2011-10-14 17:57:38.121937 Event: Terminate
-On: 2011-10-14 17:57:38.121997 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:57:42.847219 ------------------
-On: 2011-10-14 17:57:42.869064 Event: try to Connect to Controller
-On: 2011-10-14 17:57:44.164184 Event: init state
-On: 2011-10-14 17:57:44.164415 Event: Register Account to SIP server
-On: 2011-10-14 17:57:44.164832 Event: 100
-On: 2011-10-14 17:57:44.164920 Event: Caller Handler Ready
-On: 2011-10-14 17:57:48.170663 Event: Terminate
-On: 2011-10-14 17:57:48.170702 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:56.267915 ------------------
-On: 2011-10-14 17:58:56.288551 Event: try to Connect to Controller
-On: 2011-10-14 17:58:57.586794 Event: init state
-On: 2011-10-14 17:58:57.587025 Event: Register Account to SIP server
-On: 2011-10-14 17:58:57.587446 Event: 100
-On: 2011-10-14 17:58:57.587531 Event: Caller Handler Ready
-On: 2011-10-14 17:59:02.593799 Event: CALL START
-On: 2011-10-14 17:59:02.593853 Event: Make a call to: 015782677224
-On: 2011-10-14 17:59:12.108510 Event: Call Connecting
-On: 2011-10-14 17:59:12.108560 Event: 200
-On: 2011-10-14 17:59:12.112976 Event: Terminate
-On: 2011-10-14 17:59:12.113032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:59:16.841714 ------------------
-On: 2011-10-14 17:59:16.863182 Event: try to Connect to Controller
-On: 2011-10-14 17:59:18.154611 Event: init state
-On: 2011-10-14 17:59:18.154848 Event: Register Account to SIP server
-On: 2011-10-14 17:59:18.155261 Event: 100
-On: 2011-10-14 17:59:18.155345 Event: Caller Handler Ready
-On: 2011-10-14 17:59:23.163593 Event: CALL START
-On: 2011-10-14 17:59:23.163650 Event: Make a call to: 017678038038
-On: 2011-10-14 17:59:25.669296 Event: Call Connecting
-On: 2011-10-14 17:59:25.669345 Event: 200
-On: 2011-10-14 17:59:46.162168 Event: Terminate
-On: 2011-10-14 17:59:46.162206 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:59:50.919087 ------------------
-On: 2011-10-14 17:59:50.940260 Event: try to Connect to Controller
-On: 2011-10-14 17:59:52.234824 Event: init state
-On: 2011-10-14 17:59:52.235054 Event: Register Account to SIP server
-On: 2011-10-14 17:59:52.235475 Event: 100
-On: 2011-10-14 17:59:52.235560 Event: Caller Handler Ready
-On: 2011-10-14 17:59:57.241801 Event: CALL START
-On: 2011-10-14 17:59:57.241854 Event: Make a call to: 015128040906
-On: 2011-10-14 18:00:12.036109 Event: Call Connecting
-On: 2011-10-14 18:00:12.036159 Event: 200
-On: 2011-10-14 18:00:12.040570 Event: Terminate
-On: 2011-10-14 18:00:12.040629 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:00:16.761732 ------------------
-On: 2011-10-14 18:00:16.782092 Event: try to Connect to Controller
-On: 2011-10-14 18:00:18.083451 Event: init state
-On: 2011-10-14 18:00:18.083677 Event: Register Account to SIP server
-On: 2011-10-14 18:00:18.084089 Event: 100
-On: 2011-10-14 18:00:18.084176 Event: Caller Handler Ready
-On: 2011-10-14 18:00:20.094295 Event: Terminate
-On: 2011-10-14 18:00:20.094333 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:30:38.450417 ------------------
-On: 2011-10-14 18:30:38.470548 Event: try to Connect to Controller
-On: 2011-10-14 18:30:39.660564 Event: init state
-On: 2011-10-14 18:30:39.660799 Event: Register Account to SIP server
-On: 2011-10-14 18:30:39.661224 Event: 100
-On: 2011-10-14 18:30:39.661308 Event: Caller Handler Ready
-On: 2011-10-14 18:30:46.683607 Event: CALL START
-On: 2011-10-14 18:30:46.683666 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:30:46.714123 Event: Number busy or Offline
-On: 2011-10-14 18:30:46.714229 Event: CALL NOT OK
-On: 2011-10-14 18:30:46.714290 Event: Call Disconnected
-On: 2011-10-14 18:30:59.685936 Event: Terminate
-On: 2011-10-14 18:30:59.685996 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:33:08.266213 ------------------
-On: 2011-10-14 18:33:08.287252 Event: try to Connect to Controller
-On: 2011-10-14 18:33:09.582716 Event: init state
-On: 2011-10-14 18:33:09.582954 Event: Register Account to SIP server
-On: 2011-10-14 18:33:09.583371 Event: 100
-On: 2011-10-14 18:33:09.583457 Event: Caller Handler Ready
-On: 2011-10-14 18:33:16.601855 Event: CALL START
-On: 2011-10-14 18:33:16.601913 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:33:16.632653 Event: Number busy or Offline
-On: 2011-10-14 18:33:16.632758 Event: CALL NOT OK
-On: 2011-10-14 18:33:16.632818 Event: Call Disconnected
-On: 2011-10-14 18:33:29.602000 Event: Terminate
-On: 2011-10-14 18:33:29.602059 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:34:03.643288 ------------------
-On: 2011-10-14 18:34:03.664566 Event: try to Connect to Controller
-On: 2011-10-14 18:34:04.946982 Event: init state
-On: 2011-10-14 18:34:04.947231 Event: Register Account to SIP server
-On: 2011-10-14 18:34:04.948016 Event: 100
-On: 2011-10-14 18:34:04.948102 Event: Caller Handler Ready
-On: 2011-10-14 18:34:11.969795 Event: CALL START
-On: 2011-10-14 18:34:11.969855 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:34:12.012987 Event: Number busy or Offline
-On: 2011-10-14 18:34:12.013093 Event: CALL NOT OK
-On: 2011-10-14 18:34:12.013152 Event: Call Disconnected
-On: 2011-10-14 18:34:24.969934 Event: Terminate
-On: 2011-10-14 18:34:24.969994 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:14.242269 ------------------
-On: 2011-10-14 18:36:14.263091 Event: try to Connect to Controller
-On: 2011-10-14 18:36:15.507092 Event: init state
-On: 2011-10-14 18:36:15.507325 Event: Register Account to SIP server
-On: 2011-10-14 18:36:15.507747 Event: 100
-On: 2011-10-14 18:36:15.507837 Event: Caller Handler Ready
-On: 2011-10-14 18:36:19.515706 Event: Terminate
-On: 2011-10-14 18:36:19.515746 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:36:59.056259 ------------------
-On: 2011-10-14 18:36:59.076513 Event: try to Connect to Controller
-On: 2011-10-14 18:37:00.326739 Event: init state
-On: 2011-10-14 18:37:00.326982 Event: Register Account to SIP server
-On: 2011-10-14 18:37:00.327784 Event: 100
-On: 2011-10-14 18:37:00.327867 Event: Caller Handler Ready
-On: 2011-10-14 18:37:07.348145 Event: CALL START
-On: 2011-10-14 18:37:07.348206 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:37:07.372104 Event: Number busy or Offline
-On: 2011-10-14 18:37:07.372202 Event: CALL NOT OK
-On: 2011-10-14 18:37:07.372264 Event: Call Disconnected
-On: 2011-10-14 18:37:20.349949 Event: Terminate
-On: 2011-10-14 18:37:20.350007 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:45:24.035331 ------------------
-On: 2011-10-14 18:45:24.064884 Event: try to Connect to Controller
-On: 2011-10-14 18:45:25.290509 Event: init state
-On: 2011-10-14 18:45:25.290744 Event: Register Account to SIP server
-On: 2011-10-14 18:45:25.291167 Event: 100
-On: 2011-10-14 18:45:25.291255 Event: Caller Handler Ready
-On: 2011-10-14 18:45:32.309393 Event: CALL START
-On: 2011-10-14 18:45:32.309451 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:45:32.361537 Event: Number busy or Offline
-On: 2011-10-14 18:45:32.361641 Event: CALL NOT OK
-On: 2011-10-14 18:45:32.361700 Event: Call Disconnected
-On: 2011-10-14 18:45:45.310428 Event: Terminate
-On: 2011-10-14 18:45:45.310475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:46:55.021621 ------------------
-On: 2011-10-14 18:46:55.043937 Event: try to Connect to Controller
-On: 2011-10-14 18:46:56.254510 Event: init state
-On: 2011-10-14 18:46:56.254752 Event: Register Account to SIP server
-On: 2011-10-14 18:46:56.255534 Event: 100
-On: 2011-10-14 18:46:56.255623 Event: Caller Handler Ready
-On: 2011-10-14 18:47:03.277289 Event: CALL START
-On: 2011-10-14 18:47:03.277348 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:47:03.287809 Event: Number busy or Offline
-On: 2011-10-14 18:47:03.287915 Event: CALL NOT OK
-On: 2011-10-14 18:47:03.287976 Event: Call Disconnected
-On: 2011-10-14 18:47:16.275799 Event: Terminate
-On: 2011-10-14 18:47:16.275847 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:48:33.737226 ------------------
-On: 2011-10-14 18:48:33.757495 Event: try to Connect to Controller
-On: 2011-10-14 18:48:35.006292 Event: init state
-On: 2011-10-14 18:48:35.006536 Event: Register Account to SIP server
-On: 2011-10-14 18:48:35.006943 Event: 100
-On: 2011-10-14 18:48:35.007031 Event: Caller Handler Ready
-On: 2011-10-14 18:48:42.025833 Event: CALL START
-On: 2011-10-14 18:48:42.025895 Event: Make a call to: 07612034661455
-On: 2011-10-14 18:48:42.051201 Event: Number busy or Offline
-On: 2011-10-14 18:48:42.051308 Event: CALL NOT OK
-On: 2011-10-14 18:48:42.051367 Event: Call Disconnected
-On: 2011-10-14 18:48:55.024461 Event: Terminate
-On: 2011-10-14 18:48:55.024510 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:10.440380 ------------------
-On: 2011-10-14 18:50:10.460918 Event: try to Connect to Controller
-On: 2011-10-14 18:50:11.721823 Event: init state
-On: 2011-10-14 18:50:11.722097 Event: Register Account to SIP server
-On: 2011-10-14 18:50:11.722521 Event: 100
-On: 2011-10-14 18:50:11.722607 Event: Caller Handler Ready
-On: 2011-10-14 18:50:15.727408 Event: Terminate
-On: 2011-10-14 18:50:15.727449 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:50:52.904211 ------------------
-On: 2011-10-14 18:50:52.924517 Event: try to Connect to Controller
-On: 2011-10-14 18:50:54.090434 Event: init state
-On: 2011-10-14 18:50:54.090694 Event: Register Account to SIP server
-On: 2011-10-14 18:50:54.091115 Event: 100
-On: 2011-10-14 18:50:54.091204 Event: Caller Handler Ready
-On: 2011-10-14 18:51:01.108851 Event: CALL START
-On: 2011-10-14 18:51:01.108916 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:51:01.167837 Event: Number busy or Offline
-On: 2011-10-14 18:51:01.167940 Event: CALL NOT OK
-On: 2011-10-14 18:51:01.168001 Event: Call Disconnected
-On: 2011-10-14 18:51:14.110106 Event: Terminate
-On: 2011-10-14 18:51:14.110154 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:54:58.897235 ------------------
-On: 2011-10-14 18:54:58.918107 Event: try to Connect to Controller
-On: 2011-10-14 18:55:00.173871 Event: init state
-On: 2011-10-14 18:55:00.174121 Event: Register Account to SIP server
-On: 2011-10-14 18:55:00.174896 Event: 100
-On: 2011-10-14 18:55:00.174985 Event: Caller Handler Ready
-On: 2011-10-14 18:55:07.196059 Event: CALL START
-On: 2011-10-14 18:55:07.196124 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:55:07.211779 Event: Number busy or Offline
-On: 2011-10-14 18:55:07.211883 Event: CALL NOT OK
-On: 2011-10-14 18:55:07.211942 Event: Call Disconnected
-On: 2011-10-14 18:55:20.194754 Event: Terminate
-On: 2011-10-14 18:55:20.194802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 18:55:45.758820 ------------------
-On: 2011-10-14 18:55:45.806079 Event: try to Connect to Controller
-On: 2011-10-14 18:55:46.741687 Event: init state
-On: 2011-10-14 18:55:46.742168 Event: Register Account to SIP server
-On: 2011-10-14 18:55:46.742593 Event: 100
-On: 2011-10-14 18:55:46.742680 Event: Caller Handler Ready
-On: 2011-10-14 18:55:53.762078 Event: CALL START
-On: 2011-10-14 18:55:53.762143 Event: Make a call to: 07612034661447
-On: 2011-10-14 18:55:53.794531 Event: Number busy or Offline
-On: 2011-10-14 18:55:53.794638 Event: CALL NOT OK
-On: 2011-10-14 18:55:53.794699 Event: Call Disconnected
-On: 2011-10-14 18:56:06.759921 Event: Terminate
-On: 2011-10-14 18:56:06.759969 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:07.350174 ------------------
-On: 2011-10-14 19:14:07.370577 Event: try to Connect to Controller
-On: 2011-10-14 19:14:08.711183 Event: init state
-On: 2011-10-14 19:14:08.711421 Event: Register Account to SIP server
-On: 2011-10-14 19:14:08.711841 Event: 100
-On: 2011-10-14 19:14:08.711927 Event: Caller Handler Ready
-On: 2011-10-14 19:14:13.724586 Event: CALL START
-On: 2011-10-14 19:14:13.724648 Event: Make a call to: 017678038038
-On: 2011-10-14 19:14:16.289136 Event: Call Connecting
-On: 2011-10-14 19:14:16.289186 Event: 200
-On: 2011-10-14 19:14:26.719620 Event: Terminate
-On: 2011-10-14 19:14:26.719661 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:31.446526 ------------------
-On: 2011-10-14 19:14:31.466978 Event: try to Connect to Controller
-On: 2011-10-14 19:14:32.795097 Event: init state
-On: 2011-10-14 19:14:32.795343 Event: Register Account to SIP server
-On: 2011-10-14 19:14:32.795763 Event: 100
-On: 2011-10-14 19:14:32.795848 Event: Caller Handler Ready
-On: 2011-10-14 19:14:37.805378 Event: CALL START
-On: 2011-10-14 19:14:37.805439 Event: Make a call to: 015128040906
-On: 2011-10-14 19:14:54.552656 Event: Call Connecting
-On: 2011-10-14 19:14:54.552705 Event: 200
-On: 2011-10-14 19:14:54.557213 Event: Terminate
-On: 2011-10-14 19:14:54.557273 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:14:59.240302 ------------------
-On: 2011-10-14 19:14:59.260827 Event: try to Connect to Controller
-On: 2011-10-14 19:15:00.601124 Event: init state
-On: 2011-10-14 19:15:00.601378 Event: Register Account to SIP server
-On: 2011-10-14 19:15:00.601867 Event: 100
-On: 2011-10-14 19:15:00.601957 Event: Caller Handler Ready
-On: 2011-10-14 19:15:05.611735 Event: CALL START
-On: 2011-10-14 19:15:05.611796 Event: Make a call to: 015252423662
-On: 2011-10-14 19:15:14.672702 Event: Call Connecting
-On: 2011-10-14 19:15:14.672751 Event: 200
-On: 2011-10-14 19:15:14.677246 Event: Terminate
-On: 2011-10-14 19:15:14.677307 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:15:19.358484 ------------------
-On: 2011-10-14 19:15:19.378781 Event: try to Connect to Controller
-On: 2011-10-14 19:15:20.719382 Event: init state
-On: 2011-10-14 19:15:20.719618 Event: Register Account to SIP server
-On: 2011-10-14 19:15:20.720042 Event: 100
-On: 2011-10-14 19:15:20.720128 Event: Caller Handler Ready
-On: 2011-10-14 19:15:22.730021 Event: Terminate
-On: 2011-10-14 19:15:22.730062 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:04.491562 ------------------
-On: 2011-10-14 19:17:04.511766 Event: try to Connect to Controller
-On: 2011-10-14 19:17:05.849578 Event: init state
-On: 2011-10-14 19:17:05.849876 Event: Register Account to SIP server
-On: 2011-10-14 19:17:05.850302 Event: 100
-On: 2011-10-14 19:17:05.850392 Event: Caller Handler Ready
-On: 2011-10-14 19:17:10.859047 Event: CALL START
-On: 2011-10-14 19:17:10.859105 Event: Make a call to: 015782677224
-On: 2011-10-14 19:17:21.967085 Event: Call Connecting
-On: 2011-10-14 19:17:21.967136 Event: 200
-On: 2011-10-14 19:17:21.969643 Event: Terminate
-On: 2011-10-14 19:17:21.969702 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:26.656367 ------------------
-On: 2011-10-14 19:17:26.676933 Event: try to Connect to Controller
-On: 2011-10-14 19:17:28.014343 Event: init state
-On: 2011-10-14 19:17:28.014596 Event: Register Account to SIP server
-On: 2011-10-14 19:17:28.015375 Event: 100
-On: 2011-10-14 19:17:28.017672 Event: Caller Handler Ready
-On: 2011-10-14 19:17:33.026159 Event: CALL START
-On: 2011-10-14 19:17:33.026215 Event: Make a call to: 017678038038
-On: 2011-10-14 19:17:35.533869 Event: Call Connecting
-On: 2011-10-14 19:17:35.533915 Event: 200
-On: 2011-10-14 19:17:46.023446 Event: Terminate
-On: 2011-10-14 19:17:46.023489 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:17:50.741071 ------------------
-On: 2011-10-14 19:17:50.761877 Event: try to Connect to Controller
-On: 2011-10-14 19:17:52.098505 Event: init state
-On: 2011-10-14 19:17:52.098761 Event: Register Account to SIP server
-On: 2011-10-14 19:17:52.099177 Event: 100
-On: 2011-10-14 19:17:52.101673 Event: Caller Handler Ready
-On: 2011-10-14 19:17:57.112573 Event: CALL START
-On: 2011-10-14 19:17:57.112632 Event: Make a call to: 015128040906
-On: 2011-10-14 19:18:06.328702 Event: Call Connecting
-On: 2011-10-14 19:18:06.328751 Event: 200
-On: 2011-10-14 19:18:06.333267 Event: Terminate
-On: 2011-10-14 19:18:06.333325 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:18:11.010539 ------------------
-On: 2011-10-14 19:18:11.030914 Event: try to Connect to Controller
-On: 2011-10-14 19:18:12.371570 Event: init state
-On: 2011-10-14 19:18:12.371803 Event: Register Account to SIP server
-On: 2011-10-14 19:18:12.372577 Event: 100
-On: 2011-10-14 19:18:12.372663 Event: Caller Handler Ready
-On: 2011-10-14 19:18:16.380670 Event: Terminate
-On: 2011-10-14 19:18:16.380708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:52:09.398948 ------------------
-On: 2011-10-17 16:52:09.419834 Event: try to Connect to Controller
-On: 2011-10-17 16:52:10.659656 Event: init state
-On: 2011-10-17 16:52:10.659914 Event: Register Account to SIP server
-On: 2011-10-17 16:52:10.660700 Event: 100
-On: 2011-10-17 16:52:10.660790 Event: Caller Handler Ready
-On: 2011-10-17 16:52:15.668589 Event: CALL START
-On: 2011-10-17 16:52:15.668649 Event: Make a call to: 076120397898
-On: 2011-10-17 16:52:15.770875 Event: Call Connecting
-On: 2011-10-17 16:52:15.770926 Event: 200
-On: 2011-10-17 16:52:15.822232 Event: Call Disconnected
-On: 2011-10-17 16:52:16.722212 Event: Terminate
-On: 2011-10-17 16:52:16.722257 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:16:08.516493 ------------------
-On: 2011-10-17 17:16:08.536775 Event: try to Connect to Controller
-On: 2011-10-17 17:16:09.834471 Event: init state
-On: 2011-10-17 17:16:09.834722 Event: Register Account to SIP server
-On: 2011-10-17 17:16:09.835136 Event: 100
-On: 2011-10-17 17:16:09.835220 Event: Caller Handler Ready
-On: 2011-10-17 17:16:14.848659 Event: CALL START
-On: 2011-10-17 17:16:14.848713 Event: Make a call to: 015782677224
-On: 2011-10-17 17:16:42.842990 Event: Terminate
-On: 2011-10-17 17:16:42.843032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:16:47.641772 ------------------
-On: 2011-10-17 17:16:47.662399 Event: try to Connect to Controller
-On: 2011-10-17 17:16:48.926433 Event: init state
-On: 2011-10-17 17:16:48.926977 Event: Register Account to SIP server
-On: 2011-10-17 17:16:48.927418 Event: 100
-On: 2011-10-17 17:16:48.927505 Event: Caller Handler Ready
-On: 2011-10-17 17:16:53.940643 Event: CALL START
-On: 2011-10-17 17:16:53.940703 Event: Make a call to: 017678038038
-On: 2011-10-17 17:17:21.935382 Event: Terminate
-On: 2011-10-17 17:17:21.935425 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:17:26.730885 ------------------
-On: 2011-10-17 17:17:26.751230 Event: try to Connect to Controller
-On: 2011-10-17 17:17:28.024673 Event: init state
-On: 2011-10-17 17:17:28.024922 Event: Register Account to SIP server
-On: 2011-10-17 17:17:28.025347 Event: 100
-On: 2011-10-17 17:17:28.025426 Event: Caller Handler Ready
-On: 2011-10-17 17:17:33.036705 Event: CALL START
-On: 2011-10-17 17:17:33.036762 Event: Make a call to: 015128040906
-On: 2011-10-17 17:18:01.031833 Event: Terminate
-On: 2011-10-17 17:18:01.031876 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:18:05.832203 ------------------
-On: 2011-10-17 17:18:05.852589 Event: try to Connect to Controller
-On: 2011-10-17 17:18:07.121894 Event: init state
-On: 2011-10-17 17:18:07.122168 Event: Register Account to SIP server
-On: 2011-10-17 17:18:07.122593 Event: 100
-On: 2011-10-17 17:18:07.122680 Event: Caller Handler Ready
-On: 2011-10-17 17:18:12.129481 Event: CALL START
-On: 2011-10-17 17:18:12.129536 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:18:12.154424 Event: Number busy or Offline
-On: 2011-10-17 17:18:12.154528 Event: CALL NOT OK
-On: 2011-10-17 17:18:12.154589 Event: Call Disconnected
-On: 2011-10-17 17:18:25.128434 Event: Terminate
-On: 2011-10-17 17:18:25.128474 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:18:29.931905 ------------------
-On: 2011-10-17 17:18:29.952376 Event: try to Connect to Controller
-On: 2011-10-17 17:18:31.216570 Event: init state
-On: 2011-10-17 17:18:31.216812 Event: Register Account to SIP server
-On: 2011-10-17 17:18:31.217232 Event: 100
-On: 2011-10-17 17:18:31.217317 Event: Caller Handler Ready
-On: 2011-10-17 17:18:36.228682 Event: CALL START
-On: 2011-10-17 17:18:36.228737 Event: Make a call to: 015782677224
-On: 2011-10-17 17:19:04.224486 Event: Terminate
-On: 2011-10-17 17:19:04.224527 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:19:09.023560 ------------------
-On: 2011-10-17 17:19:09.043877 Event: try to Connect to Controller
-On: 2011-10-17 17:19:10.313082 Event: init state
-On: 2011-10-17 17:19:10.313333 Event: Register Account to SIP server
-On: 2011-10-17 17:19:10.313981 Event: 100
-On: 2011-10-17 17:19:10.314081 Event: Caller Handler Ready
-On: 2011-10-17 17:19:15.324010 Event: CALL START
-On: 2011-10-17 17:19:15.324066 Event: Make a call to: 017678038038
-On: 2011-10-17 17:19:43.320571 Event: Terminate
-On: 2011-10-17 17:19:43.320615 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:19:48.116493 ------------------
-On: 2011-10-17 17:19:48.137012 Event: try to Connect to Controller
-On: 2011-10-17 17:19:49.403338 Event: init state
-On: 2011-10-17 17:19:49.403584 Event: Register Account to SIP server
-On: 2011-10-17 17:19:49.403998 Event: 100
-On: 2011-10-17 17:19:49.404084 Event: Caller Handler Ready
-On: 2011-10-17 17:19:54.416668 Event: CALL START
-On: 2011-10-17 17:19:54.416723 Event: Make a call to: 015128040906
-On: 2011-10-17 17:20:22.411757 Event: Terminate
-On: 2011-10-17 17:20:22.411799 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:20:27.219150 ------------------
-On: 2011-10-17 17:20:27.239676 Event: try to Connect to Controller
-On: 2011-10-17 17:20:28.515728 Event: init state
-On: 2011-10-17 17:20:28.516013 Event: Register Account to SIP server
-On: 2011-10-17 17:20:28.516432 Event: 100
-On: 2011-10-17 17:20:28.516519 Event: Caller Handler Ready
-On: 2011-10-17 17:20:33.528717 Event: CALL START
-On: 2011-10-17 17:20:33.528775 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:20:33.545074 Event: Number busy or Offline
-On: 2011-10-17 17:20:33.545178 Event: CALL NOT OK
-On: 2011-10-17 17:20:33.545238 Event: Call Disconnected
-On: 2011-10-17 17:20:46.523910 Event: Terminate
-On: 2011-10-17 17:20:46.523951 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:20:51.295544 ------------------
-On: 2011-10-17 17:20:51.315650 Event: try to Connect to Controller
-On: 2011-10-17 17:20:52.620903 Event: init state
-On: 2011-10-17 17:20:52.621157 Event: Register Account to SIP server
-On: 2011-10-17 17:20:52.621808 Event: 100
-On: 2011-10-17 17:20:52.621910 Event: Caller Handler Ready
-On: 2011-10-17 17:20:57.632683 Event: CALL START
-On: 2011-10-17 17:20:57.632736 Event: Make a call to: 015782677224
-On: 2011-10-17 17:21:04.734133 Event: Call Connecting
-On: 2011-10-17 17:21:04.734182 Event: 200
-On: 2011-10-17 17:21:10.628429 Event: Terminate
-On: 2011-10-17 17:21:10.628470 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:21:15.472583 ------------------
-On: 2011-10-17 17:21:15.492823 Event: try to Connect to Controller
-On: 2011-10-17 17:21:16.709851 Event: init state
-On: 2011-10-17 17:21:16.710089 Event: Register Account to SIP server
-On: 2011-10-17 17:21:16.710513 Event: 100
-On: 2011-10-17 17:21:16.710600 Event: Caller Handler Ready
-On: 2011-10-17 17:21:21.720679 Event: CALL START
-On: 2011-10-17 17:21:21.720733 Event: Make a call to: 017678038038
-On: 2011-10-17 17:21:39.761557 Event: Call Connecting
-On: 2011-10-17 17:21:39.761605 Event: 200
-On: 2011-10-17 17:21:39.762687 Event: Terminate
-On: 2011-10-17 17:21:39.762727 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:21:44.559568 ------------------
-On: 2011-10-17 17:21:44.579574 Event: try to Connect to Controller
-On: 2011-10-17 17:21:45.846188 Event: init state
-On: 2011-10-17 17:21:45.846426 Event: Register Account to SIP server
-On: 2011-10-17 17:21:45.846842 Event: 100
-On: 2011-10-17 17:21:45.846929 Event: Caller Handler Ready
-On: 2011-10-17 17:21:50.856573 Event: CALL START
-On: 2011-10-17 17:21:50.856627 Event: Make a call to: 015128040906
-On: 2011-10-17 17:22:13.398998 Event: Call Connecting
-On: 2011-10-17 17:22:13.399045 Event: 200
-On: 2011-10-17 17:22:13.400156 Event: Terminate
-On: 2011-10-17 17:22:13.400196 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:22:18.187987 ------------------
-On: 2011-10-17 17:22:18.208179 Event: try to Connect to Controller
-On: 2011-10-17 17:22:19.489625 Event: init state
-On: 2011-10-17 17:22:19.490089 Event: Register Account to SIP server
-On: 2011-10-17 17:22:19.490514 Event: 100
-On: 2011-10-17 17:22:19.490600 Event: Caller Handler Ready
-On: 2011-10-17 17:22:24.500680 Event: CALL START
-On: 2011-10-17 17:22:24.500734 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:22:24.510512 Event: Number busy or Offline
-On: 2011-10-17 17:22:24.510614 Event: CALL NOT OK
-On: 2011-10-17 17:22:24.510674 Event: Call Disconnected
-On: 2011-10-17 17:22:37.496437 Event: Terminate
-On: 2011-10-17 17:22:37.496476 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:22:42.283517 ------------------
-On: 2011-10-17 17:22:42.303509 Event: try to Connect to Controller
-On: 2011-10-17 17:22:43.584657 Event: init state
-On: 2011-10-17 17:22:43.584905 Event: Register Account to SIP server
-On: 2011-10-17 17:22:43.585321 Event: 100
-On: 2011-10-17 17:22:43.585405 Event: Caller Handler Ready
-On: 2011-10-17 17:22:48.596679 Event: CALL START
-On: 2011-10-17 17:22:48.596732 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:22:48.653078 Event: Number busy or Offline
-On: 2011-10-17 17:22:48.653181 Event: CALL NOT OK
-On: 2011-10-17 17:22:48.653240 Event: Call Disconnected
-On: 2011-10-17 17:23:01.593305 Event: Terminate
-On: 2011-10-17 17:23:01.593346 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:06.677219 ------------------
-On: 2011-10-17 17:23:06.739270 Event: try to Connect to Controller
-On: 2011-10-17 17:23:07.690573 Event: init state
-On: 2011-10-17 17:23:07.690816 Event: Register Account to SIP server
-On: 2011-10-17 17:23:07.691240 Event: 100
-On: 2011-10-17 17:23:07.691323 Event: Caller Handler Ready
-On: 2011-10-17 17:23:12.704982 Event: CALL START
-On: 2011-10-17 17:23:12.705038 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:23:12.748059 Event: Number busy or Offline
-On: 2011-10-17 17:23:12.748159 Event: CALL NOT OK
-On: 2011-10-17 17:23:12.748219 Event: Call Disconnected
-On: 2011-10-17 17:23:25.707069 Event: Terminate
-On: 2011-10-17 17:23:25.707111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:30.503217 ------------------
-On: 2011-10-17 17:23:30.523673 Event: try to Connect to Controller
-On: 2011-10-17 17:23:31.801190 Event: init state
-On: 2011-10-17 17:23:31.801498 Event: Register Account to SIP server
-On: 2011-10-17 17:23:31.801924 Event: 100
-On: 2011-10-17 17:23:31.802007 Event: Caller Handler Ready
-On: 2011-10-17 17:23:36.812663 Event: CALL START
-On: 2011-10-17 17:23:36.812718 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:23:36.870493 Event: Number busy or Offline
-On: 2011-10-17 17:23:36.870594 Event: CALL NOT OK
-On: 2011-10-17 17:23:36.870652 Event: Call Disconnected
-On: 2011-10-17 17:23:49.808469 Event: Terminate
-On: 2011-10-17 17:23:49.808511 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:23:54.591446 ------------------
-On: 2011-10-17 17:23:54.611481 Event: try to Connect to Controller
-On: 2011-10-17 17:23:55.900432 Event: init state
-On: 2011-10-17 17:23:55.902300 Event: Register Account to SIP server
-On: 2011-10-17 17:23:55.902750 Event: 100
-On: 2011-10-17 17:23:55.902842 Event: Caller Handler Ready
-On: 2011-10-17 17:24:00.920656 Event: CALL START
-On: 2011-10-17 17:24:00.920711 Event: Make a call to: 07612034661449
-On: 2011-10-17 17:24:00.965562 Event: Number busy or Offline
-On: 2011-10-17 17:24:00.965668 Event: CALL NOT OK
-On: 2011-10-17 17:24:00.965728 Event: Call Disconnected
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:00.091233 ------------------
-On: 2011-10-17 17:31:00.111552 Event: try to Connect to Controller
-On: 2011-10-17 17:31:01.412723 Event: init state
-On: 2011-10-17 17:31:01.412976 Event: Register Account to SIP server
-On: 2011-10-17 17:31:01.413966 Event: 100
-On: 2011-10-17 17:31:01.416308 Event: Caller Handler Ready
-On: 2011-10-17 17:31:06.421465 Event: CALL START
-On: 2011-10-17 17:31:06.421520 Event: Make a call to: 015782677224
-On: 2011-10-17 17:31:12.139177 Event: Call Connecting
-On: 2011-10-17 17:31:12.139226 Event: 200
-On: 2011-10-17 17:31:19.420453 Event: Terminate
-On: 2011-10-17 17:31:19.420495 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:24.197063 ------------------
-On: 2011-10-17 17:31:24.217709 Event: try to Connect to Controller
-On: 2011-10-17 17:31:25.499803 Event: init state
-On: 2011-10-17 17:31:25.500063 Event: Register Account to SIP server
-On: 2011-10-17 17:31:25.500846 Event: 100
-On: 2011-10-17 17:31:25.500929 Event: Caller Handler Ready
-On: 2011-10-17 17:31:30.509053 Event: CALL START
-On: 2011-10-17 17:31:30.509113 Event: Make a call to: 017678038038
-On: 2011-10-17 17:31:36.516289 Event: Call Connecting
-On: 2011-10-17 17:31:36.516337 Event: 200
-On: 2011-10-17 17:31:43.507451 Event: Terminate
-On: 2011-10-17 17:31:43.507492 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:31:48.310802 ------------------
-On: 2011-10-17 17:31:48.331025 Event: try to Connect to Controller
-On: 2011-10-17 17:31:49.588683 Event: init state
-On: 2011-10-17 17:31:49.588923 Event: Register Account to SIP server
-On: 2011-10-17 17:31:49.589341 Event: 100
-On: 2011-10-17 17:31:49.589426 Event: Caller Handler Ready
-On: 2011-10-17 17:31:54.600557 Event: CALL START
-On: 2011-10-17 17:31:54.600612 Event: Make a call to: 015128040906
-On: 2011-10-17 17:32:00.826171 Event: Call Connecting
-On: 2011-10-17 17:32:00.826221 Event: 200
-On: 2011-10-17 17:32:07.596421 Event: Terminate
-On: 2011-10-17 17:32:07.596462 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:32:12.439907 ------------------
-On: 2011-10-17 17:32:12.460316 Event: try to Connect to Controller
-On: 2011-10-17 17:32:13.690957 Event: init state
-On: 2011-10-17 17:32:13.691222 Event: Register Account to SIP server
-On: 2011-10-17 17:32:13.692002 Event: 100
-On: 2011-10-17 17:32:13.692088 Event: Caller Handler Ready
-On: 2011-10-17 17:32:18.704572 Event: CALL START
-On: 2011-10-17 17:32:18.704626 Event: Make a call to: 015252423662
-On: 2011-10-17 17:32:24.953325 Event: Call Connecting
-On: 2011-10-17 17:32:24.953374 Event: 200
-On: 2011-10-17 17:32:31.699670 Event: Terminate
-On: 2011-10-17 17:32:31.699712 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:39:30.367101 ------------------
-On: 2011-10-17 17:39:30.387423 Event: try to Connect to Controller
-On: 2011-10-17 17:39:31.694083 Event: init state
-On: 2011-10-17 17:39:31.694335 Event: Register Account to SIP server
-On: 2011-10-17 17:39:31.694755 Event: 100
-On: 2011-10-17 17:39:31.694841 Event: Caller Handler Ready
-On: 2011-10-17 17:39:36.704675 Event: CALL START
-On: 2011-10-17 17:39:36.704729 Event: Make a call to: 017678038038
-On: 2011-10-17 17:39:38.934298 Event: Call Connecting
-On: 2011-10-17 17:39:38.934347 Event: 200
-On: 2011-10-17 17:39:49.700412 Event: Terminate
-On: 2011-10-17 17:39:49.700453 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:39:54.506473 ------------------
-On: 2011-10-17 17:39:54.526480 Event: try to Connect to Controller
-On: 2011-10-17 17:39:55.792648 Event: init state
-On: 2011-10-17 17:39:55.792901 Event: Register Account to SIP server
-On: 2011-10-17 17:39:55.793877 Event: 100
-On: 2011-10-17 17:39:55.796138 Event: Caller Handler Ready
-On: 2011-10-17 17:40:00.804685 Event: CALL START
-On: 2011-10-17 17:40:00.804741 Event: Make a call to: 015128040906
-On: 2011-10-17 17:40:03.073285 Event: Call Connecting
-On: 2011-10-17 17:40:03.073333 Event: 200
-On: 2011-10-17 17:40:13.800372 Event: Terminate
-On: 2011-10-17 17:40:13.800412 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:18.591321 ------------------
-On: 2011-10-17 17:40:18.611578 Event: try to Connect to Controller
-On: 2011-10-17 17:40:19.882456 Event: init state
-On: 2011-10-17 17:40:19.882918 Event: Register Account to SIP server
-On: 2011-10-17 17:40:19.883361 Event: 100
-On: 2011-10-17 17:40:19.883449 Event: Caller Handler Ready
-On: 2011-10-17 17:40:24.896684 Event: CALL START
-On: 2011-10-17 17:40:24.896742 Event: Make a call to: 015252423662
-On: 2011-10-17 17:40:27.931247 Event: Call Connecting
-On: 2011-10-17 17:40:27.931297 Event: 200
-On: 2011-10-17 17:40:37.890974 Event: Terminate
-On: 2011-10-17 17:40:37.891015 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:42.678959 ------------------
-On: 2011-10-17 17:40:42.699420 Event: try to Connect to Controller
-On: 2011-10-17 17:40:42.699838 Event: Cant connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:40:52.709828 ------------------
-On: 2011-10-17 17:40:52.730059 Event: try to Connect to Controller
-On: 2011-10-17 17:40:54.026325 Event: init state
-On: 2011-10-17 17:40:54.026570 Event: Register Account to SIP server
-On: 2011-10-17 17:40:54.026990 Event: 100
-On: 2011-10-17 17:40:54.027078 Event: Caller Handler Ready
-On: 2011-10-17 17:41:01.048524 Event: CALL START
-On: 2011-10-17 17:41:01.048579 Event: Make a call to: 07612034661447
-On: 2011-10-17 17:41:01.075405 Event: Number busy or Offline
-On: 2011-10-17 17:41:01.075576 Event: CALL NOT OK
-On: 2011-10-17 17:41:01.075645 Event: Call Disconnected
-On: 2011-10-17 17:41:14.046809 Event: Terminate
-On: 2011-10-17 17:41:14.046869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:18.191127 ------------------
-On: 2011-10-17 17:47:18.211417 Event: try to Connect to Controller
-On: 2011-10-17 17:47:19.522029 Event: init state
-On: 2011-10-17 17:47:19.522275 Event: Register Account to SIP server
-On: 2011-10-17 17:47:19.522697 Event: 100
-On: 2011-10-17 17:47:19.522781 Event: Caller Handler Ready
-On: 2011-10-17 17:47:24.531108 Event: CALL START
-On: 2011-10-17 17:47:24.531168 Event: Make a call to: 015782677224
-On: 2011-10-17 17:47:26.512733 Event: Call Connecting
-On: 2011-10-17 17:47:26.512783 Event: 200
-On: 2011-10-17 17:47:37.528481 Event: Terminate
-On: 2011-10-17 17:47:37.528524 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:47:42.426099 ------------------
-On: 2011-10-17 17:47:42.446325 Event: try to Connect to Controller
-On: 2011-10-17 17:47:43.616630 Event: init state
-On: 2011-10-17 17:47:43.616883 Event: Register Account to SIP server
-On: 2011-10-17 17:47:43.617298 Event: 100
-On: 2011-10-17 17:47:43.617381 Event: Caller Handler Ready
-On: 2011-10-17 17:47:48.626705 Event: CALL START
-On: 2011-10-17 17:47:48.626756 Event: Make a call to: 015128040906
-On: 2011-10-17 17:47:51.099342 Event: Call Connecting
-On: 2011-10-17 17:47:51.099392 Event: 200
-On: 2011-10-17 17:48:01.623851 Event: Terminate
-On: 2011-10-17 17:48:01.623895 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:48:06.458552 ------------------
-On: 2011-10-17 17:48:06.478494 Event: try to Connect to Controller
-On: 2011-10-17 17:48:07.716399 Event: init state
-On: 2011-10-17 17:48:07.716651 Event: Register Account to SIP server
-On: 2011-10-17 17:48:07.717073 Event: 100
-On: 2011-10-17 17:48:07.717161 Event: Caller Handler Ready
-On: 2011-10-17 17:48:12.728542 Event: CALL START
-On: 2011-10-17 17:48:12.728601 Event: Make a call to: 015252423662
-On: 2011-10-17 17:48:15.186422 Event: Call Connecting
-On: 2011-10-17 17:48:15.186471 Event: 200
-On: 2011-10-17 17:48:25.724497 Event: Terminate
-On: 2011-10-17 17:48:25.724538 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:21.399546 ------------------
-On: 2011-10-17 18:03:21.419503 Event: try to Connect to Controller
-On: 2011-10-17 18:03:22.726489 Event: init state
-On: 2011-10-17 18:03:22.726725 Event: Register Account to SIP server
-On: 2011-10-17 18:03:22.727511 Event: 100
-On: 2011-10-17 18:03:22.727595 Event: Caller Handler Ready
-On: 2011-10-17 18:03:27.737490 Event: CALL START
-On: 2011-10-17 18:03:27.737545 Event: Make a call to: 017678038038
-On: 2011-10-17 18:03:30.017149 Event: Call Connecting
-On: 2011-10-17 18:03:30.017197 Event: 200
-On: 2011-10-17 18:03:40.735133 Event: Terminate
-On: 2011-10-17 18:03:40.735175 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:03:45.525406 ------------------
-On: 2011-10-17 18:03:45.545795 Event: try to Connect to Controller
-On: 2011-10-17 18:03:46.819146 Event: init state
-On: 2011-10-17 18:03:46.819401 Event: Register Account to SIP server
-On: 2011-10-17 18:03:46.819826 Event: 100
-On: 2011-10-17 18:03:46.819909 Event: Caller Handler Ready
-On: 2011-10-17 18:03:51.828750 Event: CALL START
-On: 2011-10-17 18:03:51.828805 Event: Make a call to: 015128040906
-On: 2011-10-17 18:03:54.093963 Event: Call Connecting
-On: 2011-10-17 18:03:54.094013 Event: 200
-On: 2011-10-17 18:04:04.825842 Event: Terminate
-On: 2011-10-17 18:04:04.825885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:04:09.606379 ------------------
-On: 2011-10-17 18:04:09.626674 Event: try to Connect to Controller
-On: 2011-10-17 18:04:10.920456 Event: init state
-On: 2011-10-17 18:04:10.920708 Event: Register Account to SIP server
-On: 2011-10-17 18:04:10.921126 Event: 100
-On: 2011-10-17 18:04:10.921213 Event: Caller Handler Ready
-On: 2011-10-17 18:04:15.932702 Event: CALL START
-On: 2011-10-17 18:04:15.932755 Event: Make a call to: 015252423662
-On: 2011-10-17 18:04:18.432183 Event: Call Connecting
-On: 2011-10-17 18:04:18.432233 Event: 200
-On: 2011-10-17 18:04:28.928407 Event: Terminate
-On: 2011-10-17 18:04:28.928447 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:04:33.829925 ------------------
-On: 2011-10-17 18:04:33.850037 Event: try to Connect to Controller
-On: 2011-10-17 18:04:35.014061 Event: init state
-On: 2011-10-17 18:04:35.014316 Event: Register Account to SIP server
-On: 2011-10-17 18:04:35.015092 Event: 100
-On: 2011-10-17 18:04:35.017294 Event: Caller Handler Ready
-On: 2011-10-17 18:04:40.028673 Event: CALL START
-On: 2011-10-17 18:04:40.028740 Event: Make a call to: 07612034661449
-On: 2011-10-17 18:04:40.047991 Event: Number busy or Offline
-On: 2011-10-17 18:04:40.048098 Event: CALL NOT OK
-On: 2011-10-17 18:04:40.048159 Event: Call Disconnected
-On: 2011-10-17 18:04:53.021848 Event: Terminate
-On: 2011-10-17 18:04:53.021891 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:26.411494 ------------------
-On: 2011-10-17 18:10:26.431993 Event: try to Connect to Controller
-On: 2011-10-17 18:10:27.730429 Event: init state
-On: 2011-10-17 18:10:27.730681 Event: Register Account to SIP server
-On: 2011-10-17 18:10:27.731103 Event: 100
-On: 2011-10-17 18:10:27.731190 Event: Caller Handler Ready
-On: 2011-10-17 18:10:32.744654 Event: CALL START
-On: 2011-10-17 18:10:32.744710 Event: Make a call to: 015782677224
-On: 2011-10-17 18:10:34.978364 Event: Call Connecting
-On: 2011-10-17 18:10:34.978412 Event: 200
-On: 2011-10-17 18:10:45.737832 Event: Terminate
-On: 2011-10-17 18:10:45.737874 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:10:50.526383 ------------------
-On: 2011-10-17 18:10:50.546550 Event: try to Connect to Controller
-On: 2011-10-17 18:10:51.826373 Event: init state
-On: 2011-10-17 18:10:51.826641 Event: Register Account to SIP server
-On: 2011-10-17 18:10:51.827078 Event: 100
-On: 2011-10-17 18:10:51.827167 Event: Caller Handler Ready
-On: 2011-10-17 18:10:56.840650 Event: CALL START
-On: 2011-10-17 18:10:56.840702 Event: Make a call to: 017678038038
-On: 2011-10-17 18:10:59.097393 Event: Call Connecting
-On: 2011-10-17 18:10:59.097470 Event: 200
-On: 2011-10-17 18:11:09.835346 Event: Terminate
-On: 2011-10-17 18:11:09.835387 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:11:14.625251 ------------------
-On: 2011-10-17 18:11:14.645799 Event: try to Connect to Controller
-On: 2011-10-17 18:11:15.926933 Event: init state
-On: 2011-10-17 18:11:15.927183 Event: Register Account to SIP server
-On: 2011-10-17 18:11:15.927605 Event: 100
-On: 2011-10-17 18:11:15.927692 Event: Caller Handler Ready
-On: 2011-10-17 18:11:20.940769 Event: CALL START
-On: 2011-10-17 18:11:20.940824 Event: Make a call to: 015252423662
-On: 2011-10-17 18:11:22.432173 Event: Call Connecting
-On: 2011-10-17 18:11:22.432223 Event: 200
-On: 2011-10-17 18:11:33.935838 Event: Terminate
-On: 2011-10-17 18:11:33.935881 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:31:37.645224 ------------------
-On: 2011-10-20 12:31:37.665103 Event: try to Connect to Controller
-On: 2011-10-20 12:31:38.989989 Event: init state
-On: 2011-10-20 12:31:38.990241 Event: Register Account to SIP server
-On: 2011-10-20 12:31:38.990660 Event: 100
-On: 2011-10-20 12:31:38.990746 Event: Caller Handler Ready
-On: 2011-10-20 12:31:44.004806 Event: CALL START
-On: 2011-10-20 12:31:44.004859 Event: Make a call to: 017678038038
-On: 2011-10-20 12:31:46.270969 Event: Call Connecting
-On: 2011-10-20 12:31:46.271017 Event: 200
-On: 2011-10-20 12:31:55.996303 Event: Terminate
-On: 2011-10-20 12:31:55.996346 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:00.780216 ------------------
-On: 2011-10-20 12:32:00.800471 Event: try to Connect to Controller
-On: 2011-10-20 12:32:02.081959 Event: init state
-On: 2011-10-20 12:32:02.082218 Event: Register Account to SIP server
-On: 2011-10-20 12:32:02.082638 Event: 100
-On: 2011-10-20 12:32:02.082724 Event: Caller Handler Ready
-On: 2011-10-20 12:32:07.092825 Event: CALL START
-On: 2011-10-20 12:32:07.092884 Event: Make a call to: 015128040906
-On: 2011-10-20 12:32:09.606491 Event: Call Connecting
-On: 2011-10-20 12:32:09.606538 Event: 200
-On: 2011-10-20 12:32:19.087643 Event: Terminate
-On: 2011-10-20 12:32:19.087685 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:23.845144 ------------------
-On: 2011-10-20 12:32:23.865256 Event: try to Connect to Controller
-On: 2011-10-20 12:32:25.171609 Event: init state
-On: 2011-10-20 12:32:25.172055 Event: Register Account to SIP server
-On: 2011-10-20 12:32:25.172495 Event: 100
-On: 2011-10-20 12:32:25.172579 Event: Caller Handler Ready
-On: 2011-10-20 12:32:30.184819 Event: CALL START
-On: 2011-10-20 12:32:30.184873 Event: Make a call to: 015252423662
-On: 2011-10-20 12:32:32.718896 Event: Call Connecting
-On: 2011-10-20 12:32:32.718943 Event: 200
-On: 2011-10-20 12:32:42.179176 Event: Terminate
-On: 2011-10-20 12:32:42.179218 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:32:46.943032 ------------------
-On: 2011-10-20 12:32:46.963427 Event: try to Connect to Controller
-On: 2011-10-20 12:32:48.241836 Event: init state
-On: 2011-10-20 12:32:48.242095 Event: Register Account to SIP server
-On: 2011-10-20 12:32:48.242514 Event: 100
-On: 2011-10-20 12:32:48.242599 Event: Caller Handler Ready
-On: 2011-10-20 12:32:58.262860 Event: CALL START
-On: 2011-10-20 12:32:58.262916 Event: Make a call to: 07612034661447
-On: 2011-10-20 12:32:58.323988 Event: Number busy or Offline
-On: 2011-10-20 12:32:58.324093 Event: CALL NOT OK
-On: 2011-10-20 12:32:58.324154 Event: Call Disconnected
-On: 2011-10-20 12:33:10.262346 Event: Terminate
-On: 2011-10-20 12:33:10.262392 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:33:14.971024 ------------------
-On: 2011-10-20 12:33:14.991748 Event: try to Connect to Controller
-On: 2011-10-20 12:33:16.303674 Event: init state
-On: 2011-10-20 12:33:16.303919 Event: Register Account to SIP server
-On: 2011-10-20 12:33:16.304346 Event: 100
-On: 2011-10-20 12:33:16.304434 Event: Caller Handler Ready
-On: 2011-10-20 12:33:26.325804 Event: CALL START
-On: 2011-10-20 12:33:26.325874 Event: Make a call to: 07612034661455
-On: 2011-10-20 12:33:26.360797 Event: Number busy or Offline
-On: 2011-10-20 12:33:26.360903 Event: CALL NOT OK
-On: 2011-10-20 12:33:26.360965 Event: Call Disconnected
-On: 2011-10-20 12:33:38.325394 Event: Terminate
-On: 2011-10-20 12:33:38.325450 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:42:46.934458 ------------------
-On: 2011-10-20 12:42:46.954899 Event: try to Connect to Controller
-On: 2011-10-20 12:42:48.185769 Event: init state
-On: 2011-10-20 12:42:48.186201 Event: Register Account to SIP server
-On: 2011-10-20 12:42:48.186626 Event: 100
-On: 2011-10-20 12:42:48.186712 Event: Receiver Handler Ready
-On: 2011-10-20 12:42:48.187130 Event: RECEIVE START
-On: 2011-10-20 12:42:50.232558 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 12:42:50.233063 Event: Call Connecting
-On: 2011-10-20 12:42:50.233104 Event: 200
-On: 2011-10-20 12:42:50.233359 Event: Answer call
-On: 2011-10-20 12:42:50.233414 Event: Hangup call
-On: 2011-10-20 12:42:50.233589 Event: CALL OK
-On: 2011-10-20 12:42:50.284273 Event: Call Disconnected
-On: 2011-10-20 12:42:51.732958 Event: Terminate
-On: 2011-10-20 12:42:51.733014 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:42:56.496696 ------------------
-On: 2011-10-20 12:42:56.517360 Event: try to Connect to Controller
-On: 2011-10-20 12:42:57.778492 Event: init state
-On: 2011-10-20 12:42:57.778731 Event: Register Account to SIP server
-On: 2011-10-20 12:42:57.779510 Event: 100
-On: 2011-10-20 12:42:57.781938 Event: Caller Handler Ready
-On: 2011-10-20 12:43:02.788826 Event: CALL START
-On: 2011-10-20 12:43:02.788882 Event: Make a call to: 015782677224
-On: 2011-10-20 12:43:05.070307 Event: Call Connecting
-On: 2011-10-20 12:43:05.070354 Event: 200
-On: 2011-10-20 12:43:14.786147 Event: Terminate
-On: 2011-10-20 12:43:14.786186 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:43:19.625539 ------------------
-On: 2011-10-20 12:43:19.645960 Event: try to Connect to Controller
-On: 2011-10-20 12:43:20.873875 Event: init state
-On: 2011-10-20 12:43:20.874410 Event: Register Account to SIP server
-On: 2011-10-20 12:43:20.874880 Event: 100
-On: 2011-10-20 12:43:20.874963 Event: Caller Handler Ready
-On: 2011-10-20 12:43:25.884936 Event: CALL START
-On: 2011-10-20 12:43:25.884995 Event: Make a call to: 017678038038
-On: 2011-10-20 12:43:27.844770 Event: Call Connecting
-On: 2011-10-20 12:43:27.844815 Event: 200
-On: 2011-10-20 12:43:37.879614 Event: Terminate
-On: 2011-10-20 12:43:37.879654 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:43:42.695466 ------------------
-On: 2011-10-20 12:43:42.716079 Event: try to Connect to Controller
-On: 2011-10-20 12:43:43.962693 Event: init state
-On: 2011-10-20 12:43:43.962940 Event: Register Account to SIP server
-On: 2011-10-20 12:43:43.963354 Event: 100
-On: 2011-10-20 12:43:43.963441 Event: Caller Handler Ready
-On: 2011-10-20 12:43:48.969733 Event: CALL START
-On: 2011-10-20 12:43:48.969789 Event: Make a call to: 015128040906
-On: 2011-10-20 12:43:50.699760 Event: Call Connecting
-On: 2011-10-20 12:43:50.699806 Event: 200
-On: 2011-10-20 12:44:00.969884 Event: Terminate
-On: 2011-10-20 12:44:00.969927 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:44:05.783661 ------------------
-On: 2011-10-20 12:44:05.804031 Event: try to Connect to Controller
-On: 2011-10-20 12:44:07.055399 Event: init state
-On: 2011-10-20 12:44:07.055648 Event: Register Account to SIP server
-On: 2011-10-20 12:44:07.056074 Event: 100
-On: 2011-10-20 12:44:07.056158 Event: Caller Handler Ready
-On: 2011-10-20 12:44:12.063697 Event: CALL START
-On: 2011-10-20 12:44:12.063754 Event: Make a call to: 015252423662
-On: 2011-10-20 12:44:13.839020 Event: Call Connecting
-On: 2011-10-20 12:44:13.839067 Event: 200
-On: 2011-10-20 12:44:24.062701 Event: Terminate
-On: 2011-10-20 12:44:24.062743 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:50:32.154686 ------------------
-On: 2011-10-20 12:50:32.175190 Event: try to Connect to Controller
-On: 2011-10-20 12:50:33.108947 Event: init state
-On: 2011-10-20 12:50:33.109187 Event: Register Account to SIP server
-On: 2011-10-20 12:50:33.109612 Event: 100
-On: 2011-10-20 12:50:33.109700 Event: Receiver Handler Ready
-On: 2011-10-20 12:50:33.110029 Event: RECEIVE START
-On: 2011-10-20 12:50:35.148315 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 12:50:35.148812 Event: Call Connecting
-On: 2011-10-20 12:50:35.148853 Event: 200
-On: 2011-10-20 12:50:35.149108 Event: Answer call
-On: 2011-10-20 12:50:35.149160 Event: Hangup call
-On: 2011-10-20 12:50:35.149334 Event: CALL OK
-On: 2011-10-20 12:50:35.200021 Event: Call Disconnected
-On: 2011-10-20 12:50:36.541576 Event: Terminate
-On: 2011-10-20 12:50:36.541621 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:50:41.263047 ------------------
-On: 2011-10-20 12:50:41.283622 Event: try to Connect to Controller
-On: 2011-10-20 12:50:42.589123 Event: init state
-On: 2011-10-20 12:50:42.589367 Event: Register Account to SIP server
-On: 2011-10-20 12:50:42.589977 Event: 100
-On: 2011-10-20 12:50:42.590077 Event: Caller Handler Ready
-On: 2011-10-20 12:50:47.597788 Event: CALL START
-On: 2011-10-20 12:50:47.597863 Event: Make a call to: 017678038038
-On: 2011-10-20 12:50:49.371339 Event: Call Connecting
-On: 2011-10-20 12:50:49.371387 Event: 200
-On: 2011-10-20 12:50:59.595783 Event: Terminate
-On: 2011-10-20 12:50:59.595822 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:51:04.391124 ------------------
-On: 2011-10-20 12:51:04.411647 Event: try to Connect to Controller
-On: 2011-10-20 12:51:05.678645 Event: init state
-On: 2011-10-20 12:51:05.678988 Event: Register Account to SIP server
-On: 2011-10-20 12:51:05.679415 Event: 100
-On: 2011-10-20 12:51:05.679501 Event: Caller Handler Ready
-On: 2011-10-20 12:51:10.691644 Event: CALL START
-On: 2011-10-20 12:51:10.691698 Event: Make a call to: 015128040906
-On: 2011-10-20 12:51:13.164664 Event: Call Connecting
-On: 2011-10-20 12:51:13.164711 Event: 200
-On: 2011-10-20 12:51:22.685938 Event: Terminate
-On: 2011-10-20 12:51:22.685981 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:51:27.482203 ------------------
-On: 2011-10-20 12:51:27.502625 Event: try to Connect to Controller
-On: 2011-10-20 12:51:28.771463 Event: init state
-On: 2011-10-20 12:51:28.771711 Event: Register Account to SIP server
-On: 2011-10-20 12:51:28.772132 Event: 100
-On: 2011-10-20 12:51:28.772220 Event: Caller Handler Ready
-On: 2011-10-20 12:51:33.782400 Event: CALL START
-On: 2011-10-20 12:51:33.782459 Event: Make a call to: 015252423662
-On: 2011-10-20 12:51:36.308306 Event: Call Connecting
-On: 2011-10-20 12:51:36.308353 Event: 200
-On: 2011-10-20 12:51:45.778735 Event: Terminate
-On: 2011-10-20 12:51:45.778777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:13.265235 ------------------
-On: 2011-10-20 12:57:13.290966 Event: try to Connect to Controller
-On: 2011-10-20 12:57:14.441943 Event: init state
-On: 2011-10-20 12:57:14.442180 Event: Register Account to SIP server
-On: 2011-10-20 12:57:14.442602 Event: 100
-On: 2011-10-20 12:57:14.442687 Event: Receiver Handler Ready
-On: 2011-10-20 12:57:14.442953 Event: RECEIVE START
-On: 2011-10-20 12:57:16.470094 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 12:57:16.470594 Event: Call Connecting
-On: 2011-10-20 12:57:16.470634 Event: 200
-On: 2011-10-20 12:57:16.470891 Event: Answer call
-On: 2011-10-20 12:57:16.470943 Event: Hangup call
-On: 2011-10-20 12:57:16.471120 Event: CALL OK
-On: 2011-10-20 12:57:16.521851 Event: Call Disconnected
-On: 2011-10-20 12:57:17.898634 Event: Terminate
-On: 2011-10-20 12:57:17.898689 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:22.641066 ------------------
-On: 2011-10-20 12:57:22.661379 Event: try to Connect to Controller
-On: 2011-10-20 12:57:23.943842 Event: init state
-On: 2011-10-20 12:57:23.944108 Event: Register Account to SIP server
-On: 2011-10-20 12:57:23.944525 Event: 100
-On: 2011-10-20 12:57:23.945808 Event: Caller Handler Ready
-On: 2011-10-20 12:57:28.956823 Event: CALL START
-On: 2011-10-20 12:57:28.956879 Event: Make a call to: 015782677224
-On: 2011-10-20 12:57:30.700147 Event: Call Connecting
-On: 2011-10-20 12:57:30.700194 Event: 200
-On: 2011-10-20 12:57:40.951291 Event: Terminate
-On: 2011-10-20 12:57:40.951333 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:57:45.755065 ------------------
-On: 2011-10-20 12:57:45.782078 Event: try to Connect to Controller
-On: 2011-10-20 12:57:47.035565 Event: init state
-On: 2011-10-20 12:57:47.035912 Event: Register Account to SIP server
-On: 2011-10-20 12:57:47.036342 Event: 100
-On: 2011-10-20 12:57:47.036429 Event: Caller Handler Ready
-On: 2011-10-20 12:57:52.048843 Event: CALL START
-On: 2011-10-20 12:57:52.048899 Event: Make a call to: 017678038038
-On: 2011-10-20 12:57:53.774258 Event: Call Connecting
-On: 2011-10-20 12:57:53.774305 Event: 200
-On: 2011-10-20 12:58:04.043135 Event: Terminate
-On: 2011-10-20 12:58:04.043178 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:58:08.900518 ------------------
-On: 2011-10-20 12:58:08.921122 Event: try to Connect to Controller
-On: 2011-10-20 12:58:10.126774 Event: init state
-On: 2011-10-20 12:58:10.127007 Event: Register Account to SIP server
-On: 2011-10-20 12:58:10.127429 Event: 100
-On: 2011-10-20 12:58:10.127582 Event: Caller Handler Ready
-On: 2011-10-20 12:58:15.140732 Event: CALL START
-On: 2011-10-20 12:58:15.140789 Event: Make a call to: 015128040906
-On: 2011-10-20 12:58:17.878717 Event: Call Connecting
-On: 2011-10-20 12:58:17.878766 Event: 200
-On: 2011-10-20 12:58:27.134800 Event: Terminate
-On: 2011-10-20 12:58:27.134842 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:06:29.911603 ------------------
-On: 2011-10-20 13:06:29.932025 Event: try to Connect to Controller
-On: 2011-10-20 13:06:31.233289 Event: init state
-On: 2011-10-20 13:06:31.233542 Event: Register Account to SIP server
-On: 2011-10-20 13:06:31.234028 Event: 100
-On: 2011-10-20 13:06:31.234117 Event: Receiver Handler Ready
-On: 2011-10-20 13:06:31.234655 Event: RECEIVE START
-On: 2011-10-20 13:06:33.821543 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:06:33.822273 Event: Call Connecting
-On: 2011-10-20 13:06:33.822321 Event: 200
-On: 2011-10-20 13:06:33.822571 Event: Answer call
-On: 2011-10-20 13:06:33.822623 Event: Hangup call
-On: 2011-10-20 13:06:33.822802 Event: CALL OK
-On: 2011-10-20 13:06:33.873478 Event: Call Disconnected
-On: 2011-10-20 13:06:35.249484 Event: Terminate
-On: 2011-10-20 13:06:35.249542 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:06:39.986753 ------------------
-On: 2011-10-20 13:06:40.006751 Event: try to Connect to Controller
-On: 2011-10-20 13:06:41.296351 Event: init state
-On: 2011-10-20 13:06:41.296602 Event: Register Account to SIP server
-On: 2011-10-20 13:06:41.297009 Event: 100
-On: 2011-10-20 13:06:41.297095 Event: Caller Handler Ready
-On: 2011-10-20 13:06:46.306560 Event: CALL START
-On: 2011-10-20 13:06:46.306615 Event: Make a call to: 017678038038
-On: 2011-10-20 13:06:48.451003 Event: Call Connecting
-On: 2011-10-20 13:06:48.451050 Event: 200
-On: 2011-10-20 13:06:58.303600 Event: Terminate
-On: 2011-10-20 13:06:58.303641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:03.081301 ------------------
-On: 2011-10-20 13:07:03.102063 Event: try to Connect to Controller
-On: 2011-10-20 13:07:04.386746 Event: init state
-On: 2011-10-20 13:07:04.387269 Event: Register Account to SIP server
-On: 2011-10-20 13:07:04.387717 Event: 100
-On: 2011-10-20 13:07:04.387804 Event: Caller Handler Ready
-On: 2011-10-20 13:07:09.398341 Event: CALL START
-On: 2011-10-20 13:07:09.398400 Event: Make a call to: 015128040906
-On: 2011-10-20 13:07:11.343432 Event: Call Connecting
-On: 2011-10-20 13:07:11.343479 Event: 200
-On: 2011-10-20 13:07:21.394368 Event: Terminate
-On: 2011-10-20 13:07:21.394409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:26.167222 ------------------
-On: 2011-10-20 13:07:26.187436 Event: try to Connect to Controller
-On: 2011-10-20 13:07:27.478650 Event: init state
-On: 2011-10-20 13:07:27.478904 Event: Register Account to SIP server
-On: 2011-10-20 13:07:27.479320 Event: 100
-On: 2011-10-20 13:07:27.479408 Event: Caller Handler Ready
-On: 2011-10-20 13:07:32.492945 Event: CALL START
-On: 2011-10-20 13:07:32.493003 Event: Make a call to: 015252423662
-On: 2011-10-20 13:07:34.222889 Event: Call Connecting
-On: 2011-10-20 13:07:34.222936 Event: 200
-On: 2011-10-20 13:07:44.485979 Event: Terminate
-On: 2011-10-20 13:07:44.486023 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:07:49.267054 ------------------
-On: 2011-10-20 13:07:49.286956 Event: try to Connect to Controller
-On: 2011-10-20 13:07:50.561241 Event: init state
-On: 2011-10-20 13:07:50.561489 Event: Register Account to SIP server
-On: 2011-10-20 13:07:50.562113 Event: 100
-On: 2011-10-20 13:07:50.562210 Event: Caller Handler Ready
-On: 2011-10-20 13:08:00.583686 Event: CALL START
-On: 2011-10-20 13:08:00.583743 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:08:00.599846 Event: Number busy or Offline
-On: 2011-10-20 13:08:00.599950 Event: CALL NOT OK
-On: 2011-10-20 13:08:00.600011 Event: Call Disconnected
-On: 2011-10-20 13:08:12.580691 Event: Terminate
-On: 2011-10-20 13:08:12.580735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:08:17.313551 ------------------
-On: 2011-10-20 13:08:17.334024 Event: try to Connect to Controller
-On: 2011-10-20 13:08:18.622725 Event: init state
-On: 2011-10-20 13:08:18.622974 Event: Register Account to SIP server
-On: 2011-10-20 13:08:18.623388 Event: 100
-On: 2011-10-20 13:08:18.623474 Event: Caller Handler Ready
-On: 2011-10-20 13:08:28.644384 Event: CALL START
-On: 2011-10-20 13:08:28.644438 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:08:28.697482 Event: Number busy or Offline
-On: 2011-10-20 13:08:28.697589 Event: CALL NOT OK
-On: 2011-10-20 13:08:28.697648 Event: Call Disconnected
-On: 2011-10-20 13:08:40.641946 Event: Terminate
-On: 2011-10-20 13:08:40.641991 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:17:32.849517 ------------------
-On: 2011-10-20 13:17:32.870777 Event: try to Connect to Controller
-On: 2011-10-20 13:17:34.160657 Event: init state
-On: 2011-10-20 13:17:34.160901 Event: Register Account to SIP server
-On: 2011-10-20 13:17:34.161680 Event: 100
-On: 2011-10-20 13:17:34.162295 Event: Receiver Handler Ready
-On: 2011-10-20 13:17:34.162398 Event: RECEIVE START
-On: 2011-10-20 13:17:36.043783 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:17:36.044281 Event: Call Connecting
-On: 2011-10-20 13:17:36.044322 Event: 200
-On: 2011-10-20 13:17:36.044574 Event: Answer call
-On: 2011-10-20 13:17:36.044627 Event: Hangup call
-On: 2011-10-20 13:17:36.044803 Event: CALL OK
-On: 2011-10-20 13:17:36.095486 Event: Call Disconnected
-On: 2011-10-20 13:17:37.487129 Event: Terminate
-On: 2011-10-20 13:17:37.487183 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:17:42.221481 ------------------
-On: 2011-10-20 13:17:42.242270 Event: try to Connect to Controller
-On: 2011-10-20 13:17:43.533332 Event: init state
-On: 2011-10-20 13:17:43.533576 Event: Register Account to SIP server
-On: 2011-10-20 13:17:43.534205 Event: 100
-On: 2011-10-20 13:17:43.534302 Event: Caller Handler Ready
-On: 2011-10-20 13:17:48.545598 Event: CALL START
-On: 2011-10-20 13:17:48.545655 Event: Make a call to: 015782677224
-On: 2011-10-20 13:17:50.074064 Event: Call Connecting
-On: 2011-10-20 13:17:50.074112 Event: 200
-On: 2011-10-20 13:18:00.539899 Event: Terminate
-On: 2011-10-20 13:18:00.539940 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:05.328634 ------------------
-On: 2011-10-20 13:18:05.348886 Event: try to Connect to Controller
-On: 2011-10-20 13:18:06.622993 Event: init state
-On: 2011-10-20 13:18:06.623521 Event: Register Account to SIP server
-On: 2011-10-20 13:18:06.623971 Event: 100
-On: 2011-10-20 13:18:06.624060 Event: Caller Handler Ready
-On: 2011-10-20 13:18:11.637222 Event: CALL START
-On: 2011-10-20 13:18:11.637282 Event: Make a call to: 017678038038
-On: 2011-10-20 13:18:13.852087 Event: Call Connecting
-On: 2011-10-20 13:18:13.852134 Event: 200
-On: 2011-10-20 13:18:23.630096 Event: Terminate
-On: 2011-10-20 13:18:23.630138 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:28.464227 ------------------
-On: 2011-10-20 13:18:28.508649 Event: try to Connect to Controller
-On: 2011-10-20 13:18:29.714602 Event: init state
-On: 2011-10-20 13:18:29.714853 Event: Register Account to SIP server
-On: 2011-10-20 13:18:29.715607 Event: 100
-On: 2011-10-20 13:18:29.717967 Event: Caller Handler Ready
-On: 2011-10-20 13:18:34.725734 Event: CALL START
-On: 2011-10-20 13:18:34.725791 Event: Make a call to: 015128040906
-On: 2011-10-20 13:18:36.970939 Event: Call Connecting
-On: 2011-10-20 13:18:36.970987 Event: 200
-On: 2011-10-20 13:18:46.726382 Event: Terminate
-On: 2011-10-20 13:18:46.726424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:18:51.479351 ------------------
-On: 2011-10-20 13:18:51.499392 Event: try to Connect to Controller
-On: 2011-10-20 13:18:52.810728 Event: init state
-On: 2011-10-20 13:18:52.810976 Event: Register Account to SIP server
-On: 2011-10-20 13:18:52.811387 Event: 100
-On: 2011-10-20 13:18:52.811472 Event: Caller Handler Ready
-On: 2011-10-20 13:18:57.824846 Event: CALL START
-On: 2011-10-20 13:18:57.824902 Event: Make a call to: 07612034661449
-On: 2011-10-20 13:18:57.849387 Event: Number busy or Offline
-On: 2011-10-20 13:18:57.849489 Event: CALL NOT OK
-On: 2011-10-20 13:18:57.849548 Event: Call Disconnected
-On: 2011-10-20 13:19:09.822369 Event: Terminate
-On: 2011-10-20 13:19:09.822409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:19:14.582692 ------------------
-On: 2011-10-20 13:19:14.603152 Event: try to Connect to Controller
-On: 2011-10-20 13:19:15.899727 Event: init state
-On: 2011-10-20 13:19:15.899975 Event: Register Account to SIP server
-On: 2011-10-20 13:19:15.900390 Event: 100
-On: 2011-10-20 13:19:15.900476 Event: Caller Handler Ready
-On: 2011-10-20 13:19:25.917733 Event: CALL START
-On: 2011-10-20 13:19:25.917789 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:19:25.965504 Event: Number busy or Offline
-On: 2011-10-20 13:19:25.965606 Event: CALL NOT OK
-On: 2011-10-20 13:19:25.965665 Event: Call Disconnected
-On: 2011-10-20 13:19:37.917437 Event: Terminate
-On: 2011-10-20 13:19:37.917481 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:21.772059 ------------------
-On: 2011-10-20 13:35:21.792391 Event: try to Connect to Controller
-On: 2011-10-20 13:35:23.065870 Event: init state
-On: 2011-10-20 13:35:23.066109 Event: Register Account to SIP server
-On: 2011-10-20 13:35:23.066525 Event: 100
-On: 2011-10-20 13:35:23.066610 Event: Receiver Handler Ready
-On: 2011-10-20 13:35:23.066879 Event: RECEIVE START
-On: 2011-10-20 13:35:25.121809 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 13:35:25.122323 Event: Call Connecting
-On: 2011-10-20 13:35:25.122364 Event: 200
-On: 2011-10-20 13:35:25.122616 Event: Answer call
-On: 2011-10-20 13:35:25.122667 Event: Hangup call
-On: 2011-10-20 13:35:25.122844 Event: CALL OK
-On: 2011-10-20 13:35:25.173530 Event: Call Disconnected
-On: 2011-10-20 13:35:26.502707 Event: Terminate
-On: 2011-10-20 13:35:26.502751 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:31.371328 ------------------
-On: 2011-10-20 13:35:31.405687 Event: try to Connect to Controller
-On: 2011-10-20 13:35:32.549400 Event: init state
-On: 2011-10-20 13:35:32.549635 Event: Register Account to SIP server
-On: 2011-10-20 13:35:32.550109 Event: 100
-On: 2011-10-20 13:35:32.550199 Event: Caller Handler Ready
-On: 2011-10-20 13:35:37.558034 Event: CALL START
-On: 2011-10-20 13:35:37.558090 Event: Make a call to: 017678038038
-On: 2011-10-20 13:35:40.067110 Event: Call Connecting
-On: 2011-10-20 13:35:40.067159 Event: 200
-On: 2011-10-20 13:35:49.555669 Event: Terminate
-On: 2011-10-20 13:35:49.555710 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:35:54.394984 ------------------
-On: 2011-10-20 13:35:54.442549 Event: try to Connect to Controller
-On: 2011-10-20 13:35:55.638384 Event: init state
-On: 2011-10-20 13:35:55.638908 Event: Register Account to SIP server
-On: 2011-10-20 13:35:55.639355 Event: 100
-On: 2011-10-20 13:35:55.639443 Event: Caller Handler Ready
-On: 2011-10-20 13:36:00.648947 Event: CALL START
-On: 2011-10-20 13:36:00.648997 Event: Make a call to: 015128040906
-On: 2011-10-20 13:36:02.886941 Event: Call Connecting
-On: 2011-10-20 13:36:02.886989 Event: 200
-On: 2011-10-20 13:36:12.644162 Event: Terminate
-On: 2011-10-20 13:36:12.644202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:36:17.447718 ------------------
-On: 2011-10-20 13:36:17.468050 Event: try to Connect to Controller
-On: 2011-10-20 13:36:18.726742 Event: init state
-On: 2011-10-20 13:36:18.726965 Event: Register Account to SIP server
-On: 2011-10-20 13:36:18.727375 Event: 100
-On: 2011-10-20 13:36:18.727460 Event: Caller Handler Ready
-On: 2011-10-20 13:36:23.740910 Event: CALL START
-On: 2011-10-20 13:36:23.740958 Event: Make a call to: 015252423662
-On: 2011-10-20 13:36:25.762052 Event: Call Connecting
-On: 2011-10-20 13:36:25.762101 Event: 200
-On: 2011-10-20 13:36:35.734008 Event: Terminate
-On: 2011-10-20 13:36:35.734048 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:36:40.638540 ------------------
-On: 2011-10-20 13:36:40.660789 Event: try to Connect to Controller
-On: 2011-10-20 13:36:41.809421 Event: init state
-On: 2011-10-20 13:36:41.809651 Event: Register Account to SIP server
-On: 2011-10-20 13:36:41.810612 Event: 100
-On: 2011-10-20 13:36:41.810708 Event: Caller Handler Ready
-On: 2011-10-20 13:36:51.832623 Event: CALL START
-On: 2011-10-20 13:36:51.832680 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:36:51.872455 Event: Number busy or Offline
-On: 2011-10-20 13:36:51.872558 Event: CALL NOT OK
-On: 2011-10-20 13:36:51.872618 Event: Call Disconnected
-On: 2011-10-20 13:37:03.830088 Event: Terminate
-On: 2011-10-20 13:37:03.830135 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:37:08.615447 ------------------
-On: 2011-10-20 13:37:08.636034 Event: try to Connect to Controller
-On: 2011-10-20 13:37:09.889008 Event: init state
-On: 2011-10-20 13:37:09.889254 Event: Register Account to SIP server
-On: 2011-10-20 13:37:09.890228 Event: 100
-On: 2011-10-20 13:37:09.892653 Event: Caller Handler Ready
-On: 2011-10-20 13:37:19.909776 Event: CALL START
-On: 2011-10-20 13:37:19.909846 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:37:19.959848 Event: Number busy or Offline
-On: 2011-10-20 13:37:19.960029 Event: CALL NOT OK
-On: 2011-10-20 13:37:19.960093 Event: Call Disconnected
-On: 2011-10-20 13:37:31.908329 Event: Terminate
-On: 2011-10-20 13:37:31.908386 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:13.032607 ------------------
-On: 2011-10-20 13:53:13.053004 Event: try to Connect to Controller
-On: 2011-10-20 13:53:14.341352 Event: init state
-On: 2011-10-20 13:53:14.341599 Event: Register Account to SIP server
-On: 2011-10-20 13:53:14.342192 Event: 100
-On: 2011-10-20 13:53:14.342288 Event: Receiver Handler Ready
-On: 2011-10-20 13:53:14.342716 Event: RECEIVE START
-On: 2011-10-20 13:53:16.380196 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 13:53:16.380692 Event: Call Connecting
-On: 2011-10-20 13:53:16.380730 Event: 200
-On: 2011-10-20 13:53:16.380983 Event: Answer call
-On: 2011-10-20 13:53:16.381036 Event: Hangup call
-On: 2011-10-20 13:53:16.381213 Event: CALL OK
-On: 2011-10-20 13:53:16.431893 Event: Call Disconnected
-On: 2011-10-20 13:53:17.668206 Event: Terminate
-On: 2011-10-20 13:53:17.668263 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:22.396456 ------------------
-On: 2011-10-20 13:53:22.417163 Event: try to Connect to Controller
-On: 2011-10-20 13:53:23.715123 Event: init state
-On: 2011-10-20 13:53:23.715376 Event: Register Account to SIP server
-On: 2011-10-20 13:53:23.715790 Event: 100
-On: 2011-10-20 13:53:23.715876 Event: Caller Handler Ready
-On: 2011-10-20 13:53:28.728905 Event: CALL START
-On: 2011-10-20 13:53:28.728963 Event: Make a call to: 015782677224
-On: 2011-10-20 13:53:30.964379 Event: Call Connecting
-On: 2011-10-20 13:53:30.964428 Event: 200
-On: 2011-10-20 13:53:40.722729 Event: Terminate
-On: 2011-10-20 13:53:40.722769 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:53:45.500470 ------------------
-On: 2011-10-20 13:53:45.520504 Event: try to Connect to Controller
-On: 2011-10-20 13:53:46.807239 Event: init state
-On: 2011-10-20 13:53:46.807585 Event: Register Account to SIP server
-On: 2011-10-20 13:53:46.808371 Event: 100
-On: 2011-10-20 13:53:46.809871 Event: Caller Handler Ready
-On: 2011-10-20 13:53:51.817735 Event: CALL START
-On: 2011-10-20 13:53:51.817791 Event: Make a call to: 017678038038
-On: 2011-10-20 13:53:54.066839 Event: Call Connecting
-On: 2011-10-20 13:53:54.066888 Event: 200
-On: 2011-10-20 13:54:03.815292 Event: Terminate
-On: 2011-10-20 13:54:03.815334 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:08.595584 ------------------
-On: 2011-10-20 13:54:08.616150 Event: try to Connect to Controller
-On: 2011-10-20 13:54:09.902684 Event: init state
-On: 2011-10-20 13:54:09.902940 Event: Register Account to SIP server
-On: 2011-10-20 13:54:09.903356 Event: 100
-On: 2011-10-20 13:54:09.903442 Event: Caller Handler Ready
-On: 2011-10-20 13:54:14.916043 Event: CALL START
-On: 2011-10-20 13:54:14.916100 Event: Make a call to: 015128040906
-On: 2011-10-20 13:54:16.908001 Event: Call Connecting
-On: 2011-10-20 13:54:16.908049 Event: 200
-On: 2011-10-20 13:54:26.910011 Event: Terminate
-On: 2011-10-20 13:54:26.910053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:31.698547 ------------------
-On: 2011-10-20 13:54:31.720641 Event: try to Connect to Controller
-On: 2011-10-20 13:54:32.974634 Event: init state
-On: 2011-10-20 13:54:32.974877 Event: Register Account to SIP server
-On: 2011-10-20 13:54:32.975295 Event: 100
-On: 2011-10-20 13:54:32.975380 Event: Caller Handler Ready
-On: 2011-10-20 13:54:42.994107 Event: CALL START
-On: 2011-10-20 13:54:42.994163 Event: Make a call to: 07612034661447
-On: 2011-10-20 13:54:43.036611 Event: Number busy or Offline
-On: 2011-10-20 13:54:43.036716 Event: CALL NOT OK
-On: 2011-10-20 13:54:43.036777 Event: Call Disconnected
-On: 2011-10-20 13:54:54.991567 Event: Terminate
-On: 2011-10-20 13:54:54.991611 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:54:59.811560 ------------------
-On: 2011-10-20 13:54:59.859998 Event: try to Connect to Controller
-On: 2011-10-20 13:55:01.036854 Event: init state
-On: 2011-10-20 13:55:01.037093 Event: Register Account to SIP server
-On: 2011-10-20 13:55:01.037515 Event: 100
-On: 2011-10-20 13:55:01.037601 Event: Caller Handler Ready
-On: 2011-10-20 13:55:06.045740 Event: CALL START
-On: 2011-10-20 13:55:06.045798 Event: Make a call to: 015252423662
-On: 2011-10-20 13:55:08.061292 Event: Call Connecting
-On: 2011-10-20 13:55:08.061338 Event: 200
-On: 2011-10-20 13:55:18.043180 Event: Terminate
-On: 2011-10-20 13:55:18.043223 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:55:22.836143 ------------------
-On: 2011-10-20 13:55:22.857601 Event: try to Connect to Controller
-On: 2011-10-20 13:55:24.126747 Event: init state
-On: 2011-10-20 13:55:24.126999 Event: Register Account to SIP server
-On: 2011-10-20 13:55:24.127777 Event: 100
-On: 2011-10-20 13:55:24.129788 Event: Caller Handler Ready
-On: 2011-10-20 13:55:29.140831 Event: CALL START
-On: 2011-10-20 13:55:29.140887 Event: Make a call to: 07612034661449
-On: 2011-10-20 13:55:29.158094 Event: Number busy or Offline
-On: 2011-10-20 13:55:29.158197 Event: CALL NOT OK
-On: 2011-10-20 13:55:29.158256 Event: Call Disconnected
-On: 2011-10-20 13:55:41.134702 Event: Terminate
-On: 2011-10-20 13:55:41.134743 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:55:45.895496 ------------------
-On: 2011-10-20 13:55:45.915630 Event: try to Connect to Controller
-On: 2011-10-20 13:55:47.214296 Event: init state
-On: 2011-10-20 13:55:47.214551 Event: Register Account to SIP server
-On: 2011-10-20 13:55:47.214970 Event: 100
-On: 2011-10-20 13:55:47.215068 Event: Caller Handler Ready
-On: 2011-10-20 13:55:57.235432 Event: CALL START
-On: 2011-10-20 13:55:57.235491 Event: Make a call to: 07612034661455
-On: 2011-10-20 13:55:57.282200 Event: Number busy or Offline
-On: 2011-10-20 13:55:57.282306 Event: CALL NOT OK
-On: 2011-10-20 13:55:57.282366 Event: Call Disconnected
-On: 2011-10-20 13:56:09.234831 Event: Terminate
-On: 2011-10-20 13:56:09.234888 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:56:13.997225 ------------------
-On: 2011-10-20 13:56:14.017948 Event: try to Connect to Controller
-On: 2011-10-20 13:56:15.281047 Event: init state
-On: 2011-10-20 13:56:15.281292 Event: Register Account to SIP server
-On: 2011-10-20 13:56:15.281763 Event: 100
-On: 2011-10-20 13:56:15.281852 Event: Caller Handler Ready
-On: 2011-10-20 13:56:20.296818 Event: CALL START
-On: 2011-10-20 13:56:20.296875 Event: Make a call to: 015782677224
-On: 2011-10-20 13:56:21.797904 Event: Call Connecting
-On: 2011-10-20 13:56:21.797949 Event: 200
-On: 2011-10-20 13:56:32.292368 Event: Terminate
-On: 2011-10-20 13:56:32.292409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:56:37.131386 ------------------
-On: 2011-10-20 13:56:37.158725 Event: try to Connect to Controller
-On: 2011-10-20 13:56:38.375661 Event: init state
-On: 2011-10-20 13:56:38.375915 Event: Register Account to SIP server
-On: 2011-10-20 13:56:38.376330 Event: 100
-On: 2011-10-20 13:56:38.376417 Event: Caller Handler Ready
-On: 2011-10-20 13:56:43.388813 Event: CALL START
-On: 2011-10-20 13:56:43.388870 Event: Make a call to: 017678038038
-On: 2011-10-20 13:56:45.919484 Event: Call Connecting
-On: 2011-10-20 13:56:45.919531 Event: 200
-On: 2011-10-20 13:56:55.382997 Event: Terminate
-On: 2011-10-20 13:56:55.383036 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:57:00.280291 ------------------
-On: 2011-10-20 13:57:00.300582 Event: try to Connect to Controller
-On: 2011-10-20 13:57:01.472849 Event: init state
-On: 2011-10-20 13:57:01.473086 Event: Register Account to SIP server
-On: 2011-10-20 13:57:01.473500 Event: 100
-On: 2011-10-20 13:57:01.473586 Event: Caller Handler Ready
-On: 2011-10-20 13:57:06.484838 Event: CALL START
-On: 2011-10-20 13:57:06.484894 Event: Make a call to: 015128040906
-On: 2011-10-20 13:57:09.012864 Event: Call Connecting
-On: 2011-10-20 13:57:09.012915 Event: 200
-On: 2011-10-20 13:57:18.479724 Event: Terminate
-On: 2011-10-20 13:57:18.479763 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:21.992048 ------------------
-On: 2011-10-20 14:03:22.012520 Event: try to Connect to Controller
-On: 2011-10-20 14:03:23.322732 Event: init state
-On: 2011-10-20 14:03:23.322983 Event: Register Account to SIP server
-On: 2011-10-20 14:03:23.323399 Event: 100
-On: 2011-10-20 14:03:23.323483 Event: Receiver Handler Ready
-On: 2011-10-20 14:03:23.323899 Event: RECEIVE START
-On: 2011-10-20 14:03:25.135222 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:03:25.135723 Event: Call Connecting
-On: 2011-10-20 14:03:25.135764 Event: 200
-On: 2011-10-20 14:03:25.136021 Event: Answer call
-On: 2011-10-20 14:03:25.136073 Event: Hangup call
-On: 2011-10-20 14:03:25.136247 Event: CALL OK
-On: 2011-10-20 14:03:25.186938 Event: Call Disconnected
-On: 2011-10-20 14:03:26.630417 Event: Terminate
-On: 2011-10-20 14:03:26.630475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:31.337367 ------------------
-On: 2011-10-20 14:03:31.358021 Event: try to Connect to Controller
-On: 2011-10-20 14:03:32.676338 Event: init state
-On: 2011-10-20 14:03:32.676587 Event: Register Account to SIP server
-On: 2011-10-20 14:03:32.677360 Event: 100
-On: 2011-10-20 14:03:32.679957 Event: Caller Handler Ready
-On: 2011-10-20 14:03:37.688817 Event: CALL START
-On: 2011-10-20 14:03:37.688871 Event: Make a call to: 015782677224
-On: 2011-10-20 14:03:39.699899 Event: Call Connecting
-On: 2011-10-20 14:03:39.699946 Event: 200
-On: 2011-10-20 14:03:49.683647 Event: Terminate
-On: 2011-10-20 14:03:49.683689 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:03:54.442319 ------------------
-On: 2011-10-20 14:03:54.462703 Event: try to Connect to Controller
-On: 2011-10-20 14:03:55.766669 Event: init state
-On: 2011-10-20 14:03:55.767173 Event: Register Account to SIP server
-On: 2011-10-20 14:03:55.767959 Event: 100
-On: 2011-10-20 14:03:55.769899 Event: Caller Handler Ready
-On: 2011-10-20 14:04:00.780975 Event: CALL START
-On: 2011-10-20 14:04:00.781032 Event: Make a call to: 017678038038
-On: 2011-10-20 14:04:03.013251 Event: Call Connecting
-On: 2011-10-20 14:04:03.013298 Event: 200
-On: 2011-10-20 14:04:12.774943 Event: Terminate
-On: 2011-10-20 14:04:12.774985 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:04:17.537416 ------------------
-On: 2011-10-20 14:04:17.558067 Event: try to Connect to Controller
-On: 2011-10-20 14:04:18.859438 Event: init state
-On: 2011-10-20 14:04:18.859689 Event: Register Account to SIP server
-On: 2011-10-20 14:04:18.860107 Event: 100
-On: 2011-10-20 14:04:18.860194 Event: Caller Handler Ready
-On: 2011-10-20 14:04:23.872912 Event: CALL START
-On: 2011-10-20 14:04:23.872968 Event: Make a call to: 015252423662
-On: 2011-10-20 14:04:25.642591 Event: Call Connecting
-On: 2011-10-20 14:04:25.642637 Event: 200
-On: 2011-10-20 14:04:35.867066 Event: Terminate
-On: 2011-10-20 14:04:35.867107 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:04:40.630939 ------------------
-On: 2011-10-20 14:04:40.651645 Event: try to Connect to Controller
-On: 2011-10-20 14:04:41.950903 Event: init state
-On: 2011-10-20 14:04:41.951156 Event: Register Account to SIP server
-On: 2011-10-20 14:04:41.951569 Event: 100
-On: 2011-10-20 14:04:41.951656 Event: Caller Handler Ready
-On: 2011-10-20 14:04:46.964808 Event: CALL START
-On: 2011-10-20 14:04:46.964864 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:04:46.998434 Event: Number busy or Offline
-On: 2011-10-20 14:04:46.998535 Event: CALL NOT OK
-On: 2011-10-20 14:04:46.998595 Event: Call Disconnected
-On: 2011-10-20 14:04:58.958303 Event: Terminate
-On: 2011-10-20 14:04:58.958345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:03.720085 ------------------
-On: 2011-10-20 14:05:03.740482 Event: try to Connect to Controller
-On: 2011-10-20 14:05:05.041598 Event: init state
-On: 2011-10-20 14:05:05.042026 Event: Register Account to SIP server
-On: 2011-10-20 14:05:05.042823 Event: 100
-On: 2011-10-20 14:05:05.045277 Event: Caller Handler Ready
-On: 2011-10-20 14:05:10.052951 Event: CALL START
-On: 2011-10-20 14:05:10.053007 Event: Make a call to: 015128040906
-On: 2011-10-20 14:05:13.261127 Event: Call Connecting
-On: 2011-10-20 14:05:13.261174 Event: 200
-On: 2011-10-20 14:05:22.047646 Event: Terminate
-On: 2011-10-20 14:05:22.047687 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:26.803942 ------------------
-On: 2011-10-20 14:05:26.825040 Event: try to Connect to Controller
-On: 2011-10-20 14:05:28.120050 Event: init state
-On: 2011-10-20 14:05:28.120291 Event: Register Account to SIP server
-On: 2011-10-20 14:05:28.120710 Event: 100
-On: 2011-10-20 14:05:28.120796 Event: Caller Handler Ready
-On: 2011-10-20 14:05:38.143738 Event: CALL START
-On: 2011-10-20 14:05:38.143797 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:05:38.186278 Event: Number busy or Offline
-On: 2011-10-20 14:05:38.186380 Event: CALL NOT OK
-On: 2011-10-20 14:05:38.186440 Event: Call Disconnected
-On: 2011-10-20 14:05:50.141108 Event: Terminate
-On: 2011-10-20 14:05:50.141151 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:05:54.855376 ------------------
-On: 2011-10-20 14:05:54.876274 Event: try to Connect to Controller
-On: 2011-10-20 14:05:56.183818 Event: init state
-On: 2011-10-20 14:05:56.184065 Event: Register Account to SIP server
-On: 2011-10-20 14:05:56.184479 Event: 100
-On: 2011-10-20 14:05:56.184565 Event: Caller Handler Ready
-On: 2011-10-20 14:06:06.207834 Event: CALL START
-On: 2011-10-20 14:06:06.207893 Event: Make a call to: 07612034661455
-On: 2011-10-20 14:06:06.241439 Event: Number busy or Offline
-On: 2011-10-20 14:06:06.241545 Event: CALL NOT OK
-On: 2011-10-20 14:06:06.241605 Event: Call Disconnected
-On: 2011-10-20 14:06:18.205246 Event: Terminate
-On: 2011-10-20 14:06:18.205290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:10.941404 ------------------
-On: 2011-10-20 14:10:10.961917 Event: try to Connect to Controller
-On: 2011-10-20 14:10:12.263115 Event: init state
-On: 2011-10-20 14:10:12.263363 Event: Register Account to SIP server
-On: 2011-10-20 14:10:12.263786 Event: 100
-On: 2011-10-20 14:10:12.263871 Event: Receiver Handler Ready
-On: 2011-10-20 14:10:12.264280 Event: RECEIVE START
-On: 2011-10-20 14:10:15.160702 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:10:15.161197 Event: Call Connecting
-On: 2011-10-20 14:10:15.161238 Event: 200
-On: 2011-10-20 14:10:15.161581 Event: Answer call
-On: 2011-10-20 14:10:15.161650 Event: Hangup call
-On: 2011-10-20 14:10:15.162045 Event: CALL OK
-On: 2011-10-20 14:10:15.212804 Event: Call Disconnected
-On: 2011-10-20 14:10:16.084642 Event: Terminate
-On: 2011-10-20 14:10:16.084694 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:20.801174 ------------------
-On: 2011-10-20 14:10:20.822753 Event: try to Connect to Controller
-On: 2011-10-20 14:10:22.130100 Event: init state
-On: 2011-10-20 14:10:22.130352 Event: Register Account to SIP server
-On: 2011-10-20 14:10:22.130760 Event: 100
-On: 2011-10-20 14:10:22.130840 Event: Caller Handler Ready
-On: 2011-10-20 14:10:27.140827 Event: CALL START
-On: 2011-10-20 14:10:27.140883 Event: Make a call to: 015782677224
-On: 2011-10-20 14:10:29.316718 Event: Call Connecting
-On: 2011-10-20 14:10:29.316764 Event: 200
-On: 2011-10-20 14:10:39.135669 Event: Terminate
-On: 2011-10-20 14:10:39.135711 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:10:43.897591 ------------------
-On: 2011-10-20 14:10:43.918031 Event: try to Connect to Controller
-On: 2011-10-20 14:10:45.219116 Event: init state
-On: 2011-10-20 14:10:45.219642 Event: Register Account to SIP server
-On: 2011-10-20 14:10:45.220440 Event: 100
-On: 2011-10-20 14:10:45.221936 Event: Caller Handler Ready
-On: 2011-10-20 14:10:50.232942 Event: CALL START
-On: 2011-10-20 14:10:50.232997 Event: Make a call to: 017678038038
-On: 2011-10-20 14:10:52.260507 Event: Call Connecting
-On: 2011-10-20 14:10:52.260553 Event: 200
-On: 2011-10-20 14:11:02.227167 Event: Terminate
-On: 2011-10-20 14:11:02.227207 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:06.994882 ------------------
-On: 2011-10-20 14:11:07.015205 Event: try to Connect to Controller
-On: 2011-10-20 14:11:08.311352 Event: init state
-On: 2011-10-20 14:11:08.311605 Event: Register Account to SIP server
-On: 2011-10-20 14:11:08.312024 Event: 100
-On: 2011-10-20 14:11:08.312108 Event: Caller Handler Ready
-On: 2011-10-20 14:11:13.320958 Event: CALL START
-On: 2011-10-20 14:11:13.321014 Event: Make a call to: 015252423662
-On: 2011-10-20 14:11:15.816509 Event: Call Connecting
-On: 2011-10-20 14:11:15.816556 Event: 200
-On: 2011-10-20 14:11:25.316697 Event: Terminate
-On: 2011-10-20 14:11:25.316739 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:30.070261 ------------------
-On: 2011-10-20 14:11:30.090444 Event: try to Connect to Controller
-On: 2011-10-20 14:11:31.398949 Event: init state
-On: 2011-10-20 14:11:31.399200 Event: Register Account to SIP server
-On: 2011-10-20 14:11:31.399618 Event: 100
-On: 2011-10-20 14:11:31.399700 Event: Caller Handler Ready
-On: 2011-10-20 14:11:36.410614 Event: CALL START
-On: 2011-10-20 14:11:36.410669 Event: Make a call to: 015128040906
-On: 2011-10-20 14:11:38.893115 Event: Call Connecting
-On: 2011-10-20 14:11:38.893162 Event: 200
-On: 2011-10-20 14:11:48.406321 Event: Terminate
-On: 2011-10-20 14:11:48.406363 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:11:53.172009 ------------------
-On: 2011-10-20 14:11:53.192293 Event: try to Connect to Controller
-On: 2011-10-20 14:11:54.478769 Event: init state
-On: 2011-10-20 14:11:54.479009 Event: Register Account to SIP server
-On: 2011-10-20 14:11:54.479431 Event: 100
-On: 2011-10-20 14:11:54.479516 Event: Caller Handler Ready
-On: 2011-10-20 14:12:04.497627 Event: CALL START
-On: 2011-10-20 14:12:04.497682 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:12:06.037669 Event: Call Connecting
-On: 2011-10-20 14:12:06.037878 Event: 200
-On: 2011-10-20 14:12:06.223800 Event: Terminate
-On: 2011-10-20 14:12:06.223858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:15:54.608428 ------------------
-On: 2011-10-20 14:15:54.628604 Event: try to Connect to Controller
-On: 2011-10-20 14:15:55.938620 Event: init state
-On: 2011-10-20 14:15:55.938869 Event: Register Account to SIP server
-On: 2011-10-20 14:15:55.939650 Event: 100
-On: 2011-10-20 14:15:55.939736 Event: Receiver Handler Ready
-On: 2011-10-20 14:15:55.940144 Event: RECEIVE START
-On: 2011-10-20 14:15:57.905443 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:15:57.906177 Event: Call Connecting
-On: 2011-10-20 14:15:57.906227 Event: 200
-On: 2011-10-20 14:15:57.906478 Event: Answer call
-On: 2011-10-20 14:15:57.906532 Event: Hangup call
-On: 2011-10-20 14:15:57.906711 Event: CALL OK
-On: 2011-10-20 14:15:57.957377 Event: Call Disconnected
-On: 2011-10-20 14:15:59.286512 Event: Terminate
-On: 2011-10-20 14:15:59.286570 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:04.004681 ------------------
-On: 2011-10-20 14:16:04.025106 Event: try to Connect to Controller
-On: 2011-10-20 14:16:05.331806 Event: init state
-On: 2011-10-20 14:16:05.332058 Event: Register Account to SIP server
-On: 2011-10-20 14:16:05.332474 Event: 100
-On: 2011-10-20 14:16:05.332562 Event: Caller Handler Ready
-On: 2011-10-20 14:16:10.344633 Event: CALL START
-On: 2011-10-20 14:16:10.344689 Event: Make a call to: 015782677224
-On: 2011-10-20 14:16:12.061380 Event: Call Connecting
-On: 2011-10-20 14:16:12.061428 Event: 200
-On: 2011-10-20 14:16:22.339185 Event: Terminate
-On: 2011-10-20 14:16:22.339225 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:27.110322 ------------------
-On: 2011-10-20 14:16:27.130475 Event: try to Connect to Controller
-On: 2011-10-20 14:16:28.423306 Event: init state
-On: 2011-10-20 14:16:28.423828 Event: Register Account to SIP server
-On: 2011-10-20 14:16:28.424355 Event: 100
-On: 2011-10-20 14:16:28.424444 Event: Caller Handler Ready
-On: 2011-10-20 14:16:33.435001 Event: CALL START
-On: 2011-10-20 14:16:33.435060 Event: Make a call to: 017678038038
-On: 2011-10-20 14:16:35.178741 Event: Call Connecting
-On: 2011-10-20 14:16:35.178790 Event: 200
-On: 2011-10-20 14:16:45.431843 Event: Terminate
-On: 2011-10-20 14:16:45.431885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:16:50.251277 ------------------
-On: 2011-10-20 14:16:50.271599 Event: try to Connect to Controller
-On: 2011-10-20 14:16:51.514717 Event: init state
-On: 2011-10-20 14:16:51.514967 Event: Register Account to SIP server
-On: 2011-10-20 14:16:51.515708 Event: 100
-On: 2011-10-20 14:16:51.515797 Event: Caller Handler Ready
-On: 2011-10-20 14:16:56.528911 Event: CALL START
-On: 2011-10-20 14:16:56.528969 Event: Make a call to: 015252423662
-On: 2011-10-20 14:16:58.767184 Event: Call Connecting
-On: 2011-10-20 14:16:58.767232 Event: 200
-On: 2011-10-20 14:17:08.522573 Event: Terminate
-On: 2011-10-20 14:17:08.522614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:17:13.348318 ------------------
-On: 2011-10-20 14:17:13.368834 Event: try to Connect to Controller
-On: 2011-10-20 14:17:14.606967 Event: init state
-On: 2011-10-20 14:17:14.607218 Event: Register Account to SIP server
-On: 2011-10-20 14:17:14.607993 Event: 100
-On: 2011-10-20 14:17:14.609921 Event: Caller Handler Ready
-On: 2011-10-20 14:17:19.620811 Event: CALL START
-On: 2011-10-20 14:17:19.620863 Event: Make a call to: 015128040906
-On: 2011-10-20 14:17:21.405893 Event: Call Connecting
-On: 2011-10-20 14:17:21.405940 Event: 200
-On: 2011-10-20 14:17:31.614835 Event: Terminate
-On: 2011-10-20 14:17:31.614875 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:17:36.431142 ------------------
-On: 2011-10-20 14:17:36.451057 Event: try to Connect to Controller
-On: 2011-10-20 14:17:37.687912 Event: init state
-On: 2011-10-20 14:17:37.688162 Event: Register Account to SIP server
-On: 2011-10-20 14:17:37.688580 Event: 100
-On: 2011-10-20 14:17:37.688667 Event: Caller Handler Ready
-On: 2011-10-20 14:17:47.707143 Event: CALL START
-On: 2011-10-20 14:17:47.707200 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:17:49.703318 Event: Call Connecting
-On: 2011-10-20 14:17:49.703367 Event: 200
-On: 2011-10-20 14:17:49.902936 Event: Terminate
-On: 2011-10-20 14:17:49.902994 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:25.667570 ------------------
-On: 2011-10-20 14:21:25.687932 Event: try to Connect to Controller
-On: 2011-10-20 14:21:27.003880 Event: init state
-On: 2011-10-20 14:21:27.004130 Event: Register Account to SIP server
-On: 2011-10-20 14:21:27.004548 Event: 100
-On: 2011-10-20 14:21:27.004633 Event: Receiver Handler Ready
-On: 2011-10-20 14:21:27.005050 Event: RECEIVE START
-On: 2011-10-20 14:21:29.068422 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:21:29.068918 Event: Call Connecting
-On: 2011-10-20 14:21:29.068957 Event: 200
-On: 2011-10-20 14:21:29.069200 Event: Answer call
-On: 2011-10-20 14:21:29.069252 Event: Hangup call
-On: 2011-10-20 14:21:29.069426 Event: CALL OK
-On: 2011-10-20 14:21:29.120115 Event: Call Disconnected
-On: 2011-10-20 14:21:30.451746 Event: Terminate
-On: 2011-10-20 14:21:30.451802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:35.315159 ------------------
-On: 2011-10-20 14:21:35.338508 Event: try to Connect to Controller
-On: 2011-10-20 14:21:36.519565 Event: init state
-On: 2011-10-20 14:21:36.519807 Event: Register Account to SIP server
-On: 2011-10-20 14:21:36.520585 Event: 100
-On: 2011-10-20 14:21:36.520669 Event: Caller Handler Ready
-On: 2011-10-20 14:21:41.542356 Event: CALL START
-On: 2011-10-20 14:21:41.542410 Event: Make a call to: 015782677224
-On: 2011-10-20 14:21:44.050882 Event: Call Connecting
-On: 2011-10-20 14:21:44.050927 Event: 200
-On: 2011-10-20 14:21:53.537821 Event: Terminate
-On: 2011-10-20 14:21:53.537864 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:21:58.299434 ------------------
-On: 2011-10-20 14:21:58.319798 Event: try to Connect to Controller
-On: 2011-10-20 14:21:59.622701 Event: init state
-On: 2011-10-20 14:21:59.623240 Event: Register Account to SIP server
-On: 2011-10-20 14:21:59.623683 Event: 100
-On: 2011-10-20 14:21:59.623768 Event: Caller Handler Ready
-On: 2011-10-20 14:22:04.636899 Event: CALL START
-On: 2011-10-20 14:22:04.636951 Event: Make a call to: 017678038038
-On: 2011-10-20 14:22:06.918066 Event: Call Connecting
-On: 2011-10-20 14:22:06.918116 Event: 200
-On: 2011-10-20 14:22:16.630513 Event: Terminate
-On: 2011-10-20 14:22:16.630556 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:22:21.386830 ------------------
-On: 2011-10-20 14:22:21.406682 Event: try to Connect to Controller
-On: 2011-10-20 14:22:22.714508 Event: init state
-On: 2011-10-20 14:22:22.714755 Event: Register Account to SIP server
-On: 2011-10-20 14:22:22.715168 Event: 100
-On: 2011-10-20 14:22:22.715254 Event: Caller Handler Ready
-On: 2011-10-20 14:22:27.724955 Event: CALL START
-On: 2011-10-20 14:22:27.725017 Event: Make a call to: 015128040906
-On: 2011-10-20 14:22:30.261824 Event: Call Connecting
-On: 2011-10-20 14:22:30.261871 Event: 200
-On: 2011-10-20 14:22:39.719650 Event: Terminate
-On: 2011-10-20 14:22:39.719692 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:22:44.480592 ------------------
-On: 2011-10-20 14:22:44.500792 Event: try to Connect to Controller
-On: 2011-10-20 14:22:45.801360 Event: init state
-On: 2011-10-20 14:22:45.801599 Event: Register Account to SIP server
-On: 2011-10-20 14:22:45.802068 Event: 100
-On: 2011-10-20 14:22:45.802160 Event: Caller Handler Ready
-On: 2011-10-20 14:22:50.809733 Event: CALL START
-On: 2011-10-20 14:22:50.809787 Event: Make a call to: 015252423662
-On: 2011-10-20 14:22:52.790598 Event: Call Connecting
-On: 2011-10-20 14:22:52.790645 Event: 200
-On: 2011-10-20 14:23:02.807648 Event: Terminate
-On: 2011-10-20 14:23:02.807691 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:23.367145 ------------------
-On: 2011-10-20 14:26:23.387530 Event: try to Connect to Controller
-On: 2011-10-20 14:26:24.696779 Event: init state
-On: 2011-10-20 14:26:24.697032 Event: Register Account to SIP server
-On: 2011-10-20 14:26:24.697455 Event: 100
-On: 2011-10-20 14:26:24.697541 Event: Receiver Handler Ready
-On: 2011-10-20 14:26:24.698141 Event: RECEIVE START
-On: 2011-10-20 14:26:26.818817 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:26:26.819370 Event: Call Connecting
-On: 2011-10-20 14:26:26.819417 Event: 200
-On: 2011-10-20 14:26:26.819660 Event: Answer call
-On: 2011-10-20 14:26:26.819710 Event: Hangup call
-On: 2011-10-20 14:26:26.819883 Event: CALL OK
-On: 2011-10-20 14:26:26.870568 Event: Call Disconnected
-On: 2011-10-20 14:26:28.014809 Event: Terminate
-On: 2011-10-20 14:26:28.014866 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:32.735457 ------------------
-On: 2011-10-20 14:26:32.756069 Event: try to Connect to Controller
-On: 2011-10-20 14:26:34.058672 Event: init state
-On: 2011-10-20 14:26:34.058918 Event: Register Account to SIP server
-On: 2011-10-20 14:26:34.059336 Event: 100
-On: 2011-10-20 14:26:34.059422 Event: Caller Handler Ready
-On: 2011-10-20 14:26:39.068828 Event: CALL START
-On: 2011-10-20 14:26:39.068885 Event: Make a call to: 015782677224
-On: 2011-10-20 14:26:40.791667 Event: Call Connecting
-On: 2011-10-20 14:26:40.791714 Event: 200
-On: 2011-10-20 14:26:51.063643 Event: Terminate
-On: 2011-10-20 14:26:51.063684 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:26:55.827417 ------------------
-On: 2011-10-20 14:26:55.847672 Event: try to Connect to Controller
-On: 2011-10-20 14:26:57.146506 Event: init state
-On: 2011-10-20 14:26:57.147034 Event: Register Account to SIP server
-On: 2011-10-20 14:26:57.147477 Event: 100
-On: 2011-10-20 14:26:57.147563 Event: Caller Handler Ready
-On: 2011-10-20 14:27:02.160800 Event: CALL START
-On: 2011-10-20 14:27:02.160854 Event: Make a call to: 017678038038
-On: 2011-10-20 14:27:04.754189 Event: Call Connecting
-On: 2011-10-20 14:27:04.754237 Event: 200
-On: 2011-10-20 14:27:14.153960 Event: Terminate
-On: 2011-10-20 14:27:14.154002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:27:18.983272 ------------------
-On: 2011-10-20 14:27:19.003927 Event: try to Connect to Controller
-On: 2011-10-20 14:27:20.235773 Event: init state
-On: 2011-10-20 14:27:20.236019 Event: Register Account to SIP server
-On: 2011-10-20 14:27:20.236431 Event: 100
-On: 2011-10-20 14:27:20.236516 Event: Caller Handler Ready
-On: 2011-10-20 14:27:25.243796 Event: CALL START
-On: 2011-10-20 14:27:25.243852 Event: Make a call to: 015128040906
-On: 2011-10-20 14:27:27.453177 Event: Call Connecting
-On: 2011-10-20 14:27:27.453227 Event: 200
-On: 2011-10-20 14:27:37.243007 Event: Terminate
-On: 2011-10-20 14:27:37.243047 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:27:41.988735 ------------------
-On: 2011-10-20 14:27:42.009090 Event: try to Connect to Controller
-On: 2011-10-20 14:27:43.312911 Event: init state
-On: 2011-10-20 14:27:43.313164 Event: Register Account to SIP server
-On: 2011-10-20 14:27:43.313583 Event: 100
-On: 2011-10-20 14:27:43.313668 Event: Caller Handler Ready
-On: 2011-10-20 14:27:53.335135 Event: CALL START
-On: 2011-10-20 14:27:53.335193 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:27:55.825594 Event: Call Connecting
-On: 2011-10-20 14:27:55.825645 Event: 200
-On: 2011-10-20 14:27:56.031579 Event: Terminate
-On: 2011-10-20 14:27:56.031635 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:00.743623 ------------------
-On: 2011-10-20 14:28:00.764113 Event: try to Connect to Controller
-On: 2011-10-20 14:28:02.078181 Event: init state
-On: 2011-10-20 14:28:02.078439 Event: Register Account to SIP server
-On: 2011-10-20 14:28:02.078854 Event: 100
-On: 2011-10-20 14:28:02.078940 Event: Caller Handler Ready
-On: 2011-10-20 14:28:07.088842 Event: CALL START
-On: 2011-10-20 14:28:07.088904 Event: Make a call to: 015252423662
-On: 2011-10-20 14:28:09.567641 Event: Call Connecting
-On: 2011-10-20 14:28:09.567689 Event: 200
-On: 2011-10-20 14:28:19.083636 Event: Terminate
-On: 2011-10-20 14:28:19.083677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:28:23.848794 ------------------
-On: 2011-10-20 14:28:23.869178 Event: try to Connect to Controller
-On: 2011-10-20 14:28:25.166349 Event: init state
-On: 2011-10-20 14:28:25.166601 Event: Register Account to SIP server
-On: 2011-10-20 14:28:25.167017 Event: 100
-On: 2011-10-20 14:28:25.167102 Event: Caller Handler Ready
-On: 2011-10-20 14:28:30.176925 Event: CALL START
-On: 2011-10-20 14:28:30.176978 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:28:32.569564 Event: Call Connecting
-On: 2011-10-20 14:28:32.569612 Event: 200
-On: 2011-10-20 14:28:32.770170 Event: Terminate
-On: 2011-10-20 14:28:32.770211 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:25.771664 ------------------
-On: 2011-10-20 14:33:25.792136 Event: try to Connect to Controller
-On: 2011-10-20 14:33:27.081231 Event: init state
-On: 2011-10-20 14:33:27.081474 Event: Register Account to SIP server
-On: 2011-10-20 14:33:27.082110 Event: 100
-On: 2011-10-20 14:33:27.082208 Event: Receiver Handler Ready
-On: 2011-10-20 14:33:27.082604 Event: RECEIVE START
-On: 2011-10-20 14:33:29.579394 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 14:33:29.579896 Event: Call Connecting
-On: 2011-10-20 14:33:29.579938 Event: 200
-On: 2011-10-20 14:33:29.580192 Event: Answer call
-On: 2011-10-20 14:33:29.580243 Event: Hangup call
-On: 2011-10-20 14:33:29.580415 Event: CALL OK
-On: 2011-10-20 14:33:29.631103 Event: Call Disconnected
-On: 2011-10-20 14:33:30.352833 Event: Terminate
-On: 2011-10-20 14:33:30.352888 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:35.093011 ------------------
-On: 2011-10-20 14:33:35.113549 Event: try to Connect to Controller
-On: 2011-10-20 14:33:36.398078 Event: init state
-On: 2011-10-20 14:33:36.398336 Event: Register Account to SIP server
-On: 2011-10-20 14:33:36.399111 Event: 100
-On: 2011-10-20 14:33:36.399196 Event: Caller Handler Ready
-On: 2011-10-20 14:33:41.408942 Event: CALL START
-On: 2011-10-20 14:33:41.408998 Event: Make a call to: 015782677224
-On: 2011-10-20 14:33:42.893838 Event: Call Connecting
-On: 2011-10-20 14:33:42.893886 Event: 200
-On: 2011-10-20 14:33:53.403654 Event: Terminate
-On: 2011-10-20 14:33:53.403696 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:33:58.172851 ------------------
-On: 2011-10-20 14:33:58.193248 Event: try to Connect to Controller
-On: 2011-10-20 14:33:59.487102 Event: init state
-On: 2011-10-20 14:33:59.487625 Event: Register Account to SIP server
-On: 2011-10-20 14:33:59.488423 Event: 100
-On: 2011-10-20 14:33:59.489912 Event: Caller Handler Ready
-On: 2011-10-20 14:34:04.500938 Event: CALL START
-On: 2011-10-20 14:34:04.500993 Event: Make a call to: 017678038038
-On: 2011-10-20 14:34:06.740368 Event: Call Connecting
-On: 2011-10-20 14:34:06.740414 Event: 200
-On: 2011-10-20 14:34:16.494947 Event: Terminate
-On: 2011-10-20 14:34:16.494987 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:34:21.279923 ------------------
-On: 2011-10-20 14:34:21.300046 Event: try to Connect to Controller
-On: 2011-10-20 14:34:22.578897 Event: init state
-On: 2011-10-20 14:34:22.579148 Event: Register Account to SIP server
-On: 2011-10-20 14:34:22.579561 Event: 100
-On: 2011-10-20 14:34:22.579645 Event: Caller Handler Ready
-On: 2011-10-20 14:34:27.592911 Event: CALL START
-On: 2011-10-20 14:34:27.592966 Event: Make a call to: 015128040906
-On: 2011-10-20 14:34:29.592427 Event: Call Connecting
-On: 2011-10-20 14:34:29.592474 Event: 200
-On: 2011-10-20 14:34:39.586809 Event: Terminate
-On: 2011-10-20 14:34:39.586851 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:34:44.363348 ------------------
-On: 2011-10-20 14:34:44.383755 Event: try to Connect to Controller
-On: 2011-10-20 14:34:45.670666 Event: init state
-On: 2011-10-20 14:34:45.670912 Event: Register Account to SIP server
-On: 2011-10-20 14:34:45.671326 Event: 100
-On: 2011-10-20 14:34:45.671407 Event: Caller Handler Ready
-On: 2011-10-20 14:34:50.683974 Event: CALL START
-On: 2011-10-20 14:34:50.684028 Event: Make a call to: 015252423662
-On: 2011-10-20 14:34:52.674379 Event: Call Connecting
-On: 2011-10-20 14:34:52.674426 Event: 200
-On: 2011-10-20 14:35:02.677951 Event: Terminate
-On: 2011-10-20 14:35:02.677995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:35:07.440187 ------------------
-On: 2011-10-20 14:35:07.460484 Event: try to Connect to Controller
-On: 2011-10-20 14:35:08.748968 Event: init state
-On: 2011-10-20 14:35:08.749219 Event: Register Account to SIP server
-On: 2011-10-20 14:35:08.749642 Event: 100
-On: 2011-10-20 14:35:08.750822 Event: Caller Handler Ready
-On: 2011-10-20 14:35:18.772133 Event: CALL START
-On: 2011-10-20 14:35:18.772192 Event: Make a call to: 07612034661447
-On: 2011-10-20 14:35:20.971816 Event: Call Connecting
-On: 2011-10-20 14:35:20.971864 Event: 200
-On: 2011-10-20 14:35:21.144302 Event: Terminate
-On: 2011-10-20 14:35:21.144361 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:07.289306 ------------------
-On: 2011-10-20 14:40:07.309642 Event: try to Connect to Controller
-On: 2011-10-20 14:40:08.610544 Event: init state
-On: 2011-10-20 14:40:08.610788 Event: Register Account to SIP server
-On: 2011-10-20 14:40:08.611194 Event: 100
-On: 2011-10-20 14:40:08.611277 Event: Receiver Handler Ready
-On: 2011-10-20 14:40:08.611693 Event: RECEIVE START
-On: 2011-10-20 14:40:10.688525 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:40:10.689019 Event: Call Connecting
-On: 2011-10-20 14:40:10.689059 Event: 200
-On: 2011-10-20 14:40:10.689311 Event: Answer call
-On: 2011-10-20 14:40:10.689364 Event: Hangup call
-On: 2011-10-20 14:40:10.689540 Event: CALL OK
-On: 2011-10-20 14:40:10.740227 Event: Call Disconnected
-On: 2011-10-20 14:40:12.071250 Event: Terminate
-On: 2011-10-20 14:40:12.071304 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:16.783801 ------------------
-On: 2011-10-20 14:40:16.804072 Event: try to Connect to Controller
-On: 2011-10-20 14:40:18.116584 Event: init state
-On: 2011-10-20 14:40:18.116835 Event: Register Account to SIP server
-On: 2011-10-20 14:40:18.117252 Event: 100
-On: 2011-10-20 14:40:18.117337 Event: Caller Handler Ready
-On: 2011-10-20 14:40:23.128845 Event: CALL START
-On: 2011-10-20 14:40:23.128900 Event: Make a call to: 015782677224
-On: 2011-10-20 14:40:25.612400 Event: Call Connecting
-On: 2011-10-20 14:40:25.612448 Event: 200
-On: 2011-10-20 14:40:35.123816 Event: Terminate
-On: 2011-10-20 14:40:35.123858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:40:39.878888 ------------------
-On: 2011-10-20 14:40:39.898964 Event: try to Connect to Controller
-On: 2011-10-20 14:40:41.206700 Event: init state
-On: 2011-10-20 14:40:41.207041 Event: Register Account to SIP server
-On: 2011-10-20 14:40:41.207465 Event: 100
-On: 2011-10-20 14:40:41.207553 Event: Caller Handler Ready
-On: 2011-10-20 14:40:46.218543 Event: CALL START
-On: 2011-10-20 14:40:46.218601 Event: Make a call to: 017678038038
-On: 2011-10-20 14:40:48.499422 Event: Call Connecting
-On: 2011-10-20 14:40:48.499469 Event: 200
-On: 2011-10-20 14:40:58.218277 Event: Terminate
-On: 2011-10-20 14:40:58.218318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:03.049650 ------------------
-On: 2011-10-20 14:41:03.070310 Event: try to Connect to Controller
-On: 2011-10-20 14:41:04.301546 Event: init state
-On: 2011-10-20 14:41:04.301841 Event: Register Account to SIP server
-On: 2011-10-20 14:41:04.302259 Event: 100
-On: 2011-10-20 14:41:04.302347 Event: Caller Handler Ready
-On: 2011-10-20 14:41:09.310518 Event: CALL START
-On: 2011-10-20 14:41:09.310572 Event: Make a call to: 015252423662
-On: 2011-10-20 14:41:11.314924 Event: Call Connecting
-On: 2011-10-20 14:41:11.314972 Event: 200
-On: 2011-10-20 14:41:21.307647 Event: Terminate
-On: 2011-10-20 14:41:21.307688 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:26.070302 ------------------
-On: 2011-10-20 14:41:26.090581 Event: try to Connect to Controller
-On: 2011-10-20 14:41:27.391072 Event: init state
-On: 2011-10-20 14:41:27.391323 Event: Register Account to SIP server
-On: 2011-10-20 14:41:27.391725 Event: 100
-On: 2011-10-20 14:41:27.391804 Event: Caller Handler Ready
-On: 2011-10-20 14:41:32.404915 Event: CALL START
-On: 2011-10-20 14:41:32.404969 Event: Make a call to: 015128040906
-On: 2011-10-20 14:41:34.175924 Event: Call Connecting
-On: 2011-10-20 14:41:34.175970 Event: 200
-On: 2011-10-20 14:41:44.398311 Event: Terminate
-On: 2011-10-20 14:41:44.398353 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:41:49.166682 ------------------
-On: 2011-10-20 14:41:49.186621 Event: try to Connect to Controller
-On: 2011-10-20 14:41:50.482855 Event: init state
-On: 2011-10-20 14:41:50.483102 Event: Register Account to SIP server
-On: 2011-10-20 14:41:50.483518 Event: 100
-On: 2011-10-20 14:41:50.483602 Event: Caller Handler Ready
-On: 2011-10-20 14:41:55.492949 Event: CALL START
-On: 2011-10-20 14:41:55.493005 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:41:58.295212 Event: Call Connecting
-On: 2011-10-20 14:41:58.295260 Event: 200
-On: 2011-10-20 14:41:58.482168 Event: Terminate
-On: 2011-10-20 14:41:58.482208 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:45.888139 ------------------
-On: 2011-10-20 14:56:45.909973 Event: try to Connect to Controller
-On: 2011-10-20 14:56:47.198105 Event: init state
-On: 2011-10-20 14:56:47.198339 Event: Register Account to SIP server
-On: 2011-10-20 14:56:47.198765 Event: 100
-On: 2011-10-20 14:56:47.198847 Event: Receiver Handler Ready
-On: 2011-10-20 14:56:47.199109 Event: RECEIVE START
-On: 2011-10-20 14:56:49.904684 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 14:56:49.905180 Event: Call Connecting
-On: 2011-10-20 14:56:49.905222 Event: 200
-On: 2011-10-20 14:56:49.905475 Event: Answer call
-On: 2011-10-20 14:56:49.905527 Event: Hangup call
-On: 2011-10-20 14:56:49.905764 Event: CALL OK
-On: 2011-10-20 14:56:49.956451 Event: Call Disconnected
-On: 2011-10-20 14:56:51.114809 Event: Terminate
-On: 2011-10-20 14:56:51.114854 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:56:55.911987 ------------------
-On: 2011-10-20 14:56:55.935322 Event: try to Connect to Controller
-On: 2011-10-20 14:56:57.165273 Event: init state
-On: 2011-10-20 14:56:57.165503 Event: Register Account to SIP server
-On: 2011-10-20 14:56:57.165973 Event: 100
-On: 2011-10-20 14:56:57.166057 Event: Caller Handler Ready
-On: 2011-10-20 14:57:02.175069 Event: CALL START
-On: 2011-10-20 14:57:02.175124 Event: Make a call to: 017678038038
-On: 2011-10-20 14:57:03.878956 Event: Call Connecting
-On: 2011-10-20 14:57:03.879002 Event: 200
-On: 2011-10-20 14:57:14.171636 Event: Terminate
-On: 2011-10-20 14:57:14.171677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:57:19.173559 ------------------
-On: 2011-10-20 14:57:19.209475 Event: try to Connect to Controller
-On: 2011-10-20 14:57:20.288955 Event: init state
-On: 2011-10-20 14:57:20.289478 Event: Register Account to SIP server
-On: 2011-10-20 14:57:20.289981 Event: 100
-On: 2011-10-20 14:57:20.290068 Event: Caller Handler Ready
-On: 2011-10-20 14:57:25.297733 Event: CALL START
-On: 2011-10-20 14:57:25.297787 Event: Make a call to: 015128040906
-On: 2011-10-20 14:57:27.773796 Event: Call Connecting
-On: 2011-10-20 14:57:27.773843 Event: 200
-On: 2011-10-20 14:57:37.295660 Event: Terminate
-On: 2011-10-20 14:57:37.295701 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:57:42.128571 ------------------
-On: 2011-10-20 14:57:42.148926 Event: try to Connect to Controller
-On: 2011-10-20 14:57:43.379028 Event: init state
-On: 2011-10-20 14:57:43.379279 Event: Register Account to SIP server
-On: 2011-10-20 14:57:43.379697 Event: 100
-On: 2011-10-20 14:57:43.379785 Event: Caller Handler Ready
-On: 2011-10-20 14:57:48.392826 Event: CALL START
-On: 2011-10-20 14:57:48.392881 Event: Make a call to: 015252423662
-On: 2011-10-20 14:57:50.393472 Event: Call Connecting
-On: 2011-10-20 14:57:50.393521 Event: 200
-On: 2011-10-20 14:58:00.387113 Event: Terminate
-On: 2011-10-20 14:58:00.387159 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:05.246850 ------------------
-On: 2011-10-20 14:58:05.268122 Event: try to Connect to Controller
-On: 2011-10-20 14:58:06.469294 Event: init state
-On: 2011-10-20 14:58:06.469549 Event: Register Account to SIP server
-On: 2011-10-20 14:58:06.470536 Event: 100
-On: 2011-10-20 14:58:06.472893 Event: Caller Handler Ready
-On: 2011-10-20 14:58:11.480943 Event: CALL START
-On: 2011-10-20 14:58:11.480996 Event: Make a call to: 015782677224
-On: 2011-10-20 14:58:13.250676 Event: Call Connecting
-On: 2011-10-20 14:58:13.250723 Event: 200
-On: 2011-10-20 14:58:23.475676 Event: Terminate
-On: 2011-10-20 14:58:23.475718 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:58:28.370058 ------------------
-On: 2011-10-20 14:58:28.404224 Event: try to Connect to Controller
-On: 2011-10-20 14:58:29.558572 Event: init state
-On: 2011-10-20 14:58:29.558813 Event: Register Account to SIP server
-On: 2011-10-20 14:58:29.559233 Event: 100
-On: 2011-10-20 14:58:29.559318 Event: Caller Handler Ready
-On: 2011-10-20 14:58:34.569281 Event: CALL START
-On: 2011-10-20 14:58:34.569351 Event: Make a call to: 07612034661449
-On: 2011-10-20 14:58:36.357228 Event: Call Connecting
-On: 2011-10-20 14:58:36.357277 Event: 200
-On: 2011-10-20 14:58:36.542236 Event: Terminate
-On: 2011-10-20 14:58:36.542275 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:01:15.265615 ------------------
-On: 2011-10-20 15:01:15.286071 Event: try to Connect to Controller
-On: 2011-10-20 15:01:16.593094 Event: init state
-On: 2011-10-20 15:01:16.593337 Event: Register Account to SIP server
-On: 2011-10-20 15:01:16.594306 Event: 100
-On: 2011-10-20 15:01:16.596631 Event: Caller Handler Ready
-On: 2011-10-20 15:01:21.604946 Event: CALL START
-On: 2011-10-20 15:01:21.605000 Event: Make a call to: 015782677224
-On: 2011-10-20 15:01:23.884057 Event: Call Connecting
-On: 2011-10-20 15:01:23.884105 Event: 200
-On: 2011-10-20 15:01:33.599659 Event: Terminate
-On: 2011-10-20 15:01:33.599699 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:01:38.358010 ------------------
-On: 2011-10-20 15:01:38.378035 Event: try to Connect to Controller
-On: 2011-10-20 15:01:39.682248 Event: init state
-On: 2011-10-20 15:01:39.682500 Event: Register Account to SIP server
-On: 2011-10-20 15:01:39.682920 Event: 100
-On: 2011-10-20 15:01:39.683007 Event: Caller Handler Ready
-On: 2011-10-20 15:01:44.692946 Event: CALL START
-On: 2011-10-20 15:01:44.692997 Event: Make a call to: 017678038038
-On: 2011-10-20 15:01:46.924841 Event: Call Connecting
-On: 2011-10-20 15:01:46.924887 Event: 200
-On: 2011-10-20 15:01:56.687661 Event: Terminate
-On: 2011-10-20 15:01:56.687701 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:01.469480 ------------------
-On: 2011-10-20 15:02:01.490012 Event: try to Connect to Controller
-On: 2011-10-20 15:02:02.770480 Event: init state
-On: 2011-10-20 15:02:02.771003 Event: Register Account to SIP server
-On: 2011-10-20 15:02:02.771428 Event: 100
-On: 2011-10-20 15:02:02.771510 Event: Caller Handler Ready
-On: 2011-10-20 15:02:07.784914 Event: CALL START
-On: 2011-10-20 15:02:07.784972 Event: Make a call to: 015128040906
-On: 2011-10-20 15:02:10.044096 Event: Call Connecting
-On: 2011-10-20 15:02:10.044144 Event: 200
-On: 2011-10-20 15:02:19.778730 Event: Terminate
-On: 2011-10-20 15:02:19.778771 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:24.544522 ------------------
-On: 2011-10-20 15:02:24.565352 Event: try to Connect to Controller
-On: 2011-10-20 15:02:25.862200 Event: init state
-On: 2011-10-20 15:02:25.862454 Event: Register Account to SIP server
-On: 2011-10-20 15:02:25.862873 Event: 100
-On: 2011-10-20 15:02:25.862958 Event: Caller Handler Ready
-On: 2011-10-20 15:02:30.872955 Event: CALL START
-On: 2011-10-20 15:02:30.873012 Event: Make a call to: 015252423662
-On: 2011-10-20 15:02:33.367228 Event: Call Connecting
-On: 2011-10-20 15:02:33.367276 Event: 200
-On: 2011-10-20 15:02:42.867642 Event: Terminate
-On: 2011-10-20 15:02:42.867682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:02:47.625407 ------------------
-On: 2011-10-20 15:02:47.645663 Event: try to Connect to Controller
-On: 2011-10-20 15:02:48.940915 Event: init state
-On: 2011-10-20 15:02:48.941168 Event: Register Account to SIP server
-On: 2011-10-20 15:02:48.941587 Event: 100
-On: 2011-10-20 15:02:48.941671 Event: Caller Handler Ready
-On: 2011-10-20 15:02:58.956579 Event: CALL START
-On: 2011-10-20 15:02:58.956638 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:03:00.900981 Event: Call Connecting
-On: 2011-10-20 15:03:00.901037 Event: 200
-On: 2011-10-20 15:03:01.107767 Event: Terminate
-On: 2011-10-20 15:03:01.107826 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:17:17.307258 ------------------
-On: 2011-10-20 15:17:17.327655 Event: try to Connect to Controller
-On: 2011-10-20 15:17:18.637886 Event: init state
-On: 2011-10-20 15:17:18.638142 Event: Register Account to SIP server
-On: 2011-10-20 15:17:18.638558 Event: 100
-On: 2011-10-20 15:17:18.638641 Event: Caller Handler Ready
-On: 2011-10-20 15:17:23.648003 Event: CALL START
-On: 2011-10-20 15:17:23.648058 Event: Make a call to: 015782677224
-On: 2011-10-20 15:17:25.617585 Event: Call Connecting
-On: 2011-10-20 15:17:25.617633 Event: 200
-On: 2011-10-20 15:17:35.643621 Event: Terminate
-On: 2011-10-20 15:17:35.643664 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:17:40.407432 ------------------
-On: 2011-10-20 15:17:40.427809 Event: try to Connect to Controller
-On: 2011-10-20 15:17:41.726745 Event: init state
-On: 2011-10-20 15:17:41.726983 Event: Register Account to SIP server
-On: 2011-10-20 15:17:41.727402 Event: 100
-On: 2011-10-20 15:17:41.727488 Event: Caller Handler Ready
-On: 2011-10-20 15:17:46.740920 Event: CALL START
-On: 2011-10-20 15:17:46.740975 Event: Make a call to: 017678038038
-On: 2011-10-20 15:17:48.463022 Event: Call Connecting
-On: 2011-10-20 15:17:48.463070 Event: 200
-On: 2011-10-20 15:17:58.734069 Event: Terminate
-On: 2011-10-20 15:17:58.734110 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:03.763270 ------------------
-On: 2011-10-20 15:18:03.810291 Event: try to Connect to Controller
-On: 2011-10-20 15:18:04.819200 Event: init state
-On: 2011-10-20 15:18:04.819442 Event: Register Account to SIP server
-On: 2011-10-20 15:18:04.819859 Event: 100
-On: 2011-10-20 15:18:04.819966 Event: Caller Handler Ready
-On: 2011-10-20 15:18:09.831180 Event: CALL START
-On: 2011-10-20 15:18:09.831237 Event: Make a call to: 015128040906
-On: 2011-10-20 15:18:11.604116 Event: Call Connecting
-On: 2011-10-20 15:18:11.604164 Event: 200
-On: 2011-10-20 15:18:21.828830 Event: Terminate
-On: 2011-10-20 15:18:21.828871 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:26.771572 ------------------
-On: 2011-10-20 15:18:26.799477 Event: try to Connect to Controller
-On: 2011-10-20 15:18:27.941640 Event: init state
-On: 2011-10-20 15:18:27.941946 Event: Register Account to SIP server
-On: 2011-10-20 15:18:27.942368 Event: 100
-On: 2011-10-20 15:18:27.942456 Event: Caller Handler Ready
-On: 2011-10-20 15:18:32.949752 Event: CALL START
-On: 2011-10-20 15:18:32.949813 Event: Make a call to: 015252423662
-On: 2011-10-20 15:18:35.473865 Event: Call Connecting
-On: 2011-10-20 15:18:35.473925 Event: 200
-On: 2011-10-20 15:18:44.949548 Event: Terminate
-On: 2011-10-20 15:18:44.949589 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:18:49.912103 ------------------
-On: 2011-10-20 15:18:49.940181 Event: try to Connect to Controller
-On: 2011-10-20 15:18:51.021257 Event: init state
-On: 2011-10-20 15:18:51.021495 Event: Register Account to SIP server
-On: 2011-10-20 15:18:51.021966 Event: 100
-On: 2011-10-20 15:18:51.022054 Event: Caller Handler Ready
-On: 2011-10-20 15:19:01.041763 Event: CALL START
-On: 2011-10-20 15:19:01.041835 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:19:04.135963 Event: Call Connecting
-On: 2011-10-20 15:19:04.136016 Event: 200
-On: 2011-10-20 15:19:04.321249 Event: Terminate
-On: 2011-10-20 15:19:04.321292 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:07.218813 ------------------
-On: 2011-10-20 15:24:07.263519 Event: try to Connect to Controller
-On: 2011-10-20 15:24:08.130777 Event: init state
-On: 2011-10-20 15:24:08.131013 Event: Register Account to SIP server
-On: 2011-10-20 15:24:08.131455 Event: 100
-On: 2011-10-20 15:24:08.131540 Event: Caller Handler Ready
-On: 2011-10-20 15:24:13.137759 Event: CALL START
-On: 2011-10-20 15:24:13.137820 Event: Make a call to: 015782677224
-On: 2011-10-20 15:24:14.911916 Event: Call Connecting
-On: 2011-10-20 15:24:14.911966 Event: 200
-On: 2011-10-20 15:24:25.142302 Event: Terminate
-On: 2011-10-20 15:24:25.142345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:30.266111 ------------------
-On: 2011-10-20 15:24:30.308783 Event: try to Connect to Controller
-On: 2011-10-20 15:24:31.266230 Event: init state
-On: 2011-10-20 15:24:31.266469 Event: Register Account to SIP server
-On: 2011-10-20 15:24:31.266894 Event: 100
-On: 2011-10-20 15:24:31.266977 Event: Caller Handler Ready
-On: 2011-10-20 15:24:36.273733 Event: CALL START
-On: 2011-10-20 15:24:36.273789 Event: Make a call to: 017678038038
-On: 2011-10-20 15:24:38.011247 Event: Call Connecting
-On: 2011-10-20 15:24:38.011298 Event: 200
-On: 2011-10-20 15:24:48.273992 Event: Terminate
-On: 2011-10-20 15:24:48.274037 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:24:53.035356 ------------------
-On: 2011-10-20 15:24:53.082748 Event: try to Connect to Controller
-On: 2011-10-20 15:24:54.356921 Event: init state
-On: 2011-10-20 15:24:54.357159 Event: Register Account to SIP server
-On: 2011-10-20 15:24:54.357585 Event: 100
-On: 2011-10-20 15:24:54.357672 Event: Caller Handler Ready
-On: 2011-10-20 15:24:59.365751 Event: CALL START
-On: 2011-10-20 15:24:59.365814 Event: Make a call to: 015128040906
-On: 2011-10-20 15:25:00.829349 Event: Call Connecting
-On: 2011-10-20 15:25:00.829398 Event: 200
-On: 2011-10-20 15:25:11.363767 Event: Terminate
-On: 2011-10-20 15:25:11.363812 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:25:16.156740 ------------------
-On: 2011-10-20 15:25:16.198021 Event: try to Connect to Controller
-On: 2011-10-20 15:25:17.468489 Event: init state
-On: 2011-10-20 15:25:17.468730 Event: Register Account to SIP server
-On: 2011-10-20 15:25:17.469514 Event: 100
-On: 2011-10-20 15:25:17.469602 Event: Caller Handler Ready
-On: 2011-10-20 15:25:22.477787 Event: CALL START
-On: 2011-10-20 15:25:22.477846 Event: Make a call to: 015252423662
-On: 2011-10-20 15:25:24.190209 Event: Call Connecting
-On: 2011-10-20 15:25:24.190258 Event: 200
-On: 2011-10-20 15:25:34.477999 Event: Terminate
-On: 2011-10-20 15:25:34.478046 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:25:39.713342 ------------------
-On: 2011-10-20 15:25:39.761962 Event: try to Connect to Controller
-On: 2011-10-20 15:25:40.557065 Event: init state
-On: 2011-10-20 15:25:40.557311 Event: Register Account to SIP server
-On: 2011-10-20 15:25:40.558167 Event: 100
-On: 2011-10-20 15:25:40.558259 Event: Caller Handler Ready
-On: 2011-10-20 15:25:50.582560 Event: CALL START
-On: 2011-10-20 15:25:50.582630 Event: Make a call to: 07612034661447
-On: 2011-10-20 15:25:53.254286 Event: Call Connecting
-On: 2011-10-20 15:25:53.254336 Event: 200
-On: 2011-10-20 15:25:53.417415 Event: Terminate
-On: 2011-10-20 15:25:53.417459 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:32.399657 ------------------
-On: 2011-10-20 16:03:32.441699 Event: try to Connect to Controller
-On: 2011-10-20 16:03:33.661850 Event: init state
-On: 2011-10-20 16:03:33.662093 Event: Register Account to SIP server
-On: 2011-10-20 16:03:33.662508 Event: 100
-On: 2011-10-20 16:03:33.662596 Event: Caller Handler Ready
-On: 2011-10-20 16:03:38.669755 Event: CALL START
-On: 2011-10-20 16:03:38.669821 Event: Make a call to: 017678038038
-On: 2011-10-20 16:03:40.287379 Event: Call Connecting
-On: 2011-10-20 16:03:40.287427 Event: 200
-On: 2011-10-20 16:03:50.667715 Event: Terminate
-On: 2011-10-20 16:03:50.667758 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:03:55.486600 ------------------
-On: 2011-10-20 16:03:55.513103 Event: try to Connect to Controller
-On: 2011-10-20 16:03:56.754341 Event: init state
-On: 2011-10-20 16:03:56.754580 Event: Register Account to SIP server
-On: 2011-10-20 16:03:56.755003 Event: 100
-On: 2011-10-20 16:03:56.755087 Event: Caller Handler Ready
-On: 2011-10-20 16:04:01.761900 Event: CALL START
-On: 2011-10-20 16:04:01.761957 Event: Make a call to: 015128040906
-On: 2011-10-20 16:04:04.271760 Event: Call Connecting
-On: 2011-10-20 16:04:04.271810 Event: 200
-On: 2011-10-20 16:04:13.766363 Event: Terminate
-On: 2011-10-20 16:04:13.766405 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:04:18.525652 ------------------
-On: 2011-10-20 16:04:18.546102 Event: try to Connect to Controller
-On: 2011-10-20 16:04:19.846776 Event: init state
-On: 2011-10-20 16:04:19.847012 Event: Register Account to SIP server
-On: 2011-10-20 16:04:19.847432 Event: 100
-On: 2011-10-20 16:04:19.847518 Event: Caller Handler Ready
-On: 2011-10-20 16:04:24.855330 Event: CALL START
-On: 2011-10-20 16:04:24.855394 Event: Make a call to: 015252423662
-On: 2011-10-20 16:04:26.896321 Event: Call Connecting
-On: 2011-10-20 16:04:26.896371 Event: 200
-On: 2011-10-20 16:04:36.852339 Event: Terminate
-On: 2011-10-20 16:04:36.852383 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:52.503036 ------------------
-On: 2011-10-20 16:07:52.526378 Event: try to Connect to Controller
-On: 2011-10-20 16:07:53.750773 Event: init state
-On: 2011-10-20 16:07:53.751010 Event: Register Account to SIP server
-On: 2011-10-20 16:07:53.751438 Event: 100
-On: 2011-10-20 16:07:53.751524 Event: Caller Handler Ready
-On: 2011-10-20 16:07:58.763094 Event: CALL START
-On: 2011-10-20 16:07:58.763159 Event: Make a call to: 017678038038
-On: 2011-10-20 16:08:01.291988 Event: Call Connecting
-On: 2011-10-20 16:08:01.292036 Event: 200
-On: 2011-10-20 16:08:10.758837 Event: Terminate
-On: 2011-10-20 16:08:10.758879 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:08:15.630300 ------------------
-On: 2011-10-20 16:08:15.656898 Event: try to Connect to Controller
-On: 2011-10-20 16:08:16.854785 Event: init state
-On: 2011-10-20 16:08:16.855037 Event: Register Account to SIP server
-On: 2011-10-20 16:08:16.855459 Event: 100
-On: 2011-10-20 16:08:16.855546 Event: Caller Handler Ready
-On: 2011-10-20 16:08:21.864818 Event: CALL START
-On: 2011-10-20 16:08:21.864874 Event: Make a call to: 015128040906
-On: 2011-10-20 16:08:23.646054 Event: Call Connecting
-On: 2011-10-20 16:08:23.646105 Event: 200
-On: 2011-10-20 16:08:33.865733 Event: Terminate
-On: 2011-10-20 16:08:33.865777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:08:38.674245 ------------------
-On: 2011-10-20 16:08:38.694595 Event: try to Connect to Controller
-On: 2011-10-20 16:08:39.947613 Event: init state
-On: 2011-10-20 16:08:39.947851 Event: Register Account to SIP server
-On: 2011-10-20 16:08:39.948269 Event: 100
-On: 2011-10-20 16:08:39.948354 Event: Caller Handler Ready
-On: 2011-10-20 16:08:44.957734 Event: CALL START
-On: 2011-10-20 16:08:44.957791 Event: Make a call to: 015252423662
-On: 2011-10-20 16:08:47.506658 Event: Call Connecting
-On: 2011-10-20 16:08:47.506706 Event: 200
-On: 2011-10-20 16:08:56.955279 Event: Terminate
-On: 2011-10-20 16:08:56.955320 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:09:01.828655 ------------------
-On: 2011-10-20 16:09:01.849095 Event: try to Connect to Controller
-On: 2011-10-20 16:09:03.054270 Event: init state
-On: 2011-10-20 16:09:03.054509 Event: Register Account to SIP server
-On: 2011-10-20 16:09:03.055288 Event: 100
-On: 2011-10-20 16:09:03.055372 Event: Caller Handler Ready
-On: 2011-10-20 16:09:08.063013 Event: CALL START
-On: 2011-10-20 16:09:08.063081 Event: Make a call to: 015782677224
-On: 2011-10-20 16:09:10.249137 Event: Call Connecting
-On: 2011-10-20 16:09:10.249186 Event: 200
-On: 2011-10-20 16:09:20.062023 Event: Terminate
-On: 2011-10-20 16:09:20.062065 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:04.266375 ------------------
-On: 2011-10-20 16:14:04.286624 Event: try to Connect to Controller
-On: 2011-10-20 16:14:05.574394 Event: init state
-On: 2011-10-20 16:14:05.574647 Event: Register Account to SIP server
-On: 2011-10-20 16:14:05.575075 Event: 100
-On: 2011-10-20 16:14:05.575159 Event: Caller Handler Ready
-On: 2011-10-20 16:14:10.584830 Event: CALL START
-On: 2011-10-20 16:14:10.584887 Event: Make a call to: 015782677224
-On: 2011-10-20 16:14:12.122499 Event: Call Connecting
-On: 2011-10-20 16:14:12.122547 Event: 200
-On: 2011-10-20 16:14:22.579701 Event: Terminate
-On: 2011-10-20 16:14:22.579741 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:27.361145 ------------------
-On: 2011-10-20 16:14:27.381452 Event: try to Connect to Controller
-On: 2011-10-20 16:14:28.662828 Event: init state
-On: 2011-10-20 16:14:28.663084 Event: Register Account to SIP server
-On: 2011-10-20 16:14:28.663862 Event: 100
-On: 2011-10-20 16:14:28.665929 Event: Caller Handler Ready
-On: 2011-10-20 16:14:33.676822 Event: CALL START
-On: 2011-10-20 16:14:33.676881 Event: Make a call to: 017678038038
-On: 2011-10-20 16:14:35.934621 Event: Call Connecting
-On: 2011-10-20 16:14:35.934670 Event: 200
-On: 2011-10-20 16:14:45.671012 Event: Terminate
-On: 2011-10-20 16:14:45.671053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:14:50.456345 ------------------
-On: 2011-10-20 16:14:50.477011 Event: try to Connect to Controller
-On: 2011-10-20 16:14:51.754772 Event: init state
-On: 2011-10-20 16:14:51.755011 Event: Register Account to SIP server
-On: 2011-10-20 16:14:51.755435 Event: 100
-On: 2011-10-20 16:14:51.755522 Event: Caller Handler Ready
-On: 2011-10-20 16:14:56.761732 Event: CALL START
-On: 2011-10-20 16:14:56.761785 Event: Make a call to: 015252423662
-On: 2011-10-20 16:14:58.984650 Event: Call Connecting
-On: 2011-10-20 16:14:58.984698 Event: 200
-On: 2011-10-20 16:15:08.761602 Event: Terminate
-On: 2011-10-20 16:15:08.761645 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:15:13.571195 ------------------
-On: 2011-10-20 16:15:13.592297 Event: try to Connect to Controller
-On: 2011-10-20 16:15:14.846731 Event: init state
-On: 2011-10-20 16:15:14.847013 Event: Register Account to SIP server
-On: 2011-10-20 16:15:14.847440 Event: 100
-On: 2011-10-20 16:15:14.847526 Event: Caller Handler Ready
-On: 2011-10-20 16:15:19.857916 Event: CALL START
-On: 2011-10-20 16:15:19.857986 Event: Make a call to: 015128040906
-On: 2011-10-20 16:15:21.854640 Event: Call Connecting
-On: 2011-10-20 16:15:21.854688 Event: 200
-On: 2011-10-20 16:15:31.856230 Event: Terminate
-On: 2011-10-20 16:15:31.856271 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:04.170740 ------------------
-On: 2011-10-20 16:18:04.190941 Event: try to Connect to Controller
-On: 2011-10-20 16:18:05.474149 Event: init state
-On: 2011-10-20 16:18:05.474433 Event: Register Account to SIP server
-On: 2011-10-20 16:18:05.474856 Event: 100
-On: 2011-10-20 16:18:05.474941 Event: Caller Handler Ready
-On: 2011-10-20 16:18:10.481788 Event: CALL START
-On: 2011-10-20 16:18:10.481863 Event: Make a call to: 017678038038
-On: 2011-10-20 16:18:12.855860 Event: Call Connecting
-On: 2011-10-20 16:18:12.855910 Event: 200
-On: 2011-10-20 16:18:22.479744 Event: Terminate
-On: 2011-10-20 16:18:22.479785 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:27.237944 ------------------
-On: 2011-10-20 16:18:27.258953 Event: try to Connect to Controller
-On: 2011-10-20 16:18:28.577348 Event: init state
-On: 2011-10-20 16:18:28.577587 Event: Register Account to SIP server
-On: 2011-10-20 16:18:28.578066 Event: 100
-On: 2011-10-20 16:18:28.578156 Event: Caller Handler Ready
-On: 2011-10-20 16:18:33.585740 Event: CALL START
-On: 2011-10-20 16:18:33.585801 Event: Make a call to: 015128040906
-On: 2011-10-20 16:18:35.864484 Event: Call Connecting
-On: 2011-10-20 16:18:35.864533 Event: 200
-On: 2011-10-20 16:18:45.584108 Event: Terminate
-On: 2011-10-20 16:18:45.584150 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:18:50.451252 ------------------
-On: 2011-10-20 16:18:50.472088 Event: try to Connect to Controller
-On: 2011-10-20 16:18:51.692439 Event: init state
-On: 2011-10-20 16:18:51.692676 Event: Register Account to SIP server
-On: 2011-10-20 16:18:51.693100 Event: 100
-On: 2011-10-20 16:18:51.693185 Event: Caller Handler Ready
-On: 2011-10-20 16:18:56.701792 Event: CALL START
-On: 2011-10-20 16:18:56.701854 Event: Make a call to: 015252423662
-On: 2011-10-20 16:18:58.673252 Event: Call Connecting
-On: 2011-10-20 16:18:58.673301 Event: 200
-On: 2011-10-20 16:19:08.701468 Event: Terminate
-On: 2011-10-20 16:19:08.701509 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:19:13.446512 ------------------
-On: 2011-10-20 16:19:13.467044 Event: try to Connect to Controller
-On: 2011-10-20 16:19:14.778631 Event: init state
-On: 2011-10-20 16:19:14.778870 Event: Register Account to SIP server
-On: 2011-10-20 16:19:14.779666 Event: 100
-On: 2011-10-20 16:19:14.779754 Event: Caller Handler Ready
-On: 2011-10-20 16:19:24.801915 Event: CALL START
-On: 2011-10-20 16:19:24.801977 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:19:27.452299 Event: Call Connecting
-On: 2011-10-20 16:19:27.452350 Event: 200
-On: 2011-10-20 16:19:27.654152 Event: Terminate
-On: 2011-10-20 16:19:27.654197 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:24.896132 ------------------
-On: 2011-10-20 16:44:24.916313 Event: try to Connect to Controller
-On: 2011-10-20 16:44:26.218749 Event: init state
-On: 2011-10-20 16:44:26.218986 Event: Register Account to SIP server
-On: 2011-10-20 16:44:26.219399 Event: 100
-On: 2011-10-20 16:44:26.219485 Event: Caller Handler Ready
-On: 2011-10-20 16:44:31.228775 Event: CALL START
-On: 2011-10-20 16:44:31.228828 Event: Make a call to: 015782677224
-On: 2011-10-20 16:44:33.726132 Event: Call Connecting
-On: 2011-10-20 16:44:33.726180 Event: 200
-On: 2011-10-20 16:44:43.226159 Event: Terminate
-On: 2011-10-20 16:44:43.226202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:44:48.117372 ------------------
-On: 2011-10-20 16:44:48.153670 Event: try to Connect to Controller
-On: 2011-10-20 16:44:49.324993 Event: init state
-On: 2011-10-20 16:44:49.325229 Event: Register Account to SIP server
-On: 2011-10-20 16:44:49.325652 Event: 100
-On: 2011-10-20 16:44:49.325797 Event: Caller Handler Ready
-On: 2011-10-20 16:44:54.333755 Event: CALL START
-On: 2011-10-20 16:44:54.333813 Event: Make a call to: 017678038038
-On: 2011-10-20 16:44:56.303675 Event: Call Connecting
-On: 2011-10-20 16:44:56.303724 Event: 200
-On: 2011-10-20 16:45:06.331691 Event: Terminate
-On: 2011-10-20 16:45:06.331734 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:45:11.155460 ------------------
-On: 2011-10-20 16:45:11.175701 Event: try to Connect to Controller
-On: 2011-10-20 16:45:12.416088 Event: init state
-On: 2011-10-20 16:45:12.416327 Event: Register Account to SIP server
-On: 2011-10-20 16:45:12.417110 Event: 100
-On: 2011-10-20 16:45:12.417200 Event: Caller Handler Ready
-On: 2011-10-20 16:45:17.425739 Event: CALL START
-On: 2011-10-20 16:45:17.425790 Event: Make a call to: 015128040906
-On: 2011-10-20 16:45:19.686332 Event: Call Connecting
-On: 2011-10-20 16:45:19.686381 Event: 200
-On: 2011-10-20 16:45:29.424002 Event: Terminate
-On: 2011-10-20 16:45:29.424046 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:45:34.181179 ------------------
-On: 2011-10-20 16:45:34.202262 Event: try to Connect to Controller
-On: 2011-10-20 16:45:35.493488 Event: init state
-On: 2011-10-20 16:45:35.493770 Event: Register Account to SIP server
-On: 2011-10-20 16:45:35.494199 Event: 100
-On: 2011-10-20 16:45:35.494285 Event: Caller Handler Ready
-On: 2011-10-20 16:45:45.515815 Event: CALL START
-On: 2011-10-20 16:45:45.515881 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:45:48.081900 Event: Call Connecting
-On: 2011-10-20 16:45:48.081952 Event: 200
-On: 2011-10-20 16:45:48.280246 Event: Terminate
-On: 2011-10-20 16:45:48.280290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:26.286830 ------------------
-On: 2011-10-20 16:48:26.308101 Event: try to Connect to Controller
-On: 2011-10-20 16:48:27.615576 Event: init state
-On: 2011-10-20 16:48:27.615811 Event: Register Account to SIP server
-On: 2011-10-20 16:48:27.616589 Event: 100
-On: 2011-10-20 16:48:27.616676 Event: Caller Handler Ready
-On: 2011-10-20 16:48:32.625739 Event: CALL START
-On: 2011-10-20 16:48:32.625798 Event: Make a call to: 015782677224
-On: 2011-10-20 16:48:34.605225 Event: Call Connecting
-On: 2011-10-20 16:48:34.605274 Event: 200
-On: 2011-10-20 16:48:44.623314 Event: Terminate
-On: 2011-10-20 16:48:44.623357 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:48:49.391920 ------------------
-On: 2011-10-20 16:48:49.412736 Event: try to Connect to Controller
-On: 2011-10-20 16:48:50.707583 Event: init state
-On: 2011-10-20 16:48:50.707815 Event: Register Account to SIP server
-On: 2011-10-20 16:48:50.708227 Event: 100
-On: 2011-10-20 16:48:50.708312 Event: Caller Handler Ready
-On: 2011-10-20 16:48:55.715267 Event: CALL START
-On: 2011-10-20 16:48:55.715327 Event: Make a call to: 017678038038
-On: 2011-10-20 16:48:57.558885 Event: Call Connecting
-On: 2011-10-20 16:48:57.558934 Event: 200
-On: 2011-10-20 16:49:07.714594 Event: Terminate
-On: 2011-10-20 16:49:07.714637 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:49:12.478288 ------------------
-On: 2011-10-20 16:49:12.499396 Event: try to Connect to Controller
-On: 2011-10-20 16:49:13.799010 Event: init state
-On: 2011-10-20 16:49:13.799277 Event: Register Account to SIP server
-On: 2011-10-20 16:49:13.800057 Event: 100
-On: 2011-10-20 16:49:13.800143 Event: Caller Handler Ready
-On: 2011-10-20 16:49:18.809483 Event: CALL START
-On: 2011-10-20 16:49:18.809539 Event: Make a call to: 015128040906
-On: 2011-10-20 16:49:20.796480 Event: Call Connecting
-On: 2011-10-20 16:49:20.796528 Event: 200
-On: 2011-10-20 16:49:30.806845 Event: Terminate
-On: 2011-10-20 16:49:30.806886 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:49:37.551202 ------------------
-On: 2011-10-20 16:49:37.571521 Event: try to Connect to Controller
-On: 2011-10-20 16:49:38.878331 Event: init state
-On: 2011-10-20 16:49:38.878569 Event: Register Account to SIP server
-On: 2011-10-20 16:49:38.878989 Event: 100
-On: 2011-10-20 16:49:38.879075 Event: Caller Handler Ready
-On: 2011-10-20 16:49:43.885990 Event: CALL START
-On: 2011-10-20 16:49:43.886045 Event: Make a call to: 015252423662
-On: 2011-10-20 16:49:46.122498 Event: Call Connecting
-On: 2011-10-20 16:49:46.122546 Event: 200
-On: 2011-10-20 16:49:55.883680 Event: Terminate
-On: 2011-10-20 16:49:55.883721 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:50:00.659026 ------------------
-On: 2011-10-20 16:50:00.679672 Event: try to Connect to Controller
-On: 2011-10-20 16:50:01.957000 Event: init state
-On: 2011-10-20 16:50:01.957236 Event: Register Account to SIP server
-On: 2011-10-20 16:50:01.958073 Event: 100
-On: 2011-10-20 16:50:01.958162 Event: Caller Handler Ready
-On: 2011-10-20 16:50:11.979159 Event: CALL START
-On: 2011-10-20 16:50:11.979221 Event: Make a call to: 07612034661447
-On: 2011-10-20 16:50:14.093617 Event: Call Connecting
-On: 2011-10-20 16:50:14.093668 Event: 200
-On: 2011-10-20 16:50:14.276618 Event: Terminate
-On: 2011-10-20 16:50:14.276662 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:29.950598 ------------------
-On: 2011-10-20 16:52:29.971995 Event: try to Connect to Controller
-On: 2011-10-20 16:52:31.279157 Event: init state
-On: 2011-10-20 16:52:31.279388 Event: Register Account to SIP server
-On: 2011-10-20 16:52:31.279804 Event: 100
-On: 2011-10-20 16:52:31.279889 Event: Caller Handler Ready
-On: 2011-10-20 16:52:36.289163 Event: CALL START
-On: 2011-10-20 16:52:36.289222 Event: Make a call to: 015782677224
-On: 2011-10-20 16:52:38.829071 Event: Call Connecting
-On: 2011-10-20 16:52:38.829118 Event: 200
-On: 2011-10-20 16:52:48.286534 Event: Terminate
-On: 2011-10-20 16:52:48.286574 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:52:53.069610 ------------------
-On: 2011-10-20 16:52:53.090090 Event: try to Connect to Controller
-On: 2011-10-20 16:52:54.373028 Event: init state
-On: 2011-10-20 16:52:54.373267 Event: Register Account to SIP server
-On: 2011-10-20 16:52:54.373689 Event: 100
-On: 2011-10-20 16:52:54.373823 Event: Caller Handler Ready
-On: 2011-10-20 16:52:59.381743 Event: CALL START
-On: 2011-10-20 16:52:59.381803 Event: Make a call to: 017678038038
-On: 2011-10-20 16:53:01.383989 Event: Call Connecting
-On: 2011-10-20 16:53:01.384040 Event: 200
-On: 2011-10-20 16:53:11.379688 Event: Terminate
-On: 2011-10-20 16:53:11.379730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:53:39.284280 ------------------
-On: 2011-10-20 16:53:39.304553 Event: try to Connect to Controller
-On: 2011-10-20 16:53:40.583797 Event: init state
-On: 2011-10-20 16:53:40.584038 Event: Register Account to SIP server
-On: 2011-10-20 16:53:40.584457 Event: 100
-On: 2011-10-20 16:53:40.584542 Event: Caller Handler Ready
-On: 2011-10-20 16:53:45.593739 Event: CALL START
-On: 2011-10-20 16:53:45.593800 Event: Make a call to: 015128040906
-On: 2011-10-20 16:53:47.652059 Event: Call Connecting
-On: 2011-10-20 16:53:47.652108 Event: 200
-On: 2011-10-20 16:53:57.591570 Event: Terminate
-On: 2011-10-20 16:53:57.591611 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:33.654764 ------------------
-On: 2011-10-20 16:55:33.675994 Event: try to Connect to Controller
-On: 2011-10-20 16:55:34.962206 Event: init state
-On: 2011-10-20 16:55:34.962443 Event: Register Account to SIP server
-On: 2011-10-20 16:55:34.962860 Event: 100
-On: 2011-10-20 16:55:34.962945 Event: Caller Handler Ready
-On: 2011-10-20 16:55:39.969744 Event: CALL START
-On: 2011-10-20 16:55:39.969804 Event: Make a call to: 017678038038
-On: 2011-10-20 16:55:42.023388 Event: Call Connecting
-On: 2011-10-20 16:55:42.023436 Event: 200
-On: 2011-10-20 16:55:51.969900 Event: Terminate
-On: 2011-10-20 16:55:51.969944 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:55:56.827942 ------------------
-On: 2011-10-20 16:55:56.849017 Event: try to Connect to Controller
-On: 2011-10-20 16:55:58.056882 Event: init state
-On: 2011-10-20 16:55:58.057128 Event: Register Account to SIP server
-On: 2011-10-20 16:55:58.057550 Event: 100
-On: 2011-10-20 16:55:58.057634 Event: Caller Handler Ready
-On: 2011-10-20 16:56:03.065745 Event: CALL START
-On: 2011-10-20 16:56:03.065803 Event: Make a call to: 015128040906
-On: 2011-10-20 16:56:05.557683 Event: Call Connecting
-On: 2011-10-20 16:56:05.557767 Event: 200
-On: 2011-10-20 16:56:15.063814 Event: Terminate
-On: 2011-10-20 16:56:15.063856 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:56:19.933229 ------------------
-On: 2011-10-20 16:56:19.954732 Event: try to Connect to Controller
-On: 2011-10-20 16:56:21.147586 Event: init state
-On: 2011-10-20 16:56:21.147838 Event: Register Account to SIP server
-On: 2011-10-20 16:56:21.148261 Event: 100
-On: 2011-10-20 16:56:21.148346 Event: Caller Handler Ready
-On: 2011-10-20 16:56:26.157723 Event: CALL START
-On: 2011-10-20 16:56:26.157779 Event: Make a call to: 015252423662
-On: 2011-10-20 16:56:28.146828 Event: Call Connecting
-On: 2011-10-20 16:56:28.146876 Event: 200
-On: 2011-10-20 16:56:38.155051 Event: Terminate
-On: 2011-10-20 16:56:38.155092 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:56:42.965307 ------------------
-On: 2011-10-20 16:56:42.985996 Event: try to Connect to Controller
-On: 2011-10-20 16:56:44.239644 Event: init state
-On: 2011-10-20 16:56:44.239886 Event: Register Account to SIP server
-On: 2011-10-20 16:56:44.240323 Event: 100
-On: 2011-10-20 16:56:44.240408 Event: Caller Handler Ready
-On: 2011-10-20 16:56:49.249741 Event: CALL START
-On: 2011-10-20 16:56:49.249800 Event: Make a call to: 015782677224
-On: 2011-10-20 16:56:51.025616 Event: Call Connecting
-On: 2011-10-20 16:56:51.025667 Event: 200
-On: 2011-10-20 16:57:01.247135 Event: Terminate
-On: 2011-10-20 16:57:01.247176 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:39:13.876817 ------------------
-On: 2011-10-20 17:39:13.947842 Event: try to Connect to Controller
-On: 2011-10-20 17:39:14.003478 Event: init state
-On: 2011-10-20 17:39:14.003723 Event: Register Account to SIP server
-On: 2011-10-20 17:39:14.004144 Event: 100
-On: 2011-10-20 17:39:14.004229 Event: Caller Handler Ready
-On: 2011-10-20 17:39:16.009535 Event: Terminate
-On: 2011-10-20 17:39:16.009573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:39:27.817358 ------------------
-On: 2011-10-20 17:39:27.903468 Event: try to Connect to Controller
-On: 2011-10-20 17:39:28.330629 Event: init state
-On: 2011-10-20 17:39:28.330873 Event: Register Account to SIP server
-On: 2011-10-20 17:39:28.331645 Event: 100
-On: 2011-10-20 17:39:28.331729 Event: Caller Handler Ready
-On: 2011-10-20 17:39:30.336924 Event: Terminate
-On: 2011-10-20 17:39:30.336960 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:39:36.389530 ------------------
-On: 2011-10-20 17:39:36.469318 Event: try to Connect to Controller
-On: 2011-10-20 17:39:36.516912 Event: init state
-On: 2011-10-20 17:39:36.517168 Event: Register Account to SIP server
-On: 2011-10-20 17:39:36.517594 Event: 100
-On: 2011-10-20 17:39:36.517679 Event: Caller Handler Ready
-On: 2011-10-20 17:39:38.522657 Event: Terminate
-On: 2011-10-20 17:39:38.522693 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:39:44.548399 ------------------
-On: 2011-10-20 17:39:44.617170 Event: try to Connect to Controller
-On: 2011-10-20 17:39:44.695112 Event: init state
-On: 2011-10-20 17:39:44.695352 Event: Register Account to SIP server
-On: 2011-10-20 17:39:44.695782 Event: 100
-On: 2011-10-20 17:39:44.695869 Event: Caller Handler Ready
-On: 2011-10-20 17:39:46.701044 Event: Terminate
-On: 2011-10-20 17:39:46.701079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:39:52.614011 ------------------
-On: 2011-10-20 17:39:52.676553 Event: try to Connect to Controller
-On: 2011-10-20 17:39:52.864856 Event: init state
-On: 2011-10-20 17:39:52.865100 Event: Register Account to SIP server
-On: 2011-10-20 17:39:52.865962 Event: 100
-On: 2011-10-20 17:39:52.866051 Event: Caller Handler Ready
-On: 2011-10-20 17:39:54.870795 Event: Terminate
-On: 2011-10-20 17:39:54.870833 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:40:00.712709 ------------------
-On: 2011-10-20 17:40:00.785054 Event: try to Connect to Controller
-On: 2011-10-20 17:40:01.030130 Event: init state
-On: 2011-10-20 17:40:01.030482 Event: Register Account to SIP server
-On: 2011-10-20 17:40:01.030910 Event: 100
-On: 2011-10-20 17:40:01.030999 Event: Caller Handler Ready
-On: 2011-10-20 17:40:03.034650 Event: Terminate
-On: 2011-10-20 17:40:03.034686 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:40:09.023298 ------------------
-On: 2011-10-20 17:40:09.085334 Event: try to Connect to Controller
-On: 2011-10-20 17:40:09.201944 Event: init state
-On: 2011-10-20 17:40:09.202259 Event: Register Account to SIP server
-On: 2011-10-20 17:40:09.202682 Event: 100
-On: 2011-10-20 17:40:09.202766 Event: Caller Handler Ready
-On: 2011-10-20 17:40:11.207248 Event: Terminate
-On: 2011-10-20 17:40:11.207283 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:42:03.094351 ------------------
-On: 2011-10-20 17:42:03.171086 Event: try to Connect to Controller
-On: 2011-10-20 17:42:03.274570 Event: init state
-On: 2011-10-20 17:42:03.274818 Event: Register Account to SIP server
-On: 2011-10-20 17:42:03.275604 Event: 100
-On: 2011-10-20 17:42:03.275688 Event: Caller Handler Ready
-On: 2011-10-20 17:42:05.284879 Event: Terminate
-On: 2011-10-20 17:42:05.284920 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:58:36.529274 ------------------
-On: 2011-10-20 17:58:36.554214 Event: try to Connect to Controller
-On: 2011-10-20 17:58:37.735520 Event: init state
-On: 2011-10-20 17:58:37.735752 Event: Register Account to SIP server
-On: 2011-10-20 17:58:37.736174 Event: 100
-On: 2011-10-20 17:58:37.736259 Event: Receiver Handler Ready
-On: 2011-10-20 17:58:37.736527 Event: RECEIVE START
-On: 2011-10-20 17:58:39.736451 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 17:58:39.737113 Event: Call Connecting
-On: 2011-10-20 17:58:39.737161 Event: 200
-On: 2011-10-20 17:58:39.737405 Event: Answer call
-On: 2011-10-20 17:58:39.737457 Event: Hangup call
-On: 2011-10-20 17:58:39.737638 Event: CALL OK
-On: 2011-10-20 17:58:39.788380 Event: Call Disconnected
-On: 2011-10-20 17:58:41.302290 Event: Terminate
-On: 2011-10-20 17:58:41.302336 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:58:53.123358 ------------------
-On: 2011-10-20 17:58:53.148363 Event: try to Connect to Controller
-On: 2011-10-20 17:58:54.369619 Event: init state
-On: 2011-10-20 17:58:54.369907 Event: Register Account to SIP server
-On: 2011-10-20 17:58:54.370695 Event: 100
-On: 2011-10-20 17:58:54.370784 Event: Receiver Handler Ready
-On: 2011-10-20 17:58:54.371201 Event: RECEIVE START
-On: 2011-10-20 17:58:56.434322 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 17:58:56.434816 Event: Call Connecting
-On: 2011-10-20 17:58:56.434857 Event: 200
-On: 2011-10-20 17:58:56.435111 Event: Answer call
-On: 2011-10-20 17:58:56.435165 Event: Hangup call
-On: 2011-10-20 17:58:56.435344 Event: CALL OK
-On: 2011-10-20 17:58:56.486076 Event: Call Disconnected
-On: 2011-10-20 17:58:57.811065 Event: Terminate
-On: 2011-10-20 17:58:57.811109 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 18:03:10.407462 ------------------
-On: 2011-10-20 18:03:10.428347 Event: try to Connect to Controller
-On: 2011-10-20 18:03:11.660663 Event: init state
-On: 2011-10-20 18:03:11.660947 Event: Register Account to SIP server
-On: 2011-10-20 18:03:11.661369 Event: 100
-On: 2011-10-20 18:03:11.661456 Event: Receiver Handler Ready
-On: 2011-10-20 18:03:11.661771 Event: RECEIVE START
-On: 2011-10-20 18:03:13.708075 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 18:03:13.708651 Event: Call Connecting
-On: 2011-10-20 18:03:13.708696 Event: 200
-On: 2011-10-20 18:03:13.708947 Event: Answer call
-On: 2011-10-20 18:03:13.709001 Event: Hangup call
-On: 2011-10-20 18:03:13.709181 Event: CALL OK
-On: 2011-10-20 18:03:13.759873 Event: Call Disconnected
-On: 2011-10-20 18:03:15.064398 Event: Terminate
-On: 2011-10-20 18:03:15.064446 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 18:06:15.316786 ------------------
-On: 2011-10-20 18:06:15.337278 Event: try to Connect to Controller
-On: 2011-10-20 18:06:16.608933 Event: init state
-On: 2011-10-20 18:06:16.609192 Event: Register Account to SIP server
-On: 2011-10-20 18:06:16.609625 Event: 100
-On: 2011-10-20 18:06:16.610864 Event: Caller Handler Ready
-On: 2011-10-20 18:06:18.614826 Event: Terminate
-On: 2011-10-20 18:06:18.614868 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 18:07:06.481364 ------------------
-On: 2011-10-20 18:07:06.502187 Event: try to Connect to Controller
-On: 2011-10-20 18:07:07.794125 Event: init state
-On: 2011-10-20 18:07:07.794377 Event: Register Account to SIP server
-On: 2011-10-20 18:07:07.795157 Event: 100
-On: 2011-10-20 18:07:07.795243 Event: Receiver Handler Ready
-On: 2011-10-20 18:07:07.795669 Event: RECEIVE START
-On: 2011-10-20 18:07:09.777688 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 18:07:09.778439 Event: Call Connecting
-On: 2011-10-20 18:07:09.778484 Event: 200
-On: 2011-10-20 18:07:09.778734 Event: Answer call
-On: 2011-10-20 18:07:09.778788 Event: Hangup call
-On: 2011-10-20 18:07:09.778987 Event: CALL OK
-On: 2011-10-20 18:07:09.829748 Event: Call Disconnected
-On: 2011-10-20 18:07:11.239449 Event: Terminate
-On: 2011-10-20 18:07:11.239510 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:48:12.004096 ------------------
-On: 2011-10-20 19:48:12.024170 Event: try to Connect to Controller
-On: 2011-10-20 19:48:13.345105 Event: init state
-On: 2011-10-20 19:48:13.345334 Event: Register Account to SIP server
-On: 2011-10-20 19:48:13.346121 Event: 100
-On: 2011-10-20 19:48:13.346204 Event: Receiver Handler Ready
-On: 2011-10-20 19:48:13.346616 Event: RECEIVE START
-On: 2011-10-20 19:48:15.555440 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 19:48:15.555923 Event: Call Connecting
-On: 2011-10-20 19:48:15.555962 Event: 200
-On: 2011-10-20 19:48:15.556208 Event: Answer call
-On: 2011-10-20 19:48:15.556259 Event: Hangup call
-On: 2011-10-20 19:48:15.556432 Event: CALL OK
-On: 2011-10-20 19:48:15.607119 Event: Call Disconnected
-On: 2011-10-20 19:48:16.811457 Event: Terminate
-On: 2011-10-20 19:48:16.811513 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:48:21.522153 ------------------
-On: 2011-10-20 19:48:21.542623 Event: try to Connect to Controller
-On: 2011-10-20 19:48:22.854652 Event: init state
-On: 2011-10-20 19:48:22.854898 Event: Register Account to SIP server
-On: 2011-10-20 19:48:22.855300 Event: 100
-On: 2011-10-20 19:48:22.855379 Event: Caller Handler Ready
-On: 2011-10-20 19:48:32.875372 Event: CALL START
-On: 2011-10-20 19:48:32.875427 Event: Make a call to: 07612034661447
-On: 2011-10-20 19:48:34.435273 Event: Call Connecting
-On: 2011-10-20 19:48:34.435319 Event: 200
-On: 2011-10-20 19:48:34.600856 Event: Terminate
-On: 2011-10-20 19:48:34.600911 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:52:33.054031 ------------------
-On: 2011-10-20 19:52:33.074491 Event: try to Connect to Controller
-On: 2011-10-20 19:52:34.337615 Event: init state
-On: 2011-10-20 19:52:34.338041 Event: Register Account to SIP server
-On: 2011-10-20 19:52:34.338465 Event: 100
-On: 2011-10-20 19:52:34.338548 Event: Caller Handler Ready
-On: 2011-10-20 19:52:39.346256 Event: CALL START
-On: 2011-10-20 19:52:39.346311 Event: Make a call to: 076120397898
-On: 2011-10-20 19:52:39.378369 Event: Call Connecting
-On: 2011-10-20 19:52:39.378418 Event: 200
-On: 2011-10-20 19:52:39.379847 Event: Terminate
-On: 2011-10-20 19:52:39.379907 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:52:44.103330 ------------------
-On: 2011-10-20 19:52:44.123741 Event: try to Connect to Controller
-On: 2011-10-20 19:52:45.434333 Event: init state
-On: 2011-10-20 19:52:45.434580 Event: Register Account to SIP server
-On: 2011-10-20 19:52:45.434985 Event: 100
-On: 2011-10-20 19:52:45.435067 Event: Caller Handler Ready
-On: 2011-10-20 19:52:50.443361 Event: CALL START
-On: 2011-10-20 19:52:50.443416 Event: Make a call to: 076145875681
-On: 2011-10-20 19:52:55.692460 Event: Call Connecting
-On: 2011-10-20 19:52:55.692506 Event: 200
-On: 2011-10-20 19:52:55.693566 Event: Terminate
-On: 2011-10-20 19:52:55.693606 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:53:07.423334 ------------------
-On: 2011-10-20 19:53:07.443684 Event: try to Connect to Controller
-On: 2011-10-20 19:53:08.763668 Event: init state
-On: 2011-10-20 19:53:08.763909 Event: Register Account to SIP server
-On: 2011-10-20 19:53:08.764314 Event: 100
-On: 2011-10-20 19:53:08.764397 Event: Receiver Handler Ready
-On: 2011-10-20 19:53:08.764805 Event: RECEIVE START
-On: 2011-10-20 19:53:10.718722 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-20 19:53:10.719209 Event: Call Connecting
-On: 2011-10-20 19:53:10.719249 Event: 200
-On: 2011-10-20 19:53:10.719494 Event: Answer call
-On: 2011-10-20 19:53:10.719545 Event: Hangup call
-On: 2011-10-20 19:53:10.719713 Event: CALL OK
-On: 2011-10-20 19:53:10.770372 Event: Call Disconnected
-On: 2011-10-20 19:53:12.091508 Event: Terminate
-On: 2011-10-20 19:53:12.091562 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:53:23.818683 ------------------
-On: 2011-10-20 19:53:23.839034 Event: try to Connect to Controller
-On: 2011-10-20 19:53:25.154651 Event: init state
-On: 2011-10-20 19:53:25.154889 Event: Register Account to SIP server
-On: 2011-10-20 19:53:25.155657 Event: 100
-On: 2011-10-20 19:53:25.156070 Event: Receiver Handler Ready
-On: 2011-10-20 19:53:25.156155 Event: RECEIVE START
-On: 2011-10-20 19:53:27.166887 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 19:53:27.167376 Event: Call Connecting
-On: 2011-10-20 19:53:27.167415 Event: 200
-On: 2011-10-20 19:53:27.167668 Event: Answer call
-On: 2011-10-20 19:53:27.167722 Event: Hangup call
-On: 2011-10-20 19:53:27.167894 Event: CALL OK
-On: 2011-10-20 19:53:27.218576 Event: Call Disconnected
-On: 2011-10-20 19:53:28.575558 Event: Terminate
-On: 2011-10-20 19:53:28.575613 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:53:39.439296 ------------------
-On: 2011-10-20 19:53:39.459999 Event: try to Connect to Controller
-On: 2011-10-20 19:53:40.710974 Event: init state
-On: 2011-10-20 19:53:40.711219 Event: Register Account to SIP server
-On: 2011-10-20 19:53:40.711985 Event: 100
-On: 2011-10-20 19:53:40.712068 Event: Caller Handler Ready
-On: 2011-10-20 19:53:50.733540 Event: CALL START
-On: 2011-10-20 19:53:50.733596 Event: Make a call to: 07612034661455
-On: 2011-10-20 19:53:53.122662 Event: Call Connecting
-On: 2011-10-20 19:53:53.122709 Event: 200
-On: 2011-10-20 19:53:53.342282 Event: Terminate
-On: 2011-10-20 19:53:53.342337 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:53:58.069297 ------------------
-On: 2011-10-20 19:53:58.089654 Event: try to Connect to Controller
-On: 2011-10-20 19:53:59.393042 Event: init state
-On: 2011-10-20 19:53:59.393289 Event: Register Account to SIP server
-On: 2011-10-20 19:53:59.393698 Event: 100
-On: 2011-10-20 19:53:59.393983 Event: Caller Handler Ready
-On: 2011-10-20 19:54:09.413734 Event: CALL START
-On: 2011-10-20 19:54:09.413791 Event: Make a call to: 07612034661447
-On: 2011-10-20 19:54:11.036086 Event: Call Connecting
-On: 2011-10-20 19:54:11.036134 Event: 200
-On: 2011-10-20 19:54:11.209444 Event: Terminate
-On: 2011-10-20 19:54:11.209498 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:54:15.934411 ------------------
-On: 2011-10-20 19:54:15.954795 Event: try to Connect to Controller
-On: 2011-10-20 19:54:17.264204 Event: init state
-On: 2011-10-20 19:54:17.264449 Event: Register Account to SIP server
-On: 2011-10-20 19:54:17.264861 Event: 100
-On: 2011-10-20 19:54:17.264941 Event: Caller Handler Ready
-On: 2011-10-20 19:54:19.270316 Event: Terminate
-On: 2011-10-20 19:54:19.270353 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 20:15:19.248011 ------------------
-On: 2011-10-20 20:15:19.268104 Event: try to Connect to Controller
-On: 2011-10-20 20:15:20.570681 Event: init state
-On: 2011-10-20 20:15:20.570924 Event: Register Account to SIP server
-On: 2011-10-20 20:15:20.571327 Event: 100
-On: 2011-10-20 20:15:20.571410 Event: Receiver Handler Ready
-On: 2011-10-20 20:15:20.571819 Event: RECEIVE START
-On: 2011-10-20 20:15:23.464233 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-20 20:15:23.464713 Event: Call Connecting
-On: 2011-10-20 20:15:23.464752 Event: 200
-On: 2011-10-20 20:15:23.465002 Event: Answer call
-On: 2011-10-20 20:15:23.465053 Event: Hangup call
-On: 2011-10-20 20:15:23.465225 Event: CALL OK
-On: 2011-10-20 20:15:23.515911 Event: Call Disconnected
-On: 2011-10-20 20:15:24.680975 Event: Terminate
-On: 2011-10-20 20:15:24.681030 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 20:15:29.410164 ------------------
-On: 2011-10-20 20:15:29.430648 Event: try to Connect to Controller
-On: 2011-10-20 20:15:30.731923 Event: init state
-On: 2011-10-20 20:15:30.732169 Event: Register Account to SIP server
-On: 2011-10-20 20:15:30.732574 Event: 100
-On: 2011-10-20 20:15:30.732654 Event: Caller Handler Ready
-On: 2011-10-20 20:15:40.753734 Event: CALL START
-On: 2011-10-20 20:15:40.753791 Event: Make a call to: 07612034661455
-On: 2011-10-20 20:15:43.039525 Event: Call Connecting
-On: 2011-10-20 20:15:43.039572 Event: 200
-On: 2011-10-20 20:15:43.237518 Event: Terminate
-On: 2011-10-20 20:15:43.237573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 20:15:47.958862 ------------------
-On: 2011-10-20 20:15:47.979338 Event: try to Connect to Controller
-On: 2011-10-20 20:15:49.288713 Event: init state
-On: 2011-10-20 20:15:49.288958 Event: Register Account to SIP server
-On: 2011-10-20 20:15:49.289366 Event: 100
-On: 2011-10-20 20:15:49.289447 Event: Caller Handler Ready
-On: 2011-10-20 20:15:59.313016 Event: CALL START
-On: 2011-10-20 20:15:59.313072 Event: Make a call to: 07612034661447
-On: 2011-10-20 20:16:06.867013 Event: Call Connecting
-On: 2011-10-20 20:16:06.867060 Event: 200
-On: 2011-10-20 20:16:07.034264 Event: Terminate
-On: 2011-10-20 20:16:07.034320 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:54:24.470655 ------------------
-On: 2011-10-21 14:54:24.491370 Event: try to Connect to Controller
-On: 2011-10-21 14:54:25.718787 Event: init state
-On: 2011-10-21 14:54:25.719025 Event: Register Account to SIP server
-On: 2011-10-21 14:54:25.719450 Event: 100
-On: 2011-10-21 14:54:25.719533 Event: Caller Handler Ready
-On: 2011-10-21 14:54:30.729138 Event: CALL START
-On: 2011-10-21 14:54:30.729199 Event: Make a call to: 017678038038
-On: 2011-10-21 14:54:32.499146 Event: Call Connecting
-On: 2011-10-21 14:54:32.499194 Event: 200
-On: 2011-10-21 14:54:42.730277 Event: Terminate
-On: 2011-10-21 14:54:42.730320 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:54:47.631303 ------------------
-On: 2011-10-21 14:54:47.661237 Event: try to Connect to Controller
-On: 2011-10-21 14:54:48.842777 Event: init state
-On: 2011-10-21 14:54:48.843018 Event: Register Account to SIP server
-On: 2011-10-21 14:54:48.843803 Event: 100
-On: 2011-10-21 14:54:48.843888 Event: Caller Handler Ready
-On: 2011-10-21 14:54:53.851086 Event: CALL START
-On: 2011-10-21 14:54:53.851141 Event: Make a call to: 015128040906
-On: 2011-10-21 14:54:55.623553 Event: Call Connecting
-On: 2011-10-21 14:54:55.623601 Event: 200
-On: 2011-10-21 14:55:05.850942 Event: Terminate
-On: 2011-10-21 14:55:05.850987 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:55:10.722887 ------------------
-On: 2011-10-21 14:55:10.755654 Event: try to Connect to Controller
-On: 2011-10-21 14:55:11.930720 Event: init state
-On: 2011-10-21 14:55:11.930961 Event: Register Account to SIP server
-On: 2011-10-21 14:55:11.931379 Event: 100
-On: 2011-10-21 14:55:11.931464 Event: Caller Handler Ready
-On: 2011-10-21 14:55:16.940909 Event: CALL START
-On: 2011-10-21 14:55:16.940970 Event: Make a call to: 015252423662
-On: 2011-10-21 14:55:18.651060 Event: Call Connecting
-On: 2011-10-21 14:55:18.651110 Event: 200
-On: 2011-10-21 14:55:28.936276 Event: Terminate
-On: 2011-10-21 14:55:28.936318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:55:33.803543 ------------------
-On: 2011-10-21 14:55:33.828841 Event: try to Connect to Controller
-On: 2011-10-21 14:55:35.025301 Event: init state
-On: 2011-10-21 14:55:35.025536 Event: Register Account to SIP server
-On: 2011-10-21 14:55:35.026014 Event: 100
-On: 2011-10-21 14:55:35.026103 Event: Caller Handler Ready
-On: 2011-10-21 14:55:40.045755 Event: CALL START
-On: 2011-10-21 14:55:40.045812 Event: Make a call to: 015782677224
-On: 2011-10-21 14:55:42.077884 Event: Call Connecting
-On: 2011-10-21 14:55:42.077931 Event: 200
-On: 2011-10-21 14:55:52.044002 Event: Terminate
-On: 2011-10-21 14:55:52.044045 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:07:33.157163 ------------------
-On: 2011-10-21 15:07:33.177595 Event: try to Connect to Controller
-On: 2011-10-21 15:07:34.430834 Event: init state
-On: 2011-10-21 15:07:34.431075 Event: Register Account to SIP server
-On: 2011-10-21 15:07:34.431496 Event: 100
-On: 2011-10-21 15:07:34.431583 Event: Caller Handler Ready
-On: 2011-10-21 15:07:39.441751 Event: CALL START
-On: 2011-10-21 15:07:39.441808 Event: Make a call to: 017678038038
-On: 2011-10-21 15:07:41.743710 Event: Call Connecting
-On: 2011-10-21 15:07:41.743759 Event: 200
-On: 2011-10-21 15:07:51.439279 Event: Terminate
-On: 2011-10-21 15:07:51.439324 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:07:56.273380 ------------------
-On: 2011-10-21 15:07:56.297249 Event: try to Connect to Controller
-On: 2011-10-21 15:07:57.537036 Event: init state
-On: 2011-10-21 15:07:57.537312 Event: Register Account to SIP server
-On: 2011-10-21 15:07:57.537779 Event: 100
-On: 2011-10-21 15:07:57.537865 Event: Caller Handler Ready
-On: 2011-10-21 15:08:02.545758 Event: CALL START
-On: 2011-10-21 15:08:02.545817 Event: Make a call to: 015128040906
-On: 2011-10-21 15:08:04.806881 Event: Call Connecting
-On: 2011-10-21 15:08:04.806931 Event: 200
-On: 2011-10-21 15:08:14.543706 Event: Terminate
-On: 2011-10-21 15:08:14.543748 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:08:19.357274 ------------------
-On: 2011-10-21 15:08:19.382050 Event: try to Connect to Controller
-On: 2011-10-21 15:08:20.626802 Event: init state
-On: 2011-10-21 15:08:20.627037 Event: Register Account to SIP server
-On: 2011-10-21 15:08:20.627458 Event: 100
-On: 2011-10-21 15:08:20.627544 Event: Caller Handler Ready
-On: 2011-10-21 15:08:25.636830 Event: CALL START
-On: 2011-10-21 15:08:25.636892 Event: Make a call to: 015252423662
-On: 2011-10-21 15:08:27.126473 Event: Call Connecting
-On: 2011-10-21 15:08:27.126522 Event: 200
-On: 2011-10-21 15:08:37.634201 Event: Terminate
-On: 2011-10-21 15:08:37.634248 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:08:42.455365 ------------------
-On: 2011-10-21 15:08:42.479884 Event: try to Connect to Controller
-On: 2011-10-21 15:08:43.714761 Event: init state
-On: 2011-10-21 15:08:43.715000 Event: Register Account to SIP server
-On: 2011-10-21 15:08:43.715421 Event: 100
-On: 2011-10-21 15:08:43.715506 Event: Caller Handler Ready
-On: 2011-10-21 15:08:48.721778 Event: CALL START
-On: 2011-10-21 15:08:48.721840 Event: Make a call to: 015782677224
-On: 2011-10-21 15:08:50.424339 Event: Call Connecting
-On: 2011-10-21 15:08:50.424389 Event: 200
-On: 2011-10-21 15:09:00.722055 Event: Terminate
-On: 2011-10-21 15:09:00.722101 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:17:43.877129 ------------------
-On: 2011-10-21 15:17:43.917115 Event: try to Connect to Controller
-On: 2011-10-21 15:17:45.024176 Event: init state
-On: 2011-10-21 15:17:45.024409 Event: Register Account to SIP server
-On: 2011-10-21 15:17:45.025179 Event: 100
-On: 2011-10-21 15:17:45.025263 Event: Caller Handler Ready
-On: 2011-10-21 15:17:50.033751 Event: CALL START
-On: 2011-10-21 15:17:50.033809 Event: Make a call to: 015782677224
-On: 2011-10-21 15:17:52.590112 Event: Call Connecting
-On: 2011-10-21 15:17:52.590161 Event: 200
-On: 2011-10-21 15:18:02.032298 Event: Terminate
-On: 2011-10-21 15:18:02.032340 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:18:06.909957 ------------------
-On: 2011-10-21 15:18:06.930385 Event: try to Connect to Controller
-On: 2011-10-21 15:18:08.108965 Event: init state
-On: 2011-10-21 15:18:08.109209 Event: Register Account to SIP server
-On: 2011-10-21 15:18:08.109628 Event: 100
-On: 2011-10-21 15:18:08.109713 Event: Caller Handler Ready
-On: 2011-10-21 15:18:13.117761 Event: CALL START
-On: 2011-10-21 15:18:13.117823 Event: Make a call to: 017678038038
-On: 2011-10-21 15:18:15.083472 Event: Call Connecting
-On: 2011-10-21 15:18:15.083520 Event: 200
-On: 2011-10-21 15:18:25.115663 Event: Terminate
-On: 2011-10-21 15:18:25.115705 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:18:29.976309 ------------------
-On: 2011-10-21 15:18:29.996903 Event: try to Connect to Controller
-On: 2011-10-21 15:18:31.195278 Event: init state
-On: 2011-10-21 15:18:31.195507 Event: Register Account to SIP server
-On: 2011-10-21 15:18:31.195920 Event: 100
-On: 2011-10-21 15:18:31.196005 Event: Caller Handler Ready
-On: 2011-10-21 15:18:36.205619 Event: CALL START
-On: 2011-10-21 15:18:36.205674 Event: Make a call to: 015128040906
-On: 2011-10-21 15:18:37.941381 Event: Call Connecting
-On: 2011-10-21 15:18:37.941430 Event: 200
-On: 2011-10-21 15:18:48.203001 Event: Terminate
-On: 2011-10-21 15:18:48.203043 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:18:53.033719 ------------------
-On: 2011-10-21 15:18:53.057968 Event: try to Connect to Controller
-On: 2011-10-21 15:18:54.298248 Event: init state
-On: 2011-10-21 15:18:54.298509 Event: Register Account to SIP server
-On: 2011-10-21 15:18:54.298930 Event: 100
-On: 2011-10-21 15:18:54.299013 Event: Caller Handler Ready
-On: 2011-10-21 15:18:59.305758 Event: CALL START
-On: 2011-10-21 15:18:59.305817 Event: Make a call to: 015252423662
-On: 2011-10-21 15:19:01.516760 Event: Call Connecting
-On: 2011-10-21 15:19:01.516809 Event: 200
-On: 2011-10-21 15:19:11.306341 Event: Terminate
-On: 2011-10-21 15:19:11.306383 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:19:16.122385 ------------------
-On: 2011-10-21 15:19:16.142785 Event: try to Connect to Controller
-On: 2011-10-21 15:19:17.371474 Event: init state
-On: 2011-10-21 15:19:17.371719 Event: Register Account to SIP server
-On: 2011-10-21 15:19:17.372530 Event: 100
-On: 2011-10-21 15:19:17.372611 Event: Caller Handler Ready
-On: 2011-10-21 15:19:27.413802 Event: CALL START
-On: 2011-10-21 15:19:27.413869 Event: Make a call to: 07612034661447
-On: 2011-10-21 15:19:30.077976 Event: Call Connecting
-On: 2011-10-21 15:19:30.078026 Event: 200
-On: 2011-10-21 15:19:30.267995 Event: Terminate
-On: 2011-10-21 15:19:30.268039 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:56:26.559409 ------------------
-On: 2011-10-21 15:56:26.584001 Event: try to Connect to Controller
-On: 2011-10-21 15:56:27.806765 Event: init state
-On: 2011-10-21 15:56:27.807006 Event: Register Account to SIP server
-On: 2011-10-21 15:56:27.807433 Event: 100
-On: 2011-10-21 15:56:27.807519 Event: Caller Handler Ready
-On: 2011-10-21 15:56:32.816792 Event: CALL START
-On: 2011-10-21 15:56:32.816852 Event: Make a call to: 015782677224
-On: 2011-10-21 15:56:44.220717 Event: Call Connecting
-On: 2011-10-21 15:56:44.220767 Event: 200
-On: 2011-10-21 15:56:44.225351 Event: Terminate
-On: 2011-10-21 15:56:44.225408 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:56:49.020646 ------------------
-On: 2011-10-21 15:56:49.042029 Event: try to Connect to Controller
-On: 2011-10-21 15:56:50.275792 Event: init state
-On: 2011-10-21 15:56:50.276075 Event: Register Account to SIP server
-On: 2011-10-21 15:56:50.276499 Event: 100
-On: 2011-10-21 15:56:50.276586 Event: Caller Handler Ready
-On: 2011-10-21 15:56:55.285779 Event: CALL START
-On: 2011-10-21 15:56:55.285841 Event: Make a call to: 017678038038
-On: 2011-10-21 15:57:04.983800 Event: Call Connecting
-On: 2011-10-21 15:57:04.983850 Event: 200
-On: 2011-10-21 15:57:04.988432 Event: Terminate
-On: 2011-10-21 15:57:04.988490 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:57:09.778534 ------------------
-On: 2011-10-21 15:57:09.810344 Event: try to Connect to Controller
-On: 2011-10-21 15:57:11.034765 Event: init state
-On: 2011-10-21 15:57:11.035004 Event: Register Account to SIP server
-On: 2011-10-21 15:57:11.035429 Event: 100
-On: 2011-10-21 15:57:11.035516 Event: Caller Handler Ready
-On: 2011-10-21 15:57:16.041765 Event: CALL START
-On: 2011-10-21 15:57:16.041824 Event: Make a call to: 015128040906
-On: 2011-10-21 15:57:27.348885 Event: Call Connecting
-On: 2011-10-21 15:57:27.348936 Event: 200
-On: 2011-10-21 15:57:27.353545 Event: Terminate
-On: 2011-10-21 15:57:27.353603 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:58:43.475414 ------------------
-On: 2011-10-21 15:58:43.495913 Event: try to Connect to Controller
-On: 2011-10-21 15:58:44.811076 Event: init state
-On: 2011-10-21 15:58:44.811331 Event: Register Account to SIP server
-On: 2011-10-21 15:58:44.811746 Event: 100
-On: 2011-10-21 15:58:44.811830 Event: Caller Handler Ready
-On: 2011-10-21 15:58:49.820119 Event: CALL START
-On: 2011-10-21 15:58:49.820170 Event: Make a call to: 017678038038
-On: 2011-10-21 15:58:59.976467 Event: Call Connecting
-On: 2011-10-21 15:58:59.976512 Event: 200
-On: 2011-10-21 15:58:59.980521 Event: Terminate
-On: 2011-10-21 15:58:59.980579 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:59:04.695436 ------------------
-On: 2011-10-21 15:59:04.716201 Event: try to Connect to Controller
-On: 2011-10-21 15:59:06.024958 Event: init state
-On: 2011-10-21 15:59:06.025205 Event: Register Account to SIP server
-On: 2011-10-21 15:59:06.025627 Event: 100
-On: 2011-10-21 15:59:06.025710 Event: Caller Handler Ready
-On: 2011-10-21 15:59:11.036160 Event: CALL START
-On: 2011-10-21 15:59:11.036216 Event: Make a call to: 015128040906
-On: 2011-10-21 15:59:23.240572 Event: Call Connecting
-On: 2011-10-21 15:59:23.240620 Event: 200
-On: 2011-10-21 15:59:23.244721 Event: Terminate
-On: 2011-10-21 15:59:23.244782 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:59:27.964048 ------------------
-On: 2011-10-21 15:59:27.984808 Event: try to Connect to Controller
-On: 2011-10-21 15:59:29.286732 Event: init state
-On: 2011-10-21 15:59:29.286981 Event: Register Account to SIP server
-On: 2011-10-21 15:59:29.287399 Event: 100
-On: 2011-10-21 15:59:29.287483 Event: Caller Handler Ready
-On: 2011-10-21 15:59:34.300825 Event: CALL START
-On: 2011-10-21 15:59:34.300881 Event: Make a call to: 015252423662
-On: 2011-10-21 15:59:44.878190 Event: Call Connecting
-On: 2011-10-21 15:59:44.878238 Event: 200
-On: 2011-10-21 15:59:44.882086 Event: Terminate
-On: 2011-10-21 15:59:44.882147 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:01:49.024394 ------------------
-On: 2011-10-21 16:01:49.044780 Event: try to Connect to Controller
-On: 2011-10-21 16:01:50.360815 Event: init state
-On: 2011-10-21 16:01:50.361069 Event: Register Account to SIP server
-On: 2011-10-21 16:01:50.361488 Event: 100
-On: 2011-10-21 16:01:50.361574 Event: Caller Handler Ready
-On: 2011-10-21 16:01:55.372974 Event: CALL START
-On: 2011-10-21 16:01:55.373031 Event: Make a call to: 015782677224
-On: 2011-10-21 16:02:05.164830 Event: Call Connecting
-On: 2011-10-21 16:02:05.164911 Event: 200
-On: 2011-10-21 16:02:05.168931 Event: Terminate
-On: 2011-10-21 16:02:05.168992 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:02:09.885195 ------------------
-On: 2011-10-21 16:02:09.906108 Event: try to Connect to Controller
-On: 2011-10-21 16:02:11.210733 Event: init state
-On: 2011-10-21 16:02:11.210979 Event: Register Account to SIP server
-On: 2011-10-21 16:02:11.211382 Event: 100
-On: 2011-10-21 16:02:11.211460 Event: Caller Handler Ready
-On: 2011-10-21 16:02:16.224938 Event: CALL START
-On: 2011-10-21 16:02:16.224994 Event: Make a call to: 017678038038
-On: 2011-10-21 16:02:26.183825 Event: Call Connecting
-On: 2011-10-21 16:02:26.183873 Event: 200
-On: 2011-10-21 16:02:26.186047 Event: Terminate
-On: 2011-10-21 16:02:26.186104 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:02:30.890550 ------------------
-On: 2011-10-21 16:02:30.911033 Event: try to Connect to Controller
-On: 2011-10-21 16:02:32.230713 Event: init state
-On: 2011-10-21 16:02:32.230959 Event: Register Account to SIP server
-On: 2011-10-21 16:02:32.231400 Event: 100
-On: 2011-10-21 16:02:32.231483 Event: Caller Handler Ready
-On: 2011-10-21 16:02:37.244822 Event: CALL START
-On: 2011-10-21 16:02:37.244879 Event: Make a call to: 015128040906
-On: 2011-10-21 16:02:48.059674 Event: Call Connecting
-On: 2011-10-21 16:02:48.059723 Event: 200
-On: 2011-10-21 16:02:48.062044 Event: Terminate
-On: 2011-10-21 16:02:48.062103 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:02:52.776150 ------------------
-On: 2011-10-21 16:02:52.797021 Event: try to Connect to Controller
-On: 2011-10-21 16:02:54.108333 Event: init state
-On: 2011-10-21 16:02:54.108582 Event: Register Account to SIP server
-On: 2011-10-21 16:02:54.108995 Event: 100
-On: 2011-10-21 16:02:54.109080 Event: Caller Handler Ready
-On: 2011-10-21 16:02:59.120865 Event: CALL START
-On: 2011-10-21 16:02:59.120920 Event: Make a call to: 015252423662
-On: 2011-10-21 16:03:09.995091 Event: Call Connecting
-On: 2011-10-21 16:03:09.995139 Event: 200
-On: 2011-10-21 16:03:09.998042 Event: Terminate
-On: 2011-10-21 16:03:09.998102 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:03:14.713256 ------------------
-On: 2011-10-21 16:03:14.733512 Event: try to Connect to Controller
-On: 2011-10-21 16:03:16.038638 Event: init state
-On: 2011-10-21 16:03:16.038884 Event: Register Account to SIP server
-On: 2011-10-21 16:03:16.039659 Event: 100
-On: 2011-10-21 16:03:16.041940 Event: Caller Handler Ready
-On: 2011-10-21 16:03:26.077606 Event: CALL START
-On: 2011-10-21 16:03:26.077665 Event: Make a call to: 07612034661455
-On: 2011-10-21 16:03:28.549931 Event: Call Connecting
-On: 2011-10-21 16:03:28.549980 Event: 200
-On: 2011-10-21 16:03:28.766047 Event: Terminate
-On: 2011-10-21 16:03:28.766106 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:15:41.386890 ------------------
-On: 2011-10-21 16:15:41.411623 Event: try to Connect to Controller
-On: 2011-10-21 16:15:42.644291 Event: init state
-On: 2011-10-21 16:15:42.644527 Event: Register Account to SIP server
-On: 2011-10-21 16:15:42.644953 Event: 100
-On: 2011-10-21 16:15:42.645039 Event: Caller Handler Ready
-On: 2011-10-21 16:15:47.653575 Event: CALL START
-On: 2011-10-21 16:15:47.653636 Event: Make a call to: 015782677224
-On: 2011-10-21 16:15:58.948176 Event: Call Connecting
-On: 2011-10-21 16:15:58.948226 Event: 200
-On: 2011-10-21 16:15:58.952795 Event: Terminate
-On: 2011-10-21 16:15:58.952853 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:16:03.743168 ------------------
-On: 2011-10-21 16:16:03.763597 Event: try to Connect to Controller
-On: 2011-10-21 16:16:05.001150 Event: init state
-On: 2011-10-21 16:16:05.001382 Event: Register Account to SIP server
-On: 2011-10-21 16:16:05.001855 Event: 100
-On: 2011-10-21 16:16:05.001943 Event: Caller Handler Ready
-On: 2011-10-21 16:16:10.009757 Event: CALL START
-On: 2011-10-21 16:16:10.009817 Event: Make a call to: 015128040906
-On: 2011-10-21 16:16:22.931863 Event: Call Connecting
-On: 2011-10-21 16:16:22.931913 Event: 200
-On: 2011-10-21 16:16:22.936498 Event: Terminate
-On: 2011-10-21 16:16:22.936555 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:16:27.724012 ------------------
-On: 2011-10-21 16:16:27.748279 Event: try to Connect to Controller
-On: 2011-10-21 16:16:28.985017 Event: init state
-On: 2011-10-21 16:16:28.985253 Event: Register Account to SIP server
-On: 2011-10-21 16:16:28.985672 Event: 100
-On: 2011-10-21 16:16:28.985800 Event: Caller Handler Ready
-On: 2011-10-21 16:16:33.993758 Event: CALL START
-On: 2011-10-21 16:16:33.993817 Event: Make a call to: 015252423662
-On: 2011-10-21 16:16:44.045986 Event: Call Connecting
-On: 2011-10-21 16:16:44.046033 Event: 200
-On: 2011-10-21 16:16:44.049896 Event: Terminate
-On: 2011-10-21 16:16:44.049955 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:16:48.839283 ------------------
-On: 2011-10-21 16:16:48.870246 Event: try to Connect to Controller
-On: 2011-10-21 16:16:50.098784 Event: init state
-On: 2011-10-21 16:16:50.099020 Event: Register Account to SIP server
-On: 2011-10-21 16:16:50.099797 Event: 100
-On: 2011-10-21 16:16:50.099883 Event: Caller Handler Ready
-On: 2011-10-21 16:16:55.105766 Event: CALL START
-On: 2011-10-21 16:16:55.105825 Event: Make a call to: 017678038038
-On: 2011-10-21 16:17:04.096688 Event: Call Connecting
-On: 2011-10-21 16:17:04.096737 Event: 200
-On: 2011-10-21 16:17:04.101340 Event: Terminate
-On: 2011-10-21 16:17:04.101397 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:30:53.636857 ------------------
-On: 2011-10-21 16:30:53.664096 Event: try to Connect to Controller
-On: 2011-10-21 16:30:54.818788 Event: init state
-On: 2011-10-21 16:30:54.819022 Event: Register Account to SIP server
-On: 2011-10-21 16:30:54.819800 Event: 100
-On: 2011-10-21 16:30:54.819886 Event: Caller Handler Ready
-On: 2011-10-21 16:30:59.832851 Event: CALL START
-On: 2011-10-21 16:30:59.832904 Event: Make a call to: 015782677224
-On: 2011-10-21 16:31:10.219709 Event: Call Connecting
-On: 2011-10-21 16:31:10.219757 Event: 200
-On: 2011-10-21 16:31:10.224297 Event: Terminate
-On: 2011-10-21 16:31:10.224354 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:31:15.039520 ------------------
-On: 2011-10-21 16:31:15.060082 Event: try to Connect to Controller
-On: 2011-10-21 16:31:16.271572 Event: init state
-On: 2011-10-21 16:31:16.271808 Event: Register Account to SIP server
-On: 2011-10-21 16:31:16.272226 Event: 100
-On: 2011-10-21 16:31:16.272311 Event: Caller Handler Ready
-On: 2011-10-21 16:31:21.281822 Event: CALL START
-On: 2011-10-21 16:31:21.281883 Event: Make a call to: 017678038038
-On: 2011-10-21 16:31:31.400193 Event: Call Connecting
-On: 2011-10-21 16:31:31.400241 Event: 200
-On: 2011-10-21 16:31:31.404797 Event: Terminate
-On: 2011-10-21 16:31:31.404855 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:31:36.223097 ------------------
-On: 2011-10-21 16:31:36.243211 Event: try to Connect to Controller
-On: 2011-10-21 16:31:37.450018 Event: init state
-On: 2011-10-21 16:31:37.450247 Event: Register Account to SIP server
-On: 2011-10-21 16:31:37.450671 Event: 100
-On: 2011-10-21 16:31:37.450753 Event: Caller Handler Ready
-On: 2011-10-21 16:31:42.460845 Event: CALL START
-On: 2011-10-21 16:31:42.460900 Event: Make a call to: 015128040906
-On: 2011-10-21 16:31:52.428418 Event: Call Connecting
-On: 2011-10-21 16:31:52.428466 Event: 200
-On: 2011-10-21 16:31:52.433024 Event: Terminate
-On: 2011-10-21 16:31:52.433185 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:31:57.279702 ------------------
-On: 2011-10-21 16:31:57.341399 Event: try to Connect to Controller
-On: 2011-10-21 16:31:58.474821 Event: init state
-On: 2011-10-21 16:31:58.475055 Event: Register Account to SIP server
-On: 2011-10-21 16:31:58.475476 Event: 100
-On: 2011-10-21 16:31:58.475560 Event: Caller Handler Ready
-On: 2011-10-21 16:32:03.485638 Event: CALL START
-On: 2011-10-21 16:32:03.485698 Event: Make a call to: 015252423662
-On: 2011-10-21 16:32:13.340847 Event: Call Connecting
-On: 2011-10-21 16:32:13.340897 Event: 200
-On: 2011-10-21 16:32:13.346237 Event: Terminate
-On: 2011-10-21 16:32:13.346296 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:47:57.273611 ------------------
-On: 2011-10-21 16:47:57.298412 Event: try to Connect to Controller
-On: 2011-10-21 16:47:58.526169 Event: init state
-On: 2011-10-21 16:47:58.526404 Event: Register Account to SIP server
-On: 2011-10-21 16:47:58.526821 Event: 100
-On: 2011-10-21 16:47:58.526906 Event: Receiver Handler Ready
-On: 2011-10-21 16:47:58.527489 Event: RECEIVE START
-On: 2011-10-21 16:48:00.639953 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-21 16:48:00.640452 Event: Call Connecting
-On: 2011-10-21 16:48:00.640493 Event: 200
-On: 2011-10-21 16:48:00.640751 Event: Answer call
-On: 2011-10-21 16:48:00.640803 Event: Hangup call
-On: 2011-10-21 16:48:00.640982 Event: CALL OK
-On: 2011-10-21 16:48:00.691694 Event: Call Disconnected
-On: 2011-10-21 16:48:01.930660 Event: Terminate
-On: 2011-10-21 16:48:01.930707 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:51:56.344846 ------------------
-On: 2011-10-21 16:51:56.365968 Event: try to Connect to Controller
-On: 2011-10-21 16:51:57.590868 Event: init state
-On: 2011-10-21 16:51:57.591104 Event: Register Account to SIP server
-On: 2011-10-21 16:51:57.591880 Event: 100
-On: 2011-10-21 16:51:57.591961 Event: Receiver Handler Ready
-On: 2011-10-21 16:51:57.592300 Event: RECEIVE START
-On: 2011-10-21 16:52:00.316279 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-21 16:52:00.316777 Event: Call Connecting
-On: 2011-10-21 16:52:00.316819 Event: 200
-On: 2011-10-21 16:52:00.317073 Event: Answer call
-On: 2011-10-21 16:52:00.317125 Event: Hangup call
-On: 2011-10-21 16:52:00.317304 Event: CALL OK
-On: 2011-10-21 16:52:00.367991 Event: Call Disconnected
-On: 2011-10-21 16:52:01.667954 Event: Terminate
-On: 2011-10-21 16:52:01.668003 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:54:50.307368 ------------------
-On: 2011-10-21 16:54:50.327854 Event: try to Connect to Controller
-On: 2011-10-21 16:54:51.634774 Event: init state
-On: 2011-10-21 16:54:51.635013 Event: Register Account to SIP server
-On: 2011-10-21 16:54:51.635429 Event: 100
-On: 2011-10-21 16:54:51.635513 Event: Receiver Handler Ready
-On: 2011-10-21 16:54:51.635921 Event: RECEIVE START
-On: 2011-10-21 16:54:54.475270 Event: {Call "447" <sip:447@132.230.4.8>}
-On: 2011-10-21 16:54:54.475767 Event: Call Connecting
-On: 2011-10-21 16:54:54.475809 Event: 200
-On: 2011-10-21 16:54:54.476063 Event: Answer call
-On: 2011-10-21 16:54:54.476115 Event: Hangup call
-On: 2011-10-21 16:54:54.476291 Event: CALL OK
-On: 2011-10-21 16:54:54.526987 Event: Call Disconnected
-On: 2011-10-21 16:54:55.855673 Event: Terminate
-On: 2011-10-21 16:54:55.855728 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:21:39.401385 ------------------
-On: 2011-10-21 17:21:39.422151 Event: try to Connect to Controller
-On: 2011-10-21 17:21:40.714467 Event: init state
-On: 2011-10-21 17:21:40.714717 Event: Register Account to SIP server
-On: 2011-10-21 17:21:40.715494 Event: 100
-On: 2011-10-21 17:21:40.718000 Event: Caller Handler Ready
-On: 2011-10-21 17:21:45.728844 Event: CALL START
-On: 2011-10-21 17:21:45.728899 Event: Make a call to: 015782677224
-On: 2011-10-21 17:21:57.076354 Event: Call Connecting
-On: 2011-10-21 17:21:57.076402 Event: 200
-On: 2011-10-21 17:21:57.080225 Event: Terminate
-On: 2011-10-21 17:21:57.080284 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:22:01.809172 ------------------
-On: 2011-10-21 17:22:01.830294 Event: try to Connect to Controller
-On: 2011-10-21 17:22:03.123932 Event: init state
-On: 2011-10-21 17:22:03.124163 Event: Register Account to SIP server
-On: 2011-10-21 17:22:03.124575 Event: 100
-On: 2011-10-21 17:22:03.124661 Event: Caller Handler Ready
-On: 2011-10-21 17:22:08.136946 Event: CALL START
-On: 2011-10-21 17:22:08.136998 Event: Make a call to: 017678038038
-On: 2011-10-21 17:22:18.513459 Event: Call Connecting
-On: 2011-10-21 17:22:18.513506 Event: 200
-On: 2011-10-21 17:22:18.517427 Event: Terminate
-On: 2011-10-21 17:22:18.517486 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:22:23.248809 ------------------
-On: 2011-10-21 17:22:23.269284 Event: try to Connect to Controller
-On: 2011-10-21 17:22:24.561194 Event: init state
-On: 2011-10-21 17:22:24.561439 Event: Register Account to SIP server
-On: 2011-10-21 17:22:24.562420 Event: 100
-On: 2011-10-21 17:22:24.562521 Event: Caller Handler Ready
-On: 2011-10-21 17:22:29.572865 Event: CALL START
-On: 2011-10-21 17:22:29.572918 Event: Make a call to: 015128040906
-On: 2011-10-21 17:22:41.847954 Event: Call Connecting
-On: 2011-10-21 17:22:41.848001 Event: 200
-On: 2011-10-21 17:22:41.851430 Event: Terminate
-On: 2011-10-21 17:22:41.851490 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:22:46.579082 ------------------
-On: 2011-10-21 17:22:46.599995 Event: try to Connect to Controller
-On: 2011-10-21 17:22:47.895880 Event: init state
-On: 2011-10-21 17:22:47.896130 Event: Register Account to SIP server
-On: 2011-10-21 17:22:47.896547 Event: 100
-On: 2011-10-21 17:22:47.896632 Event: Caller Handler Ready
-On: 2011-10-21 17:22:52.908842 Event: CALL START
-On: 2011-10-21 17:22:52.908897 Event: Make a call to: 015252423662
-On: 2011-10-21 17:23:02.462174 Event: Call Connecting
-On: 2011-10-21 17:23:02.462222 Event: 200
-On: 2011-10-21 17:23:02.466107 Event: Terminate
-On: 2011-10-21 17:23:02.466167 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:39:56.379432 ------------------
-On: 2011-10-21 17:39:56.399294 Event: try to Connect to Controller
-On: 2011-10-21 17:39:57.631649 Event: init state
-On: 2011-10-21 17:39:57.631888 Event: Register Account to SIP server
-On: 2011-10-21 17:39:57.632308 Event: 100
-On: 2011-10-21 17:39:57.632392 Event: Caller Handler Ready
-On: 2011-10-21 17:40:02.639683 Event: CALL START
-On: 2011-10-21 17:40:02.639738 Event: Make a call to: 015782677224
-On: 2011-10-21 17:40:14.285616 Event: Call Connecting
-On: 2011-10-21 17:40:14.285664 Event: 200
-On: 2011-10-21 17:40:14.289901 Event: Terminate
-On: 2011-10-21 17:40:14.289959 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:40:19.084778 ------------------
-On: 2011-10-21 17:40:19.104960 Event: try to Connect to Controller
-On: 2011-10-21 17:40:20.336750 Event: init state
-On: 2011-10-21 17:40:20.337024 Event: Register Account to SIP server
-On: 2011-10-21 17:40:20.337868 Event: 100
-On: 2011-10-21 17:40:20.337955 Event: Caller Handler Ready
-On: 2011-10-21 17:40:25.345758 Event: CALL START
-On: 2011-10-21 17:40:25.345818 Event: Make a call to: 017678038038
-On: 2011-10-21 17:40:34.376707 Event: Call Connecting
-On: 2011-10-21 17:40:34.376756 Event: 200
-On: 2011-10-21 17:40:34.381252 Event: Terminate
-On: 2011-10-21 17:40:34.381310 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:40:39.170499 ------------------
-On: 2011-10-21 17:40:39.194589 Event: try to Connect to Controller
-On: 2011-10-21 17:40:40.429890 Event: init state
-On: 2011-10-21 17:40:40.430125 Event: Register Account to SIP server
-On: 2011-10-21 17:40:40.430547 Event: 100
-On: 2011-10-21 17:40:40.430629 Event: Caller Handler Ready
-On: 2011-10-21 17:40:45.437761 Event: CALL START
-On: 2011-10-21 17:40:45.437822 Event: Make a call to: 015128040906
-On: 2011-10-21 17:40:55.546441 Event: Call Connecting
-On: 2011-10-21 17:40:55.546491 Event: 200
-On: 2011-10-21 17:40:55.549901 Event: Terminate
-On: 2011-10-21 17:40:55.549960 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:41:00.354594 ------------------
-On: 2011-10-21 17:41:00.374922 Event: try to Connect to Controller
-On: 2011-10-21 17:41:01.598757 Event: init state
-On: 2011-10-21 17:41:01.598991 Event: Register Account to SIP server
-On: 2011-10-21 17:41:01.599411 Event: 100
-On: 2011-10-21 17:41:01.599495 Event: Caller Handler Ready
-On: 2011-10-21 17:41:06.605759 Event: CALL START
-On: 2011-10-21 17:41:06.605819 Event: Make a call to: 015252423662
-On: 2011-10-21 17:41:18.463907 Event: Call Connecting
-On: 2011-10-21 17:41:18.463956 Event: 200
-On: 2011-10-21 17:41:18.468464 Event: Terminate
-On: 2011-10-21 17:41:18.468521 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:03:14.591544 ------------------
-On: 2011-10-21 19:03:14.611561 Event: try to Connect to Controller
-On: 2011-10-21 19:03:15.846858 Event: init state
-On: 2011-10-21 19:03:15.847091 Event: Register Account to SIP server
-On: 2011-10-21 19:03:15.847536 Event: 100
-On: 2011-10-21 19:03:15.847619 Event: Caller Handler Ready
-On: 2011-10-21 19:03:20.853760 Event: CALL START
-On: 2011-10-21 19:03:20.853821 Event: Make a call to: 015782677224
-On: 2011-10-21 19:03:31.269303 Event: Call Connecting
-On: 2011-10-21 19:03:31.269353 Event: 200
-On: 2011-10-21 19:03:31.273890 Event: Terminate
-On: 2011-10-21 19:03:31.273947 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:03:36.067605 ------------------
-On: 2011-10-21 19:03:36.092450 Event: try to Connect to Controller
-On: 2011-10-21 19:03:37.321572 Event: init state
-On: 2011-10-21 19:03:37.321841 Event: Register Account to SIP server
-On: 2011-10-21 19:03:37.322647 Event: 100
-On: 2011-10-21 19:03:37.322729 Event: Caller Handler Ready
-On: 2011-10-21 19:03:42.329763 Event: CALL START
-On: 2011-10-21 19:03:42.329822 Event: Make a call to: 017678038038
-On: 2011-10-21 19:03:51.057141 Event: Call Connecting
-On: 2011-10-21 19:03:51.057191 Event: 200
-On: 2011-10-21 19:03:51.061630 Event: Terminate
-On: 2011-10-21 19:03:51.061688 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:03:55.851468 ------------------
-On: 2011-10-21 19:03:55.882311 Event: try to Connect to Controller
-On: 2011-10-21 19:03:57.109837 Event: init state
-On: 2011-10-21 19:03:57.110077 Event: Register Account to SIP server
-On: 2011-10-21 19:03:57.110493 Event: 100
-On: 2011-10-21 19:03:57.110578 Event: Caller Handler Ready
-On: 2011-10-21 19:04:02.117757 Event: CALL START
-On: 2011-10-21 19:04:02.117817 Event: Make a call to: 015128040906
-On: 2011-10-21 19:04:12.592486 Event: Call Connecting
-On: 2011-10-21 19:04:12.592536 Event: 200
-On: 2011-10-21 19:04:12.597020 Event: Terminate
-On: 2011-10-21 19:04:12.597078 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:04:17.384149 ------------------
-On: 2011-10-21 19:04:17.408870 Event: try to Connect to Controller
-On: 2011-10-21 19:04:18.638789 Event: init state
-On: 2011-10-21 19:04:18.639036 Event: Register Account to SIP server
-On: 2011-10-21 19:04:18.639452 Event: 100
-On: 2011-10-21 19:04:18.639537 Event: Caller Handler Ready
-On: 2011-10-21 19:04:23.649757 Event: CALL START
-On: 2011-10-21 19:04:23.649815 Event: Make a call to: 015252423662
-On: 2011-10-21 19:04:34.886072 Event: Call Connecting
-On: 2011-10-21 19:04:34.886122 Event: 200
-On: 2011-10-21 19:04:34.889903 Event: Terminate
-On: 2011-10-21 19:04:34.889962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:44:53.580980 ------------------
-On: 2011-10-21 19:44:53.605513 Event: try to Connect to Controller
-On: 2011-10-21 19:44:54.775790 Event: init state
-On: 2011-10-21 19:44:54.776021 Event: Register Account to SIP server
-On: 2011-10-21 19:44:54.776805 Event: 100
-On: 2011-10-21 19:44:54.776889 Event: Caller Handler Ready
-On: 2011-10-21 19:45:04.817286 Event: CALL START
-On: 2011-10-21 19:45:04.817355 Event: Make a call to: 07612034661455
-On: 2011-10-21 19:45:06.375305 Event: Call Connecting
-On: 2011-10-21 19:45:06.375356 Event: 200
-On: 2011-10-21 19:45:06.580458 Event: Terminate
-On: 2011-10-21 19:45:06.580516 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:45:35.004219 ------------------
-On: 2011-10-21 19:45:35.024449 Event: try to Connect to Controller
-On: 2011-10-21 19:45:36.158313 Event: init state
-On: 2011-10-21 19:45:36.158540 Event: Register Account to SIP server
-On: 2011-10-21 19:45:36.159316 Event: 100
-On: 2011-10-21 19:45:36.159402 Event: Caller Handler Ready
-On: 2011-10-21 19:45:46.194084 Event: CALL START
-On: 2011-10-21 19:45:46.194142 Event: Make a call to: 07612034661455
-On: 2011-10-21 19:45:48.754094 Event: Call Connecting
-On: 2011-10-21 19:45:48.754142 Event: 200
-On: 2011-10-21 19:45:48.933636 Event: Terminate
-On: 2011-10-21 19:45:48.933680 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:48:07.318171 ------------------
-On: 2011-10-21 19:48:07.338510 Event: try to Connect to Controller
-On: 2011-10-21 19:48:08.488898 Event: init state
-On: 2011-10-21 19:48:08.489122 Event: Register Account to SIP server
-On: 2011-10-21 19:48:08.489542 Event: 100
-On: 2011-10-21 19:48:08.489625 Event: Caller Handler Ready
-On: 2011-10-21 19:48:18.525780 Event: CALL START
-On: 2011-10-21 19:48:18.525841 Event: Make a call to: 07612034661455
-On: 2011-10-21 19:48:20.557156 Event: Call Connecting
-On: 2011-10-21 19:48:20.557207 Event: 200
-On: 2011-10-21 19:48:20.783615 Event: Terminate
-On: 2011-10-21 19:48:20.783657 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:54:41.487833 ------------------
-On: 2011-10-21 19:54:41.512625 Event: try to Connect to Controller
-On: 2011-10-21 19:54:42.741539 Event: init state
-On: 2011-10-21 19:54:42.741817 Event: Register Account to SIP server
-On: 2011-10-21 19:54:42.742265 Event: 100
-On: 2011-10-21 19:54:42.742347 Event: Caller Handler Ready
-On: 2011-10-21 19:54:47.749750 Event: CALL START
-On: 2011-10-21 19:54:47.749804 Event: Make a call to: 015782677224
-On: 2011-10-21 19:54:57.716263 Event: Call Connecting
-On: 2011-10-21 19:54:57.716312 Event: 200
-On: 2011-10-21 19:54:57.720809 Event: Terminate
-On: 2011-10-21 19:54:57.720869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:55:02.517145 ------------------
-On: 2011-10-21 19:55:02.541979 Event: try to Connect to Controller
-On: 2011-10-21 19:55:03.766765 Event: init state
-On: 2011-10-21 19:55:03.767002 Event: Register Account to SIP server
-On: 2011-10-21 19:55:03.767423 Event: 100
-On: 2011-10-21 19:55:03.767507 Event: Caller Handler Ready
-On: 2011-10-21 19:55:08.773757 Event: CALL START
-On: 2011-10-21 19:55:08.773817 Event: Make a call to: 015128040906
-On: 2011-10-21 19:55:18.681497 Event: Call Connecting
-On: 2011-10-21 19:55:18.681547 Event: 200
-On: 2011-10-21 19:55:18.685486 Event: Terminate
-On: 2011-10-21 19:55:18.685543 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:55:23.489953 ------------------
-On: 2011-10-21 19:55:23.510507 Event: try to Connect to Controller
-On: 2011-10-21 19:55:24.734316 Event: init state
-On: 2011-10-21 19:55:24.734557 Event: Register Account to SIP server
-On: 2011-10-21 19:55:24.735337 Event: 100
-On: 2011-10-21 19:55:24.735419 Event: Caller Handler Ready
-On: 2011-10-21 19:55:29.741802 Event: CALL START
-On: 2011-10-21 19:55:29.741872 Event: Make a call to: 015252423662
-On: 2011-10-21 19:55:41.200479 Event: Call Connecting
-On: 2011-10-21 19:55:41.200525 Event: 200
-On: 2011-10-21 19:55:41.205024 Event: Terminate
-On: 2011-10-21 19:55:41.205082 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:55:46.001311 ------------------
-On: 2011-10-21 19:55:46.022112 Event: try to Connect to Controller
-On: 2011-10-21 19:55:47.254332 Event: init state
-On: 2011-10-21 19:55:47.254571 Event: Register Account to SIP server
-On: 2011-10-21 19:55:47.254987 Event: 100
-On: 2011-10-21 19:55:47.255073 Event: Caller Handler Ready
-On: 2011-10-21 19:55:52.261843 Event: CALL START
-On: 2011-10-21 19:55:52.261902 Event: Make a call to: 017678038038
-On: 2011-10-21 19:56:03.193978 Event: Call Connecting
-On: 2011-10-21 19:56:03.194028 Event: 200
-On: 2011-10-21 19:56:03.197902 Event: Terminate
-On: 2011-10-21 19:56:03.197962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:58:45.158756 ------------------
-On: 2011-10-21 19:58:45.179385 Event: try to Connect to Controller
-On: 2011-10-21 19:58:46.404863 Event: init state
-On: 2011-10-21 19:58:46.405099 Event: Register Account to SIP server
-On: 2011-10-21 19:58:46.405523 Event: 100
-On: 2011-10-21 19:58:46.405607 Event: Caller Handler Ready
-On: 2011-10-21 19:58:51.413765 Event: CALL START
-On: 2011-10-21 19:58:51.413826 Event: Make a call to: 015782677224
-On: 2011-10-21 19:59:01.529086 Event: Call Connecting
-On: 2011-10-21 19:59:01.529136 Event: 200
-On: 2011-10-21 19:59:01.533616 Event: Terminate
-On: 2011-10-21 19:59:01.533672 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:59:06.336425 ------------------
-On: 2011-10-21 19:59:06.357098 Event: try to Connect to Controller
-On: 2011-10-21 19:59:07.581579 Event: init state
-On: 2011-10-21 19:59:07.581861 Event: Register Account to SIP server
-On: 2011-10-21 19:59:07.582291 Event: 100
-On: 2011-10-21 19:59:07.582376 Event: Caller Handler Ready
-On: 2011-10-21 19:59:12.589758 Event: CALL START
-On: 2011-10-21 19:59:12.589816 Event: Make a call to: 017678038038
-On: 2011-10-21 19:59:23.225491 Event: Call Connecting
-On: 2011-10-21 19:59:23.225539 Event: 200
-On: 2011-10-21 19:59:23.229902 Event: Terminate
-On: 2011-10-21 19:59:23.229960 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:59:28.031490 ------------------
-On: 2011-10-21 19:59:28.051967 Event: try to Connect to Controller
-On: 2011-10-21 19:59:29.278779 Event: init state
-On: 2011-10-21 19:59:29.279009 Event: Register Account to SIP server
-On: 2011-10-21 19:59:29.279429 Event: 100
-On: 2011-10-21 19:59:29.279514 Event: Caller Handler Ready
-On: 2011-10-21 19:59:34.288867 Event: CALL START
-On: 2011-10-21 19:59:34.288924 Event: Make a call to: 015252423662
-On: 2011-10-21 19:59:44.353422 Event: Call Connecting
-On: 2011-10-21 19:59:44.353472 Event: 200
-On: 2011-10-21 19:59:44.357900 Event: Terminate
-On: 2011-10-21 19:59:44.357960 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:59:49.167685 ------------------
-On: 2011-10-21 19:59:49.188528 Event: try to Connect to Controller
-On: 2011-10-21 19:59:50.413595 Event: init state
-On: 2011-10-21 19:59:50.413883 Event: Register Account to SIP server
-On: 2011-10-21 19:59:50.414307 Event: 100
-On: 2011-10-21 19:59:50.414394 Event: Caller Handler Ready
-On: 2011-10-21 19:59:55.421760 Event: CALL START
-On: 2011-10-21 19:59:55.421819 Event: Make a call to: 015128040906
-On: 2011-10-21 20:00:06.053892 Event: Call Connecting
-On: 2011-10-21 20:00:06.053941 Event: 200
-On: 2011-10-21 20:00:07.419698 Event: Terminate
-On: 2011-10-21 20:00:07.419739 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:04:53.340215 ------------------
-On: 2011-10-21 20:04:53.364563 Event: try to Connect to Controller
-On: 2011-10-21 20:04:54.537282 Event: init state
-On: 2011-10-21 20:04:54.537524 Event: Register Account to SIP server
-On: 2011-10-21 20:04:54.537993 Event: 100
-On: 2011-10-21 20:04:54.538077 Event: Caller Handler Ready
-On: 2011-10-21 20:04:59.545752 Event: CALL START
-On: 2011-10-21 20:04:59.545809 Event: Make a call to: 015782677224
-On: 2011-10-21 20:05:08.941585 Event: Call Connecting
-On: 2011-10-21 20:05:08.941634 Event: 200
-On: 2011-10-21 20:05:08.945892 Event: Terminate
-On: 2011-10-21 20:05:08.945950 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:05:13.805453 ------------------
-On: 2011-10-21 20:05:13.826821 Event: try to Connect to Controller
-On: 2011-10-21 20:05:14.994632 Event: init state
-On: 2011-10-21 20:05:14.994869 Event: Register Account to SIP server
-On: 2011-10-21 20:05:14.995651 Event: 100
-On: 2011-10-21 20:05:14.995740 Event: Caller Handler Ready
-On: 2011-10-21 20:05:20.004827 Event: CALL START
-On: 2011-10-21 20:05:20.004886 Event: Make a call to: 017678038038
-On: 2011-10-21 20:05:29.257712 Event: Call Connecting
-On: 2011-10-21 20:05:29.257792 Event: 200
-On: 2011-10-21 20:05:29.261902 Event: Terminate
-On: 2011-10-21 20:05:29.261962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:05:34.116955 ------------------
-On: 2011-10-21 20:05:34.138111 Event: try to Connect to Controller
-On: 2011-10-21 20:05:35.314559 Event: init state
-On: 2011-10-21 20:05:35.314795 Event: Register Account to SIP server
-On: 2011-10-21 20:05:35.315211 Event: 100
-On: 2011-10-21 20:05:35.315295 Event: Caller Handler Ready
-On: 2011-10-21 20:05:40.325017 Event: CALL START
-On: 2011-10-21 20:05:40.325075 Event: Make a call to: 015128040906
-On: 2011-10-21 20:05:51.154672 Event: Call Connecting
-On: 2011-10-21 20:05:51.154721 Event: 200
-On: 2011-10-21 20:05:51.157915 Event: Terminate
-On: 2011-10-21 20:05:51.157974 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:05:56.019543 ------------------
-On: 2011-10-21 20:05:56.040179 Event: try to Connect to Controller
-On: 2011-10-21 20:05:57.207805 Event: init state
-On: 2011-10-21 20:05:57.208040 Event: Register Account to SIP server
-On: 2011-10-21 20:05:57.208460 Event: 100
-On: 2011-10-21 20:05:57.208542 Event: Caller Handler Ready
-On: 2011-10-21 20:06:02.217759 Event: CALL START
-On: 2011-10-21 20:06:02.217820 Event: Make a call to: 015252423662
-On: 2011-10-21 20:06:12.341669 Event: Call Connecting
-On: 2011-10-21 20:06:12.341752 Event: 200
-On: 2011-10-21 20:06:12.345899 Event: Terminate
-On: 2011-10-21 20:06:12.345957 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:07:42.839114 ------------------
-On: 2011-10-21 20:07:42.865780 Event: try to Connect to Controller
-On: 2011-10-21 20:07:44.090434 Event: init state
-On: 2011-10-21 20:07:44.090667 Event: Register Account to SIP server
-On: 2011-10-21 20:07:44.091085 Event: 100
-On: 2011-10-21 20:07:44.091168 Event: Caller Handler Ready
-On: 2011-10-21 20:07:49.097757 Event: CALL START
-On: 2011-10-21 20:07:49.097816 Event: Make a call to: 015782677224
-On: 2011-10-21 20:07:59.007488 Event: Call Connecting
-On: 2011-10-21 20:07:59.007538 Event: 200
-On: 2011-10-21 20:07:59.009907 Event: Terminate
-On: 2011-10-21 20:07:59.009966 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:08:03.815776 ------------------
-On: 2011-10-21 20:08:03.837701 Event: try to Connect to Controller
-On: 2011-10-21 20:08:05.058492 Event: init state
-On: 2011-10-21 20:08:05.058727 Event: Register Account to SIP server
-On: 2011-10-21 20:08:05.059132 Event: 100
-On: 2011-10-21 20:08:05.059212 Event: Caller Handler Ready
-On: 2011-10-21 20:08:10.065751 Event: CALL START
-On: 2011-10-21 20:08:10.065806 Event: Make a call to: 015128040906
-On: 2011-10-21 20:08:21.468172 Event: Call Connecting
-On: 2011-10-21 20:08:21.468222 Event: 200
-On: 2011-10-21 20:08:21.472695 Event: Terminate
-On: 2011-10-21 20:08:21.472753 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:08:26.274889 ------------------
-On: 2011-10-21 20:08:26.295788 Event: try to Connect to Controller
-On: 2011-10-21 20:08:27.521067 Event: init state
-On: 2011-10-21 20:08:27.521303 Event: Register Account to SIP server
-On: 2011-10-21 20:08:27.522152 Event: 100
-On: 2011-10-21 20:08:27.522240 Event: Caller Handler Ready
-On: 2011-10-21 20:08:32.529761 Event: CALL START
-On: 2011-10-21 20:08:32.529821 Event: Make a call to: 015252423662
-On: 2011-10-21 20:08:42.541902 Event: Call Connecting
-On: 2011-10-21 20:08:42.541953 Event: 200
-On: 2011-10-21 20:08:42.545908 Event: Terminate
-On: 2011-10-21 20:08:42.545967 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:08:47.348805 ------------------
-On: 2011-10-21 20:08:47.369307 Event: try to Connect to Controller
-On: 2011-10-21 20:08:48.595376 Event: init state
-On: 2011-10-21 20:08:48.595617 Event: Register Account to SIP server
-On: 2011-10-21 20:08:48.596038 Event: 100
-On: 2011-10-21 20:08:48.596123 Event: Caller Handler Ready
-On: 2011-10-21 20:08:53.604885 Event: CALL START
-On: 2011-10-21 20:08:53.604944 Event: Make a call to: 017678038038
-On: 2011-10-21 20:09:03.211376 Event: Call Connecting
-On: 2011-10-21 20:09:03.211424 Event: 200
-On: 2011-10-21 20:09:03.213908 Event: Terminate
-On: 2011-10-21 20:09:03.213967 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:39:13.020444 ------------------
-On: 2011-10-21 20:39:13.040696 Event: try to Connect to Controller
-On: 2011-10-21 20:39:14.374243 Event: init state
-On: 2011-10-21 20:39:14.374482 Event: Register Account to SIP server
-On: 2011-10-21 20:39:14.374889 Event: 100
-On: 2011-10-21 20:39:14.374965 Event: Caller Handler Ready
-On: 2011-10-21 20:39:19.388962 Event: CALL START
-On: 2011-10-21 20:39:19.389020 Event: Make a call to: 017678038038
-On: 2011-10-21 20:39:29.421511 Event: Call Connecting
-On: 2011-10-21 20:39:29.421557 Event: 200
-On: 2011-10-21 20:39:29.425532 Event: Terminate
-On: 2011-10-21 20:39:29.425588 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:39:34.114943 ------------------
-On: 2011-10-21 20:39:34.134979 Event: try to Connect to Controller
-On: 2011-10-21 20:39:35.468685 Event: init state
-On: 2011-10-21 20:39:35.468936 Event: Register Account to SIP server
-On: 2011-10-21 20:39:35.469345 Event: 100
-On: 2011-10-21 20:39:35.469422 Event: Caller Handler Ready
-On: 2011-10-21 20:39:40.480981 Event: CALL START
-On: 2011-10-21 20:39:40.481033 Event: Make a call to: 015128040906
-On: 2011-10-21 20:39:50.512949 Event: Call Connecting
-On: 2011-10-21 20:39:50.512994 Event: 200
-On: 2011-10-21 20:39:50.516898 Event: Terminate
-On: 2011-10-21 20:39:50.516954 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:39:55.208640 ------------------
-On: 2011-10-21 20:39:55.229361 Event: try to Connect to Controller
-On: 2011-10-21 20:39:56.560959 Event: init state
-On: 2011-10-21 20:39:56.561207 Event: Register Account to SIP server
-On: 2011-10-21 20:39:56.562167 Event: 100
-On: 2011-10-21 20:39:56.564772 Event: Caller Handler Ready
-On: 2011-10-21 20:40:01.572979 Event: CALL START
-On: 2011-10-21 20:40:01.573036 Event: Make a call to: 015252423662
-On: 2011-10-21 20:40:10.377796 Event: Call Connecting
-On: 2011-10-21 20:40:10.377843 Event: 200
-On: 2011-10-21 20:40:10.381515 Event: Terminate
-On: 2011-10-21 20:40:10.381572 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:40:15.068681 ------------------
-On: 2011-10-21 20:40:15.088899 Event: try to Connect to Controller
-On: 2011-10-21 20:40:16.420915 Event: init state
-On: 2011-10-21 20:40:16.421158 Event: Register Account to SIP server
-On: 2011-10-21 20:40:16.421567 Event: 100
-On: 2011-10-21 20:40:16.421654 Event: Caller Handler Ready
-On: 2011-10-21 20:40:26.457588 Event: CALL START
-On: 2011-10-21 20:40:26.457643 Event: Make a call to: 07612034661447
-On: 2011-10-21 20:40:29.163129 Event: Call Connecting
-On: 2011-10-21 20:40:29.163176 Event: 200
-On: 2011-10-21 20:40:29.342864 Event: Terminate
-On: 2011-10-21 20:40:29.342918 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:58:49.789254 ------------------
-On: 2011-10-21 20:58:49.809910 Event: try to Connect to Controller
-On: 2011-10-21 20:58:51.141944 Event: init state
-On: 2011-10-21 20:58:51.142200 Event: Register Account to SIP server
-On: 2011-10-21 20:58:51.142970 Event: 100
-On: 2011-10-21 20:58:51.145260 Event: Caller Handler Ready
-On: 2011-10-21 20:58:56.156955 Event: CALL START
-On: 2011-10-21 20:58:56.157006 Event: Make a call to: 015782677224
-On: 2011-10-21 20:59:06.958522 Event: Call Connecting
-On: 2011-10-21 20:59:06.958569 Event: 200
-On: 2011-10-21 20:59:06.962027 Event: Terminate
-On: 2011-10-21 20:59:06.962083 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:59:11.652975 ------------------
-On: 2011-10-21 20:59:11.673323 Event: try to Connect to Controller
-On: 2011-10-21 20:59:13.005324 Event: init state
-On: 2011-10-21 20:59:13.005568 Event: Register Account to SIP server
-On: 2011-10-21 20:59:13.006182 Event: 100
-On: 2011-10-21 20:59:13.006268 Event: Caller Handler Ready
-On: 2011-10-21 20:59:18.016977 Event: CALL START
-On: 2011-10-21 20:59:18.017029 Event: Make a call to: 017678038038
-On: 2011-10-21 20:59:27.896552 Event: Call Connecting
-On: 2011-10-21 20:59:27.896597 Event: 200
-On: 2011-10-21 20:59:27.898043 Event: Terminate
-On: 2011-10-21 20:59:27.898099 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:59:32.591086 ------------------
-On: 2011-10-21 20:59:32.611587 Event: try to Connect to Controller
-On: 2011-10-21 20:59:33.944057 Event: init state
-On: 2011-10-21 20:59:33.944302 Event: Register Account to SIP server
-On: 2011-10-21 20:59:33.944729 Event: 100
-On: 2011-10-21 20:59:33.944798 Event: Caller Handler Ready
-On: 2011-10-21 20:59:38.953756 Event: CALL START
-On: 2011-10-21 20:59:38.953810 Event: Make a call to: 015128040906
-On: 2011-10-21 20:59:52.211949 Event: Call Connecting
-On: 2011-10-21 20:59:52.211994 Event: 200
-On: 2011-10-21 20:59:52.214024 Event: Terminate
-On: 2011-10-21 20:59:52.214079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:59:56.907032 ------------------
-On: 2011-10-21 20:59:56.927242 Event: try to Connect to Controller
-On: 2011-10-21 20:59:58.259192 Event: init state
-On: 2011-10-21 20:59:58.259440 Event: Register Account to SIP server
-On: 2011-10-21 20:59:58.259851 Event: 100
-On: 2011-10-21 20:59:58.259934 Event: Caller Handler Ready
-On: 2011-10-21 21:00:03.272967 Event: CALL START
-On: 2011-10-21 21:00:03.273020 Event: Make a call to: 015252423662
-On: 2011-10-21 21:00:12.178801 Event: Call Connecting
-On: 2011-10-21 21:00:12.178846 Event: 200
-On: 2011-10-21 21:00:12.182076 Event: Terminate
-On: 2011-10-21 21:00:12.182133 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:14:16.057576 ------------------
-On: 2011-10-21 22:14:16.078004 Event: try to Connect to Controller
-On: 2011-10-21 22:14:17.398711 Event: init state
-On: 2011-10-21 22:14:17.398962 Event: Register Account to SIP server
-On: 2011-10-21 22:14:17.399731 Event: 100
-On: 2011-10-21 22:14:17.401938 Event: Caller Handler Ready
-On: 2011-10-21 22:14:22.412924 Event: CALL START
-On: 2011-10-21 22:14:22.412978 Event: Make a call to: 015782677224
-On: 2011-10-21 22:14:32.557353 Event: Call Connecting
-On: 2011-10-21 22:14:32.557400 Event: 200
-On: 2011-10-21 22:14:32.561256 Event: Terminate
-On: 2011-10-21 22:14:32.561313 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:14:37.254834 ------------------
-On: 2011-10-21 22:14:37.275867 Event: try to Connect to Controller
-On: 2011-10-21 22:14:38.604959 Event: init state
-On: 2011-10-21 22:14:38.605205 Event: Register Account to SIP server
-On: 2011-10-21 22:14:38.606170 Event: 100
-On: 2011-10-21 22:14:38.608563 Event: Caller Handler Ready
-On: 2011-10-21 22:14:43.616052 Event: CALL START
-On: 2011-10-21 22:14:43.616105 Event: Make a call to: 017678038038
-On: 2011-10-21 22:14:54.113368 Event: Call Connecting
-On: 2011-10-21 22:14:54.113411 Event: 200
-On: 2011-10-21 22:14:54.117299 Event: Terminate
-On: 2011-10-21 22:14:54.117354 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:14:58.810174 ------------------
-On: 2011-10-21 22:14:58.830737 Event: try to Connect to Controller
-On: 2011-10-21 22:15:00.160235 Event: init state
-On: 2011-10-21 22:15:00.160479 Event: Register Account to SIP server
-On: 2011-10-21 22:15:00.160889 Event: 100
-On: 2011-10-21 22:15:00.160965 Event: Caller Handler Ready
-On: 2011-10-21 22:15:05.171029 Event: CALL START
-On: 2011-10-21 22:15:05.171082 Event: Make a call to: 015128040906
-On: 2011-10-21 22:15:16.026484 Event: Call Connecting
-On: 2011-10-21 22:15:16.026529 Event: 200
-On: 2011-10-21 22:15:16.030021 Event: Terminate
-On: 2011-10-21 22:15:16.030075 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:15:20.720888 ------------------
-On: 2011-10-21 22:15:20.742070 Event: try to Connect to Controller
-On: 2011-10-21 22:15:22.073805 Event: init state
-On: 2011-10-21 22:15:22.074057 Event: Register Account to SIP server
-On: 2011-10-21 22:15:22.074463 Event: 100
-On: 2011-10-21 22:15:22.074539 Event: Caller Handler Ready
-On: 2011-10-21 22:15:27.082460 Event: CALL START
-On: 2011-10-21 22:15:27.082515 Event: Make a call to: 015252423662
-On: 2011-10-21 22:15:37.322995 Event: Call Connecting
-On: 2011-10-21 22:15:37.323040 Event: 200
-On: 2011-10-21 22:15:37.326023 Event: Terminate
-On: 2011-10-21 22:15:37.326079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:33:37.479015 ------------------
-On: 2011-10-21 22:33:37.499553 Event: try to Connect to Controller
-On: 2011-10-21 22:33:38.826709 Event: init state
-On: 2011-10-21 22:33:38.826954 Event: Register Account to SIP server
-On: 2011-10-21 22:33:38.827721 Event: 100
-On: 2011-10-21 22:33:38.827799 Event: Caller Handler Ready
-On: 2011-10-21 22:33:43.836965 Event: CALL START
-On: 2011-10-21 22:33:43.837026 Event: Make a call to: 015782677224
-On: 2011-10-21 22:33:56.027168 Event: Call Connecting
-On: 2011-10-21 22:33:56.027215 Event: 200
-On: 2011-10-21 22:33:56.030021 Event: Terminate
-On: 2011-10-21 22:33:56.030077 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:34:00.721954 ------------------
-On: 2011-10-21 22:34:00.742629 Event: try to Connect to Controller
-On: 2011-10-21 22:34:02.073315 Event: init state
-On: 2011-10-21 22:34:02.073556 Event: Register Account to SIP server
-On: 2011-10-21 22:34:02.074015 Event: 100
-On: 2011-10-21 22:34:02.074091 Event: Caller Handler Ready
-On: 2011-10-21 22:34:07.082661 Event: CALL START
-On: 2011-10-21 22:34:07.082714 Event: Make a call to: 015128040906
-On: 2011-10-21 22:34:19.523119 Event: Call Connecting
-On: 2011-10-21 22:34:19.523165 Event: 200
-On: 2011-10-21 22:34:19.526027 Event: Terminate
-On: 2011-10-21 22:34:19.526083 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:34:24.219100 ------------------
-On: 2011-10-21 22:34:24.239422 Event: try to Connect to Controller
-On: 2011-10-21 22:34:25.570378 Event: init state
-On: 2011-10-21 22:34:25.570624 Event: Register Account to SIP server
-On: 2011-10-21 22:34:25.571393 Event: 100
-On: 2011-10-21 22:34:25.573983 Event: Caller Handler Ready
-On: 2011-10-21 22:34:30.584944 Event: CALL START
-On: 2011-10-21 22:34:30.584998 Event: Make a call to: 015252423662
-On: 2011-10-21 22:34:40.874975 Event: Call Connecting
-On: 2011-10-21 22:34:40.875021 Event: 200
-On: 2011-10-21 22:34:40.878032 Event: Terminate
-On: 2011-10-21 22:34:40.878090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:43:52.070302 ------------------
-On: 2011-10-21 23:43:52.090355 Event: try to Connect to Controller
-On: 2011-10-21 23:43:53.414679 Event: init state
-On: 2011-10-21 23:43:53.414922 Event: Register Account to SIP server
-On: 2011-10-21 23:43:53.415685 Event: 100
-On: 2011-10-21 23:43:53.418020 Event: Caller Handler Ready
-On: 2011-10-21 23:43:58.424987 Event: CALL START
-On: 2011-10-21 23:43:58.425038 Event: Make a call to: 015782677224
-On: 2011-10-21 23:44:09.540530 Event: Call Connecting
-On: 2011-10-21 23:44:09.540577 Event: 200
-On: 2011-10-21 23:44:09.542035 Event: Terminate
-On: 2011-10-21 23:44:09.542091 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:44:14.235379 ------------------
-On: 2011-10-21 23:44:14.255645 Event: try to Connect to Controller
-On: 2011-10-21 23:44:15.587437 Event: init state
-On: 2011-10-21 23:44:15.587684 Event: Register Account to SIP server
-On: 2011-10-21 23:44:15.588090 Event: 100
-On: 2011-10-21 23:44:15.588171 Event: Caller Handler Ready
-On: 2011-10-21 23:44:20.600971 Event: CALL START
-On: 2011-10-21 23:44:20.601024 Event: Make a call to: 017678038038
-On: 2011-10-21 23:44:30.221337 Event: Call Connecting
-On: 2011-10-21 23:44:30.221382 Event: 200
-On: 2011-10-21 23:44:30.225065 Event: Terminate
-On: 2011-10-21 23:44:30.225120 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:44:34.914640 ------------------
-On: 2011-10-21 23:44:34.935063 Event: try to Connect to Controller
-On: 2011-10-21 23:44:36.268372 Event: init state
-On: 2011-10-21 23:44:36.268611 Event: Register Account to SIP server
-On: 2011-10-21 23:44:36.269031 Event: 100
-On: 2011-10-21 23:44:36.269105 Event: Caller Handler Ready
-On: 2011-10-21 23:44:41.280970 Event: CALL START
-On: 2011-10-21 23:44:41.281021 Event: Make a call to: 015128040906
-On: 2011-10-21 23:45:02.008589 Event: Call Connecting
-On: 2011-10-21 23:45:02.008633 Event: 200
-On: 2011-10-21 23:45:02.009669 Event: Terminate
-On: 2011-10-21 23:45:02.009709 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:45:06.731839 ------------------
-On: 2011-10-21 23:45:06.752398 Event: try to Connect to Controller
-On: 2011-10-21 23:45:08.086288 Event: init state
-On: 2011-10-21 23:45:08.086534 Event: Register Account to SIP server
-On: 2011-10-21 23:45:08.086948 Event: 100
-On: 2011-10-21 23:45:08.087028 Event: Caller Handler Ready
-On: 2011-10-21 23:45:13.093752 Event: CALL START
-On: 2011-10-21 23:45:13.093807 Event: Make a call to: 015252423662
-On: 2011-10-21 23:45:23.438518 Event: Call Connecting
-On: 2011-10-21 23:45:23.438564 Event: 200
-On: 2011-10-21 23:45:23.442025 Event: Terminate
-On: 2011-10-21 23:45:23.442081 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:03:47.869944 ------------------
-On: 2011-10-22 00:03:47.890295 Event: try to Connect to Controller
-On: 2011-10-22 00:03:49.219521 Event: init state
-On: 2011-10-22 00:03:49.219762 Event: Register Account to SIP server
-On: 2011-10-22 00:03:49.220170 Event: 100
-On: 2011-10-22 00:03:49.220251 Event: Caller Handler Ready
-On: 2011-10-22 00:03:54.232951 Event: CALL START
-On: 2011-10-22 00:03:54.233006 Event: Make a call to: 015782677224
-On: 2011-10-22 00:04:03.907110 Event: Call Connecting
-On: 2011-10-22 00:04:03.907156 Event: 200
-On: 2011-10-22 00:04:03.910024 Event: Terminate
-On: 2011-10-22 00:04:03.910080 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:04:08.600378 ------------------
-On: 2011-10-22 00:04:08.620721 Event: try to Connect to Controller
-On: 2011-10-22 00:04:09.954100 Event: init state
-On: 2011-10-22 00:04:09.954364 Event: Register Account to SIP server
-On: 2011-10-22 00:04:09.955132 Event: 100
-On: 2011-10-22 00:04:09.957380 Event: Caller Handler Ready
-On: 2011-10-22 00:04:14.965000 Event: CALL START
-On: 2011-10-22 00:04:14.965052 Event: Make a call to: 017678038038
-On: 2011-10-22 00:04:23.676726 Event: Call Connecting
-On: 2011-10-22 00:04:23.676773 Event: 200
-On: 2011-10-22 00:04:23.678039 Event: Terminate
-On: 2011-10-22 00:04:23.678099 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:04:28.372071 ------------------
-On: 2011-10-22 00:04:28.392119 Event: try to Connect to Controller
-On: 2011-10-22 00:04:29.723525 Event: init state
-On: 2011-10-22 00:04:29.723775 Event: Register Account to SIP server
-On: 2011-10-22 00:04:29.724180 Event: 100
-On: 2011-10-22 00:04:29.724261 Event: Caller Handler Ready
-On: 2011-10-22 00:04:34.736958 Event: CALL START
-On: 2011-10-22 00:04:34.737012 Event: Make a call to: 015128040906
-On: 2011-10-22 00:04:44.204756 Event: Call Connecting
-On: 2011-10-22 00:04:44.204801 Event: 200
-On: 2011-10-22 00:04:44.208709 Event: Terminate
-On: 2011-10-22 00:04:44.208764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:04:48.897432 ------------------
-On: 2011-10-22 00:04:48.917656 Event: try to Connect to Controller
-On: 2011-10-22 00:04:50.251184 Event: init state
-On: 2011-10-22 00:04:50.251436 Event: Register Account to SIP server
-On: 2011-10-22 00:04:50.251846 Event: 100
-On: 2011-10-22 00:04:50.251923 Event: Caller Handler Ready
-On: 2011-10-22 00:04:55.264817 Event: CALL START
-On: 2011-10-22 00:04:55.264871 Event: Make a call to: 015252423662
-On: 2011-10-22 00:05:04.529710 Event: Call Connecting
-On: 2011-10-22 00:05:04.529910 Event: 200
-On: 2011-10-22 00:05:04.533541 Event: Terminate
-On: 2011-10-22 00:05:04.533597 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:05:09.215312 ------------------
-On: 2011-10-22 00:05:09.235880 Event: try to Connect to Controller
-On: 2011-10-22 00:05:10.571297 Event: init state
-On: 2011-10-22 00:05:10.571557 Event: Register Account to SIP server
-On: 2011-10-22 00:05:10.571963 Event: 100
-On: 2011-10-22 00:05:10.572043 Event: Caller Handler Ready
-On: 2011-10-22 00:05:20.605752 Event: CALL START
-On: 2011-10-22 00:05:20.605807 Event: Make a call to: 07612034661455
-On: 2011-10-22 00:05:22.751059 Event: Call Connecting
-On: 2011-10-22 00:05:22.751105 Event: 200
-On: 2011-10-22 00:05:22.968992 Event: Terminate
-On: 2011-10-22 00:05:22.969046 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:19:56.717638 ------------------
-On: 2011-10-22 00:19:56.738010 Event: try to Connect to Controller
-On: 2011-10-22 00:19:58.069216 Event: init state
-On: 2011-10-22 00:19:58.069460 Event: Register Account to SIP server
-On: 2011-10-22 00:19:58.070428 Event: 100
-On: 2011-10-22 00:19:58.070523 Event: Caller Handler Ready
-On: 2011-10-22 00:20:03.077879 Event: CALL START
-On: 2011-10-22 00:20:03.077933 Event: Make a call to: 015782677224
-On: 2011-10-22 00:20:14.394555 Event: Call Connecting
-On: 2011-10-22 00:20:14.394601 Event: 200
-On: 2011-10-22 00:20:14.398017 Event: Terminate
-On: 2011-10-22 00:20:14.398074 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:20:19.090410 ------------------
-On: 2011-10-22 00:20:19.110575 Event: try to Connect to Controller
-On: 2011-10-22 00:20:20.441552 Event: init state
-On: 2011-10-22 00:20:20.441974 Event: Register Account to SIP server
-On: 2011-10-22 00:20:20.442400 Event: 100
-On: 2011-10-22 00:20:20.442481 Event: Caller Handler Ready
-On: 2011-10-22 00:20:25.450670 Event: CALL START
-On: 2011-10-22 00:20:25.450728 Event: Make a call to: 017678038038
-On: 2011-10-22 00:20:36.970283 Event: Call Connecting
-On: 2011-10-22 00:20:36.970329 Event: 200
-On: 2011-10-22 00:20:36.974019 Event: Terminate
-On: 2011-10-22 00:20:36.974076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:20:41.664029 ------------------
-On: 2011-10-22 00:20:41.684547 Event: try to Connect to Controller
-On: 2011-10-22 00:20:43.016989 Event: init state
-On: 2011-10-22 00:20:43.017251 Event: Register Account to SIP server
-On: 2011-10-22 00:20:43.017660 Event: 100
-On: 2011-10-22 00:20:43.018846 Event: Caller Handler Ready
-On: 2011-10-22 00:20:48.028989 Event: CALL START
-On: 2011-10-22 00:20:48.029039 Event: Make a call to: 015252423662
-On: 2011-10-22 00:20:57.507471 Event: Call Connecting
-On: 2011-10-22 00:20:57.507517 Event: 200
-On: 2011-10-22 00:20:57.510033 Event: Terminate
-On: 2011-10-22 00:20:57.510091 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:21:02.204106 ------------------
-On: 2011-10-22 00:21:02.224613 Event: try to Connect to Controller
-On: 2011-10-22 00:21:03.555420 Event: init state
-On: 2011-10-22 00:21:03.555651 Event: Register Account to SIP server
-On: 2011-10-22 00:21:03.556057 Event: 100
-On: 2011-10-22 00:21:03.556137 Event: Caller Handler Ready
-On: 2011-10-22 00:21:08.568973 Event: CALL START
-On: 2011-10-22 00:21:08.569033 Event: Make a call to: 015128040906
-On: 2011-10-22 00:21:27.759306 Event: Call Connecting
-On: 2011-10-22 00:21:27.759353 Event: 200
-On: 2011-10-22 00:21:27.760396 Event: Terminate
-On: 2011-10-22 00:21:27.760437 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:34:49.786476 ------------------
-On: 2011-10-22 00:34:49.806478 Event: try to Connect to Controller
-On: 2011-10-22 00:34:51.142079 Event: init state
-On: 2011-10-22 00:34:51.142335 Event: Register Account to SIP server
-On: 2011-10-22 00:34:51.142741 Event: 100
-On: 2011-10-22 00:34:51.142821 Event: Caller Handler Ready
-On: 2011-10-22 00:34:56.152981 Event: CALL START
-On: 2011-10-22 00:34:56.153031 Event: Make a call to: 015782677224
-On: 2011-10-22 00:35:07.718708 Event: Call Connecting
-On: 2011-10-22 00:35:07.718754 Event: 200
-On: 2011-10-22 00:35:07.722024 Event: Terminate
-On: 2011-10-22 00:35:07.722079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:35:12.417008 ------------------
-On: 2011-10-22 00:35:12.437264 Event: try to Connect to Controller
-On: 2011-10-22 00:35:13.766547 Event: init state
-On: 2011-10-22 00:35:13.766793 Event: Register Account to SIP server
-On: 2011-10-22 00:35:13.767197 Event: 100
-On: 2011-10-22 00:35:13.767276 Event: Caller Handler Ready
-On: 2011-10-22 00:35:18.776952 Event: CALL START
-On: 2011-10-22 00:35:18.777004 Event: Make a call to: 017678038038
-On: 2011-10-22 00:35:27.892454 Event: Call Connecting
-On: 2011-10-22 00:35:27.892501 Event: 200
-On: 2011-10-22 00:35:27.894038 Event: Terminate
-On: 2011-10-22 00:35:27.894095 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:35:32.586429 ------------------
-On: 2011-10-22 00:35:32.606594 Event: try to Connect to Controller
-On: 2011-10-22 00:35:33.937858 Event: init state
-On: 2011-10-22 00:35:33.938106 Event: Register Account to SIP server
-On: 2011-10-22 00:35:33.938509 Event: 100
-On: 2011-10-22 00:35:33.938588 Event: Caller Handler Ready
-On: 2011-10-22 00:35:38.946890 Event: CALL START
-On: 2011-10-22 00:35:38.946944 Event: Make a call to: 015128040906
-On: 2011-10-22 00:35:58.814028 Event: Call Connecting
-On: 2011-10-22 00:35:58.814074 Event: 200
-On: 2011-10-22 00:35:58.815107 Event: Terminate
-On: 2011-10-22 00:35:58.815147 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:41:51.092391 ------------------
-On: 2011-10-22 00:41:51.112242 Event: try to Connect to Controller
-On: 2011-10-22 00:41:52.444220 Event: init state
-On: 2011-10-22 00:41:52.444471 Event: Register Account to SIP server
-On: 2011-10-22 00:41:52.445238 Event: 100
-On: 2011-10-22 00:41:52.447702 Event: Caller Handler Ready
-On: 2011-10-22 00:41:57.456955 Event: CALL START
-On: 2011-10-22 00:41:57.457005 Event: Make a call to: 015782677224
-On: 2011-10-22 00:42:07.852760 Event: Call Connecting
-On: 2011-10-22 00:42:07.852805 Event: 200
-On: 2011-10-22 00:42:07.855147 Event: Terminate
-On: 2011-10-22 00:42:07.855204 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:42:12.551241 ------------------
-On: 2011-10-22 00:42:12.571282 Event: try to Connect to Controller
-On: 2011-10-22 00:42:13.899955 Event: init state
-On: 2011-10-22 00:42:13.900203 Event: Register Account to SIP server
-On: 2011-10-22 00:42:13.900608 Event: 100
-On: 2011-10-22 00:42:13.900688 Event: Caller Handler Ready
-On: 2011-10-22 00:42:18.911213 Event: CALL START
-On: 2011-10-22 00:42:18.911268 Event: Make a call to: 017678038038
-On: 2011-10-22 00:42:28.178117 Event: Call Connecting
-On: 2011-10-22 00:42:28.178162 Event: 200
-On: 2011-10-22 00:42:28.182034 Event: Terminate
-On: 2011-10-22 00:42:28.182091 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:42:32.870180 ------------------
-On: 2011-10-22 00:42:32.890266 Event: try to Connect to Controller
-On: 2011-10-22 00:42:34.224345 Event: init state
-On: 2011-10-22 00:42:34.224588 Event: Register Account to SIP server
-On: 2011-10-22 00:42:34.224989 Event: 100
-On: 2011-10-22 00:42:34.225067 Event: Caller Handler Ready
-On: 2011-10-22 00:42:39.236966 Event: CALL START
-On: 2011-10-22 00:42:39.237019 Event: Make a call to: 015128040906
-On: 2011-10-22 00:42:58.936439 Event: Call Connecting
-On: 2011-10-22 00:42:58.936485 Event: 200
-On: 2011-10-22 00:42:58.937529 Event: Terminate
-On: 2011-10-22 00:42:58.937568 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:43:03.660542 ------------------
-On: 2011-10-22 00:43:03.680625 Event: try to Connect to Controller
-On: 2011-10-22 00:43:05.012886 Event: init state
-On: 2011-10-22 00:43:05.013116 Event: Register Account to SIP server
-On: 2011-10-22 00:43:05.014085 Event: 100
-On: 2011-10-22 00:43:05.014178 Event: Caller Handler Ready
-On: 2011-10-22 00:43:10.025019 Event: CALL START
-On: 2011-10-22 00:43:10.025075 Event: Make a call to: 015252423662
-On: 2011-10-22 00:43:20.168226 Event: Call Connecting
-On: 2011-10-22 00:43:20.168272 Event: 200
-On: 2011-10-22 00:43:20.170021 Event: Terminate
-On: 2011-10-22 00:43:20.170078 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:52:03.542471 ------------------
-On: 2011-10-22 00:52:03.562604 Event: try to Connect to Controller
-On: 2011-10-22 00:52:04.894256 Event: init state
-On: 2011-10-22 00:52:04.894505 Event: Register Account to SIP server
-On: 2011-10-22 00:52:04.894908 Event: 100
-On: 2011-10-22 00:52:04.894986 Event: Caller Handler Ready
-On: 2011-10-22 00:52:09.902687 Event: CALL START
-On: 2011-10-22 00:52:09.902742 Event: Make a call to: 015782677224
-On: 2011-10-22 00:52:19.170274 Event: Call Connecting
-On: 2011-10-22 00:52:19.170321 Event: 200
-On: 2011-10-22 00:52:19.174018 Event: Terminate
-On: 2011-10-22 00:52:19.174076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:52:23.869258 ------------------
-On: 2011-10-22 00:52:23.889935 Event: try to Connect to Controller
-On: 2011-10-22 00:52:25.217286 Event: init state
-On: 2011-10-22 00:52:25.217537 Event: Register Account to SIP server
-On: 2011-10-22 00:52:25.218152 Event: 100
-On: 2011-10-22 00:52:25.218242 Event: Caller Handler Ready
-On: 2011-10-22 00:52:30.228941 Event: CALL START
-On: 2011-10-22 00:52:30.228996 Event: Make a call to: 017678038038
-On: 2011-10-22 00:52:41.698687 Event: Call Connecting
-On: 2011-10-22 00:52:41.698734 Event: 200
-On: 2011-10-22 00:52:41.702024 Event: Terminate
-On: 2011-10-22 00:52:41.702081 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:52:46.400662 ------------------
-On: 2011-10-22 00:52:46.420925 Event: try to Connect to Controller
-On: 2011-10-22 00:52:47.745855 Event: init state
-On: 2011-10-22 00:52:47.746113 Event: Register Account to SIP server
-On: 2011-10-22 00:52:47.746518 Event: 100
-On: 2011-10-22 00:52:47.746596 Event: Caller Handler Ready
-On: 2011-10-22 00:52:52.756941 Event: CALL START
-On: 2011-10-22 00:52:52.756996 Event: Make a call to: 015128040906
-On: 2011-10-22 00:53:12.980755 Event: Call Connecting
-On: 2011-10-22 00:53:12.980800 Event: 200
-On: 2011-10-22 00:53:12.981566 Event: Terminate
-On: 2011-10-22 00:53:12.981614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:53:17.706076 ------------------
-On: 2011-10-22 00:53:17.726269 Event: try to Connect to Controller
-On: 2011-10-22 00:53:19.058313 Event: init state
-On: 2011-10-22 00:53:19.058568 Event: Register Account to SIP server
-On: 2011-10-22 00:53:19.058977 Event: 100
-On: 2011-10-22 00:53:19.059053 Event: Caller Handler Ready
-On: 2011-10-22 00:53:24.072955 Event: CALL START
-On: 2011-10-22 00:53:24.073005 Event: Make a call to: 015252423662
-On: 2011-10-22 00:53:33.591354 Event: Call Connecting
-On: 2011-10-22 00:53:33.591401 Event: 200
-On: 2011-10-22 00:53:33.594031 Event: Terminate
-On: 2011-10-22 00:53:33.594088 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:57:55.049940 ------------------
-On: 2011-10-22 00:57:55.069957 Event: try to Connect to Controller
-On: 2011-10-22 00:57:56.402230 Event: init state
-On: 2011-10-22 00:57:56.402479 Event: Register Account to SIP server
-On: 2011-10-22 00:57:56.402883 Event: 100
-On: 2011-10-22 00:57:56.402962 Event: Caller Handler Ready
-On: 2011-10-22 00:58:01.410143 Event: CALL START
-On: 2011-10-22 00:58:01.410196 Event: Make a call to: 015782677224
-On: 2011-10-22 00:58:13.036833 Event: Call Connecting
-On: 2011-10-22 00:58:13.036879 Event: 200
-On: 2011-10-22 00:58:13.040805 Event: Terminate
-On: 2011-10-22 00:58:13.040862 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:58:17.731301 ------------------
-On: 2011-10-22 00:58:17.751805 Event: try to Connect to Controller
-On: 2011-10-22 00:58:19.084164 Event: init state
-On: 2011-10-22 00:58:19.084410 Event: Register Account to SIP server
-On: 2011-10-22 00:58:19.084812 Event: 100
-On: 2011-10-22 00:58:19.084894 Event: Caller Handler Ready
-On: 2011-10-22 00:58:24.096976 Event: CALL START
-On: 2011-10-22 00:58:24.097029 Event: Make a call to: 017678038038
-On: 2011-10-22 00:58:34.384949 Event: Call Connecting
-On: 2011-10-22 00:58:34.384996 Event: 200
-On: 2011-10-22 00:58:34.388870 Event: Terminate
-On: 2011-10-22 00:58:34.388928 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:58:39.080979 ------------------
-On: 2011-10-22 00:58:39.101603 Event: try to Connect to Controller
-On: 2011-10-22 00:58:40.430690 Event: init state
-On: 2011-10-22 00:58:40.430942 Event: Register Account to SIP server
-On: 2011-10-22 00:58:40.431349 Event: 100
-On: 2011-10-22 00:58:40.431431 Event: Caller Handler Ready
-On: 2011-10-22 00:58:45.444941 Event: CALL START
-On: 2011-10-22 00:58:45.444993 Event: Make a call to: 015128040906
-On: 2011-10-22 00:58:59.007485 Event: Call Connecting
-On: 2011-10-22 00:58:59.007532 Event: 200
-On: 2011-10-22 00:58:59.010036 Event: Terminate
-On: 2011-10-22 00:58:59.010093 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:59:03.702649 ------------------
-On: 2011-10-22 00:59:03.723140 Event: try to Connect to Controller
-On: 2011-10-22 00:59:05.054807 Event: init state
-On: 2011-10-22 00:59:05.055047 Event: Register Account to SIP server
-On: 2011-10-22 00:59:05.055459 Event: 100
-On: 2011-10-22 00:59:05.055538 Event: Caller Handler Ready
-On: 2011-10-22 00:59:10.068945 Event: CALL START
-On: 2011-10-22 00:59:10.069002 Event: Make a call to: 015252423662
-On: 2011-10-22 00:59:19.586963 Event: Call Connecting
-On: 2011-10-22 00:59:19.587008 Event: 200
-On: 2011-10-22 00:59:19.590032 Event: Terminate
-On: 2011-10-22 00:59:19.590090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:59:24.287114 ------------------
-On: 2011-10-22 00:59:24.307228 Event: try to Connect to Controller
-On: 2011-10-22 00:59:25.630073 Event: init state
-On: 2011-10-22 00:59:25.630320 Event: Register Account to SIP server
-On: 2011-10-22 00:59:25.630722 Event: 100
-On: 2011-10-22 00:59:25.630801 Event: Caller Handler Ready
-On: 2011-10-22 00:59:35.667081 Event: CALL START
-On: 2011-10-22 00:59:35.667138 Event: Make a call to: 07612034661447
-On: 2011-10-22 00:59:37.253449 Event: Call Connecting
-On: 2011-10-22 00:59:37.253496 Event: 200
-On: 2011-10-22 00:59:37.448979 Event: Terminate
-On: 2011-10-22 00:59:37.449034 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:05:55.414774 ------------------
-On: 2011-10-22 01:05:55.434843 Event: try to Connect to Controller
-On: 2011-10-22 01:05:56.766592 Event: init state
-On: 2011-10-22 01:05:56.766844 Event: Register Account to SIP server
-On: 2011-10-22 01:05:56.767247 Event: 100
-On: 2011-10-22 01:05:56.767329 Event: Caller Handler Ready
-On: 2011-10-22 01:06:01.774613 Event: CALL START
-On: 2011-10-22 01:06:01.774668 Event: Make a call to: 015782677224
-On: 2011-10-22 01:06:12.637782 Event: Call Connecting
-On: 2011-10-22 01:06:12.637829 Event: 200
-On: 2011-10-22 01:06:12.641488 Event: Terminate
-On: 2011-10-22 01:06:12.641544 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:06:17.333272 ------------------
-On: 2011-10-22 01:06:17.353482 Event: try to Connect to Controller
-On: 2011-10-22 01:06:18.684496 Event: init state
-On: 2011-10-22 01:06:18.684743 Event: Register Account to SIP server
-On: 2011-10-22 01:06:18.685146 Event: 100
-On: 2011-10-22 01:06:18.685226 Event: Caller Handler Ready
-On: 2011-10-22 01:06:23.696978 Event: CALL START
-On: 2011-10-22 01:06:23.697031 Event: Make a call to: 017678038038
-On: 2011-10-22 01:06:35.777327 Event: Call Connecting
-On: 2011-10-22 01:06:35.777373 Event: 200
-On: 2011-10-22 01:06:35.779954 Event: Terminate
-On: 2011-10-22 01:06:35.780011 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:06:40.479118 ------------------
-On: 2011-10-22 01:06:40.499168 Event: try to Connect to Controller
-On: 2011-10-22 01:06:41.825793 Event: init state
-On: 2011-10-22 01:06:41.826050 Event: Register Account to SIP server
-On: 2011-10-22 01:06:41.826929 Event: 100
-On: 2011-10-22 01:06:41.829382 Event: Caller Handler Ready
-On: 2011-10-22 01:06:46.836989 Event: CALL START
-On: 2011-10-22 01:06:46.837046 Event: Make a call to: 015128040906
-On: 2011-10-22 01:07:04.858864 Event: Call Connecting
-On: 2011-10-22 01:07:04.858911 Event: 200
-On: 2011-10-22 01:07:04.862033 Event: Terminate
-On: 2011-10-22 01:07:04.862089 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:07:09.554936 ------------------
-On: 2011-10-22 01:07:09.575010 Event: try to Connect to Controller
-On: 2011-10-22 01:07:10.906240 Event: init state
-On: 2011-10-22 01:07:10.906492 Event: Register Account to SIP server
-On: 2011-10-22 01:07:10.906898 Event: 100
-On: 2011-10-22 01:07:10.906978 Event: Caller Handler Ready
-On: 2011-10-22 01:07:15.914520 Event: CALL START
-On: 2011-10-22 01:07:15.914573 Event: Make a call to: 015252423662
-On: 2011-10-22 01:07:25.446222 Event: Call Connecting
-On: 2011-10-22 01:07:25.446268 Event: 200
-On: 2011-10-22 01:07:25.450087 Event: Terminate
-On: 2011-10-22 01:07:25.450144 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:09:29.438400 ------------------
-On: 2011-10-22 01:09:29.458612 Event: try to Connect to Controller
-On: 2011-10-22 01:09:30.790310 Event: init state
-On: 2011-10-22 01:09:30.790548 Event: Register Account to SIP server
-On: 2011-10-22 01:09:30.790954 Event: 100
-On: 2011-10-22 01:09:30.791035 Event: Caller Handler Ready
-On: 2011-10-22 01:09:35.798471 Event: CALL START
-On: 2011-10-22 01:09:35.798524 Event: Make a call to: 015782677224
-On: 2011-10-22 01:09:46.651249 Event: Call Connecting
-On: 2011-10-22 01:09:46.651295 Event: 200
-On: 2011-10-22 01:09:46.654026 Event: Terminate
-On: 2011-10-22 01:09:46.654082 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:09:51.353671 ------------------
-On: 2011-10-22 01:09:51.374277 Event: try to Connect to Controller
-On: 2011-10-22 01:09:52.698255 Event: init state
-On: 2011-10-22 01:09:52.698504 Event: Register Account to SIP server
-On: 2011-10-22 01:09:52.698909 Event: 100
-On: 2011-10-22 01:09:52.698988 Event: Caller Handler Ready
-On: 2011-10-22 01:09:57.708998 Event: CALL START
-On: 2011-10-22 01:09:57.709046 Event: Make a call to: 015128040906
-On: 2011-10-22 01:10:17.214680 Event: Call Connecting
-On: 2011-10-22 01:10:17.214726 Event: 200
-On: 2011-10-22 01:10:17.215775 Event: Terminate
-On: 2011-10-22 01:10:17.215815 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:10:21.949424 ------------------
-On: 2011-10-22 01:10:21.970038 Event: try to Connect to Controller
-On: 2011-10-22 01:10:23.294298 Event: init state
-On: 2011-10-22 01:10:23.294551 Event: Register Account to SIP server
-On: 2011-10-22 01:10:23.294961 Event: 100
-On: 2011-10-22 01:10:23.295036 Event: Caller Handler Ready
-On: 2011-10-22 01:10:28.308840 Event: CALL START
-On: 2011-10-22 01:10:28.308893 Event: Make a call to: 015252423662
-On: 2011-10-22 01:10:39.015688 Event: Call Connecting
-On: 2011-10-22 01:10:39.015735 Event: 200
-On: 2011-10-22 01:10:39.019554 Event: Terminate
-On: 2011-10-22 01:10:39.019610 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:10:43.713972 ------------------
-On: 2011-10-22 01:10:43.734039 Event: try to Connect to Controller
-On: 2011-10-22 01:10:45.062790 Event: init state
-On: 2011-10-22 01:10:45.063030 Event: Register Account to SIP server
-On: 2011-10-22 01:10:45.063433 Event: 100
-On: 2011-10-22 01:10:45.063509 Event: Caller Handler Ready
-On: 2011-10-22 01:10:50.076944 Event: CALL START
-On: 2011-10-22 01:10:50.076997 Event: Make a call to: 017678038038
-On: 2011-10-22 01:10:59.341843 Event: Call Connecting
-On: 2011-10-22 01:10:59.341889 Event: 200
-On: 2011-10-22 01:10:59.345547 Event: Terminate
-On: 2011-10-22 01:10:59.345604 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:11:04.059253 ------------------
-On: 2011-10-22 01:11:04.079560 Event: try to Connect to Controller
-On: 2011-10-22 01:11:05.384813 Event: init state
-On: 2011-10-22 01:11:05.385057 Event: Register Account to SIP server
-On: 2011-10-22 01:11:05.385462 Event: 100
-On: 2011-10-22 01:11:05.385540 Event: Caller Handler Ready
-On: 2011-10-22 01:11:15.419438 Event: CALL START
-On: 2011-10-22 01:11:15.419493 Event: Make a call to: 07612034661447
-On: 2011-10-22 01:11:17.535869 Event: Call Connecting
-On: 2011-10-22 01:11:17.535916 Event: 200
-On: 2011-10-22 01:11:17.714846 Event: Terminate
-On: 2011-10-22 01:11:17.714900 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:11:22.430359 ------------------
-On: 2011-10-22 01:11:22.450643 Event: try to Connect to Controller
-On: 2011-10-22 01:11:23.770601 Event: init state
-On: 2011-10-22 01:11:23.770855 Event: Register Account to SIP server
-On: 2011-10-22 01:11:23.771622 Event: 100
-On: 2011-10-22 01:11:23.771704 Event: Caller Handler Ready
-On: 2011-10-22 01:11:28.784938 Event: CALL START
-On: 2011-10-22 01:11:28.784989 Event: Make a call to: 015128040906
-On: 2011-10-22 01:11:41.847528 Event: Call Connecting
-On: 2011-10-22 01:11:41.847573 Event: 200
-On: 2011-10-22 01:11:41.850066 Event: Terminate
-On: 2011-10-22 01:11:41.850131 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:14:48.804349 ------------------
-On: 2011-10-22 01:14:48.824759 Event: try to Connect to Controller
-On: 2011-10-22 01:14:50.146071 Event: init state
-On: 2011-10-22 01:14:50.146319 Event: Register Account to SIP server
-On: 2011-10-22 01:14:50.146725 Event: 100
-On: 2011-10-22 01:14:50.146802 Event: Caller Handler Ready
-On: 2011-10-22 01:14:55.156947 Event: CALL START
-On: 2011-10-22 01:14:55.157001 Event: Make a call to: 015782677224
-On: 2011-10-22 01:15:04.637109 Event: Call Connecting
-On: 2011-10-22 01:15:04.637155 Event: 200
-On: 2011-10-22 01:15:04.640993 Event: Terminate
-On: 2011-10-22 01:15:04.641049 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:15:09.338343 ------------------
-On: 2011-10-22 01:15:09.358506 Event: try to Connect to Controller
-On: 2011-10-22 01:15:10.682689 Event: init state
-On: 2011-10-22 01:15:10.682932 Event: Register Account to SIP server
-On: 2011-10-22 01:15:10.683345 Event: 100
-On: 2011-10-22 01:15:10.683423 Event: Caller Handler Ready
-On: 2011-10-22 01:15:15.692994 Event: CALL START
-On: 2011-10-22 01:15:15.693048 Event: Make a call to: 017678038038
-On: 2011-10-22 01:15:25.375690 Event: Call Connecting
-On: 2011-10-22 01:15:25.375737 Event: 200
-On: 2011-10-22 01:15:25.378028 Event: Terminate
-On: 2011-10-22 01:15:25.378085 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:15:30.076717 ------------------
-On: 2011-10-22 01:15:30.096895 Event: try to Connect to Controller
-On: 2011-10-22 01:15:31.422991 Event: init state
-On: 2011-10-22 01:15:31.423233 Event: Register Account to SIP server
-On: 2011-10-22 01:15:31.423640 Event: 100
-On: 2011-10-22 01:15:31.423719 Event: Caller Handler Ready
-On: 2011-10-22 01:15:36.432976 Event: CALL START
-On: 2011-10-22 01:15:36.433031 Event: Make a call to: 015252423662
-On: 2011-10-22 01:15:45.450278 Event: Call Connecting
-On: 2011-10-22 01:15:45.450324 Event: 200
-On: 2011-10-22 01:15:45.454031 Event: Terminate
-On: 2011-10-22 01:15:45.454090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:15:50.149003 ------------------
-On: 2011-10-22 01:15:50.169597 Event: try to Connect to Controller
-On: 2011-10-22 01:15:51.498209 Event: init state
-On: 2011-10-22 01:15:51.498456 Event: Register Account to SIP server
-On: 2011-10-22 01:15:51.498861 Event: 100
-On: 2011-10-22 01:15:51.498937 Event: Caller Handler Ready
-On: 2011-10-22 01:15:56.508948 Event: CALL START
-On: 2011-10-22 01:15:56.509003 Event: Make a call to: 015128040906
-On: 2011-10-22 01:16:06.391030 Event: Call Connecting
-On: 2011-10-22 01:16:06.391077 Event: 200
-On: 2011-10-22 01:16:06.394034 Event: Terminate
-On: 2011-10-22 01:16:06.394092 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:28:34.611091 ------------------
-On: 2011-10-22 01:28:34.631458 Event: try to Connect to Controller
-On: 2011-10-22 01:28:35.963333 Event: init state
-On: 2011-10-22 01:28:35.963579 Event: Register Account to SIP server
-On: 2011-10-22 01:28:35.964342 Event: 100
-On: 2011-10-22 01:28:35.965929 Event: Caller Handler Ready
-On: 2011-10-22 01:28:40.977006 Event: CALL START
-On: 2011-10-22 01:28:40.977055 Event: Make a call to: 015782677224
-On: 2011-10-22 01:28:51.887609 Event: Call Connecting
-On: 2011-10-22 01:28:51.887656 Event: 200
-On: 2011-10-22 01:28:51.890029 Event: Terminate
-On: 2011-10-22 01:28:51.890087 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:28:56.586091 ------------------
-On: 2011-10-22 01:28:56.606589 Event: try to Connect to Controller
-On: 2011-10-22 01:28:57.934671 Event: init state
-On: 2011-10-22 01:28:57.934921 Event: Register Account to SIP server
-On: 2011-10-22 01:28:57.935327 Event: 100
-On: 2011-10-22 01:28:57.935407 Event: Caller Handler Ready
-On: 2011-10-22 01:29:02.949751 Event: CALL START
-On: 2011-10-22 01:29:02.949804 Event: Make a call to: 017678038038
-On: 2011-10-22 01:29:11.498092 Event: Call Connecting
-On: 2011-10-22 01:29:11.498137 Event: 200
-On: 2011-10-22 01:29:11.501824 Event: Terminate
-On: 2011-10-22 01:29:11.501880 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:29:16.198780 ------------------
-On: 2011-10-22 01:29:16.219061 Event: try to Connect to Controller
-On: 2011-10-22 01:29:17.545503 Event: init state
-On: 2011-10-22 01:29:17.545916 Event: Register Account to SIP server
-On: 2011-10-22 01:29:17.546707 Event: 100
-On: 2011-10-22 01:29:17.548990 Event: Caller Handler Ready
-On: 2011-10-22 01:29:22.556929 Event: CALL START
-On: 2011-10-22 01:29:22.556982 Event: Make a call to: 015128040906
-On: 2011-10-22 01:29:42.166265 Event: Call Connecting
-On: 2011-10-22 01:29:42.166311 Event: 200
-On: 2011-10-22 01:29:42.167348 Event: Terminate
-On: 2011-10-22 01:29:42.167388 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:29:46.896284 ------------------
-On: 2011-10-22 01:29:46.916544 Event: try to Connect to Controller
-On: 2011-10-22 01:29:48.246522 Event: init state
-On: 2011-10-22 01:29:48.246769 Event: Register Account to SIP server
-On: 2011-10-22 01:29:48.247176 Event: 100
-On: 2011-10-22 01:29:48.247253 Event: Caller Handler Ready
-On: 2011-10-22 01:29:53.260832 Event: CALL START
-On: 2011-10-22 01:29:53.260885 Event: Make a call to: 015252423662
-On: 2011-10-22 01:30:02.730067 Event: Call Connecting
-On: 2011-10-22 01:30:02.730113 Event: 200
-On: 2011-10-22 01:30:02.733926 Event: Terminate
-On: 2011-10-22 01:30:02.733983 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:30:07.428138 ------------------
-On: 2011-10-22 01:30:07.448605 Event: try to Connect to Controller
-On: 2011-10-22 01:30:08.777811 Event: init state
-On: 2011-10-22 01:30:08.778069 Event: Register Account to SIP server
-On: 2011-10-22 01:30:08.778477 Event: 100
-On: 2011-10-22 01:30:08.778555 Event: Caller Handler Ready
-On: 2011-10-22 01:30:13.788145 Event: CALL START
-On: 2011-10-22 01:30:13.788199 Event: Make a call to: 015128040906
-On: 2011-10-22 01:30:23.210457 Event: Call Connecting
-On: 2011-10-22 01:30:23.210504 Event: 200
-On: 2011-10-22 01:30:23.214021 Event: Terminate
-On: 2011-10-22 01:30:23.214076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:38:08.015199 ------------------
-On: 2011-10-22 01:38:08.035509 Event: try to Connect to Controller
-On: 2011-10-22 01:38:09.362964 Event: init state
-On: 2011-10-22 01:38:09.363211 Event: Register Account to SIP server
-On: 2011-10-22 01:38:09.363982 Event: 100
-On: 2011-10-22 01:38:09.365934 Event: Caller Handler Ready
-On: 2011-10-22 01:38:14.374962 Event: CALL START
-On: 2011-10-22 01:38:14.375014 Event: Make a call to: 015782677224
-On: 2011-10-22 01:38:25.279555 Event: Call Connecting
-On: 2011-10-22 01:38:25.279602 Event: 200
-On: 2011-10-22 01:38:25.282084 Event: Terminate
-On: 2011-10-22 01:38:25.282142 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:38:29.982283 ------------------
-On: 2011-10-22 01:38:30.002344 Event: try to Connect to Controller
-On: 2011-10-22 01:38:31.326552 Event: init state
-On: 2011-10-22 01:38:31.326801 Event: Register Account to SIP server
-On: 2011-10-22 01:38:31.327544 Event: 100
-On: 2011-10-22 01:38:31.327622 Event: Caller Handler Ready
-On: 2011-10-22 01:38:36.340938 Event: CALL START
-On: 2011-10-22 01:38:36.340988 Event: Make a call to: 017678038038
-On: 2011-10-22 01:38:45.504309 Event: Call Connecting
-On: 2011-10-22 01:38:45.504356 Event: 200
-On: 2011-10-22 01:38:45.506032 Event: Terminate
-On: 2011-10-22 01:38:45.506090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:38:50.205306 ------------------
-On: 2011-10-22 01:38:50.225368 Event: try to Connect to Controller
-On: 2011-10-22 01:38:51.551770 Event: init state
-On: 2011-10-22 01:38:51.552016 Event: Register Account to SIP server
-On: 2011-10-22 01:38:51.552418 Event: 100
-On: 2011-10-22 01:38:51.552496 Event: Caller Handler Ready
-On: 2011-10-22 01:38:56.564952 Event: CALL START
-On: 2011-10-22 01:38:56.565002 Event: Make a call to: 015128040906
-On: 2011-10-22 01:39:16.272342 Event: Call Connecting
-On: 2011-10-22 01:39:16.272386 Event: 200
-On: 2011-10-22 01:39:16.273428 Event: Terminate
-On: 2011-10-22 01:39:16.273467 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:39:21.004047 ------------------
-On: 2011-10-22 01:39:21.024145 Event: try to Connect to Controller
-On: 2011-10-22 01:39:22.350629 Event: init state
-On: 2011-10-22 01:39:22.350869 Event: Register Account to SIP server
-On: 2011-10-22 01:39:22.351273 Event: 100
-On: 2011-10-22 01:39:22.351348 Event: Caller Handler Ready
-On: 2011-10-22 01:39:27.364401 Event: CALL START
-On: 2011-10-22 01:39:27.364455 Event: Make a call to: 015252423662
-On: 2011-10-22 01:39:37.815503 Event: Call Connecting
-On: 2011-10-22 01:39:37.815550 Event: 200
-On: 2011-10-22 01:39:37.818041 Event: Terminate
-On: 2011-10-22 01:39:37.818099 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:46:13.630245 ------------------
-On: 2011-10-22 01:46:13.650387 Event: try to Connect to Controller
-On: 2011-10-22 01:46:14.978306 Event: init state
-On: 2011-10-22 01:46:14.978551 Event: Register Account to SIP server
-On: 2011-10-22 01:46:14.979317 Event: 100
-On: 2011-10-22 01:46:14.981648 Event: Caller Handler Ready
-On: 2011-10-22 01:46:19.990286 Event: CALL START
-On: 2011-10-22 01:46:19.990338 Event: Make a call to: 015782677224
-On: 2011-10-22 01:46:29.666568 Event: Call Connecting
-On: 2011-10-22 01:46:29.666615 Event: 200
-On: 2011-10-22 01:46:29.670027 Event: Terminate
-On: 2011-10-22 01:46:29.670083 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:46:34.368033 ------------------
-On: 2011-10-22 01:46:34.388471 Event: try to Connect to Controller
-On: 2011-10-22 01:46:35.714030 Event: init state
-On: 2011-10-22 01:46:35.714278 Event: Register Account to SIP server
-On: 2011-10-22 01:46:35.714684 Event: 100
-On: 2011-10-22 01:46:35.714760 Event: Caller Handler Ready
-On: 2011-10-22 01:46:40.724996 Event: CALL START
-On: 2011-10-22 01:46:40.725051 Event: Make a call to: 017678038038
-On: 2011-10-22 01:46:50.510289 Event: Call Connecting
-On: 2011-10-22 01:46:50.510336 Event: 200
-On: 2011-10-22 01:46:50.514017 Event: Terminate
-On: 2011-10-22 01:46:50.514075 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:46:55.207137 ------------------
-On: 2011-10-22 01:46:55.227495 Event: try to Connect to Controller
-On: 2011-10-22 01:46:56.557682 Event: init state
-On: 2011-10-22 01:46:56.558128 Event: Register Account to SIP server
-On: 2011-10-22 01:46:56.558543 Event: 100
-On: 2011-10-22 01:46:56.558621 Event: Caller Handler Ready
-On: 2011-10-22 01:47:01.567407 Event: CALL START
-On: 2011-10-22 01:47:01.567462 Event: Make a call to: 015252423662
-On: 2011-10-22 01:47:10.936835 Event: Call Connecting
-On: 2011-10-22 01:47:10.936882 Event: 200
-On: 2011-10-22 01:47:10.940766 Event: Terminate
-On: 2011-10-22 01:47:10.940824 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:47:15.633397 ------------------
-On: 2011-10-22 01:47:15.653683 Event: try to Connect to Controller
-On: 2011-10-22 01:47:16.984610 Event: init state
-On: 2011-10-22 01:47:16.984852 Event: Register Account to SIP server
-On: 2011-10-22 01:47:16.985619 Event: 100
-On: 2011-10-22 01:47:16.988112 Event: Caller Handler Ready
-On: 2011-10-22 01:47:21.996970 Event: CALL START
-On: 2011-10-22 01:47:21.997024 Event: Make a call to: 015128040906
-On: 2011-10-22 01:47:31.314263 Event: Call Connecting
-On: 2011-10-22 01:47:31.314308 Event: 200
-On: 2011-10-22 01:47:31.318097 Event: Terminate
-On: 2011-10-22 01:47:31.318154 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:06:02.099757 ------------------
-On: 2011-10-22 02:06:02.119936 Event: try to Connect to Controller
-On: 2011-10-22 02:06:03.442678 Event: init state
-On: 2011-10-22 02:06:03.442925 Event: Register Account to SIP server
-On: 2011-10-22 02:06:03.443671 Event: 100
-On: 2011-10-22 02:06:03.445989 Event: Caller Handler Ready
-On: 2011-10-22 02:06:08.456891 Event: CALL START
-On: 2011-10-22 02:06:08.456943 Event: Make a call to: 015782677224
-On: 2011-10-22 02:06:19.471126 Event: Call Connecting
-On: 2011-10-22 02:06:19.471173 Event: 200
-On: 2011-10-22 02:06:19.474022 Event: Terminate
-On: 2011-10-22 02:06:19.474079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:06:24.175469 ------------------
-On: 2011-10-22 02:06:24.195910 Event: try to Connect to Controller
-On: 2011-10-22 02:06:25.516848 Event: init state
-On: 2011-10-22 02:06:25.517094 Event: Register Account to SIP server
-On: 2011-10-22 02:06:25.517498 Event: 100
-On: 2011-10-22 02:06:25.517579 Event: Caller Handler Ready
-On: 2011-10-22 02:06:30.528954 Event: CALL START
-On: 2011-10-22 02:06:30.529008 Event: Make a call to: 017678038038
-On: 2011-10-22 02:06:33.101923 Event: Call Connecting
-On: 2011-10-22 02:06:33.101969 Event: 200
-On: 2011-10-22 02:06:42.523605 Event: Terminate
-On: 2011-10-22 02:06:42.523672 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:06:47.251497 ------------------
-On: 2011-10-22 02:06:47.271875 Event: try to Connect to Controller
-On: 2011-10-22 02:06:48.602324 Event: init state
-On: 2011-10-22 02:06:48.602574 Event: Register Account to SIP server
-On: 2011-10-22 02:06:48.603348 Event: 100
-On: 2011-10-22 02:06:48.605934 Event: Caller Handler Ready
-On: 2011-10-22 02:06:53.612100 Event: CALL START
-On: 2011-10-22 02:06:53.612154 Event: Make a call to: 015128040906
-On: 2011-10-22 02:07:05.137369 Event: Call Connecting
-On: 2011-10-22 02:07:05.137415 Event: 200
-On: 2011-10-22 02:07:05.141275 Event: Terminate
-On: 2011-10-22 02:07:05.141332 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:07:09.840587 ------------------
-On: 2011-10-22 02:07:09.862272 Event: try to Connect to Controller
-On: 2011-10-22 02:07:11.183466 Event: init state
-On: 2011-10-22 02:07:11.183720 Event: Register Account to SIP server
-On: 2011-10-22 02:07:11.184130 Event: 100
-On: 2011-10-22 02:07:11.184208 Event: Caller Handler Ready
-On: 2011-10-22 02:07:16.196934 Event: CALL START
-On: 2011-10-22 02:07:16.196985 Event: Make a call to: 015252423662
-On: 2011-10-22 02:07:18.974499 Event: Call Connecting
-On: 2011-10-22 02:07:18.974545 Event: 200
-On: 2011-10-22 02:07:28.190860 Event: Terminate
-On: 2011-10-22 02:07:28.190901 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:07:32.916301 ------------------
-On: 2011-10-22 02:07:32.936444 Event: try to Connect to Controller
-On: 2011-10-22 02:07:34.260982 Event: init state
-On: 2011-10-22 02:07:34.261232 Event: Register Account to SIP server
-On: 2011-10-22 02:07:34.261640 Event: 100
-On: 2011-10-22 02:07:34.261715 Event: Caller Handler Ready
-On: 2011-10-22 02:07:44.296272 Event: CALL START
-On: 2011-10-22 02:07:44.296324 Event: Make a call to: 07612034661447
-On: 2011-10-22 02:07:46.649972 Event: Call Connecting
-On: 2011-10-22 02:07:46.650019 Event: 200
-On: 2011-10-22 02:07:46.857236 Event: Terminate
-On: 2011-10-22 02:07:46.857291 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:31:26.516699 ------------------
-On: 2011-10-22 02:31:26.536944 Event: try to Connect to Controller
-On: 2011-10-22 02:31:27.865364 Event: init state
-On: 2011-10-22 02:31:27.865616 Event: Register Account to SIP server
-On: 2011-10-22 02:31:27.866238 Event: 100
-On: 2011-10-22 02:31:27.866329 Event: Caller Handler Ready
-On: 2011-10-22 02:31:32.876759 Event: CALL START
-On: 2011-10-22 02:31:32.876812 Event: Make a call to: 015782677224
-On: 2011-10-22 02:31:42.504753 Event: Call Connecting
-On: 2011-10-22 02:31:42.504798 Event: 200
-On: 2011-10-22 02:31:42.508696 Event: Terminate
-On: 2011-10-22 02:31:42.508753 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:31:47.203270 ------------------
-On: 2011-10-22 02:31:47.223734 Event: try to Connect to Controller
-On: 2011-10-22 02:31:48.551969 Event: init state
-On: 2011-10-22 02:31:48.552218 Event: Register Account to SIP server
-On: 2011-10-22 02:31:48.552624 Event: 100
-On: 2011-10-22 02:31:48.552703 Event: Caller Handler Ready
-On: 2011-10-22 02:31:53.563593 Event: CALL START
-On: 2011-10-22 02:31:53.563649 Event: Make a call to: 017678038038
-On: 2011-10-22 02:32:02.062949 Event: Call Connecting
-On: 2011-10-22 02:32:02.062996 Event: 200
-On: 2011-10-22 02:32:02.066024 Event: Terminate
-On: 2011-10-22 02:32:02.066081 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:32:06.763400 ------------------
-On: 2011-10-22 02:32:06.783769 Event: try to Connect to Controller
-On: 2011-10-22 02:32:08.110199 Event: init state
-On: 2011-10-22 02:32:08.110449 Event: Register Account to SIP server
-On: 2011-10-22 02:32:08.110858 Event: 100
-On: 2011-10-22 02:32:08.110937 Event: Caller Handler Ready
-On: 2011-10-22 02:32:13.121001 Event: CALL START
-On: 2011-10-22 02:32:13.121050 Event: Make a call to: 015128040906
-On: 2011-10-22 02:32:33.804338 Event: Call Connecting
-On: 2011-10-22 02:32:33.804385 Event: 200
-On: 2011-10-22 02:32:33.805445 Event: Terminate
-On: 2011-10-22 02:32:33.805488 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:32:38.532606 ------------------
-On: 2011-10-22 02:32:38.552914 Event: try to Connect to Controller
-On: 2011-10-22 02:32:39.882005 Event: init state
-On: 2011-10-22 02:32:39.882258 Event: Register Account to SIP server
-On: 2011-10-22 02:32:39.882668 Event: 100
-On: 2011-10-22 02:32:39.882745 Event: Caller Handler Ready
-On: 2011-10-22 02:32:44.892957 Event: CALL START
-On: 2011-10-22 02:32:44.893012 Event: Make a call to: 015252423662
-On: 2011-10-22 02:32:47.977511 Event: Call Connecting
-On: 2011-10-22 02:32:47.977555 Event: 200
-On: 2011-10-22 02:32:56.887611 Event: Terminate
-On: 2011-10-22 02:32:56.887651 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:33:01.610780 ------------------
-On: 2011-10-22 02:33:01.631125 Event: try to Connect to Controller
-On: 2011-10-22 02:33:02.959487 Event: init state
-On: 2011-10-22 02:33:02.959740 Event: Register Account to SIP server
-On: 2011-10-22 02:33:02.960151 Event: 100
-On: 2011-10-22 02:33:02.960230 Event: Caller Handler Ready
-On: 2011-10-22 02:33:12.993752 Event: CALL START
-On: 2011-10-22 02:33:12.993801 Event: Make a call to: 07612034661447
-On: 2011-10-22 02:33:15.496535 Event: Call Connecting
-On: 2011-10-22 02:33:15.496582 Event: 200
-On: 2011-10-22 02:33:15.698526 Event: Terminate
-On: 2011-10-22 02:33:15.698580 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:56:34.173219 ------------------
-On: 2011-10-22 02:56:34.193401 Event: try to Connect to Controller
-On: 2011-10-22 02:56:35.518675 Event: init state
-On: 2011-10-22 02:56:35.518924 Event: Register Account to SIP server
-On: 2011-10-22 02:56:35.519690 Event: 100
-On: 2011-10-22 02:56:35.522044 Event: Caller Handler Ready
-On: 2011-10-22 02:56:40.529006 Event: CALL START
-On: 2011-10-22 02:56:40.529058 Event: Make a call to: 017678038038
-On: 2011-10-22 02:56:49.750744 Event: Call Connecting
-On: 2011-10-22 02:56:49.750790 Event: 200
-On: 2011-10-22 02:56:49.754012 Event: Terminate
-On: 2011-10-22 02:56:49.754069 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:56:54.452498 ------------------
-On: 2011-10-22 02:56:54.472993 Event: try to Connect to Controller
-On: 2011-10-22 02:56:55.798308 Event: init state
-On: 2011-10-22 02:56:55.798560 Event: Register Account to SIP server
-On: 2011-10-22 02:56:55.798968 Event: 100
-On: 2011-10-22 02:56:55.799045 Event: Caller Handler Ready
-On: 2011-10-22 02:57:00.808964 Event: CALL START
-On: 2011-10-22 02:57:00.809016 Event: Make a call to: 015128040906
-On: 2011-10-22 02:57:21.852269 Event: Call Connecting
-On: 2011-10-22 02:57:21.852315 Event: 200
-On: 2011-10-22 02:57:21.853487 Event: Terminate
-On: 2011-10-22 02:57:21.853551 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:57:26.578837 ------------------
-On: 2011-10-22 02:57:26.598961 Event: try to Connect to Controller
-On: 2011-10-22 02:57:27.926703 Event: init state
-On: 2011-10-22 02:57:27.926947 Event: Register Account to SIP server
-On: 2011-10-22 02:57:27.927354 Event: 100
-On: 2011-10-22 02:57:27.927432 Event: Caller Handler Ready
-On: 2011-10-22 02:57:32.938951 Event: CALL START
-On: 2011-10-22 02:57:32.939004 Event: Make a call to: 015252423662
-On: 2011-10-22 02:57:35.757655 Event: Call Connecting
-On: 2011-10-22 02:57:35.757701 Event: 200
-On: 2011-10-22 02:57:44.938355 Event: Terminate
-On: 2011-10-22 02:57:44.938395 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:57:49.669973 ------------------
-On: 2011-10-22 02:57:49.690181 Event: try to Connect to Controller
-On: 2011-10-22 02:57:51.019027 Event: init state
-On: 2011-10-22 02:57:51.019279 Event: Register Account to SIP server
-On: 2011-10-22 02:57:51.019695 Event: 100
-On: 2011-10-22 02:57:51.019774 Event: Caller Handler Ready
-On: 2011-10-22 02:57:56.032914 Event: CALL START
-On: 2011-10-22 02:57:56.032973 Event: Make a call to: 015782677224
-On: 2011-10-22 02:58:05.807010 Event: Call Connecting
-On: 2011-10-22 02:58:05.807055 Event: 200
-On: 2011-10-22 02:58:05.810034 Event: Terminate
-On: 2011-10-22 02:58:05.810090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:02:43.509466 ------------------
-On: 2011-10-22 03:02:43.529705 Event: try to Connect to Controller
-On: 2011-10-22 03:02:44.851189 Event: init state
-On: 2011-10-22 03:02:44.851435 Event: Register Account to SIP server
-On: 2011-10-22 03:02:44.851844 Event: 100
-On: 2011-10-22 03:02:44.851921 Event: Caller Handler Ready
-On: 2011-10-22 03:02:49.864928 Event: CALL START
-On: 2011-10-22 03:02:49.864982 Event: Make a call to: 017678038038
-On: 2011-10-22 03:02:59.292633 Event: Call Connecting
-On: 2011-10-22 03:02:59.292680 Event: 200
-On: 2011-10-22 03:02:59.296380 Event: Terminate
-On: 2011-10-22 03:02:59.296435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:03:04.000756 ------------------
-On: 2011-10-22 03:03:04.021164 Event: try to Connect to Controller
-On: 2011-10-22 03:03:05.340099 Event: init state
-On: 2011-10-22 03:03:05.340346 Event: Register Account to SIP server
-On: 2011-10-22 03:03:05.340772 Event: 100
-On: 2011-10-22 03:03:05.340846 Event: Caller Handler Ready
-On: 2011-10-22 03:03:10.352966 Event: CALL START
-On: 2011-10-22 03:03:10.353023 Event: Make a call to: 015128040906
-On: 2011-10-22 03:03:29.913139 Event: Call Connecting
-On: 2011-10-22 03:03:29.913185 Event: 200
-On: 2011-10-22 03:03:29.914602 Event: Terminate
-On: 2011-10-22 03:03:29.914652 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:03:34.641486 ------------------
-On: 2011-10-22 03:03:34.662298 Event: try to Connect to Controller
-On: 2011-10-22 03:03:35.990364 Event: init state
-On: 2011-10-22 03:03:35.990610 Event: Register Account to SIP server
-On: 2011-10-22 03:03:35.991023 Event: 100
-On: 2011-10-22 03:03:35.991103 Event: Caller Handler Ready
-On: 2011-10-22 03:03:41.002197 Event: CALL START
-On: 2011-10-22 03:03:41.002248 Event: Make a call to: 015252423662
-On: 2011-10-22 03:03:44.590939 Event: Call Connecting
-On: 2011-10-22 03:03:44.590986 Event: 200
-On: 2011-10-22 03:03:52.998139 Event: Terminate
-On: 2011-10-22 03:03:52.998179 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:03:57.730292 ------------------
-On: 2011-10-22 03:03:57.750333 Event: try to Connect to Controller
-On: 2011-10-22 03:03:59.078521 Event: init state
-On: 2011-10-22 03:03:59.078755 Event: Register Account to SIP server
-On: 2011-10-22 03:03:59.079522 Event: 100
-On: 2011-10-22 03:03:59.079600 Event: Caller Handler Ready
-On: 2011-10-22 03:04:04.085751 Event: CALL START
-On: 2011-10-22 03:04:04.085803 Event: Make a call to: 015782677224
-On: 2011-10-22 03:04:14.328800 Event: Call Connecting
-On: 2011-10-22 03:04:14.328846 Event: 200
-On: 2011-10-22 03:04:14.332767 Event: Terminate
-On: 2011-10-22 03:04:14.332824 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:04:19.030776 ------------------
-On: 2011-10-22 03:04:19.051008 Event: try to Connect to Controller
-On: 2011-10-22 03:04:20.369591 Event: init state
-On: 2011-10-22 03:04:20.370020 Event: Register Account to SIP server
-On: 2011-10-22 03:04:20.370449 Event: 100
-On: 2011-10-22 03:04:20.370529 Event: Caller Handler Ready
-On: 2011-10-22 03:04:30.406509 Event: CALL START
-On: 2011-10-22 03:04:30.406563 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:04:32.761327 Event: Call Connecting
-On: 2011-10-22 03:04:32.761374 Event: 200
-On: 2011-10-22 03:04:32.938083 Event: Terminate
-On: 2011-10-22 03:04:32.938139 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:07:33.690325 ------------------
-On: 2011-10-22 03:07:33.710607 Event: try to Connect to Controller
-On: 2011-10-22 03:07:35.010216 Event: init state
-On: 2011-10-22 03:07:35.010483 Event: Register Account to SIP server
-On: 2011-10-22 03:07:35.011239 Event: 100
-On: 2011-10-22 03:07:35.011318 Event: Receiver Handler Ready
-On: 2011-10-22 03:07:35.011678 Event: RECEIVE START
-On: 2011-10-22 03:07:40.363692 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-22 03:07:40.364196 Event: Call Connecting
-On: 2011-10-22 03:07:40.364236 Event: 200
-On: 2011-10-22 03:07:40.364484 Event: Answer call
-On: 2011-10-22 03:07:40.364535 Event: Hangup call
-On: 2011-10-22 03:07:40.364704 Event: CALL OK
-On: 2011-10-22 03:07:40.415399 Event: Call Disconnected
-On: 2011-10-22 03:07:40.838425 Event: Terminate
-On: 2011-10-22 03:07:40.838477 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:23:09.254034 ------------------
-On: 2011-10-22 03:23:09.274481 Event: try to Connect to Controller
-On: 2011-10-22 03:23:10.603682 Event: init state
-On: 2011-10-22 03:23:10.603929 Event: Register Account to SIP server
-On: 2011-10-22 03:23:10.604338 Event: 100
-On: 2011-10-22 03:23:10.604417 Event: Caller Handler Ready
-On: 2011-10-22 03:23:14.613996 Event: CALL START
-On: 2011-10-22 03:23:14.614048 Event: Make a call to: 017678038038
-On: 2011-10-22 03:23:24.475913 Event: Call Connecting
-On: 2011-10-22 03:23:24.475959 Event: 200
-On: 2011-10-22 03:23:24.478029 Event: Terminate
-On: 2011-10-22 03:23:24.478085 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:23:27.174416 ------------------
-On: 2011-10-22 03:23:27.194793 Event: try to Connect to Controller
-On: 2011-10-22 03:23:28.521570 Event: init state
-On: 2011-10-22 03:23:28.521997 Event: Register Account to SIP server
-On: 2011-10-22 03:23:28.522784 Event: 100
-On: 2011-10-22 03:23:28.525105 Event: Caller Handler Ready
-On: 2011-10-22 03:23:32.531954 Event: CALL START
-On: 2011-10-22 03:23:32.532005 Event: Make a call to: 015128040906
-On: 2011-10-22 03:23:51.653528 Event: Call Connecting
-On: 2011-10-22 03:23:51.653574 Event: 200
-On: 2011-10-22 03:23:51.654810 Event: Terminate
-On: 2011-10-22 03:23:51.654861 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:23:54.373314 ------------------
-On: 2011-10-22 03:23:54.393945 Event: try to Connect to Controller
-On: 2011-10-22 03:23:55.718685 Event: init state
-On: 2011-10-22 03:23:55.718932 Event: Register Account to SIP server
-On: 2011-10-22 03:23:55.719700 Event: 100
-On: 2011-10-22 03:23:55.722065 Event: Caller Handler Ready
-On: 2011-10-22 03:23:59.731932 Event: CALL START
-On: 2011-10-22 03:23:59.731987 Event: Make a call to: 015252423662
-On: 2011-10-22 03:24:02.786233 Event: Call Connecting
-On: 2011-10-22 03:24:02.786279 Event: 200
-On: 2011-10-22 03:24:12.730376 Event: Terminate
-On: 2011-10-22 03:24:12.730417 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:24:15.447199 ------------------
-On: 2011-10-22 03:24:15.467481 Event: try to Connect to Controller
-On: 2011-10-22 03:24:16.796295 Event: init state
-On: 2011-10-22 03:24:16.796539 Event: Register Account to SIP server
-On: 2011-10-22 03:24:16.796941 Event: 100
-On: 2011-10-22 03:24:16.797020 Event: Caller Handler Ready
-On: 2011-10-22 03:24:20.807681 Event: CALL START
-On: 2011-10-22 03:24:20.807741 Event: Make a call to: 015782677224
-On: 2011-10-22 03:24:31.994617 Event: Call Connecting
-On: 2011-10-22 03:24:31.994662 Event: 200
-On: 2011-10-22 03:24:31.998028 Event: Terminate
-On: 2011-10-22 03:24:31.998085 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:26:58.527791 ------------------
-On: 2011-10-22 03:26:58.547754 Event: try to Connect to Controller
-On: 2011-10-22 03:26:59.874679 Event: init state
-On: 2011-10-22 03:26:59.874925 Event: Register Account to SIP server
-On: 2011-10-22 03:26:59.875331 Event: 100
-On: 2011-10-22 03:26:59.875410 Event: Caller Handler Ready
-On: 2011-10-22 03:27:03.887669 Event: CALL START
-On: 2011-10-22 03:27:03.887722 Event: Make a call to: 015782677224
-On: 2011-10-22 03:27:13.599238 Event: Call Connecting
-On: 2011-10-22 03:27:13.599284 Event: 200
-On: 2011-10-22 03:27:13.602034 Event: Terminate
-On: 2011-10-22 03:27:13.602091 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:27:16.288498 ------------------
-On: 2011-10-22 03:27:16.308694 Event: try to Connect to Controller
-On: 2011-10-22 03:27:17.643106 Event: init state
-On: 2011-10-22 03:27:17.643360 Event: Register Account to SIP server
-On: 2011-10-22 03:27:17.643769 Event: 100
-On: 2011-10-22 03:27:17.643850 Event: Caller Handler Ready
-On: 2011-10-22 03:27:21.655883 Event: CALL START
-On: 2011-10-22 03:27:21.655934 Event: Make a call to: 015128040906
-On: 2011-10-22 03:27:42.765573 Event: Call Connecting
-On: 2011-10-22 03:27:42.765619 Event: 200
-On: 2011-10-22 03:27:42.766877 Event: Terminate
-On: 2011-10-22 03:27:42.766930 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:27:45.482791 ------------------
-On: 2011-10-22 03:27:45.502890 Event: try to Connect to Controller
-On: 2011-10-22 03:27:46.830684 Event: init state
-On: 2011-10-22 03:27:46.830933 Event: Register Account to SIP server
-On: 2011-10-22 03:27:46.831343 Event: 100
-On: 2011-10-22 03:27:46.831422 Event: Caller Handler Ready
-On: 2011-10-22 03:27:50.843127 Event: CALL START
-On: 2011-10-22 03:27:50.843187 Event: Make a call to: 015252423662
-On: 2011-10-22 03:27:53.691373 Event: Call Connecting
-On: 2011-10-22 03:27:53.691418 Event: 200
-On: 2011-10-22 03:28:03.842392 Event: Terminate
-On: 2011-10-22 03:28:03.842436 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:28:06.564595 ------------------
-On: 2011-10-22 03:28:06.584665 Event: try to Connect to Controller
-On: 2011-10-22 03:28:07.912496 Event: init state
-On: 2011-10-22 03:28:07.912746 Event: Register Account to SIP server
-On: 2011-10-22 03:28:07.913154 Event: 100
-On: 2011-10-22 03:28:07.913231 Event: Caller Handler Ready
-On: 2011-10-22 03:28:11.923950 Event: CALL START
-On: 2011-10-22 03:28:11.924002 Event: Make a call to: 017678038038
-On: 2011-10-22 03:28:21.065434 Event: Call Connecting
-On: 2011-10-22 03:28:21.065480 Event: 200
-On: 2011-10-22 03:28:21.069328 Event: Terminate
-On: 2011-10-22 03:28:21.069386 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:31:44.805602 ------------------
-On: 2011-10-22 03:31:44.826248 Event: try to Connect to Controller
-On: 2011-10-22 03:31:46.155777 Event: init state
-On: 2011-10-22 03:31:46.156024 Event: Register Account to SIP server
-On: 2011-10-22 03:31:46.156789 Event: 100
-On: 2011-10-22 03:31:46.159244 Event: Caller Handler Ready
-On: 2011-10-22 03:31:50.166220 Event: CALL START
-On: 2011-10-22 03:31:50.166273 Event: Make a call to: 015782677224
-On: 2011-10-22 03:32:00.129526 Event: Call Connecting
-On: 2011-10-22 03:32:00.129574 Event: 200
-On: 2011-10-22 03:32:00.134091 Event: Terminate
-On: 2011-10-22 03:32:00.134149 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:32:02.830836 ------------------
-On: 2011-10-22 03:32:02.851163 Event: try to Connect to Controller
-On: 2011-10-22 03:32:04.174694 Event: init state
-On: 2011-10-22 03:32:04.174939 Event: Register Account to SIP server
-On: 2011-10-22 03:32:04.175700 Event: 100
-On: 2011-10-22 03:32:04.178055 Event: Caller Handler Ready
-On: 2011-10-22 03:32:08.187917 Event: CALL START
-On: 2011-10-22 03:32:08.187968 Event: Make a call to: 017678038038
-On: 2011-10-22 03:32:17.593483 Event: Call Connecting
-On: 2011-10-22 03:32:17.593529 Event: 200
-On: 2011-10-22 03:32:17.597365 Event: Terminate
-On: 2011-10-22 03:32:17.597422 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:32:20.292075 ------------------
-On: 2011-10-22 03:32:20.312657 Event: try to Connect to Controller
-On: 2011-10-22 03:32:21.638689 Event: init state
-On: 2011-10-22 03:32:21.638934 Event: Register Account to SIP server
-On: 2011-10-22 03:32:21.639343 Event: 100
-On: 2011-10-22 03:32:21.639422 Event: Caller Handler Ready
-On: 2011-10-22 03:32:25.647948 Event: CALL START
-On: 2011-10-22 03:32:25.648002 Event: Make a call to: 015252423662
-On: 2011-10-22 03:32:28.710344 Event: Call Connecting
-On: 2011-10-22 03:32:28.710391 Event: 200
-On: 2011-10-22 03:32:38.646456 Event: Terminate
-On: 2011-10-22 03:32:38.646497 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:32:41.365385 ------------------
-On: 2011-10-22 03:32:41.385930 Event: try to Connect to Controller
-On: 2011-10-22 03:32:42.712134 Event: init state
-On: 2011-10-22 03:32:42.712383 Event: Register Account to SIP server
-On: 2011-10-22 03:32:42.713151 Event: 100
-On: 2011-10-22 03:32:42.715625 Event: Caller Handler Ready
-On: 2011-10-22 03:32:46.723940 Event: CALL START
-On: 2011-10-22 03:32:46.723995 Event: Make a call to: 015128040906
-On: 2011-10-22 03:32:55.719500 Event: Call Connecting
-On: 2011-10-22 03:32:55.719547 Event: 200
-On: 2011-10-22 03:32:55.722038 Event: Terminate
-On: 2011-10-22 03:32:55.722095 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:34:41.061334 ------------------
-On: 2011-10-22 03:34:41.081551 Event: try to Connect to Controller
-On: 2011-10-22 03:34:42.410356 Event: init state
-On: 2011-10-22 03:34:42.410603 Event: Register Account to SIP server
-On: 2011-10-22 03:34:42.411009 Event: 100
-On: 2011-10-22 03:34:42.411088 Event: Caller Handler Ready
-On: 2011-10-22 03:34:46.420002 Event: CALL START
-On: 2011-10-22 03:34:46.420054 Event: Make a call to: 015782677224
-On: 2011-10-22 03:34:56.284866 Event: Call Connecting
-On: 2011-10-22 03:34:56.284912 Event: 200
-On: 2011-10-22 03:34:56.288800 Event: Terminate
-On: 2011-10-22 03:34:56.288858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:34:58.986398 ------------------
-On: 2011-10-22 03:34:59.006622 Event: try to Connect to Controller
-On: 2011-10-22 03:35:00.330100 Event: init state
-On: 2011-10-22 03:35:00.330353 Event: Register Account to SIP server
-On: 2011-10-22 03:35:00.330759 Event: 100
-On: 2011-10-22 03:35:00.330837 Event: Caller Handler Ready
-On: 2011-10-22 03:35:04.343811 Event: CALL START
-On: 2011-10-22 03:35:04.343863 Event: Make a call to: 015128040906
-On: 2011-10-22 03:35:14.209928 Event: Call Connecting
-On: 2011-10-22 03:35:14.209975 Event: 200
-On: 2011-10-22 03:35:14.213652 Event: Terminate
-On: 2011-10-22 03:35:14.213709 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:35:16.906790 ------------------
-On: 2011-10-22 03:35:16.927170 Event: try to Connect to Controller
-On: 2011-10-22 03:35:18.255033 Event: init state
-On: 2011-10-22 03:35:18.255281 Event: Register Account to SIP server
-On: 2011-10-22 03:35:18.256052 Event: 100
-On: 2011-10-22 03:35:18.257319 Event: Caller Handler Ready
-On: 2011-10-22 03:35:22.267251 Event: CALL START
-On: 2011-10-22 03:35:22.267304 Event: Make a call to: 015252423662
-On: 2011-10-22 03:35:26.547671 Event: Call Connecting
-On: 2011-10-22 03:35:26.547716 Event: 200
-On: 2011-10-22 03:35:35.262882 Event: Terminate
-On: 2011-10-22 03:35:35.262922 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:35:37.982206 ------------------
-On: 2011-10-22 03:35:38.002029 Event: try to Connect to Controller
-On: 2011-10-22 03:35:39.326685 Event: init state
-On: 2011-10-22 03:35:39.326935 Event: Register Account to SIP server
-On: 2011-10-22 03:35:39.327342 Event: 100
-On: 2011-10-22 03:35:39.327421 Event: Caller Handler Ready
-On: 2011-10-22 03:35:43.336007 Event: CALL START
-On: 2011-10-22 03:35:43.336061 Event: Make a call to: 017678038038
-On: 2011-10-22 03:35:51.871112 Event: Call Connecting
-On: 2011-10-22 03:35:51.871159 Event: 200
-On: 2011-10-22 03:35:51.874032 Event: Terminate
-On: 2011-10-22 03:35:51.874089 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:35:54.564896 ------------------
-On: 2011-10-22 03:35:54.585053 Event: try to Connect to Controller
-On: 2011-10-22 03:35:55.912597 Event: init state
-On: 2011-10-22 03:35:55.912848 Event: Register Account to SIP server
-On: 2011-10-22 03:35:55.913256 Event: 100
-On: 2011-10-22 03:35:55.913333 Event: Caller Handler Ready
-On: 2011-10-22 03:36:04.949749 Event: CALL START
-On: 2011-10-22 03:36:04.949804 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:36:07.630306 Event: Call Connecting
-On: 2011-10-22 03:36:07.630353 Event: 200
-On: 2011-10-22 03:36:07.826384 Event: Terminate
-On: 2011-10-22 03:36:07.826440 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:43:40.287990 ------------------
-On: 2011-10-22 03:43:40.308326 Event: try to Connect to Controller
-On: 2011-10-22 03:43:41.628945 Event: init state
-On: 2011-10-22 03:43:41.629196 Event: Register Account to SIP server
-On: 2011-10-22 03:43:41.629611 Event: 100
-On: 2011-10-22 03:43:41.629691 Event: Caller Handler Ready
-On: 2011-10-22 03:43:45.639962 Event: CALL START
-On: 2011-10-22 03:43:45.640013 Event: Make a call to: 015782677224
-On: 2011-10-22 03:43:56.888405 Event: Call Connecting
-On: 2011-10-22 03:43:56.888451 Event: 200
-On: 2011-10-22 03:43:56.890043 Event: Terminate
-On: 2011-10-22 03:43:56.890100 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:43:59.585503 ------------------
-On: 2011-10-22 03:43:59.605952 Event: try to Connect to Controller
-On: 2011-10-22 03:44:00.934007 Event: init state
-On: 2011-10-22 03:44:00.934257 Event: Register Account to SIP server
-On: 2011-10-22 03:44:00.934659 Event: 100
-On: 2011-10-22 03:44:00.934739 Event: Caller Handler Ready
-On: 2011-10-22 03:44:04.941267 Event: CALL START
-On: 2011-10-22 03:44:04.941321 Event: Make a call to: 017678038038
-On: 2011-10-22 03:44:14.347777 Event: Call Connecting
-On: 2011-10-22 03:44:14.347824 Event: 200
-On: 2011-10-22 03:44:14.350029 Event: Terminate
-On: 2011-10-22 03:44:14.350086 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:44:17.046112 ------------------
-On: 2011-10-22 03:44:17.066370 Event: try to Connect to Controller
-On: 2011-10-22 03:44:18.390688 Event: init state
-On: 2011-10-22 03:44:18.390937 Event: Register Account to SIP server
-On: 2011-10-22 03:44:18.391341 Event: 100
-On: 2011-10-22 03:44:18.391418 Event: Caller Handler Ready
-On: 2011-10-22 03:44:22.403935 Event: CALL START
-On: 2011-10-22 03:44:22.403988 Event: Make a call to: 015128040906
-On: 2011-10-22 03:44:43.884628 Event: Call Connecting
-On: 2011-10-22 03:44:43.884673 Event: 200
-On: 2011-10-22 03:44:43.885715 Event: Terminate
-On: 2011-10-22 03:44:43.886025 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:44:52.700703 ------------------
-On: 2011-10-22 03:44:52.720994 Event: try to Connect to Controller
-On: 2011-10-22 03:44:54.044894 Event: init state
-On: 2011-10-22 03:44:54.045138 Event: Register Account to SIP server
-On: 2011-10-22 03:44:54.046091 Event: 100
-On: 2011-10-22 03:44:54.048380 Event: Caller Handler Ready
-On: 2011-10-22 03:44:58.052657 Event: CALL START
-On: 2011-10-22 03:44:58.052711 Event: Make a call to: 076120397898
-On: 2011-10-22 03:44:58.104843 Event: Call Connecting
-On: 2011-10-22 03:44:58.104889 Event: 200
-On: 2011-10-22 03:44:58.105267 Event: Terminate
-On: 2011-10-22 03:44:58.105303 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:45:00.816373 ------------------
-On: 2011-10-22 03:45:00.836733 Event: try to Connect to Controller
-On: 2011-10-22 03:45:02.164296 Event: init state
-On: 2011-10-22 03:45:02.164542 Event: Register Account to SIP server
-On: 2011-10-22 03:45:02.164949 Event: 100
-On: 2011-10-22 03:45:02.165029 Event: Caller Handler Ready
-On: 2011-10-22 03:45:06.175956 Event: CALL START
-On: 2011-10-22 03:45:06.176009 Event: Make a call to: 015252423662
-On: 2011-10-22 03:45:09.280960 Event: Call Connecting
-On: 2011-10-22 03:45:09.281006 Event: 200
-On: 2011-10-22 03:45:19.171526 Event: Terminate
-On: 2011-10-22 03:45:19.171566 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:45:21.889292 ------------------
-On: 2011-10-22 03:45:21.909646 Event: try to Connect to Controller
-On: 2011-10-22 03:45:23.231263 Event: init state
-On: 2011-10-22 03:45:23.231496 Event: Register Account to SIP server
-On: 2011-10-22 03:45:23.232263 Event: 100
-On: 2011-10-22 03:45:23.232342 Event: Caller Handler Ready
-On: 2011-10-22 03:45:32.267263 Event: CALL START
-On: 2011-10-22 03:45:32.267319 Event: Make a call to: 07612034661447
-On: 2011-10-22 03:45:34.903602 Event: Call Connecting
-On: 2011-10-22 03:45:34.903649 Event: 200
-On: 2011-10-22 03:45:35.093895 Event: Terminate
-On: 2011-10-22 03:45:35.093956 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:51:49.997451 ------------------
-On: 2011-10-22 03:51:50.017587 Event: try to Connect to Controller
-On: 2011-10-22 03:51:51.331830 Event: init state
-On: 2011-10-22 03:51:51.332078 Event: Register Account to SIP server
-On: 2011-10-22 03:51:51.332481 Event: 100
-On: 2011-10-22 03:51:51.332560 Event: Caller Handler Ready
-On: 2011-10-22 03:51:55.343953 Event: CALL START
-On: 2011-10-22 03:51:55.344005 Event: Make a call to: 015782677224
-On: 2011-10-22 03:52:06.347019 Event: Call Connecting
-On: 2011-10-22 03:52:06.347065 Event: 200
-On: 2011-10-22 03:52:06.350022 Event: Terminate
-On: 2011-10-22 03:52:06.350078 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:52:09.044512 ------------------
-On: 2011-10-22 03:52:09.065021 Event: try to Connect to Controller
-On: 2011-10-22 03:52:10.392036 Event: init state
-On: 2011-10-22 03:52:10.392287 Event: Register Account to SIP server
-On: 2011-10-22 03:52:10.393054 Event: 100
-On: 2011-10-22 03:52:10.395541 Event: Caller Handler Ready
-On: 2011-10-22 03:52:14.403974 Event: CALL START
-On: 2011-10-22 03:52:14.404027 Event: Make a call to: 015128040906
-On: 2011-10-22 03:52:34.808104 Event: Call Connecting
-On: 2011-10-22 03:52:34.808149 Event: 200
-On: 2011-10-22 03:52:34.809188 Event: Terminate
-On: 2011-10-22 03:52:34.809229 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:52:37.525074 ------------------
-On: 2011-10-22 03:52:37.545148 Event: try to Connect to Controller
-On: 2011-10-22 03:52:38.874215 Event: init state
-On: 2011-10-22 03:52:38.874459 Event: Register Account to SIP server
-On: 2011-10-22 03:52:38.875221 Event: 100
-On: 2011-10-22 03:52:38.877616 Event: Caller Handler Ready
-On: 2011-10-22 03:52:42.887951 Event: CALL START
-On: 2011-10-22 03:52:42.888003 Event: Make a call to: 015252423662
-On: 2011-10-22 03:52:45.989126 Event: Call Connecting
-On: 2011-10-22 03:52:45.989171 Event: 200
-On: 2011-10-22 03:52:55.886393 Event: Terminate
-On: 2011-10-22 03:52:55.886435 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:52:58.605644 ------------------
-On: 2011-10-22 03:52:58.626343 Event: try to Connect to Controller
-On: 2011-10-22 03:52:59.950682 Event: init state
-On: 2011-10-22 03:52:59.950929 Event: Register Account to SIP server
-On: 2011-10-22 03:52:59.951694 Event: 100
-On: 2011-10-22 03:52:59.953309 Event: Caller Handler Ready
-On: 2011-10-22 03:53:03.963976 Event: CALL START
-On: 2011-10-22 03:53:03.964024 Event: Make a call to: 017678038038
-On: 2011-10-22 03:53:13.471130 Event: Call Connecting
-On: 2011-10-22 03:53:13.471175 Event: 200
-On: 2011-10-22 03:53:16.958836 Event: Terminate
-On: 2011-10-22 03:53:16.958878 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:41:14.073903 ------------------
-On: 2011-10-24 13:41:14.094622 Event: try to Connect to Controller
-On: 2011-10-24 13:41:15.434427 Event: init state
-On: 2011-10-24 13:41:15.434694 Event: Register Account to SIP server
-On: 2011-10-24 13:41:15.435115 Event: 100
-On: 2011-10-24 13:41:15.435201 Event: Caller Handler Ready
-On: 2011-10-24 13:41:20.443359 Event: CALL START
-On: 2011-10-24 13:41:20.443426 Event: Make a call to: 015782677224
-On: 2011-10-24 13:41:31.249980 Event: Call Connecting
-On: 2011-10-24 13:41:31.250028 Event: 200
-On: 2011-10-24 13:41:32.441757 Event: Terminate
-On: 2011-10-24 13:41:32.441799 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:41:36.172208 ------------------
-On: 2011-10-24 13:41:36.193370 Event: try to Connect to Controller
-On: 2011-10-24 13:41:37.525887 Event: init state
-On: 2011-10-24 13:41:37.526136 Event: Register Account to SIP server
-On: 2011-10-24 13:41:37.526560 Event: 100
-On: 2011-10-24 13:41:37.526647 Event: Caller Handler Ready
-On: 2011-10-24 13:41:42.533463 Event: CALL START
-On: 2011-10-24 13:41:42.533535 Event: Make a call to: 015128040906
-On: 2011-10-24 13:41:56.250298 Event: Call Connecting
-On: 2011-10-24 13:41:56.250349 Event: 200
-On: 2011-10-24 13:41:56.253574 Event: Terminate
-On: 2011-10-24 13:41:56.253635 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:41:59.980641 ------------------
-On: 2011-10-24 13:42:00.001723 Event: try to Connect to Controller
-On: 2011-10-24 13:42:01.297181 Event: init state
-On: 2011-10-24 13:42:01.308030 Event: Register Account to SIP server
-On: 2011-10-24 13:42:01.308487 Event: 100
-On: 2011-10-24 13:42:01.308572 Event: Caller Handler Ready
-On: 2011-10-24 13:42:06.317422 Event: CALL START
-On: 2011-10-24 13:42:06.317478 Event: Make a call to: 015252423662
-On: 2011-10-24 13:42:16.867077 Event: Call Connecting
-On: 2011-10-24 13:42:16.867126 Event: 200
-On: 2011-10-24 13:42:16.871737 Event: Terminate
-On: 2011-10-24 13:42:16.871796 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:42:20.855788 ------------------
-On: 2011-10-24 13:42:20.879151 Event: try to Connect to Controller
-On: 2011-10-24 13:42:21.960081 Event: init state
-On: 2011-10-24 13:42:21.960314 Event: Register Account to SIP server
-On: 2011-10-24 13:42:21.961092 Event: 100
-On: 2011-10-24 13:42:21.961174 Event: Caller Handler Ready
-On: 2011-10-24 13:42:26.969448 Event: CALL START
-On: 2011-10-24 13:42:26.969511 Event: Make a call to: 017678038038
-On: 2011-10-24 13:42:37.907084 Event: Call Connecting
-On: 2011-10-24 13:42:37.907131 Event: 200
-On: 2011-10-24 13:42:37.909577 Event: Terminate
-On: 2011-10-24 13:42:37.909637 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:42:41.872365 ------------------
-On: 2011-10-24 13:42:41.911323 Event: try to Connect to Controller
-On: 2011-10-24 13:42:42.955350 Event: init state
-On: 2011-10-24 13:42:42.955573 Event: Register Account to SIP server
-On: 2011-10-24 13:42:42.956017 Event: 100
-On: 2011-10-24 13:42:42.956097 Event: Caller Handler Ready
-On: 2011-10-24 13:42:52.994213 Event: CALL START
-On: 2011-10-24 13:42:52.994287 Event: Make a call to: 07612034661447
-On: 2011-10-24 13:42:53.042890 Event: Number busy or Offline
-On: 2011-10-24 13:42:53.042996 Event: CALL NOT OK
-On: 2011-10-24 13:42:53.043056 Event: Call Disconnected
-On: 2011-10-24 13:43:04.992356 Event: Terminate
-On: 2011-10-24 13:43:04.992400 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:47:01.324736 ------------------
-On: 2011-10-24 13:47:01.399490 Event: try to Connect to Controller
-On: 2011-10-24 13:47:01.722677 Event: init state
-On: 2011-10-24 13:47:01.722918 Event: Register Account to SIP server
-On: 2011-10-24 13:47:01.723342 Event: 100
-On: 2011-10-24 13:47:01.723427 Event: Caller Handler Ready
-On: 2011-10-24 13:47:11.765445 Event: CALL START
-On: 2011-10-24 13:47:11.765509 Event: Make a call to: 07612034661455
-On: 2011-10-24 13:47:13.406178 Event: Call Connecting
-On: 2011-10-24 13:47:13.406229 Event: 200
-On: 2011-10-24 13:47:13.594479 Event: Terminate
-On: 2011-10-24 13:47:13.594523 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:50:55.418624 ------------------
-On: 2011-10-24 13:50:55.441022 Event: try to Connect to Controller
-On: 2011-10-24 13:50:56.684903 Event: init state
-On: 2011-10-24 13:50:56.685141 Event: Register Account to SIP server
-On: 2011-10-24 13:50:56.685617 Event: 100
-On: 2011-10-24 13:50:56.685713 Event: Caller Handler Ready
-On: 2011-10-24 13:51:01.693432 Event: CALL START
-On: 2011-10-24 13:51:01.693493 Event: Make a call to: 015782677224
-On: 2011-10-24 13:51:14.707464 Event: Call Connecting
-On: 2011-10-24 13:51:14.707514 Event: 200
-On: 2011-10-24 13:51:14.708576 Event: Terminate
-On: 2011-10-24 13:51:14.708614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:51:18.555553 ------------------
-On: 2011-10-24 13:51:18.578766 Event: try to Connect to Controller
-On: 2011-10-24 13:51:19.800827 Event: init state
-On: 2011-10-24 13:51:19.801072 Event: Register Account to SIP server
-On: 2011-10-24 13:51:19.801545 Event: 100
-On: 2011-10-24 13:51:19.801631 Event: Caller Handler Ready
-On: 2011-10-24 13:51:24.809440 Event: CALL START
-On: 2011-10-24 13:51:24.809503 Event: Make a call to: 017678038038
-On: 2011-10-24 13:51:32.053350 Event: Call Connecting
-On: 2011-10-24 13:51:32.053430 Event: 200
-On: 2011-10-24 13:51:36.808262 Event: Terminate
-On: 2011-10-24 13:51:36.808304 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:51:40.656457 ------------------
-On: 2011-10-24 13:51:40.679109 Event: try to Connect to Controller
-On: 2011-10-24 13:51:41.902460 Event: init state
-On: 2011-10-24 13:51:41.902801 Event: Register Account to SIP server
-On: 2011-10-24 13:51:41.903250 Event: 100
-On: 2011-10-24 13:51:41.903336 Event: Caller Handler Ready
-On: 2011-10-24 13:51:46.911938 Event: CALL START
-On: 2011-10-24 13:51:46.912005 Event: Make a call to: 015128040906
-On: 2011-10-24 13:52:13.909736 Event: Terminate
-On: 2011-10-24 13:52:13.909779 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:52:17.751184 ------------------
-On: 2011-10-24 13:52:17.773731 Event: try to Connect to Controller
-On: 2011-10-24 13:52:19.002454 Event: init state
-On: 2011-10-24 13:52:19.002695 Event: Register Account to SIP server
-On: 2011-10-24 13:52:19.003118 Event: 100
-On: 2011-10-24 13:52:19.003203 Event: Caller Handler Ready
-On: 2011-10-24 13:52:24.013430 Event: CALL START
-On: 2011-10-24 13:52:24.013491 Event: Make a call to: 015252423662
-On: 2011-10-24 13:52:41.696167 Event: Call Connecting
-On: 2011-10-24 13:52:41.696217 Event: 200
-On: 2011-10-24 13:52:41.700191 Event: Terminate
-On: 2011-10-24 13:52:41.700251 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:52:45.480269 ------------------
-On: 2011-10-24 13:52:45.502441 Event: try to Connect to Controller
-On: 2011-10-24 13:52:46.739775 Event: init state
-On: 2011-10-24 13:52:46.740026 Event: Register Account to SIP server
-On: 2011-10-24 13:52:46.740448 Event: 100
-On: 2011-10-24 13:52:46.740534 Event: Caller Handler Ready
-On: 2011-10-24 13:52:56.773199 Event: CALL START
-On: 2011-10-24 13:52:56.773265 Event: Make a call to: 07612034661447
-On: 2011-10-24 13:52:56.826524 Event: Number busy or Offline
-On: 2011-10-24 13:52:56.826630 Event: CALL NOT OK
-On: 2011-10-24 13:52:56.826689 Event: Call Disconnected
-On: 2011-10-24 13:53:08.771819 Event: Terminate
-On: 2011-10-24 13:53:08.771862 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:11:42.065742 ------------------
-On: 2011-10-24 14:11:42.087538 Event: try to Connect to Controller
-On: 2011-10-24 14:11:43.325550 Event: init state
-On: 2011-10-24 14:11:43.325808 Event: Register Account to SIP server
-On: 2011-10-24 14:11:43.326233 Event: 100
-On: 2011-10-24 14:11:43.326319 Event: Caller Handler Ready
-On: 2011-10-24 14:11:48.333430 Event: CALL START
-On: 2011-10-24 14:11:48.333492 Event: Make a call to: 015782677224
-On: 2011-10-24 14:12:03.512255 Event: Call Connecting
-On: 2011-10-24 14:12:03.512306 Event: 200
-On: 2011-10-24 14:12:03.513557 Event: Terminate
-On: 2011-10-24 14:12:03.513614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:12:07.361054 ------------------
-On: 2011-10-24 14:12:07.383697 Event: try to Connect to Controller
-On: 2011-10-24 14:12:08.606465 Event: init state
-On: 2011-10-24 14:12:08.606715 Event: Register Account to SIP server
-On: 2011-10-24 14:12:08.607138 Event: 100
-On: 2011-10-24 14:12:08.607221 Event: Caller Handler Ready
-On: 2011-10-24 14:12:13.617280 Event: CALL START
-On: 2011-10-24 14:12:13.617342 Event: Make a call to: 017678038038
-On: 2011-10-24 14:12:31.464263 Event: Call Connecting
-On: 2011-10-24 14:12:31.464314 Event: 200
-On: 2011-10-24 14:12:31.469495 Event: Terminate
-On: 2011-10-24 14:12:31.469550 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:12:35.252774 ------------------
-On: 2011-10-24 14:12:35.275920 Event: try to Connect to Controller
-On: 2011-10-24 14:12:36.514460 Event: init state
-On: 2011-10-24 14:12:36.515131 Event: Register Account to SIP server
-On: 2011-10-24 14:12:36.515581 Event: 100
-On: 2011-10-24 14:12:36.515670 Event: Caller Handler Ready
-On: 2011-10-24 14:12:41.525430 Event: CALL START
-On: 2011-10-24 14:12:41.525490 Event: Make a call to: 015128040906
-On: 2011-10-24 14:13:02.180071 Event: Call Connecting
-On: 2011-10-24 14:13:02.180121 Event: 200
-On: 2011-10-24 14:13:02.181213 Event: Terminate
-On: 2011-10-24 14:13:02.181252 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:13:06.035514 ------------------
-On: 2011-10-24 14:13:06.057668 Event: try to Connect to Controller
-On: 2011-10-24 14:13:07.275721 Event: init state
-On: 2011-10-24 14:13:07.275964 Event: Register Account to SIP server
-On: 2011-10-24 14:13:07.276390 Event: 100
-On: 2011-10-24 14:13:07.276476 Event: Caller Handler Ready
-On: 2011-10-24 14:13:12.285430 Event: CALL START
-On: 2011-10-24 14:13:12.285490 Event: Make a call to: 015252423662
-On: 2011-10-24 14:13:26.807462 Event: Call Connecting
-On: 2011-10-24 14:13:26.807509 Event: 200
-On: 2011-10-24 14:13:26.812171 Event: Terminate
-On: 2011-10-24 14:13:26.812232 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:13:30.593857 ------------------
-On: 2011-10-24 14:13:30.615395 Event: try to Connect to Controller
-On: 2011-10-24 14:13:31.859378 Event: init state
-On: 2011-10-24 14:13:31.859625 Event: Register Account to SIP server
-On: 2011-10-24 14:13:31.860049 Event: 100
-On: 2011-10-24 14:13:31.860133 Event: Caller Handler Ready
-On: 2011-10-24 14:13:36.869424 Event: CALL START
-On: 2011-10-24 14:13:36.869479 Event: Make a call to: 07612034661449
-On: 2011-10-24 14:13:39.376146 Event: Call Connecting
-On: 2011-10-24 14:13:39.376195 Event: 200
-On: 2011-10-24 14:13:39.589929 Event: Terminate
-On: 2011-10-24 14:13:39.589970 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:13:43.418103 ------------------
-On: 2011-10-24 14:13:43.451194 Event: try to Connect to Controller
-On: 2011-10-24 14:13:44.634802 Event: init state
-On: 2011-10-24 14:13:44.635125 Event: Register Account to SIP server
-On: 2011-10-24 14:13:44.635543 Event: 100
-On: 2011-10-24 14:13:44.635628 Event: Caller Handler Ready
-On: 2011-10-24 14:13:54.672478 Event: CALL START
-On: 2011-10-24 14:13:54.672545 Event: Make a call to: 07612034661447
-On: 2011-10-24 14:13:54.741319 Event: Number busy or Offline
-On: 2011-10-24 14:13:54.741461 Event: CALL NOT OK
-On: 2011-10-24 14:13:54.741528 Event: Call Disconnected
-On: 2011-10-24 14:14:06.670003 Event: Terminate
-On: 2011-10-24 14:14:06.670047 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:35:34.399091 ------------------
-On: 2011-10-24 14:35:34.449687 Event: try to Connect to Controller
-On: 2011-10-24 14:35:35.606720 Event: init state
-On: 2011-10-24 14:35:35.606962 Event: Register Account to SIP server
-On: 2011-10-24 14:35:35.607375 Event: 100
-On: 2011-10-24 14:35:35.607460 Event: Caller Handler Ready
-On: 2011-10-24 14:35:40.613942 Event: CALL START
-On: 2011-10-24 14:35:40.614003 Event: Make a call to: 017678038038
-On: 2011-10-24 14:35:49.876355 Event: Call Connecting
-On: 2011-10-24 14:35:49.876406 Event: 200
-On: 2011-10-24 14:35:49.881545 Event: Terminate
-On: 2011-10-24 14:35:49.881605 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:36:47.511129 ------------------
-On: 2011-10-24 14:36:47.533638 Event: try to Connect to Controller
-On: 2011-10-24 14:36:48.700943 Event: init state
-On: 2011-10-24 14:36:48.701185 Event: Register Account to SIP server
-On: 2011-10-24 14:36:48.701636 Event: 100
-On: 2011-10-24 14:36:48.701721 Event: Caller Handler Ready
-On: 2011-10-24 14:36:53.709466 Event: CALL START
-On: 2011-10-24 14:36:53.709540 Event: Make a call to: 017678038038
-On: 2011-10-24 14:37:02.673719 Event: Call Connecting
-On: 2011-10-24 14:37:02.673771 Event: 200
-On: 2011-10-24 14:37:02.677583 Event: Terminate
-On: 2011-10-24 14:37:02.677644 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:39:47.163035 ------------------
-On: 2011-10-24 14:39:47.184797 Event: try to Connect to Controller
-On: 2011-10-24 14:39:48.366583 Event: init state
-On: 2011-10-24 14:39:48.366824 Event: Register Account to SIP server
-On: 2011-10-24 14:39:48.367247 Event: 100
-On: 2011-10-24 14:39:48.367331 Event: Caller Handler Ready
-On: 2011-10-24 14:39:53.373444 Event: CALL START
-On: 2011-10-24 14:39:53.373505 Event: Make a call to: 017678038038
-On: 2011-10-24 14:40:02.762920 Event: Call Connecting
-On: 2011-10-24 14:40:02.762971 Event: 200
-On: 2011-10-24 14:40:02.765575 Event: Terminate
-On: 2011-10-24 14:40:02.765634 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:40:56.656553 ------------------
-On: 2011-10-24 14:40:56.681759 Event: try to Connect to Controller
-On: 2011-10-24 14:40:57.785761 Event: init state
-On: 2011-10-24 14:40:57.786010 Event: Register Account to SIP server
-On: 2011-10-24 14:40:57.786431 Event: 100
-On: 2011-10-24 14:40:57.786519 Event: Caller Handler Ready
-On: 2011-10-24 14:41:02.796729 Event: CALL START
-On: 2011-10-24 14:41:02.796790 Event: Make a call to: 017678038038
-On: 2011-10-24 14:41:12.272094 Event: Call Connecting
-On: 2011-10-24 14:41:12.272145 Event: 200
-On: 2011-10-24 14:41:12.276121 Event: Terminate
-On: 2011-10-24 14:41:12.276183 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:43:01.488961 ------------------
-On: 2011-10-24 14:43:01.514001 Event: try to Connect to Controller
-On: 2011-10-24 14:43:02.775153 Event: init state
-On: 2011-10-24 14:43:02.775394 Event: Register Account to SIP server
-On: 2011-10-24 14:43:02.775812 Event: 100
-On: 2011-10-24 14:43:02.775898 Event: Caller Handler Ready
-On: 2011-10-24 14:43:07.785433 Event: CALL START
-On: 2011-10-24 14:43:07.785495 Event: Make a call to: 015782677224
-On: 2011-10-24 14:43:14.788212 Event: Call Connecting
-On: 2011-10-24 14:43:14.788262 Event: 200
-On: 2011-10-24 14:43:19.786030 Event: Terminate
-On: 2011-10-24 14:43:19.786073 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:43:23.588104 ------------------
-On: 2011-10-24 14:43:23.611957 Event: try to Connect to Controller
-On: 2011-10-24 14:43:24.878435 Event: init state
-On: 2011-10-24 14:43:24.878675 Event: Register Account to SIP server
-On: 2011-10-24 14:43:24.879103 Event: 100
-On: 2011-10-24 14:43:24.879190 Event: Caller Handler Ready
-On: 2011-10-24 14:43:29.888935 Event: CALL START
-On: 2011-10-24 14:43:29.888998 Event: Make a call to: 017678038038
-On: 2011-10-24 14:43:39.242458 Event: Call Connecting
-On: 2011-10-24 14:43:39.242508 Event: 200
-On: 2011-10-24 14:43:39.245597 Event: Terminate
-On: 2011-10-24 14:43:39.245659 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:43:42.990307 ------------------
-On: 2011-10-24 14:43:43.014839 Event: try to Connect to Controller
-On: 2011-10-24 14:43:44.294436 Event: init state
-On: 2011-10-24 14:43:44.295113 Event: Register Account to SIP server
-On: 2011-10-24 14:43:44.295568 Event: 100
-On: 2011-10-24 14:43:44.295658 Event: Caller Handler Ready
-On: 2011-10-24 14:43:49.305446 Event: CALL START
-On: 2011-10-24 14:43:49.305508 Event: Make a call to: 015128040906
-On: 2011-10-24 14:44:09.675618 Event: Call Connecting
-On: 2011-10-24 14:44:09.675668 Event: 200
-On: 2011-10-24 14:44:09.676602 Event: Terminate
-On: 2011-10-24 14:44:09.676654 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:44:13.501239 ------------------
-On: 2011-10-24 14:44:13.523050 Event: try to Connect to Controller
-On: 2011-10-24 14:44:14.762449 Event: init state
-On: 2011-10-24 14:44:14.762689 Event: Register Account to SIP server
-On: 2011-10-24 14:44:14.763124 Event: 100
-On: 2011-10-24 14:44:14.763214 Event: Caller Handler Ready
-On: 2011-10-24 14:44:24.798782 Event: CALL START
-On: 2011-10-24 14:44:24.798850 Event: Make a call to: 07612034661473
-On: 2011-10-24 14:44:27.159613 Event: Call Connecting
-On: 2011-10-24 14:44:27.159662 Event: 200
-On: 2011-10-24 14:44:27.364796 Event: Terminate
-On: 2011-10-24 14:44:27.364843 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:44:31.310949 ------------------
-On: 2011-10-24 14:44:31.333821 Event: try to Connect to Controller
-On: 2011-10-24 14:44:32.432870 Event: init state
-On: 2011-10-24 14:44:32.433111 Event: Register Account to SIP server
-On: 2011-10-24 14:44:32.433960 Event: 100
-On: 2011-10-24 14:44:32.434047 Event: Caller Handler Ready
-On: 2011-10-24 14:44:37.441423 Event: CALL START
-On: 2011-10-24 14:44:37.441480 Event: Make a call to: 015252423662
-On: 2011-10-24 14:44:47.943611 Event: Call Connecting
-On: 2011-10-24 14:44:47.943662 Event: 200
-On: 2011-10-24 14:44:47.948413 Event: Terminate
-On: 2011-10-24 14:44:47.948473 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:44:51.751304 ------------------
-On: 2011-10-24 14:44:51.773720 Event: try to Connect to Controller
-On: 2011-10-24 14:44:52.994367 Event: init state
-On: 2011-10-24 14:44:52.994595 Event: Register Account to SIP server
-On: 2011-10-24 14:44:52.995375 Event: 100
-On: 2011-10-24 14:44:52.995462 Event: Caller Handler Ready
-On: 2011-10-24 14:44:58.002573 Event: CALL START
-On: 2011-10-24 14:44:58.002635 Event: Make a call to: 07612034661449
-On: 2011-10-24 14:45:00.123926 Event: Call Connecting
-On: 2011-10-24 14:45:00.123976 Event: 200
-On: 2011-10-24 14:45:00.317869 Event: Terminate
-On: 2011-10-24 14:45:00.317910 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:47:33.578013 ------------------
-On: 2011-10-24 14:47:33.599803 Event: try to Connect to Controller
-On: 2011-10-24 14:47:34.608857 Event: init state
-On: 2011-10-24 14:47:34.609106 Event: Register Account to SIP server
-On: 2011-10-24 14:47:34.609572 Event: 100
-On: 2011-10-24 14:47:34.609660 Event: Caller Handler Ready
-On: 2011-10-24 14:47:39.617430 Event: CALL START
-On: 2011-10-24 14:47:39.617490 Event: Make a call to: 015782677224
-On: 2011-10-24 14:47:44.884078 Event: Call Connecting
-On: 2011-10-24 14:47:44.884127 Event: 200
-On: 2011-10-24 14:47:51.617981 Event: Terminate
-On: 2011-10-24 14:47:51.618023 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:47:55.466890 ------------------
-On: 2011-10-24 14:47:55.489696 Event: try to Connect to Controller
-On: 2011-10-24 14:47:56.710491 Event: init state
-On: 2011-10-24 14:47:56.710733 Event: Register Account to SIP server
-On: 2011-10-24 14:47:56.711689 Event: 100
-On: 2011-10-24 14:47:56.711785 Event: Caller Handler Ready
-On: 2011-10-24 14:48:01.723533 Event: CALL START
-On: 2011-10-24 14:48:01.723596 Event: Make a call to: 017678038038
-On: 2011-10-24 14:48:10.452189 Event: Call Connecting
-On: 2011-10-24 14:48:10.452239 Event: 200
-On: 2011-10-24 14:48:10.456743 Event: Terminate
-On: 2011-10-24 14:48:10.456887 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:48:14.238557 ------------------
-On: 2011-10-24 14:48:14.261208 Event: try to Connect to Controller
-On: 2011-10-24 14:48:15.501815 Event: init state
-On: 2011-10-24 14:48:15.502504 Event: Register Account to SIP server
-On: 2011-10-24 14:48:15.502960 Event: 100
-On: 2011-10-24 14:48:15.503049 Event: Caller Handler Ready
-On: 2011-10-24 14:48:20.513627 Event: CALL START
-On: 2011-10-24 14:48:20.513689 Event: Make a call to: 015128040906
-On: 2011-10-24 14:48:30.970195 Event: Call Connecting
-On: 2011-10-24 14:48:30.970248 Event: 200
-On: 2011-10-24 14:48:30.973580 Event: Terminate
-On: 2011-10-24 14:48:30.973641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:48:34.758346 ------------------
-On: 2011-10-24 14:48:34.780524 Event: try to Connect to Controller
-On: 2011-10-24 14:48:36.021260 Event: init state
-On: 2011-10-24 14:48:36.021563 Event: Register Account to SIP server
-On: 2011-10-24 14:48:36.021993 Event: 100
-On: 2011-10-24 14:48:36.022078 Event: Caller Handler Ready
-On: 2011-10-24 14:48:41.029432 Event: CALL START
-On: 2011-10-24 14:48:41.029492 Event: Make a call to: 015252423662
-On: 2011-10-24 14:48:50.666986 Event: Call Connecting
-On: 2011-10-24 14:48:50.667037 Event: 200
-On: 2011-10-24 14:48:50.669578 Event: Terminate
-On: 2011-10-24 14:48:50.669638 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:48:54.445651 ------------------
-On: 2011-10-24 14:48:54.468367 Event: try to Connect to Controller
-On: 2011-10-24 14:48:55.712928 Event: init state
-On: 2011-10-24 14:48:55.713184 Event: Register Account to SIP server
-On: 2011-10-24 14:48:55.713664 Event: 100
-On: 2011-10-24 14:48:55.713752 Event: Caller Handler Ready
-On: 2011-10-24 14:49:05.749435 Event: CALL START
-On: 2011-10-24 14:49:05.749503 Event: Make a call to: 07612034661473
-On: 2011-10-24 14:49:07.276615 Event: Call Connecting
-On: 2011-10-24 14:49:07.276665 Event: 200
-On: 2011-10-24 14:49:07.476670 Event: Terminate
-On: 2011-10-24 14:49:07.476715 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:50:46.784335 ------------------
-On: 2011-10-24 14:50:46.808067 Event: try to Connect to Controller
-On: 2011-10-24 14:50:47.880938 Event: init state
-On: 2011-10-24 14:50:47.881185 Event: Register Account to SIP server
-On: 2011-10-24 14:50:47.882047 Event: 100
-On: 2011-10-24 14:50:47.882135 Event: Caller Handler Ready
-On: 2011-10-24 14:50:52.889551 Event: CALL START
-On: 2011-10-24 14:50:52.889613 Event: Make a call to: 015782677224
-On: 2011-10-24 14:50:59.215726 Event: Call Connecting
-On: 2011-10-24 14:50:59.215776 Event: 200
-On: 2011-10-24 14:51:04.889123 Event: Terminate
-On: 2011-10-24 14:51:04.889169 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:01:51.423604 ------------------
-On: 2011-10-25 01:01:51.446142 Event: try to Connect to Controller
-On: 2011-10-25 01:01:52.717240 Event: init state
-On: 2011-10-25 01:01:52.717510 Event: Register Account to SIP server
-On: 2011-10-25 01:01:52.717924 Event: 100
-On: 2011-10-25 01:01:52.718004 Event: Caller Handler Ready
-On: 2011-10-25 01:01:57.725866 Event: CALL START
-On: 2011-10-25 01:01:57.725923 Event: Make a call to: 015782677224
-On: 2011-10-25 01:02:03.488457 Event: Call Connecting
-On: 2011-10-25 01:02:03.488505 Event: 200
-On: 2011-10-25 01:02:09.723318 Event: Terminate
-On: 2011-10-25 01:02:09.723359 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:02:13.538144 ------------------
-On: 2011-10-25 01:02:13.559925 Event: try to Connect to Controller
-On: 2011-10-25 01:02:14.814093 Event: init state
-On: 2011-10-25 01:02:14.814327 Event: Register Account to SIP server
-On: 2011-10-25 01:02:14.815094 Event: 100
-On: 2011-10-25 01:02:14.815178 Event: Caller Handler Ready
-On: 2011-10-25 01:02:19.823845 Event: CALL START
-On: 2011-10-25 01:02:19.823904 Event: Make a call to: 015128040906
-On: 2011-10-25 01:02:29.956967 Event: Call Connecting
-On: 2011-10-25 01:02:29.957016 Event: 200
-On: 2011-10-25 01:02:29.961638 Event: Terminate
-On: 2011-10-25 01:02:29.961696 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:02:33.718752 ------------------
-On: 2011-10-25 01:02:33.741073 Event: try to Connect to Controller
-On: 2011-10-25 01:02:35.006386 Event: init state
-On: 2011-10-25 01:02:35.006705 Event: Register Account to SIP server
-On: 2011-10-25 01:02:35.007128 Event: 100
-On: 2011-10-25 01:02:35.007210 Event: Caller Handler Ready
-On: 2011-10-25 01:02:40.013444 Event: CALL START
-On: 2011-10-25 01:02:40.013503 Event: Make a call to: 015252423662
-On: 2011-10-25 01:02:49.929851 Event: Call Connecting
-On: 2011-10-25 01:02:49.929899 Event: 200
-On: 2011-10-25 01:02:49.933564 Event: Terminate
-On: 2011-10-25 01:02:49.933620 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:02:53.694793 ------------------
-On: 2011-10-25 01:02:53.717959 Event: try to Connect to Controller
-On: 2011-10-25 01:02:54.980222 Event: init state
-On: 2011-10-25 01:02:54.980456 Event: Register Account to SIP server
-On: 2011-10-25 01:02:54.981229 Event: 100
-On: 2011-10-25 01:02:54.981307 Event: Caller Handler Ready
-On: 2011-10-25 01:02:59.989432 Event: CALL START
-On: 2011-10-25 01:02:59.989492 Event: Make a call to: 017678038038
-On: 2011-10-25 01:03:10.474525 Event: Call Connecting
-On: 2011-10-25 01:03:10.474573 Event: 200
-On: 2011-10-25 01:03:10.477571 Event: Terminate
-On: 2011-10-25 01:03:10.477631 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:03:14.231805 ------------------
-On: 2011-10-25 01:03:14.254256 Event: try to Connect to Controller
-On: 2011-10-25 01:03:15.522081 Event: init state
-On: 2011-10-25 01:03:15.522317 Event: Register Account to SIP server
-On: 2011-10-25 01:03:15.522731 Event: 100
-On: 2011-10-25 01:03:15.522812 Event: Caller Handler Ready
-On: 2011-10-25 01:03:25.557432 Event: CALL START
-On: 2011-10-25 01:03:25.557496 Event: Make a call to: 07612034661473
-On: 2011-10-25 01:03:27.777179 Event: Call Connecting
-On: 2011-10-25 01:03:27.777227 Event: 200
-On: 2011-10-25 01:03:27.965492 Event: Terminate
-On: 2011-10-25 01:03:27.965536 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:06:20.961336 ------------------
-On: 2011-10-25 01:06:20.983507 Event: try to Connect to Controller
-On: 2011-10-25 01:06:22.262635 Event: init state
-On: 2011-10-25 01:06:22.262873 Event: Register Account to SIP server
-On: 2011-10-25 01:06:22.263765 Event: 100
-On: 2011-10-25 01:06:22.263856 Event: Caller Handler Ready
-On: 2011-10-25 01:06:27.273436 Event: CALL START
-On: 2011-10-25 01:06:27.273495 Event: Make a call to: 015782677224
-On: 2011-10-25 01:06:33.076210 Event: Call Connecting
-On: 2011-10-25 01:06:33.076256 Event: 200
-On: 2011-10-25 01:06:39.270866 Event: Terminate
-On: 2011-10-25 01:06:39.270907 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:06:43.096722 ------------------
-On: 2011-10-25 01:06:43.120882 Event: try to Connect to Controller
-On: 2011-10-25 01:06:44.362975 Event: init state
-On: 2011-10-25 01:06:44.363211 Event: Register Account to SIP server
-On: 2011-10-25 01:06:44.363621 Event: 100
-On: 2011-10-25 01:06:44.363701 Event: Caller Handler Ready
-On: 2011-10-25 01:06:49.372537 Event: CALL START
-On: 2011-10-25 01:06:49.372597 Event: Make a call to: 017678038038
-On: 2011-10-25 01:06:54.752222 Event: Call Connecting
-On: 2011-10-25 01:06:54.752270 Event: 200
-On: 2011-10-25 01:07:01.370360 Event: Terminate
-On: 2011-10-25 01:07:01.370403 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:07:05.192693 ------------------
-On: 2011-10-25 01:07:05.216020 Event: try to Connect to Controller
-On: 2011-10-25 01:07:06.462408 Event: init state
-On: 2011-10-25 01:07:06.462734 Event: Register Account to SIP server
-On: 2011-10-25 01:07:06.463150 Event: 100
-On: 2011-10-25 01:07:06.463228 Event: Caller Handler Ready
-On: 2011-10-25 01:07:11.471898 Event: CALL START
-On: 2011-10-25 01:07:11.471957 Event: Make a call to: 015252423662
-On: 2011-10-25 01:07:21.048379 Event: Call Connecting
-On: 2011-10-25 01:07:21.048427 Event: 200
-On: 2011-10-25 01:07:21.052768 Event: Terminate
-On: 2011-10-25 01:07:21.052822 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:07:24.804585 ------------------
-On: 2011-10-25 01:07:24.828001 Event: try to Connect to Controller
-On: 2011-10-25 01:07:26.098843 Event: init state
-On: 2011-10-25 01:07:26.099077 Event: Register Account to SIP server
-On: 2011-10-25 01:07:26.099491 Event: 100
-On: 2011-10-25 01:07:26.099573 Event: Caller Handler Ready
-On: 2011-10-25 01:07:31.108881 Event: CALL START
-On: 2011-10-25 01:07:31.108941 Event: Make a call to: 015128040906
-On: 2011-10-25 01:07:40.709035 Event: Call Connecting
-On: 2011-10-25 01:07:40.709083 Event: 200
-On: 2011-10-25 01:07:40.713230 Event: Terminate
-On: 2011-10-25 01:07:40.713284 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:07:44.466510 ------------------
-On: 2011-10-25 01:07:44.488540 Event: try to Connect to Controller
-On: 2011-10-25 01:07:45.754395 Event: init state
-On: 2011-10-25 01:07:45.754625 Event: Register Account to SIP server
-On: 2011-10-25 01:07:45.755033 Event: 100
-On: 2011-10-25 01:07:45.755114 Event: Caller Handler Ready
-On: 2011-10-25 01:07:55.790512 Event: CALL START
-On: 2011-10-25 01:07:55.790576 Event: Make a call to: 07612034661473
-On: 2011-10-25 01:07:58.422635 Event: Call Connecting
-On: 2011-10-25 01:07:58.422683 Event: 200
-On: 2011-10-25 01:07:58.626639 Event: Terminate
-On: 2011-10-25 01:07:58.626696 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:12:25.238050 ------------------
-On: 2011-10-25 14:12:25.262374 Event: try to Connect to Controller
-On: 2011-10-25 14:12:26.461535 Event: init state
-On: 2011-10-25 14:12:26.461783 Event: Register Account to SIP server
-On: 2011-10-25 14:12:26.462584 Event: 100
-On: 2011-10-25 14:12:26.462669 Event: Caller Handler Ready
-On: 2011-10-25 14:12:31.470433 Event: CALL START
-On: 2011-10-25 14:12:31.470497 Event: Make a call to: 015782677224
-On: 2011-10-25 14:12:39.105455 Event: Call Connecting
-On: 2011-10-25 14:12:39.105504 Event: 200
-On: 2011-10-25 14:12:43.468722 Event: Terminate
-On: 2011-10-25 14:12:43.468764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:12:47.360871 ------------------
-On: 2011-10-25 14:12:47.383298 Event: try to Connect to Controller
-On: 2011-10-25 14:12:48.560700 Event: init state
-On: 2011-10-25 14:12:48.560945 Event: Register Account to SIP server
-On: 2011-10-25 14:12:48.562297 Event: 100
-On: 2011-10-25 14:12:48.562400 Event: Caller Handler Ready
-On: 2011-10-25 14:12:53.572042 Event: CALL START
-On: 2011-10-25 14:12:53.572105 Event: Make a call to: 017678038038
-On: 2011-10-25 14:13:03.469245 Event: Call Connecting
-On: 2011-10-25 14:13:03.469294 Event: 200
-On: 2011-10-25 14:13:03.473581 Event: Terminate
-On: 2011-10-25 14:13:03.473640 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:13:07.299265 ------------------
-On: 2011-10-25 14:13:07.322904 Event: try to Connect to Controller
-On: 2011-10-25 14:13:08.522578 Event: init state
-On: 2011-10-25 14:13:08.523273 Event: Register Account to SIP server
-On: 2011-10-25 14:13:08.523727 Event: 100
-On: 2011-10-25 14:13:08.523814 Event: Caller Handler Ready
-On: 2011-10-25 14:13:13.533438 Event: CALL START
-On: 2011-10-25 14:13:13.533498 Event: Make a call to: 015128040906
-On: 2011-10-25 14:13:24.180093 Event: Call Connecting
-On: 2011-10-25 14:13:24.180143 Event: 200
-On: 2011-10-25 14:13:24.184775 Event: Terminate
-On: 2011-10-25 14:13:24.184834 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:20:17.238681 ------------------
-On: 2011-10-25 14:20:17.260972 Event: try to Connect to Controller
-On: 2011-10-25 14:20:18.468735 Event: init state
-On: 2011-10-25 14:20:18.468973 Event: Register Account to SIP server
-On: 2011-10-25 14:20:18.469387 Event: 100
-On: 2011-10-25 14:20:18.469521 Event: Caller Handler Ready
-On: 2011-10-25 14:20:23.477586 Event: CALL START
-On: 2011-10-25 14:20:23.477647 Event: Make a call to: 015782677224
-On: 2011-10-25 14:20:31.148947 Event: Call Connecting
-On: 2011-10-25 14:20:31.148995 Event: 200
-On: 2011-10-25 14:20:35.478008 Event: Terminate
-On: 2011-10-25 14:20:35.478050 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:20:39.503402 ------------------
-On: 2011-10-25 14:20:39.526403 Event: try to Connect to Controller
-On: 2011-10-25 14:20:40.575571 Event: init state
-On: 2011-10-25 14:20:40.575806 Event: Register Account to SIP server
-On: 2011-10-25 14:20:40.576231 Event: 100
-On: 2011-10-25 14:20:40.576320 Event: Caller Handler Ready
-On: 2011-10-25 14:20:45.585490 Event: CALL START
-On: 2011-10-25 14:20:45.585553 Event: Make a call to: 017678038038
-On: 2011-10-25 14:20:56.497512 Event: Call Connecting
-On: 2011-10-25 14:20:56.497564 Event: 200
-On: 2011-10-25 14:20:56.501650 Event: Terminate
-On: 2011-10-25 14:20:56.501708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:21:00.579346 ------------------
-On: 2011-10-25 14:21:00.603645 Event: try to Connect to Controller
-On: 2011-10-25 14:21:01.546717 Event: init state
-On: 2011-10-25 14:21:01.547163 Event: Register Account to SIP server
-On: 2011-10-25 14:21:01.547618 Event: 100
-On: 2011-10-25 14:21:01.547708 Event: Caller Handler Ready
-On: 2011-10-25 14:21:06.557502 Event: CALL START
-On: 2011-10-25 14:21:06.557563 Event: Make a call to: 015128040906
-On: 2011-10-25 14:21:26.954364 Event: Call Connecting
-On: 2011-10-25 14:21:26.954416 Event: 200
-On: 2011-10-25 14:21:26.955707 Event: Terminate
-On: 2011-10-25 14:21:26.955758 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:21:30.975580 ------------------
-On: 2011-10-25 14:21:30.999346 Event: try to Connect to Controller
-On: 2011-10-25 14:21:32.046465 Event: init state
-On: 2011-10-25 14:21:32.046704 Event: Register Account to SIP server
-On: 2011-10-25 14:21:32.047123 Event: 100
-On: 2011-10-25 14:21:32.047208 Event: Caller Handler Ready
-On: 2011-10-25 14:21:37.054310 Event: CALL START
-On: 2011-10-25 14:21:37.054377 Event: Make a call to: 015252423662
-On: 2011-10-25 14:21:47.109112 Event: Call Connecting
-On: 2011-10-25 14:21:47.109162 Event: 200
-On: 2011-10-25 14:21:47.113575 Event: Terminate
-On: 2011-10-25 14:21:47.113634 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:21:50.976501 ------------------
-On: 2011-10-25 14:21:50.999778 Event: try to Connect to Controller
-On: 2011-10-25 14:21:52.165252 Event: init state
-On: 2011-10-25 14:21:52.165547 Event: Register Account to SIP server
-On: 2011-10-25 14:21:52.165976 Event: 100
-On: 2011-10-25 14:21:52.166060 Event: Caller Handler Ready
-On: 2011-10-25 14:22:02.199717 Event: CALL START
-On: 2011-10-25 14:22:02.199788 Event: Make a call to: 07612034661473
-On: 2011-10-25 14:22:03.971956 Event: Call Connecting
-On: 2011-10-25 14:22:03.972007 Event: 200
-On: 2011-10-25 14:22:04.168503 Event: Terminate
-On: 2011-10-25 14:22:04.168547 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:36:08.177254 ------------------
-On: 2011-10-25 14:36:08.210135 Event: try to Connect to Controller
-On: 2011-10-25 14:36:09.331361 Event: init state
-On: 2011-10-25 14:36:09.331607 Event: Register Account to SIP server
-On: 2011-10-25 14:36:09.332031 Event: 100
-On: 2011-10-25 14:36:09.332121 Event: Caller Handler Ready
-On: 2011-10-25 14:36:14.341429 Event: CALL START
-On: 2011-10-25 14:36:14.341493 Event: Make a call to: 017678038038
-On: 2011-10-25 14:36:22.311442 Event: Call Connecting
-On: 2011-10-25 14:36:22.311492 Event: 200
-On: 2011-10-25 14:36:22.316095 Event: Terminate
-On: 2011-10-25 14:36:22.316155 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:36:26.224451 ------------------
-On: 2011-10-25 14:36:26.250270 Event: try to Connect to Controller
-On: 2011-10-25 14:36:27.365703 Event: init state
-On: 2011-10-25 14:36:27.365955 Event: Register Account to SIP server
-On: 2011-10-25 14:36:27.366376 Event: 100
-On: 2011-10-25 14:36:27.366461 Event: Caller Handler Ready
-On: 2011-10-25 14:36:32.373430 Event: CALL START
-On: 2011-10-25 14:36:32.373492 Event: Make a call to: 015128040906
-On: 2011-10-25 14:36:43.998410 Event: Call Connecting
-On: 2011-10-25 14:36:43.998460 Event: 200
-On: 2011-10-25 14:36:44.001576 Event: Terminate
-On: 2011-10-25 14:36:44.001636 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:36:47.925239 ------------------
-On: 2011-10-25 14:36:47.950898 Event: try to Connect to Controller
-On: 2011-10-25 14:36:49.054034 Event: init state
-On: 2011-10-25 14:36:49.054703 Event: Register Account to SIP server
-On: 2011-10-25 14:36:49.055155 Event: 100
-On: 2011-10-25 14:36:49.055252 Event: Caller Handler Ready
-On: 2011-10-25 14:36:54.065473 Event: CALL START
-On: 2011-10-25 14:36:54.065544 Event: Make a call to: 015252423662
-On: 2011-10-25 14:37:05.077129 Event: Call Connecting
-On: 2011-10-25 14:37:05.077179 Event: 200
-On: 2011-10-25 14:37:05.081566 Event: Terminate
-On: 2011-10-25 14:37:05.081625 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:37:08.982905 ------------------
-On: 2011-10-25 14:37:09.009176 Event: try to Connect to Controller
-On: 2011-10-25 14:37:10.134444 Event: init state
-On: 2011-10-25 14:37:10.134716 Event: Register Account to SIP server
-On: 2011-10-25 14:37:10.135141 Event: 100
-On: 2011-10-25 14:37:10.135229 Event: Caller Handler Ready
-On: 2011-10-25 14:37:15.142207 Event: CALL START
-On: 2011-10-25 14:37:15.142267 Event: Make a call to: 015782677224
-On: 2011-10-25 14:37:21.165431 Event: Call Connecting
-On: 2011-10-25 14:37:21.165482 Event: 200
-On: 2011-10-25 14:37:27.142573 Event: Terminate
-On: 2011-10-25 14:37:27.142616 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:37:31.219087 ------------------
-On: 2011-10-25 14:37:31.246582 Event: try to Connect to Controller
-On: 2011-10-25 14:37:32.268965 Event: init state
-On: 2011-10-25 14:37:32.269206 Event: Register Account to SIP server
-On: 2011-10-25 14:37:32.269688 Event: 100
-On: 2011-10-25 14:37:32.269776 Event: Caller Handler Ready
-On: 2011-10-25 14:37:42.306974 Event: CALL START
-On: 2011-10-25 14:37:42.307037 Event: Make a call to: 07612034661473
-On: 2011-10-25 14:37:44.383572 Event: Call Connecting
-On: 2011-10-25 14:37:44.383621 Event: 200
-On: 2011-10-25 14:37:44.551247 Event: Terminate
-On: 2011-10-25 14:37:44.551290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:25:41.060135 ------------------
-On: 2011-10-25 16:25:41.086842 Event: try to Connect to Controller
-On: 2011-10-25 16:25:42.119482 Event: init state
-On: 2011-10-25 16:25:42.119714 Event: Register Account to SIP server
-On: 2011-10-25 16:25:42.120122 Event: 100
-On: 2011-10-25 16:25:42.120203 Event: Caller Handler Ready
-On: 2011-10-25 16:25:47.129464 Event: CALL START
-On: 2011-10-25 16:25:47.129527 Event: Make a call to: 07612034661449
-On: 2011-10-25 16:25:49.303245 Event: Call Connecting
-On: 2011-10-25 16:25:49.303296 Event: 200
-On: 2011-10-25 16:25:49.605926 Event: Terminate
-On: 2011-10-25 16:25:49.605971 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:15.426672 ------------------
-On: 2011-10-25 16:44:15.448787 Event: try to Connect to Controller
-On: 2011-10-25 16:44:16.530075 Event: init state
-On: 2011-10-25 16:44:16.530308 Event: Register Account to SIP server
-On: 2011-10-25 16:44:16.531101 Event: 100
-On: 2011-10-25 16:44:16.531185 Event: Receiver Handler Ready
-On: 2011-10-25 16:44:16.531556 Event: RECEIVE START
-On: 2011-10-25 16:44:21.755740 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-25 16:44:21.756260 Event: Call Connecting
-On: 2011-10-25 16:44:21.756300 Event: 200
-On: 2011-10-25 16:44:21.756555 Event: Answer call
-On: 2011-10-25 16:44:21.756607 Event: Hangup call
-On: 2011-10-25 16:44:21.756783 Event: CALL OK
-On: 2011-10-25 16:44:21.807499 Event: Call Disconnected
-On: 2011-10-25 16:44:22.258970 Event: Terminate
-On: 2011-10-25 16:44:22.259011 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:26.270290 ------------------
-On: 2011-10-25 16:44:26.294029 Event: try to Connect to Controller
-On: 2011-10-25 16:44:27.322463 Event: init state
-On: 2011-10-25 16:44:27.322708 Event: Register Account to SIP server
-On: 2011-10-25 16:44:27.323484 Event: 100
-On: 2011-10-25 16:44:27.323568 Event: Caller Handler Ready
-On: 2011-10-25 16:44:32.333959 Event: CALL START
-On: 2011-10-25 16:44:32.334029 Event: Make a call to: 076120397898
-On: 2011-10-25 16:44:32.404898 Event: Call Connecting
-On: 2011-10-25 16:44:32.404949 Event: 200
-On: 2011-10-25 16:44:32.408025 Event: Terminate
-On: 2011-10-25 16:44:32.408085 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:36.430433 ------------------
-On: 2011-10-25 16:44:36.452829 Event: try to Connect to Controller
-On: 2011-10-25 16:44:37.466779 Event: init state
-On: 2011-10-25 16:44:37.467014 Event: Register Account to SIP server
-On: 2011-10-25 16:44:37.467796 Event: 100
-On: 2011-10-25 16:44:37.467885 Event: Caller Handler Ready
-On: 2011-10-25 16:44:42.479315 Event: CALL START
-On: 2011-10-25 16:44:42.479386 Event: Make a call to: 076145875681
-On: 2011-10-25 16:44:45.947230 Event: Call Connecting
-On: 2011-10-25 16:44:45.947281 Event: 200
-On: 2011-10-25 16:44:45.948943 Event: Terminate
-On: 2011-10-25 16:44:45.948995 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:57.052151 ------------------
-On: 2011-10-25 16:44:57.074918 Event: try to Connect to Controller
-On: 2011-10-25 16:44:58.046482 Event: init state
-On: 2011-10-25 16:44:58.046717 Event: Register Account to SIP server
-On: 2011-10-25 16:44:58.047498 Event: 100
-On: 2011-10-25 16:44:58.047588 Event: Receiver Handler Ready
-On: 2011-10-25 16:44:58.048005 Event: RECEIVE START
-On: 2011-10-25 16:45:00.099605 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-25 16:45:00.100107 Event: Call Connecting
-On: 2011-10-25 16:45:00.100151 Event: 200
-On: 2011-10-25 16:45:00.100410 Event: Answer call
-On: 2011-10-25 16:45:00.100466 Event: Hangup call
-On: 2011-10-25 16:45:00.100656 Event: CALL OK
-On: 2011-10-25 16:45:00.151381 Event: Call Disconnected
-On: 2011-10-25 16:45:01.321445 Event: Terminate
-On: 2011-10-25 16:45:01.321494 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:45:05.294351 ------------------
-On: 2011-10-25 16:45:05.321692 Event: try to Connect to Controller
-On: 2011-10-25 16:45:06.386445 Event: init state
-On: 2011-10-25 16:45:06.386772 Event: Register Account to SIP server
-On: 2011-10-25 16:45:06.387204 Event: 100
-On: 2011-10-25 16:45:06.387291 Event: Caller Handler Ready
-On: 2011-10-25 16:45:11.396478 Event: CALL START
-On: 2011-10-25 16:45:11.396546 Event: Make a call to: 07612034661449
-On: 2011-10-25 16:45:14.048441 Event: Call Connecting
-On: 2011-10-25 16:45:14.048491 Event: 200
-On: 2011-10-25 16:45:14.225868 Event: Terminate
-On: 2011-10-25 16:45:14.225909 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:10:59.806299 ------------------
-On: 2011-10-25 17:10:59.843204 Event: try to Connect to Controller
-On: 2011-10-25 17:11:00.871970 Event: init state
-On: 2011-10-25 17:11:00.872750 Event: Register Account to SIP server
-On: 2011-10-25 17:11:00.873184 Event: 100
-On: 2011-10-25 17:11:00.873269 Event: Caller Handler Ready
-On: 2011-10-25 17:11:05.881475 Event: CALL START
-On: 2011-10-25 17:11:05.881548 Event: Make a call to: 015782677224
-On: 2011-10-25 17:11:12.159401 Event: Call Connecting
-On: 2011-10-25 17:11:12.159451 Event: 200
-On: 2011-10-25 17:11:17.883012 Event: Terminate
-On: 2011-10-25 17:11:17.883055 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:11:22.119280 ------------------
-On: 2011-10-25 17:11:22.142228 Event: try to Connect to Controller
-On: 2011-10-25 17:11:23.030582 Event: init state
-On: 2011-10-25 17:11:23.030818 Event: Register Account to SIP server
-On: 2011-10-25 17:11:23.032399 Event: 100
-On: 2011-10-25 17:11:23.032499 Event: Caller Handler Ready
-On: 2011-10-25 17:11:28.042287 Event: CALL START
-On: 2011-10-25 17:11:28.042360 Event: Make a call to: 017678038038
-On: 2011-10-25 17:11:37.598289 Event: Call Connecting
-On: 2011-10-25 17:11:37.598338 Event: 200
-On: 2011-10-25 17:11:37.601579 Event: Terminate
-On: 2011-10-25 17:11:37.601641 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:11:41.606449 ------------------
-On: 2011-10-25 17:11:41.640539 Event: try to Connect to Controller
-On: 2011-10-25 17:11:42.653375 Event: init state
-On: 2011-10-25 17:11:42.654099 Event: Register Account to SIP server
-On: 2011-10-25 17:11:42.654553 Event: 100
-On: 2011-10-25 17:11:42.654643 Event: Caller Handler Ready
-On: 2011-10-25 17:11:47.665431 Event: CALL START
-On: 2011-10-25 17:11:47.665491 Event: Make a call to: 015128040906
-On: 2011-10-25 17:12:08.197832 Event: Call Connecting
-On: 2011-10-25 17:12:08.197885 Event: 200
-On: 2011-10-25 17:12:08.198991 Event: Terminate
-On: 2011-10-25 17:12:08.199033 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:12:12.546280 ------------------
-On: 2011-10-25 17:12:12.608655 Event: try to Connect to Controller
-On: 2011-10-25 17:12:13.297795 Event: init state
-On: 2011-10-25 17:12:13.298039 Event: Register Account to SIP server
-On: 2011-10-25 17:12:13.298462 Event: 100
-On: 2011-10-25 17:12:13.298550 Event: Caller Handler Ready
-On: 2011-10-25 17:12:18.305473 Event: CALL START
-On: 2011-10-25 17:12:18.305544 Event: Make a call to: 015252423662
-On: 2011-10-25 17:12:27.965032 Event: Call Connecting
-On: 2011-10-25 17:12:27.965082 Event: 200
-On: 2011-10-25 17:12:27.969561 Event: Terminate
-On: 2011-10-25 17:12:27.969620 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:12:32.150739 ------------------
-On: 2011-10-25 17:12:32.206560 Event: try to Connect to Controller
-On: 2011-10-25 17:12:33.018475 Event: init state
-On: 2011-10-25 17:12:33.018718 Event: Register Account to SIP server
-On: 2011-10-25 17:12:33.019142 Event: 100
-On: 2011-10-25 17:12:33.019227 Event: Caller Handler Ready
-On: 2011-10-25 17:12:43.057429 Event: CALL START
-On: 2011-10-25 17:12:43.057497 Event: Make a call to: 07612034661473
-On: 2011-10-25 17:12:45.282424 Event: Call Connecting
-On: 2011-10-25 17:12:45.282475 Event: 200
-On: 2011-10-25 17:12:45.468379 Event: Terminate
-On: 2011-10-25 17:12:45.468422 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:21:42.444936 ------------------
-On: 2011-10-25 17:21:42.468263 Event: try to Connect to Controller
-On: 2011-10-25 17:21:43.555442 Event: init state
-On: 2011-10-25 17:21:43.555677 Event: Register Account to SIP server
-On: 2011-10-25 17:21:43.556101 Event: 100
-On: 2011-10-25 17:21:43.556188 Event: Caller Handler Ready
-On: 2011-10-25 17:21:48.562320 Event: CALL START
-On: 2011-10-25 17:21:48.562380 Event: Make a call to: 015782677224
-On: 2011-10-25 17:21:54.782684 Event: Call Connecting
-On: 2011-10-25 17:21:54.782732 Event: 200
-On: 2011-10-25 17:22:00.561662 Event: Terminate
-On: 2011-10-25 17:22:00.561705 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:22:04.563041 ------------------
-On: 2011-10-25 17:22:04.584916 Event: try to Connect to Controller
-On: 2011-10-25 17:22:05.663573 Event: init state
-On: 2011-10-25 17:22:05.663853 Event: Register Account to SIP server
-On: 2011-10-25 17:22:05.664276 Event: 100
-On: 2011-10-25 17:22:05.664362 Event: Caller Handler Ready
-On: 2011-10-25 17:22:10.673444 Event: CALL START
-On: 2011-10-25 17:22:10.673504 Event: Make a call to: 017678038038
-On: 2011-10-25 17:22:19.976694 Event: Call Connecting
-On: 2011-10-25 17:22:19.976743 Event: 200
-On: 2011-10-25 17:22:19.981283 Event: Terminate
-On: 2011-10-25 17:22:19.981340 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:22:23.894151 ------------------
-On: 2011-10-25 17:22:23.920273 Event: try to Connect to Controller
-On: 2011-10-25 17:22:25.030469 Event: init state
-On: 2011-10-25 17:22:25.030804 Event: Register Account to SIP server
-On: 2011-10-25 17:22:25.031597 Event: 100
-On: 2011-10-25 17:22:25.031686 Event: Caller Handler Ready
-On: 2011-10-25 17:22:30.040116 Event: CALL START
-On: 2011-10-25 17:22:30.040177 Event: Make a call to: 015128040906
-On: 2011-10-25 17:22:40.910574 Event: Call Connecting
-On: 2011-10-25 17:22:40.910622 Event: 200
-On: 2011-10-25 17:22:42.038394 Event: Terminate
-On: 2011-10-25 17:22:42.038436 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:22:46.035431 ------------------
-On: 2011-10-25 17:22:46.057864 Event: try to Connect to Controller
-On: 2011-10-25 17:22:47.136272 Event: init state
-On: 2011-10-25 17:22:47.136510 Event: Register Account to SIP server
-On: 2011-10-25 17:22:47.137257 Event: 100
-On: 2011-10-25 17:22:47.137344 Event: Caller Handler Ready
-On: 2011-10-25 17:22:52.145445 Event: CALL START
-On: 2011-10-25 17:22:52.145508 Event: Make a call to: 015252423662
-On: 2011-10-25 17:23:02.987352 Event: Call Connecting
-On: 2011-10-25 17:23:02.987404 Event: 200
-On: 2011-10-25 17:23:02.991625 Event: Terminate
-On: 2011-10-25 17:23:02.991686 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 10:31:46.085128 ------------------
-On: 2011-10-26 10:31:46.108331 Event: try to Connect to Controller
-On: 2011-10-26 10:31:47.325947 Event: init state
-On: 2011-10-26 10:31:47.326187 Event: Register Account to SIP server
-On: 2011-10-26 10:31:47.326600 Event: 100
-On: 2011-10-26 10:31:47.326682 Event: Caller Handler Ready
-On: 2011-10-26 10:31:52.333442 Event: CALL START
-On: 2011-10-26 10:31:52.333501 Event: Make a call to: 07612034661449
-On: 2011-10-26 10:31:53.895939 Event: Call Connecting
-On: 2011-10-26 10:31:53.895987 Event: 200
-On: 2011-10-26 10:31:54.093936 Event: Terminate
-On: 2011-10-26 10:31:54.093980 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:34:21.849321 ------------------
-On: 2011-10-26 20:34:21.870309 Event: try to Connect to Controller
-On: 2011-10-26 20:34:23.163351 Event: init state
-On: 2011-10-26 20:34:23.163584 Event: Register Account to SIP server
-On: 2011-10-26 20:34:23.163991 Event: 100
-On: 2011-10-26 20:34:23.164070 Event: Caller Handler Ready
-On: 2011-10-26 20:34:28.176645 Event: CALL START
-On: 2011-10-26 20:34:28.176698 Event: Make a call to: 015782677224
-On: 2011-10-26 20:34:34.202387 Event: Call Connecting
-On: 2011-10-26 20:34:34.202432 Event: 200
-On: 2011-10-26 20:34:40.170600 Event: Terminate
-On: 2011-10-26 20:34:40.170640 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:34:43.932427 ------------------
-On: 2011-10-26 20:34:43.952569 Event: try to Connect to Controller
-On: 2011-10-26 20:34:45.249759 Event: init state
-On: 2011-10-26 20:34:45.250005 Event: Register Account to SIP server
-On: 2011-10-26 20:34:45.250413 Event: 100
-On: 2011-10-26 20:34:45.250494 Event: Caller Handler Ready
-On: 2011-10-26 20:34:47.257892 Event: Terminate
-On: 2011-10-26 20:34:47.257930 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:34:50.978099 ------------------
-On: 2011-10-26 20:34:50.998549 Event: try to Connect to Controller
-On: 2011-10-26 20:34:52.303524 Event: init state
-On: 2011-10-26 20:34:52.303770 Event: Register Account to SIP server
-On: 2011-10-26 20:34:52.304176 Event: 100
-On: 2011-10-26 20:34:52.304256 Event: Caller Handler Ready
-On: 2011-10-26 20:34:57.316634 Event: CALL START
-On: 2011-10-26 20:34:57.316689 Event: Make a call to: 015128040906
-On: 2011-10-26 20:35:07.678233 Event: Call Connecting
-On: 2011-10-26 20:35:07.678279 Event: 200
-On: 2011-10-26 20:35:07.681706 Event: Terminate
-On: 2011-10-26 20:35:07.681763 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:35:11.410046 ------------------
-On: 2011-10-26 20:35:11.430447 Event: try to Connect to Controller
-On: 2011-10-26 20:35:12.725864 Event: init state
-On: 2011-10-26 20:35:12.726110 Event: Register Account to SIP server
-On: 2011-10-26 20:35:12.726524 Event: 100
-On: 2011-10-26 20:35:12.726602 Event: Caller Handler Ready
-On: 2011-10-26 20:35:17.736634 Event: CALL START
-On: 2011-10-26 20:35:17.736687 Event: Make a call to: 015252423662
-On: 2011-10-26 20:35:30.514585 Event: Call Connecting
-On: 2011-10-26 20:35:30.514632 Event: 200
-On: 2011-10-26 20:35:30.517704 Event: Terminate
-On: 2011-10-26 20:35:30.517761 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:35:34.238471 ------------------
-On: 2011-10-26 20:35:34.258750 Event: try to Connect to Controller
-On: 2011-10-26 20:35:35.557347 Event: init state
-On: 2011-10-26 20:35:35.557807 Event: Register Account to SIP server
-On: 2011-10-26 20:35:35.558218 Event: 100
-On: 2011-10-26 20:35:35.558298 Event: Caller Handler Ready
-On: 2011-10-26 20:35:42.574103 Event: Terminate
-On: 2011-10-26 20:35:42.574143 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:38:07.657208 ------------------
-On: 2011-10-26 22:38:07.677737 Event: try to Connect to Controller
-On: 2011-10-26 22:38:08.982525 Event: init state
-On: 2011-10-26 22:38:08.982774 Event: Register Account to SIP server
-On: 2011-10-26 22:38:08.983186 Event: 100
-On: 2011-10-26 22:38:08.983267 Event: Caller Handler Ready
-On: 2011-10-26 22:38:13.996588 Event: CALL START
-On: 2011-10-26 22:38:13.996640 Event: Make a call to: 07612034661449
-On: 2011-10-26 22:38:16.120754 Event: Call Connecting
-On: 2011-10-26 22:38:16.120798 Event: 200
-On: 2011-10-26 22:38:16.345875 Event: Terminate
-On: 2011-10-26 22:38:16.345916 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:54:43.907094 ------------------
-On: 2011-10-26 22:54:43.926963 Event: try to Connect to Controller
-On: 2011-10-26 22:54:45.218566 Event: init state
-On: 2011-10-26 22:54:45.218801 Event: Register Account to SIP server
-On: 2011-10-26 22:54:45.219207 Event: 100
-On: 2011-10-26 22:54:45.219289 Event: Caller Handler Ready
-On: 2011-10-26 22:54:50.232583 Event: CALL START
-On: 2011-10-26 22:54:50.232636 Event: Make a call to: 07612034661449
-On: 2011-10-26 22:54:52.780388 Event: Call Connecting
-On: 2011-10-26 22:54:52.780433 Event: 200
-On: 2011-10-26 22:54:52.977931 Event: Terminate
-On: 2011-10-26 22:54:52.977974 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:56:02.777308 ------------------
-On: 2011-10-26 22:56:02.797954 Event: try to Connect to Controller
-On: 2011-10-26 22:56:04.095052 Event: init state
-On: 2011-10-26 22:56:04.095308 Event: Register Account to SIP server
-On: 2011-10-26 22:56:04.095719 Event: 100
-On: 2011-10-26 22:56:04.095796 Event: Caller Handler Ready
-On: 2011-10-26 22:56:09.102934 Event: CALL START
-On: 2011-10-26 22:56:09.102990 Event: Make a call to: 076120397898
-On: 2011-10-26 22:56:09.146080 Event: Call Connecting
-On: 2011-10-26 22:56:09.146128 Event: 200
-On: 2011-10-26 22:56:09.146553 Event: Terminate
-On: 2011-10-26 22:56:09.146593 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:56:12.878042 ------------------
-On: 2011-10-26 22:56:12.898128 Event: try to Connect to Controller
-On: 2011-10-26 22:56:14.194791 Event: init state
-On: 2011-10-26 22:56:14.195038 Event: Register Account to SIP server
-On: 2011-10-26 22:56:14.195442 Event: 100
-On: 2011-10-26 22:56:14.195521 Event: Caller Handler Ready
-On: 2011-10-26 22:56:19.208603 Event: CALL START
-On: 2011-10-26 22:56:19.208652 Event: Make a call to: 07612034661449
-On: 2011-10-26 22:56:21.037260 Event: Call Connecting
-On: 2011-10-26 22:56:21.037306 Event: 200
-On: 2011-10-26 22:56:21.241849 Event: Terminate
-On: 2011-10-26 22:56:21.241888 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:57:34.781000 ------------------
-On: 2011-10-26 22:57:34.800937 Event: try to Connect to Controller
-On: 2011-10-26 22:57:36.097382 Event: init state
-On: 2011-10-26 22:57:36.097849 Event: Register Account to SIP server
-On: 2011-10-26 22:57:36.098268 Event: 100
-On: 2011-10-26 22:57:36.098349 Event: Caller Handler Ready
-On: 2011-10-26 22:57:41.103732 Event: CALL START
-On: 2011-10-26 22:57:41.103787 Event: Make a call to: 076120397898
-On: 2011-10-26 22:57:41.147554 Event: Call Connecting
-On: 2011-10-26 22:57:41.147600 Event: 200
-On: 2011-10-26 22:57:41.148679 Event: Terminate
-On: 2011-10-26 22:57:41.148718 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:13:28.762180 ------------------
-On: 2011-10-26 23:13:28.782342 Event: try to Connect to Controller
-On: 2011-10-26 23:13:30.077935 Event: init state
-On: 2011-10-26 23:13:30.078183 Event: Register Account to SIP server
-On: 2011-10-26 23:13:30.078594 Event: 100
-On: 2011-10-26 23:13:30.078675 Event: Caller Handler Ready
-On: 2011-10-26 23:13:35.084364 Event: CALL START
-On: 2011-10-26 23:13:35.084421 Event: Make a call to: 076120397898
-On: 2011-10-26 23:13:35.130477 Event: Call Connecting
-On: 2011-10-26 23:13:35.130526 Event: 200
-On: 2011-10-26 23:13:35.131598 Event: Terminate
-On: 2011-10-26 23:13:35.131640 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:13:38.863695 ------------------
-On: 2011-10-26 23:13:38.884584 Event: try to Connect to Controller
-On: 2011-10-26 23:13:40.180172 Event: init state
-On: 2011-10-26 23:13:40.180420 Event: Register Account to SIP server
-On: 2011-10-26 23:13:40.180834 Event: 100
-On: 2011-10-26 23:13:40.180914 Event: Caller Handler Ready
-On: 2011-10-26 23:13:45.192609 Event: CALL START
-On: 2011-10-26 23:13:45.192663 Event: Make a call to: 07612034661449
-On: 2011-10-26 23:13:47.326657 Event: Call Connecting
-On: 2011-10-26 23:13:47.326702 Event: 200
-On: 2011-10-26 23:13:47.541885 Event: Terminate
-On: 2011-10-26 23:13:47.541925 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:21:18.300638 ------------------
-On: 2011-10-26 23:21:18.320805 Event: try to Connect to Controller
-On: 2011-10-26 23:21:19.615508 Event: init state
-On: 2011-10-26 23:21:19.615749 Event: Register Account to SIP server
-On: 2011-10-26 23:21:19.616158 Event: 100
-On: 2011-10-26 23:21:19.616236 Event: Caller Handler Ready
-On: 2011-10-26 23:21:24.622951 Event: CALL START
-On: 2011-10-26 23:21:24.623007 Event: Make a call to: 076120397898
-On: 2011-10-26 23:21:24.671337 Event: Call Connecting
-On: 2011-10-26 23:21:24.671384 Event: 200
-On: 2011-10-26 23:21:24.672459 Event: Terminate
-On: 2011-10-26 23:21:24.672498 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:21:28.407093 ------------------
-On: 2011-10-26 23:21:28.427188 Event: try to Connect to Controller
-On: 2011-10-26 23:21:29.720921 Event: init state
-On: 2011-10-26 23:21:29.721164 Event: Register Account to SIP server
-On: 2011-10-26 23:21:29.721792 Event: 100
-On: 2011-10-26 23:21:29.721884 Event: Caller Handler Ready
-On: 2011-10-26 23:21:34.732654 Event: CALL START
-On: 2011-10-26 23:21:34.732706 Event: Make a call to: 07612034661449
-On: 2011-10-26 23:21:36.972290 Event: Call Connecting
-On: 2011-10-26 23:21:36.972333 Event: 200
-On: 2011-10-26 23:21:37.153875 Event: Terminate
-On: 2011-10-26 23:21:37.153913 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:42:09.889706 ------------------
-On: 2011-10-26 23:42:09.909746 Event: try to Connect to Controller
-On: 2011-10-26 23:42:11.200028 Event: init state
-On: 2011-10-26 23:42:11.200272 Event: Register Account to SIP server
-On: 2011-10-26 23:42:11.200681 Event: 100
-On: 2011-10-26 23:42:11.200761 Event: Caller Handler Ready
-On: 2011-10-26 23:42:16.209763 Event: CALL START
-On: 2011-10-26 23:42:16.209818 Event: Make a call to: 076120397898
-On: 2011-10-26 23:42:16.257718 Event: Call Connecting
-On: 2011-10-26 23:42:16.257766 Event: 200
-On: 2011-10-26 23:42:16.258183 Event: Terminate
-On: 2011-10-26 23:42:16.258220 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:42:59.468168 ------------------
-On: 2011-10-26 23:42:59.488520 Event: try to Connect to Controller
-On: 2011-10-26 23:43:00.777948 Event: init state
-On: 2011-10-26 23:43:00.778192 Event: Register Account to SIP server
-On: 2011-10-26 23:43:00.778605 Event: 100
-On: 2011-10-26 23:43:00.778686 Event: Caller Handler Ready
-On: 2011-10-26 23:43:05.783749 Event: CALL START
-On: 2011-10-26 23:43:05.783805 Event: Make a call to: 076120397898
-On: 2011-10-26 23:43:05.837586 Event: Call Connecting
-On: 2011-10-26 23:43:05.837646 Event: 200
-On: 2011-10-26 23:43:05.838054 Event: Terminate
-On: 2011-10-26 23:43:05.838092 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:15:27.738010 ------------------
-On: 2011-10-27 00:15:27.758004 Event: try to Connect to Controller
-On: 2011-10-27 00:15:29.053823 Event: init state
-On: 2011-10-27 00:15:29.054061 Event: Register Account to SIP server
-On: 2011-10-27 00:15:29.054473 Event: 100
-On: 2011-10-27 00:15:29.054554 Event: Caller Handler Ready
-On: 2011-10-27 00:15:34.060407 Event: CALL START
-On: 2011-10-27 00:15:34.060462 Event: Make a call to: 076120397898
-On: 2011-10-27 00:15:34.107614 Event: Call Connecting
-On: 2011-10-27 00:15:34.107661 Event: 200
-On: 2011-10-27 00:15:34.108073 Event: Terminate
-On: 2011-10-27 00:15:34.108111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:15:37.833205 ------------------
-On: 2011-10-27 00:15:37.854265 Event: try to Connect to Controller
-On: 2011-10-27 00:15:39.155089 Event: init state
-On: 2011-10-27 00:15:39.155339 Event: Register Account to SIP server
-On: 2011-10-27 00:15:39.155745 Event: 100
-On: 2011-10-27 00:15:39.155828 Event: Caller Handler Ready
-On: 2011-10-27 00:15:44.168620 Event: CALL START
-On: 2011-10-27 00:15:44.168670 Event: Make a call to: 07612034661449
-On: 2011-10-27 00:15:46.039949 Event: Call Connecting
-On: 2011-10-27 00:15:46.039996 Event: 200
-On: 2011-10-27 00:15:46.229901 Event: Terminate
-On: 2011-10-27 00:15:46.229940 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:20:25.557204 ------------------
-On: 2011-10-27 00:20:25.577342 Event: try to Connect to Controller
-On: 2011-10-27 00:20:26.871628 Event: init state
-On: 2011-10-27 00:20:26.871863 Event: Register Account to SIP server
-On: 2011-10-27 00:20:26.872271 Event: 100
-On: 2011-10-27 00:20:26.872351 Event: Caller Handler Ready
-On: 2011-10-27 00:20:31.881434 Event: CALL START
-On: 2011-10-27 00:20:31.881490 Event: Make a call to: 076120397898
-On: 2011-10-27 00:20:31.925712 Event: Call Connecting
-On: 2011-10-27 00:20:31.925759 Event: 200
-On: 2011-10-27 00:20:31.926174 Event: Terminate
-On: 2011-10-27 00:20:31.926211 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:20:35.660015 ------------------
-On: 2011-10-27 00:20:35.680467 Event: try to Connect to Controller
-On: 2011-10-27 00:20:36.974913 Event: init state
-On: 2011-10-27 00:20:36.975166 Event: Register Account to SIP server
-On: 2011-10-27 00:20:36.975576 Event: 100
-On: 2011-10-27 00:20:36.975656 Event: Caller Handler Ready
-On: 2011-10-27 00:20:41.988606 Event: CALL START
-On: 2011-10-27 00:20:41.988661 Event: Make a call to: 07612034661449
-On: 2011-10-27 00:20:49.651642 Event: Call Connecting
-On: 2011-10-27 00:20:49.651688 Event: 200
-On: 2011-10-27 00:20:49.869912 Event: Terminate
-On: 2011-10-27 00:20:49.869952 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:40:00.406475 ------------------
-On: 2011-10-27 00:40:00.426950 Event: try to Connect to Controller
-On: 2011-10-27 00:40:01.709138 Event: init state
-On: 2011-10-27 00:40:01.710438 Event: Register Account to SIP server
-On: 2011-10-27 00:40:01.710892 Event: 100
-On: 2011-10-27 00:40:01.710977 Event: Caller Handler Ready
-On: 2011-10-27 00:40:06.718230 Event: CALL START
-On: 2011-10-27 00:40:06.718287 Event: Make a call to: 076120397898
-On: 2011-10-27 00:40:06.779158 Event: Call Connecting
-On: 2011-10-27 00:40:06.779207 Event: 200
-On: 2011-10-27 00:40:06.781751 Event: Terminate
-On: 2011-10-27 00:40:06.781809 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:40:10.514415 ------------------
-On: 2011-10-27 00:40:10.534629 Event: try to Connect to Controller
-On: 2011-10-27 00:40:11.829228 Event: init state
-On: 2011-10-27 00:40:11.829516 Event: Register Account to SIP server
-On: 2011-10-27 00:40:11.829926 Event: 100
-On: 2011-10-27 00:40:11.830007 Event: Caller Handler Ready
-On: 2011-10-27 00:40:16.837423 Event: CALL START
-On: 2011-10-27 00:40:16.837477 Event: Make a call to: 07612034661449
-On: 2011-10-27 00:40:18.366047 Event: Call Connecting
-On: 2011-10-27 00:40:18.366093 Event: 200
-On: 2011-10-27 00:40:18.573859 Event: Terminate
-On: 2011-10-27 00:40:18.573898 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 01:27:31.606188 ------------------
-On: 2011-10-27 01:27:31.626729 Event: try to Connect to Controller
-On: 2011-10-27 01:27:32.918268 Event: init state
-On: 2011-10-27 01:27:32.918513 Event: Register Account to SIP server
-On: 2011-10-27 01:27:32.919278 Event: 100
-On: 2011-10-27 01:27:32.919360 Event: Caller Handler Ready
-On: 2011-10-27 01:27:37.927682 Event: CALL START
-On: 2011-10-27 01:27:37.927736 Event: Make a call to: 076120397898
-On: 2011-10-27 01:27:37.979378 Event: Call Connecting
-On: 2011-10-27 01:27:37.979425 Event: 200
-On: 2011-10-27 01:27:37.980487 Event: Terminate
-On: 2011-10-27 01:27:37.980526 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 01:27:41.726354 ------------------
-On: 2011-10-27 01:27:41.746930 Event: try to Connect to Controller
-On: 2011-10-27 01:27:43.038187 Event: init state
-On: 2011-10-27 01:27:43.038436 Event: Register Account to SIP server
-On: 2011-10-27 01:27:43.038848 Event: 100
-On: 2011-10-27 01:27:43.038931 Event: Caller Handler Ready
-On: 2011-10-27 01:27:48.052634 Event: CALL START
-On: 2011-10-27 01:27:48.052687 Event: Make a call to: 07612034661449
-On: 2011-10-27 01:27:50.089547 Event: Call Connecting
-On: 2011-10-27 01:27:50.089595 Event: 200
-On: 2011-10-27 01:27:50.309856 Event: Terminate
-On: 2011-10-27 01:27:50.309896 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 16:38:46.016927 ------------------
-On: 2011-10-27 16:38:46.037729 Event: try to Connect to Controller
-On: 2011-10-27 16:38:47.162433 Event: init state
-On: 2011-10-27 16:38:47.162666 Event: Register Account to SIP server
-On: 2011-10-27 16:38:47.163089 Event: 100
-On: 2011-10-27 16:38:47.163176 Event: Receiver Handler Ready
-On: 2011-10-27 16:38:47.163525 Event: RECEIVE START
-On: 2011-10-27 16:38:52.505510 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-27 16:38:52.506049 Event: Call Connecting
-On: 2011-10-27 16:38:52.506091 Event: 200
-On: 2011-10-27 16:38:52.506435 Event: Answer call
-On: 2011-10-27 16:38:52.506502 Event: Hangup call
-On: 2011-10-27 16:38:52.506684 Event: CALL OK
-On: 2011-10-27 16:38:52.557502 Event: Call Disconnected
-On: 2011-10-27 16:38:53.119369 Event: Terminate
-On: 2011-10-27 16:38:53.119411 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 01:07:51.010125 ------------------
-On: 2011-10-28 01:07:51.030278 Event: try to Connect to Controller
-On: 2011-10-28 01:07:52.345093 Event: init state
-On: 2011-10-28 01:07:52.345324 Event: Register Account to SIP server
-On: 2011-10-28 01:07:52.345924 Event: 100
-On: 2011-10-28 01:07:52.346015 Event: Receiver Handler Ready
-On: 2011-10-28 01:07:52.346352 Event: RECEIVE START
-On: 2011-10-28 01:07:57.581542 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-28 01:07:57.582272 Event: Call Connecting
-On: 2011-10-28 01:07:57.582317 Event: 200
-On: 2011-10-28 01:07:57.582558 Event: Answer call
-On: 2011-10-28 01:07:57.582608 Event: Hangup call
-On: 2011-10-28 01:07:57.582777 Event: CALL OK
-On: 2011-10-28 01:07:57.633484 Event: Call Disconnected
-On: 2011-10-28 01:07:58.115921 Event: Terminate
-On: 2011-10-28 01:07:58.115973 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 01:08:01.801331 ------------------
-On: 2011-10-28 01:08:01.821878 Event: try to Connect to Controller
-On: 2011-10-28 01:08:03.168962 Event: init state
-On: 2011-10-28 01:08:03.169214 Event: Register Account to SIP server
-On: 2011-10-28 01:08:03.169624 Event: 100
-On: 2011-10-28 01:08:03.170873 Event: Caller Handler Ready
-On: 2011-10-28 01:08:08.180915 Event: CALL START
-On: 2011-10-28 01:08:08.180971 Event: Make a call to: 07612034661449
-On: 2011-10-28 01:08:45.175650 Event: Terminate
-On: 2011-10-28 01:08:45.175691 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 12:41:12.476911 ------------------
-On: 2011-10-28 12:41:12.497267 Event: try to Connect to Controller
-On: 2011-10-28 12:41:13.830575 Event: init state
-On: 2011-10-28 12:41:13.830853 Event: Register Account to SIP server
-On: 2011-10-28 12:41:13.831266 Event: 100
-On: 2011-10-28 12:41:13.831348 Event: Caller Handler Ready
-On: 2011-10-28 12:41:18.840930 Event: CALL START
-On: 2011-10-28 12:41:18.840983 Event: Make a call to: 07612034661449
-On: 2011-10-28 12:41:21.297290 Event: Call Connecting
-On: 2011-10-28 12:41:21.297335 Event: 200
-On: 2011-10-28 12:41:22.442174 Event: Terminate
-On: 2011-10-28 12:41:22.442215 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:06:19.144392 ------------------
-On: 2011-10-28 15:06:19.169192 Event: try to Connect to Controller
-On: 2011-10-28 15:06:20.290790 Event: init state
-On: 2011-10-28 15:06:20.291028 Event: Register Account to SIP server
-On: 2011-10-28 15:06:20.291465 Event: 100
-On: 2011-10-28 15:06:20.291555 Event: Caller Handler Ready
-On: 2011-10-28 15:06:25.297713 Event: CALL START
-On: 2011-10-28 15:06:25.297772 Event: Make a call to: 015782677224
-On: 2011-10-28 15:06:31.725776 Event: Call Connecting
-On: 2011-10-28 15:06:31.725827 Event: 200
-On: 2011-10-28 15:06:42.296869 Event: Terminate
-On: 2011-10-28 15:06:42.296914 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:11:22.841875 ------------------
-On: 2011-10-28 15:11:22.893961 Event: try to Connect to Controller
-On: 2011-10-28 15:11:23.839569 Event: init state
-On: 2011-10-28 15:11:23.839813 Event: Register Account to SIP server
-On: 2011-10-28 15:11:23.840244 Event: 100
-On: 2011-10-28 15:11:23.840332 Event: Caller Handler Ready
-On: 2011-10-28 15:11:28.849237 Event: CALL START
-On: 2011-10-28 15:11:28.849313 Event: Make a call to: 017678038038
-On: 2011-10-28 15:11:37.307846 Event: Call Connecting
-On: 2011-10-28 15:11:37.307897 Event: 200
-On: 2011-10-28 15:11:37.312559 Event: Terminate
-On: 2011-10-28 15:11:37.312619 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:11:41.304918 ------------------
-On: 2011-10-28 15:11:41.342531 Event: try to Connect to Controller
-On: 2011-10-28 15:11:42.363553 Event: init state
-On: 2011-10-28 15:11:42.363784 Event: Register Account to SIP server
-On: 2011-10-28 15:11:42.364207 Event: 100
-On: 2011-10-28 15:11:42.364295 Event: Caller Handler Ready
-On: 2011-10-28 15:11:47.373464 Event: CALL START
-On: 2011-10-28 15:11:47.373535 Event: Make a call to: 015128040906
-On: 2011-10-28 15:12:08.224871 Event: Call Connecting
-On: 2011-10-28 15:12:08.224920 Event: 200
-On: 2011-10-28 15:12:08.226221 Event: Terminate
-On: 2011-10-28 15:12:08.226274 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:12:12.051119 ------------------
-On: 2011-10-28 15:12:12.075660 Event: try to Connect to Controller
-On: 2011-10-28 15:12:13.325068 Event: init state
-On: 2011-10-28 15:12:13.325309 Event: Register Account to SIP server
-On: 2011-10-28 15:12:13.325785 Event: 100
-On: 2011-10-28 15:12:13.325875 Event: Caller Handler Ready
-On: 2011-10-28 15:12:18.333717 Event: CALL START
-On: 2011-10-28 15:12:18.333777 Event: Make a call to: 015782677224
-On: 2011-10-28 15:12:24.639006 Event: Call Connecting
-On: 2011-10-28 15:12:24.639055 Event: 200
-On: 2011-10-28 15:12:35.331691 Event: Terminate
-On: 2011-10-28 15:12:35.331733 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:12:39.138580 ------------------
-On: 2011-10-28 15:12:39.169942 Event: try to Connect to Controller
-On: 2011-10-28 15:12:40.390730 Event: init state
-On: 2011-10-28 15:12:40.390968 Event: Register Account to SIP server
-On: 2011-10-28 15:12:40.391749 Event: 100
-On: 2011-10-28 15:12:40.391837 Event: Caller Handler Ready
-On: 2011-10-28 15:12:45.401767 Event: CALL START
-On: 2011-10-28 15:12:45.401834 Event: Make a call to: 076120397898
-On: 2011-10-28 15:12:45.472579 Event: Call Connecting
-On: 2011-10-28 15:12:45.472629 Event: 200
-On: 2011-10-28 15:12:45.475390 Event: Terminate
-On: 2011-10-28 15:12:45.475449 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:12:49.278271 ------------------
-On: 2011-10-28 15:12:49.302958 Event: try to Connect to Controller
-On: 2011-10-28 15:12:50.530260 Event: init state
-On: 2011-10-28 15:12:50.530499 Event: Register Account to SIP server
-On: 2011-10-28 15:12:50.530945 Event: 100
-On: 2011-10-28 15:12:50.531027 Event: Caller Handler Ready
-On: 2011-10-28 15:12:55.538247 Event: CALL START
-On: 2011-10-28 15:12:55.538309 Event: Make a call to: 076145875681
-On: 2011-10-28 15:12:58.736206 Event: Call Connecting
-On: 2011-10-28 15:12:58.736257 Event: 200
-On: 2011-10-28 15:12:58.737942 Event: Terminate
-On: 2011-10-28 15:12:58.737993 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:13:02.554706 ------------------
-On: 2011-10-28 15:13:02.575315 Event: try to Connect to Controller
-On: 2011-10-28 15:13:03.796943 Event: init state
-On: 2011-10-28 15:13:03.797260 Event: Register Account to SIP server
-On: 2011-10-28 15:13:03.797736 Event: 100
-On: 2011-10-28 15:13:03.797929 Event: Caller Handler Ready
-On: 2011-10-28 15:13:13.837720 Event: CALL START
-On: 2011-10-28 15:13:13.837781 Event: Make a call to: 07612034661455
-On: 2011-10-28 15:13:20.762118 Event: Call Connecting
-On: 2011-10-28 15:13:20.762169 Event: 200
-On: 2011-10-28 15:13:20.950955 Event: Terminate
-On: 2011-10-28 15:13:20.950999 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:13:24.764778 ------------------
-On: 2011-10-28 15:13:24.786300 Event: try to Connect to Controller
-On: 2011-10-28 15:13:26.010752 Event: init state
-On: 2011-10-28 15:13:26.010994 Event: Register Account to SIP server
-On: 2011-10-28 15:13:26.011424 Event: 100
-On: 2011-10-28 15:13:26.011511 Event: Caller Handler Ready
-On: 2011-10-28 15:13:31.021216 Event: CALL START
-On: 2011-10-28 15:13:31.021275 Event: Make a call to: 015252423662
-On: 2011-10-28 15:13:40.413822 Event: Call Connecting
-On: 2011-10-28 15:13:40.413869 Event: 200
-On: 2011-10-28 15:13:40.418052 Event: Terminate
-On: 2011-10-28 15:13:40.418110 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:13:44.232225 ------------------
-On: 2011-10-28 15:13:44.254042 Event: try to Connect to Controller
-On: 2011-10-28 15:13:45.462758 Event: init state
-On: 2011-10-28 15:13:45.462998 Event: Register Account to SIP server
-On: 2011-10-28 15:13:45.463772 Event: 100
-On: 2011-10-28 15:13:45.463860 Event: Caller Handler Ready
-On: 2011-10-28 15:13:55.486662 Event: CALL START
-On: 2011-10-28 15:13:55.486721 Event: Make a call to: 07612034661473
-On: 2011-10-28 15:13:57.471483 Event: Call Connecting
-On: 2011-10-28 15:13:57.471533 Event: 200
-On: 2011-10-28 15:13:57.653430 Event: Terminate
-On: 2011-10-28 15:13:57.653475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:14:01.494901 ------------------
-On: 2011-10-28 15:14:01.525973 Event: try to Connect to Controller
-On: 2011-10-28 15:14:02.710734 Event: init state
-On: 2011-10-28 15:14:02.710975 Event: Register Account to SIP server
-On: 2011-10-28 15:14:02.711759 Event: 100
-On: 2011-10-28 15:14:02.711848 Event: Caller Handler Ready
-On: 2011-10-28 15:14:07.721760 Event: CALL START
-On: 2011-10-28 15:14:07.721832 Event: Make a call to: 07612034661449
-On: 2011-10-28 15:14:10.389486 Event: Call Connecting
-On: 2011-10-28 15:14:10.389535 Event: 200
-On: 2011-10-28 15:14:11.521906 Event: Terminate
-On: 2011-10-28 15:14:11.521953 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:16:35.918253 ------------------
-On: 2011-10-28 15:16:35.944096 Event: try to Connect to Controller
-On: 2011-10-28 15:16:37.015976 Event: init state
-On: 2011-10-28 15:16:37.016213 Event: Register Account to SIP server
-On: 2011-10-28 15:16:37.017002 Event: 100
-On: 2011-10-28 15:16:37.017091 Event: Receiver Handler Ready
-On: 2011-10-28 15:16:37.017450 Event: RECEIVE START
-On: 2011-10-28 15:16:42.310198 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-28 15:16:42.310727 Event: Call Connecting
-On: 2011-10-28 15:16:42.310768 Event: 200
-On: 2011-10-28 15:16:42.311083 Event: Answer call
-On: 2011-10-28 15:16:42.311142 Event: Hangup call
-On: 2011-10-28 15:16:42.311326 Event: CALL OK
-On: 2011-10-28 15:16:42.362057 Event: Call Disconnected
-On: 2011-10-28 15:16:47.341506 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-28 15:16:47.342018 Event: Call Connecting
-On: 2011-10-28 15:16:47.342060 Event: 200
-On: 2011-10-28 15:16:47.342215 Event: Answer call
-On: 2011-10-28 15:16:47.342251 Event: Hangup call
-On: 2011-10-28 15:16:47.342420 Event: CALL OK
-On: 2011-10-28 15:16:47.393171 Event: Call Disconnected
-On: 2011-10-28 15:16:47.947161 Event: Terminate
-On: 2011-10-28 15:16:47.947206 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:17:52.644992 ------------------
-On: 2011-10-28 15:17:52.665604 Event: try to Connect to Controller
-On: 2011-10-28 15:17:53.924051 Event: init state
-On: 2011-10-28 15:17:53.924283 Event: Register Account to SIP server
-On: 2011-10-28 15:17:53.924711 Event: 100
-On: 2011-10-28 15:17:53.924797 Event: Receiver Handler Ready
-On: 2011-10-28 15:17:53.925062 Event: RECEIVE START
-On: 2011-10-28 15:17:56.099323 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-28 15:17:56.099834 Event: Call Connecting
-On: 2011-10-28 15:17:56.099875 Event: 200
-On: 2011-10-28 15:17:56.100132 Event: Answer call
-On: 2011-10-28 15:17:56.100185 Event: Hangup call
-On: 2011-10-28 15:17:56.100365 Event: CALL OK
-On: 2011-10-28 15:17:56.151060 Event: Call Disconnected
-On: 2011-10-28 15:17:57.299356 Event: Terminate
-On: 2011-10-28 15:17:57.299400 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:18:08.094541 ------------------
-On: 2011-10-28 15:18:08.114927 Event: try to Connect to Controller
-On: 2011-10-28 15:18:09.365309 Event: init state
-On: 2011-10-28 15:18:09.365543 Event: Register Account to SIP server
-On: 2011-10-28 15:18:09.366361 Event: 100
-On: 2011-10-28 15:18:09.366452 Event: Receiver Handler Ready
-On: 2011-10-28 15:18:09.366885 Event: RECEIVE START
-On: 2011-10-28 15:18:11.396701 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-28 15:18:11.397214 Event: Call Connecting
-On: 2011-10-28 15:18:11.397255 Event: 200
-On: 2011-10-28 15:18:11.397516 Event: Answer call
-On: 2011-10-28 15:18:11.397566 Event: Hangup call
-On: 2011-10-28 15:18:11.397807 Event: CALL OK
-On: 2011-10-28 15:18:11.448584 Event: Call Disconnected
-On: 2011-10-28 15:18:12.696470 Event: Terminate
-On: 2011-10-28 15:18:12.696516 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:18:18.521603 ------------------
-On: 2011-10-28 15:18:18.547741 Event: try to Connect to Controller
-On: 2011-10-28 15:18:19.764431 Event: init state
-On: 2011-10-28 15:18:19.764675 Event: Register Account to SIP server
-On: 2011-10-28 15:18:19.765108 Event: 100
-On: 2011-10-28 15:18:19.765197 Event: Receiver Handler Ready
-On: 2011-10-28 15:18:19.769769 Event: RECEIVE START
-On: 2011-10-28 15:18:20.808074 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-28 15:18:20.808581 Event: Call Connecting
-On: 2011-10-28 15:18:20.808619 Event: 200
-On: 2011-10-28 15:18:20.808875 Event: Answer call
-On: 2011-10-28 15:18:20.808926 Event: Hangup call
-On: 2011-10-28 15:18:20.809104 Event: CALL OK
-On: 2011-10-28 15:18:20.859794 Event: Call Disconnected
-On: 2011-10-28 15:18:22.278201 Event: Terminate
-On: 2011-10-28 15:18:22.278244 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:25:14.644588 ------------------
-On: 2011-10-28 15:25:14.672703 Event: try to Connect to Controller
-On: 2011-10-28 15:25:15.827990 Event: init state
-On: 2011-10-28 15:25:15.828229 Event: Register Account to SIP server
-On: 2011-10-28 15:25:15.829016 Event: 100
-On: 2011-10-28 15:25:15.829103 Event: Caller Handler Ready
-On: 2011-10-28 15:25:20.841716 Event: CALL START
-On: 2011-10-28 15:25:20.841768 Event: Make a call to: 015782677224
-On: 2011-10-28 15:25:26.529981 Event: Call Connecting
-On: 2011-10-28 15:25:26.530031 Event: 200
-On: 2011-10-28 15:25:37.846241 Event: Terminate
-On: 2011-10-28 15:25:37.846287 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:26:05.067525 ------------------
-On: 2011-10-28 15:26:05.092384 Event: try to Connect to Controller
-On: 2011-10-28 15:26:06.229933 Event: init state
-On: 2011-10-28 15:26:06.230175 Event: Register Account to SIP server
-On: 2011-10-28 15:26:06.230959 Event: 100
-On: 2011-10-28 15:26:06.231047 Event: Caller Handler Ready
-On: 2011-10-28 15:26:11.237713 Event: CALL START
-On: 2011-10-28 15:26:11.237773 Event: Make a call to: 015252423662
-On: 2011-10-28 15:26:22.670712 Event: Call Connecting
-On: 2011-10-28 15:26:22.670762 Event: 200
-On: 2011-10-28 15:26:22.673867 Event: Terminate
-On: 2011-10-28 15:26:22.673930 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:47:40.525569 ------------------
-On: 2011-10-28 15:47:40.547933 Event: try to Connect to Controller
-On: 2011-10-28 15:47:41.767166 Event: init state
-On: 2011-10-28 15:47:41.768004 Event: Register Account to SIP server
-On: 2011-10-28 15:47:41.768433 Event: 100
-On: 2011-10-28 15:47:41.768519 Event: Receiver Handler Ready
-On: 2011-10-28 15:47:41.768822 Event: RECEIVE START
-On: 2011-10-28 15:47:47.311921 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-28 15:47:47.312439 Event: Call Connecting
-On: 2011-10-28 15:47:47.312481 Event: 200
-On: 2011-10-28 15:47:47.312737 Event: Answer call
-On: 2011-10-28 15:47:47.312787 Event: Hangup call
-On: 2011-10-28 15:47:47.312964 Event: CALL OK
-On: 2011-10-28 15:47:47.363679 Event: Call Disconnected
-On: 2011-10-28 15:47:47.949423 Event: Terminate
-On: 2011-10-28 15:47:47.949464 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:48:30.924692 ------------------
-On: 2011-10-28 15:48:30.945237 Event: try to Connect to Controller
-On: 2011-10-28 15:48:32.155358 Event: init state
-On: 2011-10-28 15:48:32.155593 Event: Register Account to SIP server
-On: 2011-10-28 15:48:32.156376 Event: 100
-On: 2011-10-28 15:48:32.156463 Event: Caller Handler Ready
-On: 2011-10-28 15:48:37.165615 Event: CALL START
-On: 2011-10-28 15:48:37.165699 Event: Make a call to: 076120397898
-On: 2011-10-28 15:48:37.245072 Event: Call Connecting
-On: 2011-10-28 15:48:37.245122 Event: 200
-On: 2011-10-28 15:48:37.246160 Event: Terminate
-On: 2011-10-28 15:48:37.246210 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:48:56.730065 ------------------
-On: 2011-10-28 15:48:56.750541 Event: try to Connect to Controller
-On: 2011-10-28 15:48:57.971581 Event: init state
-On: 2011-10-28 15:48:57.971817 Event: Register Account to SIP server
-On: 2011-10-28 15:48:57.972606 Event: 100
-On: 2011-10-28 15:48:57.972693 Event: Caller Handler Ready
-On: 2011-10-28 15:49:02.981871 Event: CALL START
-On: 2011-10-28 15:49:02.981933 Event: Make a call to: 076145875681
-On: 2011-10-28 15:49:06.385827 Event: Call Connecting
-On: 2011-10-28 15:49:06.385879 Event: 200
-On: 2011-10-28 15:49:06.387483 Event: Terminate
-On: 2011-10-28 15:49:06.387532 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:49:17.195011 ------------------
-On: 2011-10-28 15:49:17.216118 Event: try to Connect to Controller
-On: 2011-10-28 15:49:18.475503 Event: init state
-On: 2011-10-28 15:49:18.475745 Event: Register Account to SIP server
-On: 2011-10-28 15:49:18.476164 Event: 100
-On: 2011-10-28 15:49:18.476247 Event: Receiver Handler Ready
-On: 2011-10-28 15:49:18.476513 Event: RECEIVE START
-On: 2011-10-28 15:49:20.906108 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-28 15:49:20.906617 Event: Call Connecting
-On: 2011-10-28 15:49:20.906657 Event: 200
-On: 2011-10-28 15:49:20.906911 Event: Answer call
-On: 2011-10-28 15:49:20.906964 Event: Hangup call
-On: 2011-10-28 15:49:20.907141 Event: CALL OK
-On: 2011-10-28 15:49:20.957862 Event: Call Disconnected
-On: 2011-10-28 15:49:22.275863 Event: Terminate
-On: 2011-10-28 15:49:22.275908 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:49:33.066269 ------------------
-On: 2011-10-28 15:49:33.098132 Event: try to Connect to Controller
-On: 2011-10-28 15:49:34.339288 Event: init state
-On: 2011-10-28 15:49:34.339543 Event: Register Account to SIP server
-On: 2011-10-28 15:49:34.339966 Event: 100
-On: 2011-10-28 15:49:34.340050 Event: Receiver Handler Ready
-On: 2011-10-28 15:49:34.340317 Event: RECEIVE START
-On: 2011-10-28 15:49:36.379344 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-28 15:49:36.379838 Event: Call Connecting
-On: 2011-10-28 15:49:36.379880 Event: 200
-On: 2011-10-28 15:49:36.380139 Event: Answer call
-On: 2011-10-28 15:49:36.380191 Event: Hangup call
-On: 2011-10-28 15:49:36.380375 Event: CALL OK
-On: 2011-10-28 15:49:36.431078 Event: Call Disconnected
-On: 2011-10-28 15:49:37.581194 Event: Terminate
-On: 2011-10-28 15:49:37.581239 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:49:43.414559 ------------------
-On: 2011-10-28 15:49:43.436454 Event: try to Connect to Controller
-On: 2011-10-28 15:49:44.649767 Event: init state
-On: 2011-10-28 15:49:44.650015 Event: Register Account to SIP server
-On: 2011-10-28 15:49:44.650803 Event: 100
-On: 2011-10-28 15:49:44.650891 Event: Receiver Handler Ready
-On: 2011-10-28 15:49:44.653869 Event: RECEIVE START
-On: 2011-10-28 15:49:45.844203 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-28 15:49:45.844727 Event: Call Connecting
-On: 2011-10-28 15:49:45.844769 Event: 200
-On: 2011-10-28 15:49:45.845019 Event: Answer call
-On: 2011-10-28 15:49:45.845070 Event: Hangup call
-On: 2011-10-28 15:49:45.845253 Event: CALL OK
-On: 2011-10-28 15:49:45.895960 Event: Call Disconnected
-On: 2011-10-28 15:49:47.278140 Event: Terminate
-On: 2011-10-28 15:49:47.278180 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:49:51.111401 ------------------
-On: 2011-10-28 15:49:51.143273 Event: try to Connect to Controller
-On: 2011-10-28 15:49:52.322485 Event: init state
-On: 2011-10-28 15:49:52.323774 Event: Register Account to SIP server
-On: 2011-10-28 15:49:52.324201 Event: 100
-On: 2011-10-28 15:49:52.324291 Event: Caller Handler Ready
-On: 2011-10-28 15:50:02.366451 Event: CALL START
-On: 2011-10-28 15:50:02.366518 Event: Make a call to: 07612034661455
-On: 2011-10-28 15:50:04.928892 Event: Call Connecting
-On: 2011-10-28 15:50:04.928941 Event: 200
-On: 2011-10-28 15:50:05.129231 Event: Terminate
-On: 2011-10-28 15:50:05.129275 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:50:08.986749 ------------------
-On: 2011-10-28 15:50:09.007203 Event: try to Connect to Controller
-On: 2011-10-28 15:50:10.170745 Event: init state
-On: 2011-10-28 15:50:10.170989 Event: Register Account to SIP server
-On: 2011-10-28 15:50:10.171415 Event: 100
-On: 2011-10-28 15:50:10.171500 Event: Caller Handler Ready
-On: 2011-10-28 15:50:20.194806 Event: CALL START
-On: 2011-10-28 15:50:20.194866 Event: Make a call to: 07612034661473
-On: 2011-10-28 15:50:27.809365 Event: Call Connecting
-On: 2011-10-28 15:50:27.809415 Event: 200
-On: 2011-10-28 15:50:27.981856 Event: Terminate
-On: 2011-10-28 15:50:27.981903 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:50:31.854841 ------------------
-On: 2011-10-28 15:50:31.881226 Event: try to Connect to Controller
-On: 2011-10-28 15:50:33.042755 Event: init state
-On: 2011-10-28 15:50:33.042999 Event: Register Account to SIP server
-On: 2011-10-28 15:50:33.043426 Event: 100
-On: 2011-10-28 15:50:33.043511 Event: Caller Handler Ready
-On: 2011-10-28 15:50:38.049722 Event: CALL START
-On: 2011-10-28 15:50:38.049784 Event: Make a call to: 07612034661449
-On: 2011-10-28 15:50:40.698641 Event: Call Connecting
-On: 2011-10-28 15:50:40.698690 Event: 200
-On: 2011-10-28 15:50:41.854167 Event: Terminate
-On: 2011-10-28 15:50:41.854208 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:56:13.943425 ------------------
-On: 2011-10-28 15:56:13.974595 Event: try to Connect to Controller
-On: 2011-10-28 15:56:15.026822 Event: init state
-On: 2011-10-28 15:56:15.027064 Event: Register Account to SIP server
-On: 2011-10-28 15:56:15.027487 Event: 100
-On: 2011-10-28 15:56:15.027573 Event: Caller Handler Ready
-On: 2011-10-28 15:56:20.035653 Event: CALL START
-On: 2011-10-28 15:56:20.035714 Event: Make a call to: 015782677224
-On: 2011-10-28 15:56:27.049612 Event: Call Connecting
-On: 2011-10-28 15:56:27.049661 Event: 200
-On: 2011-10-28 15:56:37.034078 Event: Terminate
-On: 2011-10-28 15:56:37.034121 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:56:40.951510 ------------------
-On: 2011-10-28 15:56:40.977082 Event: try to Connect to Controller
-On: 2011-10-28 15:56:42.094799 Event: init state
-On: 2011-10-28 15:56:42.095041 Event: Register Account to SIP server
-On: 2011-10-28 15:56:42.095473 Event: 100
-On: 2011-10-28 15:56:42.095564 Event: Caller Handler Ready
-On: 2011-10-28 15:56:47.101737 Event: CALL START
-On: 2011-10-28 15:56:47.101801 Event: Make a call to: 015252423662
-On: 2011-10-28 15:56:56.257420 Event: Call Connecting
-On: 2011-10-28 15:56:56.257470 Event: 200
-On: 2011-10-28 15:56:56.261849 Event: Terminate
-On: 2011-10-28 15:56:56.261910 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:57:00.159341 ------------------
-On: 2011-10-28 15:57:00.179926 Event: try to Connect to Controller
-On: 2011-10-28 15:57:01.317565 Event: init state
-On: 2011-10-28 15:57:01.317858 Event: Register Account to SIP server
-On: 2011-10-28 15:57:01.318291 Event: 100
-On: 2011-10-28 15:57:01.318379 Event: Caller Handler Ready
-On: 2011-10-28 15:57:06.325734 Event: CALL START
-On: 2011-10-28 15:57:06.325796 Event: Make a call to: 015128040906
-On: 2011-10-28 15:57:16.325574 Event: Call Connecting
-On: 2011-10-28 15:57:16.325624 Event: 200
-On: 2011-10-28 15:57:16.329862 Event: Terminate
-On: 2011-10-28 15:57:16.329922 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:57:20.239917 ------------------
-On: 2011-10-28 15:57:20.260257 Event: try to Connect to Controller
-On: 2011-10-28 15:57:21.386747 Event: init state
-On: 2011-10-28 15:57:21.386988 Event: Register Account to SIP server
-On: 2011-10-28 15:57:21.387418 Event: 100
-On: 2011-10-28 15:57:21.387506 Event: Caller Handler Ready
-On: 2011-10-28 15:57:26.397074 Event: CALL START
-On: 2011-10-28 15:57:26.397138 Event: Make a call to: 017678038038
-On: 2011-10-28 15:57:35.847777 Event: Call Connecting
-On: 2011-10-28 15:57:35.847828 Event: 200
-On: 2011-10-28 15:57:35.852422 Event: Terminate
-On: 2011-10-28 15:57:35.852482 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:06:31.486566 ------------------
-On: 2011-10-28 16:06:31.507063 Event: try to Connect to Controller
-On: 2011-10-28 16:06:32.787655 Event: init state
-On: 2011-10-28 16:06:32.788932 Event: Register Account to SIP server
-On: 2011-10-28 16:06:32.789388 Event: 100
-On: 2011-10-28 16:06:32.789478 Event: Caller Handler Ready
-On: 2011-10-28 16:06:39.807590 Event: Terminate
-On: 2011-10-28 16:06:39.807631 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:51:15.867673 ------------------
-On: 2011-10-28 16:51:15.888137 Event: try to Connect to Controller
-On: 2011-10-28 16:51:17.181540 Event: init state
-On: 2011-10-28 16:51:17.181983 Event: Register Account to SIP server
-On: 2011-10-28 16:51:17.182426 Event: 100
-On: 2011-10-28 16:51:17.182516 Event: Caller Handler Ready
-On: 2011-10-28 16:51:22.192944 Event: CALL START
-On: 2011-10-28 16:51:22.193000 Event: Make a call to: 015782677224
-On: 2011-10-28 16:51:28.477553 Event: Call Connecting
-On: 2011-10-28 16:51:28.477603 Event: 200
-On: 2011-10-28 16:51:39.187627 Event: Terminate
-On: 2011-10-28 16:51:39.187667 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:51:43.153292 ------------------
-On: 2011-10-28 16:51:43.174018 Event: try to Connect to Controller
-On: 2011-10-28 16:51:44.274832 Event: init state
-On: 2011-10-28 16:51:44.275073 Event: Register Account to SIP server
-On: 2011-10-28 16:51:44.275497 Event: 100
-On: 2011-10-28 16:51:44.275586 Event: Caller Handler Ready
-On: 2011-10-28 16:51:49.288924 Event: CALL START
-On: 2011-10-28 16:51:49.288990 Event: Make a call to: 017678038038
-On: 2011-10-28 16:51:58.583361 Event: Call Connecting
-On: 2011-10-28 16:51:58.583412 Event: 200
-On: 2011-10-28 16:51:58.584490 Event: Terminate
-On: 2011-10-28 16:51:58.584529 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:52:02.340035 ------------------
-On: 2011-10-28 16:52:02.360689 Event: try to Connect to Controller
-On: 2011-10-28 16:52:03.636166 Event: init state
-On: 2011-10-28 16:52:03.636455 Event: Register Account to SIP server
-On: 2011-10-28 16:52:03.636879 Event: 100
-On: 2011-10-28 16:52:03.636967 Event: Caller Handler Ready
-On: 2011-10-28 16:52:08.648908 Event: CALL START
-On: 2011-10-28 16:52:08.648966 Event: Make a call to: 015128040906
-On: 2011-10-28 16:52:19.297759 Event: Call Connecting
-On: 2011-10-28 16:52:19.297809 Event: 200
-On: 2011-10-28 16:52:19.298891 Event: Terminate
-On: 2011-10-28 16:52:19.298930 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:52:23.051980 ------------------
-On: 2011-10-28 16:52:23.072456 Event: try to Connect to Controller
-On: 2011-10-28 16:52:24.346688 Event: init state
-On: 2011-10-28 16:52:24.346947 Event: Register Account to SIP server
-On: 2011-10-28 16:52:24.347364 Event: 100
-On: 2011-10-28 16:52:24.347453 Event: Caller Handler Ready
-On: 2011-10-28 16:52:29.360934 Event: CALL START
-On: 2011-10-28 16:52:29.360992 Event: Make a call to: 015252423662
-On: 2011-10-28 16:52:38.169412 Event: Call Connecting
-On: 2011-10-28 16:52:38.169460 Event: 200
-On: 2011-10-28 16:52:38.169889 Event: Terminate
-On: 2011-10-28 16:52:38.169929 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:19:33.436474 ------------------
-On: 2011-10-28 18:19:33.457118 Event: try to Connect to Controller
-On: 2011-10-28 18:19:34.758093 Event: init state
-On: 2011-10-28 18:19:34.758338 Event: Register Account to SIP server
-On: 2011-10-28 18:19:34.759122 Event: 100
-On: 2011-10-28 18:19:34.759209 Event: Caller Handler Ready
-On: 2011-10-28 18:19:36.762650 Event: Terminate
-On: 2011-10-28 18:19:36.762690 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:19:40.544889 ------------------
-On: 2011-10-28 18:19:40.565451 Event: try to Connect to Controller
-On: 2011-10-28 18:19:41.875779 Event: init state
-On: 2011-10-28 18:19:41.876023 Event: Register Account to SIP server
-On: 2011-10-28 18:19:41.876453 Event: 100
-On: 2011-10-28 18:19:41.876542 Event: Caller Handler Ready
-On: 2011-10-28 18:19:46.885709 Event: CALL START
-On: 2011-10-28 18:19:46.885762 Event: Make a call to: 015128040906
-On: 2011-10-28 18:19:57.473292 Event: Call Connecting
-On: 2011-10-28 18:19:57.473343 Event: 200
-On: 2011-10-28 18:19:57.477855 Event: Terminate
-On: 2011-10-28 18:19:57.477916 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:20:01.217034 ------------------
-On: 2011-10-28 18:20:01.238287 Event: try to Connect to Controller
-On: 2011-10-28 18:20:02.530767 Event: init state
-On: 2011-10-28 18:20:02.531010 Event: Register Account to SIP server
-On: 2011-10-28 18:20:02.531435 Event: 100
-On: 2011-10-28 18:20:02.531523 Event: Caller Handler Ready
-On: 2011-10-28 18:20:07.541714 Event: CALL START
-On: 2011-10-28 18:20:07.541774 Event: Make a call to: 015252423662
-On: 2011-10-28 18:20:17.276549 Event: Call Connecting
-On: 2011-10-28 18:20:17.276599 Event: 200
-On: 2011-10-28 18:20:17.281568 Event: Terminate
-On: 2011-10-28 18:20:17.281630 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:38:08.292135 ------------------
-On: 2011-10-28 18:38:08.335050 Event: try to Connect to Controller
-On: 2011-10-28 18:38:09.516479 Event: init state
-On: 2011-10-28 18:38:09.516722 Event: Register Account to SIP server
-On: 2011-10-28 18:38:09.517155 Event: 100
-On: 2011-10-28 18:38:09.517241 Event: Caller Handler Ready
-On: 2011-10-28 18:38:14.525714 Event: CALL START
-On: 2011-10-28 18:38:14.525772 Event: Make a call to: 017678038038
-On: 2011-10-28 18:38:24.018337 Event: Call Connecting
-On: 2011-10-28 18:38:24.018389 Event: 200
-On: 2011-10-28 18:38:24.021866 Event: Terminate
-On: 2011-10-28 18:38:24.021930 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:38:27.824299 ------------------
-On: 2011-10-28 18:38:27.844595 Event: try to Connect to Controller
-On: 2011-10-28 18:38:29.069974 Event: init state
-On: 2011-10-28 18:38:29.070215 Event: Register Account to SIP server
-On: 2011-10-28 18:38:29.070637 Event: 100
-On: 2011-10-28 18:38:29.070726 Event: Caller Handler Ready
-On: 2011-10-28 18:38:34.077715 Event: CALL START
-On: 2011-10-28 18:38:34.077774 Event: Make a call to: 015128040906
-On: 2011-10-28 18:38:44.141817 Event: Call Connecting
-On: 2011-10-28 18:38:44.141868 Event: 200
-On: 2011-10-28 18:38:44.145852 Event: Terminate
-On: 2011-10-28 18:38:44.145912 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:38:47.948376 ------------------
-On: 2011-10-28 18:38:47.968836 Event: try to Connect to Controller
-On: 2011-10-28 18:38:49.194136 Event: init state
-On: 2011-10-28 18:38:49.194375 Event: Register Account to SIP server
-On: 2011-10-28 18:38:49.194805 Event: 100
-On: 2011-10-28 18:38:49.194895 Event: Caller Handler Ready
-On: 2011-10-28 18:38:54.201801 Event: CALL START
-On: 2011-10-28 18:38:54.201854 Event: Make a call to: 015252423662
-On: 2011-10-28 18:39:03.545894 Event: Call Connecting
-On: 2011-10-28 18:39:03.545946 Event: 200
-On: 2011-10-28 18:39:03.549868 Event: Terminate
-On: 2011-10-28 18:39:03.549928 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:39:07.353550 ------------------
-On: 2011-10-28 18:39:07.378405 Event: try to Connect to Controller
-On: 2011-10-28 18:39:08.593305 Event: init state
-On: 2011-10-28 18:39:08.593544 Event: Register Account to SIP server
-On: 2011-10-28 18:39:08.594028 Event: 100
-On: 2011-10-28 18:39:08.594119 Event: Caller Handler Ready
-On: 2011-10-28 18:39:10.598672 Event: Terminate
-On: 2011-10-28 18:39:10.598713 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:39:14.428944 ------------------
-On: 2011-10-28 18:39:14.453467 Event: try to Connect to Controller
-On: 2011-10-28 18:39:15.671477 Event: init state
-On: 2011-10-28 18:39:15.671714 Event: Register Account to SIP server
-On: 2011-10-28 18:39:15.672135 Event: 100
-On: 2011-10-28 18:39:15.672223 Event: Caller Handler Ready
-On: 2011-10-28 18:39:20.681338 Event: CALL START
-On: 2011-10-28 18:39:20.681394 Event: Make a call to: 07612034661449
-On: 2011-10-28 18:39:23.162393 Event: Call Connecting
-On: 2011-10-28 18:39:23.162441 Event: 200
-On: 2011-10-28 18:39:24.282177 Event: Terminate
-On: 2011-10-28 18:39:24.282218 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:42:30.827526 ------------------
-On: 2011-10-28 18:42:30.848824 Event: try to Connect to Controller
-On: 2011-10-28 18:42:31.833050 Event: init state
-On: 2011-10-28 18:42:31.833296 Event: Register Account to SIP server
-On: 2011-10-28 18:42:31.834164 Event: 100
-On: 2011-10-28 18:42:31.834255 Event: Caller Handler Ready
-On: 2011-10-28 18:42:36.841725 Event: CALL START
-On: 2011-10-28 18:42:36.841782 Event: Make a call to: 015782677224
-On: 2011-10-28 18:42:43.369218 Event: Call Connecting
-On: 2011-10-28 18:42:43.369267 Event: 200
-On: 2011-10-28 18:42:53.839876 Event: Terminate
-On: 2011-10-28 18:42:53.839919 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:42:57.660071 ------------------
-On: 2011-10-28 18:42:57.681224 Event: try to Connect to Controller
-On: 2011-10-28 18:42:58.885589 Event: init state
-On: 2011-10-28 18:42:58.885883 Event: Register Account to SIP server
-On: 2011-10-28 18:42:58.886313 Event: 100
-On: 2011-10-28 18:42:58.886400 Event: Caller Handler Ready
-On: 2011-10-28 18:43:03.894172 Event: CALL START
-On: 2011-10-28 18:43:03.894228 Event: Make a call to: 017678038038
-On: 2011-10-28 18:43:12.342858 Event: Call Connecting
-On: 2011-10-28 18:43:12.342908 Event: 200
-On: 2011-10-28 18:43:12.345865 Event: Terminate
-On: 2011-10-28 18:43:12.345925 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:43:16.226618 ------------------
-On: 2011-10-28 18:43:16.247733 Event: try to Connect to Controller
-On: 2011-10-28 18:43:17.397641 Event: init state
-On: 2011-10-28 18:43:17.398023 Event: Register Account to SIP server
-On: 2011-10-28 18:43:17.398452 Event: 100
-On: 2011-10-28 18:43:17.398647 Event: Caller Handler Ready
-On: 2011-10-28 18:43:22.405722 Event: CALL START
-On: 2011-10-28 18:43:22.405783 Event: Make a call to: 015252423662
-On: 2011-10-28 18:43:30.940256 Event: Call Connecting
-On: 2011-10-28 18:43:30.940306 Event: 200
-On: 2011-10-28 18:43:30.945010 Event: Terminate
-On: 2011-10-28 18:43:30.945071 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:44:34.773125 ------------------
-On: 2011-10-28 18:44:34.797615 Event: try to Connect to Controller
-On: 2011-10-28 18:44:35.930760 Event: init state
-On: 2011-10-28 18:44:35.930996 Event: Register Account to SIP server
-On: 2011-10-28 18:44:35.931780 Event: 100
-On: 2011-10-28 18:44:35.931869 Event: Receiver Handler Ready
-On: 2011-10-28 18:44:35.933875 Event: RECEIVE START
-On: 2011-10-28 18:44:37.359487 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-28 18:44:37.359987 Event: Call Connecting
-On: 2011-10-28 18:44:37.360029 Event: 200
-On: 2011-10-28 18:44:37.360288 Event: Answer call
-On: 2011-10-28 18:44:37.360341 Event: Hangup call
-On: 2011-10-28 18:44:37.360519 Event: CALL OK
-On: 2011-10-28 18:44:37.411246 Event: Call Disconnected
-On: 2011-10-28 18:44:38.454140 Event: Terminate
-On: 2011-10-28 18:44:38.454183 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:45:02.947557 ------------------
-On: 2011-10-28 18:45:02.971809 Event: try to Connect to Controller
-On: 2011-10-28 18:45:04.082743 Event: init state
-On: 2011-10-28 18:45:04.082991 Event: Register Account to SIP server
-On: 2011-10-28 18:45:04.083413 Event: 100
-On: 2011-10-28 18:45:04.083501 Event: Caller Handler Ready
-On: 2011-10-28 18:45:09.089707 Event: CALL START
-On: 2011-10-28 18:45:09.089765 Event: Make a call to: 015782677224
-On: 2011-10-28 18:45:15.474986 Event: Call Connecting
-On: 2011-10-28 18:45:15.475036 Event: 200
-On: 2011-10-28 18:45:26.088377 Event: Terminate
-On: 2011-10-28 18:45:26.088418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:45:29.992011 ------------------
-On: 2011-10-28 18:45:30.012560 Event: try to Connect to Controller
-On: 2011-10-28 18:45:31.133851 Event: init state
-On: 2011-10-28 18:45:31.134102 Event: Register Account to SIP server
-On: 2011-10-28 18:45:31.134892 Event: 100
-On: 2011-10-28 18:45:31.134980 Event: Caller Handler Ready
-On: 2011-10-28 18:45:36.141714 Event: CALL START
-On: 2011-10-28 18:45:36.141773 Event: Make a call to: 017678038038
-On: 2011-10-28 18:45:44.364285 Event: Call Connecting
-On: 2011-10-28 18:45:44.364336 Event: 200
-On: 2011-10-28 18:45:44.369260 Event: Terminate
-On: 2011-10-28 18:45:44.369322 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:45:48.282449 ------------------
-On: 2011-10-28 18:45:48.307355 Event: try to Connect to Controller
-On: 2011-10-28 18:45:49.417783 Event: init state
-On: 2011-10-28 18:45:49.418125 Event: Register Account to SIP server
-On: 2011-10-28 18:45:49.418559 Event: 100
-On: 2011-10-28 18:45:49.418766 Event: Caller Handler Ready
-On: 2011-10-28 18:45:54.425708 Event: CALL START
-On: 2011-10-28 18:45:54.425764 Event: Make a call to: 015128040906
-On: 2011-10-28 18:46:06.362214 Event: Call Connecting
-On: 2011-10-28 18:46:06.362265 Event: 200
-On: 2011-10-28 18:46:06.365862 Event: Terminate
-On: 2011-10-28 18:46:06.365924 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:46:10.297371 ------------------
-On: 2011-10-28 18:46:10.318257 Event: try to Connect to Controller
-On: 2011-10-28 18:46:11.415747 Event: init state
-On: 2011-10-28 18:46:11.415988 Event: Register Account to SIP server
-On: 2011-10-28 18:46:11.416413 Event: 100
-On: 2011-10-28 18:46:11.416501 Event: Caller Handler Ready
-On: 2011-10-28 18:46:16.425709 Event: CALL START
-On: 2011-10-28 18:46:16.425763 Event: Make a call to: 015252423662
-On: 2011-10-28 18:46:26.172703 Event: Call Connecting
-On: 2011-10-28 18:46:26.172753 Event: 200
-On: 2011-10-28 18:46:26.177359 Event: Terminate
-On: 2011-10-28 18:46:26.177417 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:54:15.612029 ------------------
-On: 2011-10-28 18:54:15.637195 Event: try to Connect to Controller
-On: 2011-10-28 18:54:16.830106 Event: init state
-On: 2011-10-28 18:54:16.830368 Event: Register Account to SIP server
-On: 2011-10-28 18:54:16.830798 Event: 100
-On: 2011-10-28 18:54:16.830886 Event: Caller Handler Ready
-On: 2011-10-28 18:54:21.837714 Event: CALL START
-On: 2011-10-28 18:54:21.837773 Event: Make a call to: 015782677224
-On: 2011-10-28 18:54:28.096191 Event: Call Connecting
-On: 2011-10-28 18:54:28.096241 Event: 200
-On: 2011-10-28 18:54:38.837236 Event: Terminate
-On: 2011-10-28 18:54:38.837281 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:54:42.667840 ------------------
-On: 2011-10-28 18:54:42.688656 Event: try to Connect to Controller
-On: 2011-10-28 18:54:43.886564 Event: init state
-On: 2011-10-28 18:54:43.886800 Event: Register Account to SIP server
-On: 2011-10-28 18:54:43.887229 Event: 100
-On: 2011-10-28 18:54:43.887316 Event: Caller Handler Ready
-On: 2011-10-28 18:54:48.893709 Event: CALL START
-On: 2011-10-28 18:54:48.893766 Event: Make a call to: 017678038038
-On: 2011-10-28 18:54:57.601018 Event: Call Connecting
-On: 2011-10-28 18:54:57.601070 Event: 200
-On: 2011-10-28 18:54:57.605791 Event: Terminate
-On: 2011-10-28 18:54:57.605847 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:55:01.465642 ------------------
-On: 2011-10-28 18:55:01.486388 Event: try to Connect to Controller
-On: 2011-10-28 18:55:02.653821 Event: init state
-On: 2011-10-28 18:55:02.654156 Event: Register Account to SIP server
-On: 2011-10-28 18:55:02.655043 Event: 100
-On: 2011-10-28 18:55:02.655787 Event: Caller Handler Ready
-On: 2011-10-28 18:55:07.661707 Event: CALL START
-On: 2011-10-28 18:55:07.661763 Event: Make a call to: 015252423662
-On: 2011-10-28 18:55:17.274808 Event: Call Connecting
-On: 2011-10-28 18:55:17.274858 Event: 200
-On: 2011-10-28 18:55:17.277857 Event: Terminate
-On: 2011-10-28 18:55:17.277918 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:00:18.646081 ------------------
-On: 2011-10-28 19:00:18.666629 Event: try to Connect to Controller
-On: 2011-10-28 19:00:19.801958 Event: init state
-On: 2011-10-28 19:00:19.802207 Event: Register Account to SIP server
-On: 2011-10-28 19:00:19.802636 Event: 100
-On: 2011-10-28 19:00:19.802724 Event: Caller Handler Ready
-On: 2011-10-28 19:00:24.809714 Event: CALL START
-On: 2011-10-28 19:00:24.809774 Event: Make a call to: 015782677224
-On: 2011-10-28 19:00:30.823643 Event: Call Connecting
-On: 2011-10-28 19:00:30.823692 Event: 200
-On: 2011-10-28 19:00:41.808850 Event: Terminate
-On: 2011-10-28 19:00:41.808894 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:00:45.720112 ------------------
-On: 2011-10-28 19:00:45.751195 Event: try to Connect to Controller
-On: 2011-10-28 19:00:46.861537 Event: init state
-On: 2011-10-28 19:00:46.861819 Event: Register Account to SIP server
-On: 2011-10-28 19:00:46.862239 Event: 100
-On: 2011-10-28 19:00:46.862330 Event: Caller Handler Ready
-On: 2011-10-28 19:00:51.869707 Event: CALL START
-On: 2011-10-28 19:00:51.869762 Event: Make a call to: 015128040906
-On: 2011-10-28 19:01:02.508111 Event: Call Connecting
-On: 2011-10-28 19:01:02.508158 Event: 200
-On: 2011-10-28 19:01:02.512767 Event: Terminate
-On: 2011-10-28 19:01:02.512827 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:01:06.395025 ------------------
-On: 2011-10-28 19:01:06.415582 Event: try to Connect to Controller
-On: 2011-10-28 19:01:07.555692 Event: init state
-On: 2011-10-28 19:01:07.556034 Event: Register Account to SIP server
-On: 2011-10-28 19:01:07.556464 Event: 100
-On: 2011-10-28 19:01:07.556660 Event: Caller Handler Ready
-On: 2011-10-28 19:01:12.566374 Event: CALL START
-On: 2011-10-28 19:01:12.566430 Event: Make a call to: 015252423662
-On: 2011-10-28 19:01:22.923235 Event: Call Connecting
-On: 2011-10-28 19:01:22.923285 Event: 200
-On: 2011-10-28 19:01:22.925872 Event: Terminate
-On: 2011-10-28 19:01:22.925933 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:14:05.382578 ------------------
-On: 2011-10-28 19:14:05.407132 Event: try to Connect to Controller
-On: 2011-10-28 19:14:06.529795 Event: init state
-On: 2011-10-28 19:14:06.530045 Event: Register Account to SIP server
-On: 2011-10-28 19:14:06.530825 Event: 100
-On: 2011-10-28 19:14:06.530913 Event: Receiver Handler Ready
-On: 2011-10-28 19:14:06.533893 Event: RECEIVE START
-On: 2011-10-28 19:14:07.718426 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-28 19:14:07.718928 Event: Call Connecting
-On: 2011-10-28 19:14:07.718967 Event: 200
-On: 2011-10-28 19:14:07.719227 Event: Answer call
-On: 2011-10-28 19:14:07.719277 Event: Hangup call
-On: 2011-10-28 19:14:07.719455 Event: CALL OK
-On: 2011-10-28 19:14:07.770169 Event: Call Disconnected
-On: 2011-10-28 19:14:08.986139 Event: Terminate
-On: 2011-10-28 19:14:08.986182 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:14:32.623384 ------------------
-On: 2011-10-28 19:14:32.654479 Event: try to Connect to Controller
-On: 2011-10-28 19:14:33.797943 Event: init state
-On: 2011-10-28 19:14:33.798184 Event: Register Account to SIP server
-On: 2011-10-28 19:14:33.798608 Event: 100
-On: 2011-10-28 19:14:33.798694 Event: Caller Handler Ready
-On: 2011-10-28 19:14:38.809757 Event: CALL START
-On: 2011-10-28 19:14:38.809822 Event: Make a call to: 015782677224
-On: 2011-10-28 19:14:45.113505 Event: Call Connecting
-On: 2011-10-28 19:14:45.113554 Event: 200
-On: 2011-10-28 19:14:55.758173 Event: Terminate
-On: 2011-10-28 19:14:55.758215 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:14:59.656790 ------------------
-On: 2011-10-28 19:14:59.686641 Event: try to Connect to Controller
-On: 2011-10-28 19:15:00.810762 Event: init state
-On: 2011-10-28 19:15:00.810997 Event: Register Account to SIP server
-On: 2011-10-28 19:15:00.811401 Event: 100
-On: 2011-10-28 19:15:00.811490 Event: Caller Handler Ready
-On: 2011-10-28 19:15:05.821707 Event: CALL START
-On: 2011-10-28 19:15:05.821763 Event: Make a call to: 017678038038
-On: 2011-10-28 19:15:14.354906 Event: Call Connecting
-On: 2011-10-28 19:15:14.354956 Event: 200
-On: 2011-10-28 19:15:14.357860 Event: Terminate
-On: 2011-10-28 19:15:14.357921 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:15:18.251416 ------------------
-On: 2011-10-28 19:15:18.282593 Event: try to Connect to Controller
-On: 2011-10-28 19:15:19.404071 Event: init state
-On: 2011-10-28 19:15:19.404728 Event: Register Account to SIP server
-On: 2011-10-28 19:15:19.405516 Event: 100
-On: 2011-10-28 19:15:19.406553 Event: Caller Handler Ready
-On: 2011-10-28 19:15:24.413713 Event: CALL START
-On: 2011-10-28 19:15:24.413770 Event: Make a call to: 015128040906
-On: 2011-10-28 19:15:45.345598 Event: Call Connecting
-On: 2011-10-28 19:15:45.345647 Event: 200
-On: 2011-10-28 19:15:45.346994 Event: Terminate
-On: 2011-10-28 19:15:45.347047 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:15:49.280427 ------------------
-On: 2011-10-28 19:15:49.305014 Event: try to Connect to Controller
-On: 2011-10-28 19:15:50.437187 Event: init state
-On: 2011-10-28 19:15:50.437432 Event: Register Account to SIP server
-On: 2011-10-28 19:15:50.437914 Event: 100
-On: 2011-10-28 19:15:50.438003 Event: Caller Handler Ready
-On: 2011-10-28 19:15:55.445713 Event: CALL START
-On: 2011-10-28 19:15:55.445771 Event: Make a call to: 015252423662
-On: 2011-10-28 19:16:05.961302 Event: Call Connecting
-On: 2011-10-28 19:16:05.961352 Event: 200
-On: 2011-10-28 19:16:05.964196 Event: Terminate
-On: 2011-10-28 19:16:05.964256 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:43:57.916490 ------------------
-On: 2011-10-28 21:43:57.940521 Event: try to Connect to Controller
-On: 2011-10-28 21:43:59.137886 Event: init state
-On: 2011-10-28 21:43:59.138124 Event: Register Account to SIP server
-On: 2011-10-28 21:43:59.138870 Event: 100
-On: 2011-10-28 21:43:59.138953 Event: Caller Handler Ready
-On: 2011-10-28 21:44:06.154586 Event: Terminate
-On: 2011-10-28 21:44:06.154626 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:48:00.885421 ------------------
-On: 2011-10-28 21:48:00.909869 Event: try to Connect to Controller
-On: 2011-10-28 21:48:02.125366 Event: init state
-On: 2011-10-28 21:48:02.125651 Event: Register Account to SIP server
-On: 2011-10-28 21:48:02.126081 Event: 100
-On: 2011-10-28 21:48:02.126169 Event: Caller Handler Ready
-On: 2011-10-28 21:48:17.089454 Event: Terminate
-On: 2011-10-28 21:48:17.089549 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:52:33.443074 ------------------
-On: 2011-10-28 21:52:33.463185 Event: try to Connect to Controller
-On: 2011-10-28 21:52:34.674308 Event: init state
-On: 2011-10-28 21:52:34.674551 Event: Register Account to SIP server
-On: 2011-10-28 21:52:34.674976 Event: 100
-On: 2011-10-28 21:52:34.675064 Event: Caller Handler Ready
-On: 2011-10-28 21:52:44.698716 Event: CALL START
-On: 2011-10-28 21:52:44.698775 Event: Make a call to: 07612034661455
-On: 2011-10-28 21:52:46.889238 Event: Call Connecting
-On: 2011-10-28 21:52:46.889286 Event: 200
-On: 2011-10-28 21:52:46.930160 Event: Terminate
-On: 2011-10-28 21:52:46.930206 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:54:20.260107 ------------------
-On: 2011-10-28 21:54:20.280591 Event: try to Connect to Controller
-On: 2011-10-28 21:54:21.467133 Event: init state
-On: 2011-10-28 21:54:21.467370 Event: Register Account to SIP server
-On: 2011-10-28 21:54:21.467793 Event: 100
-On: 2011-10-28 21:54:21.467880 Event: Caller Handler Ready
-On: 2011-10-28 21:54:28.490019 Event: Terminate
-On: 2011-10-28 21:54:28.490061 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:06:11.820901 ------------------
-On: 2011-10-28 22:06:11.842166 Event: try to Connect to Controller
-On: 2011-10-28 22:06:13.046181 Event: init state
-On: 2011-10-28 22:06:13.046421 Event: Register Account to SIP server
-On: 2011-10-28 22:06:13.046842 Event: 100
-On: 2011-10-28 22:06:13.046931 Event: Caller Handler Ready
-On: 2011-10-28 22:06:20.063224 Event: Terminate
-On: 2011-10-28 22:06:20.063265 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:08:37.727477 ------------------
-On: 2011-10-28 22:08:37.747981 Event: try to Connect to Controller
-On: 2011-10-28 22:08:38.950548 Event: init state
-On: 2011-10-28 22:08:38.950791 Event: Register Account to SIP server
-On: 2011-10-28 22:08:38.951215 Event: 100
-On: 2011-10-28 22:08:38.951301 Event: Caller Handler Ready
-On: 2011-10-28 22:08:48.970585 Event: CALL START
-On: 2011-10-28 22:08:48.970651 Event: Make a call to: 07612034661455
-On: 2011-10-28 22:08:51.545940 Event: Call Connecting
-On: 2011-10-28 22:08:51.545991 Event: 200
-On: 2011-10-28 22:08:51.585698 Event: Terminate
-On: 2011-10-28 22:08:51.585747 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:20:25.604236 ------------------
-On: 2011-10-28 22:20:25.624941 Event: try to Connect to Controller
-On: 2011-10-28 22:20:26.830535 Event: init state
-On: 2011-10-28 22:20:26.830777 Event: Register Account to SIP server
-On: 2011-10-28 22:20:26.831198 Event: 100
-On: 2011-10-28 22:20:26.831285 Event: Caller Handler Ready
-On: 2011-10-28 22:20:33.846192 Event: Terminate
-On: 2011-10-28 22:20:33.846227 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:24:58.268830 ------------------
-On: 2011-10-28 22:24:58.293034 Event: try to Connect to Controller
-On: 2011-10-28 22:24:59.490833 Event: init state
-On: 2011-10-28 22:24:59.491074 Event: Register Account to SIP server
-On: 2011-10-28 22:24:59.491856 Event: 100
-On: 2011-10-28 22:24:59.491941 Event: Caller Handler Ready
-On: 2011-10-28 22:25:06.513657 Event: Terminate
-On: 2011-10-28 22:25:06.513700 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:31:10.431200 ------------------
-On: 2011-10-28 22:31:10.451626 Event: try to Connect to Controller
-On: 2011-10-28 22:31:11.651034 Event: init state
-On: 2011-10-28 22:31:11.651267 Event: Register Account to SIP server
-On: 2011-10-28 22:31:11.651696 Event: 100
-On: 2011-10-28 22:31:11.651779 Event: Caller Handler Ready
-On: 2011-10-28 22:31:21.673501 Event: CALL START
-On: 2011-10-28 22:31:21.673562 Event: Make a call to: 07612034661455
-On: 2011-10-28 22:31:23.820815 Event: Call Connecting
-On: 2011-10-28 22:31:23.820865 Event: 200
-On: 2011-10-28 22:31:23.876273 Event: Terminate
-On: 2011-10-28 22:31:23.876318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:33:22.352724 ------------------
-On: 2011-10-28 22:33:22.376724 Event: try to Connect to Controller
-On: 2011-10-28 22:33:23.497795 Event: init state
-On: 2011-10-28 22:33:23.498039 Event: Register Account to SIP server
-On: 2011-10-28 22:33:23.498457 Event: 100
-On: 2011-10-28 22:33:23.498540 Event: Caller Handler Ready
-On: 2011-10-28 22:33:33.516419 Event: CALL START
-On: 2011-10-28 22:33:33.516480 Event: Make a call to: 07612034661455
-On: 2011-10-28 22:33:35.641625 Event: Call Connecting
-On: 2011-10-28 22:33:35.641676 Event: 200
-On: 2011-10-28 22:33:35.695232 Event: Terminate
-On: 2011-10-28 22:33:35.695277 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:44:55.733424 ------------------
-On: 2011-10-28 22:44:55.753941 Event: try to Connect to Controller
-On: 2011-10-28 22:44:56.965786 Event: init state
-On: 2011-10-28 22:44:56.966027 Event: Register Account to SIP server
-On: 2011-10-28 22:44:56.966450 Event: 100
-On: 2011-10-28 22:44:56.966534 Event: Caller Handler Ready
-On: 2011-10-28 22:45:03.986357 Event: Terminate
-On: 2011-10-28 22:45:03.986398 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:55:36.302652 ------------------
-On: 2011-10-28 22:55:36.326819 Event: try to Connect to Controller
-On: 2011-10-28 22:55:37.532915 Event: init state
-On: 2011-10-28 22:55:37.533153 Event: Register Account to SIP server
-On: 2011-10-28 22:55:37.533662 Event: 100
-On: 2011-10-28 22:55:37.533747 Event: Caller Handler Ready
-On: 2011-10-28 22:55:47.555069 Event: CALL START
-On: 2011-10-28 22:55:47.555136 Event: Make a call to: 07612034661455
-On: 2011-10-28 22:55:49.184497 Event: Call Connecting
-On: 2011-10-28 22:55:49.184548 Event: 200
-On: 2011-10-28 22:55:49.219182 Event: Terminate
-On: 2011-10-28 22:55:49.219226 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:57:37.208624 ------------------
-On: 2011-10-28 22:57:37.228659 Event: try to Connect to Controller
-On: 2011-10-28 22:57:38.519318 Event: init state
-On: 2011-10-28 22:57:38.519574 Event: Register Account to SIP server
-On: 2011-10-28 22:57:38.519998 Event: 100
-On: 2011-10-28 22:57:38.520087 Event: Caller Handler Ready
-On: 2011-10-28 22:57:45.537866 Event: Terminate
-On: 2011-10-28 22:57:45.537907 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:03:48.868912 ------------------
-On: 2011-10-28 23:03:48.889861 Event: try to Connect to Controller
-On: 2011-10-28 23:03:50.079247 Event: init state
-On: 2011-10-28 23:03:50.079487 Event: Register Account to SIP server
-On: 2011-10-28 23:03:50.079908 Event: 100
-On: 2011-10-28 23:03:50.079995 Event: Caller Handler Ready
-On: 2011-10-28 23:04:00.104565 Event: CALL START
-On: 2011-10-28 23:04:00.104632 Event: Make a call to: 07612034661455
-On: 2011-10-28 23:04:02.257165 Event: Call Connecting
-On: 2011-10-28 23:04:02.257214 Event: 200
-On: 2011-10-28 23:04:02.312904 Event: Terminate
-On: 2011-10-28 23:04:02.312949 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:15:12.962005 ------------------
-On: 2011-10-28 23:15:12.982110 Event: try to Connect to Controller
-On: 2011-10-28 23:15:14.179764 Event: init state
-On: 2011-10-28 23:15:14.179993 Event: Register Account to SIP server
-On: 2011-10-28 23:15:14.180773 Event: 100
-On: 2011-10-28 23:15:14.180860 Event: Caller Handler Ready
-On: 2011-10-28 23:15:21.203789 Event: Terminate
-On: 2011-10-28 23:15:21.203831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:24:36.368531 ------------------
-On: 2011-10-28 23:24:36.388290 Event: try to Connect to Controller
-On: 2011-10-28 23:24:37.589766 Event: init state
-On: 2011-10-28 23:24:37.590006 Event: Register Account to SIP server
-On: 2011-10-28 23:24:37.590429 Event: 100
-On: 2011-10-28 23:24:37.590512 Event: Caller Handler Ready
-On: 2011-10-28 23:24:47.612787 Event: CALL START
-On: 2011-10-28 23:24:47.612846 Event: Make a call to: 07612034661455
-On: 2011-10-28 23:24:49.809020 Event: Call Connecting
-On: 2011-10-28 23:24:49.809069 Event: 200
-On: 2011-10-28 23:24:49.871453 Event: Terminate
-On: 2011-10-28 23:24:49.871499 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:26:26.388831 ------------------
-On: 2011-10-28 23:26:26.409147 Event: try to Connect to Controller
-On: 2011-10-28 23:26:27.606422 Event: init state
-On: 2011-10-28 23:26:27.606656 Event: Register Account to SIP server
-On: 2011-10-28 23:26:27.607064 Event: 100
-On: 2011-10-28 23:26:27.607146 Event: Caller Handler Ready
-On: 2011-10-28 23:26:37.629525 Event: CALL START
-On: 2011-10-28 23:26:37.629584 Event: Make a call to: 07612034661455
-On: 2011-10-28 23:26:39.266032 Event: Call Connecting
-On: 2011-10-28 23:26:39.266082 Event: 200
-On: 2011-10-28 23:26:39.314192 Event: Terminate
-On: 2011-10-28 23:26:39.314236 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:30:05.886381 ------------------
-On: 2011-10-28 23:30:05.906500 Event: try to Connect to Controller
-On: 2011-10-28 23:30:07.110330 Event: init state
-On: 2011-10-28 23:30:07.110567 Event: Register Account to SIP server
-On: 2011-10-28 23:30:07.110988 Event: 100
-On: 2011-10-28 23:30:07.111074 Event: Caller Handler Ready
-On: 2011-10-28 23:30:14.129759 Event: Terminate
-On: 2011-10-28 23:30:14.129804 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:55:36.032583 ------------------
-On: 2011-10-28 23:55:36.056968 Event: try to Connect to Controller
-On: 2011-10-28 23:55:37.258305 Event: init state
-On: 2011-10-28 23:55:37.258545 Event: Register Account to SIP server
-On: 2011-10-28 23:55:37.258974 Event: 100
-On: 2011-10-28 23:55:37.259062 Event: Caller Handler Ready
-On: 2011-10-28 23:55:47.277328 Event: CALL START
-On: 2011-10-28 23:55:47.277389 Event: Make a call to: 07612034661455
-On: 2011-10-28 23:55:49.425732 Event: Call Connecting
-On: 2011-10-28 23:55:49.425783 Event: 200
-On: 2011-10-28 23:55:49.489782 Event: Terminate
-On: 2011-10-28 23:55:49.489831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:31:37.883058 ------------------
-On: 2011-10-29 02:31:37.903433 Event: try to Connect to Controller
-On: 2011-10-29 02:31:39.211411 Event: init state
-On: 2011-10-29 02:31:39.211653 Event: Register Account to SIP server
-On: 2011-10-29 02:31:39.212060 Event: 100
-On: 2011-10-29 02:31:39.212139 Event: Caller Handler Ready
-On: 2011-10-29 02:31:49.233500 Event: CALL START
-On: 2011-10-29 02:31:49.233556 Event: Make a call to: 07612034661455
-On: 2011-10-29 02:31:51.513679 Event: Call Connecting
-On: 2011-10-29 02:31:51.513725 Event: 200
-On: 2011-10-29 02:31:51.557867 Event: Terminate
-On: 2011-10-29 02:31:51.557923 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:34:13.003316 ------------------
-On: 2011-10-29 02:34:13.023576 Event: try to Connect to Controller
-On: 2011-10-29 02:34:14.346421 Event: init state
-On: 2011-10-29 02:34:14.346666 Event: Register Account to SIP server
-On: 2011-10-29 02:34:14.347433 Event: 100
-On: 2011-10-29 02:34:14.347823 Event: Receiver Handler Ready
-On: 2011-10-29 02:34:14.347922 Event: RECEIVE START
-On: 2011-10-29 02:34:16.250062 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-29 02:34:16.250549 Event: Call Connecting
-On: 2011-10-29 02:34:16.250587 Event: 200
-On: 2011-10-29 02:34:16.250831 Event: Answer call
-On: 2011-10-29 02:34:16.250882 Event: Hangup call
-On: 2011-10-29 02:34:16.251053 Event: CALL OK
-On: 2011-10-29 02:34:16.301770 Event: Call Disconnected
-On: 2011-10-29 02:34:17.619059 Event: Terminate
-On: 2011-10-29 02:34:17.619113 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:34:28.336508 ------------------
-On: 2011-10-29 02:34:28.356688 Event: try to Connect to Controller
-On: 2011-10-29 02:34:29.678416 Event: init state
-On: 2011-10-29 02:34:29.678662 Event: Register Account to SIP server
-On: 2011-10-29 02:34:29.679066 Event: 100
-On: 2011-10-29 02:34:29.679145 Event: Receiver Handler Ready
-On: 2011-10-29 02:34:29.679536 Event: RECEIVE START
-On: 2011-10-29 02:34:31.531144 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-29 02:34:31.531653 Event: Call Connecting
-On: 2011-10-29 02:34:31.531693 Event: 200
-On: 2011-10-29 02:34:31.531936 Event: Answer call
-On: 2011-10-29 02:34:31.531987 Event: Hangup call
-On: 2011-10-29 02:34:31.532158 Event: CALL OK
-On: 2011-10-29 02:34:31.582845 Event: Call Disconnected
-On: 2011-10-29 02:34:33.012275 Event: Terminate
-On: 2011-10-29 02:34:33.012328 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:34:36.734444 ------------------
-On: 2011-10-29 02:34:36.754718 Event: try to Connect to Controller
-On: 2011-10-29 02:34:38.055196 Event: init state
-On: 2011-10-29 02:34:38.055634 Event: Register Account to SIP server
-On: 2011-10-29 02:34:38.056432 Event: 100
-On: 2011-10-29 02:34:38.059023 Event: Caller Handler Ready
-On: 2011-10-29 02:34:48.074582 Event: CALL START
-On: 2011-10-29 02:34:48.074635 Event: Make a call to: 07612034661455
-On: 2011-10-29 02:34:50.417781 Event: Call Connecting
-On: 2011-10-29 02:34:50.417828 Event: 200
-On: 2011-10-29 02:34:50.487368 Event: Terminate
-On: 2011-10-29 02:34:50.487422 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:42:02.630042 ------------------
-On: 2011-10-29 02:42:02.650289 Event: try to Connect to Controller
-On: 2011-10-29 02:42:03.943025 Event: init state
-On: 2011-10-29 02:42:03.943292 Event: Register Account to SIP server
-On: 2011-10-29 02:42:03.944029 Event: 100
-On: 2011-10-29 02:42:03.944375 Event: Receiver Handler Ready
-On: 2011-10-29 02:42:03.944465 Event: RECEIVE START
-On: 2011-10-29 02:42:09.098947 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-29 02:42:09.099446 Event: Call Connecting
-On: 2011-10-29 02:42:09.099485 Event: 200
-On: 2011-10-29 02:42:09.099728 Event: Answer call
-On: 2011-10-29 02:42:09.099780 Event: Hangup call
-On: 2011-10-29 02:42:09.099949 Event: CALL OK
-On: 2011-10-29 02:42:09.150655 Event: Call Disconnected
-On: 2011-10-29 02:42:09.628569 Event: Terminate
-On: 2011-10-29 02:42:09.628618 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:08.630921 ------------------
-On: 2011-10-29 02:43:08.651426 Event: try to Connect to Controller
-On: 2011-10-29 02:43:09.968848 Event: init state
-On: 2011-10-29 02:43:09.969097 Event: Register Account to SIP server
-On: 2011-10-29 02:43:09.969683 Event: 100
-On: 2011-10-29 02:43:09.969775 Event: Caller Handler Ready
-On: 2011-10-29 02:43:14.976075 Event: CALL START
-On: 2011-10-29 02:43:14.976130 Event: Make a call to: 076120397898
-On: 2011-10-29 02:43:15.000778 Event: Call Connecting
-On: 2011-10-29 02:43:15.000823 Event: 200
-On: 2011-10-29 02:43:15.002085 Event: Terminate
-On: 2011-10-29 02:43:15.002135 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:18.725305 ------------------
-On: 2011-10-29 02:43:18.745449 Event: try to Connect to Controller
-On: 2011-10-29 02:43:20.053799 Event: init state
-On: 2011-10-29 02:43:20.054050 Event: Register Account to SIP server
-On: 2011-10-29 02:43:20.054456 Event: 100
-On: 2011-10-29 02:43:20.054534 Event: Caller Handler Ready
-On: 2011-10-29 02:43:25.062856 Event: CALL START
-On: 2011-10-29 02:43:25.062909 Event: Make a call to: 076145875681
-On: 2011-10-29 02:43:30.062235 Event: Call Connecting
-On: 2011-10-29 02:43:30.062284 Event: 200
-On: 2011-10-29 02:43:30.063325 Event: Terminate
-On: 2011-10-29 02:43:30.063366 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:40.792989 ------------------
-On: 2011-10-29 02:43:40.813264 Event: try to Connect to Controller
-On: 2011-10-29 02:43:42.126266 Event: init state
-On: 2011-10-29 02:43:42.126511 Event: Register Account to SIP server
-On: 2011-10-29 02:43:42.126922 Event: 100
-On: 2011-10-29 02:43:42.126999 Event: Receiver Handler Ready
-On: 2011-10-29 02:43:42.127403 Event: RECEIVE START
-On: 2011-10-29 02:43:44.038827 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-29 02:43:44.039324 Event: Call Connecting
-On: 2011-10-29 02:43:44.039362 Event: 200
-On: 2011-10-29 02:43:44.039609 Event: Answer call
-On: 2011-10-29 02:43:44.039662 Event: Hangup call
-On: 2011-10-29 02:43:44.039833 Event: CALL OK
-On: 2011-10-29 02:43:44.090519 Event: Call Disconnected
-On: 2011-10-29 02:43:45.425688 Event: Terminate
-On: 2011-10-29 02:43:45.425741 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:56.154559 ------------------
-On: 2011-10-29 02:43:56.175020 Event: try to Connect to Controller
-On: 2011-10-29 02:43:57.487207 Event: init state
-On: 2011-10-29 02:43:57.487454 Event: Register Account to SIP server
-On: 2011-10-29 02:43:57.488221 Event: 100
-On: 2011-10-29 02:43:57.488617 Event: Receiver Handler Ready
-On: 2011-10-29 02:43:57.488717 Event: RECEIVE START
-On: 2011-10-29 02:43:59.300983 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-29 02:43:59.301646 Event: Call Connecting
-On: 2011-10-29 02:43:59.301699 Event: 200
-On: 2011-10-29 02:43:59.301956 Event: Answer call
-On: 2011-10-29 02:43:59.302011 Event: Hangup call
-On: 2011-10-29 02:43:59.302187 Event: CALL OK
-On: 2011-10-29 02:43:59.352877 Event: Call Disconnected
-On: 2011-10-29 02:44:00.733693 Event: Terminate
-On: 2011-10-29 02:44:00.733746 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:44:06.482366 ------------------
-On: 2011-10-29 02:44:06.502832 Event: try to Connect to Controller
-On: 2011-10-29 02:44:07.794546 Event: init state
-On: 2011-10-29 02:44:07.794793 Event: Register Account to SIP server
-On: 2011-10-29 02:44:07.795565 Event: 100
-On: 2011-10-29 02:44:07.801509 Event: Receiver Handler Ready
-On: 2011-10-29 02:44:07.801601 Event: RECEIVE START
-On: 2011-10-29 02:44:08.907871 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-29 02:44:08.908361 Event: Call Connecting
-On: 2011-10-29 02:44:08.908398 Event: 200
-On: 2011-10-29 02:44:08.908644 Event: Answer call
-On: 2011-10-29 02:44:08.908696 Event: Hangup call
-On: 2011-10-29 02:44:08.908867 Event: CALL OK
-On: 2011-10-29 02:44:08.959550 Event: Call Disconnected
-On: 2011-10-29 02:44:10.421910 Event: Terminate
-On: 2011-10-29 02:44:10.421952 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:44:14.142489 ------------------
-On: 2011-10-29 02:44:14.162565 Event: try to Connect to Controller
-On: 2011-10-29 02:44:15.463607 Event: init state
-On: 2011-10-29 02:44:15.463855 Event: Register Account to SIP server
-On: 2011-10-29 02:44:15.464259 Event: 100
-On: 2011-10-29 02:44:15.464335 Event: Caller Handler Ready
-On: 2011-10-29 02:44:25.485500 Event: CALL START
-On: 2011-10-29 02:44:25.485549 Event: Make a call to: 07612034661455
-On: 2011-10-29 02:44:27.113087 Event: Call Connecting
-On: 2011-10-29 02:44:27.113134 Event: 200
-On: 2011-10-29 02:44:27.177649 Event: Terminate
-On: 2011-10-29 02:44:27.177712 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:44:30.884919 ------------------
-On: 2011-10-29 02:44:30.905335 Event: try to Connect to Controller
-On: 2011-10-29 02:44:32.219550 Event: init state
-On: 2011-10-29 02:44:32.219800 Event: Register Account to SIP server
-On: 2011-10-29 02:44:32.220204 Event: 100
-On: 2011-10-29 02:44:32.220284 Event: Caller Handler Ready
-On: 2011-10-29 02:44:42.242508 Event: CALL START
-On: 2011-10-29 02:44:42.242563 Event: Make a call to: 07612034661473
-On: 2011-10-29 02:44:44.054723 Event: Call Connecting
-On: 2011-10-29 02:44:44.054770 Event: 200
-On: 2011-10-29 02:44:44.258536 Event: Terminate
-On: 2011-10-29 02:44:44.258588 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:44:47.990630 ------------------
-On: 2011-10-29 02:44:48.010827 Event: try to Connect to Controller
-On: 2011-10-29 02:44:49.311593 Event: init state
-On: 2011-10-29 02:44:49.311840 Event: Register Account to SIP server
-On: 2011-10-29 02:44:49.312241 Event: 100
-On: 2011-10-29 02:44:49.312319 Event: Caller Handler Ready
-On: 2011-10-29 02:44:54.324693 Event: CALL START
-On: 2011-10-29 02:44:54.324748 Event: Make a call to: 07612034661449
-On: 2011-10-29 02:44:56.968138 Event: Call Connecting
-On: 2011-10-29 02:44:56.968182 Event: 200
-On: 2011-10-29 02:44:58.105926 Event: Terminate
-On: 2011-10-29 02:44:58.105966 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:45:01.832628 ------------------
-On: 2011-10-29 02:45:01.853772 Event: try to Connect to Controller
-On: 2011-10-29 02:45:03.160267 Event: init state
-On: 2011-10-29 02:45:03.160516 Event: Register Account to SIP server
-On: 2011-10-29 02:45:03.160921 Event: 100
-On: 2011-10-29 02:45:03.160998 Event: Caller Handler Ready
-On: 2011-10-29 02:45:08.172716 Event: CALL START
-On: 2011-10-29 02:45:08.172769 Event: Make a call to: 015782677224
-On: 2011-10-29 02:45:14.390648 Event: Call Connecting
-On: 2011-10-29 02:45:14.390694 Event: 200
-On: 2011-10-29 02:45:25.167306 Event: Terminate
-On: 2011-10-29 02:45:25.167347 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:45:28.893982 ------------------
-On: 2011-10-29 02:45:28.914029 Event: try to Connect to Controller
-On: 2011-10-29 02:45:30.221205 Event: init state
-On: 2011-10-29 02:45:30.221443 Event: Register Account to SIP server
-On: 2011-10-29 02:45:30.222033 Event: 100
-On: 2011-10-29 02:45:30.222120 Event: Caller Handler Ready
-On: 2011-10-29 02:45:35.232705 Event: CALL START
-On: 2011-10-29 02:45:35.232754 Event: Make a call to: 015252423662
-On: 2011-10-29 02:45:45.394080 Event: Call Connecting
-On: 2011-10-29 02:45:45.394125 Event: 200
-On: 2011-10-29 02:45:45.395149 Event: Terminate
-On: 2011-10-29 02:45:45.395189 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:45:49.124991 ------------------
-On: 2011-10-29 02:45:49.145787 Event: try to Connect to Controller
-On: 2011-10-29 02:45:50.446877 Event: init state
-On: 2011-10-29 02:45:50.447130 Event: Register Account to SIP server
-On: 2011-10-29 02:45:50.447540 Event: 100
-On: 2011-10-29 02:45:50.447618 Event: Caller Handler Ready
-On: 2011-10-29 02:45:55.460714 Event: CALL START
-On: 2011-10-29 02:45:55.460770 Event: Make a call to: 015128040906
-On: 2011-10-29 02:46:15.293753 Event: Call Connecting
-On: 2011-10-29 02:46:15.293798 Event: 200
-On: 2011-10-29 02:46:15.294855 Event: Terminate
-On: 2011-10-29 02:46:15.294896 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:46:19.072822 ------------------
-On: 2011-10-29 02:46:19.092910 Event: try to Connect to Controller
-On: 2011-10-29 02:46:20.388645 Event: init state
-On: 2011-10-29 02:46:20.388894 Event: Register Account to SIP server
-On: 2011-10-29 02:46:20.389301 Event: 100
-On: 2011-10-29 02:46:20.389379 Event: Caller Handler Ready
-On: 2011-10-29 02:46:22.397695 Event: Terminate
-On: 2011-10-29 02:46:22.397736 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:18:27.803164 ------------------
-On: 2011-10-29 03:18:27.823243 Event: try to Connect to Controller
-On: 2011-10-29 03:18:29.134641 Event: init state
-On: 2011-10-29 03:18:29.134876 Event: Register Account to SIP server
-On: 2011-10-29 03:18:29.135628 Event: 100
-On: 2011-10-29 03:18:29.135708 Event: Caller Handler Ready
-On: 2011-10-29 03:18:34.148685 Event: CALL START
-On: 2011-10-29 03:18:34.148738 Event: Make a call to: 07612034661449
-On: 2011-10-29 03:18:36.675616 Event: Call Connecting
-On: 2011-10-29 03:18:36.675661 Event: 200
-On: 2011-10-29 03:18:37.801942 Event: Terminate
-On: 2011-10-29 03:18:37.801985 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:19:14.944008 ------------------
-On: 2011-10-29 03:19:14.964189 Event: try to Connect to Controller
-On: 2011-10-29 03:19:16.278679 Event: init state
-On: 2011-10-29 03:19:16.278925 Event: Register Account to SIP server
-On: 2011-10-29 03:19:16.279333 Event: 100
-On: 2011-10-29 03:19:16.279411 Event: Caller Handler Ready
-On: 2011-10-29 03:19:21.287434 Event: CALL START
-On: 2011-10-29 03:19:21.287490 Event: Make a call to: 076145875681
-On: 2011-10-29 03:19:26.225754 Event: Call Connecting
-On: 2011-10-29 03:19:26.225800 Event: 200
-On: 2011-10-29 03:19:26.226767 Event: Terminate
-On: 2011-10-29 03:19:26.226816 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:23:34.879943 ------------------
-On: 2011-10-29 03:23:34.900100 Event: try to Connect to Controller
-On: 2011-10-29 03:23:36.211320 Event: init state
-On: 2011-10-29 03:23:36.211567 Event: Register Account to SIP server
-On: 2011-10-29 03:23:36.211978 Event: 100
-On: 2011-10-29 03:23:36.212059 Event: Caller Handler Ready
-On: 2011-10-29 03:23:41.224700 Event: CALL START
-On: 2011-10-29 03:23:41.224752 Event: Make a call to: 07612034661449
-On: 2011-10-29 03:23:44.059550 Event: Call Connecting
-On: 2011-10-29 03:23:44.059595 Event: 200
-On: 2011-10-29 03:23:45.169937 Event: Terminate
-On: 2011-10-29 03:23:45.169980 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:29:11.628158 ------------------
-On: 2011-10-29 03:29:11.648318 Event: try to Connect to Controller
-On: 2011-10-29 03:29:12.958586 Event: init state
-On: 2011-10-29 03:29:12.958827 Event: Register Account to SIP server
-On: 2011-10-29 03:29:12.959228 Event: 100
-On: 2011-10-29 03:29:12.959305 Event: Caller Handler Ready
-On: 2011-10-29 03:29:17.967737 Event: CALL START
-On: 2011-10-29 03:29:17.967790 Event: Make a call to: 015782677224
-On: 2011-10-29 03:29:24.595605 Event: Call Connecting
-On: 2011-10-29 03:29:24.595650 Event: 200
-On: 2011-10-29 03:29:34.963294 Event: Terminate
-On: 2011-10-29 03:29:34.963335 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:29:38.683163 ------------------
-On: 2011-10-29 03:29:38.703985 Event: try to Connect to Controller
-On: 2011-10-29 03:29:40.010611 Event: init state
-On: 2011-10-29 03:29:40.010861 Event: Register Account to SIP server
-On: 2011-10-29 03:29:40.011598 Event: 100
-On: 2011-10-29 03:29:40.013849 Event: Caller Handler Ready
-On: 2011-10-29 03:29:42.020590 Event: Terminate
-On: 2011-10-29 03:29:42.020629 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:29:45.731407 ------------------
-On: 2011-10-29 03:29:45.751762 Event: try to Connect to Controller
-On: 2011-10-29 03:29:47.068051 Event: init state
-On: 2011-10-29 03:29:47.068298 Event: Register Account to SIP server
-On: 2011-10-29 03:29:47.068705 Event: 100
-On: 2011-10-29 03:29:47.068785 Event: Caller Handler Ready
-On: 2011-10-29 03:29:52.080651 Event: CALL START
-On: 2011-10-29 03:29:52.080705 Event: Make a call to: 015128040906
-On: 2011-10-29 03:30:15.232061 Event: Call Connecting
-On: 2011-10-29 03:30:15.232107 Event: 200
-On: 2011-10-29 03:30:15.233160 Event: Terminate
-On: 2011-10-29 03:30:15.233200 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:30:38.042707 ------------------
-On: 2011-10-29 03:30:38.063063 Event: try to Connect to Controller
-On: 2011-10-29 03:30:39.372298 Event: init state
-On: 2011-10-29 03:30:39.372546 Event: Register Account to SIP server
-On: 2011-10-29 03:30:39.372953 Event: 100
-On: 2011-10-29 03:30:39.373032 Event: Receiver Handler Ready
-On: 2011-10-29 03:30:39.373430 Event: RECEIVE START
-On: 2011-10-29 03:30:41.443067 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-29 03:30:41.443606 Event: Call Connecting
-On: 2011-10-29 03:30:41.443647 Event: 200
-On: 2011-10-29 03:30:41.443889 Event: Answer call
-On: 2011-10-29 03:30:41.443941 Event: Hangup call
-On: 2011-10-29 03:30:41.444111 Event: CALL OK
-On: 2011-10-29 03:30:41.494788 Event: Call Disconnected
-On: 2011-10-29 03:30:42.735437 Event: Terminate
-On: 2011-10-29 03:30:42.735491 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:54:38.166004 ------------------
-On: 2011-10-29 03:54:38.186257 Event: try to Connect to Controller
-On: 2011-10-29 03:54:39.497436 Event: init state
-On: 2011-10-29 03:54:39.497903 Event: Register Account to SIP server
-On: 2011-10-29 03:54:39.498313 Event: 100
-On: 2011-10-29 03:54:39.498392 Event: Caller Handler Ready
-On: 2011-10-29 03:54:44.505762 Event: CALL START
-On: 2011-10-29 03:54:44.505811 Event: Make a call to: 015782677224
-On: 2011-10-29 03:54:50.726362 Event: Call Connecting
-On: 2011-10-29 03:54:50.726407 Event: 200
-On: 2011-10-29 03:55:00.873987 Event: Terminate
-On: 2011-10-29 03:55:00.874030 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:08:21.214527 ------------------
-On: 2011-10-29 04:08:21.235015 Event: try to Connect to Controller
-On: 2011-10-29 04:08:22.549517 Event: init state
-On: 2011-10-29 04:08:22.549943 Event: Register Account to SIP server
-On: 2011-10-29 04:08:22.550716 Event: 100
-On: 2011-10-29 04:08:22.550795 Event: Caller Handler Ready
-On: 2011-10-29 04:08:29.563176 Event: Terminate
-On: 2011-10-29 04:08:29.563223 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:19:53.431960 ------------------
-On: 2011-10-29 04:19:53.452185 Event: try to Connect to Controller
-On: 2011-10-29 04:19:54.766330 Event: init state
-On: 2011-10-29 04:19:54.766569 Event: Register Account to SIP server
-On: 2011-10-29 04:19:54.766977 Event: 100
-On: 2011-10-29 04:19:54.767056 Event: Caller Handler Ready
-On: 2011-10-29 04:19:59.780584 Event: CALL START
-On: 2011-10-29 04:19:59.780641 Event: Make a call to: 015128040906
-On: 2011-10-29 04:20:12.846482 Event: Call Connecting
-On: 2011-10-29 04:20:12.846528 Event: 200
-On: 2011-10-29 04:20:12.847589 Event: Terminate
-On: 2011-10-29 04:20:12.847632 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:34:28.952033 ------------------
-On: 2011-10-29 04:34:28.972121 Event: try to Connect to Controller
-On: 2011-10-29 04:34:30.283967 Event: init state
-On: 2011-10-29 04:34:30.284205 Event: Register Account to SIP server
-On: 2011-10-29 04:34:30.284619 Event: 100
-On: 2011-10-29 04:34:30.284696 Event: Caller Handler Ready
-On: 2011-10-29 04:34:35.292708 Event: CALL START
-On: 2011-10-29 04:34:35.292763 Event: Make a call to: 076145875681
-On: 2011-10-29 04:34:40.236408 Event: Call Connecting
-On: 2011-10-29 04:34:40.236452 Event: 200
-On: 2011-10-29 04:34:40.237698 Event: Terminate
-On: 2011-10-29 04:34:40.237750 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:38:16.354285 ------------------
-On: 2011-10-29 04:38:16.374036 Event: try to Connect to Controller
-On: 2011-10-29 04:38:17.702257 Event: init state
-On: 2011-10-29 04:38:17.702495 Event: Register Account to SIP server
-On: 2011-10-29 04:38:17.702906 Event: 100
-On: 2011-10-29 04:38:17.702986 Event: Caller Handler Ready
-On: 2011-10-29 04:38:22.710858 Event: CALL START
-On: 2011-10-29 04:38:22.710914 Event: Make a call to: 076145875681
-On: 2011-10-29 04:38:26.410632 Event: Call Connecting
-On: 2011-10-29 04:38:26.410679 Event: 200
-On: 2011-10-29 04:38:26.411772 Event: Terminate
-On: 2011-10-29 04:38:26.411813 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:38:30.125970 ------------------
-On: 2011-10-29 04:38:30.146183 Event: try to Connect to Controller
-On: 2011-10-29 04:38:31.460808 Event: init state
-On: 2011-10-29 04:38:31.461054 Event: Register Account to SIP server
-On: 2011-10-29 04:38:31.461466 Event: 100
-On: 2011-10-29 04:38:31.461741 Event: Caller Handler Ready
-On: 2011-10-29 04:38:36.468531 Event: CALL START
-On: 2011-10-29 04:38:36.468588 Event: Make a call to: 076145875681
-On: 2011-10-29 04:38:40.336860 Event: Call Connecting
-On: 2011-10-29 04:38:40.336906 Event: 200
-On: 2011-10-29 04:38:40.338105 Event: Terminate
-On: 2011-10-29 04:38:40.338156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:40:49.922937 ------------------
-On: 2011-10-29 04:40:49.943271 Event: try to Connect to Controller
-On: 2011-10-29 04:40:51.254137 Event: init state
-On: 2011-10-29 04:40:51.254372 Event: Register Account to SIP server
-On: 2011-10-29 04:40:51.254774 Event: 100
-On: 2011-10-29 04:40:51.254854 Event: Caller Handler Ready
-On: 2011-10-29 04:40:56.309189 Event: CALL START
-On: 2011-10-29 04:40:56.309242 Event: Make a call to: 015782677224
-On: 2011-10-29 04:41:02.278149 Event: Call Connecting
-On: 2011-10-29 04:41:02.278196 Event: 200
-On: 2011-10-29 04:41:09.353956 Event: Terminate
-On: 2011-10-29 04:41:09.353998 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:53:37.854016 ------------------
-On: 2011-10-29 04:53:37.874833 Event: try to Connect to Controller
-On: 2011-10-29 04:53:39.185179 Event: init state
-On: 2011-10-29 04:53:39.185424 Event: Register Account to SIP server
-On: 2011-10-29 04:53:39.185877 Event: 100
-On: 2011-10-29 04:53:39.185959 Event: Caller Handler Ready
-On: 2011-10-29 04:53:44.241239 Event: CALL START
-On: 2011-10-29 04:53:44.241292 Event: Make a call to: 015782677224
-On: 2011-10-29 04:53:50.820690 Event: Call Connecting
-On: 2011-10-29 04:53:50.820735 Event: 200
-On: 2011-10-29 04:53:57.282619 Event: Terminate
-On: 2011-10-29 04:53:57.282661 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 04:56:54.320807 ------------------
-On: 2011-10-29 04:56:54.341013 Event: try to Connect to Controller
-On: 2011-10-29 04:56:55.659706 Event: init state
-On: 2011-10-29 04:56:55.659956 Event: Register Account to SIP server
-On: 2011-10-29 04:56:55.660364 Event: 100
-On: 2011-10-29 04:56:55.660444 Event: Caller Handler Ready
-On: 2011-10-29 04:57:03.676987 Event: Terminate
-On: 2011-10-29 04:57:03.677039 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 05:01:01.285220 ------------------
-On: 2011-10-29 05:01:01.305325 Event: try to Connect to Controller
-On: 2011-10-29 05:01:02.624188 Event: init state
-On: 2011-10-29 05:01:02.624431 Event: Register Account to SIP server
-On: 2011-10-29 05:01:02.624841 Event: 100
-On: 2011-10-29 05:01:02.624922 Event: Caller Handler Ready
-On: 2011-10-29 05:01:10.639483 Event: Terminate
-On: 2011-10-29 05:01:10.639537 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 05:02:13.410453 ------------------
-On: 2011-10-29 05:02:13.430782 Event: try to Connect to Controller
-On: 2011-10-29 05:02:14.743414 Event: init state
-On: 2011-10-29 05:02:14.743667 Event: Register Account to SIP server
-On: 2011-10-29 05:02:14.744071 Event: 100
-On: 2011-10-29 05:02:14.744148 Event: Caller Handler Ready
-On: 2011-10-29 05:02:19.750984 Event: CALL START
-On: 2011-10-29 05:02:19.751041 Event: Make a call to: 076120397898
-On: 2011-10-29 05:02:19.779290 Event: Call Connecting
-On: 2011-10-29 05:02:19.779336 Event: 200
-On: 2011-10-29 05:02:19.781848 Event: Terminate
-On: 2011-10-29 05:02:19.781905 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 05:02:23.479527 ------------------
-On: 2011-10-29 05:02:23.499667 Event: try to Connect to Controller
-On: 2011-10-29 05:02:24.820853 Event: init state
-On: 2011-10-29 05:02:24.821101 Event: Register Account to SIP server
-On: 2011-10-29 05:02:24.821698 Event: 100
-On: 2011-10-29 05:02:24.821792 Event: Caller Handler Ready
-On: 2011-10-29 05:02:32.835746 Event: Terminate
-On: 2011-10-29 05:02:32.835800 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 05:03:15.872125 ------------------
-On: 2011-10-29 05:03:15.892035 Event: try to Connect to Controller
-On: 2011-10-29 05:03:17.201114 Event: init state
-On: 2011-10-29 05:03:17.201346 Event: Register Account to SIP server
-On: 2011-10-29 05:03:17.201959 Event: 100
-On: 2011-10-29 05:03:17.202047 Event: Caller Handler Ready
-On: 2011-10-29 05:03:22.305173 Event: CALL START
-On: 2011-10-29 05:03:22.305225 Event: Make a call to: 07612034661449
-On: 2011-10-29 05:03:24.641708 Event: Call Connecting
-On: 2011-10-29 05:03:24.641753 Event: 200
-On: 2011-10-29 05:03:25.757979 Event: Terminate
-On: 2011-10-29 05:03:25.758022 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 14:33:40.281967 ------------------
-On: 2011-10-29 14:33:40.302578 Event: try to Connect to Controller
-On: 2011-10-29 14:33:41.609097 Event: init state
-On: 2011-10-29 14:33:41.609346 Event: Register Account to SIP server
-On: 2011-10-29 14:33:41.609955 Event: 100
-On: 2011-10-29 14:33:41.610043 Event: Caller Handler Ready
-On: 2011-10-29 14:33:46.689197 Event: CALL START
-On: 2011-10-29 14:33:46.689251 Event: Make a call to: 07612034661449
-On: 2011-10-29 14:33:49.207267 Event: Call Connecting
-On: 2011-10-29 14:33:49.207311 Event: 200
-On: 2011-10-29 14:33:50.333962 Event: Terminate
-On: 2011-10-29 14:33:50.334003 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 16:44:19.214189 ------------------
-On: 2011-10-29 16:44:19.238199 Event: try to Connect to Controller
-On: 2011-10-29 16:44:20.412774 Event: init state
-On: 2011-10-29 16:44:20.413016 Event: Register Account to SIP server
-On: 2011-10-29 16:44:20.413442 Event: 100
-On: 2011-10-29 16:44:20.413574 Event: Caller Handler Ready
-On: 2011-10-29 16:44:31.433548 Event: CALL START
-On: 2011-10-29 16:44:31.433617 Event: Make a call to: 07612034661455
-On: 2011-10-29 16:44:33.761143 Event: Call Connecting
-On: 2011-10-29 16:44:33.761195 Event: 200
-On: 2011-10-29 16:44:33.823880 Event: Terminate
-On: 2011-10-29 16:44:33.823926 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 16:45:02.139237 ------------------
-On: 2011-10-29 16:45:02.163129 Event: try to Connect to Controller
-On: 2011-10-29 16:45:03.313193 Event: init state
-On: 2011-10-29 16:45:03.313573 Event: Register Account to SIP server
-On: 2011-10-29 16:45:03.314012 Event: 100
-On: 2011-10-29 16:45:03.314102 Event: Caller Handler Ready
-On: 2011-10-29 16:45:14.337513 Event: CALL START
-On: 2011-10-29 16:45:14.337580 Event: Make a call to: 07612034661455
-On: 2011-10-29 16:45:16.102851 Event: Call Connecting
-On: 2011-10-29 16:45:16.102903 Event: 200
-On: 2011-10-29 16:45:16.185179 Event: Terminate
-On: 2011-10-29 16:45:16.185224 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 16:47:13.152557 ------------------
-On: 2011-10-29 16:47:13.172362 Event: try to Connect to Controller
-On: 2011-10-29 16:47:14.398541 Event: init state
-On: 2011-10-29 16:47:14.398781 Event: Register Account to SIP server
-On: 2011-10-29 16:47:14.399197 Event: 100
-On: 2011-10-29 16:47:14.399279 Event: Caller Handler Ready
-On: 2011-10-29 16:47:25.421500 Event: CALL START
-On: 2011-10-29 16:47:25.421557 Event: Make a call to: 07612034661455
-On: 2011-10-29 16:47:27.925936 Event: Call Connecting
-On: 2011-10-29 16:47:27.925986 Event: 200
-On: 2011-10-29 16:47:28.003694 Event: Terminate
-On: 2011-10-29 16:47:28.003740 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:08:06.287611 ------------------
-On: 2011-10-29 17:08:06.311841 Event: try to Connect to Controller
-On: 2011-10-29 17:08:07.382055 Event: init state
-On: 2011-10-29 17:08:07.382290 Event: Register Account to SIP server
-On: 2011-10-29 17:08:07.382709 Event: 100
-On: 2011-10-29 17:08:07.382792 Event: Caller Handler Ready
-On: 2011-10-29 17:08:09.408252 Event: Terminate
-On: 2011-10-29 17:08:09.408293 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:09:04.856916 ------------------
-On: 2011-10-29 17:09:04.880878 Event: try to Connect to Controller
-On: 2011-10-29 17:09:05.974623 Event: init state
-On: 2011-10-29 17:09:05.974870 Event: Register Account to SIP server
-On: 2011-10-29 17:09:05.975651 Event: 100
-On: 2011-10-29 17:09:05.975735 Event: Caller Handler Ready
-On: 2011-10-29 17:09:08.003508 Event: Terminate
-On: 2011-10-29 17:09:08.003551 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:10:04.459090 ------------------
-On: 2011-10-29 17:10:04.483885 Event: try to Connect to Controller
-On: 2011-10-29 17:10:05.536904 Event: init state
-On: 2011-10-29 17:10:05.537145 Event: Register Account to SIP server
-On: 2011-10-29 17:10:05.537992 Event: 100
-On: 2011-10-29 17:10:05.538078 Event: Caller Handler Ready
-On: 2011-10-29 17:10:10.617312 Event: CALL START
-On: 2011-10-29 17:10:10.617372 Event: Make a call to: 07612034661449
-On: 2011-10-29 17:10:12.477100 Event: Call Connecting
-On: 2011-10-29 17:10:12.477148 Event: 200
-On: 2011-10-29 17:10:13.609988 Event: Terminate
-On: 2011-10-29 17:10:13.610032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:12:27.338530 ------------------
-On: 2011-10-29 17:12:27.358959 Event: try to Connect to Controller
-On: 2011-10-29 17:12:28.462281 Event: init state
-On: 2011-10-29 17:12:28.462516 Event: Register Account to SIP server
-On: 2011-10-29 17:12:28.462935 Event: 100
-On: 2011-10-29 17:12:28.463021 Event: Caller Handler Ready
-On: 2011-10-29 17:12:33.529516 Event: CALL START
-On: 2011-10-29 17:12:33.529576 Event: Make a call to: 015128040906
-On: 2011-10-29 17:13:06.577657 Event: Terminate
-On: 2011-10-29 17:13:06.577717 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:14:56.503756 ------------------
-On: 2011-10-29 17:14:56.524337 Event: try to Connect to Controller
-On: 2011-10-29 17:14:57.617987 Event: init state
-On: 2011-10-29 17:14:57.618224 Event: Register Account to SIP server
-On: 2011-10-29 17:14:57.618651 Event: 100
-On: 2011-10-29 17:14:57.618737 Event: Caller Handler Ready
-On: 2011-10-29 17:15:08.637505 Event: CALL START
-On: 2011-10-29 17:15:08.637567 Event: Make a call to: 07612034661455
-On: 2011-10-29 17:15:10.967899 Event: Call Connecting
-On: 2011-10-29 17:15:10.967949 Event: 200
-On: 2011-10-29 17:15:11.015558 Event: Terminate
-On: 2011-10-29 17:15:11.015602 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:15:14.951006 ------------------
-On: 2011-10-29 17:15:14.972886 Event: try to Connect to Controller
-On: 2011-10-29 17:15:16.059252 Event: init state
-On: 2011-10-29 17:15:16.059486 Event: Register Account to SIP server
-On: 2011-10-29 17:15:16.059904 Event: 100
-On: 2011-10-29 17:15:16.059990 Event: Caller Handler Ready
-On: 2011-10-29 17:15:27.077552 Event: CALL START
-On: 2011-10-29 17:15:27.077625 Event: Make a call to: 07612034661473
-On: 2011-10-29 17:15:29.058953 Event: Call Connecting
-On: 2011-10-29 17:15:29.059002 Event: 200
-On: 2011-10-29 17:15:29.257287 Event: Terminate
-On: 2011-10-29 17:15:29.257332 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:15:33.192576 ------------------
-On: 2011-10-29 17:15:33.213301 Event: try to Connect to Controller
-On: 2011-10-29 17:15:34.317724 Event: init state
-On: 2011-10-29 17:15:34.317965 Event: Register Account to SIP server
-On: 2011-10-29 17:15:34.318383 Event: 100
-On: 2011-10-29 17:15:34.318468 Event: Caller Handler Ready
-On: 2011-10-29 17:15:39.421214 Event: CALL START
-On: 2011-10-29 17:15:39.421270 Event: Make a call to: 07612034661449
-On: 2011-10-29 17:15:42.031006 Event: Call Connecting
-On: 2011-10-29 17:15:42.031055 Event: 200
-On: 2011-10-29 17:15:43.158097 Event: Terminate
-On: 2011-10-29 17:15:43.158133 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:15:47.208219 ------------------
-On: 2011-10-29 17:15:47.242815 Event: try to Connect to Controller
-On: 2011-10-29 17:15:48.228695 Event: init state
-On: 2011-10-29 17:15:48.228930 Event: Register Account to SIP server
-On: 2011-10-29 17:15:48.229806 Event: 100
-On: 2011-10-29 17:15:48.229902 Event: Caller Handler Ready
-On: 2011-10-29 17:15:59.254582 Event: CALL START
-On: 2011-10-29 17:15:59.254640 Event: Make a call to: 07612034661455
-On: 2011-10-29 17:16:01.597927 Event: Call Connecting
-On: 2011-10-29 17:16:01.597978 Event: 200
-On: 2011-10-29 17:16:01.634979 Event: Terminate
-On: 2011-10-29 17:16:01.635022 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:16:05.703458 ------------------
-On: 2011-10-29 17:16:05.740410 Event: try to Connect to Controller
-On: 2011-10-29 17:16:06.696687 Event: init state
-On: 2011-10-29 17:16:06.696923 Event: Register Account to SIP server
-On: 2011-10-29 17:16:06.697344 Event: 100
-On: 2011-10-29 17:16:06.697430 Event: Caller Handler Ready
-On: 2011-10-29 17:16:17.717399 Event: CALL START
-On: 2011-10-29 17:16:17.717495 Event: Make a call to: 07612034661473
-On: 2011-10-29 17:16:19.688149 Event: Call Connecting
-On: 2011-10-29 17:16:19.688198 Event: 200
-On: 2011-10-29 17:16:19.884919 Event: Terminate
-On: 2011-10-29 17:16:19.884964 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:16:23.814095 ------------------
-On: 2011-10-29 17:16:23.838351 Event: try to Connect to Controller
-On: 2011-10-29 17:16:24.958527 Event: init state
-On: 2011-10-29 17:16:24.958767 Event: Register Account to SIP server
-On: 2011-10-29 17:16:24.959549 Event: 100
-On: 2011-10-29 17:16:24.959637 Event: Caller Handler Ready
-On: 2011-10-29 17:16:30.077499 Event: CALL START
-On: 2011-10-29 17:16:30.077556 Event: Make a call to: 07612034661449
-On: 2011-10-29 17:16:32.665598 Event: Call Connecting
-On: 2011-10-29 17:16:32.665648 Event: 200
-On: 2011-10-29 17:16:33.797953 Event: Terminate
-On: 2011-10-29 17:16:33.797994 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:33:07.683081 ------------------
-On: 2011-10-29 17:33:07.703757 Event: try to Connect to Controller
-On: 2011-10-29 17:33:08.812931 Event: init state
-On: 2011-10-29 17:33:08.813169 Event: Register Account to SIP server
-On: 2011-10-29 17:33:08.813653 Event: 100
-On: 2011-10-29 17:33:08.813738 Event: Caller Handler Ready
-On: 2011-10-29 17:33:13.873217 Event: CALL START
-On: 2011-10-29 17:33:13.873277 Event: Make a call to: 015252423662
-On: 2011-10-29 17:33:24.923315 Event: Call Connecting
-On: 2011-10-29 17:33:24.923365 Event: 200
-On: 2011-10-29 17:33:24.925745 Event: Terminate
-On: 2011-10-29 17:33:24.925805 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:35:34.955235 ------------------
-On: 2011-10-29 17:35:34.975644 Event: try to Connect to Controller
-On: 2011-10-29 17:35:36.190305 Event: init state
-On: 2011-10-29 17:35:36.190546 Event: Register Account to SIP server
-On: 2011-10-29 17:35:36.191326 Event: 100
-On: 2011-10-29 17:35:36.191413 Event: Caller Handler Ready
-On: 2011-10-29 17:35:41.249240 Event: CALL START
-On: 2011-10-29 17:35:41.249301 Event: Make a call to: 015252423662
-On: 2011-10-29 17:35:51.117567 Event: Call Connecting
-On: 2011-10-29 17:35:51.117618 Event: 200
-On: 2011-10-29 17:35:51.121656 Event: Terminate
-On: 2011-10-29 17:35:51.121717 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:37:23.817881 ------------------
-On: 2011-10-29 17:37:23.838812 Event: try to Connect to Controller
-On: 2011-10-29 17:37:24.932906 Event: init state
-On: 2011-10-29 17:37:24.933248 Event: Register Account to SIP server
-On: 2011-10-29 17:37:24.933741 Event: 100
-On: 2011-10-29 17:37:24.933829 Event: Caller Handler Ready
-On: 2011-10-29 17:37:29.941524 Event: CALL START
-On: 2011-10-29 17:37:29.941591 Event: Make a call to: 076120397898
-On: 2011-10-29 17:37:29.988848 Event: Call Connecting
-On: 2011-10-29 17:37:29.988899 Event: 200
-On: 2011-10-29 17:37:29.991872 Event: Terminate
-On: 2011-10-29 17:37:29.991927 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:37:33.939279 ------------------
-On: 2011-10-29 17:37:33.962976 Event: try to Connect to Controller
-On: 2011-10-29 17:37:35.050956 Event: init state
-On: 2011-10-29 17:37:35.051190 Event: Register Account to SIP server
-On: 2011-10-29 17:37:35.051621 Event: 100
-On: 2011-10-29 17:37:35.051709 Event: Caller Handler Ready
-On: 2011-10-29 17:37:40.063200 Event: CALL START
-On: 2011-10-29 17:37:40.063258 Event: Make a call to: 076145875681
-On: 2011-10-29 17:37:44.978819 Event: Call Connecting
-On: 2011-10-29 17:37:44.978870 Event: 200
-On: 2011-10-29 17:37:44.980476 Event: Terminate
-On: 2011-10-29 17:37:44.980526 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:44:27.422234 ------------------
-On: 2011-10-29 17:44:27.447226 Event: try to Connect to Controller
-On: 2011-10-29 17:44:28.495847 Event: init state
-On: 2011-10-29 17:44:28.496087 Event: Register Account to SIP server
-On: 2011-10-29 17:44:28.496494 Event: 100
-On: 2011-10-29 17:44:28.496574 Event: Caller Handler Ready
-On: 2011-10-29 17:44:33.577302 Event: CALL START
-On: 2011-10-29 17:44:33.577359 Event: Make a call to: 015252423662
-On: 2011-10-29 17:44:43.338203 Event: Call Connecting
-On: 2011-10-29 17:44:43.338253 Event: 200
-On: 2011-10-29 17:44:43.341656 Event: Terminate
-On: 2011-10-29 17:44:43.341715 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:47:49.068819 ------------------
-On: 2011-10-29 17:47:49.098043 Event: try to Connect to Controller
-On: 2011-10-29 17:47:50.030698 Event: init state
-On: 2011-10-29 17:47:50.030936 Event: Register Account to SIP server
-On: 2011-10-29 17:47:50.031723 Event: 100
-On: 2011-10-29 17:47:50.031807 Event: Caller Handler Ready
-On: 2011-10-29 17:47:55.095691 Event: CALL START
-On: 2011-10-29 17:47:55.095754 Event: Make a call to: 015252423662
-On: 2011-10-29 17:48:04.129417 Event: Call Connecting
-On: 2011-10-29 17:48:04.129550 Event: 200
-On: 2011-10-29 17:48:04.133655 Event: Terminate
-On: 2011-10-29 17:48:04.133717 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:51:18.257442 ------------------
-On: 2011-10-29 17:51:18.278291 Event: try to Connect to Controller
-On: 2011-10-29 17:51:19.474016 Event: init state
-On: 2011-10-29 17:51:19.474253 Event: Register Account to SIP server
-On: 2011-10-29 17:51:19.474673 Event: 100
-On: 2011-10-29 17:51:19.474755 Event: Caller Handler Ready
-On: 2011-10-29 17:51:24.533276 Event: CALL START
-On: 2011-10-29 17:51:24.533331 Event: Make a call to: 015252423662
-On: 2011-10-29 17:51:34.671893 Event: Call Connecting
-On: 2011-10-29 17:51:34.671942 Event: 200
-On: 2011-10-29 17:51:34.676466 Event: Terminate
-On: 2011-10-29 17:51:34.676525 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:04:44.228361 ------------------
-On: 2011-10-29 18:04:44.253858 Event: try to Connect to Controller
-On: 2011-10-29 18:04:45.358693 Event: init state
-On: 2011-10-29 18:04:45.358935 Event: Register Account to SIP server
-On: 2011-10-29 18:04:45.359722 Event: 100
-On: 2011-10-29 18:04:45.359810 Event: Caller Handler Ready
-On: 2011-10-29 18:04:50.415459 Event: CALL START
-On: 2011-10-29 18:04:50.415519 Event: Make a call to: 015252423662
-On: 2011-10-29 18:04:59.884824 Event: Call Connecting
-On: 2011-10-29 18:04:59.884873 Event: 200
-On: 2011-10-29 18:04:59.889580 Event: Terminate
-On: 2011-10-29 18:04:59.889635 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:11:33.888009 ------------------
-On: 2011-10-29 18:11:33.908285 Event: try to Connect to Controller
-On: 2011-10-29 18:11:34.974262 Event: init state
-On: 2011-10-29 18:11:34.974497 Event: Register Account to SIP server
-On: 2011-10-29 18:11:34.974919 Event: 100
-On: 2011-10-29 18:11:34.975000 Event: Caller Handler Ready
-On: 2011-10-29 18:11:40.033501 Event: CALL START
-On: 2011-10-29 18:11:40.033555 Event: Make a call to: 015252423662
-On: 2011-10-29 18:11:50.410435 Event: Call Connecting
-On: 2011-10-29 18:11:50.410486 Event: 200
-On: 2011-10-29 18:11:50.413024 Event: Terminate
-On: 2011-10-29 18:11:50.413080 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:15:34.789223 ------------------
-On: 2011-10-29 18:15:34.809374 Event: try to Connect to Controller
-On: 2011-10-29 18:15:35.845684 Event: init state
-On: 2011-10-29 18:15:35.845924 Event: Register Account to SIP server
-On: 2011-10-29 18:15:35.846723 Event: 100
-On: 2011-10-29 18:15:35.846806 Event: Caller Handler Ready
-On: 2011-10-29 18:15:40.929225 Event: CALL START
-On: 2011-10-29 18:15:40.929287 Event: Make a call to: 015252423662
-On: 2011-10-29 18:15:50.697016 Event: Call Connecting
-On: 2011-10-29 18:15:50.697066 Event: 200
-On: 2011-10-29 18:15:50.701689 Event: Terminate
-On: 2011-10-29 18:15:50.701749 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:16:35.677244 ------------------
-On: 2011-10-29 18:16:35.698017 Event: try to Connect to Controller
-On: 2011-10-29 18:16:36.914366 Event: init state
-On: 2011-10-29 18:16:36.914607 Event: Register Account to SIP server
-On: 2011-10-29 18:16:36.915392 Event: 100
-On: 2011-10-29 18:16:36.915477 Event: Caller Handler Ready
-On: 2011-10-29 18:16:41.977206 Event: CALL START
-On: 2011-10-29 18:16:41.977266 Event: Make a call to: 015252423662
-On: 2011-10-29 18:16:52.200577 Event: Call Connecting
-On: 2011-10-29 18:16:52.200628 Event: 200
-On: 2011-10-29 18:16:52.205135 Event: Terminate
-On: 2011-10-29 18:16:52.205192 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:23:12.883722 ------------------
-On: 2011-10-29 18:23:12.904233 Event: try to Connect to Controller
-On: 2011-10-29 18:23:14.166665 Event: init state
-On: 2011-10-29 18:23:14.166899 Event: Register Account to SIP server
-On: 2011-10-29 18:23:14.167672 Event: 100
-On: 2011-10-29 18:23:14.167751 Event: Caller Handler Ready
-On: 2011-10-29 18:23:19.223713 Event: CALL START
-On: 2011-10-29 18:23:19.223767 Event: Make a call to: 015252423662
-On: 2011-10-29 18:23:29.024962 Event: Call Connecting
-On: 2011-10-29 18:23:29.025008 Event: 200
-On: 2011-10-29 18:23:29.026307 Event: Terminate
-On: 2011-10-29 18:23:29.026363 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:24:14.594979 ------------------
-On: 2011-10-29 18:24:14.615420 Event: try to Connect to Controller
-On: 2011-10-29 18:24:15.878472 Event: init state
-On: 2011-10-29 18:24:15.878724 Event: Register Account to SIP server
-On: 2011-10-29 18:24:15.879502 Event: 100
-On: 2011-10-29 18:24:15.881693 Event: Caller Handler Ready
-On: 2011-10-29 18:24:20.889151 Event: CALL START
-On: 2011-10-29 18:24:20.889211 Event: Make a call to: 076145875681
-On: 2011-10-29 18:24:26.746840 Event: Call Connecting
-On: 2011-10-29 18:24:26.746888 Event: 200
-On: 2011-10-29 18:24:26.747967 Event: Terminate
-On: 2011-10-29 18:24:26.748007 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:37:06.419138 ------------------
-On: 2011-10-29 18:37:06.439246 Event: try to Connect to Controller
-On: 2011-10-29 18:37:07.702547 Event: init state
-On: 2011-10-29 18:37:07.702793 Event: Register Account to SIP server
-On: 2011-10-29 18:37:07.703206 Event: 100
-On: 2011-10-29 18:37:07.703287 Event: Caller Handler Ready
-On: 2011-10-29 18:37:12.711101 Event: CALL START
-On: 2011-10-29 18:37:12.711160 Event: Make a call to: 076120397898
-On: 2011-10-29 18:37:12.785026 Event: Call Connecting
-On: 2011-10-29 18:37:12.785076 Event: 200
-On: 2011-10-29 18:37:12.785546 Event: Terminate
-On: 2011-10-29 18:37:12.785592 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:37:16.561201 ------------------
-On: 2011-10-29 18:37:16.581716 Event: try to Connect to Controller
-On: 2011-10-29 18:37:17.838662 Event: init state
-On: 2011-10-29 18:37:17.838954 Event: Register Account to SIP server
-On: 2011-10-29 18:37:17.839375 Event: 100
-On: 2011-10-29 18:37:17.839461 Event: Caller Handler Ready
-On: 2011-10-29 18:37:22.848456 Event: CALL START
-On: 2011-10-29 18:37:22.848516 Event: Make a call to: 076145875681
-On: 2011-10-29 18:37:26.824138 Event: Call Connecting
-On: 2011-10-29 18:37:26.824186 Event: 200
-On: 2011-10-29 18:37:26.825261 Event: Terminate
-On: 2011-10-29 18:37:26.825302 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:37:38.637455 ------------------
-On: 2011-10-29 18:37:38.658056 Event: try to Connect to Controller
-On: 2011-10-29 18:37:39.897103 Event: init state
-On: 2011-10-29 18:37:39.897354 Event: Register Account to SIP server
-On: 2011-10-29 18:37:39.898349 Event: 100
-On: 2011-10-29 18:37:39.898790 Event: Receiver Handler Ready
-On: 2011-10-29 18:37:39.898877 Event: RECEIVE START
-On: 2011-10-29 18:37:41.882590 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-29 18:37:41.883086 Event: Call Connecting
-On: 2011-10-29 18:37:41.883125 Event: 200
-On: 2011-10-29 18:37:41.883380 Event: Answer call
-On: 2011-10-29 18:37:41.883431 Event: Hangup call
-On: 2011-10-29 18:37:41.883602 Event: CALL OK
-On: 2011-10-29 18:37:41.934293 Event: Call Disconnected
-On: 2011-10-29 18:37:43.176370 Event: Terminate
-On: 2011-10-29 18:37:43.176428 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 19:03:23.882936 ------------------
-On: 2011-10-29 19:03:23.903221 Event: try to Connect to Controller
-On: 2011-10-29 19:03:25.193150 Event: init state
-On: 2011-10-29 19:03:25.193396 Event: Register Account to SIP server
-On: 2011-10-29 19:03:25.194003 Event: 100
-On: 2011-10-29 19:03:25.194093 Event: Caller Handler Ready
-On: 2011-10-29 19:03:30.201331 Event: CALL START
-On: 2011-10-29 19:03:30.201386 Event: Make a call to: 076120397898
-On: 2011-10-29 19:03:30.254620 Event: Call Connecting
-On: 2011-10-29 19:03:30.254668 Event: 200
-On: 2011-10-29 19:03:30.255734 Event: Terminate
-On: 2011-10-29 19:03:30.255776 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 19:03:33.989688 ------------------
-On: 2011-10-29 19:03:34.009773 Event: try to Connect to Controller
-On: 2011-10-29 19:03:35.306691 Event: init state
-On: 2011-10-29 19:03:35.306939 Event: Register Account to SIP server
-On: 2011-10-29 19:03:35.307343 Event: 100
-On: 2011-10-29 19:03:35.307424 Event: Caller Handler Ready
-On: 2011-10-29 19:03:40.317538 Event: CALL START
-On: 2011-10-29 19:03:40.317608 Event: Make a call to: 076145875681
-On: 2011-10-29 19:03:43.840828 Event: Call Connecting
-On: 2011-10-29 19:03:43.840874 Event: 200
-On: 2011-10-29 19:03:43.842017 Event: Terminate
-On: 2011-10-29 19:03:43.842133 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 19:03:55.656161 ------------------
-On: 2011-10-29 19:03:55.676680 Event: try to Connect to Controller
-On: 2011-10-29 19:03:56.916645 Event: init state
-On: 2011-10-29 19:03:56.916876 Event: Register Account to SIP server
-On: 2011-10-29 19:03:56.917294 Event: 100
-On: 2011-10-29 19:03:56.917379 Event: Receiver Handler Ready
-On: 2011-10-29 19:03:56.918025 Event: RECEIVE START
-On: 2011-10-29 19:03:58.697359 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-29 19:03:58.698114 Event: Call Connecting
-On: 2011-10-29 19:03:58.698161 Event: 200
-On: 2011-10-29 19:03:58.698411 Event: Answer call
-On: 2011-10-29 19:03:58.698463 Event: Hangup call
-On: 2011-10-29 19:03:58.698645 Event: CALL OK
-On: 2011-10-29 19:03:58.749344 Event: Call Disconnected
-On: 2011-10-29 19:04:00.160039 Event: Terminate
-On: 2011-10-29 19:04:00.160086 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 21:41:53.146992 ------------------
-On: 2011-10-29 21:41:53.167301 Event: try to Connect to Controller
-On: 2011-10-29 21:41:54.458139 Event: init state
-On: 2011-10-29 21:41:54.458378 Event: Register Account to SIP server
-On: 2011-10-29 21:41:54.458782 Event: 100
-On: 2011-10-29 21:41:54.458862 Event: Caller Handler Ready
-On: 2011-10-29 21:41:59.557265 Event: CALL START
-On: 2011-10-29 21:41:59.557318 Event: Make a call to: 07612034661449
-On: 2011-10-29 21:42:02.120614 Event: Call Connecting
-On: 2011-10-29 21:42:02.120658 Event: 200
-On: 2011-10-29 21:42:03.217970 Event: Terminate
-On: 2011-10-29 21:42:03.218012 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 21:44:19.479414 ------------------
-On: 2011-10-29 21:44:19.499438 Event: try to Connect to Controller
-On: 2011-10-29 21:44:20.798288 Event: init state
-On: 2011-10-29 21:44:20.798534 Event: Register Account to SIP server
-On: 2011-10-29 21:44:20.798938 Event: 100
-On: 2011-10-29 21:44:20.799018 Event: Caller Handler Ready
-On: 2011-10-29 21:44:25.803747 Event: CALL START
-On: 2011-10-29 21:44:25.803803 Event: Make a call to: 076120397898
-On: 2011-10-29 21:44:25.851605 Event: Call Connecting
-On: 2011-10-29 21:44:25.851651 Event: 200
-On: 2011-10-29 21:44:25.852027 Event: Terminate
-On: 2011-10-29 21:44:25.852063 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 21:44:29.599615 ------------------
-On: 2011-10-29 21:44:29.620018 Event: try to Connect to Controller
-On: 2011-10-29 21:44:30.909241 Event: init state
-On: 2011-10-29 21:44:30.909518 Event: Register Account to SIP server
-On: 2011-10-29 21:44:30.909925 Event: 100
-On: 2011-10-29 21:44:30.910006 Event: Caller Handler Ready
-On: 2011-10-29 21:44:36.013197 Event: CALL START
-On: 2011-10-29 21:44:36.013249 Event: Make a call to: 07612034661449
-On: 2011-10-29 21:44:38.163543 Event: Call Connecting
-On: 2011-10-29 21:44:38.163588 Event: 200
-On: 2011-10-29 21:44:39.285924 Event: Terminate
-On: 2011-10-29 21:44:39.285965 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:11.676155 ------------------
-On: 2011-10-29 22:13:11.696591 Event: try to Connect to Controller
-On: 2011-10-29 22:13:12.969048 Event: init state
-On: 2011-10-29 22:13:12.969327 Event: Register Account to SIP server
-On: 2011-10-29 22:13:12.970137 Event: 100
-On: 2011-10-29 22:13:12.970219 Event: Receiver Handler Ready
-On: 2011-10-29 22:13:12.970747 Event: RECEIVE START
-On: 2011-10-29 22:13:18.400583 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-29 22:13:18.401076 Event: Call Connecting
-On: 2011-10-29 22:13:18.401115 Event: 200
-On: 2011-10-29 22:13:18.401360 Event: Answer call
-On: 2011-10-29 22:13:18.401410 Event: Hangup call
-On: 2011-10-29 22:13:18.401782 Event: CALL OK
-On: 2011-10-29 22:13:18.452496 Event: Call Disconnected
-On: 2011-10-29 22:13:18.932523 Event: Terminate
-On: 2011-10-29 22:13:18.932564 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:22.675169 ------------------
-On: 2011-10-29 22:13:22.695221 Event: try to Connect to Controller
-On: 2011-10-29 22:13:23.983388 Event: init state
-On: 2011-10-29 22:13:23.983635 Event: Register Account to SIP server
-On: 2011-10-29 22:13:23.984466 Event: 100
-On: 2011-10-29 22:13:23.984559 Event: Caller Handler Ready
-On: 2011-10-29 22:13:28.993502 Event: CALL START
-On: 2011-10-29 22:13:28.993556 Event: Make a call to: 076120397898
-On: 2011-10-29 22:13:29.042079 Event: Call Connecting
-On: 2011-10-29 22:13:29.042127 Event: 200
-On: 2011-10-29 22:13:29.042507 Event: Terminate
-On: 2011-10-29 22:13:29.042542 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:32.791153 ------------------
-On: 2011-10-29 22:13:32.811388 Event: try to Connect to Controller
-On: 2011-10-29 22:13:34.108665 Event: init state
-On: 2011-10-29 22:13:34.108910 Event: Register Account to SIP server
-On: 2011-10-29 22:13:34.109308 Event: 100
-On: 2011-10-29 22:13:34.109388 Event: Caller Handler Ready
-On: 2011-10-29 22:13:39.117990 Event: CALL START
-On: 2011-10-29 22:13:39.118046 Event: Make a call to: 076145875681
-On: 2011-10-29 22:13:44.232715 Event: Call Connecting
-On: 2011-10-29 22:13:44.232762 Event: 200
-On: 2011-10-29 22:13:44.234000 Event: Terminate
-On: 2011-10-29 22:13:44.234049 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:55.990569 ------------------
-On: 2011-10-29 22:13:56.010619 Event: try to Connect to Controller
-On: 2011-10-29 22:13:57.304688 Event: init state
-On: 2011-10-29 22:13:57.304930 Event: Register Account to SIP server
-On: 2011-10-29 22:13:57.305335 Event: 100
-On: 2011-10-29 22:13:57.305414 Event: Receiver Handler Ready
-On: 2011-10-29 22:13:57.306026 Event: RECEIVE START
-On: 2011-10-29 22:13:59.083996 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-29 22:13:59.084484 Event: Call Connecting
-On: 2011-10-29 22:13:59.084521 Event: 200
-On: 2011-10-29 22:13:59.084770 Event: Answer call
-On: 2011-10-29 22:13:59.084822 Event: Hangup call
-On: 2011-10-29 22:13:59.084992 Event: CALL OK
-On: 2011-10-29 22:13:59.135674 Event: Call Disconnected
-On: 2011-10-29 22:14:00.577006 Event: Terminate
-On: 2011-10-29 22:14:00.577059 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:14:04.334665 ------------------
-On: 2011-10-29 22:14:04.354688 Event: try to Connect to Controller
-On: 2011-10-29 22:14:05.633125 Event: init state
-On: 2011-10-29 22:14:05.633371 Event: Register Account to SIP server
-On: 2011-10-29 22:14:05.634358 Event: 100
-On: 2011-10-29 22:14:05.636735 Event: Caller Handler Ready
-On: 2011-10-29 22:14:10.709177 Event: CALL START
-On: 2011-10-29 22:14:10.709230 Event: Make a call to: 07612034661449
-On: 2011-10-29 22:14:13.005878 Event: Call Connecting
-On: 2011-10-29 22:14:13.005921 Event: 200
-On: 2011-10-29 22:14:14.113923 Event: Terminate
-On: 2011-10-29 22:14:14.113964 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:05:00.006283 ------------------
-On: 2011-10-29 23:05:00.026776 Event: try to Connect to Controller
-On: 2011-10-29 23:05:01.210471 Event: init state
-On: 2011-10-29 23:05:01.210706 Event: Register Account to SIP server
-On: 2011-10-29 23:05:01.211476 Event: 100
-On: 2011-10-29 23:05:01.211557 Event: Caller Handler Ready
-On: 2011-10-29 23:05:06.220431 Event: CALL START
-On: 2011-10-29 23:05:06.220486 Event: Make a call to: 076120397898
-On: 2011-10-29 23:05:06.273660 Event: Call Connecting
-On: 2011-10-29 23:05:06.273708 Event: 200
-On: 2011-10-29 23:05:06.274749 Event: Terminate
-On: 2011-10-29 23:05:06.274791 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:05:10.023656 ------------------
-On: 2011-10-29 23:05:10.044299 Event: try to Connect to Controller
-On: 2011-10-29 23:05:11.328726 Event: init state
-On: 2011-10-29 23:05:11.328982 Event: Register Account to SIP server
-On: 2011-10-29 23:05:11.329394 Event: 100
-On: 2011-10-29 23:05:11.330632 Event: Caller Handler Ready
-On: 2011-10-29 23:05:16.403900 Event: CALL START
-On: 2011-10-29 23:05:16.403954 Event: Make a call to: 07612034661449
-On: 2011-10-29 23:05:18.951357 Event: Call Connecting
-On: 2011-10-29 23:05:18.951403 Event: 200
-On: 2011-10-29 23:05:20.077926 Event: Terminate
-On: 2011-10-29 23:05:20.077967 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:09:46.831052 ------------------
-On: 2011-10-29 23:09:46.851163 Event: try to Connect to Controller
-On: 2011-10-29 23:09:48.142783 Event: init state
-On: 2011-10-29 23:09:48.143028 Event: Register Account to SIP server
-On: 2011-10-29 23:09:48.143427 Event: 100
-On: 2011-10-29 23:09:48.143505 Event: Caller Handler Ready
-On: 2011-10-29 23:09:53.221239 Event: CALL START
-On: 2011-10-29 23:09:53.221292 Event: Make a call to: 07612034661449
-On: 2011-10-29 23:09:55.549571 Event: Call Connecting
-On: 2011-10-29 23:09:55.549616 Event: 200
-On: 2011-10-29 23:09:56.661930 Event: Terminate
-On: 2011-10-29 23:09:56.661970 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:19:10.908975 ------------------
-On: 2011-10-29 23:19:10.929192 Event: try to Connect to Controller
-On: 2011-10-29 23:19:12.221622 Event: init state
-On: 2011-10-29 23:19:12.221864 Event: Register Account to SIP server
-On: 2011-10-29 23:19:12.222272 Event: 100
-On: 2011-10-29 23:19:12.222351 Event: Caller Handler Ready
-On: 2011-10-29 23:19:29.244471 Event: Terminate
-On: 2011-10-29 23:19:29.244510 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:24:12.746104 ------------------
-On: 2011-10-29 23:24:12.765982 Event: try to Connect to Controller
-On: 2011-10-29 23:24:14.057092 Event: init state
-On: 2011-10-29 23:24:14.057343 Event: Register Account to SIP server
-On: 2011-10-29 23:24:14.057956 Event: 100
-On: 2011-10-29 23:24:14.058046 Event: Caller Handler Ready
-On: 2011-10-29 23:24:19.133277 Event: CALL START
-On: 2011-10-29 23:24:19.133331 Event: Make a call to: 07612034661449
-On: 2011-10-29 23:24:21.775780 Event: Call Connecting
-On: 2011-10-29 23:24:21.775827 Event: 200
-On: 2011-10-29 23:24:22.897954 Event: Terminate
-On: 2011-10-29 23:24:22.897997 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:24:43.663770 ------------------
-On: 2011-10-29 23:24:43.684210 Event: try to Connect to Controller
-On: 2011-10-29 23:24:44.962353 Event: init state
-On: 2011-10-29 23:24:44.962594 Event: Register Account to SIP server
-On: 2011-10-29 23:24:44.963007 Event: 100
-On: 2011-10-29 23:24:44.963088 Event: Caller Handler Ready
-On: 2011-10-29 23:25:01.986925 Event: Terminate
-On: 2011-10-29 23:25:01.986962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:26:48.227471 ------------------
-On: 2011-10-29 23:26:48.248131 Event: try to Connect to Controller
-On: 2011-10-29 23:26:49.542388 Event: init state
-On: 2011-10-29 23:26:49.542625 Event: Register Account to SIP server
-On: 2011-10-29 23:26:49.543030 Event: 100
-On: 2011-10-29 23:26:49.543110 Event: Caller Handler Ready
-On: 2011-10-29 23:26:54.621182 Event: CALL START
-On: 2011-10-29 23:26:54.621233 Event: Make a call to: 07612034661449
-On: 2011-10-29 23:26:57.100527 Event: Call Connecting
-On: 2011-10-29 23:26:57.100572 Event: 200
-On: 2011-10-29 23:26:58.229977 Event: Terminate
-On: 2011-10-29 23:26:58.230020 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:55:08.536865 ------------------
-On: 2011-10-29 23:55:08.557066 Event: try to Connect to Controller
-On: 2011-10-29 23:55:09.846791 Event: init state
-On: 2011-10-29 23:55:09.847033 Event: Register Account to SIP server
-On: 2011-10-29 23:55:09.847853 Event: 100
-On: 2011-10-29 23:55:09.847933 Event: Caller Handler Ready
-On: 2011-10-29 23:55:14.925235 Event: CALL START
-On: 2011-10-29 23:55:14.925288 Event: Make a call to: 07612034661449
-On: 2011-10-29 23:55:16.591157 Event: Call Connecting
-On: 2011-10-29 23:55:16.591201 Event: 200
-On: 2011-10-29 23:55:17.725973 Event: Terminate
-On: 2011-10-29 23:55:17.726014 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:58:59.625069 ------------------
-On: 2011-10-29 23:58:59.645726 Event: try to Connect to Controller
-On: 2011-10-29 23:59:00.937724 Event: init state
-On: 2011-10-29 23:59:00.937977 Event: Register Account to SIP server
-On: 2011-10-29 23:59:00.938382 Event: 100
-On: 2011-10-29 23:59:00.938461 Event: Caller Handler Ready
-On: 2011-10-29 23:59:11.958577 Event: CALL START
-On: 2011-10-29 23:59:11.958633 Event: Make a call to: 07612034661455
-On: 2011-10-29 23:59:13.868085 Event: Call Connecting
-On: 2011-10-29 23:59:13.868130 Event: 200
-On: 2011-10-29 23:59:13.958511 Event: Terminate
-On: 2011-10-29 23:59:13.958565 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 00:01:34.307151 ------------------
-On: 2011-10-30 00:01:34.327610 Event: try to Connect to Controller
-On: 2011-10-30 00:01:35.611324 Event: init state
-On: 2011-10-30 00:01:35.611567 Event: Register Account to SIP server
-On: 2011-10-30 00:01:35.611970 Event: 100
-On: 2011-10-30 00:01:35.612051 Event: Caller Handler Ready
-On: 2011-10-30 00:01:40.693194 Event: CALL START
-On: 2011-10-30 00:01:40.693243 Event: Make a call to: 07612034661449
-On: 2011-10-30 00:01:42.625687 Event: Call Connecting
-On: 2011-10-30 00:01:42.625733 Event: 200
-On: 2011-10-30 00:01:43.769921 Event: Terminate
-On: 2011-10-30 00:01:43.769961 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 01:43:46.860870 ------------------
-On: 2011-10-30 01:43:46.882034 Event: try to Connect to Controller
-On: 2011-10-30 01:43:48.172090 Event: init state
-On: 2011-10-30 01:43:48.172347 Event: Register Account to SIP server
-On: 2011-10-30 01:43:48.172752 Event: 100
-On: 2011-10-30 01:43:48.172832 Event: Caller Handler Ready
-On: 2011-10-30 01:43:53.249225 Event: CALL START
-On: 2011-10-30 01:43:53.249278 Event: Make a call to: 07612034661449
-On: 2011-10-30 01:43:55.322747 Event: Call Connecting
-On: 2011-10-30 01:43:55.322792 Event: 200
-On: 2011-10-30 01:43:56.425946 Event: Terminate
-On: 2011-10-30 01:43:56.425989 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 01:52:32.244953 ------------------
-On: 2011-10-30 01:52:32.265315 Event: try to Connect to Controller
-On: 2011-10-30 01:52:33.553099 Event: init state
-On: 2011-10-30 01:52:33.553331 Event: Register Account to SIP server
-On: 2011-10-30 01:52:33.554300 Event: 100
-On: 2011-10-30 01:52:33.554391 Event: Caller Handler Ready
-On: 2011-10-30 01:52:50.576326 Event: Terminate
-On: 2011-10-30 01:52:50.576366 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 01:54:10.787660 ------------------
-On: 2011-10-30 01:54:10.808113 Event: try to Connect to Controller
-On: 2011-10-30 01:54:12.096361 Event: init state
-On: 2011-10-30 01:54:12.096595 Event: Register Account to SIP server
-On: 2011-10-30 01:54:12.097349 Event: 100
-On: 2011-10-30 01:54:12.097428 Event: Caller Handler Ready
-On: 2011-10-30 01:54:29.120329 Event: Terminate
-On: 2011-10-30 01:54:29.120369 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 14:27:57.752973 ------------------
-On: 2011-10-30 14:27:57.776620 Event: try to Connect to Controller
-On: 2011-10-30 14:27:58.632918 Event: init state
-On: 2011-10-30 14:27:58.633148 Event: Register Account to SIP server
-On: 2011-10-30 14:27:58.633631 Event: 100
-On: 2011-10-30 14:27:58.633717 Event: Caller Handler Ready
-On: 2011-10-30 14:28:03.693294 Event: CALL START
-On: 2011-10-30 14:28:03.693365 Event: Make a call to: 015128040906
-On: 2011-10-30 14:28:13.967211 Event: Call Connecting
-On: 2011-10-30 14:28:13.967261 Event: 200
-On: 2011-10-30 14:28:13.969653 Event: Terminate
-On: 2011-10-30 14:28:13.969713 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 14:28:18.155345 ------------------
-On: 2011-10-30 14:28:18.176388 Event: try to Connect to Controller
-On: 2011-10-30 14:28:19.086299 Event: init state
-On: 2011-10-30 14:28:19.086533 Event: Register Account to SIP server
-On: 2011-10-30 14:28:19.086952 Event: 100
-On: 2011-10-30 14:28:19.087034 Event: Caller Handler Ready
-On: 2011-10-30 14:28:24.157500 Event: CALL START
-On: 2011-10-30 14:28:24.157556 Event: Make a call to: 015128040906
-On: 2011-10-30 14:28:35.118218 Event: Call Connecting
-On: 2011-10-30 14:28:35.118268 Event: 200
-On: 2011-10-30 14:28:35.121659 Event: Terminate
-On: 2011-10-30 14:28:35.121719 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:21:04.384059 ------------------
-On: 2011-10-30 15:21:04.408764 Event: try to Connect to Controller
-On: 2011-10-30 15:21:05.508688 Event: init state
-On: 2011-10-30 15:21:05.508933 Event: Register Account to SIP server
-On: 2011-10-30 15:21:05.509361 Event: 100
-On: 2011-10-30 15:21:05.509451 Event: Caller Handler Ready
-On: 2011-10-30 15:21:10.585345 Event: CALL START
-On: 2011-10-30 15:21:10.585405 Event: Make a call to: 015782677224
-On: 2011-10-30 15:21:16.965201 Event: Call Connecting
-On: 2011-10-30 15:21:16.965251 Event: 200
-On: 2011-10-30 15:21:23.650032 Event: Terminate
-On: 2011-10-30 15:21:23.650074 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:21:27.572937 ------------------
-On: 2011-10-30 15:21:27.597727 Event: try to Connect to Controller
-On: 2011-10-30 15:21:28.703290 Event: init state
-On: 2011-10-30 15:21:28.703525 Event: Register Account to SIP server
-On: 2011-10-30 15:21:28.703933 Event: 100
-On: 2011-10-30 15:21:28.704021 Event: Caller Handler Ready
-On: 2011-10-30 15:21:33.761176 Event: CALL START
-On: 2011-10-30 15:21:33.761231 Event: Make a call to: 015128040906
-On: 2011-10-30 15:21:44.713032 Event: Call Connecting
-On: 2011-10-30 15:21:44.713083 Event: 200
-On: 2011-10-30 15:21:44.717698 Event: Terminate
-On: 2011-10-30 15:21:44.717756 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:21:48.657063 ------------------
-On: 2011-10-30 15:21:48.678033 Event: try to Connect to Controller
-On: 2011-10-30 15:21:49.767110 Event: init state
-On: 2011-10-30 15:21:49.767415 Event: Register Account to SIP server
-On: 2011-10-30 15:21:49.768292 Event: 100
-On: 2011-10-30 15:21:49.768486 Event: Caller Handler Ready
-On: 2011-10-30 15:21:54.853229 Event: CALL START
-On: 2011-10-30 15:21:54.853287 Event: Make a call to: 015252423662
-On: 2011-10-30 15:22:04.107758 Event: Call Connecting
-On: 2011-10-30 15:22:04.107809 Event: 200
-On: 2011-10-30 15:22:04.112420 Event: Terminate
-On: 2011-10-30 15:22:04.112479 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:27:43.179748 ------------------
-On: 2011-10-30 15:27:43.200582 Event: try to Connect to Controller
-On: 2011-10-30 15:27:44.212996 Event: init state
-On: 2011-10-30 15:27:44.213229 Event: Register Account to SIP server
-On: 2011-10-30 15:27:44.214088 Event: 100
-On: 2011-10-30 15:27:44.214179 Event: Caller Handler Ready
-On: 2011-10-30 15:27:49.221515 Event: CALL START
-On: 2011-10-30 15:27:49.221578 Event: Make a call to: 076120397898
-On: 2011-10-30 15:27:49.301613 Event: Call Connecting
-On: 2011-10-30 15:27:49.301663 Event: 200
-On: 2011-10-30 15:27:49.302771 Event: Terminate
-On: 2011-10-30 15:27:49.302813 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:31:27.826124 ------------------
-On: 2011-10-30 15:31:27.847487 Event: try to Connect to Controller
-On: 2011-10-30 15:31:28.963124 Event: init state
-On: 2011-10-30 15:31:28.963360 Event: Register Account to SIP server
-On: 2011-10-30 15:31:28.963777 Event: 100
-On: 2011-10-30 15:31:28.963861 Event: Receiver Handler Ready
-On: 2011-10-30 15:31:28.964124 Event: RECEIVE START
-On: 2011-10-30 15:31:30.831944 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-30 15:31:30.832517 Event: Call Connecting
-On: 2011-10-30 15:31:30.832562 Event: 200
-On: 2011-10-30 15:31:30.832814 Event: Answer call
-On: 2011-10-30 15:31:30.832867 Event: Hangup call
-On: 2011-10-30 15:31:30.833048 Event: CALL OK
-On: 2011-10-30 15:31:30.883800 Event: Call Disconnected
-On: 2011-10-30 15:31:32.318750 Event: Terminate
-On: 2011-10-30 15:31:32.318798 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:31:57.712548 ------------------
-On: 2011-10-30 15:31:57.738904 Event: try to Connect to Controller
-On: 2011-10-30 15:31:58.629579 Event: init state
-On: 2011-10-30 15:31:58.629835 Event: Register Account to SIP server
-On: 2011-10-30 15:31:58.630619 Event: 100
-On: 2011-10-30 15:31:58.630706 Event: Caller Handler Ready
-On: 2011-10-30 15:32:03.688384 Event: CALL START
-On: 2011-10-30 15:32:03.688444 Event: Make a call to: 015782677224
-On: 2011-10-30 15:32:09.532542 Event: Call Connecting
-On: 2011-10-30 15:32:09.532592 Event: 200
-On: 2011-10-30 15:32:16.734046 Event: Terminate
-On: 2011-10-30 15:32:16.734087 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:32:20.669752 ------------------
-On: 2011-10-30 15:32:20.689936 Event: try to Connect to Controller
-On: 2011-10-30 15:32:21.785986 Event: init state
-On: 2011-10-30 15:32:21.786228 Event: Register Account to SIP server
-On: 2011-10-30 15:32:21.786654 Event: 100
-On: 2011-10-30 15:32:21.786737 Event: Caller Handler Ready
-On: 2011-10-30 15:32:26.865258 Event: CALL START
-On: 2011-10-30 15:32:26.865318 Event: Make a call to: 017678038038
-On: 2011-10-30 15:32:35.961939 Event: Call Connecting
-On: 2011-10-30 15:32:35.961990 Event: 200
-On: 2011-10-30 15:32:35.965658 Event: Terminate
-On: 2011-10-30 15:32:35.965718 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:32:39.903928 ------------------
-On: 2011-10-30 15:32:39.928191 Event: try to Connect to Controller
-On: 2011-10-30 15:32:41.020006 Event: init state
-On: 2011-10-30 15:32:41.020327 Event: Register Account to SIP server
-On: 2011-10-30 15:32:41.020757 Event: 100
-On: 2011-10-30 15:32:41.020942 Event: Caller Handler Ready
-On: 2011-10-30 15:32:46.105273 Event: CALL START
-On: 2011-10-30 15:32:46.105332 Event: Make a call to: 015128040906
-On: 2011-10-30 15:32:56.636693 Event: Call Connecting
-On: 2011-10-30 15:32:56.636740 Event: 200
-On: 2011-10-30 15:32:56.641180 Event: Terminate
-On: 2011-10-30 15:32:56.641233 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:33:00.581439 ------------------
-On: 2011-10-30 15:33:00.601743 Event: try to Connect to Controller
-On: 2011-10-30 15:33:01.690662 Event: init state
-On: 2011-10-30 15:33:01.690898 Event: Register Account to SIP server
-On: 2011-10-30 15:33:01.691326 Event: 100
-On: 2011-10-30 15:33:01.691411 Event: Caller Handler Ready
-On: 2011-10-30 15:33:06.749215 Event: CALL START
-On: 2011-10-30 15:33:06.749275 Event: Make a call to: 015252423662
-On: 2011-10-30 15:33:16.128821 Event: Call Connecting
-On: 2011-10-30 15:33:16.128872 Event: 200
-On: 2011-10-30 15:33:16.133402 Event: Terminate
-On: 2011-10-30 15:33:16.133459 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:36:32.342528 ------------------
-On: 2011-10-30 15:36:32.386985 Event: try to Connect to Controller
-On: 2011-10-30 15:36:33.370522 Event: init state
-On: 2011-10-30 15:36:33.370760 Event: Register Account to SIP server
-On: 2011-10-30 15:36:33.371545 Event: 100
-On: 2011-10-30 15:36:33.371634 Event: Caller Handler Ready
-On: 2011-10-30 15:36:38.426917 Event: CALL START
-On: 2011-10-30 15:36:38.426979 Event: Make a call to: 015782677224
-On: 2011-10-30 15:36:44.738023 Event: Call Connecting
-On: 2011-10-30 15:36:44.738073 Event: 200
-On: 2011-10-30 15:36:51.470005 Event: Terminate
-On: 2011-10-30 15:36:51.470047 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:36:55.402508 ------------------
-On: 2011-10-30 15:36:55.426548 Event: try to Connect to Controller
-On: 2011-10-30 15:36:56.523964 Event: init state
-On: 2011-10-30 15:36:56.524201 Event: Register Account to SIP server
-On: 2011-10-30 15:36:56.524618 Event: 100
-On: 2011-10-30 15:36:56.524703 Event: Caller Handler Ready
-On: 2011-10-30 15:37:01.593500 Event: CALL START
-On: 2011-10-30 15:37:01.593554 Event: Make a call to: 017678038038
-On: 2011-10-30 15:37:10.071074 Event: Call Connecting
-On: 2011-10-30 15:37:10.071121 Event: 200
-On: 2011-10-30 15:37:10.073795 Event: Terminate
-On: 2011-10-30 15:37:10.073855 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:37:14.168724 ------------------
-On: 2011-10-30 15:37:14.193162 Event: try to Connect to Controller
-On: 2011-10-30 15:37:15.134658 Event: init state
-On: 2011-10-30 15:37:15.134982 Event: Register Account to SIP server
-On: 2011-10-30 15:37:15.135406 Event: 100
-On: 2011-10-30 15:37:15.135492 Event: Caller Handler Ready
-On: 2011-10-30 15:37:20.225519 Event: CALL START
-On: 2011-10-30 15:37:20.225582 Event: Make a call to: 015252423662
-On: 2011-10-30 15:37:30.220351 Event: Call Connecting
-On: 2011-10-30 15:37:30.220400 Event: 200
-On: 2011-10-30 15:37:30.224926 Event: Terminate
-On: 2011-10-30 15:37:30.224984 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:39:20.467899 ------------------
-On: 2011-10-30 15:39:20.499257 Event: try to Connect to Controller
-On: 2011-10-30 15:39:21.453580 Event: init state
-On: 2011-10-30 15:39:21.453825 Event: Register Account to SIP server
-On: 2011-10-30 15:39:21.454245 Event: 100
-On: 2011-10-30 15:39:21.454331 Event: Caller Handler Ready
-On: 2011-10-30 15:39:26.537512 Event: CALL START
-On: 2011-10-30 15:39:26.537573 Event: Make a call to: 015782677224
-On: 2011-10-30 15:39:32.976580 Event: Call Connecting
-On: 2011-10-30 15:39:32.976630 Event: 200
-On: 2011-10-30 15:39:39.606012 Event: Terminate
-On: 2011-10-30 15:39:39.606053 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:39:43.816976 ------------------
-On: 2011-10-30 15:39:43.882446 Event: try to Connect to Controller
-On: 2011-10-30 15:39:44.700707 Event: init state
-On: 2011-10-30 15:39:44.700946 Event: Register Account to SIP server
-On: 2011-10-30 15:39:44.701365 Event: 100
-On: 2011-10-30 15:39:44.701451 Event: Caller Handler Ready
-On: 2011-10-30 15:39:49.772961 Event: CALL START
-On: 2011-10-30 15:39:49.773022 Event: Make a call to: 017678038038
-On: 2011-10-30 15:39:58.344681 Event: Call Connecting
-On: 2011-10-30 15:39:58.344731 Event: 200
-On: 2011-10-30 15:39:58.345837 Event: Terminate
-On: 2011-10-30 15:39:58.345879 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:40:02.304546 ------------------
-On: 2011-10-30 15:40:02.325636 Event: try to Connect to Controller
-On: 2011-10-30 15:40:03.416218 Event: init state
-On: 2011-10-30 15:40:03.416537 Event: Register Account to SIP server
-On: 2011-10-30 15:40:03.416964 Event: 100
-On: 2011-10-30 15:40:03.417053 Event: Caller Handler Ready
-On: 2011-10-30 15:40:08.480603 Event: CALL START
-On: 2011-10-30 15:40:08.480658 Event: Make a call to: 015128040906
-On: 2011-10-30 15:40:18.673175 Event: Call Connecting
-On: 2011-10-30 15:40:18.673225 Event: 200
-On: 2011-10-30 15:40:18.677652 Event: Terminate
-On: 2011-10-30 15:40:18.677712 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:40:22.632404 ------------------
-On: 2011-10-30 15:40:22.652950 Event: try to Connect to Controller
-On: 2011-10-30 15:40:23.742310 Event: init state
-On: 2011-10-30 15:40:23.742547 Event: Register Account to SIP server
-On: 2011-10-30 15:40:23.742955 Event: 100
-On: 2011-10-30 15:40:23.743042 Event: Caller Handler Ready
-On: 2011-10-30 15:40:28.809194 Event: CALL START
-On: 2011-10-30 15:40:28.809250 Event: Make a call to: 015252423662
-On: 2011-10-30 15:40:38.079779 Event: Call Connecting
-On: 2011-10-30 15:40:38.079829 Event: 200
-On: 2011-10-30 15:40:38.084387 Event: Terminate
-On: 2011-10-30 15:40:38.084447 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:40:42.039126 ------------------
-On: 2011-10-30 15:40:42.063994 Event: try to Connect to Controller
-On: 2011-10-30 15:40:43.127839 Event: init state
-On: 2011-10-30 15:40:43.128080 Event: Register Account to SIP server
-On: 2011-10-30 15:40:43.128507 Event: 100
-On: 2011-10-30 15:40:43.128593 Event: Caller Handler Ready
-On: 2011-10-30 15:40:54.148976 Event: CALL START
-On: 2011-10-30 15:40:54.149034 Event: Make a call to: 07612034661473
-On: 2011-10-30 15:40:56.412754 Event: Call Connecting
-On: 2011-10-30 15:40:56.412805 Event: 200
-On: 2011-10-30 15:40:56.617051 Event: Terminate
-On: 2011-10-30 15:40:56.617097 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:42:15.483975 ------------------
-On: 2011-10-30 15:42:15.526945 Event: try to Connect to Controller
-On: 2011-10-30 15:42:16.520712 Event: init state
-On: 2011-10-30 15:42:16.520951 Event: Register Account to SIP server
-On: 2011-10-30 15:42:16.521382 Event: 100
-On: 2011-10-30 15:42:16.521505 Event: Caller Handler Ready
-On: 2011-10-30 15:42:21.577229 Event: CALL START
-On: 2011-10-30 15:42:21.577289 Event: Make a call to: 015782677224
-On: 2011-10-30 15:42:26.971285 Event: Call Connecting
-On: 2011-10-30 15:42:26.971336 Event: 200
-On: 2011-10-30 15:42:34.621959 Event: Terminate
-On: 2011-10-30 15:42:34.622002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:42:38.629005 ------------------
-On: 2011-10-30 15:42:38.689341 Event: try to Connect to Controller
-On: 2011-10-30 15:42:39.674828 Event: init state
-On: 2011-10-30 15:42:39.675068 Event: Register Account to SIP server
-On: 2011-10-30 15:42:39.675488 Event: 100
-On: 2011-10-30 15:42:39.675589 Event: Caller Handler Ready
-On: 2011-10-30 15:42:44.761227 Event: CALL START
-On: 2011-10-30 15:42:44.761291 Event: Make a call to: 017678038038
-On: 2011-10-30 15:42:53.878751 Event: Call Connecting
-On: 2011-10-30 15:42:53.878800 Event: 200
-On: 2011-10-30 15:42:53.881655 Event: Terminate
-On: 2011-10-30 15:42:53.881715 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:42:58.058233 ------------------
-On: 2011-10-30 15:42:58.083140 Event: try to Connect to Controller
-On: 2011-10-30 15:42:58.966712 Event: init state
-On: 2011-10-30 15:42:58.967044 Event: Register Account to SIP server
-On: 2011-10-30 15:42:58.967471 Event: 100
-On: 2011-10-30 15:42:58.967557 Event: Caller Handler Ready
-On: 2011-10-30 15:43:04.061261 Event: CALL START
-On: 2011-10-30 15:43:04.061316 Event: Make a call to: 015128040906
-On: 2011-10-30 15:43:13.496175 Event: Call Connecting
-On: 2011-10-30 15:43:13.496224 Event: 200
-On: 2011-10-30 15:43:13.500929 Event: Terminate
-On: 2011-10-30 15:43:13.500988 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:43:17.747573 ------------------
-On: 2011-10-30 15:43:17.802793 Event: try to Connect to Controller
-On: 2011-10-30 15:43:18.558440 Event: init state
-On: 2011-10-30 15:43:18.558683 Event: Register Account to SIP server
-On: 2011-10-30 15:43:18.559106 Event: 100
-On: 2011-10-30 15:43:18.559191 Event: Caller Handler Ready
-On: 2011-10-30 15:43:23.621325 Event: CALL START
-On: 2011-10-30 15:43:23.621397 Event: Make a call to: 015252423662
-On: 2011-10-30 15:43:33.352752 Event: Call Connecting
-On: 2011-10-30 15:43:33.352803 Event: 200
-On: 2011-10-30 15:43:33.357686 Event: Terminate
-On: 2011-10-30 15:43:33.357753 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:46:54.466231 ------------------
-On: 2011-10-30 15:46:54.507530 Event: try to Connect to Controller
-On: 2011-10-30 15:46:55.468879 Event: init state
-On: 2011-10-30 15:46:55.469121 Event: Register Account to SIP server
-On: 2011-10-30 15:46:55.469594 Event: 100
-On: 2011-10-30 15:46:55.469682 Event: Caller Handler Ready
-On: 2011-10-30 15:47:00.526334 Event: CALL START
-On: 2011-10-30 15:47:00.526393 Event: Make a call to: 015782677224
-On: 2011-10-30 15:47:06.575414 Event: Call Connecting
-On: 2011-10-30 15:47:06.575464 Event: 200
-On: 2011-10-30 15:47:13.570132 Event: Terminate
-On: 2011-10-30 15:47:13.570175 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:47:17.452673 ------------------
-On: 2011-10-30 15:47:17.478115 Event: try to Connect to Controller
-On: 2011-10-30 15:47:18.662518 Event: init state
-On: 2011-10-30 15:47:18.662754 Event: Register Account to SIP server
-On: 2011-10-30 15:47:18.663181 Event: 100
-On: 2011-10-30 15:47:18.663268 Event: Caller Handler Ready
-On: 2011-10-30 15:47:23.745213 Event: CALL START
-On: 2011-10-30 15:47:23.745267 Event: Make a call to: 017678038038
-On: 2011-10-30 15:47:32.657060 Event: Call Connecting
-On: 2011-10-30 15:47:32.657112 Event: 200
-On: 2011-10-30 15:47:32.661784 Event: Terminate
-On: 2011-10-30 15:47:32.661841 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:47:36.532535 ------------------
-On: 2011-10-30 15:47:36.553773 Event: try to Connect to Controller
-On: 2011-10-30 15:47:37.718904 Event: init state
-On: 2011-10-30 15:47:37.719228 Event: Register Account to SIP server
-On: 2011-10-30 15:47:37.719654 Event: 100
-On: 2011-10-30 15:47:37.719741 Event: Caller Handler Ready
-On: 2011-10-30 15:47:42.781255 Event: CALL START
-On: 2011-10-30 15:47:42.781316 Event: Make a call to: 015128040906
-On: 2011-10-30 15:47:53.777641 Event: Call Connecting
-On: 2011-10-30 15:47:53.777692 Event: 200
-On: 2011-10-30 15:47:53.781655 Event: Terminate
-On: 2011-10-30 15:47:53.781716 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:47:57.836321 ------------------
-On: 2011-10-30 15:47:57.858662 Event: try to Connect to Controller
-On: 2011-10-30 15:47:58.850406 Event: init state
-On: 2011-10-30 15:47:58.850648 Event: Register Account to SIP server
-On: 2011-10-30 15:47:58.851073 Event: 100
-On: 2011-10-30 15:47:58.851159 Event: Caller Handler Ready
-On: 2011-10-30 15:48:03.909570 Event: CALL START
-On: 2011-10-30 15:48:03.909659 Event: Make a call to: 015252423662
-On: 2011-10-30 15:48:36.957391 Event: Terminate
-On: 2011-10-30 15:48:36.957448 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:52:45.643912 ------------------
-On: 2011-10-30 15:52:45.668871 Event: try to Connect to Controller
-On: 2011-10-30 15:52:46.438563 Event: init state
-On: 2011-10-30 15:52:46.438802 Event: Register Account to SIP server
-On: 2011-10-30 15:52:46.439574 Event: 100
-On: 2011-10-30 15:52:46.439665 Event: Caller Handler Ready
-On: 2011-10-30 15:52:51.515018 Event: CALL START
-On: 2011-10-30 15:52:51.515081 Event: Make a call to: 015782677224
-On: 2011-10-30 15:52:57.825064 Event: Call Connecting
-On: 2011-10-30 15:52:57.825115 Event: 200
-On: 2011-10-30 15:53:04.573962 Event: Terminate
-On: 2011-10-30 15:53:04.574005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:53:09.367110 ------------------
-On: 2011-10-30 15:53:09.401433 Event: try to Connect to Controller
-On: 2011-10-30 15:53:09.702133 Event: init state
-On: 2011-10-30 15:53:09.702363 Event: Register Account to SIP server
-On: 2011-10-30 15:53:09.702787 Event: 100
-On: 2011-10-30 15:53:09.702876 Event: Caller Handler Ready
-On: 2011-10-30 15:53:14.833515 Event: CALL START
-On: 2011-10-30 15:53:14.833573 Event: Make a call to: 017678038038
-On: 2011-10-30 15:53:23.420999 Event: Call Connecting
-On: 2011-10-30 15:53:23.421048 Event: 200
-On: 2011-10-30 15:53:23.425649 Event: Terminate
-On: 2011-10-30 15:53:23.425708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:53:27.485825 ------------------
-On: 2011-10-30 15:53:27.534133 Event: try to Connect to Controller
-On: 2011-10-30 15:53:28.518321 Event: init state
-On: 2011-10-30 15:53:28.518572 Event: Register Account to SIP server
-On: 2011-10-30 15:53:28.518994 Event: 100
-On: 2011-10-30 15:53:28.519081 Event: Caller Handler Ready
-On: 2011-10-30 15:53:33.593288 Event: CALL START
-On: 2011-10-30 15:53:33.593357 Event: Make a call to: 015252423662
-On: 2011-10-30 15:53:44.214469 Event: Call Connecting
-On: 2011-10-30 15:53:44.214520 Event: 200
-On: 2011-10-30 15:53:44.217659 Event: Terminate
-On: 2011-10-30 15:53:44.217721 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:56:03.759364 ------------------
-On: 2011-10-30 15:56:03.780311 Event: try to Connect to Controller
-On: 2011-10-30 15:56:04.446044 Event: init state
-On: 2011-10-30 15:56:04.446284 Event: Register Account to SIP server
-On: 2011-10-30 15:56:04.447068 Event: 100
-On: 2011-10-30 15:56:04.447154 Event: Caller Handler Ready
-On: 2011-10-30 15:56:09.533130 Event: CALL START
-On: 2011-10-30 15:56:09.533190 Event: Make a call to: 015782677224
-On: 2011-10-30 15:56:16.719351 Event: Call Connecting
-On: 2011-10-30 15:56:16.719401 Event: 200
-On: 2011-10-30 15:56:22.575419 Event: Terminate
-On: 2011-10-30 15:56:22.575460 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:56:26.531220 ------------------
-On: 2011-10-30 15:56:26.555891 Event: try to Connect to Controller
-On: 2011-10-30 15:56:27.628313 Event: init state
-On: 2011-10-30 15:56:27.628552 Event: Register Account to SIP server
-On: 2011-10-30 15:56:27.629323 Event: 100
-On: 2011-10-30 15:56:27.629408 Event: Caller Handler Ready
-On: 2011-10-30 15:56:32.693250 Event: CALL START
-On: 2011-10-30 15:56:32.693308 Event: Make a call to: 017678038038
-On: 2011-10-30 15:56:42.305914 Event: Call Connecting
-On: 2011-10-30 15:56:42.305965 Event: 200
-On: 2011-10-30 15:56:42.309656 Event: Terminate
-On: 2011-10-30 15:56:42.309714 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:56:46.337027 ------------------
-On: 2011-10-30 15:56:46.379101 Event: try to Connect to Controller
-On: 2011-10-30 15:56:47.360586 Event: init state
-On: 2011-10-30 15:56:47.360905 Event: Register Account to SIP server
-On: 2011-10-30 15:56:47.361326 Event: 100
-On: 2011-10-30 15:56:47.362077 Event: Caller Handler Ready
-On: 2011-10-30 15:56:52.417506 Event: CALL START
-On: 2011-10-30 15:56:52.417573 Event: Make a call to: 015128040906
-On: 2011-10-30 15:57:02.652784 Event: Call Connecting
-On: 2011-10-30 15:57:02.652833 Event: 200
-On: 2011-10-30 15:57:02.657308 Event: Terminate
-On: 2011-10-30 15:57:02.657366 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:06:54.039891 ------------------
-On: 2011-10-30 16:06:54.060724 Event: try to Connect to Controller
-On: 2011-10-30 16:06:55.238399 Event: init state
-On: 2011-10-30 16:06:55.239685 Event: Register Account to SIP server
-On: 2011-10-30 16:06:55.240107 Event: 100
-On: 2011-10-30 16:06:55.240194 Event: Caller Handler Ready
-On: 2011-10-30 16:07:00.317267 Event: CALL START
-On: 2011-10-30 16:07:00.317322 Event: Make a call to: 015782677224
-On: 2011-10-30 16:07:06.343126 Event: Call Connecting
-On: 2011-10-30 16:07:06.343174 Event: 200
-On: 2011-10-30 16:07:13.358033 Event: Terminate
-On: 2011-10-30 16:07:13.358077 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:19:35.411204 ------------------
-On: 2011-10-30 16:19:35.436112 Event: try to Connect to Controller
-On: 2011-10-30 16:19:36.578499 Event: init state
-On: 2011-10-30 16:19:36.578741 Event: Register Account to SIP server
-On: 2011-10-30 16:19:36.579163 Event: 100
-On: 2011-10-30 16:19:36.579250 Event: Caller Handler Ready
-On: 2011-10-30 16:19:38.588972 Event: Terminate
-On: 2011-10-30 16:19:38.589013 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:19:42.482106 ------------------
-On: 2011-10-30 16:19:42.506756 Event: try to Connect to Controller
-On: 2011-10-30 16:19:43.640916 Event: init state
-On: 2011-10-30 16:19:43.641201 Event: Register Account to SIP server
-On: 2011-10-30 16:19:43.641680 Event: 100
-On: 2011-10-30 16:19:43.641767 Event: Caller Handler Ready
-On: 2011-10-30 16:19:45.650863 Event: Terminate
-On: 2011-10-30 16:19:45.650902 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:19:49.553114 ------------------
-On: 2011-10-30 16:19:49.577949 Event: try to Connect to Controller
-On: 2011-10-30 16:19:50.702532 Event: init state
-On: 2011-10-30 16:19:50.702765 Event: Register Account to SIP server
-On: 2011-10-30 16:19:50.703180 Event: 100
-On: 2011-10-30 16:19:50.703268 Event: Caller Handler Ready
-On: 2011-10-30 16:19:52.714081 Event: Terminate
-On: 2011-10-30 16:19:52.714124 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:19:56.622946 ------------------
-On: 2011-10-30 16:19:56.643684 Event: try to Connect to Controller
-On: 2011-10-30 16:19:57.766480 Event: init state
-On: 2011-10-30 16:19:57.766713 Event: Register Account to SIP server
-On: 2011-10-30 16:19:57.767132 Event: 100
-On: 2011-10-30 16:19:57.767218 Event: Caller Handler Ready
-On: 2011-10-30 16:19:59.775259 Event: Terminate
-On: 2011-10-30 16:19:59.775298 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:20:03.797014 ------------------
-On: 2011-10-30 16:20:03.817652 Event: try to Connect to Controller
-On: 2011-10-30 16:20:04.818545 Event: init state
-On: 2011-10-30 16:20:04.818771 Event: Register Account to SIP server
-On: 2011-10-30 16:20:04.819189 Event: 100
-On: 2011-10-30 16:20:04.819276 Event: Caller Handler Ready
-On: 2011-10-30 16:20:12.835198 Event: Terminate
-On: 2011-10-30 16:20:12.835245 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:20:38.372807 ------------------
-On: 2011-10-30 16:20:38.415033 Event: try to Connect to Controller
-On: 2011-10-30 16:20:39.430490 Event: init state
-On: 2011-10-30 16:20:39.430725 Event: Register Account to SIP server
-On: 2011-10-30 16:20:39.431217 Event: 100
-On: 2011-10-30 16:20:39.431307 Event: Receiver Handler Ready
-On: 2011-10-30 16:20:39.431848 Event: RECEIVE START
-On: 2011-10-30 16:20:41.595059 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-30 16:20:41.595569 Event: Call Connecting
-On: 2011-10-30 16:20:41.595631 Event: 200
-On: 2011-10-30 16:20:41.595876 Event: Answer call
-On: 2011-10-30 16:20:41.595928 Event: Hangup call
-On: 2011-10-30 16:20:41.596106 Event: CALL OK
-On: 2011-10-30 16:20:41.646814 Event: Call Disconnected
-On: 2011-10-30 16:20:42.695822 Event: Terminate
-On: 2011-10-30 16:20:42.695869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:50:47.359858 ------------------
-On: 2011-10-30 19:50:47.380114 Event: try to Connect to Controller
-On: 2011-10-30 19:50:48.562469 Event: init state
-On: 2011-10-30 19:50:48.562705 Event: Register Account to SIP server
-On: 2011-10-30 19:50:48.563471 Event: 100
-On: 2011-10-30 19:50:48.563552 Event: Caller Handler Ready
-On: 2011-10-30 19:50:53.689133 Event: CALL START
-On: 2011-10-30 19:50:53.689186 Event: Make a call to: 015782677224
-On: 2011-10-30 19:50:59.970476 Event: Call Connecting
-On: 2011-10-30 19:50:59.970522 Event: 200
-On: 2011-10-30 19:51:00.686910 Event: Terminate
-On: 2011-10-30 19:51:00.686956 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:51:04.565981 ------------------
-On: 2011-10-30 19:51:04.586213 Event: try to Connect to Controller
-On: 2011-10-30 19:51:05.734481 Event: init state
-On: 2011-10-30 19:51:05.734714 Event: Register Account to SIP server
-On: 2011-10-30 19:51:05.735112 Event: 100
-On: 2011-10-30 19:51:05.735193 Event: Caller Handler Ready
-On: 2011-10-30 19:51:10.861117 Event: CALL START
-On: 2011-10-30 19:51:10.861170 Event: Make a call to: 017678038038
-On: 2011-10-30 19:51:19.840088 Event: Call Connecting
-On: 2011-10-30 19:51:19.840133 Event: 200
-On: 2011-10-30 19:51:19.840758 Event: Terminate
-On: 2011-10-30 19:51:19.840793 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:51:23.749205 ------------------
-On: 2011-10-30 19:51:23.769844 Event: try to Connect to Controller
-On: 2011-10-30 19:51:24.889568 Event: init state
-On: 2011-10-30 19:51:24.889843 Event: Register Account to SIP server
-On: 2011-10-30 19:51:24.890609 Event: 100
-On: 2011-10-30 19:51:24.890693 Event: Caller Handler Ready
-On: 2011-10-30 19:51:30.021158 Event: CALL START
-On: 2011-10-30 19:51:30.021212 Event: Make a call to: 015128040906
-On: 2011-10-30 19:51:57.018855 Event: Terminate
-On: 2011-10-30 19:51:57.018900 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:52:00.939997 ------------------
-On: 2011-10-30 19:52:00.960456 Event: try to Connect to Controller
-On: 2011-10-30 19:52:02.061888 Event: init state
-On: 2011-10-30 19:52:02.062120 Event: Register Account to SIP server
-On: 2011-10-30 19:52:02.062520 Event: 100
-On: 2011-10-30 19:52:02.062599 Event: Caller Handler Ready
-On: 2011-10-30 19:52:10.077788 Event: Terminate
-On: 2011-10-30 19:52:10.077841 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:52:14.021807 ------------------
-On: 2011-10-30 19:52:14.042162 Event: try to Connect to Controller
-On: 2011-10-30 19:52:15.134495 Event: init state
-On: 2011-10-30 19:52:15.134728 Event: Register Account to SIP server
-On: 2011-10-30 19:52:15.135127 Event: 100
-On: 2011-10-30 19:52:15.135207 Event: Caller Handler Ready
-On: 2011-10-30 19:52:20.142922 Event: CALL START
-On: 2011-10-30 19:52:20.142977 Event: Make a call to: 076145875681
-On: 2011-10-30 19:52:23.823962 Event: Call Connecting
-On: 2011-10-30 19:52:23.824006 Event: 200
-On: 2011-10-30 19:52:23.825050 Event: Terminate
-On: 2011-10-30 19:52:23.825089 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:03:12.395137 ------------------
-On: 2011-10-30 20:03:12.415673 Event: try to Connect to Controller
-On: 2011-10-30 20:03:13.398466 Event: init state
-On: 2011-10-30 20:03:13.398702 Event: Register Account to SIP server
-On: 2011-10-30 20:03:13.399111 Event: 100
-On: 2011-10-30 20:03:13.399194 Event: Caller Handler Ready
-On: 2011-10-30 20:03:18.501137 Event: CALL START
-On: 2011-10-30 20:03:18.501194 Event: Make a call to: 015782677224
-On: 2011-10-30 20:03:24.749621 Event: Call Connecting
-On: 2011-10-30 20:03:24.749669 Event: 200
-On: 2011-10-30 20:03:25.498694 Event: Terminate
-On: 2011-10-30 20:03:25.498735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:03:29.581283 ------------------
-On: 2011-10-30 20:03:29.602255 Event: try to Connect to Controller
-On: 2011-10-30 20:03:30.546470 Event: init state
-On: 2011-10-30 20:03:30.546704 Event: Register Account to SIP server
-On: 2011-10-30 20:03:30.547113 Event: 100
-On: 2011-10-30 20:03:30.547197 Event: Caller Handler Ready
-On: 2011-10-30 20:03:35.677122 Event: CALL START
-On: 2011-10-30 20:03:35.677174 Event: Make a call to: 015128040906
-On: 2011-10-30 20:04:02.674812 Event: Terminate
-On: 2011-10-30 20:04:02.674858 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:04:06.788252 ------------------
-On: 2011-10-30 20:04:06.808846 Event: try to Connect to Controller
-On: 2011-10-30 20:04:07.723471 Event: init state
-On: 2011-10-30 20:04:07.723590 Event: Register Account to SIP server
-On: 2011-10-30 20:04:07.723996 Event: 100
-On: 2011-10-30 20:04:07.731937 Event: Caller Handler Ready
-On: 2011-10-30 20:04:12.862433 Event: CALL START
-On: 2011-10-30 20:04:12.862486 Event: Make a call to: 015252423662
-On: 2011-10-30 20:04:39.862963 Event: Terminate
-On: 2011-10-30 20:04:39.863010 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:04:44.018562 ------------------
-On: 2011-10-30 20:04:44.039015 Event: try to Connect to Controller
-On: 2011-10-30 20:04:44.914460 Event: init state
-On: 2011-10-30 20:04:44.914576 Event: Register Account to SIP server
-On: 2011-10-30 20:04:44.914988 Event: 100
-On: 2011-10-30 20:04:44.921559 Event: Caller Handler Ready
-On: 2011-10-30 20:04:52.928248 Event: Terminate
-On: 2011-10-30 20:04:52.928303 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:04:57.086732 ------------------
-On: 2011-10-30 20:04:57.107355 Event: try to Connect to Controller
-On: 2011-10-30 20:04:57.982318 Event: init state
-On: 2011-10-30 20:04:57.982439 Event: Register Account to SIP server
-On: 2011-10-30 20:04:57.982840 Event: 100
-On: 2011-10-30 20:04:57.985718 Event: Caller Handler Ready
-On: 2011-10-30 20:05:02.988360 Event: CALL START
-On: 2011-10-30 20:05:02.988418 Event: Make a call to: 076120397898
-On: 2011-10-30 20:05:03.049190 Event: Call Connecting
-On: 2011-10-30 20:05:03.049239 Event: 200
-On: 2011-10-30 20:05:03.049839 Event: Terminate
-On: 2011-10-30 20:05:03.049892 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:22:24.210831 ------------------
-On: 2011-10-30 20:22:24.231055 Event: try to Connect to Controller
-On: 2011-10-30 20:22:24.947642 Event: init state
-On: 2011-10-30 20:22:24.947761 Event: Register Account to SIP server
-On: 2011-10-30 20:22:24.948181 Event: 100
-On: 2011-10-30 20:22:24.950751 Event: Caller Handler Ready
-On: 2011-10-30 20:22:30.077134 Event: CALL START
-On: 2011-10-30 20:22:30.077192 Event: Make a call to: 017678038038
-On: 2011-10-30 20:22:55.150895 Event: Call Connecting
-On: 2011-10-30 20:22:55.150943 Event: 200
-On: 2011-10-30 20:22:55.151337 Event: Terminate
-On: 2011-10-30 20:22:55.151378 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:22:59.490591 ------------------
-On: 2011-10-30 20:22:59.510924 Event: try to Connect to Controller
-On: 2011-10-30 20:23:00.201258 Event: init state
-On: 2011-10-30 20:23:00.201377 Event: Register Account to SIP server
-On: 2011-10-30 20:23:00.202055 Event: 100
-On: 2011-10-30 20:23:00.209537 Event: Caller Handler Ready
-On: 2011-10-30 20:23:05.329129 Event: CALL START
-On: 2011-10-30 20:23:05.329183 Event: Make a call to: 015128040906
-On: 2011-10-30 20:23:32.110538 Event: Call Connecting
-On: 2011-10-30 20:23:32.110584 Event: 200
-On: 2011-10-30 20:23:32.110999 Event: Terminate
-On: 2011-10-30 20:23:32.111039 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:23:36.491148 ------------------
-On: 2011-10-30 20:23:36.511614 Event: try to Connect to Controller
-On: 2011-10-30 20:23:37.160880 Event: init state
-On: 2011-10-30 20:23:37.160999 Event: Register Account to SIP server
-On: 2011-10-30 20:23:37.161401 Event: 100
-On: 2011-10-30 20:23:37.164024 Event: Caller Handler Ready
-On: 2011-10-30 20:23:42.291373 Event: CALL START
-On: 2011-10-30 20:23:42.291428 Event: Make a call to: 015252423662
-On: 2011-10-30 20:24:09.290853 Event: Terminate
-On: 2011-10-30 20:24:09.290899 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:24:13.714319 ------------------
-On: 2011-10-30 20:24:13.734439 Event: try to Connect to Controller
-On: 2011-10-30 20:24:14.346258 Event: init state
-On: 2011-10-30 20:24:14.346503 Event: Register Account to SIP server
-On: 2011-10-30 20:24:14.346911 Event: 100
-On: 2011-10-30 20:24:14.346993 Event: Caller Handler Ready
-On: 2011-10-30 20:24:22.360421 Event: Terminate
-On: 2011-10-30 20:24:22.360475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:24:26.889404 ------------------
-On: 2011-10-30 20:24:26.909764 Event: try to Connect to Controller
-On: 2011-10-30 20:24:27.405851 Event: init state
-On: 2011-10-30 20:24:27.405971 Event: Register Account to SIP server
-On: 2011-10-30 20:24:27.406371 Event: 100
-On: 2011-10-30 20:24:27.408494 Event: Caller Handler Ready
-On: 2011-10-30 20:24:32.411819 Event: CALL START
-On: 2011-10-30 20:24:32.411877 Event: Make a call to: 076120397898
-On: 2011-10-30 20:24:32.444601 Event: Call Connecting
-On: 2011-10-30 20:24:32.444648 Event: 200
-On: 2011-10-30 20:24:32.445028 Event: Terminate
-On: 2011-10-30 20:24:32.445063 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 12:55:48.084652 ------------------
-On: 2011-10-31 12:55:48.104723 Event: try to Connect to Controller
-On: 2011-10-31 12:55:49.142852 Event: init state
-On: 2011-10-31 12:55:49.143092 Event: Register Account to SIP server
-On: 2011-10-31 12:55:49.143512 Event: 100
-On: 2011-10-31 12:55:49.143599 Event: Caller Handler Ready
-On: 2011-10-31 12:55:54.313298 Event: CALL START
-On: 2011-10-31 12:55:54.313368 Event: Make a call to: 07612034661449
-On: 2011-10-31 12:55:56.877600 Event: Call Connecting
-On: 2011-10-31 12:55:56.877684 Event: 200
-On: 2011-10-31 12:55:56.947380 Event: Terminate
-On: 2011-10-31 12:55:56.947414 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:21:46.592088 ------------------
-On: 2011-10-31 13:21:46.616286 Event: try to Connect to Controller
-On: 2011-10-31 13:21:47.725966 Event: init state
-On: 2011-10-31 13:21:47.726198 Event: Register Account to SIP server
-On: 2011-10-31 13:21:47.726613 Event: 100
-On: 2011-10-31 13:21:47.726692 Event: Caller Handler Ready
-On: 2011-10-31 13:21:52.896077 Event: CALL START
-On: 2011-10-31 13:21:52.896149 Event: Make a call to: 017678038038
-On: 2011-10-31 13:22:17.600175 Event: Call Connecting
-On: 2011-10-31 13:22:17.600224 Event: 200
-On: 2011-10-31 13:22:17.601488 Event: Terminate
-On: 2011-10-31 13:22:17.601521 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:22:21.681585 ------------------
-On: 2011-10-31 13:22:21.702509 Event: try to Connect to Controller
-On: 2011-10-31 13:22:22.678744 Event: init state
-On: 2011-10-31 13:22:22.679044 Event: Register Account to SIP server
-On: 2011-10-31 13:22:22.679823 Event: 100
-On: 2011-10-31 13:22:22.679908 Event: Caller Handler Ready
-On: 2011-10-31 13:22:27.842822 Event: CALL START
-On: 2011-10-31 13:22:27.842879 Event: Make a call to: 015128040906
-On: 2011-10-31 13:22:54.843150 Event: Terminate
-On: 2011-10-31 13:22:54.843184 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:22:58.803411 ------------------
-On: 2011-10-31 13:22:58.827850 Event: try to Connect to Controller
-On: 2011-10-31 13:22:59.921834 Event: init state
-On: 2011-10-31 13:22:59.922069 Event: Register Account to SIP server
-On: 2011-10-31 13:22:59.922498 Event: 100
-On: 2011-10-31 13:22:59.922585 Event: Caller Handler Ready
-On: 2011-10-31 13:23:05.101296 Event: CALL START
-On: 2011-10-31 13:23:05.101353 Event: Make a call to: 015252423662
-On: 2011-10-31 13:23:14.511999 Event: Call Connecting
-On: 2011-10-31 13:23:14.512047 Event: 200
-On: 2011-10-31 13:23:14.516678 Event: Terminate
-On: 2011-10-31 13:23:14.516736 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:30:53.400043 ------------------
-On: 2011-10-31 13:30:53.424105 Event: try to Connect to Controller
-On: 2011-10-31 13:30:54.553660 Event: init state
-On: 2011-10-31 13:30:54.553972 Event: Register Account to SIP server
-On: 2011-10-31 13:30:54.554405 Event: 100
-On: 2011-10-31 13:30:54.554492 Event: Caller Handler Ready
-On: 2011-10-31 13:30:59.653375 Event: CALL START
-On: 2011-10-31 13:30:59.653431 Event: Make a call to: 015782677224
-On: 2011-10-31 13:31:06.442454 Event: Call Connecting
-On: 2011-10-31 13:31:06.442504 Event: 200
-On: 2011-10-31 13:31:06.651198 Event: Terminate
-On: 2011-10-31 13:31:06.651239 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:31:10.703708 ------------------
-On: 2011-10-31 13:31:10.727686 Event: try to Connect to Controller
-On: 2011-10-31 13:31:11.703192 Event: init state
-On: 2011-10-31 13:31:11.703489 Event: Register Account to SIP server
-On: 2011-10-31 13:31:11.703907 Event: 100
-On: 2011-10-31 13:31:11.703996 Event: Caller Handler Ready
-On: 2011-10-31 13:31:16.812949 Event: CALL START
-On: 2011-10-31 13:31:16.813007 Event: Make a call to: 017678038038
-On: 2011-10-31 13:31:42.187499 Event: Call Connecting
-On: 2011-10-31 13:31:42.187554 Event: 200
-On: 2011-10-31 13:31:42.188539 Event: Terminate
-On: 2011-10-31 13:31:42.188589 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:31:46.148102 ------------------
-On: 2011-10-31 13:31:46.168964 Event: try to Connect to Controller
-On: 2011-10-31 13:31:47.265982 Event: init state
-On: 2011-10-31 13:31:47.266223 Event: Register Account to SIP server
-On: 2011-10-31 13:31:47.266645 Event: 100
-On: 2011-10-31 13:31:47.266728 Event: Caller Handler Ready
-On: 2011-10-31 13:31:52.397396 Event: CALL START
-On: 2011-10-31 13:31:52.397464 Event: Make a call to: 015128040906
-On: 2011-10-31 13:32:19.395183 Event: Terminate
-On: 2011-10-31 13:32:19.395219 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:37:57.793311 ------------------
-On: 2011-10-31 13:37:57.817981 Event: try to Connect to Controller
-On: 2011-10-31 13:37:59.009174 Event: init state
-On: 2011-10-31 13:37:59.009417 Event: Register Account to SIP server
-On: 2011-10-31 13:37:59.010255 Event: 100
-On: 2011-10-31 13:37:59.010343 Event: Caller Handler Ready
-On: 2011-10-31 13:38:04.153357 Event: CALL START
-On: 2011-10-31 13:38:04.153418 Event: Make a call to: 017678038038
-On: 2011-10-31 13:38:14.740969 Event: Call Connecting
-On: 2011-10-31 13:38:14.741019 Event: 200
-On: 2011-10-31 13:38:14.745661 Event: Terminate
-On: 2011-10-31 13:38:14.745720 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:38:18.740075 ------------------
-On: 2011-10-31 13:38:18.764561 Event: try to Connect to Controller
-On: 2011-10-31 13:38:19.798209 Event: init state
-On: 2011-10-31 13:38:19.798445 Event: Register Account to SIP server
-On: 2011-10-31 13:38:19.799232 Event: 100
-On: 2011-10-31 13:38:19.799319 Event: Caller Handler Ready
-On: 2011-10-31 13:38:24.933365 Event: CALL START
-On: 2011-10-31 13:38:24.933428 Event: Make a call to: 015128040906
-On: 2011-10-31 13:38:39.164363 Event: Call Connecting
-On: 2011-10-31 13:38:39.164412 Event: 200
-On: 2011-10-31 13:38:39.168771 Event: Terminate
-On: 2011-10-31 13:38:39.168824 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:38:43.087883 ------------------
-On: 2011-10-31 13:38:43.112398 Event: try to Connect to Controller
-On: 2011-10-31 13:38:44.218150 Event: init state
-On: 2011-10-31 13:38:44.218383 Event: Register Account to SIP server
-On: 2011-10-31 13:38:44.218808 Event: 100
-On: 2011-10-31 13:38:44.218894 Event: Caller Handler Ready
-On: 2011-10-31 13:38:49.349296 Event: CALL START
-On: 2011-10-31 13:38:49.349355 Event: Make a call to: 015252423662
-On: 2011-10-31 13:38:59.263951 Event: Call Connecting
-On: 2011-10-31 13:38:59.264001 Event: 200
-On: 2011-10-31 13:38:59.267522 Event: Terminate
-On: 2011-10-31 13:38:59.267582 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:39:03.302968 ------------------
-On: 2011-10-31 13:39:03.327290 Event: try to Connect to Controller
-On: 2011-10-31 13:39:04.342742 Event: init state
-On: 2011-10-31 13:39:04.342983 Event: Register Account to SIP server
-On: 2011-10-31 13:39:04.343406 Event: 100
-On: 2011-10-31 13:39:04.343491 Event: Caller Handler Ready
-On: 2011-10-31 13:39:15.548558 Event: CALL START
-On: 2011-10-31 13:39:15.548620 Event: Make a call to: 07612034661473
-On: 2011-10-31 13:39:17.907581 Event: Call Connecting
-On: 2011-10-31 13:39:17.907630 Event: 200
-On: 2011-10-31 13:39:17.998196 Event: Terminate
-On: 2011-10-31 13:39:17.998231 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:39:22.189351 ------------------
-On: 2011-10-31 13:39:22.240975 Event: try to Connect to Controller
-On: 2011-10-31 13:39:23.054783 Event: init state
-On: 2011-10-31 13:39:23.055021 Event: Register Account to SIP server
-On: 2011-10-31 13:39:23.055444 Event: 100
-On: 2011-10-31 13:39:23.055530 Event: Caller Handler Ready
-On: 2011-10-31 13:39:34.299482 Event: CALL START
-On: 2011-10-31 13:39:34.299546 Event: Make a call to: 07612034661455
-On: 2011-10-31 13:39:36.309866 Event: Call Connecting
-On: 2011-10-31 13:39:36.309915 Event: 200
-On: 2011-10-31 13:39:36.356293 Event: Terminate
-On: 2011-10-31 13:39:36.356328 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:51:13.562363 ------------------
-On: 2011-10-31 13:51:13.583104 Event: try to Connect to Controller
-On: 2011-10-31 13:51:14.781060 Event: init state
-On: 2011-10-31 13:51:14.781293 Event: Register Account to SIP server
-On: 2011-10-31 13:51:14.782141 Event: 100
-On: 2011-10-31 13:51:14.782228 Event: Receiver Handler Ready
-On: 2011-10-31 13:51:14.782640 Event: RECEIVE START
-On: 2011-10-31 13:51:16.554509 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-31 13:51:16.555012 Event: Call Connecting
-On: 2011-10-31 13:51:16.555051 Event: 200
-On: 2011-10-31 13:51:16.555313 Event: Answer call
-On: 2011-10-31 13:51:16.555367 Event: Hangup call
-On: 2011-10-31 13:51:16.555543 Event: CALL OK
-On: 2011-10-31 13:51:16.606181 Event: Call Disconnected
-On: 2011-10-31 13:51:17.953469 Event: Terminate
-On: 2011-10-31 13:51:17.953506 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:51:23.962935 ------------------
-On: 2011-10-31 13:51:23.983237 Event: try to Connect to Controller
-On: 2011-10-31 13:51:25.153910 Event: init state
-On: 2011-10-31 13:51:25.154147 Event: Register Account to SIP server
-On: 2011-10-31 13:51:25.154569 Event: 100
-On: 2011-10-31 13:51:25.154648 Event: Receiver Handler Ready
-On: 2011-10-31 13:51:25.157709 Event: RECEIVE START
-On: 2011-10-31 13:51:26.493849 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-31 13:51:26.494359 Event: Call Connecting
-On: 2011-10-31 13:51:26.494399 Event: 200
-On: 2011-10-31 13:51:26.494661 Event: Answer call
-On: 2011-10-31 13:51:26.494714 Event: Hangup call
-On: 2011-10-31 13:51:26.494890 Event: CALL OK
-On: 2011-10-31 13:51:26.545578 Event: Call Disconnected
-On: 2011-10-31 13:51:27.832381 Event: Terminate
-On: 2011-10-31 13:51:27.832418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:51:31.694598 ------------------
-On: 2011-10-31 13:51:31.718913 Event: try to Connect to Controller
-On: 2011-10-31 13:51:32.882689 Event: init state
-On: 2011-10-31 13:51:32.882924 Event: Register Account to SIP server
-On: 2011-10-31 13:51:32.883349 Event: 100
-On: 2011-10-31 13:51:32.883431 Event: Caller Handler Ready
-On: 2011-10-31 13:51:44.119030 Event: CALL START
-On: 2011-10-31 13:51:44.119097 Event: Make a call to: 07612034661455
-On: 2011-10-31 13:51:46.014330 Event: Call Connecting
-On: 2011-10-31 13:51:46.014379 Event: 200
-On: 2011-10-31 13:51:46.076115 Event: Terminate
-On: 2011-10-31 13:51:46.076149 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:51:49.935437 ------------------
-On: 2011-10-31 13:51:49.959937 Event: try to Connect to Controller
-On: 2011-10-31 13:51:51.124991 Event: init state
-On: 2011-10-31 13:51:51.125222 Event: Register Account to SIP server
-On: 2011-10-31 13:51:51.125692 Event: 100
-On: 2011-10-31 13:51:51.125776 Event: Caller Handler Ready
-On: 2011-10-31 13:52:02.351597 Event: CALL START
-On: 2011-10-31 13:52:02.351666 Event: Make a call to: 07612034661473
-On: 2011-10-31 13:52:04.151351 Event: Call Connecting
-On: 2011-10-31 13:52:04.151399 Event: 200
-On: 2011-10-31 13:52:04.189740 Event: Terminate
-On: 2011-10-31 13:52:04.189776 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:08.058930 ------------------
-On: 2011-10-31 13:52:08.079298 Event: try to Connect to Controller
-On: 2011-10-31 13:52:09.260132 Event: init state
-On: 2011-10-31 13:52:09.260376 Event: Register Account to SIP server
-On: 2011-10-31 13:52:09.261157 Event: 100
-On: 2011-10-31 13:52:09.261244 Event: Caller Handler Ready
-On: 2011-10-31 13:52:14.407945 Event: CALL START
-On: 2011-10-31 13:52:14.408000 Event: Make a call to: 07612034661449
-On: 2011-10-31 13:52:17.096026 Event: Call Connecting
-On: 2011-10-31 13:52:17.096075 Event: 200
-On: 2011-10-31 13:52:17.150181 Event: Terminate
-On: 2011-10-31 13:52:17.150217 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:29.233216 ------------------
-On: 2011-10-31 13:52:29.257852 Event: try to Connect to Controller
-On: 2011-10-31 13:52:30.407240 Event: init state
-On: 2011-10-31 13:52:30.407469 Event: Register Account to SIP server
-On: 2011-10-31 13:52:30.407890 Event: 100
-On: 2011-10-31 13:52:30.407973 Event: Receiver Handler Ready
-On: 2011-10-31 13:52:30.408227 Event: RECEIVE START
-On: 2011-10-31 13:52:32.331998 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-10-31 13:52:32.332500 Event: Call Connecting
-On: 2011-10-31 13:52:32.332538 Event: 200
-On: 2011-10-31 13:52:32.332789 Event: Answer call
-On: 2011-10-31 13:52:32.332841 Event: Hangup call
-On: 2011-10-31 13:52:32.333018 Event: CALL OK
-On: 2011-10-31 13:52:32.383715 Event: Call Disconnected
-On: 2011-10-31 13:52:33.687526 Event: Terminate
-On: 2011-10-31 13:52:33.687570 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:37.606367 ------------------
-On: 2011-10-31 13:52:37.630952 Event: try to Connect to Controller
-On: 2011-10-31 13:52:38.812696 Event: init state
-On: 2011-10-31 13:52:38.812927 Event: Register Account to SIP server
-On: 2011-10-31 13:52:38.813767 Event: 100
-On: 2011-10-31 13:52:38.813855 Event: Caller Handler Ready
-On: 2011-10-31 13:52:43.824500 Event: CALL START
-On: 2011-10-31 13:52:43.824556 Event: Make a call to: 076145875681
-On: 2011-10-31 13:52:49.058427 Event: Call Connecting
-On: 2011-10-31 13:52:49.058475 Event: 200
-On: 2011-10-31 13:52:49.060075 Event: Terminate
-On: 2011-10-31 13:52:49.060125 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:52.934612 ------------------
-On: 2011-10-31 13:52:52.955178 Event: try to Connect to Controller
-On: 2011-10-31 13:52:54.121690 Event: init state
-On: 2011-10-31 13:52:54.121938 Event: Register Account to SIP server
-On: 2011-10-31 13:52:54.122363 Event: 100
-On: 2011-10-31 13:52:54.122451 Event: Caller Handler Ready
-On: 2011-10-31 13:52:59.129678 Event: CALL START
-On: 2011-10-31 13:52:59.129739 Event: Make a call to: 076120397898
-On: 2011-10-31 13:52:59.204011 Event: Call Connecting
-On: 2011-10-31 13:52:59.204060 Event: 200
-On: 2011-10-31 13:52:59.205153 Event: Terminate
-On: 2011-10-31 13:52:59.205188 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:54:09.848993 ------------------
-On: 2011-10-31 13:54:09.874535 Event: try to Connect to Controller
-On: 2011-10-31 13:54:11.030693 Event: init state
-On: 2011-10-31 13:54:11.030919 Event: Register Account to SIP server
-On: 2011-10-31 13:54:11.031667 Event: 100
-On: 2011-10-31 13:54:11.031753 Event: Receiver Handler Ready
-On: 2011-10-31 13:54:11.032119 Event: RECEIVE START
-On: 2011-10-31 13:54:16.642927 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-10-31 13:54:16.643438 Event: Call Connecting
-On: 2011-10-31 13:54:16.643479 Event: 200
-On: 2011-10-31 13:54:16.643848 Event: Answer call
-On: 2011-10-31 13:54:16.643915 Event: Hangup call
-On: 2011-10-31 13:54:16.644092 Event: CALL OK
-On: 2011-10-31 13:54:16.694961 Event: Call Disconnected
-On: 2011-10-31 13:54:17.258702 Event: Terminate
-On: 2011-10-31 13:54:17.258736 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:00:59.112744 ------------------
-On: 2011-10-31 14:00:59.133415 Event: try to Connect to Controller
-On: 2011-10-31 14:01:00.072920 Event: init state
-On: 2011-10-31 14:01:00.073160 Event: Register Account to SIP server
-On: 2011-10-31 14:01:00.073576 Event: 100
-On: 2011-10-31 14:01:00.073695 Event: Caller Handler Ready
-On: 2011-10-31 14:01:05.201556 Event: CALL START
-On: 2011-10-31 14:01:05.201631 Event: Make a call to: 015782677224
-On: 2011-10-31 14:01:11.386691 Event: Call Connecting
-On: 2011-10-31 14:01:11.386739 Event: 200
-On: 2011-10-31 14:01:17.199173 Event: Terminate
-On: 2011-10-31 14:01:17.199208 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:01:21.216598 ------------------
-On: 2011-10-31 14:01:21.237012 Event: try to Connect to Controller
-On: 2011-10-31 14:01:22.264031 Event: init state
-On: 2011-10-31 14:01:22.264299 Event: Register Account to SIP server
-On: 2011-10-31 14:01:22.264714 Event: 100
-On: 2011-10-31 14:01:22.264792 Event: Caller Handler Ready
-On: 2011-10-31 14:01:27.469644 Event: CALL START
-On: 2011-10-31 14:01:27.469701 Event: Make a call to: 015252423662
-On: 2011-10-31 14:01:37.643726 Event: Call Connecting
-On: 2011-10-31 14:01:37.643776 Event: 200
-On: 2011-10-31 14:01:37.648531 Event: Terminate
-On: 2011-10-31 14:01:37.648590 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:01:42.420212 ------------------
-On: 2011-10-31 14:01:42.468639 Event: try to Connect to Controller
-On: 2011-10-31 14:01:42.753431 Event: init state
-On: 2011-10-31 14:01:42.753706 Event: Register Account to SIP server
-On: 2011-10-31 14:01:42.754135 Event: 100
-On: 2011-10-31 14:01:42.754222 Event: Caller Handler Ready
-On: 2011-10-31 14:01:47.916763 Event: CALL START
-On: 2011-10-31 14:01:47.916822 Event: Make a call to: 015128040906
-On: 2011-10-31 14:01:59.184346 Event: Call Connecting
-On: 2011-10-31 14:01:59.184396 Event: 200
-On: 2011-10-31 14:01:59.189030 Event: Terminate
-On: 2011-10-31 14:01:59.189087 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:02:03.164363 ------------------
-On: 2011-10-31 14:02:03.188707 Event: try to Connect to Controller
-On: 2011-10-31 14:02:04.247316 Event: init state
-On: 2011-10-31 14:02:04.247551 Event: Register Account to SIP server
-On: 2011-10-31 14:02:04.247974 Event: 100
-On: 2011-10-31 14:02:04.248058 Event: Caller Handler Ready
-On: 2011-10-31 14:02:09.373293 Event: CALL START
-On: 2011-10-31 14:02:09.373354 Event: Make a call to: 017678038038
-On: 2011-10-31 14:02:18.874844 Event: Call Connecting
-On: 2011-10-31 14:02:18.874893 Event: 200
-On: 2011-10-31 14:02:18.877793 Event: Terminate
-On: 2011-10-31 14:02:18.877851 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:22:57.248885 ------------------
-On: 2011-10-31 15:22:57.274458 Event: try to Connect to Controller
-On: 2011-10-31 15:22:58.288805 Event: init state
-On: 2011-10-31 15:22:58.289046 Event: Register Account to SIP server
-On: 2011-10-31 15:22:58.289473 Event: 100
-On: 2011-10-31 15:22:58.289558 Event: Caller Handler Ready
-On: 2011-10-31 15:23:03.421338 Event: CALL START
-On: 2011-10-31 15:23:03.421398 Event: Make a call to: 015782677224
-On: 2011-10-31 15:23:09.991523 Event: Call Connecting
-On: 2011-10-31 15:23:09.991572 Event: 200
-On: 2011-10-31 15:23:15.419209 Event: Terminate
-On: 2011-10-31 15:23:15.419252 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:23:19.351558 ------------------
-On: 2011-10-31 15:23:19.382180 Event: try to Connect to Controller
-On: 2011-10-31 15:23:20.478539 Event: init state
-On: 2011-10-31 15:23:20.478770 Event: Register Account to SIP server
-On: 2011-10-31 15:23:20.479187 Event: 100
-On: 2011-10-31 15:23:20.479268 Event: Caller Handler Ready
-On: 2011-10-31 15:23:25.617311 Event: CALL START
-On: 2011-10-31 15:23:25.617368 Event: Make a call to: 015128040906
-On: 2011-10-31 15:23:36.635446 Event: Call Connecting
-On: 2011-10-31 15:23:36.635495 Event: 200
-On: 2011-10-31 15:23:36.640152 Event: Terminate
-On: 2011-10-31 15:23:36.640210 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:23:40.754464 ------------------
-On: 2011-10-31 15:23:40.818069 Event: try to Connect to Controller
-On: 2011-10-31 15:23:41.691587 Event: init state
-On: 2011-10-31 15:23:41.691824 Event: Register Account to SIP server
-On: 2011-10-31 15:23:41.692250 Event: 100
-On: 2011-10-31 15:23:41.692336 Event: Caller Handler Ready
-On: 2011-10-31 15:23:46.798499 Event: CALL START
-On: 2011-10-31 15:23:46.798560 Event: Make a call to: 015252423662
-On: 2011-10-31 15:23:56.407295 Event: Call Connecting
-On: 2011-10-31 15:23:56.407344 Event: 200
-On: 2011-10-31 15:23:56.409793 Event: Terminate
-On: 2011-10-31 15:23:56.409852 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:11:08.015971 ------------------
-On: 2011-10-31 16:11:08.036416 Event: try to Connect to Controller
-On: 2011-10-31 16:11:09.323506 Event: init state
-On: 2011-10-31 16:11:09.323726 Event: Register Account to SIP server
-On: 2011-10-31 16:11:09.324487 Event: 100
-On: 2011-10-31 16:11:09.324565 Event: Receiver Handler Ready
-On: 2011-10-31 16:11:09.329948 Event: RECEIVE START
-On: 2011-10-31 16:11:10.595056 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-31 16:11:10.595548 Event: Call Connecting
-On: 2011-10-31 16:11:10.595584 Event: 200
-On: 2011-10-31 16:11:10.595825 Event: Answer call
-On: 2011-10-31 16:11:10.595875 Event: Hangup call
-On: 2011-10-31 16:11:10.596044 Event: CALL OK
-On: 2011-10-31 16:11:10.646723 Event: Call Disconnected
-On: 2011-10-31 16:11:11.826554 Event: Terminate
-On: 2011-10-31 16:11:11.826589 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:12:44.762138 ------------------
-On: 2011-10-31 16:12:44.782626 Event: try to Connect to Controller
-On: 2011-10-31 16:12:46.079917 Event: init state
-On: 2011-10-31 16:12:46.080150 Event: Register Account to SIP server
-On: 2011-10-31 16:12:46.080929 Event: 100
-On: 2011-10-31 16:12:46.081007 Event: Caller Handler Ready
-On: 2011-10-31 16:12:51.209294 Event: CALL START
-On: 2011-10-31 16:12:51.209342 Event: Make a call to: 07612034661449
-On: 2011-10-31 16:12:53.735058 Event: Call Connecting
-On: 2011-10-31 16:12:53.735102 Event: 200
-On: 2011-10-31 16:12:53.786187 Event: Terminate
-On: 2011-10-31 16:12:53.786220 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:24:40.113366 ------------------
-On: 2011-10-31 16:24:40.133896 Event: try to Connect to Controller
-On: 2011-10-31 16:24:41.438624 Event: init state
-On: 2011-10-31 16:24:41.438869 Event: Register Account to SIP server
-On: 2011-10-31 16:24:41.439272 Event: 100
-On: 2011-10-31 16:24:41.439351 Event: Caller Handler Ready
-On: 2011-10-31 16:24:46.565343 Event: CALL START
-On: 2011-10-31 16:24:46.565396 Event: Make a call to: 015782677224
-On: 2011-10-31 16:24:52.772240 Event: Call Connecting
-On: 2011-10-31 16:24:52.772285 Event: 200
-On: 2011-10-31 16:24:58.563049 Event: Terminate
-On: 2011-10-31 16:24:58.563083 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:25:02.278185 ------------------
-On: 2011-10-31 16:25:02.298559 Event: try to Connect to Controller
-On: 2011-10-31 16:25:03.610184 Event: init state
-On: 2011-10-31 16:25:03.610420 Event: Register Account to SIP server
-On: 2011-10-31 16:25:03.610827 Event: 100
-On: 2011-10-31 16:25:03.610905 Event: Caller Handler Ready
-On: 2011-10-31 16:25:08.737271 Event: CALL START
-On: 2011-10-31 16:25:08.737325 Event: Make a call to: 017678038038
-On: 2011-10-31 16:25:17.649425 Event: Call Connecting
-On: 2011-10-31 16:25:17.649471 Event: 200
-On: 2011-10-31 16:25:17.653418 Event: Terminate
-On: 2011-10-31 16:25:17.653475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:25:21.378445 ------------------
-On: 2011-10-31 16:25:21.398930 Event: try to Connect to Controller
-On: 2011-10-31 16:25:22.706588 Event: init state
-On: 2011-10-31 16:25:22.706823 Event: Register Account to SIP server
-On: 2011-10-31 16:25:22.707553 Event: 100
-On: 2011-10-31 16:25:22.707633 Event: Caller Handler Ready
-On: 2011-10-31 16:25:27.837315 Event: CALL START
-On: 2011-10-31 16:25:27.837365 Event: Make a call to: 015128040906
-On: 2011-10-31 16:25:38.182372 Event: Call Connecting
-On: 2011-10-31 16:25:38.182418 Event: 200
-On: 2011-10-31 16:25:38.185973 Event: Terminate
-On: 2011-10-31 16:25:38.186028 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:30:52.446302 ------------------
-On: 2011-10-31 16:30:52.466833 Event: try to Connect to Controller
-On: 2011-10-31 16:30:53.770783 Event: init state
-On: 2011-10-31 16:30:53.771036 Event: Register Account to SIP server
-On: 2011-10-31 16:30:53.771799 Event: 100
-On: 2011-10-31 16:30:53.771877 Event: Caller Handler Ready
-On: 2011-10-31 16:31:04.995585 Event: CALL START
-On: 2011-10-31 16:31:04.995641 Event: Make a call to: 07612034661473
-On: 2011-10-31 16:31:07.508511 Event: Call Connecting
-On: 2011-10-31 16:31:07.508559 Event: 200
-On: 2011-10-31 16:31:07.553084 Event: Terminate
-On: 2011-10-31 16:31:07.553135 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:31:11.270624 ------------------
-On: 2011-10-31 16:31:11.290754 Event: try to Connect to Controller
-On: 2011-10-31 16:31:12.601114 Event: init state
-On: 2011-10-31 16:31:12.601363 Event: Register Account to SIP server
-On: 2011-10-31 16:31:12.601988 Event: 100
-On: 2011-10-31 16:31:12.602083 Event: Caller Handler Ready
-On: 2011-10-31 16:31:17.749307 Event: CALL START
-On: 2011-10-31 16:31:17.749360 Event: Make a call to: 07612034661449
-On: 2011-10-31 16:31:20.045951 Event: Call Connecting
-On: 2011-10-31 16:31:20.045995 Event: 200
-On: 2011-10-31 16:31:20.126155 Event: Terminate
-On: 2011-10-31 16:31:20.126188 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:14.449528 ------------------
-On: 2011-10-31 17:39:14.469900 Event: try to Connect to Controller
-On: 2011-10-31 17:39:15.786359 Event: init state
-On: 2011-10-31 17:39:15.786607 Event: Register Account to SIP server
-On: 2011-10-31 17:39:15.787010 Event: 100
-On: 2011-10-31 17:39:15.787088 Event: Caller Handler Ready
-On: 2011-10-31 17:39:20.917315 Event: CALL START
-On: 2011-10-31 17:39:20.917372 Event: Make a call to: 017678038038
-On: 2011-10-31 17:39:31.154130 Event: Call Connecting
-On: 2011-10-31 17:39:31.154173 Event: 200
-On: 2011-10-31 17:39:31.157914 Event: Terminate
-On: 2011-10-31 17:39:31.157968 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:34.870410 ------------------
-On: 2011-10-31 17:39:34.890891 Event: try to Connect to Controller
-On: 2011-10-31 17:39:36.201678 Event: init state
-On: 2011-10-31 17:39:36.202107 Event: Register Account to SIP server
-On: 2011-10-31 17:39:36.202850 Event: 100
-On: 2011-10-31 17:39:36.205094 Event: Caller Handler Ready
-On: 2011-10-31 17:39:41.330463 Event: CALL START
-On: 2011-10-31 17:39:41.330517 Event: Make a call to: 015128040906
-On: 2011-10-31 17:39:52.295288 Event: Call Connecting
-On: 2011-10-31 17:39:52.295335 Event: 200
-On: 2011-10-31 17:39:52.297934 Event: Terminate
-On: 2011-10-31 17:39:52.297992 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:39:56.031350 ------------------
-On: 2011-10-31 17:39:56.052139 Event: try to Connect to Controller
-On: 2011-10-31 17:39:57.351869 Event: init state
-On: 2011-10-31 17:39:57.352120 Event: Register Account to SIP server
-On: 2011-10-31 17:39:57.352537 Event: 100
-On: 2011-10-31 17:39:57.352617 Event: Caller Handler Ready
-On: 2011-10-31 17:40:02.485279 Event: CALL START
-On: 2011-10-31 17:40:02.485331 Event: Make a call to: 015252423662
-On: 2011-10-31 17:40:14.114699 Event: Call Connecting
-On: 2011-10-31 17:40:14.114745 Event: 200
-On: 2011-10-31 17:40:14.117928 Event: Terminate
-On: 2011-10-31 17:40:14.117982 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:40:17.849094 ------------------
-On: 2011-10-31 17:40:17.870715 Event: try to Connect to Controller
-On: 2011-10-31 17:40:19.171160 Event: init state
-On: 2011-10-31 17:40:19.171402 Event: Register Account to SIP server
-On: 2011-10-31 17:40:19.171806 Event: 100
-On: 2011-10-31 17:40:19.171883 Event: Caller Handler Ready
-On: 2011-10-31 17:40:24.301264 Event: CALL START
-On: 2011-10-31 17:40:24.301316 Event: Make a call to: 07612034661449
-On: 2011-10-31 17:40:25.954130 Event: Call Connecting
-On: 2011-10-31 17:40:25.954174 Event: 200
-On: 2011-10-31 17:40:26.018155 Event: Terminate
-On: 2011-10-31 17:40:26.018188 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:05.206449 ------------------
-On: 2011-10-31 19:55:05.226877 Event: try to Connect to Controller
-On: 2011-10-31 19:55:06.510655 Event: init state
-On: 2011-10-31 19:55:06.510884 Event: Register Account to SIP server
-On: 2011-10-31 19:55:06.511290 Event: 100
-On: 2011-10-31 19:55:06.511369 Event: Receiver Handler Ready
-On: 2011-10-31 19:55:06.513782 Event: RECEIVE START
-On: 2011-10-31 19:55:07.529427 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-10-31 19:55:07.530168 Event: Call Connecting
-On: 2011-10-31 19:55:07.530213 Event: 200
-On: 2011-10-31 19:55:07.530452 Event: Answer call
-On: 2011-10-31 19:55:07.530504 Event: Hangup call
-On: 2011-10-31 19:55:07.530677 Event: CALL OK
-On: 2011-10-31 19:55:07.581355 Event: Call Disconnected
-On: 2011-10-31 19:55:08.978103 Event: Terminate
-On: 2011-10-31 19:55:08.978138 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:34.052828 ------------------
-On: 2011-10-31 19:55:34.073137 Event: try to Connect to Controller
-On: 2011-10-31 19:55:35.377991 Event: init state
-On: 2011-10-31 19:55:35.378238 Event: Register Account to SIP server
-On: 2011-10-31 19:55:35.379009 Event: 100
-On: 2011-10-31 19:55:35.379089 Event: Caller Handler Ready
-On: 2011-10-31 19:55:40.501347 Event: CALL START
-On: 2011-10-31 19:55:40.501400 Event: Make a call to: 015782677224
-On: 2011-10-31 19:55:51.169703 Event: Call Connecting
-On: 2011-10-31 19:55:51.169748 Event: 200
-On: 2011-10-31 19:55:52.499242 Event: Terminate
-On: 2011-10-31 19:55:52.499378 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:55:56.219861 ------------------
-On: 2011-10-31 19:55:56.240334 Event: try to Connect to Controller
-On: 2011-10-31 19:55:57.546939 Event: init state
-On: 2011-10-31 19:55:57.547185 Event: Register Account to SIP server
-On: 2011-10-31 19:55:57.547590 Event: 100
-On: 2011-10-31 19:55:57.547669 Event: Caller Handler Ready
-On: 2011-10-31 19:56:02.680485 Event: CALL START
-On: 2011-10-31 19:56:02.680538 Event: Make a call to: 017678038038
-On: 2011-10-31 19:56:11.590740 Event: Call Connecting
-On: 2011-10-31 19:56:11.590786 Event: 200
-On: 2011-10-31 19:56:11.593920 Event: Terminate
-On: 2011-10-31 19:56:11.593975 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:56:15.307604 ------------------
-On: 2011-10-31 19:56:15.328396 Event: try to Connect to Controller
-On: 2011-10-31 19:56:16.637978 Event: init state
-On: 2011-10-31 19:56:16.638214 Event: Register Account to SIP server
-On: 2011-10-31 19:56:16.638619 Event: 100
-On: 2011-10-31 19:56:16.638699 Event: Caller Handler Ready
-On: 2011-10-31 19:56:21.768408 Event: CALL START
-On: 2011-10-31 19:56:21.768460 Event: Make a call to: 015128040906
-On: 2011-10-31 19:56:36.202431 Event: Call Connecting
-On: 2011-10-31 19:56:36.202476 Event: 200
-On: 2011-10-31 19:56:36.205924 Event: Terminate
-On: 2011-10-31 19:56:36.205978 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:56:39.943224 ------------------
-On: 2011-10-31 19:56:39.963585 Event: try to Connect to Controller
-On: 2011-10-31 19:56:41.259021 Event: init state
-On: 2011-10-31 19:56:41.259269 Event: Register Account to SIP server
-On: 2011-10-31 19:56:41.259676 Event: 100
-On: 2011-10-31 19:56:41.259755 Event: Caller Handler Ready
-On: 2011-10-31 19:56:46.384797 Event: CALL START
-On: 2011-10-31 19:56:46.384849 Event: Make a call to: 015252423662
-On: 2011-10-31 19:57:18.386581 Event: Terminate
-On: 2011-10-31 19:57:18.386636 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:01:31.347213 ------------------
-On: 2011-10-31 20:01:31.367345 Event: try to Connect to Controller
-On: 2011-10-31 20:01:32.679954 Event: init state
-On: 2011-10-31 20:01:32.680203 Event: Register Account to SIP server
-On: 2011-10-31 20:01:32.680968 Event: 100
-On: 2011-10-31 20:01:32.683460 Event: Caller Handler Ready
-On: 2011-10-31 20:01:37.806924 Event: CALL START
-On: 2011-10-31 20:01:37.806976 Event: Make a call to: 015782677224
-On: 2011-10-31 20:01:45.389693 Event: Call Connecting
-On: 2011-10-31 20:01:45.389739 Event: 200
-On: 2011-10-31 20:01:49.807043 Event: Terminate
-On: 2011-10-31 20:01:49.807077 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:01:53.523783 ------------------
-On: 2011-10-31 20:01:53.544387 Event: try to Connect to Controller
-On: 2011-10-31 20:01:54.855019 Event: init state
-On: 2011-10-31 20:01:54.855267 Event: Register Account to SIP server
-On: 2011-10-31 20:01:54.855673 Event: 100
-On: 2011-10-31 20:01:54.855751 Event: Caller Handler Ready
-On: 2011-10-31 20:01:59.984511 Event: CALL START
-On: 2011-10-31 20:01:59.984563 Event: Make a call to: 017678038038
-On: 2011-10-31 20:02:09.356172 Event: Call Connecting
-On: 2011-10-31 20:02:09.356219 Event: 200
-On: 2011-10-31 20:02:09.357925 Event: Terminate
-On: 2011-10-31 20:02:09.357982 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:02:13.089510 ------------------
-On: 2011-10-31 20:02:13.109918 Event: try to Connect to Controller
-On: 2011-10-31 20:02:14.413538 Event: init state
-On: 2011-10-31 20:02:14.413979 Event: Register Account to SIP server
-On: 2011-10-31 20:02:14.414401 Event: 100
-On: 2011-10-31 20:02:14.414481 Event: Caller Handler Ready
-On: 2011-10-31 20:02:19.541312 Event: CALL START
-On: 2011-10-31 20:02:19.541362 Event: Make a call to: 015128040906
-On: 2011-10-31 20:02:51.542549 Event: Terminate
-On: 2011-10-31 20:02:51.542604 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:02:55.272564 ------------------
-On: 2011-10-31 20:02:55.292697 Event: try to Connect to Controller
-On: 2011-10-31 20:02:56.593316 Event: init state
-On: 2011-10-31 20:02:56.593559 Event: Register Account to SIP server
-On: 2011-10-31 20:02:56.594167 Event: 100
-On: 2011-10-31 20:02:56.594257 Event: Caller Handler Ready
-On: 2011-10-31 20:03:01.717344 Event: CALL START
-On: 2011-10-31 20:03:01.717400 Event: Make a call to: 015252423662
-On: 2011-10-31 20:03:33.718615 Event: Terminate
-On: 2011-10-31 20:03:33.718671 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:11:04.596204 ------------------
-On: 2011-10-31 21:11:04.616498 Event: try to Connect to Controller
-On: 2011-10-31 21:11:05.923179 Event: init state
-On: 2011-10-31 21:11:05.923418 Event: Register Account to SIP server
-On: 2011-10-31 21:11:05.924163 Event: 100
-On: 2011-10-31 21:11:05.924244 Event: Caller Handler Ready
-On: 2011-10-31 21:11:11.053286 Event: CALL START
-On: 2011-10-31 21:11:11.053339 Event: Make a call to: 015252423662
-On: 2011-10-31 21:11:43.054554 Event: Terminate
-On: 2011-10-31 21:11:43.054609 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:14:30.612447 ------------------
-On: 2011-10-31 21:14:30.632956 Event: try to Connect to Controller
-On: 2011-10-31 21:14:31.939905 Event: init state
-On: 2011-10-31 21:14:31.940148 Event: Register Account to SIP server
-On: 2011-10-31 21:14:31.940552 Event: 100
-On: 2011-10-31 21:14:31.940632 Event: Receiver Handler Ready
-On: 2011-10-31 21:14:31.941031 Event: RECEIVE START
-On: 2011-10-31 21:14:33.652303 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-10-31 21:14:33.652861 Event: Call Connecting
-On: 2011-10-31 21:14:33.652903 Event: 200
-On: 2011-10-31 21:14:33.653140 Event: Answer call
-On: 2011-10-31 21:14:33.653190 Event: Hangup call
-On: 2011-10-31 21:14:33.653359 Event: CALL OK
-On: 2011-10-31 21:14:33.704044 Event: Call Disconnected
-On: 2011-10-31 21:14:35.159952 Event: Terminate
-On: 2011-10-31 21:14:35.160002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:14:59.870437 ------------------
-On: 2011-10-31 21:14:59.891049 Event: try to Connect to Controller
-On: 2011-10-31 21:15:01.194650 Event: init state
-On: 2011-10-31 21:15:01.194889 Event: Register Account to SIP server
-On: 2011-10-31 21:15:01.195295 Event: 100
-On: 2011-10-31 21:15:01.195376 Event: Caller Handler Ready
-On: 2011-10-31 21:15:06.297334 Event: CALL START
-On: 2011-10-31 21:15:06.297388 Event: Make a call to: 015782677224
-On: 2011-10-31 21:15:21.585967 Event: Call Connecting
-On: 2011-10-31 21:15:21.586014 Event: 200
-On: 2011-10-31 21:15:21.589917 Event: Terminate
-On: 2011-10-31 21:15:21.589972 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:15:25.304018 ------------------
-On: 2011-10-31 21:15:25.324319 Event: try to Connect to Controller
-On: 2011-10-31 21:15:26.634150 Event: init state
-On: 2011-10-31 21:15:26.634388 Event: Register Account to SIP server
-On: 2011-10-31 21:15:26.634784 Event: 100
-On: 2011-10-31 21:15:26.634863 Event: Caller Handler Ready
-On: 2011-10-31 21:15:31.744187 Event: CALL START
-On: 2011-10-31 21:15:31.744239 Event: Make a call to: 017678038038
-On: 2011-10-31 21:16:03.746520 Event: Terminate
-On: 2011-10-31 21:16:03.746575 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:16:07.475460 ------------------
-On: 2011-10-31 21:16:07.495761 Event: try to Connect to Controller
-On: 2011-10-31 21:16:08.798612 Event: init state
-On: 2011-10-31 21:16:08.798861 Event: Register Account to SIP server
-On: 2011-10-31 21:16:08.799265 Event: 100
-On: 2011-10-31 21:16:08.799344 Event: Caller Handler Ready
-On: 2011-10-31 21:16:13.909302 Event: CALL START
-On: 2011-10-31 21:16:13.909353 Event: Make a call to: 015128040906
-On: 2011-10-31 21:16:45.910548 Event: Terminate
-On: 2011-10-31 21:16:45.910603 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:16:49.640156 ------------------
-On: 2011-10-31 21:16:49.660517 Event: try to Connect to Controller
-On: 2011-10-31 21:16:50.961383 Event: init state
-On: 2011-10-31 21:16:50.961803 Event: Register Account to SIP server
-On: 2011-10-31 21:16:50.962231 Event: 100
-On: 2011-10-31 21:16:50.962311 Event: Caller Handler Ready
-On: 2011-10-31 21:16:56.065277 Event: CALL START
-On: 2011-10-31 21:16:56.065328 Event: Make a call to: 015252423662
-On: 2011-10-31 21:17:28.066547 Event: Terminate
-On: 2011-10-31 21:17:28.066602 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:28:45.683210 ------------------
-On: 2011-10-31 21:28:45.703293 Event: try to Connect to Controller
-On: 2011-10-31 21:28:47.006644 Event: init state
-On: 2011-10-31 21:28:47.006895 Event: Register Account to SIP server
-On: 2011-10-31 21:28:47.007304 Event: 100
-On: 2011-10-31 21:28:47.007384 Event: Caller Handler Ready
-On: 2011-10-31 21:28:52.133372 Event: CALL START
-On: 2011-10-31 21:28:52.133422 Event: Make a call to: 015782677224
-On: 2011-10-31 21:28:58.400490 Event: Call Connecting
-On: 2011-10-31 21:28:58.400536 Event: 200
-On: 2011-10-31 21:29:04.131087 Event: Terminate
-On: 2011-10-31 21:29:04.131122 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:29:07.850967 ------------------
-On: 2011-10-31 21:29:07.872219 Event: try to Connect to Controller
-On: 2011-10-31 21:29:09.178428 Event: init state
-On: 2011-10-31 21:29:09.178668 Event: Register Account to SIP server
-On: 2011-10-31 21:29:09.179076 Event: 100
-On: 2011-10-31 21:29:09.179156 Event: Caller Handler Ready
-On: 2011-10-31 21:29:14.305363 Event: CALL START
-On: 2011-10-31 21:29:14.305416 Event: Make a call to: 017678038038
-On: 2011-10-31 21:29:24.448422 Event: Call Connecting
-On: 2011-10-31 21:29:24.448467 Event: 200
-On: 2011-10-31 21:29:24.452406 Event: Terminate
-On: 2011-10-31 21:29:24.452460 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:29:28.184829 ------------------
-On: 2011-10-31 21:29:28.205425 Event: try to Connect to Controller
-On: 2011-10-31 21:29:29.505697 Event: init state
-On: 2011-10-31 21:29:29.505959 Event: Register Account to SIP server
-On: 2011-10-31 21:29:29.506364 Event: 100
-On: 2011-10-31 21:29:29.506443 Event: Caller Handler Ready
-On: 2011-10-31 21:29:34.633296 Event: CALL START
-On: 2011-10-31 21:29:34.633348 Event: Make a call to: 015128040906
-On: 2011-10-31 21:29:44.526003 Event: Call Connecting
-On: 2011-10-31 21:29:44.526048 Event: 200
-On: 2011-10-31 21:29:44.529922 Event: Terminate
-On: 2011-10-31 21:29:44.529977 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:35:15.554924 ------------------
-On: 2011-10-31 21:35:15.598728 Event: try to Connect to Controller
-On: 2011-10-31 21:35:16.422122 Event: init state
-On: 2011-10-31 21:35:16.422390 Event: Register Account to SIP server
-On: 2011-10-31 21:35:16.422794 Event: 100
-On: 2011-10-31 21:35:16.422871 Event: Caller Handler Ready
-On: 2011-10-31 21:35:21.557274 Event: CALL START
-On: 2011-10-31 21:35:21.557326 Event: Make a call to: 07612034661449
-On: 2011-10-31 21:35:23.330169 Event: Call Connecting
-On: 2011-10-31 21:35:23.330213 Event: 200
-On: 2011-10-31 21:35:23.382569 Event: Terminate
-On: 2011-10-31 21:35:23.382618 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:52:22.770877 ------------------
-On: 2011-10-31 21:52:22.790963 Event: try to Connect to Controller
-On: 2011-10-31 21:52:24.091327 Event: init state
-On: 2011-10-31 21:52:24.091569 Event: Register Account to SIP server
-On: 2011-10-31 21:52:24.091979 Event: 100
-On: 2011-10-31 21:52:24.092058 Event: Caller Handler Ready
-On: 2011-10-31 21:52:35.331069 Event: CALL START
-On: 2011-10-31 21:52:35.331124 Event: Make a call to: 07612034661455
-On: 2011-10-31 21:52:37.886746 Event: Call Connecting
-On: 2011-10-31 21:52:37.886793 Event: 200
-On: 2011-10-31 21:52:37.922763 Event: Terminate
-On: 2011-10-31 21:52:37.922815 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:52:41.638140 ------------------
-On: 2011-10-31 21:52:41.658404 Event: try to Connect to Controller
-On: 2011-10-31 21:52:42.966466 Event: init state
-On: 2011-10-31 21:52:42.966717 Event: Register Account to SIP server
-On: 2011-10-31 21:52:42.967128 Event: 100
-On: 2011-10-31 21:52:42.967206 Event: Caller Handler Ready
-On: 2011-10-31 21:52:54.191906 Event: CALL START
-On: 2011-10-31 21:52:54.191961 Event: Make a call to: 07612034661473
-On: 2011-10-31 21:52:56.699553 Event: Call Connecting
-On: 2011-10-31 21:52:56.699599 Event: 200
-On: 2011-10-31 21:52:56.741953 Event: Terminate
-On: 2011-10-31 21:52:56.742006 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:53:00.476888 ------------------
-On: 2011-10-31 21:53:00.496902 Event: try to Connect to Controller
-On: 2011-10-31 21:53:01.798068 Event: init state
-On: 2011-10-31 21:53:01.798305 Event: Register Account to SIP server
-On: 2011-10-31 21:53:01.798718 Event: 100
-On: 2011-10-31 21:53:01.798797 Event: Caller Handler Ready
-On: 2011-10-31 21:53:06.946944 Event: CALL START
-On: 2011-10-31 21:53:06.946996 Event: Make a call to: 07612034661449
-On: 2011-10-31 21:53:09.657105 Event: Call Connecting
-On: 2011-10-31 21:53:09.657149 Event: 200
-On: 2011-10-31 21:53:09.702144 Event: Terminate
-On: 2011-10-31 21:53:09.702177 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 22:43:37.846193 ------------------
-On: 2011-10-31 22:43:37.867740 Event: try to Connect to Controller
-On: 2011-10-31 22:43:39.160891 Event: init state
-On: 2011-10-31 22:43:39.161127 Event: Register Account to SIP server
-On: 2011-10-31 22:43:39.162098 Event: 100
-On: 2011-10-31 22:43:39.162190 Event: Caller Handler Ready
-On: 2011-10-31 22:43:50.377960 Event: CALL START
-On: 2011-10-31 22:43:50.378014 Event: Make a call to: 07612034661455
-On: 2011-10-31 22:43:52.706765 Event: Call Connecting
-On: 2011-10-31 22:43:52.706811 Event: 200
-On: 2011-10-31 22:43:52.794669 Event: Terminate
-On: 2011-10-31 22:43:52.794719 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 22:43:56.511625 ------------------
-On: 2011-10-31 22:43:56.531738 Event: try to Connect to Controller
-On: 2011-10-31 22:43:57.838662 Event: init state
-On: 2011-10-31 22:43:57.838905 Event: Register Account to SIP server
-On: 2011-10-31 22:43:57.839469 Event: 100
-On: 2011-10-31 22:43:57.839556 Event: Caller Handler Ready
-On: 2011-10-31 22:44:09.066279 Event: CALL START
-On: 2011-10-31 22:44:09.066336 Event: Make a call to: 07612034661473
-On: 2011-10-31 22:44:10.859278 Event: Call Connecting
-On: 2011-10-31 22:44:10.859325 Event: 200
-On: 2011-10-31 22:44:10.920387 Event: Terminate
-On: 2011-10-31 22:44:10.920437 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 22:44:14.652510 ------------------
-On: 2011-10-31 22:44:14.672987 Event: try to Connect to Controller
-On: 2011-10-31 22:44:15.978284 Event: init state
-On: 2011-10-31 22:44:15.978534 Event: Register Account to SIP server
-On: 2011-10-31 22:44:15.978937 Event: 100
-On: 2011-10-31 22:44:15.979015 Event: Caller Handler Ready
-On: 2011-10-31 22:44:21.129272 Event: CALL START
-On: 2011-10-31 22:44:21.129325 Event: Make a call to: 07612034661449
-On: 2011-10-31 22:44:23.831758 Event: Call Connecting
-On: 2011-10-31 22:44:23.831802 Event: 200
-On: 2011-10-31 22:44:23.878123 Event: Terminate
-On: 2011-10-31 22:44:23.878157 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:11.015113 ------------------
-On: 2011-10-31 23:22:11.035249 Event: try to Connect to Controller
-On: 2011-10-31 23:22:12.345234 Event: init state
-On: 2011-10-31 23:22:12.345483 Event: Register Account to SIP server
-On: 2011-10-31 23:22:12.346094 Event: 100
-On: 2011-10-31 23:22:12.346181 Event: Caller Handler Ready
-On: 2011-10-31 23:22:17.449352 Event: CALL START
-On: 2011-10-31 23:22:17.449404 Event: Make a call to: 015782677224
-On: 2011-10-31 23:22:24.190506 Event: Call Connecting
-On: 2011-10-31 23:22:24.190551 Event: 200
-On: 2011-10-31 23:22:29.447063 Event: Terminate
-On: 2011-10-31 23:22:29.447097 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:33.166265 ------------------
-On: 2011-10-31 23:22:33.186654 Event: try to Connect to Controller
-On: 2011-10-31 23:22:34.494831 Event: init state
-On: 2011-10-31 23:22:34.495082 Event: Register Account to SIP server
-On: 2011-10-31 23:22:34.495489 Event: 100
-On: 2011-10-31 23:22:34.495570 Event: Caller Handler Ready
-On: 2011-10-31 23:22:39.625278 Event: CALL START
-On: 2011-10-31 23:22:39.625330 Event: Make a call to: 017678038038
-On: 2011-10-31 23:22:51.407979 Event: Call Connecting
-On: 2011-10-31 23:22:51.408023 Event: 200
-On: 2011-10-31 23:22:51.409919 Event: Terminate
-On: 2011-10-31 23:22:51.409974 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:22:55.145377 ------------------
-On: 2011-10-31 23:22:55.166158 Event: try to Connect to Controller
-On: 2011-10-31 23:22:56.465491 Event: init state
-On: 2011-10-31 23:22:56.465788 Event: Register Account to SIP server
-On: 2011-10-31 23:22:56.466197 Event: 100
-On: 2011-10-31 23:22:56.466278 Event: Caller Handler Ready
-On: 2011-10-31 23:23:01.593284 Event: CALL START
-On: 2011-10-31 23:23:01.593329 Event: Make a call to: 015128040906
-On: 2011-10-31 23:23:11.951981 Event: Call Connecting
-On: 2011-10-31 23:23:11.952027 Event: 200
-On: 2011-10-31 23:23:11.953926 Event: Terminate
-On: 2011-10-31 23:23:11.953981 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:22:45.109200 ------------------
-On: 2011-11-01 11:22:45.129296 Event: try to Connect to Controller
-On: 2011-11-01 11:22:46.430655 Event: init state
-On: 2011-11-01 11:22:46.430890 Event: Register Account to SIP server
-On: 2011-11-01 11:22:46.431657 Event: 100
-On: 2011-11-01 11:22:46.431735 Event: Caller Handler Ready
-On: 2011-11-01 11:22:51.557298 Event: CALL START
-On: 2011-11-01 11:22:51.557347 Event: Make a call to: 017678038038
-On: 2011-11-01 11:23:01.095353 Event: Call Connecting
-On: 2011-11-01 11:23:01.095401 Event: 200
-On: 2011-11-01 11:23:01.099486 Event: Terminate
-On: 2011-11-01 11:23:01.099541 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:04.828312 ------------------
-On: 2011-11-01 11:23:04.849025 Event: try to Connect to Controller
-On: 2011-11-01 11:23:06.144326 Event: init state
-On: 2011-11-01 11:23:06.144565 Event: Register Account to SIP server
-On: 2011-11-01 11:23:06.144976 Event: 100
-On: 2011-11-01 11:23:06.145054 Event: Caller Handler Ready
-On: 2011-11-01 11:23:11.273310 Event: CALL START
-On: 2011-11-01 11:23:11.273363 Event: Make a call to: 015128040906
-On: 2011-11-01 11:23:24.037810 Event: Call Connecting
-On: 2011-11-01 11:23:24.037856 Event: 200
-On: 2011-11-01 11:23:24.041847 Event: Terminate
-On: 2011-11-01 11:23:24.041902 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:27.769233 ------------------
-On: 2011-11-01 11:23:27.790353 Event: try to Connect to Controller
-On: 2011-11-01 11:23:29.085316 Event: init state
-On: 2011-11-01 11:23:29.085555 Event: Register Account to SIP server
-On: 2011-11-01 11:23:29.085998 Event: 100
-On: 2011-11-01 11:23:29.086080 Event: Caller Handler Ready
-On: 2011-11-01 11:23:34.210370 Event: CALL START
-On: 2011-11-01 11:23:34.210424 Event: Make a call to: 015252423662
-On: 2011-11-01 11:23:44.829375 Event: Call Connecting
-On: 2011-11-01 11:23:44.829423 Event: 200
-On: 2011-11-01 11:23:44.833430 Event: Terminate
-On: 2011-11-01 11:23:44.833483 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:23:48.574708 ------------------
-On: 2011-11-01 11:23:48.594958 Event: try to Connect to Controller
-On: 2011-11-01 11:23:49.886658 Event: init state
-On: 2011-11-01 11:23:49.886896 Event: Register Account to SIP server
-On: 2011-11-01 11:23:49.887308 Event: 100
-On: 2011-11-01 11:23:49.887389 Event: Caller Handler Ready
-On: 2011-11-01 11:23:55.034343 Event: CALL START
-On: 2011-11-01 11:23:55.034398 Event: Make a call to: 07612034661449
-On: 2011-11-01 11:23:56.731958 Event: Call Connecting
-On: 2011-11-01 11:23:56.732004 Event: 200
-On: 2011-11-01 11:23:56.802145 Event: Terminate
-On: 2011-11-01 11:23:56.802180 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:12.236154 ------------------
-On: 2011-11-01 11:25:12.256282 Event: try to Connect to Controller
-On: 2011-11-01 11:25:13.551680 Event: init state
-On: 2011-11-01 11:25:13.551919 Event: Register Account to SIP server
-On: 2011-11-01 11:25:13.552325 Event: 100
-On: 2011-11-01 11:25:13.552405 Event: Caller Handler Ready
-On: 2011-11-01 11:25:18.681304 Event: CALL START
-On: 2011-11-01 11:25:18.681358 Event: Make a call to: 017678038038
-On: 2011-11-01 11:25:27.916237 Event: Call Connecting
-On: 2011-11-01 11:25:27.916283 Event: 200
-On: 2011-11-01 11:25:27.917930 Event: Terminate
-On: 2011-11-01 11:25:27.917985 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:31.650523 ------------------
-On: 2011-11-01 11:25:31.671212 Event: try to Connect to Controller
-On: 2011-11-01 11:25:32.964925 Event: init state
-On: 2011-11-01 11:25:32.965160 Event: Register Account to SIP server
-On: 2011-11-01 11:25:32.965570 Event: 100
-On: 2011-11-01 11:25:32.965835 Event: Caller Handler Ready
-On: 2011-11-01 11:25:38.096338 Event: CALL START
-On: 2011-11-01 11:25:38.096392 Event: Make a call to: 015128040906
-On: 2011-11-01 11:25:49.120380 Event: Call Connecting
-On: 2011-11-01 11:25:49.120426 Event: 200
-On: 2011-11-01 11:25:49.124439 Event: Terminate
-On: 2011-11-01 11:25:49.124494 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:25:52.871425 ------------------
-On: 2011-11-01 11:25:52.891614 Event: try to Connect to Controller
-On: 2011-11-01 11:25:54.178172 Event: init state
-On: 2011-11-01 11:25:54.178408 Event: Register Account to SIP server
-On: 2011-11-01 11:25:54.178821 Event: 100
-On: 2011-11-01 11:25:54.178900 Event: Caller Handler Ready
-On: 2011-11-01 11:25:59.301284 Event: CALL START
-On: 2011-11-01 11:25:59.301337 Event: Make a call to: 015252423662
-On: 2011-11-01 11:26:08.758508 Event: Call Connecting
-On: 2011-11-01 11:26:08.758554 Event: 200
-On: 2011-11-01 11:26:08.761918 Event: Terminate
-On: 2011-11-01 11:26:08.761974 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:26:12.510831 ------------------
-On: 2011-11-01 11:26:12.531034 Event: try to Connect to Controller
-On: 2011-11-01 11:26:13.813529 Event: init state
-On: 2011-11-01 11:26:13.813945 Event: Register Account to SIP server
-On: 2011-11-01 11:26:13.814366 Event: 100
-On: 2011-11-01 11:26:13.814445 Event: Caller Handler Ready
-On: 2011-11-01 11:26:18.965474 Event: CALL START
-On: 2011-11-01 11:26:18.965527 Event: Make a call to: 07612034661449
-On: 2011-11-01 11:26:26.191458 Event: Call Connecting
-On: 2011-11-01 11:26:26.191503 Event: 200
-On: 2011-11-01 11:26:26.266120 Event: Terminate
-On: 2011-11-01 11:26:26.266154 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:25.352129 ------------------
-On: 2011-11-01 14:08:25.373229 Event: try to Connect to Controller
-On: 2011-11-01 14:08:26.638230 Event: init state
-On: 2011-11-01 14:08:26.638465 Event: Register Account to SIP server
-On: 2011-11-01 14:08:26.639249 Event: 100
-On: 2011-11-01 14:08:26.639324 Event: Receiver Handler Ready
-On: 2011-11-01 14:08:26.639766 Event: RECEIVE START
-On: 2011-11-01 14:08:31.771782 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-01 14:08:31.772277 Event: Call Connecting
-On: 2011-11-01 14:08:31.772316 Event: 200
-On: 2011-11-01 14:08:31.772561 Event: Answer call
-On: 2011-11-01 14:08:31.772615 Event: Hangup call
-On: 2011-11-01 14:08:31.772785 Event: CALL OK
-On: 2011-11-01 14:08:31.823588 Event: Call Disconnected
-On: 2011-11-01 14:08:32.266522 Event: Terminate
-On: 2011-11-01 14:08:32.266575 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:36.012663 ------------------
-On: 2011-11-01 14:08:36.033141 Event: try to Connect to Controller
-On: 2011-11-01 14:08:37.315786 Event: init state
-On: 2011-11-01 14:08:37.316012 Event: Register Account to SIP server
-On: 2011-11-01 14:08:37.316414 Event: 100
-On: 2011-11-01 14:08:37.316493 Event: Caller Handler Ready
-On: 2011-11-01 14:08:42.321537 Event: CALL START
-On: 2011-11-01 14:08:42.321593 Event: Make a call to: 076120397898
-On: 2011-11-01 14:08:42.380476 Event: Call Connecting
-On: 2011-11-01 14:08:42.380522 Event: 200
-On: 2011-11-01 14:08:42.381802 Event: Terminate
-On: 2011-11-01 14:08:42.381850 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:46.129412 ------------------
-On: 2011-11-01 14:08:46.150322 Event: try to Connect to Controller
-On: 2011-11-01 14:08:47.434658 Event: init state
-On: 2011-11-01 14:08:47.434893 Event: Register Account to SIP server
-On: 2011-11-01 14:08:47.435305 Event: 100
-On: 2011-11-01 14:08:47.435385 Event: Caller Handler Ready
-On: 2011-11-01 14:08:52.445224 Event: CALL START
-On: 2011-11-01 14:08:52.445279 Event: Make a call to: 076145875681
-On: 2011-11-01 14:08:57.359374 Event: Call Connecting
-On: 2011-11-01 14:08:57.359420 Event: 200
-On: 2011-11-01 14:08:57.360511 Event: Terminate
-On: 2011-11-01 14:08:57.360545 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:09:09.302948 ------------------
-On: 2011-11-01 14:09:09.323475 Event: try to Connect to Controller
-On: 2011-11-01 14:09:10.623549 Event: init state
-On: 2011-11-01 14:09:10.623778 Event: Register Account to SIP server
-On: 2011-11-01 14:09:10.624202 Event: 100
-On: 2011-11-01 14:09:10.624281 Event: Receiver Handler Ready
-On: 2011-11-01 14:09:10.624703 Event: RECEIVE START
-On: 2011-11-01 14:09:12.446137 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-01 14:09:12.446635 Event: Call Connecting
-On: 2011-11-01 14:09:12.446675 Event: 200
-On: 2011-11-01 14:09:12.446916 Event: Answer call
-On: 2011-11-01 14:09:12.446969 Event: Hangup call
-On: 2011-11-01 14:09:12.447140 Event: CALL OK
-On: 2011-11-01 14:09:12.497848 Event: Call Disconnected
-On: 2011-11-01 14:09:13.788911 Event: Terminate
-On: 2011-11-01 14:09:13.788963 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:09:17.537474 ------------------
-On: 2011-11-01 14:09:17.557571 Event: try to Connect to Controller
-On: 2011-11-01 14:09:18.846091 Event: init state
-On: 2011-11-01 14:09:18.846325 Event: Register Account to SIP server
-On: 2011-11-01 14:09:18.846737 Event: 100
-On: 2011-11-01 14:09:18.846816 Event: Caller Handler Ready
-On: 2011-11-01 14:09:23.997305 Event: CALL START
-On: 2011-11-01 14:09:23.997356 Event: Make a call to: 07612034661449
-On: 2011-11-01 14:09:26.614368 Event: Call Connecting
-On: 2011-11-01 14:09:26.614413 Event: 200
-On: 2011-11-01 14:09:26.682122 Event: Terminate
-On: 2011-11-01 14:09:26.682156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:12.191846 ------------------
-On: 2011-11-01 14:18:12.212936 Event: try to Connect to Controller
-On: 2011-11-01 14:18:13.491353 Event: init state
-On: 2011-11-01 14:18:13.491584 Event: Register Account to SIP server
-On: 2011-11-01 14:18:13.491992 Event: 100
-On: 2011-11-01 14:18:13.492072 Event: Caller Handler Ready
-On: 2011-11-01 14:18:18.621279 Event: CALL START
-On: 2011-11-01 14:18:18.621332 Event: Make a call to: 015782677224
-On: 2011-11-01 14:18:24.854819 Event: Call Connecting
-On: 2011-11-01 14:18:24.854865 Event: 200
-On: 2011-11-01 14:18:30.618998 Event: Terminate
-On: 2011-11-01 14:18:30.619032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:34.353082 ------------------
-On: 2011-11-01 14:18:34.374458 Event: try to Connect to Controller
-On: 2011-11-01 14:18:35.666502 Event: init state
-On: 2011-11-01 14:18:35.666737 Event: Register Account to SIP server
-On: 2011-11-01 14:18:35.667143 Event: 100
-On: 2011-11-01 14:18:35.667222 Event: Caller Handler Ready
-On: 2011-11-01 14:18:40.773315 Event: CALL START
-On: 2011-11-01 14:18:40.773373 Event: Make a call to: 015128040906
-On: 2011-11-01 14:18:51.570466 Event: Call Connecting
-On: 2011-11-01 14:18:51.570513 Event: 200
-On: 2011-11-01 14:18:51.573921 Event: Terminate
-On: 2011-11-01 14:18:51.573976 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:18:55.320608 ------------------
-On: 2011-11-01 14:18:55.341559 Event: try to Connect to Controller
-On: 2011-11-01 14:18:56.626671 Event: init state
-On: 2011-11-01 14:18:56.626912 Event: Register Account to SIP server
-On: 2011-11-01 14:18:56.627321 Event: 100
-On: 2011-11-01 14:18:56.627399 Event: Caller Handler Ready
-On: 2011-11-01 14:19:01.729281 Event: CALL START
-On: 2011-11-01 14:19:01.729335 Event: Make a call to: 015252423662
-On: 2011-11-01 14:19:12.022876 Event: Call Connecting
-On: 2011-11-01 14:19:12.022921 Event: 200
-On: 2011-11-01 14:19:12.025923 Event: Terminate
-On: 2011-11-01 14:19:12.025979 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:15.770884 ------------------
-On: 2011-11-01 14:19:15.791646 Event: try to Connect to Controller
-On: 2011-11-01 14:19:17.080471 Event: init state
-On: 2011-11-01 14:19:17.080708 Event: Register Account to SIP server
-On: 2011-11-01 14:19:17.081114 Event: 100
-On: 2011-11-01 14:19:17.081193 Event: Caller Handler Ready
-On: 2011-11-01 14:19:22.211779 Event: CALL START
-On: 2011-11-01 14:19:22.211832 Event: Make a call to: 017678038038
-On: 2011-11-01 14:19:24.291684 Event: Call Connecting
-On: 2011-11-01 14:19:24.291730 Event: 200
-On: 2011-11-01 14:19:34.210935 Event: Terminate
-On: 2011-11-01 14:19:34.210970 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:37.964426 ------------------
-On: 2011-11-01 14:19:37.984828 Event: try to Connect to Controller
-On: 2011-11-01 14:19:39.267390 Event: init state
-On: 2011-11-01 14:19:39.267672 Event: Register Account to SIP server
-On: 2011-11-01 14:19:39.268081 Event: 100
-On: 2011-11-01 14:19:39.268158 Event: Caller Handler Ready
-On: 2011-11-01 14:19:44.417385 Event: CALL START
-On: 2011-11-01 14:19:44.417438 Event: Make a call to: 07612034661449
-On: 2011-11-01 14:19:46.890940 Event: Call Connecting
-On: 2011-11-01 14:19:46.890984 Event: 200
-On: 2011-11-01 14:19:46.954137 Event: Terminate
-On: 2011-11-01 14:19:46.954172 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:19:50.701875 ------------------
-On: 2011-11-01 14:19:50.722120 Event: try to Connect to Controller
-On: 2011-11-01 14:19:52.010566 Event: init state
-On: 2011-11-01 14:19:52.010801 Event: Register Account to SIP server
-On: 2011-11-01 14:19:52.011208 Event: 100
-On: 2011-11-01 14:19:52.011286 Event: Caller Handler Ready
-On: 2011-11-01 14:19:57.137449 Event: CALL START
-On: 2011-11-01 14:19:57.137501 Event: Make a call to: 07612034661449
-On: 2011-11-01 14:19:59.829939 Event: Call Connecting
-On: 2011-11-01 14:19:59.829984 Event: 200
-On: 2011-11-01 14:19:59.874122 Event: Terminate
-On: 2011-11-01 14:19:59.874156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:20:23.867315 ------------------
-On: 2011-11-01 14:20:23.888632 Event: try to Connect to Controller
-On: 2011-11-01 14:20:25.174514 Event: init state
-On: 2011-11-01 14:20:25.174759 Event: Register Account to SIP server
-On: 2011-11-01 14:20:25.175168 Event: 100
-On: 2011-11-01 14:20:25.175248 Event: Caller Handler Ready
-On: 2011-11-01 14:20:30.305305 Event: CALL START
-On: 2011-11-01 14:20:30.305357 Event: Make a call to: 017678038038
-On: 2011-11-01 14:20:32.639958 Event: Call Connecting
-On: 2011-11-01 14:20:32.640004 Event: 200
-On: 2011-11-01 14:20:42.302947 Event: Terminate
-On: 2011-11-01 14:20:42.302982 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:24:50.710470 ------------------
-On: 2011-11-01 14:24:50.730681 Event: try to Connect to Controller
-On: 2011-11-01 14:24:52.031462 Event: init state
-On: 2011-11-01 14:24:52.031688 Event: Register Account to SIP server
-On: 2011-11-01 14:24:52.032092 Event: 100
-On: 2011-11-01 14:24:52.032173 Event: Caller Handler Ready
-On: 2011-11-01 14:24:57.160193 Event: CALL START
-On: 2011-11-01 14:24:57.160256 Event: Make a call to: 017678038038
-On: 2011-11-01 14:25:00.915168 Event: Call Connecting
-On: 2011-11-01 14:25:00.915219 Event: 200
-On: 2011-11-01 14:25:09.159025 Event: Terminate
-On: 2011-11-01 14:25:09.159058 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:25:12.895306 ------------------
-On: 2011-11-01 14:25:12.916497 Event: try to Connect to Controller
-On: 2011-11-01 14:25:14.206499 Event: init state
-On: 2011-11-01 14:25:14.206731 Event: Register Account to SIP server
-On: 2011-11-01 14:25:14.207470 Event: 100
-On: 2011-11-01 14:25:14.207550 Event: Caller Handler Ready
-On: 2011-11-01 14:25:19.336279 Event: CALL START
-On: 2011-11-01 14:25:19.336332 Event: Make a call to: 015128040906
-On: 2011-11-01 14:25:30.061883 Event: Call Connecting
-On: 2011-11-01 14:25:30.061930 Event: 200
-On: 2011-11-01 14:25:30.065871 Event: Terminate
-On: 2011-11-01 14:25:30.065925 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:25:33.811523 ------------------
-On: 2011-11-01 14:25:33.832404 Event: try to Connect to Controller
-On: 2011-11-01 14:25:35.118641 Event: init state
-On: 2011-11-01 14:25:35.118876 Event: Register Account to SIP server
-On: 2011-11-01 14:25:35.119288 Event: 100
-On: 2011-11-01 14:25:35.119369 Event: Caller Handler Ready
-On: 2011-11-01 14:25:40.245326 Event: CALL START
-On: 2011-11-01 14:25:40.245380 Event: Make a call to: 015252423662
-On: 2011-11-01 14:25:49.898976 Event: Call Connecting
-On: 2011-11-01 14:25:49.899023 Event: 200
-On: 2011-11-01 14:25:49.901917 Event: Terminate
-On: 2011-11-01 14:25:49.901972 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:25:53.642103 ------------------
-On: 2011-11-01 14:25:53.662998 Event: try to Connect to Controller
-On: 2011-11-01 14:25:54.941334 Event: init state
-On: 2011-11-01 14:25:54.941564 Event: Register Account to SIP server
-On: 2011-11-01 14:25:54.942009 Event: 100
-On: 2011-11-01 14:25:54.942091 Event: Caller Handler Ready
-On: 2011-11-01 14:26:06.165640 Event: CALL START
-On: 2011-11-01 14:26:06.165693 Event: Make a call to: 07612034661473
-On: 2011-11-01 14:26:08.196220 Event: Call Connecting
-On: 2011-11-01 14:26:08.196266 Event: 200
-On: 2011-11-01 14:26:08.264235 Event: Terminate
-On: 2011-11-01 14:26:08.264286 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:34:33.379310 ------------------
-On: 2011-11-01 14:34:33.399483 Event: try to Connect to Controller
-On: 2011-11-01 14:34:34.690652 Event: init state
-On: 2011-11-01 14:34:34.690878 Event: Register Account to SIP server
-On: 2011-11-01 14:34:34.691283 Event: 100
-On: 2011-11-01 14:34:34.691363 Event: Caller Handler Ready
-On: 2011-11-01 14:34:45.917831 Event: CALL START
-On: 2011-11-01 14:34:45.917885 Event: Make a call to: 07612034661473
-On: 2011-11-01 14:34:48.390849 Event: Call Connecting
-On: 2011-11-01 14:34:48.390895 Event: 200
-On: 2011-11-01 14:34:48.474893 Event: Terminate
-On: 2011-11-01 14:34:48.474944 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:39:32.697890 ------------------
-On: 2011-11-01 14:39:32.718765 Event: try to Connect to Controller
-On: 2011-11-01 14:39:34.005987 Event: init state
-On: 2011-11-01 14:39:34.006222 Event: Register Account to SIP server
-On: 2011-11-01 14:39:34.006628 Event: 100
-On: 2011-11-01 14:39:34.006707 Event: Caller Handler Ready
-On: 2011-11-01 14:39:39.133277 Event: CALL START
-On: 2011-11-01 14:39:39.133335 Event: Make a call to: 017678038038
-On: 2011-11-01 14:39:48.837121 Event: Call Connecting
-On: 2011-11-01 14:39:48.837166 Event: 200
-On: 2011-11-01 14:39:48.841189 Event: Terminate
-On: 2011-11-01 14:39:48.841242 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:43:08.831116 ------------------
-On: 2011-11-01 14:43:08.851498 Event: try to Connect to Controller
-On: 2011-11-01 14:43:10.141355 Event: init state
-On: 2011-11-01 14:43:10.141593 Event: Register Account to SIP server
-On: 2011-11-01 14:43:10.142043 Event: 100
-On: 2011-11-01 14:43:10.142127 Event: Caller Handler Ready
-On: 2011-11-01 14:43:15.269298 Event: CALL START
-On: 2011-11-01 14:43:15.269348 Event: Make a call to: 017678038038
-On: 2011-11-01 14:43:24.303803 Event: Call Connecting
-On: 2011-11-01 14:43:24.303849 Event: 200
-On: 2011-11-01 14:43:24.305921 Event: Terminate
-On: 2011-11-01 14:43:24.305976 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:44:26.692662 ------------------
-On: 2011-11-01 14:44:26.713233 Event: try to Connect to Controller
-On: 2011-11-01 14:44:28.005909 Event: init state
-On: 2011-11-01 14:44:28.006146 Event: Register Account to SIP server
-On: 2011-11-01 14:44:28.006555 Event: 100
-On: 2011-11-01 14:44:28.006635 Event: Caller Handler Ready
-On: 2011-11-01 14:44:33.137308 Event: CALL START
-On: 2011-11-01 14:44:33.137359 Event: Make a call to: 017678038038
-On: 2011-11-01 14:44:44.214014 Event: Call Connecting
-On: 2011-11-01 14:44:44.214060 Event: 200
-On: 2011-11-01 14:44:44.217915 Event: Terminate
-On: 2011-11-01 14:44:44.217970 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:00.420370 ------------------
-On: 2011-11-01 19:37:00.441377 Event: try to Connect to Controller
-On: 2011-11-01 19:37:01.738924 Event: init state
-On: 2011-11-01 19:37:01.739163 Event: Register Account to SIP server
-On: 2011-11-01 19:37:01.739573 Event: 100
-On: 2011-11-01 19:37:01.739654 Event: Caller Handler Ready
-On: 2011-11-01 19:37:06.841927 Event: CALL START
-On: 2011-11-01 19:37:06.841979 Event: Make a call to: 015782677224
-On: 2011-11-01 19:37:20.144472 Event: Call Connecting
-On: 2011-11-01 19:37:20.144518 Event: 200
-On: 2011-11-01 19:37:20.145940 Event: Terminate
-On: 2011-11-01 19:37:20.145998 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:23.878426 ------------------
-On: 2011-11-01 19:37:23.899069 Event: try to Connect to Controller
-On: 2011-11-01 19:37:25.193366 Event: init state
-On: 2011-11-01 19:37:25.193600 Event: Register Account to SIP server
-On: 2011-11-01 19:37:25.194055 Event: 100
-On: 2011-11-01 19:37:25.194137 Event: Caller Handler Ready
-On: 2011-11-01 19:37:30.296122 Event: CALL START
-On: 2011-11-01 19:37:30.296176 Event: Make a call to: 017678038038
-On: 2011-11-01 19:37:39.096431 Event: Call Connecting
-On: 2011-11-01 19:37:39.096476 Event: 200
-On: 2011-11-01 19:37:39.097940 Event: Terminate
-On: 2011-11-01 19:37:39.097998 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:37:42.849558 ------------------
-On: 2011-11-01 19:37:42.870157 Event: try to Connect to Controller
-On: 2011-11-01 19:37:44.152755 Event: init state
-On: 2011-11-01 19:37:44.152995 Event: Register Account to SIP server
-On: 2011-11-01 19:37:44.153397 Event: 100
-On: 2011-11-01 19:37:44.153477 Event: Caller Handler Ready
-On: 2011-11-01 19:37:49.257295 Event: CALL START
-On: 2011-11-01 19:37:49.257349 Event: Make a call to: 015128040906
-On: 2011-11-01 19:38:01.446737 Event: Call Connecting
-On: 2011-11-01 19:38:01.446783 Event: 200
-On: 2011-11-01 19:38:01.449922 Event: Terminate
-On: 2011-11-01 19:38:01.449977 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:00.166259 ------------------
-On: 2011-11-01 19:39:00.187502 Event: try to Connect to Controller
-On: 2011-11-01 19:39:01.434655 Event: init state
-On: 2011-11-01 19:39:01.434882 Event: Register Account to SIP server
-On: 2011-11-01 19:39:01.435282 Event: 100
-On: 2011-11-01 19:39:01.435362 Event: Receiver Handler Ready
-On: 2011-11-01 19:39:01.435695 Event: RECEIVE START
-On: 2011-11-01 19:39:06.637939 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-01 19:39:06.638435 Event: Call Connecting
-On: 2011-11-01 19:39:06.638473 Event: 200
-On: 2011-11-01 19:39:06.638724 Event: Answer call
-On: 2011-11-01 19:39:06.638777 Event: Hangup call
-On: 2011-11-01 19:39:06.638944 Event: CALL OK
-On: 2011-11-01 19:39:06.689667 Event: Call Disconnected
-On: 2011-11-01 19:39:07.150853 Event: Terminate
-On: 2011-11-01 19:39:07.150900 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:10.887241 ------------------
-On: 2011-11-01 19:39:10.908405 Event: try to Connect to Controller
-On: 2011-11-01 19:39:12.194179 Event: init state
-On: 2011-11-01 19:39:12.194412 Event: Register Account to SIP server
-On: 2011-11-01 19:39:12.194820 Event: 100
-On: 2011-11-01 19:39:12.194899 Event: Caller Handler Ready
-On: 2011-11-01 19:39:17.202344 Event: CALL START
-On: 2011-11-01 19:39:17.202402 Event: Make a call to: 076120397898
-On: 2011-11-01 19:39:17.256316 Event: Call Connecting
-On: 2011-11-01 19:39:17.256362 Event: 200
-On: 2011-11-01 19:39:17.257450 Event: Terminate
-On: 2011-11-01 19:39:17.257485 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:21.006379 ------------------
-On: 2011-11-01 19:39:21.026745 Event: try to Connect to Controller
-On: 2011-11-01 19:39:22.315088 Event: init state
-On: 2011-11-01 19:39:22.315322 Event: Register Account to SIP server
-On: 2011-11-01 19:39:22.315727 Event: 100
-On: 2011-11-01 19:39:22.315804 Event: Caller Handler Ready
-On: 2011-11-01 19:39:27.326671 Event: CALL START
-On: 2011-11-01 19:39:27.326725 Event: Make a call to: 076145875681
-On: 2011-11-01 19:39:35.357884 Event: Call Connecting
-On: 2011-11-01 19:39:35.357931 Event: 200
-On: 2011-11-01 19:39:35.358835 Event: Terminate
-On: 2011-11-01 19:39:35.358882 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:47.307278 ------------------
-On: 2011-11-01 19:39:47.328264 Event: try to Connect to Controller
-On: 2011-11-01 19:39:48.622289 Event: init state
-On: 2011-11-01 19:39:48.622517 Event: Register Account to SIP server
-On: 2011-11-01 19:39:48.622921 Event: 100
-On: 2011-11-01 19:39:48.622998 Event: Receiver Handler Ready
-On: 2011-11-01 19:39:48.623393 Event: RECEIVE START
-On: 2011-11-01 19:39:50.552890 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-01 19:39:50.553373 Event: Call Connecting
-On: 2011-11-01 19:39:50.553410 Event: 200
-On: 2011-11-01 19:39:50.553831 Event: Answer call
-On: 2011-11-01 19:39:50.553904 Event: Hangup call
-On: 2011-11-01 19:39:50.554085 Event: CALL OK
-On: 2011-11-01 19:39:50.604769 Event: Call Disconnected
-On: 2011-11-01 19:39:51.794783 Event: Terminate
-On: 2011-11-01 19:39:51.794820 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:55.542650 ------------------
-On: 2011-11-01 19:39:55.563643 Event: try to Connect to Controller
-On: 2011-11-01 19:39:56.853848 Event: init state
-On: 2011-11-01 19:39:56.854088 Event: Register Account to SIP server
-On: 2011-11-01 19:39:56.854861 Event: 100
-On: 2011-11-01 19:39:56.854940 Event: Caller Handler Ready
-On: 2011-11-01 19:40:02.001280 Event: CALL START
-On: 2011-11-01 19:40:02.001333 Event: Make a call to: 07612034661449
-On: 2011-11-01 19:40:03.801438 Event: Call Connecting
-On: 2011-11-01 19:40:03.801483 Event: 200
-On: 2011-11-01 19:40:03.874119 Event: Terminate
-On: 2011-11-01 19:40:03.874152 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:11:21.294356 ------------------
-On: 2011-11-01 20:11:21.315107 Event: try to Connect to Controller
-On: 2011-11-01 20:11:22.606500 Event: init state
-On: 2011-11-01 20:11:22.606724 Event: Register Account to SIP server
-On: 2011-11-01 20:11:22.607134 Event: 100
-On: 2011-11-01 20:11:22.607213 Event: Caller Handler Ready
-On: 2011-11-01 20:11:27.756178 Event: CALL START
-On: 2011-11-01 20:11:27.756231 Event: Make a call to: 07612034661449
-On: 2011-11-01 20:11:30.477642 Event: Call Connecting
-On: 2011-11-01 20:11:30.477688 Event: 200
-On: 2011-11-01 20:11:30.526160 Event: Terminate
-On: 2011-11-01 20:11:30.526193 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:13:38.927492 ------------------
-On: 2011-11-01 20:13:38.948137 Event: try to Connect to Controller
-On: 2011-11-01 20:13:40.242327 Event: init state
-On: 2011-11-01 20:13:40.242560 Event: Register Account to SIP server
-On: 2011-11-01 20:13:40.242966 Event: 100
-On: 2011-11-01 20:13:40.243045 Event: Caller Handler Ready
-On: 2011-11-01 20:13:45.368477 Event: CALL START
-On: 2011-11-01 20:13:45.368528 Event: Make a call to: 015782677224
-On: 2011-11-01 20:13:50.930703 Event: Call Connecting
-On: 2011-11-01 20:13:50.930749 Event: 200
-On: 2011-11-01 20:13:57.368655 Event: Terminate
-On: 2011-11-01 20:13:57.368791 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:14:01.114930 ------------------
-On: 2011-11-01 20:14:01.135912 Event: try to Connect to Controller
-On: 2011-11-01 20:14:02.417723 Event: init state
-On: 2011-11-01 20:14:02.418001 Event: Register Account to SIP server
-On: 2011-11-01 20:14:02.418405 Event: 100
-On: 2011-11-01 20:14:02.418486 Event: Caller Handler Ready
-On: 2011-11-01 20:14:07.549301 Event: CALL START
-On: 2011-11-01 20:14:07.549354 Event: Make a call to: 017678038038
-On: 2011-11-01 20:14:16.184394 Event: Call Connecting
-On: 2011-11-01 20:14:16.184439 Event: 200
-On: 2011-11-01 20:14:16.188242 Event: Terminate
-On: 2011-11-01 20:14:16.188296 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:14:19.942106 ------------------
-On: 2011-11-01 20:14:19.967103 Event: try to Connect to Controller
-On: 2011-11-01 20:14:21.242382 Event: init state
-On: 2011-11-01 20:14:21.242615 Event: Register Account to SIP server
-On: 2011-11-01 20:14:21.243018 Event: 100
-On: 2011-11-01 20:14:21.243098 Event: Caller Handler Ready
-On: 2011-11-01 20:14:28.261508 Event: Terminate
-On: 2011-11-01 20:14:28.261543 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:40.739439 ------------------
-On: 2011-11-02 13:07:40.759446 Event: try to Connect to Controller
-On: 2011-11-02 13:07:42.003046 Event: init state
-On: 2011-11-02 13:07:42.003286 Event: Register Account to SIP server
-On: 2011-11-02 13:07:42.003714 Event: 100
-On: 2011-11-02 13:07:42.003798 Event: Caller Handler Ready
-On: 2011-11-02 13:07:47.137982 Event: CALL START
-On: 2011-11-02 13:07:47.138039 Event: Make a call to: 015782677224
-On: 2011-11-02 13:07:53.368553 Event: Call Connecting
-On: 2011-11-02 13:07:53.368605 Event: 200
-On: 2011-11-02 13:07:59.136290 Event: Terminate
-On: 2011-11-02 13:07:59.136326 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:02.913522 ------------------
-On: 2011-11-02 13:08:02.934326 Event: try to Connect to Controller
-On: 2011-11-02 13:08:04.188473 Event: init state
-On: 2011-11-02 13:08:04.188713 Event: Register Account to SIP server
-On: 2011-11-02 13:08:04.189141 Event: 100
-On: 2011-11-02 13:08:04.189227 Event: Caller Handler Ready
-On: 2011-11-02 13:08:09.321711 Event: CALL START
-On: 2011-11-02 13:08:09.321772 Event: Make a call to: 017678038038
-On: 2011-11-02 13:08:18.314714 Event: Call Connecting
-On: 2011-11-02 13:08:18.314765 Event: 200
-On: 2011-11-02 13:08:18.318148 Event: Terminate
-On: 2011-11-02 13:08:18.318210 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:22.124266 ------------------
-On: 2011-11-02 13:08:22.148829 Event: try to Connect to Controller
-On: 2011-11-02 13:08:23.375112 Event: init state
-On: 2011-11-02 13:08:23.375352 Event: Register Account to SIP server
-On: 2011-11-02 13:08:23.376136 Event: 100
-On: 2011-11-02 13:08:23.376221 Event: Caller Handler Ready
-On: 2011-11-02 13:08:28.501728 Event: CALL START
-On: 2011-11-02 13:08:28.501802 Event: Make a call to: 015128040906
-On: 2011-11-02 13:08:39.123661 Event: Call Connecting
-On: 2011-11-02 13:08:39.123713 Event: 200
-On: 2011-11-02 13:08:39.126147 Event: Terminate
-On: 2011-11-02 13:08:39.126210 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:43.127259 ------------------
-On: 2011-11-02 13:08:43.164602 Event: try to Connect to Controller
-On: 2011-11-02 13:08:44.199053 Event: init state
-On: 2011-11-02 13:08:44.199284 Event: Register Account to SIP server
-On: 2011-11-02 13:08:44.199716 Event: 100
-On: 2011-11-02 13:08:44.199804 Event: Caller Handler Ready
-On: 2011-11-02 13:08:51.240508 Event: Terminate
-On: 2011-11-02 13:08:51.240542 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:08:55.279946 ------------------
-On: 2011-11-02 13:08:55.302861 Event: try to Connect to Controller
-On: 2011-11-02 13:08:56.298324 Event: init state
-On: 2011-11-02 13:08:56.298710 Event: Register Account to SIP server
-On: 2011-11-02 13:08:56.299170 Event: 100
-On: 2011-11-02 13:08:56.299259 Event: Caller Handler Ready
-On: 2011-11-02 13:09:04.317845 Event: Terminate
-On: 2011-11-02 13:09:04.317879 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:09:08.329401 ------------------
-On: 2011-11-02 13:09:08.374935 Event: try to Connect to Controller
-On: 2011-11-02 13:09:09.378346 Event: init state
-On: 2011-11-02 13:09:09.378589 Event: Register Account to SIP server
-On: 2011-11-02 13:09:09.379011 Event: 100
-On: 2011-11-02 13:09:09.379097 Event: Caller Handler Ready
-On: 2011-11-02 13:09:14.390879 Event: CALL START
-On: 2011-11-02 13:09:14.390939 Event: Make a call to: 076145875681
-On: 2011-11-02 13:09:29.396735 Event: Call Connecting
-On: 2011-11-02 13:09:29.396786 Event: 200
-On: 2011-11-02 13:09:29.398382 Event: Terminate
-On: 2011-11-02 13:09:29.398432 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:11:38.293601 ------------------
-On: 2011-11-02 13:11:38.313905 Event: try to Connect to Controller
-On: 2011-11-02 13:11:39.559865 Event: init state
-On: 2011-11-02 13:11:39.560100 Event: Register Account to SIP server
-On: 2011-11-02 13:11:39.560519 Event: 100
-On: 2011-11-02 13:11:39.560602 Event: Caller Handler Ready
-On: 2011-11-02 13:11:44.721673 Event: CALL START
-On: 2011-11-02 13:11:44.721729 Event: Make a call to: 07612034661449
-On: 2011-11-02 13:11:46.916942 Event: Call Connecting
-On: 2011-11-02 13:11:46.916990 Event: 200
-On: 2011-11-02 13:11:46.982530 Event: Terminate
-On: 2011-11-02 13:11:46.982566 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:49.792541 ------------------
-On: 2011-11-02 13:19:49.813183 Event: try to Connect to Controller
-On: 2011-11-02 13:19:50.979423 Event: init state
-On: 2011-11-02 13:19:50.979658 Event: Register Account to SIP server
-On: 2011-11-02 13:19:50.980085 Event: 100
-On: 2011-11-02 13:19:50.980173 Event: Caller Handler Ready
-On: 2011-11-02 13:19:56.112994 Event: CALL START
-On: 2011-11-02 13:19:56.113057 Event: Make a call to: 015782677224
-On: 2011-11-02 13:20:02.421186 Event: Call Connecting
-On: 2011-11-02 13:20:02.421235 Event: 200
-On: 2011-11-02 13:20:08.111275 Event: Terminate
-On: 2011-11-02 13:20:08.111309 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:20:12.024085 ------------------
-On: 2011-11-02 13:20:12.044840 Event: try to Connect to Controller
-On: 2011-11-02 13:20:13.171490 Event: init state
-On: 2011-11-02 13:20:13.171730 Event: Register Account to SIP server
-On: 2011-11-02 13:20:13.172164 Event: 100
-On: 2011-11-02 13:20:13.172247 Event: Caller Handler Ready
-On: 2011-11-02 13:20:18.297311 Event: CALL START
-On: 2011-11-02 13:20:18.297370 Event: Make a call to: 015128040906
-On: 2011-11-02 13:20:30.802138 Event: Call Connecting
-On: 2011-11-02 13:20:30.802188 Event: 200
-On: 2011-11-02 13:20:30.806136 Event: Terminate
-On: 2011-11-02 13:20:30.806195 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:20:34.726825 ------------------
-On: 2011-11-02 13:20:34.763625 Event: try to Connect to Controller
-On: 2011-11-02 13:20:35.867044 Event: init state
-On: 2011-11-02 13:20:35.867289 Event: Register Account to SIP server
-On: 2011-11-02 13:20:35.867710 Event: 100
-On: 2011-11-02 13:20:35.867795 Event: Caller Handler Ready
-On: 2011-11-02 13:20:42.893057 Event: Terminate
-On: 2011-11-02 13:20:42.893093 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:20:46.793345 ------------------
-On: 2011-11-02 13:20:46.818345 Event: try to Connect to Controller
-On: 2011-11-02 13:20:47.939534 Event: init state
-On: 2011-11-02 13:20:47.939777 Event: Register Account to SIP server
-On: 2011-11-02 13:20:47.940193 Event: 100
-On: 2011-11-02 13:20:47.940277 Event: Caller Handler Ready
-On: 2011-11-02 13:20:55.954993 Event: Terminate
-On: 2011-11-02 13:20:55.955027 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:20:59.884683 ------------------
-On: 2011-11-02 13:20:59.905104 Event: try to Connect to Controller
-On: 2011-11-02 13:21:01.010090 Event: init state
-On: 2011-11-02 13:21:01.010338 Event: Register Account to SIP server
-On: 2011-11-02 13:21:01.010758 Event: 100
-On: 2011-11-02 13:21:01.010846 Event: Caller Handler Ready
-On: 2011-11-02 13:21:06.018854 Event: CALL START
-On: 2011-11-02 13:21:06.018913 Event: Make a call to: 076120397898
-On: 2011-11-02 13:21:06.107304 Event: Call Connecting
-On: 2011-11-02 13:21:06.107354 Event: 200
-On: 2011-11-02 13:21:06.110269 Event: Terminate
-On: 2011-11-02 13:21:06.110329 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:21:10.051646 ------------------
-On: 2011-11-02 13:21:10.076215 Event: try to Connect to Controller
-On: 2011-11-02 13:21:11.151707 Event: init state
-On: 2011-11-02 13:21:11.151948 Event: Register Account to SIP server
-On: 2011-11-02 13:21:11.152368 Event: 100
-On: 2011-11-02 13:21:11.152454 Event: Caller Handler Ready
-On: 2011-11-02 13:21:19.167374 Event: Terminate
-On: 2011-11-02 13:21:19.167408 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:21:23.127830 ------------------
-On: 2011-11-02 13:21:23.148217 Event: try to Connect to Controller
-On: 2011-11-02 13:21:24.227435 Event: init state
-On: 2011-11-02 13:21:24.227675 Event: Register Account to SIP server
-On: 2011-11-02 13:21:24.228097 Event: 100
-On: 2011-11-02 13:21:24.228183 Event: Caller Handler Ready
-On: 2011-11-02 13:21:29.237693 Event: CALL START
-On: 2011-11-02 13:21:29.237756 Event: Make a call to: 076145875681
-On: 2011-11-02 13:21:33.292001 Event: Call Connecting
-On: 2011-11-02 13:21:33.292050 Event: 200
-On: 2011-11-02 13:21:33.293676 Event: Terminate
-On: 2011-11-02 13:21:33.293727 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:24:56.563980 ------------------
-On: 2011-11-02 13:24:56.588302 Event: try to Connect to Controller
-On: 2011-11-02 13:24:57.717610 Event: init state
-On: 2011-11-02 13:24:57.717899 Event: Register Account to SIP server
-On: 2011-11-02 13:24:57.718361 Event: 100
-On: 2011-11-02 13:24:57.718450 Event: Caller Handler Ready
-On: 2011-11-02 13:25:04.742045 Event: Terminate
-On: 2011-11-02 13:25:04.742081 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:50.116416 ------------------
-On: 2011-11-02 13:42:50.161326 Event: try to Connect to Controller
-On: 2011-11-02 13:42:51.089044 Event: init state
-On: 2011-11-02 13:42:51.089286 Event: Register Account to SIP server
-On: 2011-11-02 13:42:51.089708 Event: 100
-On: 2011-11-02 13:42:51.089794 Event: Caller Handler Ready
-On: 2011-11-02 13:42:56.213867 Event: CALL START
-On: 2011-11-02 13:42:56.213931 Event: Make a call to: 015782677224
-On: 2011-11-02 13:43:02.476906 Event: Call Connecting
-On: 2011-11-02 13:43:02.476955 Event: 200
-On: 2011-11-02 13:43:08.211514 Event: Terminate
-On: 2011-11-02 13:43:08.211549 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:43:12.959280 ------------------
-On: 2011-11-02 13:43:13.014824 Event: try to Connect to Controller
-On: 2011-11-02 13:43:13.290652 Event: init state
-On: 2011-11-02 13:43:13.290891 Event: Register Account to SIP server
-On: 2011-11-02 13:43:13.291312 Event: 100
-On: 2011-11-02 13:43:13.291400 Event: Caller Handler Ready
-On: 2011-11-02 13:43:18.410888 Event: CALL START
-On: 2011-11-02 13:43:18.410949 Event: Make a call to: 017678038038
-On: 2011-11-02 13:43:28.784932 Event: Call Connecting
-On: 2011-11-02 13:43:28.784983 Event: 200
-On: 2011-11-02 13:43:28.789593 Event: Terminate
-On: 2011-11-02 13:43:28.789651 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:43:32.771766 ------------------
-On: 2011-11-02 13:43:32.801065 Event: try to Connect to Controller
-On: 2011-11-02 13:43:33.854124 Event: init state
-On: 2011-11-02 13:43:33.854367 Event: Register Account to SIP server
-On: 2011-11-02 13:43:33.854809 Event: 100
-On: 2011-11-02 13:43:33.854895 Event: Caller Handler Ready
-On: 2011-11-02 13:43:38.993982 Event: CALL START
-On: 2011-11-02 13:43:38.994037 Event: Make a call to: 015128040906
-On: 2011-11-02 13:43:52.646535 Event: Call Connecting
-On: 2011-11-02 13:43:52.646585 Event: 200
-On: 2011-11-02 13:43:52.650141 Event: Terminate
-On: 2011-11-02 13:43:52.650202 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:43:56.558912 ------------------
-On: 2011-11-02 13:43:56.579764 Event: try to Connect to Controller
-On: 2011-11-02 13:43:57.709585 Event: init state
-On: 2011-11-02 13:43:57.709879 Event: Register Account to SIP server
-On: 2011-11-02 13:43:57.710339 Event: 100
-On: 2011-11-02 13:43:57.710426 Event: Caller Handler Ready
-On: 2011-11-02 13:44:04.733946 Event: Terminate
-On: 2011-11-02 13:44:04.734016 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:44:08.605092 ------------------
-On: 2011-11-02 13:44:08.625514 Event: try to Connect to Controller
-On: 2011-11-02 13:44:09.787067 Event: init state
-On: 2011-11-02 13:44:09.787301 Event: Register Account to SIP server
-On: 2011-11-02 13:44:09.787716 Event: 100
-On: 2011-11-02 13:44:09.787801 Event: Caller Handler Ready
-On: 2011-11-02 13:44:17.804842 Event: Terminate
-On: 2011-11-02 13:44:17.804875 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:44:21.674644 ------------------
-On: 2011-11-02 13:44:21.694845 Event: try to Connect to Controller
-On: 2011-11-02 13:44:22.864504 Event: init state
-On: 2011-11-02 13:44:22.864744 Event: Register Account to SIP server
-On: 2011-11-02 13:44:22.865530 Event: 100
-On: 2011-11-02 13:44:22.865621 Event: Caller Handler Ready
-On: 2011-11-02 13:44:27.875175 Event: CALL START
-On: 2011-11-02 13:44:27.875237 Event: Make a call to: 076145875681
-On: 2011-11-02 13:44:31.529796 Event: Call Connecting
-On: 2011-11-02 13:44:31.529845 Event: 200
-On: 2011-11-02 13:44:31.531569 Event: Terminate
-On: 2011-11-02 13:44:31.531619 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:56:10.676173 ------------------
-On: 2011-11-02 13:56:10.696955 Event: try to Connect to Controller
-On: 2011-11-02 13:56:12.002547 Event: init state
-On: 2011-11-02 13:56:12.002807 Event: Register Account to SIP server
-On: 2011-11-02 13:56:12.003234 Event: 100
-On: 2011-11-02 13:56:12.003321 Event: Caller Handler Ready
-On: 2011-11-02 13:56:17.129689 Event: CALL START
-On: 2011-11-02 13:56:17.129745 Event: Make a call to: 017678038038
-On: 2011-11-02 13:56:26.160839 Event: Call Connecting
-On: 2011-11-02 13:56:26.160889 Event: 200
-On: 2011-11-02 13:56:26.164944 Event: Terminate
-On: 2011-11-02 13:56:26.165003 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:56:29.886168 ------------------
-On: 2011-11-02 13:56:29.906346 Event: try to Connect to Controller
-On: 2011-11-02 13:56:31.207128 Event: init state
-On: 2011-11-02 13:56:31.207368 Event: Register Account to SIP server
-On: 2011-11-02 13:56:31.207786 Event: 100
-On: 2011-11-02 13:56:31.207871 Event: Caller Handler Ready
-On: 2011-11-02 13:56:36.337708 Event: CALL START
-On: 2011-11-02 13:56:36.337762 Event: Make a call to: 015128040906
-On: 2011-11-02 13:56:48.267336 Event: Call Connecting
-On: 2011-11-02 13:56:48.267385 Event: 200
-On: 2011-11-02 13:56:48.271267 Event: Terminate
-On: 2011-11-02 13:56:48.271326 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:56:52.030560 ------------------
-On: 2011-11-02 13:56:52.050492 Event: try to Connect to Controller
-On: 2011-11-02 13:56:53.314295 Event: init state
-On: 2011-11-02 13:56:53.314433 Event: Register Account to SIP server
-On: 2011-11-02 13:56:53.314870 Event: 100
-On: 2011-11-02 13:56:53.314961 Event: Caller Handler Ready
-On: 2011-11-02 13:57:00.334266 Event: Terminate
-On: 2011-11-02 13:57:00.334301 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:04.114706 ------------------
-On: 2011-11-02 13:57:04.141614 Event: try to Connect to Controller
-On: 2011-11-02 13:57:05.382623 Event: init state
-On: 2011-11-02 13:57:05.382878 Event: Register Account to SIP server
-On: 2011-11-02 13:57:05.383301 Event: 100
-On: 2011-11-02 13:57:05.383387 Event: Caller Handler Ready
-On: 2011-11-02 13:57:13.397323 Event: Terminate
-On: 2011-11-02 13:57:13.397362 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:17.167942 ------------------
-On: 2011-11-02 13:57:17.194758 Event: try to Connect to Controller
-On: 2011-11-02 13:57:18.439013 Event: init state
-On: 2011-11-02 13:57:18.439262 Event: Register Account to SIP server
-On: 2011-11-02 13:57:18.439680 Event: 100
-On: 2011-11-02 13:57:18.439767 Event: Caller Handler Ready
-On: 2011-11-02 13:57:23.447033 Event: CALL START
-On: 2011-11-02 13:57:23.447094 Event: Make a call to: 076120397898
-On: 2011-11-02 13:57:23.499854 Event: Call Connecting
-On: 2011-11-02 13:57:23.499902 Event: 200
-On: 2011-11-02 13:57:23.500336 Event: Terminate
-On: 2011-11-02 13:57:23.500367 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:27.265993 ------------------
-On: 2011-11-02 13:57:27.293011 Event: try to Connect to Controller
-On: 2011-11-02 13:57:28.546431 Event: init state
-On: 2011-11-02 13:57:28.546671 Event: Register Account to SIP server
-On: 2011-11-02 13:57:28.547090 Event: 100
-On: 2011-11-02 13:57:28.547174 Event: Caller Handler Ready
-On: 2011-11-02 13:57:33.692851 Event: CALL START
-On: 2011-11-02 13:57:33.692904 Event: Make a call to: 07612034661449
-On: 2011-11-02 13:57:36.304476 Event: Call Connecting
-On: 2011-11-02 13:57:36.304522 Event: 200
-On: 2011-11-02 13:57:36.354471 Event: Terminate
-On: 2011-11-02 13:57:36.354506 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:40.128441 ------------------
-On: 2011-11-02 13:57:40.148527 Event: try to Connect to Controller
-On: 2011-11-02 13:57:41.395087 Event: init state
-On: 2011-11-02 13:57:41.395323 Event: Register Account to SIP server
-On: 2011-11-02 13:57:41.395745 Event: 100
-On: 2011-11-02 13:57:41.395832 Event: Caller Handler Ready
-On: 2011-11-02 13:57:49.411596 Event: Terminate
-On: 2011-11-02 13:57:49.411630 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:53.336086 ------------------
-On: 2011-11-02 13:57:53.355955 Event: try to Connect to Controller
-On: 2011-11-02 13:57:54.470685 Event: init state
-On: 2011-11-02 13:57:54.470921 Event: Register Account to SIP server
-On: 2011-11-02 13:57:54.471341 Event: 100
-On: 2011-11-02 13:57:54.471429 Event: Caller Handler Ready
-On: 2011-11-02 13:57:59.481770 Event: CALL START
-On: 2011-11-02 13:57:59.481827 Event: Make a call to: 076145875681
-On: 2011-11-02 13:58:03.962244 Event: Call Connecting
-On: 2011-11-02 13:58:03.962291 Event: 200
-On: 2011-11-02 13:58:03.963410 Event: Terminate
-On: 2011-11-02 13:58:03.963444 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:04:45.075703 ------------------
-On: 2011-11-02 14:04:45.095987 Event: try to Connect to Controller
-On: 2011-11-02 14:04:46.176576 Event: init state
-On: 2011-11-02 14:04:46.177491 Event: Register Account to SIP server
-On: 2011-11-02 14:04:46.177942 Event: 100
-On: 2011-11-02 14:04:46.178322 Event: Caller Handler Ready
-On: 2011-11-02 14:04:51.349244 Event: CALL START
-On: 2011-11-02 14:04:51.349312 Event: Make a call to: 017678038038
-On: 2011-11-02 14:05:00.433566 Event: Call Connecting
-On: 2011-11-02 14:05:00.433615 Event: 200
-On: 2011-11-02 14:05:00.438251 Event: Terminate
-On: 2011-11-02 14:05:00.438309 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:04.199551 ------------------
-On: 2011-11-02 14:05:04.267986 Event: try to Connect to Controller
-On: 2011-11-02 14:05:05.483091 Event: init state
-On: 2011-11-02 14:05:05.483328 Event: Register Account to SIP server
-On: 2011-11-02 14:05:05.483752 Event: 100
-On: 2011-11-02 14:05:05.483837 Event: Caller Handler Ready
-On: 2011-11-02 14:05:10.617278 Event: CALL START
-On: 2011-11-02 14:05:10.617334 Event: Make a call to: 015128040906
-On: 2011-11-02 14:05:23.744195 Event: Call Connecting
-On: 2011-11-02 14:05:23.744244 Event: 200
-On: 2011-11-02 14:05:23.749252 Event: Terminate
-On: 2011-11-02 14:05:23.749313 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:28.132567 ------------------
-On: 2011-11-02 14:05:28.153886 Event: try to Connect to Controller
-On: 2011-11-02 14:05:28.842233 Event: init state
-On: 2011-11-02 14:05:28.842470 Event: Register Account to SIP server
-On: 2011-11-02 14:05:28.842896 Event: 100
-On: 2011-11-02 14:05:28.842978 Event: Caller Handler Ready
-On: 2011-11-02 14:05:35.875102 Event: Terminate
-On: 2011-11-02 14:05:35.875137 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:39.664174 ------------------
-On: 2011-11-02 14:05:39.690809 Event: try to Connect to Controller
-On: 2011-11-02 14:05:40.969820 Event: init state
-On: 2011-11-02 14:05:40.970216 Event: Register Account to SIP server
-On: 2011-11-02 14:05:40.970677 Event: 100
-On: 2011-11-02 14:05:40.970761 Event: Caller Handler Ready
-On: 2011-11-02 14:05:48.982054 Event: Terminate
-On: 2011-11-02 14:05:48.982090 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:52.709844 ------------------
-On: 2011-11-02 14:05:52.730142 Event: try to Connect to Controller
-On: 2011-11-02 14:05:54.025795 Event: init state
-On: 2011-11-02 14:05:54.026104 Event: Register Account to SIP server
-On: 2011-11-02 14:05:54.026533 Event: 100
-On: 2011-11-02 14:05:54.026618 Event: Caller Handler Ready
-On: 2011-11-02 14:05:59.032783 Event: CALL START
-On: 2011-11-02 14:05:59.032842 Event: Make a call to: 076120397898
-On: 2011-11-02 14:05:59.077792 Event: Call Connecting
-On: 2011-11-02 14:05:59.077842 Event: 200
-On: 2011-11-02 14:05:59.078468 Event: Terminate
-On: 2011-11-02 14:05:59.078515 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:02.818173 ------------------
-On: 2011-11-02 14:06:02.838383 Event: try to Connect to Controller
-On: 2011-11-02 14:06:04.123015 Event: init state
-On: 2011-11-02 14:06:04.123248 Event: Register Account to SIP server
-On: 2011-11-02 14:06:04.123665 Event: 100
-On: 2011-11-02 14:06:04.123750 Event: Caller Handler Ready
-On: 2011-11-02 14:06:12.135811 Event: Terminate
-On: 2011-11-02 14:06:12.135846 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:15.993106 ------------------
-On: 2011-11-02 14:06:16.027995 Event: try to Connect to Controller
-On: 2011-11-02 14:06:17.182885 Event: init state
-On: 2011-11-02 14:06:17.183135 Event: Register Account to SIP server
-On: 2011-11-02 14:06:17.183550 Event: 100
-On: 2011-11-02 14:06:17.183635 Event: Caller Handler Ready
-On: 2011-11-02 14:06:22.341612 Event: CALL START
-On: 2011-11-02 14:06:22.341667 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:06:24.727128 Event: Call Connecting
-On: 2011-11-02 14:06:24.727175 Event: 200
-On: 2011-11-02 14:06:24.782543 Event: Terminate
-On: 2011-11-02 14:06:24.782579 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:28.616250 ------------------
-On: 2011-11-02 14:06:28.642992 Event: try to Connect to Controller
-On: 2011-11-02 14:06:29.826954 Event: init state
-On: 2011-11-02 14:06:29.827189 Event: Register Account to SIP server
-On: 2011-11-02 14:06:29.827606 Event: 100
-On: 2011-11-02 14:06:29.827690 Event: Caller Handler Ready
-On: 2011-11-02 14:06:37.844097 Event: Terminate
-On: 2011-11-02 14:06:37.844132 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:06:41.661165 ------------------
-On: 2011-11-02 14:06:41.681489 Event: try to Connect to Controller
-On: 2011-11-02 14:06:42.901434 Event: init state
-On: 2011-11-02 14:06:42.901679 Event: Register Account to SIP server
-On: 2011-11-02 14:06:42.902314 Event: 100
-On: 2011-11-02 14:06:42.902413 Event: Caller Handler Ready
-On: 2011-11-02 14:06:47.910898 Event: CALL START
-On: 2011-11-02 14:06:47.910963 Event: Make a call to: 076145875681
-On: 2011-11-02 14:06:52.953196 Event: Call Connecting
-On: 2011-11-02 14:06:52.953246 Event: 200
-On: 2011-11-02 14:06:52.954440 Event: Terminate
-On: 2011-11-02 14:06:52.954475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:42.665364 ------------------
-On: 2011-11-02 14:19:42.716425 Event: try to Connect to Controller
-On: 2011-11-02 14:19:43.709682 Event: init state
-On: 2011-11-02 14:19:43.709908 Event: Register Account to SIP server
-On: 2011-11-02 14:19:43.710367 Event: 100
-On: 2011-11-02 14:19:43.710455 Event: Caller Handler Ready
-On: 2011-11-02 14:19:48.853820 Event: CALL START
-On: 2011-11-02 14:19:48.853874 Event: Make a call to: 015782677224
-On: 2011-11-02 14:19:55.634282 Event: Call Connecting
-On: 2011-11-02 14:19:55.634329 Event: 200
-On: 2011-11-02 14:20:00.851445 Event: Terminate
-On: 2011-11-02 14:20:00.851479 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:04.602917 ------------------
-On: 2011-11-02 14:20:04.622890 Event: try to Connect to Controller
-On: 2011-11-02 14:20:05.898012 Event: init state
-On: 2011-11-02 14:20:05.898430 Event: Register Account to SIP server
-On: 2011-11-02 14:20:05.898852 Event: 100
-On: 2011-11-02 14:20:05.898937 Event: Caller Handler Ready
-On: 2011-11-02 14:20:11.001781 Event: CALL START
-On: 2011-11-02 14:20:11.001838 Event: Make a call to: 017678038038
-On: 2011-11-02 14:20:21.769529 Event: Call Connecting
-On: 2011-11-02 14:20:21.769576 Event: 200
-On: 2011-11-02 14:20:21.773694 Event: Terminate
-On: 2011-11-02 14:20:21.773754 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:25.503165 ------------------
-On: 2011-11-02 14:20:25.523450 Event: try to Connect to Controller
-On: 2011-11-02 14:20:26.816219 Event: init state
-On: 2011-11-02 14:20:26.816459 Event: Register Account to SIP server
-On: 2011-11-02 14:20:26.816876 Event: 100
-On: 2011-11-02 14:20:26.816959 Event: Caller Handler Ready
-On: 2011-11-02 14:20:31.941696 Event: CALL START
-On: 2011-11-02 14:20:31.941748 Event: Make a call to: 015128040906
-On: 2011-11-02 14:20:41.807590 Event: Call Connecting
-On: 2011-11-02 14:20:41.807639 Event: 200
-On: 2011-11-02 14:20:41.810132 Event: Terminate
-On: 2011-11-02 14:20:41.810190 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:45.538864 ------------------
-On: 2011-11-02 14:20:45.559017 Event: try to Connect to Controller
-On: 2011-11-02 14:20:46.856830 Event: init state
-On: 2011-11-02 14:20:46.857080 Event: Register Account to SIP server
-On: 2011-11-02 14:20:46.857504 Event: 100
-On: 2011-11-02 14:20:46.857591 Event: Caller Handler Ready
-On: 2011-11-02 14:20:53.877512 Event: Terminate
-On: 2011-11-02 14:20:53.877547 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:20:57.623435 ------------------
-On: 2011-11-02 14:20:57.643645 Event: try to Connect to Controller
-On: 2011-11-02 14:20:58.922709 Event: init state
-On: 2011-11-02 14:20:58.922950 Event: Register Account to SIP server
-On: 2011-11-02 14:20:58.923382 Event: 100
-On: 2011-11-02 14:20:58.923461 Event: Caller Handler Ready
-On: 2011-11-02 14:21:06.935747 Event: Terminate
-On: 2011-11-02 14:21:06.935785 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:21:11.526824 ------------------
-On: 2011-11-02 14:21:11.549676 Event: try to Connect to Controller
-On: 2011-11-02 14:21:12.051103 Event: init state
-On: 2011-11-02 14:21:12.051333 Event: Register Account to SIP server
-On: 2011-11-02 14:21:12.051760 Event: 100
-On: 2011-11-02 14:21:12.051847 Event: Caller Handler Ready
-On: 2011-11-02 14:21:17.061592 Event: CALL START
-On: 2011-11-02 14:21:17.061653 Event: Make a call to: 076145875681
-On: 2011-11-02 14:21:21.280168 Event: Call Connecting
-On: 2011-11-02 14:21:21.280218 Event: 200
-On: 2011-11-02 14:21:21.280641 Event: Terminate
-On: 2011-11-02 14:21:21.280674 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:22:03.741579 ------------------
-On: 2011-11-02 14:22:03.761835 Event: try to Connect to Controller
-On: 2011-11-02 14:22:04.845457 Event: init state
-On: 2011-11-02 14:22:04.845694 Event: Register Account to SIP server
-On: 2011-11-02 14:22:04.846177 Event: 100
-On: 2011-11-02 14:22:04.846262 Event: Caller Handler Ready
-On: 2011-11-02 14:22:10.001587 Event: CALL START
-On: 2011-11-02 14:22:10.001648 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:22:12.168283 Event: Call Connecting
-On: 2011-11-02 14:22:12.168332 Event: 200
-On: 2011-11-02 14:22:12.218546 Event: Terminate
-On: 2011-11-02 14:22:12.218582 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:22:42.161558 ------------------
-On: 2011-11-02 14:22:42.181738 Event: try to Connect to Controller
-On: 2011-11-02 14:22:43.231232 Event: init state
-On: 2011-11-02 14:22:43.231469 Event: Register Account to SIP server
-On: 2011-11-02 14:22:43.232252 Event: 100
-On: 2011-11-02 14:22:43.232336 Event: Caller Handler Ready
-On: 2011-11-02 14:22:51.247627 Event: Terminate
-On: 2011-11-02 14:22:51.247662 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:25:43.469543 ------------------
-On: 2011-11-02 14:25:43.489818 Event: try to Connect to Controller
-On: 2011-11-02 14:25:44.737007 Event: init state
-On: 2011-11-02 14:25:44.737244 Event: Register Account to SIP server
-On: 2011-11-02 14:25:44.737661 Event: 100
-On: 2011-11-02 14:25:44.737747 Event: Caller Handler Ready
-On: 2011-11-02 14:25:49.881665 Event: CALL START
-On: 2011-11-02 14:25:49.881723 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:25:52.239782 Event: Call Connecting
-On: 2011-11-02 14:25:52.239828 Event: 200
-On: 2011-11-02 14:25:52.306505 Event: Terminate
-On: 2011-11-02 14:25:52.306539 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:25:56.100980 ------------------
-On: 2011-11-02 14:25:56.121335 Event: try to Connect to Controller
-On: 2011-11-02 14:25:57.352065 Event: init state
-On: 2011-11-02 14:25:57.352321 Event: Register Account to SIP server
-On: 2011-11-02 14:25:57.352730 Event: 100
-On: 2011-11-02 14:25:57.352808 Event: Caller Handler Ready
-On: 2011-11-02 14:26:05.362305 Event: Terminate
-On: 2011-11-02 14:26:05.362339 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:52.059979 ------------------
-On: 2011-11-02 14:27:52.092511 Event: try to Connect to Controller
-On: 2011-11-02 14:27:53.287063 Event: init state
-On: 2011-11-02 14:27:53.287302 Event: Register Account to SIP server
-On: 2011-11-02 14:27:53.287723 Event: 100
-On: 2011-11-02 14:27:53.287808 Event: Caller Handler Ready
-On: 2011-11-02 14:27:58.429672 Event: CALL START
-On: 2011-11-02 14:27:58.429728 Event: Make a call to: 017678038038
-On: 2011-11-02 14:28:07.859256 Event: Call Connecting
-On: 2011-11-02 14:28:07.859305 Event: 200
-On: 2011-11-02 14:28:07.862171 Event: Terminate
-On: 2011-11-02 14:28:07.862231 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:28:11.631795 ------------------
-On: 2011-11-02 14:28:11.652047 Event: try to Connect to Controller
-On: 2011-11-02 14:28:12.907442 Event: init state
-On: 2011-11-02 14:28:12.907674 Event: Register Account to SIP server
-On: 2011-11-02 14:28:12.908093 Event: 100
-On: 2011-11-02 14:28:12.908181 Event: Caller Handler Ready
-On: 2011-11-02 14:28:18.041701 Event: CALL START
-On: 2011-11-02 14:28:18.041758 Event: Make a call to: 015128040906
-On: 2011-11-02 14:28:27.939572 Event: Call Connecting
-On: 2011-11-02 14:28:27.939623 Event: 200
-On: 2011-11-02 14:28:27.942274 Event: Terminate
-On: 2011-11-02 14:28:27.942332 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:28:31.725927 ------------------
-On: 2011-11-02 14:28:31.746249 Event: try to Connect to Controller
-On: 2011-11-02 14:28:32.986761 Event: init state
-On: 2011-11-02 14:28:32.987013 Event: Register Account to SIP server
-On: 2011-11-02 14:28:32.987433 Event: 100
-On: 2011-11-02 14:28:32.987515 Event: Caller Handler Ready
-On: 2011-11-02 14:28:40.006119 Event: Terminate
-On: 2011-11-02 14:28:40.006153 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:28:43.850145 ------------------
-On: 2011-11-02 14:28:43.870858 Event: try to Connect to Controller
-On: 2011-11-02 14:28:45.094049 Event: init state
-On: 2011-11-02 14:28:45.094292 Event: Register Account to SIP server
-On: 2011-11-02 14:28:45.094712 Event: 100
-On: 2011-11-02 14:28:45.094799 Event: Caller Handler Ready
-On: 2011-11-02 14:28:50.225683 Event: CALL START
-On: 2011-11-02 14:28:50.225739 Event: Make a call to: 015782677224
-On: 2011-11-02 14:28:56.280993 Event: Call Connecting
-On: 2011-11-02 14:28:56.281042 Event: 200
-On: 2011-11-02 14:29:02.223317 Event: Terminate
-On: 2011-11-02 14:29:02.223350 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:29:06.455132 ------------------
-On: 2011-11-02 14:29:06.478350 Event: try to Connect to Controller
-On: 2011-11-02 14:29:07.269363 Event: init state
-On: 2011-11-02 14:29:07.269598 Event: Register Account to SIP server
-On: 2011-11-02 14:29:07.270064 Event: 100
-On: 2011-11-02 14:29:07.270151 Event: Caller Handler Ready
-On: 2011-11-02 14:29:15.284489 Event: Terminate
-On: 2011-11-02 14:29:15.284529 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:29:21.027606 ------------------
-On: 2011-11-02 14:29:21.047724 Event: try to Connect to Controller
-On: 2011-11-02 14:29:22.345004 Event: init state
-On: 2011-11-02 14:29:22.345253 Event: Register Account to SIP server
-On: 2011-11-02 14:29:22.345675 Event: 100
-On: 2011-11-02 14:29:22.345761 Event: Caller Handler Ready
-On: 2011-11-02 14:29:27.354455 Event: CALL START
-On: 2011-11-02 14:29:27.354516 Event: Make a call to: 076145875681
-On: 2011-11-02 14:29:30.621109 Event: Call Connecting
-On: 2011-11-02 14:29:30.621157 Event: 200
-On: 2011-11-02 14:29:30.621588 Event: Terminate
-On: 2011-11-02 14:29:30.621621 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:19.439980 ------------------
-On: 2011-11-02 14:31:19.460058 Event: try to Connect to Controller
-On: 2011-11-02 14:31:20.739279 Event: init state
-On: 2011-11-02 14:31:20.739529 Event: Register Account to SIP server
-On: 2011-11-02 14:31:20.739945 Event: 100
-On: 2011-11-02 14:31:20.740044 Event: Caller Handler Ready
-On: 2011-11-02 14:31:25.839770 Event: CALL START
-On: 2011-11-02 14:31:25.839825 Event: Make a call to: 017678038038
-On: 2011-11-02 14:31:35.221544 Event: Call Connecting
-On: 2011-11-02 14:31:35.221593 Event: 200
-On: 2011-11-02 14:31:35.225794 Event: Terminate
-On: 2011-11-02 14:31:35.225855 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:38.984063 ------------------
-On: 2011-11-02 14:31:39.004053 Event: try to Connect to Controller
-On: 2011-11-02 14:31:40.271114 Event: init state
-On: 2011-11-02 14:31:40.271353 Event: Register Account to SIP server
-On: 2011-11-02 14:31:40.271774 Event: 100
-On: 2011-11-02 14:31:40.271860 Event: Caller Handler Ready
-On: 2011-11-02 14:31:45.401621 Event: CALL START
-On: 2011-11-02 14:31:45.401676 Event: Make a call to: 015128040906
-On: 2011-11-02 14:31:55.584205 Event: Call Connecting
-On: 2011-11-02 14:31:55.584251 Event: 200
-On: 2011-11-02 14:31:55.588280 Event: Terminate
-On: 2011-11-02 14:31:55.588340 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:31:59.346362 ------------------
-On: 2011-11-02 14:31:59.366628 Event: try to Connect to Controller
-On: 2011-11-02 14:32:00.635068 Event: init state
-On: 2011-11-02 14:32:00.635320 Event: Register Account to SIP server
-On: 2011-11-02 14:32:00.635744 Event: 100
-On: 2011-11-02 14:32:00.635830 Event: Caller Handler Ready
-On: 2011-11-02 14:32:07.656730 Event: Terminate
-On: 2011-11-02 14:32:07.656764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:11.425474 ------------------
-On: 2011-11-02 14:32:11.445805 Event: try to Connect to Controller
-On: 2011-11-02 14:32:12.706948 Event: init state
-On: 2011-11-02 14:32:12.707201 Event: Register Account to SIP server
-On: 2011-11-02 14:32:12.707616 Event: 100
-On: 2011-11-02 14:32:12.707702 Event: Caller Handler Ready
-On: 2011-11-02 14:32:20.719385 Event: Terminate
-On: 2011-11-02 14:32:20.719422 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:24.502606 ------------------
-On: 2011-11-02 14:32:24.523010 Event: try to Connect to Controller
-On: 2011-11-02 14:32:25.763988 Event: init state
-On: 2011-11-02 14:32:25.764245 Event: Register Account to SIP server
-On: 2011-11-02 14:32:25.764661 Event: 100
-On: 2011-11-02 14:32:25.764748 Event: Caller Handler Ready
-On: 2011-11-02 14:32:30.771814 Event: CALL START
-On: 2011-11-02 14:32:30.771871 Event: Make a call to: 076120397898
-On: 2011-11-02 14:32:30.825355 Event: Call Connecting
-On: 2011-11-02 14:32:30.825401 Event: 200
-On: 2011-11-02 14:32:30.825831 Event: Terminate
-On: 2011-11-02 14:32:30.825863 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:34.579905 ------------------
-On: 2011-11-02 14:32:34.599857 Event: try to Connect to Controller
-On: 2011-11-02 14:32:35.873889 Event: init state
-On: 2011-11-02 14:32:35.874330 Event: Register Account to SIP server
-On: 2011-11-02 14:32:35.874762 Event: 100
-On: 2011-11-02 14:32:35.874845 Event: Caller Handler Ready
-On: 2011-11-02 14:32:41.020216 Event: CALL START
-On: 2011-11-02 14:32:41.020272 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:32:43.711888 Event: Call Connecting
-On: 2011-11-02 14:32:43.711934 Event: 200
-On: 2011-11-02 14:32:43.774488 Event: Terminate
-On: 2011-11-02 14:32:43.774524 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:47.654531 ------------------
-On: 2011-11-02 14:32:47.674551 Event: try to Connect to Controller
-On: 2011-11-02 14:32:48.831000 Event: init state
-On: 2011-11-02 14:32:48.831242 Event: Register Account to SIP server
-On: 2011-11-02 14:32:48.831659 Event: 100
-On: 2011-11-02 14:32:48.831745 Event: Caller Handler Ready
-On: 2011-11-02 14:32:56.847326 Event: Terminate
-On: 2011-11-02 14:32:56.847365 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:33:00.587772 ------------------
-On: 2011-11-02 14:33:00.607963 Event: try to Connect to Controller
-On: 2011-11-02 14:33:01.902508 Event: init state
-On: 2011-11-02 14:33:01.902759 Event: Register Account to SIP server
-On: 2011-11-02 14:33:01.903177 Event: 100
-On: 2011-11-02 14:33:01.903262 Event: Caller Handler Ready
-On: 2011-11-02 14:33:06.911294 Event: CALL START
-On: 2011-11-02 14:33:06.911351 Event: Make a call to: 076145875681
-On: 2011-11-02 14:33:12.280050 Event: Call Connecting
-On: 2011-11-02 14:33:12.280099 Event: 200
-On: 2011-11-02 14:33:12.280527 Event: Terminate
-On: 2011-11-02 14:33:12.280559 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:42.343469 ------------------
-On: 2011-11-02 14:35:42.392756 Event: try to Connect to Controller
-On: 2011-11-02 14:35:43.471065 Event: init state
-On: 2011-11-02 14:35:43.471304 Event: Register Account to SIP server
-On: 2011-11-02 14:35:43.471724 Event: 100
-On: 2011-11-02 14:35:43.471808 Event: Caller Handler Ready
-On: 2011-11-02 14:35:48.633099 Event: CALL START
-On: 2011-11-02 14:35:48.633156 Event: Make a call to: 015782677224
-On: 2011-11-02 14:35:55.515692 Event: Call Connecting
-On: 2011-11-02 14:35:55.515736 Event: 200
-On: 2011-11-02 14:36:00.630727 Event: Terminate
-On: 2011-11-02 14:36:00.630762 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:04.462815 ------------------
-On: 2011-11-02 14:36:04.490368 Event: try to Connect to Controller
-On: 2011-11-02 14:36:05.706745 Event: init state
-On: 2011-11-02 14:36:05.707073 Event: Register Account to SIP server
-On: 2011-11-02 14:36:05.707502 Event: 100
-On: 2011-11-02 14:36:05.707585 Event: Caller Handler Ready
-On: 2011-11-02 14:36:10.852765 Event: CALL START
-On: 2011-11-02 14:36:10.852821 Event: Make a call to: 017678038038
-On: 2011-11-02 14:36:20.074497 Event: Call Connecting
-On: 2011-11-02 14:36:20.074545 Event: 200
-On: 2011-11-02 14:36:20.078309 Event: Terminate
-On: 2011-11-02 14:36:20.078369 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:23.896525 ------------------
-On: 2011-11-02 14:36:23.940771 Event: try to Connect to Controller
-On: 2011-11-02 14:36:25.122794 Event: init state
-On: 2011-11-02 14:36:25.123072 Event: Register Account to SIP server
-On: 2011-11-02 14:36:25.123492 Event: 100
-On: 2011-11-02 14:36:25.123578 Event: Caller Handler Ready
-On: 2011-11-02 14:36:30.253650 Event: CALL START
-On: 2011-11-02 14:36:30.253706 Event: Make a call to: 015128040906
-On: 2011-11-02 14:36:41.198762 Event: Call Connecting
-On: 2011-11-02 14:36:41.198810 Event: 200
-On: 2011-11-02 14:36:41.202252 Event: Terminate
-On: 2011-11-02 14:36:41.202312 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:45.040600 ------------------
-On: 2011-11-02 14:36:45.076821 Event: try to Connect to Controller
-On: 2011-11-02 14:36:46.247902 Event: init state
-On: 2011-11-02 14:36:46.248140 Event: Register Account to SIP server
-On: 2011-11-02 14:36:46.248563 Event: 100
-On: 2011-11-02 14:36:46.248652 Event: Caller Handler Ready
-On: 2011-11-02 14:36:53.274735 Event: Terminate
-On: 2011-11-02 14:36:53.274770 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:36:57.317238 ------------------
-On: 2011-11-02 14:36:57.341212 Event: try to Connect to Controller
-On: 2011-11-02 14:36:58.354357 Event: init state
-On: 2011-11-02 14:36:58.354598 Event: Register Account to SIP server
-On: 2011-11-02 14:36:58.355015 Event: 100
-On: 2011-11-02 14:36:58.355101 Event: Caller Handler Ready
-On: 2011-11-02 14:37:06.366618 Event: Terminate
-On: 2011-11-02 14:37:06.366651 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:10.553446 ------------------
-On: 2011-11-02 14:37:10.613937 Event: try to Connect to Controller
-On: 2011-11-02 14:37:11.434783 Event: init state
-On: 2011-11-02 14:37:11.435018 Event: Register Account to SIP server
-On: 2011-11-02 14:37:11.435439 Event: 100
-On: 2011-11-02 14:37:11.435524 Event: Caller Handler Ready
-On: 2011-11-02 14:37:16.450712 Event: CALL START
-On: 2011-11-02 14:37:16.450782 Event: Make a call to: 076120397898
-On: 2011-11-02 14:37:16.512686 Event: Call Connecting
-On: 2011-11-02 14:37:16.512738 Event: 200
-On: 2011-11-02 14:37:16.515758 Event: Terminate
-On: 2011-11-02 14:37:16.515813 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:20.537085 ------------------
-On: 2011-11-02 14:37:20.596993 Event: try to Connect to Controller
-On: 2011-11-02 14:37:21.587054 Event: init state
-On: 2011-11-02 14:37:21.587294 Event: Register Account to SIP server
-On: 2011-11-02 14:37:21.587779 Event: 100
-On: 2011-11-02 14:37:21.587864 Event: Caller Handler Ready
-On: 2011-11-02 14:37:29.601424 Event: Terminate
-On: 2011-11-02 14:37:29.601459 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:33.586497 ------------------
-On: 2011-11-02 14:37:33.623366 Event: try to Connect to Controller
-On: 2011-11-02 14:37:34.666917 Event: init state
-On: 2011-11-02 14:37:34.667169 Event: Register Account to SIP server
-On: 2011-11-02 14:37:34.667594 Event: 100
-On: 2011-11-02 14:37:34.667678 Event: Caller Handler Ready
-On: 2011-11-02 14:37:39.809989 Event: CALL START
-On: 2011-11-02 14:37:39.810049 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:37:42.186054 Event: Call Connecting
-On: 2011-11-02 14:37:42.186103 Event: 200
-On: 2011-11-02 14:37:42.238650 Event: Terminate
-On: 2011-11-02 14:37:42.238683 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:45.988615 ------------------
-On: 2011-11-02 14:37:46.010489 Event: try to Connect to Controller
-On: 2011-11-02 14:37:47.285704 Event: init state
-On: 2011-11-02 14:37:47.285938 Event: Register Account to SIP server
-On: 2011-11-02 14:37:47.286763 Event: 100
-On: 2011-11-02 14:37:47.286852 Event: Caller Handler Ready
-On: 2011-11-02 14:37:55.300485 Event: Terminate
-On: 2011-11-02 14:37:55.300520 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:59.160664 ------------------
-On: 2011-11-02 14:37:59.181604 Event: try to Connect to Controller
-On: 2011-11-02 14:38:00.367045 Event: init state
-On: 2011-11-02 14:38:00.367282 Event: Register Account to SIP server
-On: 2011-11-02 14:38:00.367707 Event: 100
-On: 2011-11-02 14:38:00.367792 Event: Caller Handler Ready
-On: 2011-11-02 14:38:05.377096 Event: CALL START
-On: 2011-11-02 14:38:05.377158 Event: Make a call to: 076145875681
-On: 2011-11-02 14:38:08.567385 Event: Call Connecting
-On: 2011-11-02 14:38:08.567434 Event: 200
-On: 2011-11-02 14:38:08.569050 Event: Terminate
-On: 2011-11-02 14:38:08.569101 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:52:36.888353 ------------------
-On: 2011-11-02 14:52:36.910340 Event: try to Connect to Controller
-On: 2011-11-02 14:52:38.231324 Event: init state
-On: 2011-11-02 14:52:38.231565 Event: Register Account to SIP server
-On: 2011-11-02 14:52:38.231986 Event: 100
-On: 2011-11-02 14:52:38.232074 Event: Caller Handler Ready
-On: 2011-11-02 14:52:43.356237 Event: CALL START
-On: 2011-11-02 14:52:43.356300 Event: Make a call to: 015782677224
-On: 2011-11-02 14:52:49.924571 Event: Call Connecting
-On: 2011-11-02 14:52:49.924620 Event: 200
-On: 2011-11-02 14:52:55.355489 Event: Terminate
-On: 2011-11-02 14:52:55.355524 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:52:59.063985 ------------------
-On: 2011-11-02 14:52:59.085284 Event: try to Connect to Controller
-On: 2011-11-02 14:53:00.406547 Event: init state
-On: 2011-11-02 14:53:00.406866 Event: Register Account to SIP server
-On: 2011-11-02 14:53:00.407291 Event: 100
-On: 2011-11-02 14:53:00.407479 Event: Caller Handler Ready
-On: 2011-11-02 14:53:05.537624 Event: CALL START
-On: 2011-11-02 14:53:05.537683 Event: Make a call to: 017678038038
-On: 2011-11-02 14:53:15.787775 Event: Call Connecting
-On: 2011-11-02 14:53:15.787823 Event: 200
-On: 2011-11-02 14:53:15.790138 Event: Terminate
-On: 2011-11-02 14:53:15.790197 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:19.496572 ------------------
-On: 2011-11-02 14:53:19.517714 Event: try to Connect to Controller
-On: 2011-11-02 14:53:20.838640 Event: init state
-On: 2011-11-02 14:53:20.838876 Event: Register Account to SIP server
-On: 2011-11-02 14:53:20.839299 Event: 100
-On: 2011-11-02 14:53:20.839383 Event: Caller Handler Ready
-On: 2011-11-02 14:53:25.961826 Event: CALL START
-On: 2011-11-02 14:53:25.961885 Event: Make a call to: 015128040906
-On: 2011-11-02 14:53:36.578420 Event: Call Connecting
-On: 2011-11-02 14:53:36.578472 Event: 200
-On: 2011-11-02 14:53:36.582187 Event: Terminate
-On: 2011-11-02 14:53:36.582244 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:40.304255 ------------------
-On: 2011-11-02 14:53:40.324677 Event: try to Connect to Controller
-On: 2011-11-02 14:53:41.627043 Event: init state
-On: 2011-11-02 14:53:41.627276 Event: Register Account to SIP server
-On: 2011-11-02 14:53:41.627714 Event: 100
-On: 2011-11-02 14:53:41.627797 Event: Caller Handler Ready
-On: 2011-11-02 14:53:49.640923 Event: Terminate
-On: 2011-11-02 14:53:49.640956 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:53.349464 ------------------
-On: 2011-11-02 14:53:53.369869 Event: try to Connect to Controller
-On: 2011-11-02 14:53:54.687151 Event: init state
-On: 2011-11-02 14:53:54.687388 Event: Register Account to SIP server
-On: 2011-11-02 14:53:54.687810 Event: 100
-On: 2011-11-02 14:53:54.687896 Event: Caller Handler Ready
-On: 2011-11-02 14:53:59.697183 Event: CALL START
-On: 2011-11-02 14:53:59.697251 Event: Make a call to: 076120397898
-On: 2011-11-02 14:53:59.724031 Event: Call Connecting
-On: 2011-11-02 14:53:59.724080 Event: 200
-On: 2011-11-02 14:53:59.724500 Event: Terminate
-On: 2011-11-02 14:53:59.724530 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:03.428898 ------------------
-On: 2011-11-02 14:54:03.454182 Event: try to Connect to Controller
-On: 2011-11-02 14:54:04.774738 Event: init state
-On: 2011-11-02 14:54:04.774974 Event: Register Account to SIP server
-On: 2011-11-02 14:54:04.775394 Event: 100
-On: 2011-11-02 14:54:04.775481 Event: Caller Handler Ready
-On: 2011-11-02 14:54:11.799052 Event: Terminate
-On: 2011-11-02 14:54:11.799086 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:15.508194 ------------------
-On: 2011-11-02 14:54:15.529637 Event: try to Connect to Controller
-On: 2011-11-02 14:54:16.855050 Event: init state
-On: 2011-11-02 14:54:16.855287 Event: Register Account to SIP server
-On: 2011-11-02 14:54:16.855703 Event: 100
-On: 2011-11-02 14:54:16.855787 Event: Caller Handler Ready
-On: 2011-11-02 14:54:21.985731 Event: CALL START
-On: 2011-11-02 14:54:21.985791 Event: Make a call to: 07612034661449
-On: 2011-11-02 14:54:23.524396 Event: Call Connecting
-On: 2011-11-02 14:54:23.524448 Event: 200
-On: 2011-11-02 14:54:23.578499 Event: Terminate
-On: 2011-11-02 14:54:23.578533 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:27.358799 ------------------
-On: 2011-11-02 14:54:27.379867 Event: try to Connect to Controller
-On: 2011-11-02 14:54:28.631069 Event: init state
-On: 2011-11-02 14:54:28.631298 Event: Register Account to SIP server
-On: 2011-11-02 14:54:28.631718 Event: 100
-On: 2011-11-02 14:54:28.631806 Event: Caller Handler Ready
-On: 2011-11-02 14:54:36.645891 Event: Terminate
-On: 2011-11-02 14:54:36.645922 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:54:40.679238 ------------------
-On: 2011-11-02 14:54:40.727385 Event: try to Connect to Controller
-On: 2011-11-02 14:54:41.702527 Event: init state
-On: 2011-11-02 14:54:41.702762 Event: Register Account to SIP server
-On: 2011-11-02 14:54:41.703181 Event: 100
-On: 2011-11-02 14:54:41.703268 Event: Caller Handler Ready
-On: 2011-11-02 14:54:46.716035 Event: CALL START
-On: 2011-11-02 14:54:46.716102 Event: Make a call to: 076145875681
-On: 2011-11-02 14:54:50.888662 Event: Call Connecting
-On: 2011-11-02 14:54:50.888711 Event: 200
-On: 2011-11-02 14:54:50.890397 Event: Terminate
-On: 2011-11-02 14:54:50.890450 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:34:54.106693 ------------------
-On: 2011-11-02 15:34:54.127530 Event: try to Connect to Controller
-On: 2011-11-02 15:34:55.365238 Event: init state
-On: 2011-11-02 15:34:55.365479 Event: Register Account to SIP server
-On: 2011-11-02 15:34:55.366334 Event: 100
-On: 2011-11-02 15:34:55.366420 Event: Caller Handler Ready
-On: 2011-11-02 15:35:00.374095 Event: CALL START
-On: 2011-11-02 15:35:00.374218 Event: Make a call to: 076120397898
-On: 2011-11-02 15:35:00.427866 Event: Call Connecting
-On: 2011-11-02 15:35:00.427916 Event: 200
-On: 2011-11-02 15:35:00.430944 Event: Terminate
-On: 2011-11-02 15:35:00.431005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:35:24.680135 ------------------
-On: 2011-11-02 15:35:24.742689 Event: try to Connect to Controller
-On: 2011-11-02 15:35:25.867295 Event: init state
-On: 2011-11-02 15:35:25.867530 Event: Register Account to SIP server
-On: 2011-11-02 15:35:25.868331 Event: 100
-On: 2011-11-02 15:35:25.868413 Event: Caller Handler Ready
-On: 2011-11-02 15:35:30.875831 Event: CALL START
-On: 2011-11-02 15:35:30.875898 Event: Make a call to: 076120397898
-On: 2011-11-02 15:35:30.946469 Event: Call Connecting
-On: 2011-11-02 15:35:30.946520 Event: 200
-On: 2011-11-02 15:35:30.950585 Event: Terminate
-On: 2011-11-02 15:35:30.950644 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:38:48.445134 ------------------
-On: 2011-11-02 15:38:48.465867 Event: try to Connect to Controller
-On: 2011-11-02 15:38:49.527736 Event: init state
-On: 2011-11-02 15:38:49.527973 Event: Register Account to SIP server
-On: 2011-11-02 15:38:49.528723 Event: 100
-On: 2011-11-02 15:38:49.528807 Event: Caller Handler Ready
-On: 2011-11-02 15:39:00.759043 Event: CALL START
-On: 2011-11-02 15:39:00.759110 Event: Make a call to: 07612034661473
-On: 2011-11-02 15:39:02.967585 Event: Call Connecting
-On: 2011-11-02 15:39:02.967635 Event: 200
-On: 2011-11-02 15:39:03.004385 Event: Terminate
-On: 2011-11-02 15:39:03.004420 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:06.837477 ------------------
-On: 2011-11-02 15:39:06.862374 Event: try to Connect to Controller
-On: 2011-11-02 15:39:08.057767 Event: init state
-On: 2011-11-02 15:39:08.058040 Event: Register Account to SIP server
-On: 2011-11-02 15:39:08.058830 Event: 100
-On: 2011-11-02 15:39:08.058931 Event: Caller Handler Ready
-On: 2011-11-02 15:39:16.071550 Event: Terminate
-On: 2011-11-02 15:39:16.071585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:20.015158 ------------------
-On: 2011-11-02 15:39:20.039571 Event: try to Connect to Controller
-On: 2011-11-02 15:39:21.144049 Event: init state
-On: 2011-11-02 15:39:21.144283 Event: Register Account to SIP server
-On: 2011-11-02 15:39:21.144704 Event: 100
-On: 2011-11-02 15:39:21.144789 Event: Caller Handler Ready
-On: 2011-11-02 15:39:26.301997 Event: CALL START
-On: 2011-11-02 15:39:26.302053 Event: Make a call to: 07612034661449
-On: 2011-11-02 15:39:29.068998 Event: Call Connecting
-On: 2011-11-02 15:39:29.069047 Event: 200
-On: 2011-11-02 15:39:29.150462 Event: Terminate
-On: 2011-11-02 15:39:29.150496 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:35.157764 ------------------
-On: 2011-11-02 15:39:35.183018 Event: try to Connect to Controller
-On: 2011-11-02 15:39:36.355019 Event: init state
-On: 2011-11-02 15:39:36.355252 Event: Register Account to SIP server
-On: 2011-11-02 15:39:36.355677 Event: 100
-On: 2011-11-02 15:39:36.355762 Event: Receiver Handler Ready
-On: 2011-11-02 15:39:36.358054 Event: RECEIVE START
-On: 2011-11-02 15:39:38.211054 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-11-02 15:39:38.211558 Event: Call Connecting
-On: 2011-11-02 15:39:38.211600 Event: 200
-On: 2011-11-02 15:39:38.211852 Event: Answer call
-On: 2011-11-02 15:39:38.211905 Event: Hangup call
-On: 2011-11-02 15:39:38.212088 Event: CALL OK
-On: 2011-11-02 15:39:38.262782 Event: Call Disconnected
-On: 2011-11-02 15:39:38.922611 Event: Terminate
-On: 2011-11-02 15:39:38.922652 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:39:51.046620 ------------------
-On: 2011-11-02 15:39:51.067523 Event: try to Connect to Controller
-On: 2011-11-02 15:39:52.201475 Event: init state
-On: 2011-11-02 15:39:52.201711 Event: Register Account to SIP server
-On: 2011-11-02 15:39:52.202179 Event: 100
-On: 2011-11-02 15:39:52.202259 Event: Receiver Handler Ready
-On: 2011-11-02 15:39:52.202531 Event: RECEIVE START
-On: 2011-11-02 15:39:54.346438 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-02 15:39:54.346948 Event: Call Connecting
-On: 2011-11-02 15:39:54.346989 Event: 200
-On: 2011-11-02 15:39:54.347330 Event: Answer call
-On: 2011-11-02 15:39:54.347399 Event: Hangup call
-On: 2011-11-02 15:39:54.347587 Event: CALL OK
-On: 2011-11-02 15:39:54.398317 Event: Call Disconnected
-On: 2011-11-02 15:39:55.483068 Event: Terminate
-On: 2011-11-02 15:39:55.483114 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:12.476711 ------------------
-On: 2011-11-02 15:40:12.501906 Event: try to Connect to Controller
-On: 2011-11-02 15:40:13.635060 Event: init state
-On: 2011-11-02 15:40:13.635301 Event: Register Account to SIP server
-On: 2011-11-02 15:40:13.636081 Event: 100
-On: 2011-11-02 15:40:13.636167 Event: Caller Handler Ready
-On: 2011-11-02 15:40:18.647299 Event: CALL START
-On: 2011-11-02 15:40:18.647367 Event: Make a call to: 076145875681
-On: 2011-11-02 15:40:23.258390 Event: Call Connecting
-On: 2011-11-02 15:40:23.258439 Event: 200
-On: 2011-11-02 15:40:23.260056 Event: Terminate
-On: 2011-11-02 15:40:23.260107 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:27.196114 ------------------
-On: 2011-11-02 15:40:27.217177 Event: try to Connect to Controller
-On: 2011-11-02 15:40:28.306923 Event: init state
-On: 2011-11-02 15:40:28.307156 Event: Register Account to SIP server
-On: 2011-11-02 15:40:28.307575 Event: 100
-On: 2011-11-02 15:40:28.307660 Event: Caller Handler Ready
-On: 2011-11-02 15:40:33.317237 Event: CALL START
-On: 2011-11-02 15:40:33.317294 Event: Make a call to: 076120397898
-On: 2011-11-02 15:40:33.366852 Event: Call Connecting
-On: 2011-11-02 15:40:33.366900 Event: 200
-On: 2011-11-02 15:40:33.368388 Event: Terminate
-On: 2011-11-02 15:40:33.368422 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:41:39.177531 ------------------
-On: 2011-11-02 15:41:39.219417 Event: try to Connect to Controller
-On: 2011-11-02 15:41:40.070026 Event: init state
-On: 2011-11-02 15:41:40.070274 Event: Register Account to SIP server
-On: 2011-11-02 15:41:40.070692 Event: 100
-On: 2011-11-02 15:41:40.070779 Event: Receiver Handler Ready
-On: 2011-11-02 15:41:40.071096 Event: RECEIVE START
-On: 2011-11-02 15:41:45.423290 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-02 15:41:45.423836 Event: Call Connecting
-On: 2011-11-02 15:41:45.423881 Event: 200
-On: 2011-11-02 15:41:45.424132 Event: Answer call
-On: 2011-11-02 15:41:45.424185 Event: Hangup call
-On: 2011-11-02 15:41:45.424359 Event: CALL OK
-On: 2011-11-02 15:41:45.475088 Event: Call Disconnected
-On: 2011-11-02 15:41:46.068167 Event: Terminate
-On: 2011-11-02 15:41:46.068203 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:48:07.369710 ------------------
-On: 2011-11-02 15:48:07.395181 Event: try to Connect to Controller
-On: 2011-11-02 15:48:08.568585 Event: init state
-On: 2011-11-02 15:48:08.568828 Event: Register Account to SIP server
-On: 2011-11-02 15:48:08.569247 Event: 100
-On: 2011-11-02 15:48:08.569334 Event: Caller Handler Ready
-On: 2011-11-02 15:48:13.705984 Event: CALL START
-On: 2011-11-02 15:48:13.706039 Event: Make a call to: 015782677224
-On: 2011-11-02 15:48:19.596586 Event: Call Connecting
-On: 2011-11-02 15:48:19.596633 Event: 200
-On: 2011-11-02 15:48:25.704792 Event: Terminate
-On: 2011-11-02 15:48:25.704827 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:48:29.582617 ------------------
-On: 2011-11-02 15:48:29.604190 Event: try to Connect to Controller
-On: 2011-11-02 15:48:30.771831 Event: init state
-On: 2011-11-02 15:48:30.772070 Event: Register Account to SIP server
-On: 2011-11-02 15:48:30.772488 Event: 100
-On: 2011-11-02 15:48:30.772574 Event: Caller Handler Ready
-On: 2011-11-02 15:48:37.799729 Event: Terminate
-On: 2011-11-02 15:48:37.799764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:48:41.687769 ------------------
-On: 2011-11-02 15:48:41.710261 Event: try to Connect to Controller
-On: 2011-11-02 15:48:42.871045 Event: init state
-On: 2011-11-02 15:48:42.871289 Event: Register Account to SIP server
-On: 2011-11-02 15:48:42.871707 Event: 100
-On: 2011-11-02 15:48:42.871796 Event: Caller Handler Ready
-On: 2011-11-02 15:48:47.985697 Event: CALL START
-On: 2011-11-02 15:48:47.985756 Event: Make a call to: 015128040906
-On: 2011-11-02 15:48:57.709088 Event: Call Connecting
-On: 2011-11-02 15:48:57.709139 Event: 200
-On: 2011-11-02 15:48:57.713807 Event: Terminate
-On: 2011-11-02 15:48:57.713866 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:49:01.606374 ------------------
-On: 2011-11-02 15:49:01.632134 Event: try to Connect to Controller
-On: 2011-11-02 15:49:02.775046 Event: init state
-On: 2011-11-02 15:49:02.775284 Event: Register Account to SIP server
-On: 2011-11-02 15:49:02.775713 Event: 100
-On: 2011-11-02 15:49:02.775801 Event: Caller Handler Ready
-On: 2011-11-02 15:49:07.914210 Event: CALL START
-On: 2011-11-02 15:49:07.914279 Event: Make a call to: 017678038038
-On: 2011-11-02 15:49:17.831200 Event: Call Connecting
-On: 2011-11-02 15:49:17.831248 Event: 200
-On: 2011-11-02 15:49:17.834217 Event: Terminate
-On: 2011-11-02 15:49:17.834277 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:12:47.343378 ------------------
-On: 2011-11-02 16:12:47.376247 Event: try to Connect to Controller
-On: 2011-11-02 16:12:48.421243 Event: init state
-On: 2011-11-02 16:12:48.421479 Event: Register Account to SIP server
-On: 2011-11-02 16:12:48.421884 Event: 100
-On: 2011-11-02 16:12:48.421996 Event: Caller Handler Ready
-On: 2011-11-02 16:12:53.542740 Event: CALL START
-On: 2011-11-02 16:12:53.542794 Event: Make a call to: 015782677224
-On: 2011-11-02 16:12:59.954871 Event: Call Connecting
-On: 2011-11-02 16:12:59.954921 Event: 200
-On: 2011-11-02 16:13:05.544022 Event: Terminate
-On: 2011-11-02 16:13:05.544073 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:13:09.877581 ------------------
-On: 2011-11-02 16:13:09.910100 Event: try to Connect to Controller
-On: 2011-11-02 16:13:10.598446 Event: init state
-On: 2011-11-02 16:13:10.598680 Event: Register Account to SIP server
-On: 2011-11-02 16:13:10.599122 Event: 100
-On: 2011-11-02 16:13:10.599207 Event: Caller Handler Ready
-On: 2011-11-02 16:13:15.750201 Event: CALL START
-On: 2011-11-02 16:13:15.750270 Event: Make a call to: 015128040906
-On: 2011-11-02 16:13:29.039966 Event: Call Connecting
-On: 2011-11-02 16:13:29.040018 Event: 200
-On: 2011-11-02 16:13:29.044845 Event: Terminate
-On: 2011-11-02 16:13:29.044906 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:13:32.977006 ------------------
-On: 2011-11-02 16:13:32.997624 Event: try to Connect to Controller
-On: 2011-11-02 16:13:34.098611 Event: init state
-On: 2011-11-02 16:13:34.098844 Event: Register Account to SIP server
-On: 2011-11-02 16:13:34.099247 Event: 100
-On: 2011-11-02 16:13:34.099329 Event: Caller Handler Ready
-On: 2011-11-02 16:13:41.135947 Event: Terminate
-On: 2011-11-02 16:13:41.135979 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:13:45.020720 ------------------
-On: 2011-11-02 16:13:45.042488 Event: try to Connect to Controller
-On: 2011-11-02 16:13:46.197215 Event: init state
-On: 2011-11-02 16:13:46.197442 Event: Register Account to SIP server
-On: 2011-11-02 16:13:46.197862 Event: 100
-On: 2011-11-02 16:13:46.197949 Event: Caller Handler Ready
-On: 2011-11-02 16:13:57.434011 Event: CALL START
-On: 2011-11-02 16:13:57.434081 Event: Make a call to: 07612034661455
-On: 2011-11-02 16:13:59.799601 Event: Call Connecting
-On: 2011-11-02 16:13:59.799652 Event: 200
-On: 2011-11-02 16:13:59.867503 Event: Terminate
-On: 2011-11-02 16:13:59.867536 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:14:03.797853 ------------------
-On: 2011-11-02 16:14:03.833231 Event: try to Connect to Controller
-On: 2011-11-02 16:14:04.930029 Event: init state
-On: 2011-11-02 16:14:04.930286 Event: Register Account to SIP server
-On: 2011-11-02 16:14:04.931034 Event: 100
-On: 2011-11-02 16:14:04.931121 Event: Caller Handler Ready
-On: 2011-11-02 16:14:09.942000 Event: CALL START
-On: 2011-11-02 16:14:09.942063 Event: Make a call to: 076145875681
-On: 2011-11-02 16:14:14.749754 Event: Call Connecting
-On: 2011-11-02 16:14:14.749803 Event: 200
-On: 2011-11-02 16:14:14.751558 Event: Terminate
-On: 2011-11-02 16:14:14.751608 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:27.493822 ------------------
-On: 2011-11-02 16:17:27.534432 Event: try to Connect to Controller
-On: 2011-11-02 16:17:28.614878 Event: init state
-On: 2011-11-02 16:17:28.615201 Event: Register Account to SIP server
-On: 2011-11-02 16:17:28.615618 Event: 100
-On: 2011-11-02 16:17:28.615704 Event: Receiver Handler Ready
-On: 2011-11-02 16:17:28.616013 Event: RECEIVE START
-On: 2011-11-02 16:17:34.144646 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-02 16:17:34.145155 Event: Call Connecting
-On: 2011-11-02 16:17:34.145197 Event: 200
-On: 2011-11-02 16:17:34.145443 Event: Answer call
-On: 2011-11-02 16:17:34.145493 Event: Hangup call
-On: 2011-11-02 16:17:34.145661 Event: CALL OK
-On: 2011-11-02 16:17:34.198594 Event: Call Disconnected
-On: 2011-11-02 16:17:34.640525 Event: Terminate
-On: 2011-11-02 16:17:34.640562 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:38.857791 ------------------
-On: 2011-11-02 16:17:38.896862 Event: try to Connect to Controller
-On: 2011-11-02 16:17:39.718319 Event: init state
-On: 2011-11-02 16:17:39.718551 Event: Register Account to SIP server
-On: 2011-11-02 16:17:39.718971 Event: 100
-On: 2011-11-02 16:17:39.719055 Event: Caller Handler Ready
-On: 2011-11-02 16:17:44.726084 Event: CALL START
-On: 2011-11-02 16:17:44.726141 Event: Make a call to: 076120397898
-On: 2011-11-02 16:17:44.796257 Event: Call Connecting
-On: 2011-11-02 16:17:44.796308 Event: 200
-On: 2011-11-02 16:17:44.798450 Event: Terminate
-On: 2011-11-02 16:17:44.798505 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:48.630536 ------------------
-On: 2011-11-02 16:17:48.651103 Event: try to Connect to Controller
-On: 2011-11-02 16:17:49.868114 Event: init state
-On: 2011-11-02 16:17:49.868349 Event: Register Account to SIP server
-On: 2011-11-02 16:17:49.868774 Event: 100
-On: 2011-11-02 16:17:49.868859 Event: Caller Handler Ready
-On: 2011-11-02 16:17:54.878571 Event: CALL START
-On: 2011-11-02 16:17:54.878633 Event: Make a call to: 076145875681
-On: 2011-11-02 16:17:58.806679 Event: Call Connecting
-On: 2011-11-02 16:17:58.806762 Event: 200
-On: 2011-11-02 16:17:58.808819 Event: Terminate
-On: 2011-11-02 16:17:58.808869 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:10.937837 ------------------
-On: 2011-11-02 16:18:10.971657 Event: try to Connect to Controller
-On: 2011-11-02 16:18:12.097243 Event: init state
-On: 2011-11-02 16:18:12.097472 Event: Register Account to SIP server
-On: 2011-11-02 16:18:12.097897 Event: 100
-On: 2011-11-02 16:18:12.098017 Event: Receiver Handler Ready
-On: 2011-11-02 16:18:12.098428 Event: RECEIVE START
-On: 2011-11-02 16:18:13.959432 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-11-02 16:18:13.959932 Event: Call Connecting
-On: 2011-11-02 16:18:13.959975 Event: 200
-On: 2011-11-02 16:18:13.960230 Event: Answer call
-On: 2011-11-02 16:18:13.960282 Event: Hangup call
-On: 2011-11-02 16:18:13.960460 Event: CALL OK
-On: 2011-11-02 16:18:14.011159 Event: Call Disconnected
-On: 2011-11-02 16:18:15.394505 Event: Terminate
-On: 2011-11-02 16:18:15.394551 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:27.601490 ------------------
-On: 2011-11-02 16:18:27.653414 Event: try to Connect to Controller
-On: 2011-11-02 16:18:28.675974 Event: init state
-On: 2011-11-02 16:18:28.676206 Event: Register Account to SIP server
-On: 2011-11-02 16:18:28.676628 Event: 100
-On: 2011-11-02 16:18:28.676713 Event: Receiver Handler Ready
-On: 2011-11-02 16:18:28.676976 Event: RECEIVE START
-On: 2011-11-02 16:18:30.477371 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-02 16:18:30.478195 Event: Call Connecting
-On: 2011-11-02 16:18:30.478247 Event: 200
-On: 2011-11-02 16:18:30.478929 Event: Answer call
-On: 2011-11-02 16:18:30.479019 Event: Hangup call
-On: 2011-11-02 16:18:30.479210 Event: CALL OK
-On: 2011-11-02 16:18:30.529913 Event: Call Disconnected
-On: 2011-11-02 16:18:31.848669 Event: Terminate
-On: 2011-11-02 16:18:31.848712 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:38.011563 ------------------
-On: 2011-11-02 16:18:38.047303 Event: try to Connect to Controller
-On: 2011-11-02 16:18:39.079210 Event: init state
-On: 2011-11-02 16:18:39.079443 Event: Register Account to SIP server
-On: 2011-11-02 16:18:39.080218 Event: 100
-On: 2011-11-02 16:18:39.080303 Event: Receiver Handler Ready
-On: 2011-11-02 16:18:39.082149 Event: RECEIVE START
-On: 2011-11-02 16:18:40.364477 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-11-02 16:18:40.364984 Event: Call Connecting
-On: 2011-11-02 16:18:40.365025 Event: 200
-On: 2011-11-02 16:18:40.365278 Event: Answer call
-On: 2011-11-02 16:18:40.365331 Event: Hangup call
-On: 2011-11-02 16:18:40.365508 Event: CALL OK
-On: 2011-11-02 16:18:40.416215 Event: Call Disconnected
-On: 2011-11-02 16:18:41.698440 Event: Terminate
-On: 2011-11-02 16:18:41.698496 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:18:45.585309 ------------------
-On: 2011-11-02 16:18:45.622714 Event: try to Connect to Controller
-On: 2011-11-02 16:18:46.767072 Event: init state
-On: 2011-11-02 16:18:46.767311 Event: Register Account to SIP server
-On: 2011-11-02 16:18:46.767731 Event: 100
-On: 2011-11-02 16:18:46.767819 Event: Caller Handler Ready
-On: 2011-11-02 16:18:51.949751 Event: CALL START
-On: 2011-11-02 16:18:51.949810 Event: Make a call to: 07612034661449
-On: 2011-11-02 16:18:54.490389 Event: Call Connecting
-On: 2011-11-02 16:18:54.490437 Event: 200
-On: 2011-11-02 16:18:54.574516 Event: Terminate
-On: 2011-11-02 16:18:54.574549 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:21:12.370945 ------------------
-On: 2011-11-02 16:21:12.391659 Event: try to Connect to Controller
-On: 2011-11-02 16:21:13.442800 Event: init state
-On: 2011-11-02 16:21:13.443034 Event: Register Account to SIP server
-On: 2011-11-02 16:21:13.443815 Event: 100
-On: 2011-11-02 16:21:13.443900 Event: Caller Handler Ready
-On: 2011-11-02 16:21:18.629687 Event: CALL START
-On: 2011-11-02 16:21:18.629747 Event: Make a call to: 07612034661449
-On: 2011-11-02 16:21:25.834152 Event: Call Connecting
-On: 2011-11-02 16:21:25.834198 Event: 200
-On: 2011-11-02 16:21:25.917586 Event: Terminate
-On: 2011-11-02 16:21:25.917622 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:23:26.007776 ------------------
-On: 2011-11-02 16:23:26.028968 Event: try to Connect to Controller
-On: 2011-11-02 16:23:27.234358 Event: init state
-On: 2011-11-02 16:23:27.234596 Event: Register Account to SIP server
-On: 2011-11-02 16:23:27.235375 Event: 100
-On: 2011-11-02 16:23:27.235463 Event: Caller Handler Ready
-On: 2011-11-02 16:23:32.382042 Event: CALL START
-On: 2011-11-02 16:23:32.382105 Event: Make a call to: 015782677224
-On: 2011-11-02 16:23:38.356057 Event: Call Connecting
-On: 2011-11-02 16:23:38.356106 Event: 200
-On: 2011-11-02 16:23:44.380206 Event: Terminate
-On: 2011-11-02 16:23:44.380247 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:23:48.386968 ------------------
-On: 2011-11-02 16:23:48.412252 Event: try to Connect to Controller
-On: 2011-11-02 16:23:49.438374 Event: init state
-On: 2011-11-02 16:23:49.438615 Event: Register Account to SIP server
-On: 2011-11-02 16:23:49.439041 Event: 100
-On: 2011-11-02 16:23:49.439125 Event: Caller Handler Ready
-On: 2011-11-02 16:23:54.569764 Event: CALL START
-On: 2011-11-02 16:23:54.569824 Event: Make a call to: 017678038038
-On: 2011-11-02 16:24:04.479758 Event: Call Connecting
-On: 2011-11-02 16:24:04.479809 Event: 200
-On: 2011-11-02 16:24:04.482186 Event: Terminate
-On: 2011-11-02 16:24:04.482244 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:24:08.713827 ------------------
-On: 2011-11-02 16:24:08.749457 Event: try to Connect to Controller
-On: 2011-11-02 16:24:09.585153 Event: init state
-On: 2011-11-02 16:24:09.585394 Event: Register Account to SIP server
-On: 2011-11-02 16:24:09.585817 Event: 100
-On: 2011-11-02 16:24:09.585901 Event: Caller Handler Ready
-On: 2011-11-02 16:24:14.757311 Event: CALL START
-On: 2011-11-02 16:24:14.757380 Event: Make a call to: 015128040906
-On: 2011-11-02 16:24:46.758130 Event: Terminate
-On: 2011-11-02 16:24:46.758188 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:12:39.809558 ------------------
-On: 2011-11-02 17:12:39.836636 Event: try to Connect to Controller
-On: 2011-11-02 17:12:41.009544 Event: init state
-On: 2011-11-02 17:12:41.009778 Event: Register Account to SIP server
-On: 2011-11-02 17:12:41.010237 Event: 100
-On: 2011-11-02 17:12:41.010332 Event: Receiver Handler Ready
-On: 2011-11-02 17:12:41.010699 Event: RECEIVE START
-On: 2011-11-02 17:12:46.962302 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-02 17:12:46.962819 Event: Call Connecting
-On: 2011-11-02 17:12:46.962861 Event: 200
-On: 2011-11-02 17:12:46.963115 Event: Answer call
-On: 2011-11-02 17:12:46.963167 Event: Hangup call
-On: 2011-11-02 17:12:46.963348 Event: CALL OK
-On: 2011-11-02 17:12:47.014060 Event: Call Disconnected
-On: 2011-11-02 17:12:47.520338 Event: Terminate
-On: 2011-11-02 17:12:47.520374 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:13:51.195795 ------------------
-On: 2011-11-02 17:13:51.221295 Event: try to Connect to Controller
-On: 2011-11-02 17:13:52.370429 Event: init state
-On: 2011-11-02 17:13:52.370668 Event: Register Account to SIP server
-On: 2011-11-02 17:13:52.371086 Event: 100
-On: 2011-11-02 17:13:52.371173 Event: Caller Handler Ready
-On: 2011-11-02 17:13:57.380745 Event: CALL START
-On: 2011-11-02 17:13:57.380806 Event: Make a call to: 076120397898
-On: 2011-11-02 17:13:57.423528 Event: Call Connecting
-On: 2011-11-02 17:13:57.423578 Event: 200
-On: 2011-11-02 17:13:57.426350 Event: Terminate
-On: 2011-11-02 17:13:57.426409 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:01.342495 ------------------
-On: 2011-11-02 17:14:01.367704 Event: try to Connect to Controller
-On: 2011-11-02 17:14:02.483633 Event: init state
-On: 2011-11-02 17:14:02.483869 Event: Register Account to SIP server
-On: 2011-11-02 17:14:02.484291 Event: 100
-On: 2011-11-02 17:14:02.484375 Event: Caller Handler Ready
-On: 2011-11-02 17:14:07.494922 Event: CALL START
-On: 2011-11-02 17:14:07.494985 Event: Make a call to: 076145875681
-On: 2011-11-02 17:14:12.029450 Event: Call Connecting
-On: 2011-11-02 17:14:12.029500 Event: 200
-On: 2011-11-02 17:14:12.031205 Event: Terminate
-On: 2011-11-02 17:14:12.031256 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:24.079391 ------------------
-On: 2011-11-02 17:14:24.099987 Event: try to Connect to Controller
-On: 2011-11-02 17:14:25.305475 Event: init state
-On: 2011-11-02 17:14:25.305706 Event: Register Account to SIP server
-On: 2011-11-02 17:14:25.306177 Event: 100
-On: 2011-11-02 17:14:25.306263 Event: Receiver Handler Ready
-On: 2011-11-02 17:14:25.306536 Event: RECEIVE START
-On: 2011-11-02 17:14:27.378666 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-11-02 17:14:27.379169 Event: Call Connecting
-On: 2011-11-02 17:14:27.379210 Event: 200
-On: 2011-11-02 17:14:27.379464 Event: Answer call
-On: 2011-11-02 17:14:27.379516 Event: Hangup call
-On: 2011-11-02 17:14:27.379694 Event: CALL OK
-On: 2011-11-02 17:14:27.430424 Event: Call Disconnected
-On: 2011-11-02 17:14:28.602288 Event: Terminate
-On: 2011-11-02 17:14:28.602332 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:40.636613 ------------------
-On: 2011-11-02 17:14:40.657540 Event: try to Connect to Controller
-On: 2011-11-02 17:14:41.877442 Event: init state
-On: 2011-11-02 17:14:41.877672 Event: Register Account to SIP server
-On: 2011-11-02 17:14:41.878168 Event: 100
-On: 2011-11-02 17:14:41.878262 Event: Receiver Handler Ready
-On: 2011-11-02 17:14:41.878556 Event: RECEIVE START
-On: 2011-11-02 17:14:43.578231 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-02 17:14:43.578745 Event: Call Connecting
-On: 2011-11-02 17:14:43.578786 Event: 200
-On: 2011-11-02 17:14:43.579048 Event: Answer call
-On: 2011-11-02 17:14:43.579099 Event: Hangup call
-On: 2011-11-02 17:14:43.579277 Event: CALL OK
-On: 2011-11-02 17:14:43.629999 Event: Call Disconnected
-On: 2011-11-02 17:14:45.042093 Event: Terminate
-On: 2011-11-02 17:14:45.042140 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:51.121843 ------------------
-On: 2011-11-02 17:14:51.155697 Event: try to Connect to Controller
-On: 2011-11-02 17:14:52.259042 Event: init state
-On: 2011-11-02 17:14:52.259277 Event: Register Account to SIP server
-On: 2011-11-02 17:14:52.259699 Event: 100
-On: 2011-11-02 17:14:52.259782 Event: Receiver Handler Ready
-On: 2011-11-02 17:14:52.262052 Event: RECEIVE START
-On: 2011-11-02 17:14:53.726455 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-11-02 17:14:53.726952 Event: Call Connecting
-On: 2011-11-02 17:14:53.726993 Event: 200
-On: 2011-11-02 17:14:53.727255 Event: Answer call
-On: 2011-11-02 17:14:53.727308 Event: Hangup call
-On: 2011-11-02 17:14:53.727481 Event: CALL OK
-On: 2011-11-02 17:14:53.778209 Event: Call Disconnected
-On: 2011-11-02 17:14:54.830461 Event: Terminate
-On: 2011-11-02 17:14:54.830497 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:14:58.727459 ------------------
-On: 2011-11-02 17:14:58.753381 Event: try to Connect to Controller
-On: 2011-11-02 17:14:59.881255 Event: init state
-On: 2011-11-02 17:14:59.881492 Event: Register Account to SIP server
-On: 2011-11-02 17:14:59.881914 Event: 100
-On: 2011-11-02 17:14:59.882054 Event: Caller Handler Ready
-On: 2011-11-02 17:15:11.095411 Event: CALL START
-On: 2011-11-02 17:15:11.095478 Event: Make a call to: 07612034661455
-On: 2011-11-02 17:15:13.050410 Event: Call Connecting
-On: 2011-11-02 17:15:13.050459 Event: 200
-On: 2011-11-02 17:15:13.119978 Event: Terminate
-On: 2011-11-02 17:15:13.120013 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:15:17.026607 ------------------
-On: 2011-11-02 17:15:17.062403 Event: try to Connect to Controller
-On: 2011-11-02 17:15:18.168485 Event: init state
-On: 2011-11-02 17:15:18.168720 Event: Register Account to SIP server
-On: 2011-11-02 17:15:18.169140 Event: 100
-On: 2011-11-02 17:15:18.169223 Event: Caller Handler Ready
-On: 2011-11-02 17:15:29.399267 Event: CALL START
-On: 2011-11-02 17:15:29.399332 Event: Make a call to: 07612034661473
-On: 2011-11-02 17:15:31.199399 Event: Call Connecting
-On: 2011-11-02 17:15:31.199448 Event: 200
-On: 2011-11-02 17:15:31.239827 Event: Terminate
-On: 2011-11-02 17:15:31.239862 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:15:35.145835 ------------------
-On: 2011-11-02 17:15:35.166898 Event: try to Connect to Controller
-On: 2011-11-02 17:15:36.301892 Event: init state
-On: 2011-11-02 17:15:36.302181 Event: Register Account to SIP server
-On: 2011-11-02 17:15:36.302605 Event: 100
-On: 2011-11-02 17:15:36.302692 Event: Caller Handler Ready
-On: 2011-11-02 17:15:41.460800 Event: CALL START
-On: 2011-11-02 17:15:41.460860 Event: Make a call to: 07612034661449
-On: 2011-11-02 17:15:44.130833 Event: Call Connecting
-On: 2011-11-02 17:15:44.130881 Event: 200
-On: 2011-11-02 17:15:44.198488 Event: Terminate
-On: 2011-11-02 17:15:44.198522 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:31.664913 ------------------
-On: 2011-11-02 17:16:31.686228 Event: try to Connect to Controller
-On: 2011-11-02 17:16:32.827303 Event: init state
-On: 2011-11-02 17:16:32.827541 Event: Register Account to SIP server
-On: 2011-11-02 17:16:32.827963 Event: 100
-On: 2011-11-02 17:16:32.828047 Event: Caller Handler Ready
-On: 2011-11-02 17:16:37.963124 Event: CALL START
-On: 2011-11-02 17:16:37.963196 Event: Make a call to: 015782677224
-On: 2011-11-02 17:16:44.033154 Event: Call Connecting
-On: 2011-11-02 17:16:44.033202 Event: 200
-On: 2011-11-02 17:16:49.963284 Event: Terminate
-On: 2011-11-02 17:16:49.963317 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:53.858648 ------------------
-On: 2011-11-02 17:16:53.883750 Event: try to Connect to Controller
-On: 2011-11-02 17:16:55.024656 Event: init state
-On: 2011-11-02 17:16:55.024885 Event: Register Account to SIP server
-On: 2011-11-02 17:16:55.025297 Event: 100
-On: 2011-11-02 17:16:55.025377 Event: Caller Handler Ready
-On: 2011-11-02 17:17:00.157669 Event: CALL START
-On: 2011-11-02 17:17:00.157723 Event: Make a call to: 015252423662
-On: 2011-11-02 17:17:12.960544 Event: Call Connecting
-On: 2011-11-02 17:17:12.960596 Event: 200
-On: 2011-11-02 17:17:12.965325 Event: Terminate
-On: 2011-11-02 17:17:12.965384 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:17:16.874759 ------------------
-On: 2011-11-02 17:17:16.907026 Event: try to Connect to Controller
-On: 2011-11-02 17:17:18.021687 Event: init state
-On: 2011-11-02 17:17:18.021924 Event: Register Account to SIP server
-On: 2011-11-02 17:17:18.022394 Event: 100
-On: 2011-11-02 17:17:18.022485 Event: Caller Handler Ready
-On: 2011-11-02 17:17:23.153640 Event: CALL START
-On: 2011-11-02 17:17:23.153700 Event: Make a call to: 015128040906
-On: 2011-11-02 17:17:33.821620 Event: Call Connecting
-On: 2011-11-02 17:17:33.821671 Event: 200
-On: 2011-11-02 17:17:33.826129 Event: Terminate
-On: 2011-11-02 17:17:33.826183 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:17:37.734868 ------------------
-On: 2011-11-02 17:17:37.762352 Event: try to Connect to Controller
-On: 2011-11-02 17:17:38.883764 Event: init state
-On: 2011-11-02 17:17:38.883999 Event: Register Account to SIP server
-On: 2011-11-02 17:17:38.884423 Event: 100
-On: 2011-11-02 17:17:38.884508 Event: Caller Handler Ready
-On: 2011-11-02 17:17:43.993994 Event: CALL START
-On: 2011-11-02 17:17:43.994055 Event: Make a call to: 017678038038
-On: 2011-11-02 17:17:54.367692 Event: Call Connecting
-On: 2011-11-02 17:17:54.367742 Event: 200
-On: 2011-11-02 17:17:54.370141 Event: Terminate
-On: 2011-11-02 17:17:54.370199 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:35.149391 ------------------
-On: 2011-11-02 17:38:35.170533 Event: try to Connect to Controller
-On: 2011-11-02 17:38:36.430989 Event: init state
-On: 2011-11-02 17:38:36.431220 Event: Register Account to SIP server
-On: 2011-11-02 17:38:36.431628 Event: 100
-On: 2011-11-02 17:38:36.431705 Event: Receiver Handler Ready
-On: 2011-11-02 17:38:36.432042 Event: RECEIVE START
-On: 2011-11-02 17:38:42.083366 Event: {Call "045875681" <sip:045875681@132.230.4.8>}
-On: 2011-11-02 17:38:42.083864 Event: Call Connecting
-On: 2011-11-02 17:38:42.083904 Event: 200
-On: 2011-11-02 17:38:42.084151 Event: Answer call
-On: 2011-11-02 17:38:42.084214 Event: Hangup call
-On: 2011-11-02 17:38:42.084390 Event: CALL OK
-On: 2011-11-02 17:38:42.135086 Event: Call Disconnected
-On: 2011-11-02 17:38:42.808435 Event: Terminate
-On: 2011-11-02 17:38:42.808471 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:46.553333 ------------------
-On: 2011-11-02 17:38:46.574281 Event: try to Connect to Controller
-On: 2011-11-02 17:38:47.850998 Event: init state
-On: 2011-11-02 17:38:47.851250 Event: Register Account to SIP server
-On: 2011-11-02 17:38:47.851667 Event: 100
-On: 2011-11-02 17:38:47.851746 Event: Caller Handler Ready
-On: 2011-11-02 17:38:52.861566 Event: CALL START
-On: 2011-11-02 17:38:52.861625 Event: Make a call to: 076120397898
-On: 2011-11-02 17:38:52.924600 Event: Call Connecting
-On: 2011-11-02 17:38:52.924661 Event: 200
-On: 2011-11-02 17:38:52.926381 Event: Terminate
-On: 2011-11-02 17:38:52.926433 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:56.677732 ------------------
-On: 2011-11-02 17:38:56.698240 Event: try to Connect to Controller
-On: 2011-11-02 17:38:57.982978 Event: init state
-On: 2011-11-02 17:38:57.983215 Event: Register Account to SIP server
-On: 2011-11-02 17:38:57.983626 Event: 100
-On: 2011-11-02 17:38:57.983704 Event: Caller Handler Ready
-On: 2011-11-02 17:39:02.992578 Event: CALL START
-On: 2011-11-02 17:39:02.992637 Event: Make a call to: 076145875681
-On: 2011-11-02 17:39:06.685872 Event: Call Connecting
-On: 2011-11-02 17:39:06.685919 Event: 200
-On: 2011-11-02 17:39:06.687499 Event: Terminate
-On: 2011-11-02 17:39:06.687547 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:18.652404 ------------------
-On: 2011-11-02 17:39:18.673010 Event: try to Connect to Controller
-On: 2011-11-02 17:39:19.966965 Event: init state
-On: 2011-11-02 17:39:19.967193 Event: Register Account to SIP server
-On: 2011-11-02 17:39:19.967965 Event: 100
-On: 2011-11-02 17:39:19.968042 Event: Receiver Handler Ready
-On: 2011-11-02 17:39:19.968447 Event: RECEIVE START
-On: 2011-11-02 17:39:22.103333 Event: {Call "455" <sip:455@132.230.4.8>}
-On: 2011-11-02 17:39:22.103824 Event: Call Connecting
-On: 2011-11-02 17:39:22.103862 Event: 200
-On: 2011-11-02 17:39:22.104107 Event: Answer call
-On: 2011-11-02 17:39:22.104157 Event: Hangup call
-On: 2011-11-02 17:39:22.104332 Event: CALL OK
-On: 2011-11-02 17:39:22.155010 Event: Call Disconnected
-On: 2011-11-02 17:39:23.460219 Event: Terminate
-On: 2011-11-02 17:39:23.460262 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:35.411640 ------------------
-On: 2011-11-02 17:39:35.432502 Event: try to Connect to Controller
-On: 2011-11-02 17:39:36.726999 Event: init state
-On: 2011-11-02 17:39:36.727229 Event: Register Account to SIP server
-On: 2011-11-02 17:39:36.727636 Event: 100
-On: 2011-11-02 17:39:36.727714 Event: Receiver Handler Ready
-On: 2011-11-02 17:39:36.727968 Event: RECEIVE START
-On: 2011-11-02 17:39:38.555898 Event: {Call "473" <sip:473@132.230.4.8>}
-On: 2011-11-02 17:39:38.556387 Event: Call Connecting
-On: 2011-11-02 17:39:38.556424 Event: 200
-On: 2011-11-02 17:39:38.556670 Event: Answer call
-On: 2011-11-02 17:39:38.556722 Event: Hangup call
-On: 2011-11-02 17:39:38.556893 Event: CALL OK
-On: 2011-11-02 17:39:38.607584 Event: Call Disconnected
-On: 2011-11-02 17:39:39.893391 Event: Terminate
-On: 2011-11-02 17:39:39.893432 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:45.805700 ------------------
-On: 2011-11-02 17:39:45.827072 Event: try to Connect to Controller
-On: 2011-11-02 17:39:47.094981 Event: init state
-On: 2011-11-02 17:39:47.095203 Event: Register Account to SIP server
-On: 2011-11-02 17:39:47.095610 Event: 100
-On: 2011-11-02 17:39:47.095687 Event: Receiver Handler Ready
-On: 2011-11-02 17:39:47.098052 Event: RECEIVE START
-On: 2011-11-02 17:39:48.182275 Event: {Call "449" <sip:449@132.230.4.8>}
-On: 2011-11-02 17:39:48.182786 Event: Call Connecting
-On: 2011-11-02 17:39:48.182825 Event: 200
-On: 2011-11-02 17:39:48.183065 Event: Answer call
-On: 2011-11-02 17:39:48.183115 Event: Hangup call
-On: 2011-11-02 17:39:48.183284 Event: CALL OK
-On: 2011-11-02 17:39:48.233981 Event: Call Disconnected
-On: 2011-11-02 17:39:49.558436 Event: Terminate
-On: 2011-11-02 17:39:49.558469 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:39:53.306297 ------------------
-On: 2011-11-02 17:39:53.326839 Event: try to Connect to Controller
-On: 2011-11-02 17:39:54.614674 Event: init state
-On: 2011-11-02 17:39:54.614907 Event: Register Account to SIP server
-On: 2011-11-02 17:39:54.615318 Event: 100
-On: 2011-11-02 17:39:54.615396 Event: Caller Handler Ready
-On: 2011-11-02 17:39:59.767184 Event: CALL START
-On: 2011-11-02 17:39:59.767243 Event: Make a call to: 07612034661449
-On: 2011-11-02 17:40:02.341233 Event: Call Connecting
-On: 2011-11-02 17:40:02.341279 Event: 200
-On: 2011-11-02 17:40:02.426463 Event: Terminate
-On: 2011-11-02 17:40:02.426498 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:28:28.703759 ------------------
-On: 2011-11-02 18:28:28.725170 Event: try to Connect to Controller
-On: 2011-11-02 18:28:29.764343 Event: init state
-On: 2011-11-02 18:28:29.764578 Event: Register Account to SIP server
-On: 2011-11-02 18:28:29.764995 Event: 100
-On: 2011-11-02 18:28:29.765079 Event: Caller Handler Ready
-On: 2011-11-02 18:28:34.882045 Event: CALL START
-On: 2011-11-02 18:28:34.882098 Event: Make a call to: 015782677224
-On: 2011-11-02 18:28:42.364172 Event: Call Connecting
-On: 2011-11-02 18:28:42.364221 Event: 200
-On: 2011-11-02 18:28:46.879817 Event: Terminate
-On: 2011-11-02 18:28:46.879856 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:28:50.950270 ------------------
-On: 2011-11-02 18:28:50.970888 Event: try to Connect to Controller
-On: 2011-11-02 18:28:51.932161 Event: init state
-On: 2011-11-02 18:28:51.932394 Event: Register Account to SIP server
-On: 2011-11-02 18:28:51.932810 Event: 100
-On: 2011-11-02 18:28:51.932894 Event: Caller Handler Ready
-On: 2011-11-02 18:28:57.061982 Event: CALL START
-On: 2011-11-02 18:28:57.062053 Event: Make a call to: 015128040906
-On: 2011-11-02 18:29:08.502927 Event: Call Connecting
-On: 2011-11-02 18:29:08.502977 Event: 200
-On: 2011-11-02 18:29:08.506129 Event: Terminate
-On: 2011-11-02 18:29:08.506187 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:29:12.472018 ------------------
-On: 2011-11-02 18:29:12.526600 Event: try to Connect to Controller
-On: 2011-11-02 18:29:13.562890 Event: init state
-On: 2011-11-02 18:29:13.563126 Event: Register Account to SIP server
-On: 2011-11-02 18:29:13.563542 Event: 100
-On: 2011-11-02 18:29:13.563627 Event: Caller Handler Ready
-On: 2011-11-02 18:29:18.741831 Event: CALL START
-On: 2011-11-02 18:29:18.741907 Event: Make a call to: 015252423662
-On: 2011-11-02 18:29:28.739187 Event: Call Connecting
-On: 2011-11-02 18:29:28.739236 Event: 200
-On: 2011-11-02 18:29:28.742128 Event: Terminate
-On: 2011-11-02 18:29:28.742186 Event: Goodbye
diff --git a/For Weekly Test/tricode/ServerClass.py b/For Weekly Test/tricode/ServerClass.py
deleted file mode 100755
index 93c2f8e..0000000
--- a/For Weekly Test/tricode/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/For Weekly Test/tricode/TaskTest.html b/For Weekly Test/tricode/TaskTest.html
deleted file mode 100644
index 1c89f36..0000000
--- a/For Weekly Test/tricode/TaskTest.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE html>
-<html style="height: 100%;">
-
-<head>
- <title>GSM selftest Software</title>
- <meta name="generator" content="BBEdit 9.6" />
-</head>
-
-<body background="Images/BackGround.jpg" style="height: 100%;">
- <table style="width:75%; margin:auto" border="0">
-
- <tr align="center">
- <td height="100px" align="right"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="left"><font size="3" face="Century Gothic" color="LightGray">Log Out</font></td>
- </tr>
-
- <tr valign="center" style="height: 100%;">
- <td style="text-align:center;"><font size="2" face="Century Gothic" color="white">
- <INPUT type="image" value="check all" name="checkall" src="Images/SIPTestButton.png" onClick="fullTest()"><br />
- <INPUT type="image" value="check all" name="checkall" src="Images/GSMTestButton.png" onClick="fullTest()"><br />
- <INPUT type="image" value="check all" name="checkall" src="Images/CheckAllButton.png" onClick="fullTest()"><br />
- <!--<input type=button value="Check All" onClick="fullTest()" size="2" face="Century Gothic" color="white"><br />-->
- <INPUT type="image" value="uncheck" name="uncheck" src="Images/UncheckButton.png" onClick="deselectAll()"><br />
- <!--<input type=button value="UnCheck All values" onClick="deselectAll()"><br />-->
- <form name="testForm" form action="mutexTry.php" method="POST">
- <INPUT type="image" value="submit" name="submit" src="Images/SubmitButton.png"><br />
- <!--<input type=SUBMIT value="Submit"><br />-->
- </td>
- <td style="text-align:top;">
-
- <font size="2" face="Century Gothic" color="white">
-
- <label><input type="checkbox" name='sip_gsmrz1'> SIP to RZ-GSM 1</label><br />
- <label><input type="checkbox" name="sip_gsmrz2"> SIP to RZ-GSM 2</label><br />
- <label><input type="checkbox" name="sip_gsmrz3"> SIP to RZ-GSM 3</label><br />
-
- <label><input type="checkbox" name="sip_landln"> SIP to Landline</label><br />
- <label><input type="checkbox" name="sip_sipuniv"> SIP to Uni.telephone</label><br />
- <label><input type="checkbox" name="gsmrz1_sip"> RZ-GSM 1 to SIP</label><br />
- <label><input type="checkbox" name="gsmrz2_sip"> RZ-GSM 2 to SIP</label><br />
- <label><input type="checkbox" name="gsmrz3_sip"> RZ-GSM 3 to SIP</label><br />
-
- <label><input type="checkbox" name="gsmrz1_gsmrz2"> RZ-GSM 1 to RZ-GSM 2</label><br />
- <label><input type="checkbox" name="gsmrz1_gsmrz3"> RZ-GSM 1 to RZ-GSM 3</label><br />
- <label><input type="checkbox" name="gsmrz2_gsmrz3"> RZ-GSM 2 to RZ-GSM 3</label><br />
- <label><input type="checkbox" name="landline_sip"> Landline to SIP </label><br />
-
- <label><input type="checkbox" name="landline_gsmrz1"> Landline to RZ-GSM 1</label><br />
- <label><input type="checkbox" name="landline_gsmrz2"> Landline to RZ-GSM 2</label><br />
- <label><input type="checkbox" name="landline_gsmrz3"> Landline to RZ-GSM 3</label><br />
-
- </td> </font>
- <td style="text-align:top;">
- <font size="2" face="Century Gothic" color="white">
-
- <label><input type="checkbox" name="gsmrz1_gsmee"> RZ-GSM 1 to E-Plus</label><br />
- <label><input type="checkbox" name="gsmrz1_gsmev"> RZ-GSM 1 to Vodaphone</label><br />
-
- <label><input type="checkbox" name="gsmrz1_gsmet"> RZ-GSM 1 to T-Mobile</label><br />
- <label><input type="checkbox" name="gsmrz1_gsmeo"> RZ-GSM 1 to O2</label><br />
-
- <label><input type="checkbox" name="gsmrz2_gsmee"> RZ-GSM 2 to E-Plus</label><br />
- <label><input type="checkbox" name="gsmrz2_gsmev"> RZ-GSM 2 to Vodaphone</label><br />
- <label><input type="checkbox" name="gsmrz2_gsmet"> RZ-GSM 2 to T-Mobile</label><br />
- <label><input type="checkbox" name="gsmrz2_gsmeo"> RZ-GSM 2 to O2</label><br />
-
- <label><input type="checkbox" name="gsmrz3_gsmee"> RZ-GSM 3 to E-Plus</label><br />
- <label><input type="checkbox" name="gsmrz3_gsmev"> RZ-GSM 3 to Vodaphone</label><br />
- <label><input type="checkbox" name="gsmrz3_gsmet"> RZ-GSM 3 to T-Mobile</label><br />
- <label><input type="checkbox" name="gsmrz3_gsmeo"> RZ-GSM 3 to O2</label><br />
-
-
- <label><input type="checkbox" name="unisip_gsmrz1"> RZ-GSM 1 to Uni.telephone</label><br />
- <label><input type="checkbox" name="unisip_gsmrz2"> RZ-GSM 2 to Uni.telephone</label><br />
- <label><input type="checkbox" name="unisip_gsmrz3"> RZ-GSM 3 to Uni.telephone</label><br />
-
- </font>
-
- </td>
- </tr>
-
- <tr>
- <table style="width:100%; margin-top: -20px; height:50%; align: center; clear: both;">
- <tr>
- <td height="100px" align="center" valign="bottom"><font size="1" face="Century Gothic" color="LightGray">Albert-Ludwig University of Freiburg 2011</td>
- </tr>
- </table>
- </tr>
- </table></form>
-
-<script type = "text/javascript">
-
-function fullTest()
-{
- document.testForm.sip_gsmrz1.checked=true
- document.testForm.sip_gsmrz2.checked=true
- document.testForm.sip_gsmrz3.checked=true
-
- document.testForm.sip_landln.checked=true
- document.testForm.sip_sipuniv.checked=true
-
- document.testForm.gsmrz1_gsmrz2.checked=true
- document.testForm.gsmrz1_gsmrz3.checked=true
- document.testForm.gsmrz2_gsmrz3.checked=true
-
- document.testForm.gsmrz1_sip.checked=true
- document.testForm.gsmrz2_sip.checked=true
- document.testForm.gsmrz3_sip.checked=true
-
- document.testForm.landline_sip.checked=true
-
- document.testForm.landline_gsmrz1.checked=true
- document.testForm.landline_gsmrz2.checked=true
- document.testForm.landline_gsmrz3.checked=true
-
- document.testForm.gsmrz1_gsmee.checked=true
- document.testForm.gsmrz1_gsmev.checked=true
- document.testForm.gsmrz1_gsmet.checked=true
- document.testForm.gsmrz1_gsmeo.checked=true
-
- document.testForm.gsmrz2_gsmee.checked=true
- document.testForm.gsmrz2_gsmev.checked=true
- document.testForm.gsmrz2_gsmet.checked=true
- document.testForm.gsmrz2_gsmeo.checked=true
-
- document.testForm.gsmrz3_gsmee.checked=true
- document.testForm.gsmrz3_gsmev.checked=true
- document.testForm.gsmrz3_gsmet.checked=true
- document.testForm.gsmrz3_gsmeo.checked=true
-
- document.testForm.unisip_gsmrz1.checked=true
- document.testForm.unisip_gsmrz2.checked=true
- document.testForm.unisip_gsmrz3.checked=true
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz1.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz2.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz3.getParent())
-}
-
-
-function deselectAll()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmrz1.checked=false
- document.testForm.unisip_gsmrz2.checked=false
- document.testForm.unisip_gsmrz3.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz1.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz2.getParent())
- FancyForm.update(document.testForm.unisip_gsmrz3.getParent())
-
-}
-</script>-->
-</body>
-</html>
diff --git a/For Weekly Test/tricode/TestProcessLog.log b/For Weekly Test/tricode/TestProcessLog.log
deleted file mode 100644
index 6b7475f..0000000
--- a/For Weekly Test/tricode/TestProcessLog.log
+++ /dev/null
@@ -1,4574 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-11-02 10:00:38.946453 ------------------
-On: 2011-11-02 10:00:38.946525 Event: init Caller
-On: 2011-11-02 10:00:38.946550 Event: unisip
-On: 2011-11-02 10:00:40.956232 Event: Caller Greeting
-On: 2011-11-02 10:00:40.957003 Event: Cannt connect to Caller
-On: 2011-11-02 10:00:40.957052 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:00:44.019341 Event: -- -X- --
-On: 2011-11-02 10:00:44.019400 Event: init Caller
-On: 2011-11-02 10:00:44.019418 Event: GSMRZ2
-On: 2011-11-02 10:00:52.034069 Event: Caller Greeting
-On: 2011-11-02 10:00:52.034724 Event: Connected to Caller Handler
-On: 2011-11-02 10:00:52.038715 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 10:00:52.038897 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 10:00:52.038923 Event: init Cancel test
-On: 2011-11-02 10:00:55.094375 Event: -- -X- --
-On: 2011-11-02 10:00:55.094437 Event: init Caller
-On: 2011-11-02 10:00:55.094455 Event: landline
-On: 2011-11-02 10:00:57.098065 Event: Caller Greeting
-On: 2011-11-02 10:00:57.099038 Event: Cannt connect to Caller
-On: 2011-11-02 10:00:57.099089 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:00.158201 Event: -- -X- --
-On: 2011-11-02 10:01:00.158259 Event: init Caller
-On: 2011-11-02 10:01:00.158277 Event: sip
-On: 2011-11-02 10:01:02.165621 Event: Caller Greeting
-On: 2011-11-02 10:01:02.166363 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:02.166414 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:05.225355 Event: -- -X- --
-On: 2011-11-02 10:01:05.225410 Event: init Caller
-On: 2011-11-02 10:01:05.225429 Event: sip
-On: 2011-11-02 10:01:07.233677 Event: Caller Greeting
-On: 2011-11-02 10:01:07.234336 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:07.234385 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:10.295994 Event: -- -X- --
-On: 2011-11-02 10:01:10.296051 Event: init Caller
-On: 2011-11-02 10:01:10.296069 Event: sip
-On: 2011-11-02 10:01:12.302038 Event: Caller Greeting
-On: 2011-11-02 10:01:12.302698 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:12.302749 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:15.358404 Event: -- -X- --
-On: 2011-11-02 10:01:15.358460 Event: init Caller
-On: 2011-11-02 10:01:15.358478 Event: sip
-On: 2011-11-02 10:01:17.365930 Event: Caller Greeting
-On: 2011-11-02 10:01:17.366587 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:17.366635 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:20.425607 Event: -- -X- --
-On: 2011-11-02 10:01:20.425666 Event: init Caller
-On: 2011-11-02 10:01:20.425683 Event: sip
-On: 2011-11-02 10:01:22.430062 Event: Caller Greeting
-On: 2011-11-02 10:01:22.430807 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:22.430857 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:25.480523 Event: -- -X- --
-On: 2011-11-02 10:01:25.480581 Event: init Caller
-On: 2011-11-02 10:01:25.480600 Event: sip
-On: 2011-11-02 10:01:27.489450 Event: Caller Greeting
-On: 2011-11-02 10:01:27.490247 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:27.490299 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:30.546452 Event: -- -X- --
-On: 2011-11-02 10:01:30.546514 Event: init Caller
-On: 2011-11-02 10:01:30.546533 Event: sip
-On: 2011-11-02 10:01:32.554037 Event: Caller Greeting
-On: 2011-11-02 10:01:32.554672 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:32.554722 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:35.616034 Event: -- -X- --
-On: 2011-11-02 10:01:35.616092 Event: init Caller
-On: 2011-11-02 10:01:35.616110 Event: sip
-On: 2011-11-02 10:01:37.622882 Event: Caller Greeting
-On: 2011-11-02 10:01:37.623514 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:37.623563 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:40.684111 Event: -- -X- --
-On: 2011-11-02 10:01:40.684170 Event: init Caller
-On: 2011-11-02 10:01:40.684187 Event: sip
-On: 2011-11-02 10:01:42.690054 Event: Caller Greeting
-On: 2011-11-02 10:01:42.690684 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:42.690734 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 10:01:45.750187 Event: -- -X- --
-On: 2011-11-02 10:01:45.750248 Event: init Caller
-On: 2011-11-02 10:01:45.750266 Event: sip
-On: 2011-11-02 10:01:47.754034 Event: Caller Greeting
-On: 2011-11-02 10:01:47.754662 Event: Cannt connect to Caller
-On: 2011-11-02 10:01:47.754710 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:03.100151 ------------------
-On: 2011-11-02 13:07:03.100231 Event: init Caller
-On: 2011-11-02 13:07:03.100254 Event: unisip
-On: 2011-11-02 13:07:05.112261 Event: Caller Greeting
-On: 2011-11-02 13:07:05.113255 Event: Connected to Caller Handler
-On: 2011-11-02 13:07:05.113541 Event: Caller Handler respond
-On: 2011-11-02 13:07:05.114377 Event: Caller handler : Ready
-On: 2011-11-02 13:07:05.114415 Event: init Receiver
-On: 2011-11-02 13:07:05.114434 Event: GSMRZ1
-On: 2011-11-02 13:07:05.114485 Event: Init GSM
-On: 2011-11-02 13:07:07.118011 Event: Receiver Greeting
-On: 2011-11-02 13:07:07.120756 Event: Connected to Receiver Handler
-On: 2011-11-02 13:07:07.274209 Event: Receiver Handler respond
-On: 2011-11-02 13:07:07.274505 Event: Receiver handler : Ready
-On: 2011-11-02 13:07:07.274538 Event: Start Call
-On: 2011-11-02 13:07:07.274591 Event: Waiting Feedback
-On: 2011-11-02 13:07:12.798389 Event: Test Succeed
-On: 2011-11-02 13:07:12.798449 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:07:12.798609 Event: init Cancel test
-On: 2011-11-02 13:07:15.864714 Event: -- -X- --
-On: 2011-11-02 13:07:15.864774 Event: init Caller
-On: 2011-11-02 13:07:15.864792 Event: GSMRZ2
-On: 2011-11-02 13:07:23.882037 Event: Caller Greeting
-On: 2011-11-02 13:07:23.882624 Event: Connected to Caller Handler
-On: 2011-11-02 13:07:23.887301 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:07:23.887479 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 13:07:23.887504 Event: init Cancel test
-On: 2011-11-02 13:07:26.935444 Event: -- -X- --
-On: 2011-11-02 13:07:26.935509 Event: init Caller
-On: 2011-11-02 13:07:26.935528 Event: landline
-On: 2011-11-02 13:07:28.939738 Event: Caller Greeting
-On: 2011-11-02 13:07:28.940570 Event: Connected to Caller Handler
-On: 2011-11-02 13:07:28.940861 Event: Caller Handler respond
-On: 2011-11-02 13:07:28.944150 Event: Caller handler : Ready
-On: 2011-11-02 13:07:28.944188 Event: init Receiver
-On: 2011-11-02 13:07:28.944208 Event: GSMRZ3
-On: 2011-11-02 13:07:36.949320 Event: Receiver Greeting
-On: 2011-11-02 13:07:36.949904 Event: Connected to Receiver Handler
-On: 2011-11-02 13:07:36.954152 Event: connect to Receiver but device doesnt work
-On: 2011-11-02 13:07:36.954219 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:07:36.954241 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:07:36.954990 Event: init Cancel test
-On: 2011-11-02 13:07:39.999334 Event: -- -X- --
-On: 2011-11-02 13:07:39.999397 Event: init Caller
-On: 2011-11-02 13:07:39.999416 Event: sip
-On: 2011-11-02 13:07:42.002012 Event: Caller Greeting
-On: 2011-11-02 13:07:42.002841 Event: Connected to Caller Handler
-On: 2011-11-02 13:07:42.003131 Event: Caller Handler respond
-On: 2011-11-02 13:07:42.003905 Event: Caller handler : Ready
-On: 2011-11-02 13:07:42.003943 Event: init Receiver
-On: 2011-11-02 13:07:42.003963 Event: GSMExt.Eplus
-On: 2011-11-02 13:07:42.004014 Event: Init GSM
-On: 2011-11-02 13:07:44.008454 Event: Receiver Greeting
-On: 2011-11-02 13:07:44.011093 Event: Connected to Receiver Handler
-On: 2011-11-02 13:07:44.134968 Event: Receiver Handler respond
-On: 2011-11-02 13:07:44.135415 Event: Receiver handler : Ready
-On: 2011-11-02 13:07:44.135452 Event: Start Call
-On: 2011-11-02 13:07:44.135507 Event: Waiting Feedback
-On: 2011-11-02 13:07:59.135940 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 13:07:59.136002 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:07:59.136145 Event: init Cancel test
-On: 2011-11-02 13:08:02.183073 Event: -- -X- --
-On: 2011-11-02 13:08:02.183134 Event: init Caller
-On: 2011-11-02 13:08:02.183153 Event: sip
-On: 2011-11-02 13:08:04.187426 Event: Caller Greeting
-On: 2011-11-02 13:08:04.188267 Event: Connected to Caller Handler
-On: 2011-11-02 13:08:04.188559 Event: Caller Handler respond
-On: 2011-11-02 13:08:04.189333 Event: Caller handler : Ready
-On: 2011-11-02 13:08:04.189373 Event: init Receiver
-On: 2011-11-02 13:08:04.189394 Event: GSMExt.O2
-On: 2011-11-02 13:08:04.189446 Event: Init GSM
-On: 2011-11-02 13:08:06.193166 Event: Receiver Greeting
-On: 2011-11-02 13:08:06.204698 Event: Connected to Receiver Handler
-On: 2011-11-02 13:08:06.318211 Event: Receiver Handler respond
-On: 2011-11-02 13:08:06.318509 Event: Receiver handler : Ready
-On: 2011-11-02 13:08:06.318541 Event: Start Call
-On: 2011-11-02 13:08:06.318592 Event: Waiting Feedback
-On: 2011-11-02 13:08:18.315580 Event: Test Succeed
-On: 2011-11-02 13:08:18.315640 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:08:18.315781 Event: init Cancel test
-On: 2011-11-02 13:08:21.371476 Event: -- -X- --
-On: 2011-11-02 13:08:21.371537 Event: init Caller
-On: 2011-11-02 13:08:21.371555 Event: sip
-On: 2011-11-02 13:08:23.374055 Event: Caller Greeting
-On: 2011-11-02 13:08:23.374909 Event: Connected to Caller Handler
-On: 2011-11-02 13:08:23.375197 Event: Caller Handler respond
-On: 2011-11-02 13:08:23.376326 Event: Caller handler : Ready
-On: 2011-11-02 13:08:23.376365 Event: init Receiver
-On: 2011-11-02 13:08:23.376385 Event: GSMExt.Tm
-On: 2011-11-02 13:08:23.376436 Event: Init GSM
-On: 2011-11-02 13:08:25.382015 Event: Receiver Greeting
-On: 2011-11-02 13:08:25.384629 Event: Connected to Receiver Handler
-On: 2011-11-02 13:08:25.498211 Event: Receiver Handler respond
-On: 2011-11-02 13:08:25.498507 Event: Receiver handler : Ready
-On: 2011-11-02 13:08:25.498539 Event: Start Call
-On: 2011-11-02 13:08:25.498590 Event: Waiting Feedback
-On: 2011-11-02 13:08:39.124533 Event: Test Succeed
-On: 2011-11-02 13:08:39.124595 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:08:39.124735 Event: init Cancel test
-On: 2011-11-02 13:08:42.184413 Event: -- -X- --
-On: 2011-11-02 13:08:42.184478 Event: init Caller
-On: 2011-11-02 13:08:42.184497 Event: sip
-On: 2011-11-02 13:08:44.198020 Event: Caller Greeting
-On: 2011-11-02 13:08:44.198854 Event: Connected to Caller Handler
-On: 2011-11-02 13:08:44.199137 Event: Caller Handler respond
-On: 2011-11-02 13:08:44.199910 Event: Caller handler : Ready
-On: 2011-11-02 13:08:44.199944 Event: init Receiver
-On: 2011-11-02 13:08:44.199963 Event: GSMExt.Voda
-On: 2011-11-02 13:08:44.200014 Event: Init GSM
-On: 2011-11-02 13:08:46.204307 Event: Receiver Greeting
-On: 2011-11-02 13:08:46.207125 Event: Connected to Receiver Handler
-On: 2011-11-02 13:08:51.240220 Event: connect to Receiver but device doesnt work
-On: 2011-11-02 13:08:51.240259 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:08:51.240282 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:08:51.240382 Event: init Cancel test
-On: 2011-11-02 13:08:54.294449 Event: -- -X- --
-On: 2011-11-02 13:08:54.294514 Event: init Caller
-On: 2011-11-02 13:08:54.294532 Event: sip
-On: 2011-11-02 13:08:56.296930 Event: Caller Greeting
-On: 2011-11-02 13:08:56.297776 Event: Connected to Caller Handler
-On: 2011-11-02 13:08:56.298529 Event: Caller Handler respond
-On: 2011-11-02 13:08:56.300130 Event: Caller handler : Ready
-On: 2011-11-02 13:08:56.300194 Event: init Receiver
-On: 2011-11-02 13:08:56.300214 Event: GSMRZ3
-On: 2011-11-02 13:09:04.312117 Event: Receiver Greeting
-On: 2011-11-02 13:09:04.312644 Event: Connected to Receiver Handler
-On: 2011-11-02 13:09:04.317400 Event: connect to Receiver but device doesnt work
-On: 2011-11-02 13:09:04.317465 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:09:04.317488 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:09:04.317699 Event: init Cancel test
-On: 2011-11-02 13:09:07.367378 Event: -- -X- --
-On: 2011-11-02 13:09:07.367441 Event: init Caller
-On: 2011-11-02 13:09:07.367459 Event: sip
-On: 2011-11-02 13:09:09.375516 Event: Caller Greeting
-On: 2011-11-02 13:09:09.378086 Event: Connected to Caller Handler
-On: 2011-11-02 13:09:09.378436 Event: Caller Handler respond
-On: 2011-11-02 13:09:09.379200 Event: Caller handler : Ready
-On: 2011-11-02 13:09:09.379240 Event: init Receiver
-On: 2011-11-02 13:09:09.379259 Event: landline
-On: 2011-11-02 13:09:11.385431 Event: Receiver Greeting
-On: 2011-11-02 13:09:11.386281 Event: Connected to Receiver Handler
-On: 2011-11-02 13:09:11.386564 Event: Receiver Handler respond
-On: 2011-11-02 13:09:11.389171 Event: Receiver handler : Ready
-On: 2011-11-02 13:09:11.389285 Event: Start Call
-On: 2011-11-02 13:09:11.389358 Event: Waiting Feedback
-On: 2011-11-02 13:09:29.397276 Event: Test Succeed
-On: 2011-11-02 13:09:29.397335 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:09:29.397490 Event: init Cancel test
-On: 2011-11-02 13:09:32.451773 Event: -- -X- --
-On: 2011-11-02 13:09:32.451835 Event: init Caller
-On: 2011-11-02 13:09:32.451854 Event: GSMRZ2
-On: 2011-11-02 13:09:40.463809 Event: Caller Greeting
-On: 2011-11-02 13:09:40.464389 Event: Connected to Caller Handler
-On: 2011-11-02 13:09:40.468954 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:09:40.469132 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 13:09:40.469157 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:11:37.554389 ------------------
-On: 2011-11-02 13:11:37.554466 Event: init Caller
-On: 2011-11-02 13:11:37.554489 Event: sip
-On: 2011-11-02 13:11:39.558645 Event: Caller Greeting
-On: 2011-11-02 13:11:39.559664 Event: Connected to Caller Handler
-On: 2011-11-02 13:11:39.559950 Event: Caller Handler respond
-On: 2011-11-02 13:11:39.560707 Event: Caller handler : Ready
-On: 2011-11-02 13:11:39.560747 Event: init Receiver
-On: 2011-11-02 13:11:39.560767 Event: GSMRZ1
-On: 2011-11-02 13:11:39.560814 Event: Init GSM
-On: 2011-11-02 13:11:41.565258 Event: Receiver Greeting
-On: 2011-11-02 13:11:41.567882 Event: Connected to Receiver Handler
-On: 2011-11-02 13:11:41.718193 Event: Receiver Handler respond
-On: 2011-11-02 13:11:41.718483 Event: Receiver handler : Ready
-On: 2011-11-02 13:11:41.718513 Event: Start Call
-On: 2011-11-02 13:11:41.718566 Event: Waiting Feedback
-On: 2011-11-02 13:11:46.982173 Event: Test Succeed
-On: 2011-11-02 13:11:46.982229 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:11:46.982387 Event: init Cancel test
-On: 2011-11-02 13:11:50.021727 Event: -- -X- --
-On: 2011-11-02 13:11:50.021793 Event: init Caller
-On: 2011-11-02 13:11:50.021811 Event: GSMRZ2
-On: 2011-11-02 13:11:58.027172 Event: Caller Greeting
-On: 2011-11-02 13:11:58.027789 Event: Connected to Caller Handler
-On: 2011-11-02 13:11:58.032528 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:11:58.032706 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 13:11:58.032731 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:14:03.874932 ------------------
-On: 2011-11-02 13:14:03.875017 Event: init Caller
-On: 2011-11-02 13:14:03.875041 Event: GSMRZ2
-On: 2011-11-02 13:14:11.886032 Event: Caller Greeting
-On: 2011-11-02 13:14:11.886777 Event: Connected to Caller Handler
-On: 2011-11-02 13:14:11.891424 Event: Cannt connect to Caller
-On: 2011-11-02 13:14:11.891484 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:03.502955 ------------------
-On: 2011-11-02 13:19:03.503037 Event: init Caller
-On: 2011-11-02 13:19:03.503060 Event: unisip
-On: 2011-11-02 13:19:05.509483 Event: Caller Greeting
-On: 2011-11-02 13:19:05.510533 Event: Connected to Caller Handler
-On: 2011-11-02 13:19:05.510822 Event: Caller Handler respond
-On: 2011-11-02 13:19:05.511591 Event: Caller handler : Ready
-On: 2011-11-02 13:19:05.511631 Event: init Receiver
-On: 2011-11-02 13:19:05.511652 Event: GSMRZ3
-On: 2011-11-02 13:19:13.519865 Event: Receiver Greeting
-On: 2011-11-02 13:19:13.520482 Event: Connected to Receiver Handler
-On: 2011-11-02 13:19:13.524910 Event: Cannt connect to Caller
-On: 2011-11-02 13:19:13.524979 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:19:13.525117 Event: init Cancel test
-On: 2011-11-02 13:19:13.525144 Event: init Cancel test
-On: 2011-11-02 13:19:16.576782 Event: -- -X- --
-On: 2011-11-02 13:19:16.576854 Event: init Caller
-On: 2011-11-02 13:19:16.576873 Event: GSMRZ1
-On: 2011-11-02 13:19:16.576923 Event: Init GSM
-On: 2011-11-02 13:19:18.581163 Event: Caller Greeting
-On: 2011-11-02 13:19:18.583850 Event: Connected to Caller Handler
-On: 2011-11-02 13:19:18.706215 Event: Caller Handler respond
-On: 2011-11-02 13:19:18.706515 Event: Caller handler : Ready
-On: 2011-11-02 13:19:18.706547 Event: init Receiver
-On: 2011-11-02 13:19:18.706568 Event: GSMExt.O2
-On: 2011-11-02 13:19:18.706618 Event: Init GSM
-On: 2011-11-02 13:19:20.709277 Event: Receiver Greeting
-On: 2011-11-02 13:19:20.711918 Event: Connected to Receiver Handler
-On: 2011-11-02 13:19:20.834166 Event: Receiver Handler respond
-On: 2011-11-02 13:19:20.834455 Event: Receiver handler : Ready
-On: 2011-11-02 13:19:20.834487 Event: Start Call
-On: 2011-11-02 13:19:20.834541 Event: Waiting Feedback
-On: 2011-11-02 13:19:32.855145 Event: Test Succeed
-On: 2011-11-02 13:19:32.855209 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:19:32.855358 Event: init Cancel test
-On: 2011-11-02 13:19:35.904534 Event: -- -X- --
-On: 2011-11-02 13:19:35.904602 Event: init Caller
-On: 2011-11-02 13:19:35.904621 Event: landline
-On: 2011-11-02 13:19:37.908823 Event: Caller Greeting
-On: 2011-11-02 13:19:37.909685 Event: Connected to Caller Handler
-On: 2011-11-02 13:19:37.909999 Event: Caller Handler respond
-On: 2011-11-02 13:19:37.912424 Event: Caller handler : Ready
-On: 2011-11-02 13:19:37.912476 Event: init Receiver
-On: 2011-11-02 13:19:37.912497 Event: GSMRZ2
-On: 2011-11-02 13:19:45.923010 Event: Receiver Greeting
-On: 2011-11-02 13:19:45.924388 Event: Connected to Receiver Handler
-On: 2011-11-02 13:19:45.928787 Event: Cannt connect to Caller
-On: 2011-11-02 13:19:45.928851 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:19:45.929462 Event: init Cancel test
-On: 2011-11-02 13:19:45.929519 Event: init Cancel test
-On: 2011-11-02 13:19:48.974087 Event: -- -X- --
-On: 2011-11-02 13:19:48.974156 Event: init Caller
-On: 2011-11-02 13:19:48.974175 Event: sip
-On: 2011-11-02 13:19:50.978368 Event: Caller Greeting
-On: 2011-11-02 13:19:50.979220 Event: Connected to Caller Handler
-On: 2011-11-02 13:19:50.979508 Event: Caller Handler respond
-On: 2011-11-02 13:19:50.980280 Event: Caller handler : Ready
-On: 2011-11-02 13:19:50.980316 Event: init Receiver
-On: 2011-11-02 13:19:50.980336 Event: GSMExt.Eplus
-On: 2011-11-02 13:19:50.980388 Event: Init GSM
-On: 2011-11-02 13:19:52.984857 Event: Receiver Greeting
-On: 2011-11-02 13:19:52.987504 Event: Connected to Receiver Handler
-On: 2011-11-02 13:19:53.110138 Event: Receiver Handler respond
-On: 2011-11-02 13:19:53.110435 Event: Receiver handler : Ready
-On: 2011-11-02 13:19:53.110468 Event: Start Call
-On: 2011-11-02 13:19:53.110521 Event: Waiting Feedback
-On: 2011-11-02 13:20:08.110940 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 13:20:08.110999 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:20:08.111140 Event: init Cancel test
-On: 2011-11-02 13:20:11.165847 Event: -- -X- --
-On: 2011-11-02 13:20:11.165918 Event: init Caller
-On: 2011-11-02 13:20:11.165937 Event: sip
-On: 2011-11-02 13:20:13.170434 Event: Caller Greeting
-On: 2011-11-02 13:20:13.171290 Event: Connected to Caller Handler
-On: 2011-11-02 13:20:13.171575 Event: Caller Handler respond
-On: 2011-11-02 13:20:13.172399 Event: Caller handler : Ready
-On: 2011-11-02 13:20:13.172438 Event: init Receiver
-On: 2011-11-02 13:20:13.172458 Event: GSMExt.Tm
-On: 2011-11-02 13:20:13.172511 Event: Init GSM
-On: 2011-11-02 13:20:15.177326 Event: Receiver Greeting
-On: 2011-11-02 13:20:15.179973 Event: Connected to Receiver Handler
-On: 2011-11-02 13:20:15.294200 Event: Receiver Handler respond
-On: 2011-11-02 13:20:15.294495 Event: Receiver handler : Ready
-On: 2011-11-02 13:20:15.294527 Event: Start Call
-On: 2011-11-02 13:20:15.294580 Event: Waiting Feedback
-On: 2011-11-02 13:20:30.803002 Event: Test Succeed
-On: 2011-11-02 13:20:30.803061 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:20:30.803203 Event: init Cancel test
-On: 2011-11-02 13:20:33.857013 Event: -- -X- --
-On: 2011-11-02 13:20:33.857082 Event: init Caller
-On: 2011-11-02 13:20:33.857101 Event: sip
-On: 2011-11-02 13:20:35.866013 Event: Caller Greeting
-On: 2011-11-02 13:20:35.866844 Event: Connected to Caller Handler
-On: 2011-11-02 13:20:35.867132 Event: Caller Handler respond
-On: 2011-11-02 13:20:35.867902 Event: Caller handler : Ready
-On: 2011-11-02 13:20:35.867940 Event: init Receiver
-On: 2011-11-02 13:20:35.867960 Event: GSMExt.Voda
-On: 2011-11-02 13:20:35.868013 Event: Init GSM
-On: 2011-11-02 13:20:37.872436 Event: Receiver Greeting
-On: 2011-11-02 13:20:37.875058 Event: Connected to Receiver Handler
-On: 2011-11-02 13:20:42.892766 Event: Cannt connect to Caller
-On: 2011-11-02 13:20:42.892803 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:20:42.892906 Event: init Cancel test
-On: 2011-11-02 13:20:42.892932 Event: init Cancel test
-On: 2011-11-02 13:20:45.935777 Event: -- -X- --
-On: 2011-11-02 13:20:45.935843 Event: init Caller
-On: 2011-11-02 13:20:45.935862 Event: sip
-On: 2011-11-02 13:20:47.938433 Event: Caller Greeting
-On: 2011-11-02 13:20:47.939331 Event: Connected to Caller Handler
-On: 2011-11-02 13:20:47.939622 Event: Caller Handler respond
-On: 2011-11-02 13:20:47.940382 Event: Caller handler : Ready
-On: 2011-11-02 13:20:47.940421 Event: init Receiver
-On: 2011-11-02 13:20:47.940441 Event: GSMRZ3
-On: 2011-11-02 13:20:55.949115 Event: Receiver Greeting
-On: 2011-11-02 13:20:55.949692 Event: Connected to Receiver Handler
-On: 2011-11-02 13:20:55.954661 Event: Cannt connect to Caller
-On: 2011-11-02 13:20:55.954727 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:20:55.954841 Event: init Cancel test
-On: 2011-11-02 13:20:55.954867 Event: init Cancel test
-On: 2011-11-02 13:20:58.996213 Event: -- -X- --
-On: 2011-11-02 13:20:59.004641 Event: init Caller
-On: 2011-11-02 13:20:59.004674 Event: sip
-On: 2011-11-02 13:21:01.008958 Event: Caller Greeting
-On: 2011-11-02 13:21:01.009849 Event: Connected to Caller Handler
-On: 2011-11-02 13:21:01.010180 Event: Caller Handler respond
-On: 2011-11-02 13:21:01.010950 Event: Caller handler : Ready
-On: 2011-11-02 13:21:01.010989 Event: init Receiver
-On: 2011-11-02 13:21:01.011009 Event: unisip
-On: 2011-11-02 13:21:03.016295 Event: Receiver Greeting
-On: 2011-11-02 13:21:03.017137 Event: Connected to Receiver Handler
-On: 2011-11-02 13:21:03.017424 Event: Receiver Handler respond
-On: 2011-11-02 13:21:03.018246 Event: Receiver handler : Ready
-On: 2011-11-02 13:21:03.018283 Event: Start Call
-On: 2011-11-02 13:21:03.018345 Event: Waiting Feedback
-On: 2011-11-02 13:21:06.108117 Event: Test Succeed
-On: 2011-11-02 13:21:06.108175 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:21:06.108323 Event: init Cancel test
-On: 2011-11-02 13:21:09.146396 Event: -- -X- --
-On: 2011-11-02 13:21:09.146461 Event: init Caller
-On: 2011-11-02 13:21:09.146480 Event: sip
-On: 2011-11-02 13:21:11.150638 Event: Caller Greeting
-On: 2011-11-02 13:21:11.151505 Event: Connected to Caller Handler
-On: 2011-11-02 13:21:11.151792 Event: Caller Handler respond
-On: 2011-11-02 13:21:11.152558 Event: Caller handler : Ready
-On: 2011-11-02 13:21:11.154842 Event: init Receiver
-On: 2011-11-02 13:21:11.154914 Event: GSMRZ2
-On: 2011-11-02 13:21:19.162032 Event: Receiver Greeting
-On: 2011-11-02 13:21:19.162639 Event: Connected to Receiver Handler
-On: 2011-11-02 13:21:19.167187 Event: Cannt connect to Caller
-On: 2011-11-02 13:21:19.167251 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:21:19.167738 Event: init Cancel test
-On: 2011-11-02 13:21:19.167790 Event: init Cancel test
-On: 2011-11-02 13:21:22.222618 Event: -- -X- --
-On: 2011-11-02 13:21:22.222683 Event: init Caller
-On: 2011-11-02 13:21:22.222702 Event: sip
-On: 2011-11-02 13:21:24.226037 Event: Caller Greeting
-On: 2011-11-02 13:21:24.227228 Event: Connected to Caller Handler
-On: 2011-11-02 13:21:24.227521 Event: Caller Handler respond
-On: 2011-11-02 13:21:24.228289 Event: Caller handler : Ready
-On: 2011-11-02 13:21:24.228338 Event: init Receiver
-On: 2011-11-02 13:21:24.228359 Event: landline
-On: 2011-11-02 13:21:26.232879 Event: Receiver Greeting
-On: 2011-11-02 13:21:26.233728 Event: Connected to Receiver Handler
-On: 2011-11-02 13:21:26.234111 Event: Receiver Handler respond
-On: 2011-11-02 13:21:26.236361 Event: Receiver handler : Ready
-On: 2011-11-02 13:21:26.236399 Event: Start Call
-On: 2011-11-02 13:21:26.236460 Event: Waiting Feedback
-On: 2011-11-02 13:21:33.292831 Event: Test Succeed
-On: 2011-11-02 13:21:33.292889 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:21:33.293031 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:24:55.711946 ------------------
-On: 2011-11-02 13:24:55.712022 Event: init Caller
-On: 2011-11-02 13:24:55.712046 Event: sip
-On: 2011-11-02 13:24:57.715580 Event: Caller Greeting
-On: 2011-11-02 13:24:57.716596 Event: Connected to Caller Handler
-On: 2011-11-02 13:24:57.717727 Event: Caller Handler respond
-On: 2011-11-02 13:24:57.718565 Event: Caller handler : Ready
-On: 2011-11-02 13:24:57.718606 Event: init Receiver
-On: 2011-11-02 13:24:57.718627 Event: GSMExt.Voda
-On: 2011-11-02 13:24:57.718678 Event: Init GSM
-On: 2011-11-02 13:24:59.722011 Event: Receiver Greeting
-On: 2011-11-02 13:24:59.724654 Event: Connected to Receiver Handler
-On: 2011-11-02 13:25:04.741660 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:25:04.741703 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:25:04.741726 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:25:04.741877 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:29:41.947032 ------------------
-On: 2011-11-02 13:29:41.947112 Event: init Caller
-On: 2011-11-02 13:29:41.947136 Event: GSMRZ1
-On: 2011-11-02 13:29:41.947191 Event: Init GSM
-On: 2011-11-02 13:29:43.951360 Event: Caller Greeting
-On: 2011-11-02 13:29:43.954236 Event: Connected to Caller Handler
-On: 2011-11-02 13:29:44.098199 Event: Caller Handler respond
-On: 2011-11-02 13:29:44.098499 Event: Caller handler : Ready
-On: 2011-11-02 13:29:44.098532 Event: init Receiver
-On: 2011-11-02 13:29:44.098552 Event: GSMExt.Eplus
-On: 2011-11-02 13:29:44.098600 Event: Init GSM
-On: 2011-11-02 13:29:46.102029 Event: Receiver Greeting
-On: 2011-11-02 13:29:46.104635 Event: Connected to Receiver Handler
-On: 2011-11-02 13:29:46.222188 Event: Receiver Handler respond
-On: 2011-11-02 13:29:46.222488 Event: Receiver handler : Ready
-On: 2011-11-02 13:29:46.222519 Event: Start Call
-On: 2011-11-02 13:29:46.222575 Event: Waiting Feedback
-On: 2011-11-02 13:30:01.226513 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 13:30:01.226572 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:30:01.226721 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:12.468589 ------------------
-On: 2011-11-02 13:42:12.468922 Event: init Caller
-On: 2011-11-02 13:42:12.468959 Event: unisip
-On: 2011-11-02 13:42:14.473198 Event: Caller Greeting
-On: 2011-11-02 13:42:14.474244 Event: Connected to Caller Handler
-On: 2011-11-02 13:42:14.474540 Event: Caller Handler respond
-On: 2011-11-02 13:42:14.475322 Event: Caller handler : Ready
-On: 2011-11-02 13:42:14.475362 Event: init Receiver
-On: 2011-11-02 13:42:14.475382 Event: GSMRZ1
-On: 2011-11-02 13:42:14.475436 Event: Init GSM
-On: 2011-11-02 13:42:16.478057 Event: Receiver Greeting
-On: 2011-11-02 13:42:16.480372 Event: Connected to Receiver Handler
-On: 2011-11-02 13:42:16.618168 Event: Receiver Handler respond
-On: 2011-11-02 13:42:16.618465 Event: Receiver handler : Ready
-On: 2011-11-02 13:42:16.618495 Event: Start Call
-On: 2011-11-02 13:42:16.618549 Event: Waiting Feedback
-On: 2011-11-02 13:42:21.835021 Event: Test Succeed
-On: 2011-11-02 13:42:21.835080 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:42:21.835242 Event: init Cancel test
-On: 2011-11-02 13:42:24.890222 Event: -- -X- --
-On: 2011-11-02 13:42:24.890292 Event: init Caller
-On: 2011-11-02 13:42:24.890311 Event: GSMRZ2
-On: 2011-11-02 13:42:32.899823 Event: Caller Greeting
-On: 2011-11-02 13:42:32.900408 Event: Connected to Caller Handler
-On: 2011-11-02 13:42:32.905223 Event: Cannt connect to Caller
-On: 2011-11-02 13:42:32.905295 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 13:42:36.003999 Event: -- -X- --
-On: 2011-11-02 13:42:36.004073 Event: init Caller
-On: 2011-11-02 13:42:36.004091 Event: landline
-On: 2011-11-02 13:42:38.010217 Event: Caller Greeting
-On: 2011-11-02 13:42:38.011053 Event: Connected to Caller Handler
-On: 2011-11-02 13:42:38.011671 Event: Caller Handler respond
-On: 2011-11-02 13:42:38.014442 Event: Caller handler : Ready
-On: 2011-11-02 13:42:38.014491 Event: init Receiver
-On: 2011-11-02 13:42:38.014512 Event: GSMRZ3
-On: 2011-11-02 13:42:46.026061 Event: Receiver Greeting
-On: 2011-11-02 13:42:46.026639 Event: Connected to Receiver Handler
-On: 2011-11-02 13:42:46.031496 Event: Cannt connect to Caller
-On: 2011-11-02 13:42:46.031567 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:42:46.031680 Event: init Cancel test
-On: 2011-11-02 13:42:46.031706 Event: init Cancel test
-On: 2011-11-02 13:42:49.084344 Event: -- -X- --
-On: 2011-11-02 13:42:49.084407 Event: init Caller
-On: 2011-11-02 13:42:49.084426 Event: sip
-On: 2011-11-02 13:42:51.087964 Event: Caller Greeting
-On: 2011-11-02 13:42:51.088838 Event: Connected to Caller Handler
-On: 2011-11-02 13:42:51.089132 Event: Caller Handler respond
-On: 2011-11-02 13:42:51.089902 Event: Caller handler : Ready
-On: 2011-11-02 13:42:51.089941 Event: init Receiver
-On: 2011-11-02 13:42:51.090011 Event: GSMExt.Eplus
-On: 2011-11-02 13:42:51.090069 Event: Init GSM
-On: 2011-11-02 13:42:53.094028 Event: Receiver Greeting
-On: 2011-11-02 13:42:53.096641 Event: Connected to Receiver Handler
-On: 2011-11-02 13:42:53.210341 Event: Receiver Handler respond
-On: 2011-11-02 13:42:53.210647 Event: Receiver handler : Ready
-On: 2011-11-02 13:42:53.210680 Event: Start Call
-On: 2011-11-02 13:42:53.210734 Event: Waiting Feedback
-On: 2011-11-02 13:43:08.211172 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 13:43:08.211233 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:43:08.211372 Event: init Cancel test
-On: 2011-11-02 13:43:11.280037 Event: -- -X- --
-On: 2011-11-02 13:43:11.280103 Event: init Caller
-On: 2011-11-02 13:43:11.280122 Event: sip
-On: 2011-11-02 13:43:13.289556 Event: Caller Greeting
-On: 2011-11-02 13:43:13.290453 Event: Connected to Caller Handler
-On: 2011-11-02 13:43:13.290738 Event: Caller Handler respond
-On: 2011-11-02 13:43:13.291506 Event: Caller handler : Ready
-On: 2011-11-02 13:43:13.291545 Event: init Receiver
-On: 2011-11-02 13:43:13.291564 Event: GSMExt.O2
-On: 2011-11-02 13:43:13.291619 Event: Init GSM
-On: 2011-11-02 13:43:15.294832 Event: Receiver Greeting
-On: 2011-11-02 13:43:15.297516 Event: Connected to Receiver Handler
-On: 2011-11-02 13:43:15.410323 Event: Receiver Handler respond
-On: 2011-11-02 13:43:15.410623 Event: Receiver handler : Ready
-On: 2011-11-02 13:43:15.410655 Event: Start Call
-On: 2011-11-02 13:43:15.410710 Event: Waiting Feedback
-On: 2011-11-02 13:43:28.785771 Event: Test Succeed
-On: 2011-11-02 13:43:28.785831 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:43:28.786013 Event: init Cancel test
-On: 2011-11-02 13:43:31.847823 Event: -- -X- --
-On: 2011-11-02 13:43:31.847893 Event: init Caller
-On: 2011-11-02 13:43:31.847911 Event: sip
-On: 2011-11-02 13:43:33.853013 Event: Caller Greeting
-On: 2011-11-02 13:43:33.853884 Event: Connected to Caller Handler
-On: 2011-11-02 13:43:33.854214 Event: Caller Handler respond
-On: 2011-11-02 13:43:33.855112 Event: Caller handler : Ready
-On: 2011-11-02 13:43:33.855170 Event: init Receiver
-On: 2011-11-02 13:43:33.855191 Event: GSMExt.Tm
-On: 2011-11-02 13:43:33.855249 Event: Init GSM
-On: 2011-11-02 13:43:35.858024 Event: Receiver Greeting
-On: 2011-11-02 13:43:35.860712 Event: Connected to Receiver Handler
-On: 2011-11-02 13:43:35.991425 Event: Receiver Handler respond
-On: 2011-11-02 13:43:35.991881 Event: Receiver handler : Ready
-On: 2011-11-02 13:43:35.991918 Event: Start Call
-On: 2011-11-02 13:43:35.991975 Event: Waiting Feedback
-On: 2011-11-02 13:43:52.647391 Event: Test Succeed
-On: 2011-11-02 13:43:52.647452 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:43:52.647599 Event: init Cancel test
-On: 2011-11-02 13:43:55.700272 Event: -- -X- --
-On: 2011-11-02 13:43:55.700345 Event: init Caller
-On: 2011-11-02 13:43:55.700364 Event: sip
-On: 2011-11-02 13:43:57.707689 Event: Caller Greeting
-On: 2011-11-02 13:43:57.708556 Event: Connected to Caller Handler
-On: 2011-11-02 13:43:57.709704 Event: Caller Handler respond
-On: 2011-11-02 13:43:57.710539 Event: Caller handler : Ready
-On: 2011-11-02 13:43:57.710578 Event: init Receiver
-On: 2011-11-02 13:43:57.710599 Event: GSMExt.Voda
-On: 2011-11-02 13:43:57.710652 Event: Init GSM
-On: 2011-11-02 13:43:59.714063 Event: Receiver Greeting
-On: 2011-11-02 13:43:59.716737 Event: Connected to Receiver Handler
-On: 2011-11-02 13:44:04.733614 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:44:04.733661 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:44:04.733683 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:44:04.733819 Event: init Cancel test
-On: 2011-11-02 13:44:07.783712 Event: -- -X- --
-On: 2011-11-02 13:44:07.783778 Event: init Caller
-On: 2011-11-02 13:44:07.783797 Event: sip
-On: 2011-11-02 13:44:09.786025 Event: Caller Greeting
-On: 2011-11-02 13:44:09.786866 Event: Connected to Caller Handler
-On: 2011-11-02 13:44:09.787149 Event: Caller Handler respond
-On: 2011-11-02 13:44:09.787909 Event: Caller handler : Ready
-On: 2011-11-02 13:44:09.787948 Event: init Receiver
-On: 2011-11-02 13:44:09.787971 Event: GSMRZ3
-On: 2011-11-02 13:44:17.798547 Event: Receiver Greeting
-On: 2011-11-02 13:44:17.799207 Event: Connected to Receiver Handler
-On: 2011-11-02 13:44:17.804516 Event: Cannt connect to Caller
-On: 2011-11-02 13:44:17.804582 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:44:17.804693 Event: init Cancel test
-On: 2011-11-02 13:44:17.804721 Event: init Cancel test
-On: 2011-11-02 13:44:20.859178 Event: -- -X- --
-On: 2011-11-02 13:44:20.859244 Event: init Caller
-On: 2011-11-02 13:44:20.859263 Event: sip
-On: 2011-11-02 13:44:22.863451 Event: Caller Greeting
-On: 2011-11-02 13:44:22.864303 Event: Connected to Caller Handler
-On: 2011-11-02 13:44:22.864591 Event: Caller Handler respond
-On: 2011-11-02 13:44:22.865729 Event: Caller handler : Ready
-On: 2011-11-02 13:44:22.865769 Event: init Receiver
-On: 2011-11-02 13:44:22.865789 Event: landline
-On: 2011-11-02 13:44:24.870011 Event: Receiver Greeting
-On: 2011-11-02 13:44:24.870852 Event: Connected to Receiver Handler
-On: 2011-11-02 13:44:24.871135 Event: Receiver Handler respond
-On: 2011-11-02 13:44:24.873778 Event: Receiver handler : Ready
-On: 2011-11-02 13:44:24.873815 Event: Start Call
-On: 2011-11-02 13:44:24.873872 Event: Waiting Feedback
-On: 2011-11-02 13:44:31.530696 Event: Test Succeed
-On: 2011-11-02 13:44:31.530754 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:44:31.530901 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:06.525535 ------------------
-On: 2011-11-02 13:46:06.525617 Event: init Caller
-On: 2011-11-02 13:46:06.525641 Event: unisip
-On: 2011-11-02 13:46:08.532181 Event: Caller Greeting
-On: 2011-11-02 13:46:08.533192 Event: Connected to Caller Handler
-On: 2011-11-02 13:46:08.533479 Event: Caller Handler respond
-On: 2011-11-02 13:46:08.534682 Event: Caller handler : Ready
-On: 2011-11-02 13:46:08.534722 Event: init Receiver
-On: 2011-11-02 13:46:08.534742 Event: GSMRZ1
-On: 2011-11-02 13:46:08.534792 Event: Init GSM
-On: 2011-11-02 13:46:10.538016 Event: Receiver Greeting
-On: 2011-11-02 13:46:10.540711 Event: Connected to Receiver Handler
-On: 2011-11-02 13:46:10.694193 Event: Receiver Handler respond
-On: 2011-11-02 13:46:10.694496 Event: Receiver handler : Ready
-On: 2011-11-02 13:46:10.694530 Event: Start Call
-On: 2011-11-02 13:46:10.694583 Event: Waiting Feedback
-On: 2011-11-02 13:46:16.074280 Event: Test Succeed
-On: 2011-11-02 13:46:16.074340 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:46:16.074500 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:53.202450 ------------------
-On: 2011-11-02 13:46:53.202537 Event: init Caller
-On: 2011-11-02 13:46:53.202561 Event: unisip
-On: 2011-11-02 13:46:55.206663 Event: Caller Greeting
-On: 2011-11-02 13:46:55.207760 Event: Connected to Caller Handler
-On: 2011-11-02 13:46:55.208071 Event: Caller Handler respond
-On: 2011-11-02 13:46:55.209203 Event: Caller handler : Ready
-On: 2011-11-02 13:46:55.209242 Event: init Receiver
-On: 2011-11-02 13:46:55.209262 Event: GSMRZ1
-On: 2011-11-02 13:46:55.209313 Event: Init GSM
-On: 2011-11-02 13:46:57.213774 Event: Receiver Greeting
-On: 2011-11-02 13:46:57.216437 Event: Connected to Receiver Handler
-On: 2011-11-02 13:46:57.358163 Event: Receiver Handler respond
-On: 2011-11-02 13:46:57.358453 Event: Receiver handler : Ready
-On: 2011-11-02 13:46:57.358484 Event: Start Call
-On: 2011-11-02 13:46:57.358537 Event: Waiting Feedback
-On: 2011-11-02 13:47:03.362173 Event: Test Succeed
-On: 2011-11-02 13:47:03.362232 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:47:03.362393 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:49:53.238079 ------------------
-On: 2011-11-02 13:49:53.238166 Event: init Caller
-On: 2011-11-02 13:49:53.238190 Event: unisip
-On: 2011-11-02 13:49:55.241563 Event: Caller Greeting
-On: 2011-11-02 13:49:55.242498 Event: Connected to Caller Handler
-On: 2011-11-02 13:49:55.242945 Event: Caller Handler respond
-On: 2011-11-02 13:49:55.244027 Event: Caller handler : Ready
-On: 2011-11-02 13:49:55.244085 Event: init Receiver
-On: 2011-11-02 13:49:55.244106 Event: GSMRZ3
-On: 2011-11-02 13:50:03.254033 Event: Receiver Greeting
-On: 2011-11-02 13:50:03.254650 Event: Connected to Receiver Handler
-On: 2011-11-02 13:50:03.259686 Event: Cannt connect to Caller
-On: 2011-11-02 13:50:03.259756 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:50:03.259892 Event: init Cancel test
-On: 2011-11-02 13:50:03.259919 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:53:41.596235 ------------------
-On: 2011-11-02 13:53:41.596314 Event: init Caller
-On: 2011-11-02 13:53:41.596339 Event: unisip
-On: 2011-11-02 13:53:43.604284 Event: Caller Greeting
-On: 2011-11-02 13:53:43.605355 Event: Connected to Caller Handler
-On: 2011-11-02 13:53:43.605662 Event: Caller Handler respond
-On: 2011-11-02 13:53:43.606653 Event: Caller handler : Ready
-On: 2011-11-02 13:53:43.606694 Event: init Receiver
-On: 2011-11-02 13:53:43.606714 Event: GSMRZ1
-On: 2011-11-02 13:53:43.606763 Event: Init GSM
-On: 2011-11-02 13:53:45.609267 Event: Receiver Greeting
-On: 2011-11-02 13:53:45.611880 Event: Connected to Receiver Handler
-On: 2011-11-02 13:53:45.730180 Event: Receiver Handler respond
-On: 2011-11-02 13:53:45.730484 Event: Receiver handler : Ready
-On: 2011-11-02 13:53:45.730515 Event: Start Call
-On: 2011-11-02 13:53:45.730572 Event: Waiting Feedback
-On: 2011-11-02 13:53:51.530242 Event: Test Succeed
-On: 2011-11-02 13:53:51.530301 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:53:51.530459 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:54:30.179891 ------------------
-On: 2011-11-02 13:54:30.179972 Event: init Caller
-On: 2011-11-02 13:54:30.179998 Event: unisip
-On: 2011-11-02 13:54:32.184269 Event: Caller Greeting
-On: 2011-11-02 13:54:32.185355 Event: Connected to Caller Handler
-On: 2011-11-02 13:54:32.185651 Event: Caller Handler respond
-On: 2011-11-02 13:54:32.186643 Event: Caller handler : Ready
-On: 2011-11-02 13:54:32.186680 Event: init Receiver
-On: 2011-11-02 13:54:32.186699 Event: GSMRZ3
-On: 2011-11-02 13:54:40.191721 Event: Receiver Greeting
-On: 2011-11-02 13:54:40.192312 Event: Connected to Receiver Handler
-On: 2011-11-02 13:54:40.197146 Event: Cannt connect to Caller
-On: 2011-11-02 13:54:40.197215 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:54:40.197349 Event: init Cancel test
-On: 2011-11-02 13:54:40.197376 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:55:21.490475 ------------------
-On: 2011-11-02 13:55:21.490556 Event: init Caller
-On: 2011-11-02 13:55:21.490582 Event: unisip
-On: 2011-11-02 13:55:23.492920 Event: Caller Greeting
-On: 2011-11-02 13:55:23.494057 Event: Connected to Caller Handler
-On: 2011-11-02 13:55:23.495150 Event: Caller Handler respond
-On: 2011-11-02 13:55:23.495939 Event: Caller handler : Ready
-On: 2011-11-02 13:55:23.495980 Event: init Receiver
-On: 2011-11-02 13:55:23.496000 Event: GSMRZ3
-On: 2011-11-02 13:55:31.504529 Event: Receiver Greeting
-On: 2011-11-02 13:55:31.505129 Event: Connected to Receiver Handler
-On: 2011-11-02 13:55:31.510216 Event: Cannt connect to Caller
-On: 2011-11-02 13:55:31.510283 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:55:31.510431 Event: init Cancel test
-On: 2011-11-02 13:55:31.510458 Event: init Cancel test
-On: 2011-11-02 13:55:34.556376 Event: -- -X- --
-On: 2011-11-02 13:55:34.556442 Event: init Caller
-On: 2011-11-02 13:55:34.556460 Event: GSMRZ1
-On: 2011-11-02 13:55:34.556506 Event: Init GSM
-On: 2011-11-02 13:55:36.560746 Event: Caller Greeting
-On: 2011-11-02 13:55:36.563427 Event: Connected to Caller Handler
-On: 2011-11-02 13:55:36.711490 Event: Caller Handler respond
-On: 2011-11-02 13:55:36.711804 Event: Caller handler : Ready
-On: 2011-11-02 13:55:36.711835 Event: init Receiver
-On: 2011-11-02 13:55:36.711855 Event: GSMExt.Eplus
-On: 2011-11-02 13:55:36.711907 Event: Init GSM
-On: 2011-11-02 13:55:38.716389 Event: Receiver Greeting
-On: 2011-11-02 13:55:38.719028 Event: Connected to Receiver Handler
-On: 2011-11-02 13:55:38.846314 Event: Receiver Handler respond
-On: 2011-11-02 13:55:38.846618 Event: Receiver handler : Ready
-On: 2011-11-02 13:55:38.846649 Event: Start Call
-On: 2011-11-02 13:55:38.846704 Event: Waiting Feedback
-On: 2011-11-02 13:55:53.850361 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 13:55:53.850422 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:55:53.850562 Event: init Cancel test
-On: 2011-11-02 13:55:56.930751 Event: -- -X- --
-On: 2011-11-02 13:55:56.930821 Event: init Caller
-On: 2011-11-02 13:55:56.930839 Event: landline
-On: 2011-11-02 13:55:58.934021 Event: Caller Greeting
-On: 2011-11-02 13:55:58.934874 Event: Connected to Caller Handler
-On: 2011-11-02 13:55:58.935161 Event: Caller Handler respond
-On: 2011-11-02 13:55:58.938015 Event: Caller handler : Ready
-On: 2011-11-02 13:55:58.938052 Event: init Receiver
-On: 2011-11-02 13:55:58.938072 Event: GSMRZ2
-On: 2011-11-02 13:56:06.948067 Event: Receiver Greeting
-On: 2011-11-02 13:56:06.948632 Event: Connected to Receiver Handler
-On: 2011-11-02 13:56:06.953167 Event: Cannt connect to Caller
-On: 2011-11-02 13:56:06.953232 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:56:06.953346 Event: init Cancel test
-On: 2011-11-02 13:56:06.953371 Event: init Cancel test
-On: 2011-11-02 13:56:09.995674 Event: -- -X- --
-On: 2011-11-02 13:56:09.995744 Event: init Caller
-On: 2011-11-02 13:56:09.995763 Event: sip
-On: 2011-11-02 13:56:11.998026 Event: Caller Greeting
-On: 2011-11-02 13:56:12.002258 Event: Connected to Caller Handler
-On: 2011-11-02 13:56:12.002642 Event: Caller Handler respond
-On: 2011-11-02 13:56:12.003427 Event: Caller handler : Ready
-On: 2011-11-02 13:56:12.003466 Event: init Receiver
-On: 2011-11-02 13:56:12.003486 Event: GSMExt.O2
-On: 2011-11-02 13:56:12.003539 Event: Init GSM
-On: 2011-11-02 13:56:14.006341 Event: Receiver Greeting
-On: 2011-11-02 13:56:14.010073 Event: Connected to Receiver Handler
-On: 2011-11-02 13:56:14.126200 Event: Receiver Handler respond
-On: 2011-11-02 13:56:14.126496 Event: Receiver handler : Ready
-On: 2011-11-02 13:56:14.126528 Event: Start Call
-On: 2011-11-02 13:56:14.126581 Event: Waiting Feedback
-On: 2011-11-02 13:56:26.161016 Event: Test Succeed
-On: 2011-11-02 13:56:26.161052 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:56:26.161181 Event: init Cancel test
-On: 2011-11-02 13:56:29.201930 Event: -- -X- --
-On: 2011-11-02 13:56:29.202059 Event: init Caller
-On: 2011-11-02 13:56:29.202078 Event: sip
-On: 2011-11-02 13:56:31.206032 Event: Caller Greeting
-On: 2011-11-02 13:56:31.206921 Event: Connected to Caller Handler
-On: 2011-11-02 13:56:31.207214 Event: Caller Handler respond
-On: 2011-11-02 13:56:31.207977 Event: Caller handler : Ready
-On: 2011-11-02 13:56:31.208017 Event: init Receiver
-On: 2011-11-02 13:56:31.208036 Event: GSMExt.Tm
-On: 2011-11-02 13:56:31.208090 Event: Init GSM
-On: 2011-11-02 13:56:33.215383 Event: Receiver Greeting
-On: 2011-11-02 13:56:33.217910 Event: Connected to Receiver Handler
-On: 2011-11-02 13:56:33.334197 Event: Receiver Handler respond
-On: 2011-11-02 13:56:33.334497 Event: Receiver handler : Ready
-On: 2011-11-02 13:56:33.334529 Event: Start Call
-On: 2011-11-02 13:56:33.334583 Event: Waiting Feedback
-On: 2011-11-02 13:56:48.267509 Event: Test Succeed
-On: 2011-11-02 13:56:48.267547 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:56:48.267676 Event: init Cancel test
-On: 2011-11-02 13:56:51.308657 Event: -- -X- --
-On: 2011-11-02 13:56:51.308720 Event: init Caller
-On: 2011-11-02 13:56:51.308738 Event: sip
-On: 2011-11-02 13:56:53.312971 Event: Caller Greeting
-On: 2011-11-02 13:56:53.313684 Event: Connected to Caller Handler
-On: 2011-11-02 13:56:53.314166 Event: Caller Handler respond
-On: 2011-11-02 13:56:53.315069 Event: Caller handler : Ready
-On: 2011-11-02 13:56:53.315108 Event: init Receiver
-On: 2011-11-02 13:56:53.315127 Event: GSMExt.Voda
-On: 2011-11-02 13:56:53.315180 Event: Init GSM
-On: 2011-11-02 13:56:55.318011 Event: Receiver Greeting
-On: 2011-11-02 13:56:55.320556 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:00.333898 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 13:57:00.333943 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 13:57:00.333992 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:57:00.334128 Event: init Cancel test
-On: 2011-11-02 13:57:03.378042 Event: -- -X- --
-On: 2011-11-02 13:57:03.378107 Event: init Caller
-On: 2011-11-02 13:57:03.378125 Event: sip
-On: 2011-11-02 13:57:05.381589 Event: Caller Greeting
-On: 2011-11-02 13:57:05.382335 Event: Connected to Caller Handler
-On: 2011-11-02 13:57:05.382715 Event: Caller Handler respond
-On: 2011-11-02 13:57:05.383493 Event: Caller handler : Ready
-On: 2011-11-02 13:57:05.383532 Event: init Receiver
-On: 2011-11-02 13:57:05.383552 Event: GSMRZ3
-On: 2011-11-02 13:57:13.392071 Event: Receiver Greeting
-On: 2011-11-02 13:57:13.392597 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:13.396932 Event: Cannt connect to Caller
-On: 2011-11-02 13:57:13.396996 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:57:13.397109 Event: init Cancel test
-On: 2011-11-02 13:57:13.397134 Event: init Cancel test
-On: 2011-11-02 13:57:16.434942 Event: -- -X- --
-On: 2011-11-02 13:57:16.435004 Event: init Caller
-On: 2011-11-02 13:57:16.435022 Event: sip
-On: 2011-11-02 13:57:18.438008 Event: Caller Greeting
-On: 2011-11-02 13:57:18.438720 Event: Connected to Caller Handler
-On: 2011-11-02 13:57:18.439103 Event: Caller Handler respond
-On: 2011-11-02 13:57:18.439873 Event: Caller handler : Ready
-On: 2011-11-02 13:57:18.439911 Event: init Receiver
-On: 2011-11-02 13:57:18.439930 Event: unisip
-On: 2011-11-02 13:57:20.444243 Event: Receiver Greeting
-On: 2011-11-02 13:57:20.444945 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:20.445328 Event: Receiver Handler respond
-On: 2011-11-02 13:57:20.446210 Event: Receiver handler : Ready
-On: 2011-11-02 13:57:20.446267 Event: Start Call
-On: 2011-11-02 13:57:20.446338 Event: Waiting Feedback
-On: 2011-11-02 13:57:23.500030 Event: Test Succeed
-On: 2011-11-02 13:57:23.500068 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:57:23.500198 Event: init Cancel test
-On: 2011-11-02 13:57:26.541013 Event: -- -X- --
-On: 2011-11-02 13:57:26.541074 Event: init Caller
-On: 2011-11-02 13:57:26.541093 Event: sip
-On: 2011-11-02 13:57:28.545347 Event: Caller Greeting
-On: 2011-11-02 13:57:28.546233 Event: Connected to Caller Handler
-On: 2011-11-02 13:57:28.546516 Event: Caller Handler respond
-On: 2011-11-02 13:57:28.547281 Event: Caller handler : Ready
-On: 2011-11-02 13:57:28.547571 Event: init Receiver
-On: 2011-11-02 13:57:28.547610 Event: GSMRZ1
-On: 2011-11-02 13:57:28.547668 Event: Init GSM
-On: 2011-11-02 13:57:30.550008 Event: Receiver Greeting
-On: 2011-11-02 13:57:30.552440 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:30.690132 Event: Receiver Handler respond
-On: 2011-11-02 13:57:30.690430 Event: Receiver handler : Ready
-On: 2011-11-02 13:57:30.690463 Event: Start Call
-On: 2011-11-02 13:57:30.690518 Event: Waiting Feedback
-On: 2011-11-02 13:57:36.354130 Event: Test Succeed
-On: 2011-11-02 13:57:36.354187 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:57:36.354328 Event: init Cancel test
-On: 2011-11-02 13:57:39.390905 Event: -- -X- --
-On: 2011-11-02 13:57:39.390968 Event: init Caller
-On: 2011-11-02 13:57:39.390987 Event: sip
-On: 2011-11-02 13:57:41.394027 Event: Caller Greeting
-On: 2011-11-02 13:57:41.394891 Event: Connected to Caller Handler
-On: 2011-11-02 13:57:41.395170 Event: Caller Handler respond
-On: 2011-11-02 13:57:41.395935 Event: Caller handler : Ready
-On: 2011-11-02 13:57:41.395975 Event: init Receiver
-On: 2011-11-02 13:57:41.395994 Event: GSMRZ2
-On: 2011-11-02 13:57:49.406046 Event: Receiver Greeting
-On: 2011-11-02 13:57:49.406635 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:49.411249 Event: Cannt connect to Caller
-On: 2011-11-02 13:57:49.411321 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 13:57:49.411440 Event: init Cancel test
-On: 2011-11-02 13:57:49.411465 Event: init Cancel test
-On: 2011-11-02 13:57:52.465324 Event: -- -X- --
-On: 2011-11-02 13:57:52.465386 Event: init Caller
-On: 2011-11-02 13:57:52.465404 Event: sip
-On: 2011-11-02 13:57:54.469600 Event: Caller Greeting
-On: 2011-11-02 13:57:54.470487 Event: Connected to Caller Handler
-On: 2011-11-02 13:57:54.470771 Event: Caller Handler respond
-On: 2011-11-02 13:57:54.471535 Event: Caller handler : Ready
-On: 2011-11-02 13:57:54.471574 Event: init Receiver
-On: 2011-11-02 13:57:54.471593 Event: landline
-On: 2011-11-02 13:57:56.475642 Event: Receiver Greeting
-On: 2011-11-02 13:57:56.476488 Event: Connected to Receiver Handler
-On: 2011-11-02 13:57:56.476775 Event: Receiver Handler respond
-On: 2011-11-02 13:57:56.479761 Event: Receiver handler : Ready
-On: 2011-11-02 13:57:56.479803 Event: Start Call
-On: 2011-11-02 13:57:56.479865 Event: Waiting Feedback
-On: 2011-11-02 13:58:03.963066 Event: Test Succeed
-On: 2011-11-02 13:58:03.963125 Event: TERMINATE CONNECTION
-On: 2011-11-02 13:58:03.963263 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:03:42.466469 ------------------
-On: 2011-11-02 14:03:42.466547 Event: init Caller
-On: 2011-11-02 14:03:42.466572 Event: unisip
-On: 2011-11-02 14:03:44.470012 Event: Caller Greeting
-On: 2011-11-02 14:03:44.471092 Event: Connected to Caller Handler
-On: 2011-11-02 14:03:44.471388 Event: Caller Handler respond
-On: 2011-11-02 14:03:44.472191 Event: Caller handler : Ready
-On: 2011-11-02 14:03:44.472229 Event: init Receiver
-On: 2011-11-02 14:03:44.472249 Event: GSMRZ2
-On: 2011-11-02 14:03:52.490058 Event: Receiver Greeting
-On: 2011-11-02 14:03:52.490678 Event: Connected to Receiver Handler
-On: 2011-11-02 14:03:52.494704 Event: Cannt connect to Caller
-On: 2011-11-02 14:03:52.494774 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:03:52.494909 Event: init Cancel test
-On: 2011-11-02 14:03:52.494936 Event: init Cancel test
-On: 2011-11-02 14:03:55.592972 Event: -- -X- --
-On: 2011-11-02 14:03:55.593037 Event: init Caller
-On: 2011-11-02 14:03:55.593055 Event: GSMRZ1
-On: 2011-11-02 14:03:55.593103 Event: Init GSM
-On: 2011-11-02 14:03:57.604556 Event: Caller Greeting
-On: 2011-11-02 14:03:57.607151 Event: Connected to Caller Handler
-On: 2011-11-02 14:03:57.746164 Event: Caller Handler respond
-On: 2011-11-02 14:03:57.746468 Event: Caller handler : Ready
-On: 2011-11-02 14:03:57.746500 Event: init Receiver
-On: 2011-11-02 14:03:57.746519 Event: GSMRZ3
-On: 2011-11-02 14:04:05.754028 Event: Receiver Greeting
-On: 2011-11-02 14:04:05.754603 Event: Connected to Receiver Handler
-On: 2011-11-02 14:04:05.759522 Event: Cannt connect to Caller
-On: 2011-11-02 14:04:05.759592 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:04:05.759712 Event: init Cancel test
-On: 2011-11-02 14:04:05.759739 Event: init Cancel test
-On: 2011-11-02 14:04:08.840511 Event: -- -X- --
-On: 2011-11-02 14:04:08.840575 Event: init Caller
-On: 2011-11-02 14:04:08.840593 Event: landline
-On: 2011-11-02 14:04:10.844799 Event: Caller Greeting
-On: 2011-11-02 14:04:10.845637 Event: Connected to Caller Handler
-On: 2011-11-02 14:04:10.845920 Event: Caller Handler respond
-On: 2011-11-02 14:04:10.848757 Event: Caller handler : Ready
-On: 2011-11-02 14:04:10.848795 Event: init Receiver
-On: 2011-11-02 14:04:10.848815 Event: GSMRZ3
-On: 2011-11-02 14:04:18.854026 Event: Receiver Greeting
-On: 2011-11-02 14:04:18.854601 Event: Connected to Receiver Handler
-On: 2011-11-02 14:04:18.859595 Event: Cannt connect to Caller
-On: 2011-11-02 14:04:18.859662 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:04:18.859774 Event: init Cancel test
-On: 2011-11-02 14:04:18.859801 Event: init Cancel test
-On: 2011-11-02 14:04:21.946359 Event: -- -X- --
-On: 2011-11-02 14:04:21.946420 Event: init Caller
-On: 2011-11-02 14:04:21.946437 Event: sip
-On: 2011-11-02 14:04:23.956219 Event: Caller Greeting
-On: 2011-11-02 14:04:23.957060 Event: Connected to Caller Handler
-On: 2011-11-02 14:04:23.957335 Event: Caller Handler respond
-On: 2011-11-02 14:04:23.958150 Event: Caller handler : Ready
-On: 2011-11-02 14:04:23.958183 Event: init Receiver
-On: 2011-11-02 14:04:23.958203 Event: GSMExt.Eplus
-On: 2011-11-02 14:04:23.958257 Event: Init GSM
-On: 2011-11-02 14:04:25.962012 Event: Receiver Greeting
-On: 2011-11-02 14:04:25.964557 Event: Connected to Receiver Handler
-On: 2011-11-02 14:04:26.082166 Event: Receiver Handler respond
-On: 2011-11-02 14:04:26.082462 Event: Receiver handler : Ready
-On: 2011-11-02 14:04:26.082494 Event: Start Call
-On: 2011-11-02 14:04:26.082549 Event: Waiting Feedback
-On: 2011-11-02 14:04:41.087957 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:04:41.088019 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:04:41.088170 Event: init Cancel test
-On: 2011-11-02 14:04:44.171716 Event: -- -X- --
-On: 2011-11-02 14:04:44.171781 Event: init Caller
-On: 2011-11-02 14:04:44.171798 Event: sip
-On: 2011-11-02 14:04:46.175501 Event: Caller Greeting
-On: 2011-11-02 14:04:46.176376 Event: Connected to Caller Handler
-On: 2011-11-02 14:04:46.176659 Event: Caller Handler respond
-On: 2011-11-02 14:04:46.178524 Event: Caller handler : Ready
-On: 2011-11-02 14:04:46.178562 Event: init Receiver
-On: 2011-11-02 14:04:46.178582 Event: GSMExt.O2
-On: 2011-11-02 14:04:46.178656 Event: Init GSM
-On: 2011-11-02 14:04:48.182169 Event: Receiver Greeting
-On: 2011-11-02 14:04:48.184666 Event: Connected to Receiver Handler
-On: 2011-11-02 14:04:48.346265 Event: Receiver Handler respond
-On: 2011-11-02 14:04:48.346570 Event: Receiver handler : Ready
-On: 2011-11-02 14:04:48.346602 Event: Start Call
-On: 2011-11-02 14:04:48.346655 Event: Waiting Feedback
-On: 2011-11-02 14:05:00.434459 Event: Test Succeed
-On: 2011-11-02 14:05:00.434518 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:05:00.434655 Event: init Cancel test
-On: 2011-11-02 14:05:03.479353 Event: -- -X- --
-On: 2011-11-02 14:05:03.479414 Event: init Caller
-On: 2011-11-02 14:05:03.479432 Event: sip
-On: 2011-11-02 14:05:05.482046 Event: Caller Greeting
-On: 2011-11-02 14:05:05.482895 Event: Connected to Caller Handler
-On: 2011-11-02 14:05:05.483178 Event: Caller Handler respond
-On: 2011-11-02 14:05:05.483943 Event: Caller handler : Ready
-On: 2011-11-02 14:05:05.483980 Event: init Receiver
-On: 2011-11-02 14:05:05.484000 Event: GSMExt.Tm
-On: 2011-11-02 14:05:05.484052 Event: Init GSM
-On: 2011-11-02 14:05:07.492206 Event: Receiver Greeting
-On: 2011-11-02 14:05:07.494752 Event: Connected to Receiver Handler
-On: 2011-11-02 14:05:07.614299 Event: Receiver Handler respond
-On: 2011-11-02 14:05:07.614596 Event: Receiver handler : Ready
-On: 2011-11-02 14:05:07.614628 Event: Start Call
-On: 2011-11-02 14:05:07.614680 Event: Waiting Feedback
-On: 2011-11-02 14:05:23.745049 Event: Test Succeed
-On: 2011-11-02 14:05:23.745108 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:05:23.745247 Event: init Cancel test
-On: 2011-11-02 14:05:26.834415 Event: -- -X- --
-On: 2011-11-02 14:05:26.834480 Event: init Caller
-On: 2011-11-02 14:05:26.834497 Event: sip
-On: 2011-11-02 14:05:28.841158 Event: Caller Greeting
-On: 2011-11-02 14:05:28.842028 Event: Connected to Caller Handler
-On: 2011-11-02 14:05:28.842318 Event: Caller Handler respond
-On: 2011-11-02 14:05:28.843086 Event: Caller handler : Ready
-On: 2011-11-02 14:05:28.843123 Event: init Receiver
-On: 2011-11-02 14:05:28.843142 Event: GSMExt.Voda
-On: 2011-11-02 14:05:28.843194 Event: Init GSM
-On: 2011-11-02 14:05:30.846039 Event: Receiver Greeting
-On: 2011-11-02 14:05:30.848572 Event: Connected to Receiver Handler
-On: 2011-11-02 14:05:35.874728 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:05:35.874797 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:05:35.874821 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:05:35.874970 Event: init Cancel test
-On: 2011-11-02 14:05:38.964412 Event: -- -X- --
-On: 2011-11-02 14:05:38.964476 Event: init Caller
-On: 2011-11-02 14:05:38.964494 Event: sip
-On: 2011-11-02 14:05:40.968777 Event: Caller Greeting
-On: 2011-11-02 14:05:40.969617 Event: Connected to Caller Handler
-On: 2011-11-02 14:05:40.969904 Event: Caller Handler respond
-On: 2011-11-02 14:05:40.970896 Event: Caller handler : Ready
-On: 2011-11-02 14:05:40.970932 Event: init Receiver
-On: 2011-11-02 14:05:40.970951 Event: GSMRZ2
-On: 2011-11-02 14:05:48.976426 Event: Receiver Greeting
-On: 2011-11-02 14:05:48.977074 Event: Connected to Receiver Handler
-On: 2011-11-02 14:05:48.981677 Event: Cannt connect to Caller
-On: 2011-11-02 14:05:48.981743 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:05:48.981852 Event: init Cancel test
-On: 2011-11-02 14:05:48.981878 Event: init Cancel test
-On: 2011-11-02 14:05:52.020539 Event: -- -X- --
-On: 2011-11-02 14:05:52.020595 Event: init Caller
-On: 2011-11-02 14:05:52.020613 Event: sip
-On: 2011-11-02 14:05:54.024813 Event: Caller Greeting
-On: 2011-11-02 14:05:54.025508 Event: Connected to Caller Handler
-On: 2011-11-02 14:05:54.025886 Event: Caller Handler respond
-On: 2011-11-02 14:05:54.026845 Event: Caller handler : Ready
-On: 2011-11-02 14:05:54.026888 Event: init Receiver
-On: 2011-11-02 14:05:54.026907 Event: unisip
-On: 2011-11-02 14:05:56.030301 Event: Receiver Greeting
-On: 2011-11-02 14:05:56.030990 Event: Connected to Receiver Handler
-On: 2011-11-02 14:05:56.031369 Event: Receiver Handler respond
-On: 2011-11-02 14:05:56.032190 Event: Receiver handler : Ready
-On: 2011-11-02 14:05:56.032227 Event: Start Call
-On: 2011-11-02 14:05:56.032286 Event: Waiting Feedback
-On: 2011-11-02 14:05:59.077997 Event: Test Succeed
-On: 2011-11-02 14:05:59.078037 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:05:59.078167 Event: init Cancel test
-On: 2011-11-02 14:06:02.118915 Event: -- -X- --
-On: 2011-11-02 14:06:02.118975 Event: init Caller
-On: 2011-11-02 14:06:02.118993 Event: sip
-On: 2011-11-02 14:06:04.122008 Event: Caller Greeting
-On: 2011-11-02 14:06:04.122820 Event: Connected to Caller Handler
-On: 2011-11-02 14:06:04.123098 Event: Caller Handler respond
-On: 2011-11-02 14:06:04.123855 Event: Caller handler : Ready
-On: 2011-11-02 14:06:04.123893 Event: init Receiver
-On: 2011-11-02 14:06:04.123912 Event: GSMRZ3
-On: 2011-11-02 14:06:12.130010 Event: Receiver Greeting
-On: 2011-11-02 14:06:12.130563 Event: Connected to Receiver Handler
-On: 2011-11-02 14:06:12.135493 Event: Cannt connect to Caller
-On: 2011-11-02 14:06:12.135551 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:06:12.135660 Event: init Cancel test
-On: 2011-11-02 14:06:12.135686 Event: init Cancel test
-On: 2011-11-02 14:06:15.177601 Event: -- -X- --
-On: 2011-11-02 14:06:15.177662 Event: init Caller
-On: 2011-11-02 14:06:15.177680 Event: sip
-On: 2011-11-02 14:06:17.181879 Event: Caller Greeting
-On: 2011-11-02 14:06:17.182599 Event: Connected to Caller Handler
-On: 2011-11-02 14:06:17.182976 Event: Caller Handler respond
-On: 2011-11-02 14:06:17.183741 Event: Caller handler : Ready
-On: 2011-11-02 14:06:17.183779 Event: init Receiver
-On: 2011-11-02 14:06:17.183799 Event: GSMRZ1
-On: 2011-11-02 14:06:17.183853 Event: Init GSM
-On: 2011-11-02 14:06:19.188160 Event: Receiver Greeting
-On: 2011-11-02 14:06:19.190680 Event: Connected to Receiver Handler
-On: 2011-11-02 14:06:19.338134 Event: Receiver Handler respond
-On: 2011-11-02 14:06:19.338421 Event: Receiver handler : Ready
-On: 2011-11-02 14:06:19.338450 Event: Start Call
-On: 2011-11-02 14:06:19.338503 Event: Waiting Feedback
-On: 2011-11-02 14:06:24.782208 Event: Test Succeed
-On: 2011-11-02 14:06:24.782266 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:06:24.782402 Event: init Cancel test
-On: 2011-11-02 14:06:27.821147 Event: -- -X- --
-On: 2011-11-02 14:06:27.821205 Event: init Caller
-On: 2011-11-02 14:06:27.821222 Event: sip
-On: 2011-11-02 14:06:29.825866 Event: Caller Greeting
-On: 2011-11-02 14:06:29.826751 Event: Connected to Caller Handler
-On: 2011-11-02 14:06:29.827038 Event: Caller Handler respond
-On: 2011-11-02 14:06:29.827796 Event: Caller handler : Ready
-On: 2011-11-02 14:06:29.827861 Event: init Receiver
-On: 2011-11-02 14:06:29.827881 Event: GSMRZ3
-On: 2011-11-02 14:06:37.838059 Event: Receiver Greeting
-On: 2011-11-02 14:06:37.838660 Event: Connected to Receiver Handler
-On: 2011-11-02 14:06:37.843739 Event: Cannt connect to Caller
-On: 2011-11-02 14:06:37.843806 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:06:37.843941 Event: init Cancel test
-On: 2011-11-02 14:06:37.843967 Event: init Cancel test
-On: 2011-11-02 14:06:40.896169 Event: -- -X- --
-On: 2011-11-02 14:06:40.896229 Event: init Caller
-On: 2011-11-02 14:06:40.896247 Event: sip
-On: 2011-11-02 14:06:42.900446 Event: Caller Greeting
-On: 2011-11-02 14:06:42.901138 Event: Connected to Caller Handler
-On: 2011-11-02 14:06:42.901524 Event: Caller Handler respond
-On: 2011-11-02 14:06:42.902516 Event: Caller handler : Ready
-On: 2011-11-02 14:06:42.902550 Event: init Receiver
-On: 2011-11-02 14:06:42.902569 Event: landline
-On: 2011-11-02 14:06:44.906009 Event: Receiver Greeting
-On: 2011-11-02 14:06:44.906797 Event: Connected to Receiver Handler
-On: 2011-11-02 14:06:44.907173 Event: Receiver Handler respond
-On: 2011-11-02 14:06:44.909682 Event: Receiver handler : Ready
-On: 2011-11-02 14:06:44.909722 Event: Start Call
-On: 2011-11-02 14:06:44.909863 Event: Waiting Feedback
-On: 2011-11-02 14:06:52.954062 Event: Test Succeed
-On: 2011-11-02 14:06:52.954122 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:06:52.954260 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:04.950114 ------------------
-On: 2011-11-02 14:19:04.950187 Event: init Caller
-On: 2011-11-02 14:19:04.950211 Event: unisip
-On: 2011-11-02 14:19:06.957441 Event: Caller Greeting
-On: 2011-11-02 14:19:06.958540 Event: Connected to Caller Handler
-On: 2011-11-02 14:19:06.958833 Event: Caller Handler respond
-On: 2011-11-02 14:19:06.959605 Event: Caller handler : Ready
-On: 2011-11-02 14:19:06.959646 Event: init Receiver
-On: 2011-11-02 14:19:06.959665 Event: GSMRZ1
-On: 2011-11-02 14:19:06.959717 Event: Init GSM
-On: 2011-11-02 14:19:08.964358 Event: Receiver Greeting
-On: 2011-11-02 14:19:08.966851 Event: Connected to Receiver Handler
-On: 2011-11-02 14:19:09.098565 Event: Receiver Handler respond
-On: 2011-11-02 14:19:09.098865 Event: Receiver handler : Ready
-On: 2011-11-02 14:19:09.098896 Event: Start Call
-On: 2011-11-02 14:19:09.098951 Event: Waiting Feedback
-On: 2011-11-02 14:19:14.538139 Event: Test Succeed
-On: 2011-11-02 14:19:14.538195 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:19:14.538350 Event: init Cancel test
-On: 2011-11-02 14:19:17.581377 Event: -- -X- --
-On: 2011-11-02 14:19:17.581439 Event: init Caller
-On: 2011-11-02 14:19:17.581456 Event: GSMRZ2
-On: 2011-11-02 14:19:25.591655 Event: Caller Greeting
-On: 2011-11-02 14:19:25.592222 Event: Connected to Caller Handler
-On: 2011-11-02 14:19:25.596901 Event: Cannt connect to Caller
-On: 2011-11-02 14:19:25.596965 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 14:19:28.643409 Event: -- -X- --
-On: 2011-11-02 14:19:28.643474 Event: init Caller
-On: 2011-11-02 14:19:28.643491 Event: landline
-On: 2011-11-02 14:19:30.646008 Event: Caller Greeting
-On: 2011-11-02 14:19:30.646699 Event: Connected to Caller Handler
-On: 2011-11-02 14:19:30.647078 Event: Caller Handler respond
-On: 2011-11-02 14:19:30.649526 Event: Caller handler : Ready
-On: 2011-11-02 14:19:30.649565 Event: init Receiver
-On: 2011-11-02 14:19:30.649584 Event: GSMRZ3
-On: 2011-11-02 14:19:38.658007 Event: Receiver Greeting
-On: 2011-11-02 14:19:38.658573 Event: Connected to Receiver Handler
-On: 2011-11-02 14:19:38.663014 Event: Cannt connect to Caller
-On: 2011-11-02 14:19:38.663074 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:19:38.663180 Event: init Cancel test
-On: 2011-11-02 14:19:38.663206 Event: init Cancel test
-On: 2011-11-02 14:19:41.704485 Event: -- -X- --
-On: 2011-11-02 14:19:41.704546 Event: init Caller
-On: 2011-11-02 14:19:41.704564 Event: sip
-On: 2011-11-02 14:19:43.708667 Event: Caller Greeting
-On: 2011-11-02 14:19:43.709489 Event: Connected to Caller Handler
-On: 2011-11-02 14:19:43.709764 Event: Caller Handler respond
-On: 2011-11-02 14:19:43.710573 Event: Caller handler : Ready
-On: 2011-11-02 14:19:43.710608 Event: init Receiver
-On: 2011-11-02 14:19:43.710627 Event: GSMExt.Eplus
-On: 2011-11-02 14:19:43.710677 Event: Init GSM
-On: 2011-11-02 14:19:45.714052 Event: Receiver Greeting
-On: 2011-11-02 14:19:45.716352 Event: Connected to Receiver Handler
-On: 2011-11-02 14:19:45.850333 Event: Receiver Handler respond
-On: 2011-11-02 14:19:45.850629 Event: Receiver handler : Ready
-On: 2011-11-02 14:19:45.850659 Event: Start Call
-On: 2011-11-02 14:19:45.850713 Event: Waiting Feedback
-On: 2011-11-02 14:20:00.851117 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:20:00.851174 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:20:00.851308 Event: init Cancel test
-On: 2011-11-02 14:20:03.892932 Event: -- -X- --
-On: 2011-11-02 14:20:03.892993 Event: init Caller
-On: 2011-11-02 14:20:03.893010 Event: sip
-On: 2011-11-02 14:20:05.897008 Event: Caller Greeting
-On: 2011-11-02 14:20:05.897693 Event: Connected to Caller Handler
-On: 2011-11-02 14:20:05.898237 Event: Caller Handler respond
-On: 2011-11-02 14:20:05.899042 Event: Caller handler : Ready
-On: 2011-11-02 14:20:05.899081 Event: init Receiver
-On: 2011-11-02 14:20:05.899100 Event: GSMExt.O2
-On: 2011-11-02 14:20:05.899150 Event: Init GSM
-On: 2011-11-02 14:20:07.902007 Event: Receiver Greeting
-On: 2011-11-02 14:20:07.904401 Event: Connected to Receiver Handler
-On: 2011-11-02 14:20:07.998256 Event: Receiver Handler respond
-On: 2011-11-02 14:20:07.998580 Event: Receiver handler : Ready
-On: 2011-11-02 14:20:07.998615 Event: Start Call
-On: 2011-11-02 14:20:07.998670 Event: Waiting Feedback
-On: 2011-11-02 14:20:21.769694 Event: Test Succeed
-On: 2011-11-02 14:20:21.769734 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:20:21.769864 Event: init Cancel test
-On: 2011-11-02 14:20:24.811218 Event: -- -X- --
-On: 2011-11-02 14:20:24.811279 Event: init Caller
-On: 2011-11-02 14:20:24.811297 Event: sip
-On: 2011-11-02 14:20:26.815286 Event: Caller Greeting
-On: 2011-11-02 14:20:26.815939 Event: Connected to Caller Handler
-On: 2011-11-02 14:20:26.816309 Event: Caller Handler respond
-On: 2011-11-02 14:20:26.817063 Event: Caller handler : Ready
-On: 2011-11-02 14:20:26.817097 Event: init Receiver
-On: 2011-11-02 14:20:26.817117 Event: GSMExt.Tm
-On: 2011-11-02 14:20:26.817168 Event: Init GSM
-On: 2011-11-02 14:20:28.821383 Event: Receiver Greeting
-On: 2011-11-02 14:20:28.823905 Event: Connected to Receiver Handler
-On: 2011-11-02 14:20:28.938204 Event: Receiver Handler respond
-On: 2011-11-02 14:20:28.938501 Event: Receiver handler : Ready
-On: 2011-11-02 14:20:28.938533 Event: Start Call
-On: 2011-11-02 14:20:28.938587 Event: Waiting Feedback
-On: 2011-11-02 14:20:41.808441 Event: Test Succeed
-On: 2011-11-02 14:20:41.808500 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:20:41.808637 Event: init Cancel test
-On: 2011-11-02 14:20:44.851825 Event: -- -X- --
-On: 2011-11-02 14:20:44.851885 Event: init Caller
-On: 2011-11-02 14:20:44.851903 Event: sip
-On: 2011-11-02 14:20:46.855871 Event: Caller Greeting
-On: 2011-11-02 14:20:46.856547 Event: Connected to Caller Handler
-On: 2011-11-02 14:20:46.856921 Event: Caller Handler respond
-On: 2011-11-02 14:20:46.857696 Event: Caller handler : Ready
-On: 2011-11-02 14:20:46.857736 Event: init Receiver
-On: 2011-11-02 14:20:46.857755 Event: GSMExt.Voda
-On: 2011-11-02 14:20:46.857805 Event: Init GSM
-On: 2011-11-02 14:20:48.862006 Event: Receiver Greeting
-On: 2011-11-02 14:20:48.864374 Event: Connected to Receiver Handler
-On: 2011-11-02 14:20:53.877189 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:20:53.877234 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:20:53.877255 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:20:53.877385 Event: init Cancel test
-On: 2011-11-02 14:20:56.917629 Event: -- -X- --
-On: 2011-11-02 14:20:56.917690 Event: init Caller
-On: 2011-11-02 14:20:56.917708 Event: sip
-On: 2011-11-02 14:20:58.921744 Event: Caller Greeting
-On: 2011-11-02 14:20:58.922441 Event: Connected to Caller Handler
-On: 2011-11-02 14:20:58.922799 Event: Caller Handler respond
-On: 2011-11-02 14:20:58.923564 Event: Caller handler : Ready
-On: 2011-11-02 14:20:58.923599 Event: init Receiver
-On: 2011-11-02 14:20:58.923618 Event: GSMRZ3
-On: 2011-11-02 14:21:06.930008 Event: Receiver Greeting
-On: 2011-11-02 14:21:06.930552 Event: Connected to Receiver Handler
-On: 2011-11-02 14:21:06.935362 Event: Cannt connect to Caller
-On: 2011-11-02 14:21:06.935427 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:21:06.935537 Event: init Cancel test
-On: 2011-11-02 14:21:06.935562 Event: init Cancel test
-On: 2011-11-02 14:21:10.046932 Event: -- -X- --
-On: 2011-11-02 14:21:10.046996 Event: init Caller
-On: 2011-11-02 14:21:10.047014 Event: sip
-On: 2011-11-02 14:21:12.050047 Event: Caller Greeting
-On: 2011-11-02 14:21:12.050905 Event: Connected to Caller Handler
-On: 2011-11-02 14:21:12.051186 Event: Caller Handler respond
-On: 2011-11-02 14:21:12.051952 Event: Caller handler : Ready
-On: 2011-11-02 14:21:12.051991 Event: init Receiver
-On: 2011-11-02 14:21:12.052010 Event: landline
-On: 2011-11-02 14:21:14.056633 Event: Receiver Greeting
-On: 2011-11-02 14:21:14.057441 Event: Connected to Receiver Handler
-On: 2011-11-02 14:21:14.057721 Event: Receiver Handler respond
-On: 2011-11-02 14:21:14.060688 Event: Receiver handler : Ready
-On: 2011-11-02 14:21:14.060725 Event: Start Call
-On: 2011-11-02 14:21:14.060781 Event: Waiting Feedback
-On: 2011-11-02 14:21:21.280346 Event: Test Succeed
-On: 2011-11-02 14:21:21.280382 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:21:21.280509 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:22:02.836743 ------------------
-On: 2011-11-02 14:22:02.836825 Event: init Caller
-On: 2011-11-02 14:22:02.836848 Event: sip
-On: 2011-11-02 14:22:04.844256 Event: Caller Greeting
-On: 2011-11-02 14:22:04.845254 Event: Connected to Caller Handler
-On: 2011-11-02 14:22:04.845543 Event: Caller Handler respond
-On: 2011-11-02 14:22:04.846378 Event: Caller handler : Ready
-On: 2011-11-02 14:22:04.846418 Event: init Receiver
-On: 2011-11-02 14:22:04.846438 Event: GSMRZ1
-On: 2011-11-02 14:22:04.846491 Event: Init GSM
-On: 2011-11-02 14:22:06.850015 Event: Receiver Greeting
-On: 2011-11-02 14:22:06.852517 Event: Connected to Receiver Handler
-On: 2011-11-02 14:22:06.998138 Event: Receiver Handler respond
-On: 2011-11-02 14:22:06.998434 Event: Receiver handler : Ready
-On: 2011-11-02 14:22:06.998465 Event: Start Call
-On: 2011-11-02 14:22:06.998518 Event: Waiting Feedback
-On: 2011-11-02 14:22:12.218179 Event: Test Succeed
-On: 2011-11-02 14:22:12.218234 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:22:12.218393 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:22:41.218018 ------------------
-On: 2011-11-02 14:22:41.218094 Event: init Caller
-On: 2011-11-02 14:22:41.218117 Event: sip
-On: 2011-11-02 14:22:43.230054 Event: Caller Greeting
-On: 2011-11-02 14:22:43.231033 Event: Connected to Caller Handler
-On: 2011-11-02 14:22:43.231316 Event: Caller Handler respond
-On: 2011-11-02 14:22:43.232437 Event: Caller handler : Ready
-On: 2011-11-02 14:22:43.232478 Event: init Receiver
-On: 2011-11-02 14:22:43.232498 Event: GSMRZ2
-On: 2011-11-02 14:22:51.242032 Event: Receiver Greeting
-On: 2011-11-02 14:22:51.242628 Event: Connected to Receiver Handler
-On: 2011-11-02 14:22:51.247264 Event: Cannt connect to Caller
-On: 2011-11-02 14:22:51.247333 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:22:51.247467 Event: init Cancel test
-On: 2011-11-02 14:22:51.247495 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:25:42.725141 ------------------
-On: 2011-11-02 14:25:42.725220 Event: init Caller
-On: 2011-11-02 14:25:42.725242 Event: sip
-On: 2011-11-02 14:25:44.735827 Event: Caller Greeting
-On: 2011-11-02 14:25:44.736810 Event: Connected to Caller Handler
-On: 2011-11-02 14:25:44.737092 Event: Caller Handler respond
-On: 2011-11-02 14:25:44.737852 Event: Caller handler : Ready
-On: 2011-11-02 14:25:44.737892 Event: init Receiver
-On: 2011-11-02 14:25:44.737911 Event: GSMRZ1
-On: 2011-11-02 14:25:44.738016 Event: Init GSM
-On: 2011-11-02 14:25:46.742014 Event: Receiver Greeting
-On: 2011-11-02 14:25:46.744512 Event: Connected to Receiver Handler
-On: 2011-11-02 14:25:46.878168 Event: Receiver Handler respond
-On: 2011-11-02 14:25:46.878468 Event: Receiver handler : Ready
-On: 2011-11-02 14:25:46.878498 Event: Start Call
-On: 2011-11-02 14:25:46.878552 Event: Waiting Feedback
-On: 2011-11-02 14:25:52.306137 Event: Test Succeed
-On: 2011-11-02 14:25:52.306194 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:25:52.306354 Event: init Cancel test
-On: 2011-11-02 14:25:55.345806 Event: -- -X- --
-On: 2011-11-02 14:25:55.345868 Event: init Caller
-On: 2011-11-02 14:25:55.345886 Event: sip
-On: 2011-11-02 14:25:57.350048 Event: Caller Greeting
-On: 2011-11-02 14:25:57.350949 Event: Connected to Caller Handler
-On: 2011-11-02 14:25:57.352158 Event: Caller Handler respond
-On: 2011-11-02 14:25:57.352910 Event: Caller handler : Ready
-On: 2011-11-02 14:25:57.352948 Event: init Receiver
-On: 2011-11-02 14:25:57.352967 Event: GSMRZ2
-On: 2011-11-02 14:26:05.361244 Event: Receiver Greeting
-On: 2011-11-02 14:26:05.362007 Event: Cannt connect to Receiver
-On: 2011-11-02 14:26:05.362061 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:26:05.362146 Event: init Cancel test
-On: 2011-11-02 14:26:05.362173 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:14.466716 ------------------
-On: 2011-11-02 14:27:14.466842 Event: init Caller
-On: 2011-11-02 14:27:14.466869 Event: unisip
-On: 2011-11-02 14:27:16.476233 Event: Caller Greeting
-On: 2011-11-02 14:27:16.477326 Event: Connected to Caller Handler
-On: 2011-11-02 14:27:16.477619 Event: Caller Handler respond
-On: 2011-11-02 14:27:16.478458 Event: Caller handler : Ready
-On: 2011-11-02 14:27:16.478498 Event: init Receiver
-On: 2011-11-02 14:27:16.478517 Event: GSMRZ1
-On: 2011-11-02 14:27:16.478570 Event: Init GSM
-On: 2011-11-02 14:27:18.482014 Event: Receiver Greeting
-On: 2011-11-02 14:27:18.484574 Event: Connected to Receiver Handler
-On: 2011-11-02 14:27:18.622137 Event: Receiver Handler respond
-On: 2011-11-02 14:27:18.622436 Event: Receiver handler : Ready
-On: 2011-11-02 14:27:18.622467 Event: Start Call
-On: 2011-11-02 14:27:18.622521 Event: Waiting Feedback
-On: 2011-11-02 14:27:24.106129 Event: Test Succeed
-On: 2011-11-02 14:27:24.106186 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:27:24.106339 Event: init Cancel test
-On: 2011-11-02 14:27:27.148893 Event: -- -X- --
-On: 2011-11-02 14:27:27.148959 Event: init Caller
-On: 2011-11-02 14:27:27.148977 Event: GSMRZ2
-On: 2011-11-02 14:27:35.159377 Event: Caller Greeting
-On: 2011-11-02 14:27:35.159953 Event: Connected to Caller Handler
-On: 2011-11-02 14:27:35.164267 Event: Cannt connect to Caller
-On: 2011-11-02 14:27:35.164333 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 14:27:38.215877 Event: -- -X- --
-On: 2011-11-02 14:27:38.215944 Event: init Caller
-On: 2011-11-02 14:27:38.215961 Event: landline
-On: 2011-11-02 14:27:40.220161 Event: Caller Greeting
-On: 2011-11-02 14:27:40.220856 Event: Connected to Caller Handler
-On: 2011-11-02 14:27:40.221226 Event: Caller Handler respond
-On: 2011-11-02 14:27:40.224430 Event: Caller handler : Ready
-On: 2011-11-02 14:27:40.224465 Event: init Receiver
-On: 2011-11-02 14:27:40.224485 Event: GSMRZ3
-On: 2011-11-02 14:27:48.234007 Event: Receiver Greeting
-On: 2011-11-02 14:27:48.234552 Event: Connected to Receiver Handler
-On: 2011-11-02 14:27:48.239357 Event: Cannt connect to Caller
-On: 2011-11-02 14:27:48.239424 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:27:48.239535 Event: init Cancel test
-On: 2011-11-02 14:27:48.239561 Event: init Cancel test
-On: 2011-11-02 14:27:51.282709 Event: -- -X- --
-On: 2011-11-02 14:27:51.282772 Event: init Caller
-On: 2011-11-02 14:27:51.282790 Event: sip
-On: 2011-11-02 14:27:53.286026 Event: Caller Greeting
-On: 2011-11-02 14:27:53.286862 Event: Connected to Caller Handler
-On: 2011-11-02 14:27:53.287148 Event: Caller Handler respond
-On: 2011-11-02 14:27:53.287911 Event: Caller handler : Ready
-On: 2011-11-02 14:27:53.287948 Event: init Receiver
-On: 2011-11-02 14:27:53.287967 Event: GSMExt.O2
-On: 2011-11-02 14:27:53.288019 Event: Init GSM
-On: 2011-11-02 14:27:55.292240 Event: Receiver Greeting
-On: 2011-11-02 14:27:55.294843 Event: Connected to Receiver Handler
-On: 2011-11-02 14:27:55.426181 Event: Receiver Handler respond
-On: 2011-11-02 14:27:55.426480 Event: Receiver handler : Ready
-On: 2011-11-02 14:27:55.426512 Event: Start Call
-On: 2011-11-02 14:27:55.426565 Event: Waiting Feedback
-On: 2011-11-02 14:28:07.859449 Event: Test Succeed
-On: 2011-11-02 14:28:07.859489 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:28:07.859615 Event: init Cancel test
-On: 2011-11-02 14:28:10.902197 Event: -- -X- --
-On: 2011-11-02 14:28:10.902261 Event: init Caller
-On: 2011-11-02 14:28:10.902279 Event: sip
-On: 2011-11-02 14:28:12.906435 Event: Caller Greeting
-On: 2011-11-02 14:28:12.907246 Event: Connected to Caller Handler
-On: 2011-11-02 14:28:12.907526 Event: Caller Handler respond
-On: 2011-11-02 14:28:12.908286 Event: Caller handler : Ready
-On: 2011-11-02 14:28:12.908325 Event: init Receiver
-On: 2011-11-02 14:28:12.908345 Event: GSMExt.Tm
-On: 2011-11-02 14:28:12.908396 Event: Init GSM
-On: 2011-11-02 14:28:14.911591 Event: Receiver Greeting
-On: 2011-11-02 14:28:14.914182 Event: Connected to Receiver Handler
-On: 2011-11-02 14:28:15.038195 Event: Receiver Handler respond
-On: 2011-11-02 14:28:15.038495 Event: Receiver handler : Ready
-On: 2011-11-02 14:28:15.038527 Event: Start Call
-On: 2011-11-02 14:28:15.038581 Event: Waiting Feedback
-On: 2011-11-02 14:28:27.940431 Event: Test Succeed
-On: 2011-11-02 14:28:27.940492 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:28:27.940634 Event: init Cancel test
-On: 2011-11-02 14:28:30.982933 Event: -- -X- --
-On: 2011-11-02 14:28:30.982994 Event: init Caller
-On: 2011-11-02 14:28:30.983013 Event: sip
-On: 2011-11-02 14:28:32.985745 Event: Caller Greeting
-On: 2011-11-02 14:28:32.986471 Event: Connected to Caller Handler
-On: 2011-11-02 14:28:32.986853 Event: Caller Handler respond
-On: 2011-11-02 14:28:32.987616 Event: Caller handler : Ready
-On: 2011-11-02 14:28:32.987655 Event: init Receiver
-On: 2011-11-02 14:28:32.987674 Event: GSMExt.Voda
-On: 2011-11-02 14:28:32.987726 Event: Init GSM
-On: 2011-11-02 14:28:34.990010 Event: Receiver Greeting
-On: 2011-11-02 14:28:34.992574 Event: Connected to Receiver Handler
-On: 2011-11-02 14:28:40.005753 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:28:40.005799 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:28:40.005821 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:28:40.005987 Event: init Cancel test
-On: 2011-11-02 14:28:43.088630 Event: -- -X- --
-On: 2011-11-02 14:28:43.088694 Event: init Caller
-On: 2011-11-02 14:28:43.088712 Event: sip
-On: 2011-11-02 14:28:45.092984 Event: Caller Greeting
-On: 2011-11-02 14:28:45.093822 Event: Connected to Caller Handler
-On: 2011-11-02 14:28:45.094140 Event: Caller Handler respond
-On: 2011-11-02 14:28:45.094902 Event: Caller handler : Ready
-On: 2011-11-02 14:28:45.094935 Event: init Receiver
-On: 2011-11-02 14:28:45.094954 Event: GSMExt.Eplus
-On: 2011-11-02 14:28:45.095005 Event: Init GSM
-On: 2011-11-02 14:28:47.098011 Event: Receiver Greeting
-On: 2011-11-02 14:28:47.100625 Event: Connected to Receiver Handler
-On: 2011-11-02 14:28:47.222206 Event: Receiver Handler respond
-On: 2011-11-02 14:28:47.222493 Event: Receiver handler : Ready
-On: 2011-11-02 14:28:47.222523 Event: Start Call
-On: 2011-11-02 14:28:47.222577 Event: Waiting Feedback
-On: 2011-11-02 14:29:02.222987 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:29:02.223045 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:29:02.223180 Event: init Cancel test
-On: 2011-11-02 14:29:05.264056 Event: -- -X- --
-On: 2011-11-02 14:29:05.264118 Event: init Caller
-On: 2011-11-02 14:29:05.264136 Event: sip
-On: 2011-11-02 14:29:07.268337 Event: Caller Greeting
-On: 2011-11-02 14:29:07.269165 Event: Connected to Caller Handler
-On: 2011-11-02 14:29:07.269446 Event: Caller Handler respond
-On: 2011-11-02 14:29:07.270267 Event: Caller handler : Ready
-On: 2011-11-02 14:29:07.270306 Event: init Receiver
-On: 2011-11-02 14:29:07.270325 Event: GSMRZ3
-On: 2011-11-02 14:29:15.278654 Event: Receiver Greeting
-On: 2011-11-02 14:29:15.279212 Event: Connected to Receiver Handler
-On: 2011-11-02 14:29:15.284096 Event: Cannt connect to Caller
-On: 2011-11-02 14:29:15.284163 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:29:15.284274 Event: init Cancel test
-On: 2011-11-02 14:29:15.284300 Event: init Cancel test
-On: 2011-11-02 14:29:20.339721 Event: -- -X- --
-On: 2011-11-02 14:29:20.339783 Event: init Caller
-On: 2011-11-02 14:29:20.339801 Event: sip
-On: 2011-11-02 14:29:22.344007 Event: Caller Greeting
-On: 2011-11-02 14:29:22.344716 Event: Connected to Caller Handler
-On: 2011-11-02 14:29:22.345094 Event: Caller Handler respond
-On: 2011-11-02 14:29:22.345865 Event: Caller handler : Ready
-On: 2011-11-02 14:29:22.345905 Event: init Receiver
-On: 2011-11-02 14:29:22.345924 Event: landline
-On: 2011-11-02 14:29:24.349130 Event: Receiver Greeting
-On: 2011-11-02 14:29:24.349828 Event: Connected to Receiver Handler
-On: 2011-11-02 14:29:24.350299 Event: Receiver Handler respond
-On: 2011-11-02 14:29:24.353279 Event: Receiver handler : Ready
-On: 2011-11-02 14:29:24.353317 Event: Start Call
-On: 2011-11-02 14:29:24.353373 Event: Waiting Feedback
-On: 2011-11-02 14:29:30.621284 Event: Test Succeed
-On: 2011-11-02 14:29:30.621324 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:29:30.621452 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:30:30.261042 ------------------
-On: 2011-11-02 14:30:30.261117 Event: init Caller
-On: 2011-11-02 14:30:30.261142 Event: unisip
-On: 2011-11-02 14:30:32.269725 Event: Caller Greeting
-On: 2011-11-02 14:30:32.270829 Event: Connected to Caller Handler
-On: 2011-11-02 14:30:32.271119 Event: Caller Handler respond
-On: 2011-11-02 14:30:32.271893 Event: Caller handler : Ready
-On: 2011-11-02 14:30:32.271932 Event: init Receiver
-On: 2011-11-02 14:30:32.271952 Event: GSMRZ2
-On: 2011-11-02 14:30:40.280456 Event: Receiver Greeting
-On: 2011-11-02 14:30:40.281046 Event: Connected to Receiver Handler
-On: 2011-11-02 14:30:40.285679 Event: Cannt connect to Caller
-On: 2011-11-02 14:30:40.285745 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:30:40.285877 Event: init Cancel test
-On: 2011-11-02 14:30:40.285904 Event: init Cancel test
-On: 2011-11-02 14:30:43.333491 Event: -- -X- --
-On: 2011-11-02 14:30:43.333558 Event: init Caller
-On: 2011-11-02 14:30:43.333577 Event: GSMRZ1
-On: 2011-11-02 14:30:43.333625 Event: Init GSM
-On: 2011-11-02 14:30:45.337912 Event: Caller Greeting
-On: 2011-11-02 14:30:45.340542 Event: Connected to Caller Handler
-On: 2011-11-02 14:30:45.490163 Event: Caller Handler respond
-On: 2011-11-02 14:30:45.490465 Event: Caller handler : Ready
-On: 2011-11-02 14:30:45.490495 Event: init Receiver
-On: 2011-11-02 14:30:45.490514 Event: GSMExt.Eplus
-On: 2011-11-02 14:30:45.490567 Event: Init GSM
-On: 2011-11-02 14:30:47.496749 Event: Receiver Greeting
-On: 2011-11-02 14:30:47.499314 Event: Connected to Receiver Handler
-On: 2011-11-02 14:30:47.590138 Event: Receiver Handler respond
-On: 2011-11-02 14:30:47.590432 Event: Receiver handler : Ready
-On: 2011-11-02 14:30:47.590464 Event: Start Call
-On: 2011-11-02 14:30:47.590519 Event: Waiting Feedback
-On: 2011-11-02 14:31:02.594488 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:31:02.594543 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:31:02.594678 Event: init Cancel test
-On: 2011-11-02 14:31:05.669150 Event: -- -X- --
-On: 2011-11-02 14:31:05.669219 Event: init Caller
-On: 2011-11-02 14:31:05.669237 Event: landline
-On: 2011-11-02 14:31:07.673464 Event: Caller Greeting
-On: 2011-11-02 14:31:07.674192 Event: Connected to Caller Handler
-On: 2011-11-02 14:31:07.674576 Event: Caller Handler respond
-On: 2011-11-02 14:31:07.677610 Event: Caller handler : Ready
-On: 2011-11-02 14:31:07.677649 Event: init Receiver
-On: 2011-11-02 14:31:07.677669 Event: GSMRZ3
-On: 2011-11-02 14:31:15.683468 Event: Receiver Greeting
-On: 2011-11-02 14:31:15.684020 Event: Connected to Receiver Handler
-On: 2011-11-02 14:31:15.688797 Event: Cannt connect to Caller
-On: 2011-11-02 14:31:15.688862 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:31:15.688974 Event: init Cancel test
-On: 2011-11-02 14:31:15.689000 Event: init Cancel test
-On: 2011-11-02 14:31:18.733900 Event: -- -X- --
-On: 2011-11-02 14:31:18.734026 Event: init Caller
-On: 2011-11-02 14:31:18.734047 Event: sip
-On: 2011-11-02 14:31:20.738292 Event: Caller Greeting
-On: 2011-11-02 14:31:20.738989 Event: Connected to Caller Handler
-On: 2011-11-02 14:31:20.739370 Event: Caller Handler respond
-On: 2011-11-02 14:31:20.740147 Event: Caller handler : Ready
-On: 2011-11-02 14:31:20.740185 Event: init Receiver
-On: 2011-11-02 14:31:20.740204 Event: GSMExt.O2
-On: 2011-11-02 14:31:20.740256 Event: Init GSM
-On: 2011-11-02 14:31:22.745117 Event: Receiver Greeting
-On: 2011-11-02 14:31:22.747676 Event: Connected to Receiver Handler
-On: 2011-11-02 14:31:22.838208 Event: Receiver Handler respond
-On: 2011-11-02 14:31:22.838506 Event: Receiver handler : Ready
-On: 2011-11-02 14:31:22.838536 Event: Start Call
-On: 2011-11-02 14:31:22.838591 Event: Waiting Feedback
-On: 2011-11-02 14:31:35.221716 Event: Test Succeed
-On: 2011-11-02 14:31:35.221754 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:31:35.221885 Event: init Cancel test
-On: 2011-11-02 14:31:38.265471 Event: -- -X- --
-On: 2011-11-02 14:31:38.265534 Event: init Caller
-On: 2011-11-02 14:31:38.265552 Event: sip
-On: 2011-11-02 14:31:40.270092 Event: Caller Greeting
-On: 2011-11-02 14:31:40.270915 Event: Connected to Caller Handler
-On: 2011-11-02 14:31:40.271196 Event: Caller Handler respond
-On: 2011-11-02 14:31:40.271964 Event: Caller handler : Ready
-On: 2011-11-02 14:31:40.272002 Event: init Receiver
-On: 2011-11-02 14:31:40.272021 Event: GSMExt.Tm
-On: 2011-11-02 14:31:40.272074 Event: Init GSM
-On: 2011-11-02 14:31:42.276565 Event: Receiver Greeting
-On: 2011-11-02 14:31:42.279104 Event: Connected to Receiver Handler
-On: 2011-11-02 14:31:42.398134 Event: Receiver Handler respond
-On: 2011-11-02 14:31:42.398427 Event: Receiver handler : Ready
-On: 2011-11-02 14:31:42.398459 Event: Start Call
-On: 2011-11-02 14:31:42.398512 Event: Waiting Feedback
-On: 2011-11-02 14:31:55.584375 Event: Test Succeed
-On: 2011-11-02 14:31:55.584413 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:31:55.584541 Event: init Cancel test
-On: 2011-11-02 14:31:58.629745 Event: -- -X- --
-On: 2011-11-02 14:31:58.629806 Event: init Caller
-On: 2011-11-02 14:31:58.629824 Event: sip
-On: 2011-11-02 14:32:00.634082 Event: Caller Greeting
-On: 2011-11-02 14:32:00.634778 Event: Connected to Caller Handler
-On: 2011-11-02 14:32:00.635157 Event: Caller Handler respond
-On: 2011-11-02 14:32:00.635935 Event: Caller handler : Ready
-On: 2011-11-02 14:32:00.635973 Event: init Receiver
-On: 2011-11-02 14:32:00.635993 Event: GSMExt.Voda
-On: 2011-11-02 14:32:00.636045 Event: Init GSM
-On: 2011-11-02 14:32:02.640506 Event: Receiver Greeting
-On: 2011-11-02 14:32:02.643071 Event: Connected to Receiver Handler
-On: 2011-11-02 14:32:07.656403 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:32:07.656450 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:32:07.656472 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:32:07.656605 Event: init Cancel test
-On: 2011-11-02 14:32:10.702117 Event: -- -X- --
-On: 2011-11-02 14:32:10.702181 Event: init Caller
-On: 2011-11-02 14:32:10.702199 Event: sip
-On: 2011-11-02 14:32:12.705949 Event: Caller Greeting
-On: 2011-11-02 14:32:12.706658 Event: Connected to Caller Handler
-On: 2011-11-02 14:32:12.707040 Event: Caller Handler respond
-On: 2011-11-02 14:32:12.707807 Event: Caller handler : Ready
-On: 2011-11-02 14:32:12.707843 Event: init Receiver
-On: 2011-11-02 14:32:12.707863 Event: GSMRZ2
-On: 2011-11-02 14:32:20.714009 Event: Receiver Greeting
-On: 2011-11-02 14:32:20.714567 Event: Connected to Receiver Handler
-On: 2011-11-02 14:32:20.719000 Event: Cannt connect to Caller
-On: 2011-11-02 14:32:20.719062 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:32:20.719171 Event: init Cancel test
-On: 2011-11-02 14:32:20.719197 Event: init Cancel test
-On: 2011-11-02 14:32:23.759096 Event: -- -X- --
-On: 2011-11-02 14:32:23.759158 Event: init Caller
-On: 2011-11-02 14:32:23.759176 Event: sip
-On: 2011-11-02 14:32:25.763002 Event: Caller Greeting
-On: 2011-11-02 14:32:25.763699 Event: Connected to Caller Handler
-On: 2011-11-02 14:32:25.764080 Event: Caller Handler respond
-On: 2011-11-02 14:32:25.764852 Event: Caller handler : Ready
-On: 2011-11-02 14:32:25.764890 Event: init Receiver
-On: 2011-11-02 14:32:25.764909 Event: unisip
-On: 2011-11-02 14:32:27.769414 Event: Receiver Greeting
-On: 2011-11-02 14:32:27.770138 Event: Connected to Receiver Handler
-On: 2011-11-02 14:32:27.770522 Event: Receiver Handler respond
-On: 2011-11-02 14:32:27.771298 Event: Receiver handler : Ready
-On: 2011-11-02 14:32:27.771341 Event: Start Call
-On: 2011-11-02 14:32:27.771402 Event: Waiting Feedback
-On: 2011-11-02 14:32:30.825520 Event: Test Succeed
-On: 2011-11-02 14:32:30.825557 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:32:30.825691 Event: init Cancel test
-On: 2011-11-02 14:32:33.868555 Event: -- -X- --
-On: 2011-11-02 14:32:33.868616 Event: init Caller
-On: 2011-11-02 14:32:33.868634 Event: sip
-On: 2011-11-02 14:32:35.872914 Event: Caller Greeting
-On: 2011-11-02 14:32:35.873600 Event: Connected to Caller Handler
-On: 2011-11-02 14:32:35.874017 Event: Caller Handler respond
-On: 2011-11-02 14:32:35.874947 Event: Caller handler : Ready
-On: 2011-11-02 14:32:35.875057 Event: init Receiver
-On: 2011-11-02 14:32:35.875081 Event: GSMRZ1
-On: 2011-11-02 14:32:35.875136 Event: Init GSM
-On: 2011-11-02 14:32:37.878933 Event: Receiver Greeting
-On: 2011-11-02 14:32:37.881429 Event: Connected to Receiver Handler
-On: 2011-11-02 14:32:38.018137 Event: Receiver Handler respond
-On: 2011-11-02 14:32:38.018438 Event: Receiver handler : Ready
-On: 2011-11-02 14:32:38.018472 Event: Start Call
-On: 2011-11-02 14:32:38.018525 Event: Waiting Feedback
-On: 2011-11-02 14:32:43.774148 Event: Test Succeed
-On: 2011-11-02 14:32:43.774204 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:32:43.774345 Event: init Cancel test
-On: 2011-11-02 14:32:46.826458 Event: -- -X- --
-On: 2011-11-02 14:32:46.826524 Event: init Caller
-On: 2011-11-02 14:32:46.826542 Event: sip
-On: 2011-11-02 14:32:48.830010 Event: Caller Greeting
-On: 2011-11-02 14:32:48.830797 Event: Connected to Caller Handler
-On: 2011-11-02 14:32:48.831084 Event: Caller Handler respond
-On: 2011-11-02 14:32:48.831852 Event: Caller handler : Ready
-On: 2011-11-02 14:32:48.831891 Event: init Receiver
-On: 2011-11-02 14:32:48.831910 Event: GSMRZ3
-On: 2011-11-02 14:32:56.842015 Event: Receiver Greeting
-On: 2011-11-02 14:32:56.842568 Event: Connected to Receiver Handler
-On: 2011-11-02 14:32:56.846937 Event: Cannt connect to Caller
-On: 2011-11-02 14:32:56.847002 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:32:56.847114 Event: init Cancel test
-On: 2011-11-02 14:32:56.847140 Event: init Cancel test
-On: 2011-11-02 14:32:59.897185 Event: -- -X- --
-On: 2011-11-02 14:32:59.897246 Event: init Caller
-On: 2011-11-02 14:32:59.897265 Event: sip
-On: 2011-11-02 14:33:01.901500 Event: Caller Greeting
-On: 2011-11-02 14:33:01.902226 Event: Connected to Caller Handler
-On: 2011-11-02 14:33:01.902599 Event: Caller Handler respond
-On: 2011-11-02 14:33:01.903368 Event: Caller handler : Ready
-On: 2011-11-02 14:33:01.903406 Event: init Receiver
-On: 2011-11-02 14:33:01.903426 Event: landline
-On: 2011-11-02 14:33:03.906009 Event: Receiver Greeting
-On: 2011-11-02 14:33:03.906703 Event: Connected to Receiver Handler
-On: 2011-11-02 14:33:03.907087 Event: Receiver Handler respond
-On: 2011-11-02 14:33:03.910642 Event: Receiver handler : Ready
-On: 2011-11-02 14:33:03.910683 Event: Start Call
-On: 2011-11-02 14:33:03.910742 Event: Waiting Feedback
-On: 2011-11-02 14:33:12.280224 Event: Test Succeed
-On: 2011-11-02 14:33:12.280260 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:33:12.280388 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:02.106437 ------------------
-On: 2011-11-02 14:35:02.106510 Event: init Caller
-On: 2011-11-02 14:35:02.106534 Event: unisip
-On: 2011-11-02 14:35:04.110528 Event: Caller Greeting
-On: 2011-11-02 14:35:04.111582 Event: Connected to Caller Handler
-On: 2011-11-02 14:35:04.111882 Event: Caller Handler respond
-On: 2011-11-02 14:35:04.112649 Event: Caller handler : Ready
-On: 2011-11-02 14:35:04.112691 Event: init Receiver
-On: 2011-11-02 14:35:04.112710 Event: GSMRZ3
-On: 2011-11-02 14:35:12.115363 Event: Receiver Greeting
-On: 2011-11-02 14:35:12.115931 Event: Connected to Receiver Handler
-On: 2011-11-02 14:35:12.120579 Event: Cannt connect to Caller
-On: 2011-11-02 14:35:12.120645 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:35:12.120776 Event: init Cancel test
-On: 2011-11-02 14:35:12.120803 Event: init Cancel test
-On: 2011-11-02 14:35:15.164079 Event: -- -X- --
-On: 2011-11-02 14:35:15.164140 Event: init Caller
-On: 2011-11-02 14:35:15.164158 Event: GSMRZ1
-On: 2011-11-02 14:35:15.164206 Event: Init GSM
-On: 2011-11-02 14:35:17.168346 Event: Caller Greeting
-On: 2011-11-02 14:35:17.170960 Event: Connected to Caller Handler
-On: 2011-11-02 14:35:17.310130 Event: Caller Handler respond
-On: 2011-11-02 14:35:17.310423 Event: Caller handler : Ready
-On: 2011-11-02 14:35:17.310452 Event: init Receiver
-On: 2011-11-02 14:35:17.310471 Event: GSMRZ2
-On: 2011-11-02 14:35:25.320831 Event: Receiver Greeting
-On: 2011-11-02 14:35:25.321395 Event: Connected to Receiver Handler
-On: 2011-11-02 14:35:25.325768 Event: Cannt connect to Caller
-On: 2011-11-02 14:35:25.325832 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:35:25.329425 Event: init Cancel test
-On: 2011-11-02 14:35:25.329490 Event: init Cancel test
-On: 2011-11-02 14:35:28.376493 Event: -- -X- --
-On: 2011-11-02 14:35:28.376558 Event: init Caller
-On: 2011-11-02 14:35:28.376576 Event: landline
-On: 2011-11-02 14:35:30.380764 Event: Caller Greeting
-On: 2011-11-02 14:35:30.381574 Event: Connected to Caller Handler
-On: 2011-11-02 14:35:30.381856 Event: Caller Handler respond
-On: 2011-11-02 14:35:30.384768 Event: Caller handler : Ready
-On: 2011-11-02 14:35:30.384807 Event: init Receiver
-On: 2011-11-02 14:35:30.384826 Event: GSMRZ2
-On: 2011-11-02 14:35:38.394026 Event: Receiver Greeting
-On: 2011-11-02 14:35:38.394597 Event: Connected to Receiver Handler
-On: 2011-11-02 14:35:38.399192 Event: Cannt connect to Caller
-On: 2011-11-02 14:35:38.399253 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:35:38.399857 Event: init Cancel test
-On: 2011-11-02 14:35:38.399912 Event: init Cancel test
-On: 2011-11-02 14:35:41.467166 Event: -- -X- --
-On: 2011-11-02 14:35:41.467227 Event: init Caller
-On: 2011-11-02 14:35:41.467244 Event: sip
-On: 2011-11-02 14:35:43.470035 Event: Caller Greeting
-On: 2011-11-02 14:35:43.470867 Event: Connected to Caller Handler
-On: 2011-11-02 14:35:43.471151 Event: Caller Handler respond
-On: 2011-11-02 14:35:43.471914 Event: Caller handler : Ready
-On: 2011-11-02 14:35:43.471951 Event: init Receiver
-On: 2011-11-02 14:35:43.471970 Event: GSMExt.Eplus
-On: 2011-11-02 14:35:43.472021 Event: Init GSM
-On: 2011-11-02 14:35:45.476754 Event: Receiver Greeting
-On: 2011-11-02 14:35:45.478651 Event: Connected to Receiver Handler
-On: 2011-11-02 14:35:45.629572 Event: Receiver Handler respond
-On: 2011-11-02 14:35:45.629867 Event: Receiver handler : Ready
-On: 2011-11-02 14:35:45.629896 Event: Start Call
-On: 2011-11-02 14:35:45.629982 Event: Waiting Feedback
-On: 2011-11-02 14:36:00.630412 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:36:00.630471 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:36:00.630607 Event: init Cancel test
-On: 2011-11-02 14:36:03.701396 Event: -- -X- --
-On: 2011-11-02 14:36:03.701458 Event: init Caller
-On: 2011-11-02 14:36:03.701477 Event: sip
-On: 2011-11-02 14:36:05.705694 Event: Caller Greeting
-On: 2011-11-02 14:36:05.706547 Event: Connected to Caller Handler
-On: 2011-11-02 14:36:05.706825 Event: Caller Handler respond
-On: 2011-11-02 14:36:05.707686 Event: Caller handler : Ready
-On: 2011-11-02 14:36:05.708020 Event: init Receiver
-On: 2011-11-02 14:36:05.708043 Event: GSMExt.O2
-On: 2011-11-02 14:36:05.708097 Event: Init GSM
-On: 2011-11-02 14:36:07.712749 Event: Receiver Greeting
-On: 2011-11-02 14:36:07.715294 Event: Connected to Receiver Handler
-On: 2011-11-02 14:36:07.850150 Event: Receiver Handler respond
-On: 2011-11-02 14:36:07.850479 Event: Receiver handler : Ready
-On: 2011-11-02 14:36:07.850512 Event: Start Call
-On: 2011-11-02 14:36:07.850567 Event: Waiting Feedback
-On: 2011-11-02 14:36:20.074668 Event: Test Succeed
-On: 2011-11-02 14:36:20.074703 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:36:20.074831 Event: init Cancel test
-On: 2011-11-02 14:36:23.118257 Event: -- -X- --
-On: 2011-11-02 14:36:23.118321 Event: init Caller
-On: 2011-11-02 14:36:23.118339 Event: sip
-On: 2011-11-02 14:36:25.120942 Event: Caller Greeting
-On: 2011-11-02 14:36:25.121765 Event: Connected to Caller Handler
-On: 2011-11-02 14:36:25.122909 Event: Caller Handler respond
-On: 2011-11-02 14:36:25.123682 Event: Caller handler : Ready
-On: 2011-11-02 14:36:25.124322 Event: init Receiver
-On: 2011-11-02 14:36:25.124359 Event: GSMExt.Tm
-On: 2011-11-02 14:36:25.124415 Event: Init GSM
-On: 2011-11-02 14:36:27.129703 Event: Receiver Greeting
-On: 2011-11-02 14:36:27.132327 Event: Connected to Receiver Handler
-On: 2011-11-02 14:36:27.250168 Event: Receiver Handler respond
-On: 2011-11-02 14:36:27.250462 Event: Receiver handler : Ready
-On: 2011-11-02 14:36:27.250491 Event: Start Call
-On: 2011-11-02 14:36:27.250544 Event: Waiting Feedback
-On: 2011-11-02 14:36:41.198934 Event: Test Succeed
-On: 2011-11-02 14:36:41.198969 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:36:41.199096 Event: init Cancel test
-On: 2011-11-02 14:36:44.242684 Event: -- -X- --
-On: 2011-11-02 14:36:44.242742 Event: init Caller
-On: 2011-11-02 14:36:44.242760 Event: sip
-On: 2011-11-02 14:36:46.246891 Event: Caller Greeting
-On: 2011-11-02 14:36:46.247700 Event: Connected to Caller Handler
-On: 2011-11-02 14:36:46.247987 Event: Caller Handler respond
-On: 2011-11-02 14:36:46.248756 Event: Caller handler : Ready
-On: 2011-11-02 14:36:46.248793 Event: init Receiver
-On: 2011-11-02 14:36:46.248813 Event: GSMExt.Voda
-On: 2011-11-02 14:36:46.248863 Event: Init GSM
-On: 2011-11-02 14:36:48.253303 Event: Receiver Greeting
-On: 2011-11-02 14:36:48.255980 Event: Connected to Receiver Handler
-On: 2011-11-02 14:36:53.274424 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:36:53.274467 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:36:53.274489 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:36:53.274622 Event: init Cancel test
-On: 2011-11-02 14:36:56.346380 Event: -- -X- --
-On: 2011-11-02 14:36:56.346447 Event: init Caller
-On: 2011-11-02 14:36:56.346465 Event: sip
-On: 2011-11-02 14:36:58.353280 Event: Caller Greeting
-On: 2011-11-02 14:36:58.354148 Event: Connected to Caller Handler
-On: 2011-11-02 14:36:58.354444 Event: Caller Handler respond
-On: 2011-11-02 14:36:58.355206 Event: Caller handler : Ready
-On: 2011-11-02 14:36:58.355246 Event: init Receiver
-On: 2011-11-02 14:36:58.355265 Event: GSMRZ3
-On: 2011-11-02 14:37:06.360935 Event: Receiver Greeting
-On: 2011-11-02 14:37:06.361527 Event: Connected to Receiver Handler
-On: 2011-11-02 14:37:06.366309 Event: Cannt connect to Caller
-On: 2011-11-02 14:37:06.366375 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:37:06.366486 Event: init Cancel test
-On: 2011-11-02 14:37:06.366511 Event: init Cancel test
-On: 2011-11-02 14:37:09.429470 Event: -- -X- --
-On: 2011-11-02 14:37:09.429530 Event: init Caller
-On: 2011-11-02 14:37:09.429549 Event: sip
-On: 2011-11-02 14:37:11.433720 Event: Caller Greeting
-On: 2011-11-02 14:37:11.434582 Event: Connected to Caller Handler
-On: 2011-11-02 14:37:11.434867 Event: Caller Handler respond
-On: 2011-11-02 14:37:11.435626 Event: Caller handler : Ready
-On: 2011-11-02 14:37:11.435665 Event: init Receiver
-On: 2011-11-02 14:37:11.435685 Event: unisip
-On: 2011-11-02 14:37:13.446023 Event: Receiver Greeting
-On: 2011-11-02 14:37:13.446846 Event: Connected to Receiver Handler
-On: 2011-11-02 14:37:13.447134 Event: Receiver Handler respond
-On: 2011-11-02 14:37:13.448261 Event: Receiver handler : Ready
-On: 2011-11-02 14:37:13.448299 Event: Start Call
-On: 2011-11-02 14:37:13.448433 Event: Waiting Feedback
-On: 2011-11-02 14:37:16.513525 Event: Test Succeed
-On: 2011-11-02 14:37:16.513582 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:37:16.513721 Event: init Cancel test
-On: 2011-11-02 14:37:19.583490 Event: -- -X- --
-On: 2011-11-02 14:37:19.583550 Event: init Caller
-On: 2011-11-02 14:37:19.583569 Event: sip
-On: 2011-11-02 14:37:21.586015 Event: Caller Greeting
-On: 2011-11-02 14:37:21.586854 Event: Connected to Caller Handler
-On: 2011-11-02 14:37:21.587141 Event: Caller Handler respond
-On: 2011-11-02 14:37:21.588193 Event: Caller handler : Ready
-On: 2011-11-02 14:37:21.588248 Event: init Receiver
-On: 2011-11-02 14:37:21.588267 Event: GSMRZ2
-On: 2011-11-02 14:37:29.595982 Event: Receiver Greeting
-On: 2011-11-02 14:37:29.596541 Event: Connected to Receiver Handler
-On: 2011-11-02 14:37:29.601103 Event: Cannt connect to Caller
-On: 2011-11-02 14:37:29.601173 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:37:29.601288 Event: init Cancel test
-On: 2011-11-02 14:37:29.601314 Event: init Cancel test
-On: 2011-11-02 14:37:32.661551 Event: -- -X- --
-On: 2011-11-02 14:37:32.661611 Event: init Caller
-On: 2011-11-02 14:37:32.661630 Event: sip
-On: 2011-11-02 14:37:34.665852 Event: Caller Greeting
-On: 2011-11-02 14:37:34.666716 Event: Connected to Caller Handler
-On: 2011-11-02 14:37:34.667003 Event: Caller Handler respond
-On: 2011-11-02 14:37:34.667950 Event: Caller handler : Ready
-On: 2011-11-02 14:37:34.667993 Event: init Receiver
-On: 2011-11-02 14:37:34.668013 Event: GSMRZ1
-On: 2011-11-02 14:37:34.668068 Event: Init GSM
-On: 2011-11-02 14:37:36.675255 Event: Receiver Greeting
-On: 2011-11-02 14:37:36.678061 Event: Connected to Receiver Handler
-On: 2011-11-02 14:37:36.807033 Event: Receiver Handler respond
-On: 2011-11-02 14:37:36.807327 Event: Receiver handler : Ready
-On: 2011-11-02 14:37:36.807356 Event: Start Call
-On: 2011-11-02 14:37:36.807411 Event: Waiting Feedback
-On: 2011-11-02 14:37:42.238325 Event: Test Succeed
-On: 2011-11-02 14:37:42.238383 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:37:42.238529 Event: init Cancel test
-On: 2011-11-02 14:37:45.280458 Event: -- -X- --
-On: 2011-11-02 14:37:45.280519 Event: init Caller
-On: 2011-11-02 14:37:45.280537 Event: sip
-On: 2011-11-02 14:37:47.284692 Event: Caller Greeting
-On: 2011-11-02 14:37:47.285507 Event: Connected to Caller Handler
-On: 2011-11-02 14:37:47.285787 Event: Caller Handler respond
-On: 2011-11-02 14:37:47.286971 Event: Caller handler : Ready
-On: 2011-11-02 14:37:47.287008 Event: init Receiver
-On: 2011-11-02 14:37:47.287027 Event: GSMRZ2
-On: 2011-11-02 14:37:55.295158 Event: Receiver Greeting
-On: 2011-11-02 14:37:55.295732 Event: Connected to Receiver Handler
-On: 2011-11-02 14:37:55.300299 Event: Cannt connect to Caller
-On: 2011-11-02 14:37:55.300365 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:37:55.300852 Event: init Cancel test
-On: 2011-11-02 14:37:55.300906 Event: init Cancel test
-On: 2011-11-02 14:37:58.362478 Event: -- -X- --
-On: 2011-11-02 14:37:58.362543 Event: init Caller
-On: 2011-11-02 14:37:58.362561 Event: sip
-On: 2011-11-02 14:38:00.366033 Event: Caller Greeting
-On: 2011-11-02 14:38:00.366846 Event: Connected to Caller Handler
-On: 2011-11-02 14:38:00.367129 Event: Caller Handler respond
-On: 2011-11-02 14:38:00.367897 Event: Caller handler : Ready
-On: 2011-11-02 14:38:00.367936 Event: init Receiver
-On: 2011-11-02 14:38:00.367955 Event: landline
-On: 2011-11-02 14:38:02.372908 Event: Receiver Greeting
-On: 2011-11-02 14:38:02.373767 Event: Connected to Receiver Handler
-On: 2011-11-02 14:38:02.374114 Event: Receiver Handler respond
-On: 2011-11-02 14:38:02.376149 Event: Receiver handler : Ready
-On: 2011-11-02 14:38:02.376189 Event: Start Call
-On: 2011-11-02 14:38:02.376324 Event: Waiting Feedback
-On: 2011-11-02 14:38:08.568218 Event: Test Succeed
-On: 2011-11-02 14:38:08.568275 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:38:08.568416 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:51:57.790674 ------------------
-On: 2011-11-02 14:51:57.790754 Event: init Caller
-On: 2011-11-02 14:51:57.790777 Event: unisip
-On: 2011-11-02 14:51:59.794050 Event: Caller Greeting
-On: 2011-11-02 14:51:59.795132 Event: Connected to Caller Handler
-On: 2011-11-02 14:51:59.795432 Event: Caller Handler respond
-On: 2011-11-02 14:51:59.796582 Event: Caller handler : Ready
-On: 2011-11-02 14:51:59.796623 Event: init Receiver
-On: 2011-11-02 14:51:59.796642 Event: GSMRZ3
-On: 2011-11-02 14:52:07.811635 Event: Receiver Greeting
-On: 2011-11-02 14:52:07.812557 Event: Connected to Receiver Handler
-On: 2011-11-02 14:52:07.817468 Event: Cannt connect to Caller
-On: 2011-11-02 14:52:07.817537 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:52:07.817668 Event: init Cancel test
-On: 2011-11-02 14:52:07.817695 Event: init Cancel test
-On: 2011-11-02 14:52:10.923065 Event: -- -X- --
-On: 2011-11-02 14:52:10.923131 Event: init Caller
-On: 2011-11-02 14:52:10.923148 Event: GSMRZ1
-On: 2011-11-02 14:52:10.923192 Event: Init GSM
-On: 2011-11-02 14:52:12.926042 Event: Caller Greeting
-On: 2011-11-02 14:52:12.928602 Event: Connected to Caller Handler
-On: 2011-11-02 14:52:13.066131 Event: Caller Handler respond
-On: 2011-11-02 14:52:13.066435 Event: Caller handler : Ready
-On: 2011-11-02 14:52:13.066466 Event: init Receiver
-On: 2011-11-02 14:52:13.066485 Event: GSMExt.Voda
-On: 2011-11-02 14:52:13.066534 Event: Init GSM
-On: 2011-11-02 14:52:15.071083 Event: Receiver Greeting
-On: 2011-11-02 14:52:15.073595 Event: Connected to Receiver Handler
-On: 2011-11-02 14:52:20.086966 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:52:20.087011 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:52:20.087032 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:52:20.087166 Event: init Cancel test
-On: 2011-11-02 14:52:23.156055 Event: -- -X- --
-On: 2011-11-02 14:52:23.156122 Event: init Caller
-On: 2011-11-02 14:52:23.156140 Event: landline
-On: 2011-11-02 14:52:25.160163 Event: Caller Greeting
-On: 2011-11-02 14:52:25.160992 Event: Connected to Caller Handler
-On: 2011-11-02 14:52:25.161276 Event: Caller Handler respond
-On: 2011-11-02 14:52:25.164622 Event: Caller handler : Ready
-On: 2011-11-02 14:52:25.164661 Event: init Receiver
-On: 2011-11-02 14:52:25.164679 Event: GSMRZ2
-On: 2011-11-02 14:52:33.174866 Event: Receiver Greeting
-On: 2011-11-02 14:52:33.175424 Event: Connected to Receiver Handler
-On: 2011-11-02 14:52:33.179951 Event: Cannt connect to Caller
-On: 2011-11-02 14:52:33.180019 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:52:33.180132 Event: init Cancel test
-On: 2011-11-02 14:52:33.180157 Event: init Cancel test
-On: 2011-11-02 14:52:36.225728 Event: -- -X- --
-On: 2011-11-02 14:52:36.225791 Event: init Caller
-On: 2011-11-02 14:52:36.225809 Event: sip
-On: 2011-11-02 14:52:38.230290 Event: Caller Greeting
-On: 2011-11-02 14:52:38.231129 Event: Connected to Caller Handler
-On: 2011-11-02 14:52:38.231412 Event: Caller Handler respond
-On: 2011-11-02 14:52:38.232181 Event: Caller handler : Ready
-On: 2011-11-02 14:52:38.232220 Event: init Receiver
-On: 2011-11-02 14:52:38.232239 Event: GSMExt.Eplus
-On: 2011-11-02 14:52:38.232289 Event: Init GSM
-On: 2011-11-02 14:52:40.236730 Event: Receiver Greeting
-On: 2011-11-02 14:52:40.239227 Event: Connected to Receiver Handler
-On: 2011-11-02 14:52:40.354199 Event: Receiver Handler respond
-On: 2011-11-02 14:52:40.354493 Event: Receiver handler : Ready
-On: 2011-11-02 14:52:40.354525 Event: Start Call
-On: 2011-11-02 14:52:40.354591 Event: Waiting Feedback
-On: 2011-11-02 14:52:55.355169 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 14:52:55.355228 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:52:55.355365 Event: init Cancel test
-On: 2011-11-02 14:52:58.400818 Event: -- -X- --
-On: 2011-11-02 14:52:58.400881 Event: init Caller
-On: 2011-11-02 14:52:58.400899 Event: sip
-On: 2011-11-02 14:53:00.405056 Event: Caller Greeting
-On: 2011-11-02 14:53:00.405884 Event: Connected to Caller Handler
-On: 2011-11-02 14:53:00.406689 Event: Caller Handler respond
-On: 2011-11-02 14:53:00.407590 Event: Caller handler : Ready
-On: 2011-11-02 14:53:00.407702 Event: init Receiver
-On: 2011-11-02 14:53:00.407723 Event: GSMExt.O2
-On: 2011-11-02 14:53:00.407774 Event: Init GSM
-On: 2011-11-02 14:53:02.412789 Event: Receiver Greeting
-On: 2011-11-02 14:53:02.415299 Event: Connected to Receiver Handler
-On: 2011-11-02 14:53:02.534141 Event: Receiver Handler respond
-On: 2011-11-02 14:53:02.534426 Event: Receiver handler : Ready
-On: 2011-11-02 14:53:02.534456 Event: Start Call
-On: 2011-11-02 14:53:02.534508 Event: Waiting Feedback
-On: 2011-11-02 14:53:15.788622 Event: Test Succeed
-On: 2011-11-02 14:53:15.788677 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:53:15.788810 Event: init Cancel test
-On: 2011-11-02 14:53:18.833105 Event: -- -X- --
-On: 2011-11-02 14:53:18.833168 Event: init Caller
-On: 2011-11-02 14:53:18.833186 Event: sip
-On: 2011-11-02 14:53:20.837616 Event: Caller Greeting
-On: 2011-11-02 14:53:20.838447 Event: Connected to Caller Handler
-On: 2011-11-02 14:53:20.838725 Event: Caller Handler respond
-On: 2011-11-02 14:53:20.839486 Event: Caller handler : Ready
-On: 2011-11-02 14:53:20.839525 Event: init Receiver
-On: 2011-11-02 14:53:20.839544 Event: GSMExt.Tm
-On: 2011-11-02 14:53:20.839593 Event: Init GSM
-On: 2011-11-02 14:53:22.842011 Event: Receiver Greeting
-On: 2011-11-02 14:53:22.844483 Event: Connected to Receiver Handler
-On: 2011-11-02 14:53:22.958325 Event: Receiver Handler respond
-On: 2011-11-02 14:53:22.958624 Event: Receiver handler : Ready
-On: 2011-11-02 14:53:22.958657 Event: Start Call
-On: 2011-11-02 14:53:22.958710 Event: Waiting Feedback
-On: 2011-11-02 14:53:36.579277 Event: Test Succeed
-On: 2011-11-02 14:53:36.579337 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:53:36.579475 Event: init Cancel test
-On: 2011-11-02 14:53:39.621984 Event: -- -X- --
-On: 2011-11-02 14:53:39.622050 Event: init Caller
-On: 2011-11-02 14:53:39.622069 Event: sip
-On: 2011-11-02 14:53:41.626018 Event: Caller Greeting
-On: 2011-11-02 14:53:41.626852 Event: Connected to Caller Handler
-On: 2011-11-02 14:53:41.627128 Event: Caller Handler respond
-On: 2011-11-02 14:53:41.627901 Event: Caller handler : Ready
-On: 2011-11-02 14:53:41.627935 Event: init Receiver
-On: 2011-11-02 14:53:41.627954 Event: GSMRZ3
-On: 2011-11-02 14:53:49.635128 Event: Receiver Greeting
-On: 2011-11-02 14:53:49.635702 Event: Connected to Receiver Handler
-On: 2011-11-02 14:53:49.640609 Event: Cannt connect to Caller
-On: 2011-11-02 14:53:49.640676 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:53:49.640790 Event: init Cancel test
-On: 2011-11-02 14:53:49.640816 Event: init Cancel test
-On: 2011-11-02 14:53:52.681822 Event: -- -X- --
-On: 2011-11-02 14:53:52.681885 Event: init Caller
-On: 2011-11-02 14:53:52.681903 Event: sip
-On: 2011-11-02 14:53:54.686135 Event: Caller Greeting
-On: 2011-11-02 14:53:54.686956 Event: Connected to Caller Handler
-On: 2011-11-02 14:53:54.687236 Event: Caller Handler respond
-On: 2011-11-02 14:53:54.688001 Event: Caller handler : Ready
-On: 2011-11-02 14:53:54.688041 Event: init Receiver
-On: 2011-11-02 14:53:54.688060 Event: unisip
-On: 2011-11-02 14:53:56.692468 Event: Receiver Greeting
-On: 2011-11-02 14:53:56.693272 Event: Connected to Receiver Handler
-On: 2011-11-02 14:53:56.693560 Event: Receiver Handler respond
-On: 2011-11-02 14:53:56.694721 Event: Receiver handler : Ready
-On: 2011-11-02 14:53:56.694759 Event: Start Call
-On: 2011-11-02 14:53:56.694821 Event: Waiting Feedback
-On: 2011-11-02 14:53:59.724210 Event: Test Succeed
-On: 2011-11-02 14:53:59.724249 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:53:59.724377 Event: init Cancel test
-On: 2011-11-02 14:54:02.768849 Event: -- -X- --
-On: 2011-11-02 14:54:02.768911 Event: init Caller
-On: 2011-11-02 14:54:02.768929 Event: sip
-On: 2011-11-02 14:54:04.773625 Event: Caller Greeting
-On: 2011-11-02 14:54:04.774540 Event: Connected to Caller Handler
-On: 2011-11-02 14:54:04.774823 Event: Caller Handler respond
-On: 2011-11-02 14:54:04.775587 Event: Caller handler : Ready
-On: 2011-11-02 14:54:04.775705 Event: init Receiver
-On: 2011-11-02 14:54:04.775727 Event: GSMExt.Voda
-On: 2011-11-02 14:54:04.775777 Event: Init GSM
-On: 2011-11-02 14:54:06.781706 Event: Receiver Greeting
-On: 2011-11-02 14:54:06.784360 Event: Connected to Receiver Handler
-On: 2011-11-02 14:54:11.798743 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 14:54:11.798787 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 14:54:11.798808 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:54:11.798940 Event: init Cancel test
-On: 2011-11-02 14:54:14.851121 Event: -- -X- --
-On: 2011-11-02 14:54:14.851186 Event: init Caller
-On: 2011-11-02 14:54:14.851203 Event: sip
-On: 2011-11-02 14:54:16.854015 Event: Caller Greeting
-On: 2011-11-02 14:54:16.854855 Event: Connected to Caller Handler
-On: 2011-11-02 14:54:16.855133 Event: Caller Handler respond
-On: 2011-11-02 14:54:16.855891 Event: Caller handler : Ready
-On: 2011-11-02 14:54:16.855929 Event: init Receiver
-On: 2011-11-02 14:54:16.855948 Event: GSMRZ1
-On: 2011-11-02 14:54:16.855997 Event: Init GSM
-On: 2011-11-02 14:54:18.860402 Event: Receiver Greeting
-On: 2011-11-02 14:54:18.862385 Event: Connected to Receiver Handler
-On: 2011-11-02 14:54:18.982226 Event: Receiver Handler respond
-On: 2011-11-02 14:54:18.982523 Event: Receiver handler : Ready
-On: 2011-11-02 14:54:18.982554 Event: Start Call
-On: 2011-11-02 14:54:18.982608 Event: Waiting Feedback
-On: 2011-11-02 14:54:23.578176 Event: Test Succeed
-On: 2011-11-02 14:54:23.578235 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:54:23.578376 Event: init Cancel test
-On: 2011-11-02 14:54:26.625866 Event: -- -X- --
-On: 2011-11-02 14:54:26.625930 Event: init Caller
-On: 2011-11-02 14:54:26.625947 Event: sip
-On: 2011-11-02 14:54:28.630041 Event: Caller Greeting
-On: 2011-11-02 14:54:28.630873 Event: Connected to Caller Handler
-On: 2011-11-02 14:54:28.631151 Event: Caller Handler respond
-On: 2011-11-02 14:54:28.631909 Event: Caller handler : Ready
-On: 2011-11-02 14:54:28.631944 Event: init Receiver
-On: 2011-11-02 14:54:28.631963 Event: GSMRZ2
-On: 2011-11-02 14:54:36.640323 Event: Receiver Greeting
-On: 2011-11-02 14:54:36.640890 Event: Connected to Receiver Handler
-On: 2011-11-02 14:54:36.645585 Event: Cannt connect to Caller
-On: 2011-11-02 14:54:36.645650 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 14:54:36.645759 Event: init Cancel test
-On: 2011-11-02 14:54:36.645785 Event: init Cancel test
-On: 2011-11-02 14:54:39.697063 Event: -- -X- --
-On: 2011-11-02 14:54:39.697126 Event: init Caller
-On: 2011-11-02 14:54:39.697143 Event: sip
-On: 2011-11-02 14:54:41.701448 Event: Caller Greeting
-On: 2011-11-02 14:54:41.702326 Event: Connected to Caller Handler
-On: 2011-11-02 14:54:41.702610 Event: Caller Handler respond
-On: 2011-11-02 14:54:41.703371 Event: Caller handler : Ready
-On: 2011-11-02 14:54:41.703409 Event: init Receiver
-On: 2011-11-02 14:54:41.703428 Event: landline
-On: 2011-11-02 14:54:43.707546 Event: Receiver Greeting
-On: 2011-11-02 14:54:43.709049 Event: Connected to Receiver Handler
-On: 2011-11-02 14:54:43.709330 Event: Receiver Handler respond
-On: 2011-11-02 14:54:43.712798 Event: Receiver handler : Ready
-On: 2011-11-02 14:54:43.712835 Event: Start Call
-On: 2011-11-02 14:54:43.712892 Event: Waiting Feedback
-On: 2011-11-02 14:54:50.889499 Event: Test Succeed
-On: 2011-11-02 14:54:50.889556 Event: TERMINATE CONNECTION
-On: 2011-11-02 14:54:50.889693 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:02:03.941373 ------------------
-On: 2011-11-02 15:02:03.941450 Event: init Caller
-On: 2011-11-02 15:02:03.941476 Event: GSMRZ1
-On: 2011-11-02 15:02:03.941533 Event: Init GSM
-On: 2011-11-02 15:02:05.946019 Event: Caller Greeting
-On: 2011-11-02 15:02:05.948665 Event: Connected to Caller Handler
-On: 2011-11-02 15:02:06.082205 Event: Caller Handler respond
-On: 2011-11-02 15:02:06.082501 Event: Caller handler : Ready
-On: 2011-11-02 15:02:06.082532 Event: init Receiver
-On: 2011-11-02 15:02:06.082552 Event: GSMRZ3
-On: 2011-11-02 15:02:14.088948 Event: Receiver Greeting
-On: 2011-11-02 15:02:14.089547 Event: Connected to Receiver Handler
-On: 2011-11-02 15:02:14.293732 Event: Receiver Handler respond
-On: 2011-11-02 15:02:14.296404 Event: Receiver handler : Ready
-On: 2011-11-02 15:02:14.296442 Event: Start Call
-On: 2011-11-02 15:02:14.296501 Event: Waiting Feedback
-On: 2011-11-02 15:02:17.942126 Event: Test Succeed
-On: 2011-11-02 15:02:17.942186 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:02:17.942394 Event: init Cancel test
-On: 2011-11-02 15:02:20.988982 Event: -- -X- --
-On: 2011-11-02 15:02:20.989047 Event: init Caller
-On: 2011-11-02 15:02:20.989066 Event: GSMRZ1
-On: 2011-11-02 15:02:20.989111 Event: Init GSM
-On: 2011-11-02 15:02:22.993463 Event: Caller Greeting
-On: 2011-11-02 15:02:22.996248 Event: Connected to Caller Handler
-On: 2011-11-02 15:02:23.158142 Event: Caller Handler respond
-On: 2011-11-02 15:02:23.158442 Event: Caller handler : Ready
-On: 2011-11-02 15:02:23.158474 Event: init Receiver
-On: 2011-11-02 15:02:23.158493 Event: GSMRZ3
-On: 2011-11-02 15:02:31.168076 Event: Receiver Greeting
-On: 2011-11-02 15:02:31.168638 Event: Connected to Receiver Handler
-On: 2011-11-02 15:02:31.394998 Event: Receiver Handler respond
-On: 2011-11-02 15:02:31.397824 Event: Receiver handler : Ready
-On: 2011-11-02 15:02:31.397886 Event: Start Call
-On: 2011-11-02 15:02:31.397985 Event: Waiting Feedback
-On: 2011-11-02 15:02:36.050125 Event: Test Succeed
-On: 2011-11-02 15:02:36.050182 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:02:36.050365 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:07:23.914505 ------------------
-On: 2011-11-02 15:07:23.914583 Event: init Caller
-On: 2011-11-02 15:07:23.914608 Event: GSMRZ1
-On: 2011-11-02 15:07:23.914664 Event: Init GSM
-On: 2011-11-02 15:07:25.918027 Event: Caller Greeting
-On: 2011-11-02 15:07:25.920751 Event: Connected to Caller Handler
-On: 2011-11-02 15:07:26.066171 Event: Caller Handler respond
-On: 2011-11-02 15:07:26.066475 Event: Caller handler : Ready
-On: 2011-11-02 15:07:26.066507 Event: init Receiver
-On: 2011-11-02 15:07:26.066526 Event: GSMRZ3
-On: 2011-11-02 15:07:34.074048 Event: Receiver Greeting
-On: 2011-11-02 15:07:34.074651 Event: Connected to Receiver Handler
-On: 2011-11-02 15:07:34.293418 Event: Receiver Handler respond
-On: 2011-11-02 15:07:34.296023 Event: Receiver handler : Ready
-On: 2011-11-02 15:07:34.296077 Event: Start Call
-On: 2011-11-02 15:07:34.296142 Event: Waiting Feedback
-On: 2011-11-02 15:07:37.942126 Event: Test Succeed
-On: 2011-11-02 15:07:37.942186 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:07:37.942388 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:12:44.486384 ------------------
-On: 2011-11-02 15:12:44.486460 Event: init Caller
-On: 2011-11-02 15:12:44.486488 Event: GSMRZ2
-On: 2011-11-02 15:12:52.492621 Event: Caller Greeting
-On: 2011-11-02 15:12:52.493358 Event: Connected to Caller Handler
-On: 2011-11-02 15:12:52.705313 Event: Caller Handler respond
-On: 2011-11-02 15:12:52.707681 Event: Caller handler : Ready
-On: 2011-11-02 15:12:52.707718 Event: init Receiver
-On: 2011-11-02 15:12:52.707739 Event: GSMRZ3
-On: 2011-11-02 15:13:00.713549 Event: Receiver Greeting
-On: 2011-11-02 15:13:00.714196 Event: Connected to Receiver Handler
-On: 2011-11-02 15:13:00.931975 Event: Receiver Handler respond
-On: 2011-11-02 15:13:00.934513 Event: Receiver handler : Ready
-On: 2011-11-02 15:13:00.934551 Event: Start Call
-On: 2011-11-02 15:13:00.934612 Event: Waiting Feedback
-On: 2011-11-02 15:13:06.220943 Event: Test Succeed
-On: 2011-11-02 15:13:06.221011 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:13:06.221231 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:13:45.842651 ------------------
-On: 2011-11-02 15:13:45.842725 Event: init Caller
-On: 2011-11-02 15:13:45.842752 Event: GSMRZ2
-On: 2011-11-02 15:13:53.846346 Event: Caller Greeting
-On: 2011-11-02 15:13:53.847155 Event: Connected to Caller Handler
-On: 2011-11-02 15:13:58.912055 Event: Cannt connect to Caller
-On: 2011-11-02 15:13:58.912131 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:14:35.245047 ------------------
-On: 2011-11-02 15:14:35.245123 Event: init Caller
-On: 2011-11-02 15:14:35.245150 Event: GSMRZ2
-On: 2011-11-02 15:14:43.250022 Event: Caller Greeting
-On: 2011-11-02 15:14:43.250769 Event: Connected to Caller Handler
-On: 2011-11-02 15:14:48.314708 Event: Cannt connect to Caller
-On: 2011-11-02 15:14:48.314784 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:15:24.810179 ------------------
-On: 2011-11-02 15:15:24.810252 Event: init Caller
-On: 2011-11-02 15:15:24.810279 Event: GSMRZ2
-On: 2011-11-02 15:15:32.818021 Event: Caller Greeting
-On: 2011-11-02 15:15:32.818748 Event: Connected to Caller Handler
-On: 2011-11-02 15:15:33.009502 Event: Caller Handler respond
-On: 2011-11-02 15:15:33.011938 Event: Caller handler : Ready
-On: 2011-11-02 15:15:33.011977 Event: init Receiver
-On: 2011-11-02 15:15:33.011998 Event: GSMRZ3
-On: 2011-11-02 15:15:41.018022 Event: Receiver Greeting
-On: 2011-11-02 15:15:41.018621 Event: Connected to Receiver Handler
-On: 2011-11-02 15:15:41.220518 Event: Receiver Handler respond
-On: 2011-11-02 15:15:41.223052 Event: Receiver handler : Ready
-On: 2011-11-02 15:15:41.223090 Event: Start Call
-On: 2011-11-02 15:15:41.223153 Event: Waiting Feedback
-On: 2011-11-02 15:15:45.837985 Event: Test Succeed
-On: 2011-11-02 15:15:45.838050 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:15:45.838270 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:17:36.777698 ------------------
-On: 2011-11-02 15:17:36.777774 Event: init Caller
-On: 2011-11-02 15:17:36.777801 Event: GSMRZ2
-On: 2011-11-02 15:17:44.783011 Event: Caller Greeting
-On: 2011-11-02 15:17:44.783749 Event: Connected to Caller Handler
-On: 2011-11-02 15:17:49.846861 Event: Cannt connect to Caller
-On: 2011-11-02 15:17:49.846937 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:18:36.662347 ------------------
-On: 2011-11-02 15:18:36.662423 Event: init Caller
-On: 2011-11-02 15:18:36.662450 Event: GSMRZ2
-On: 2011-11-02 15:18:44.670020 Event: Caller Greeting
-On: 2011-11-02 15:18:44.670769 Event: Connected to Caller Handler
-On: 2011-11-02 15:18:49.732304 Event: Cannt connect to Caller
-On: 2011-11-02 15:18:49.732380 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:20:31.947373 ------------------
-On: 2011-11-02 15:20:31.947456 Event: init Caller
-On: 2011-11-02 15:20:31.947482 Event: GSMRZ2
-On: 2011-11-02 15:20:39.956423 Event: Caller Greeting
-On: 2011-11-02 15:20:39.957244 Event: Connected to Caller Handler
-On: 2011-11-02 15:20:45.020119 Event: Cannt connect to Caller
-On: 2011-11-02 15:20:45.020187 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:22:41.011453 ------------------
-On: 2011-11-02 15:22:41.011526 Event: init Caller
-On: 2011-11-02 15:22:41.011550 Event: GSMRZ2
-On: 2011-11-02 15:22:49.026015 Event: Caller Greeting
-On: 2011-11-02 15:22:49.026858 Event: Connected to Caller Handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:23:12.914451 ------------------
-On: 2011-11-02 15:23:12.914526 Event: init Caller
-On: 2011-11-02 15:23:12.914551 Event: GSMRZ2
-On: 2011-11-02 15:23:20.920956 Event: Caller Greeting
-On: 2011-11-02 15:23:20.921785 Event: Connected to Caller Handler
-On: 2011-11-02 15:23:25.984988 Event: Cannt connect to Caller
-On: 2011-11-02 15:23:25.985052 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:24:41.060184 ------------------
-On: 2011-11-02 15:24:41.060260 Event: init Caller
-On: 2011-11-02 15:24:41.060284 Event: GSMRZ2
-On: 2011-11-02 15:24:49.070016 Event: Caller Greeting
-On: 2011-11-02 15:24:49.070845 Event: Connected to Caller Handler
-On: 2011-11-02 15:24:54.133790 Event: Cannt connect to Caller
-On: 2011-11-02 15:24:54.133856 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:27:14.519700 ------------------
-On: 2011-11-02 15:27:14.519777 Event: init Caller
-On: 2011-11-02 15:27:14.519801 Event: GSMRZ2
-On: 2011-11-02 15:27:22.530016 Event: Caller Greeting
-On: 2011-11-02 15:27:22.530870 Event: Connected to Caller Handler
-On: 2011-11-02 15:27:27.593575 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:27:27.593749 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 15:27:27.593777 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:28:21.569095 ------------------
-On: 2011-11-02 15:28:21.569169 Event: init Caller
-On: 2011-11-02 15:28:21.569194 Event: GSMRZ2
-On: 2011-11-02 15:28:29.580055 Event: Caller Greeting
-On: 2011-11-02 15:28:29.580897 Event: Connected to Caller Handler
-On: 2011-11-02 15:28:34.644052 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:28:34.644231 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 15:28:34.644259 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:29:03.825489 ------------------
-On: 2011-11-02 15:29:03.825570 Event: init Caller
-On: 2011-11-02 15:29:03.825595 Event: GSMRZ2
-On: 2011-11-02 15:29:11.833750 Event: Caller Greeting
-On: 2011-11-02 15:29:11.834638 Event: Connected to Caller Handler
-On: 2011-11-02 15:29:12.023325 Event: Caller Handler respond
-On: 2011-11-02 15:29:12.025778 Event: Caller handler : Ready
-On: 2011-11-02 15:29:12.025815 Event: init Receiver
-On: 2011-11-02 15:29:12.025837 Event: GSMRZ3
-On: 2011-11-02 15:29:20.034018 Event: Receiver Greeting
-On: 2011-11-02 15:29:20.034631 Event: Connected to Receiver Handler
-On: 2011-11-02 15:29:25.106409 Event: Cannt connect to Caller
-On: 2011-11-02 15:29:25.106480 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 15:29:25.106625 Event: init Cancel test
-On: 2011-11-02 15:29:25.106682 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:31:54.977827 ------------------
-On: 2011-11-02 15:31:54.977905 Event: init Caller
-On: 2011-11-02 15:31:54.977931 Event: GSMRZ2
-On: 2011-11-02 15:32:02.986020 Event: Caller Greeting
-On: 2011-11-02 15:32:02.986849 Event: Connected to Caller Handler
-On: 2011-11-02 15:32:03.195537 Event: Caller Handler respond
-On: 2011-11-02 15:32:03.197879 Event: Caller handler : Ready
-On: 2011-11-02 15:32:03.197930 Event: init Receiver
-On: 2011-11-02 15:32:03.197976 Event: GSMRZ3
-On: 2011-11-02 15:32:11.205243 Event: Receiver Greeting
-On: 2011-11-02 15:32:11.205850 Event: Connected to Receiver Handler
-On: 2011-11-02 15:32:16.275571 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:32:16.275643 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 15:32:16.275670 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:32:16.275879 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:32:52.851594 ------------------
-On: 2011-11-02 15:32:52.851675 Event: init Caller
-On: 2011-11-02 15:32:52.851699 Event: GSMRZ2
-On: 2011-11-02 15:33:00.858019 Event: Caller Greeting
-On: 2011-11-02 15:33:00.858854 Event: Connected to Caller Handler
-On: 2011-11-02 15:33:05.922238 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:33:05.922416 Event: 802 General Device Error: Caller device no respond timeout
-On: 2011-11-02 15:33:05.922443 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:33:34.419008 ------------------
-On: 2011-11-02 15:33:34.419085 Event: init Caller
-On: 2011-11-02 15:33:34.419109 Event: GSMRZ2
-On: 2011-11-02 15:33:42.433653 Event: Caller Greeting
-On: 2011-11-02 15:33:42.434501 Event: Connected to Caller Handler
-On: 2011-11-02 15:33:42.622056 Event: Caller Handler respond
-On: 2011-11-02 15:33:42.624407 Event: Caller handler : Ready
-On: 2011-11-02 15:33:42.624473 Event: init Receiver
-On: 2011-11-02 15:33:42.624494 Event: GSMRZ3
-On: 2011-11-02 15:33:50.634022 Event: Receiver Greeting
-On: 2011-11-02 15:33:50.634633 Event: Connected to Receiver Handler
-On: 2011-11-02 15:33:50.832803 Event: Receiver Handler respond
-On: 2011-11-02 15:33:50.835551 Event: Receiver handler : Ready
-On: 2011-11-02 15:33:50.835604 Event: Start Call
-On: 2011-11-02 15:33:50.835670 Event: Waiting Feedback
-On: 2011-11-02 15:33:55.340855 Event: Test Succeed
-On: 2011-11-02 15:33:55.340922 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:33:55.341143 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:34:53.359847 ------------------
-On: 2011-11-02 15:34:53.359921 Event: init Caller
-On: 2011-11-02 15:34:53.359943 Event: sip
-On: 2011-11-02 15:34:55.363957 Event: Caller Greeting
-On: 2011-11-02 15:34:55.365032 Event: Connected to Caller Handler
-On: 2011-11-02 15:34:55.365326 Event: Caller Handler respond
-On: 2011-11-02 15:34:55.366521 Event: Caller handler : Ready
-On: 2011-11-02 15:34:55.366559 Event: init Receiver
-On: 2011-11-02 15:34:55.366579 Event: unisip
-On: 2011-11-02 15:34:57.370016 Event: Receiver Greeting
-On: 2011-11-02 15:34:57.370878 Event: Connected to Receiver Handler
-On: 2011-11-02 15:34:57.371163 Event: Receiver Handler respond
-On: 2011-11-02 15:34:57.371917 Event: Receiver handler : Ready
-On: 2011-11-02 15:34:57.371957 Event: Start Call
-On: 2011-11-02 15:34:57.372184 Event: Waiting Feedback
-On: 2011-11-02 15:35:00.428724 Event: Test Succeed
-On: 2011-11-02 15:35:00.428782 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:35:00.428943 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:35:23.862824 ------------------
-On: 2011-11-02 15:35:23.862898 Event: init Caller
-On: 2011-11-02 15:35:23.862920 Event: sip
-On: 2011-11-02 15:35:25.866034 Event: Caller Greeting
-On: 2011-11-02 15:35:25.867088 Event: Connected to Caller Handler
-On: 2011-11-02 15:35:25.867380 Event: Caller Handler respond
-On: 2011-11-02 15:35:25.868519 Event: Caller handler : Ready
-On: 2011-11-02 15:35:25.868556 Event: init Receiver
-On: 2011-11-02 15:35:25.868577 Event: unisip
-On: 2011-11-02 15:35:27.873135 Event: Receiver Greeting
-On: 2011-11-02 15:35:27.874129 Event: Connected to Receiver Handler
-On: 2011-11-02 15:35:27.874429 Event: Receiver Handler respond
-On: 2011-11-02 15:35:27.875260 Event: Receiver handler : Ready
-On: 2011-11-02 15:35:27.875299 Event: Start Call
-On: 2011-11-02 15:35:27.875362 Event: Waiting Feedback
-On: 2011-11-02 15:35:30.947289 Event: Test Succeed
-On: 2011-11-02 15:35:30.947349 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:35:30.947504 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:38:47.522433 ------------------
-On: 2011-11-02 15:38:47.522502 Event: init Caller
-On: 2011-11-02 15:38:47.522525 Event: sip
-On: 2011-11-02 15:38:49.526555 Event: Caller Greeting
-On: 2011-11-02 15:38:49.527532 Event: Connected to Caller Handler
-On: 2011-11-02 15:38:49.527822 Event: Caller Handler respond
-On: 2011-11-02 15:38:49.528912 Event: Caller handler : Ready
-On: 2011-11-02 15:38:49.528953 Event: init Receiver
-On: 2011-11-02 15:38:49.528973 Event: GSMRZ2
-On: 2011-11-02 15:38:57.539049 Event: Receiver Greeting
-On: 2011-11-02 15:38:57.539652 Event: Connected to Receiver Handler
-On: 2011-11-02 15:38:57.753747 Event: Receiver Handler respond
-On: 2011-11-02 15:38:57.756005 Event: Receiver handler : Ready
-On: 2011-11-02 15:38:57.756046 Event: Start Call
-On: 2011-11-02 15:38:57.756104 Event: Waiting Feedback
-On: 2011-11-02 15:39:03.003982 Event: Test Succeed
-On: 2011-11-02 15:39:03.004045 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:39:03.004251 Event: init Cancel test
-On: 2011-11-02 15:39:06.052484 Event: -- -X- --
-On: 2011-11-02 15:39:06.052542 Event: init Caller
-On: 2011-11-02 15:39:06.052561 Event: sip
-On: 2011-11-02 15:39:08.056743 Event: Caller Greeting
-On: 2011-11-02 15:39:08.057570 Event: Connected to Caller Handler
-On: 2011-11-02 15:39:08.057853 Event: Caller Handler respond
-On: 2011-11-02 15:39:08.059047 Event: Caller handler : Ready
-On: 2011-11-02 15:39:08.059085 Event: init Receiver
-On: 2011-11-02 15:39:08.059105 Event: GSMRZ3
-On: 2011-11-02 15:39:16.066013 Event: Receiver Greeting
-On: 2011-11-02 15:39:16.066576 Event: Connected to Receiver Handler
-On: 2011-11-02 15:39:16.071232 Event: Cannt connect to Caller
-On: 2011-11-02 15:39:16.071300 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-11-02 15:39:16.071413 Event: init Cancel test
-On: 2011-11-02 15:39:16.071442 Event: init Cancel test
-On: 2011-11-02 15:39:19.133525 Event: -- -X- --
-On: 2011-11-02 15:39:19.133583 Event: init Caller
-On: 2011-11-02 15:39:19.133601 Event: sip
-On: 2011-11-02 15:39:21.143024 Event: Caller Greeting
-On: 2011-11-02 15:39:21.143849 Event: Connected to Caller Handler
-On: 2011-11-02 15:39:21.144134 Event: Caller Handler respond
-On: 2011-11-02 15:39:21.144895 Event: Caller handler : Ready
-On: 2011-11-02 15:39:21.144934 Event: init Receiver
-On: 2011-11-02 15:39:21.144954 Event: GSMRZ1
-On: 2011-11-02 15:39:21.145005 Event: Init GSM
-On: 2011-11-02 15:39:23.149534 Event: Receiver Greeting
-On: 2011-11-02 15:39:23.151999 Event: Connected to Receiver Handler
-On: 2011-11-02 15:39:23.298495 Event: Receiver Handler respond
-On: 2011-11-02 15:39:23.298793 Event: Receiver handler : Ready
-On: 2011-11-02 15:39:23.298824 Event: Start Call
-On: 2011-11-02 15:39:23.298878 Event: Waiting Feedback
-On: 2011-11-02 15:39:29.150140 Event: Test Succeed
-On: 2011-11-02 15:39:29.150201 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:39:29.150341 Event: init Cancel test
-On: 2011-11-02 15:39:32.214411 Event: -- -X- --
-On: 2011-11-02 15:39:32.214473 Event: init Caller
-On: 2011-11-02 15:39:32.214491 Event: GSMRZ1
-On: 2011-11-02 15:39:32.214536 Event: Init GSM
-On: 2011-11-02 15:39:34.225361 Event: Caller Greeting
-On: 2011-11-02 15:39:34.227947 Event: Connected to Caller Handler
-On: 2011-11-02 15:39:34.350137 Event: Caller Handler respond
-On: 2011-11-02 15:39:34.350439 Event: Caller handler : Ready
-On: 2011-11-02 15:39:34.350471 Event: init Receiver
-On: 2011-11-02 15:39:34.350493 Event: sip
-On: 2011-11-02 15:39:36.354011 Event: Receiver Greeting
-On: 2011-11-02 15:39:36.354822 Event: Connected to Receiver Handler
-On: 2011-11-02 15:39:36.355106 Event: Receiver Handler respond
-On: 2011-11-02 15:39:36.355868 Event: Receiver handler : Ready
-On: 2011-11-02 15:39:36.355907 Event: Start Call
-On: 2011-11-02 15:39:36.358141 Event: Waiting Feedback
-On: 2011-11-02 15:39:38.922140 Event: Test Succeed
-On: 2011-11-02 15:39:38.922216 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:39:38.922356 Event: init Cancel test
-On: 2011-11-02 15:39:41.965665 Event: -- -X- --
-On: 2011-11-02 15:39:41.965726 Event: init Caller
-On: 2011-11-02 15:39:41.966036 Event: GSMRZ2
-On: 2011-11-02 15:39:49.978016 Event: Caller Greeting
-On: 2011-11-02 15:39:49.978592 Event: Connected to Caller Handler
-On: 2011-11-02 15:39:50.193807 Event: Caller Handler respond
-On: 2011-11-02 15:39:50.196114 Event: Caller handler : Ready
-On: 2011-11-02 15:39:50.196153 Event: init Receiver
-On: 2011-11-02 15:39:50.196175 Event: sip
-On: 2011-11-02 15:39:52.200463 Event: Receiver Greeting
-On: 2011-11-02 15:39:52.201272 Event: Connected to Receiver Handler
-On: 2011-11-02 15:39:52.201564 Event: Receiver Handler respond
-On: 2011-11-02 15:39:52.202372 Event: Receiver handler : Ready
-On: 2011-11-02 15:39:52.202411 Event: Start Call
-On: 2011-11-02 15:39:52.202670 Event: Waiting Feedback
-On: 2011-11-02 15:39:55.482782 Event: Test Succeed
-On: 2011-11-02 15:39:55.482850 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:39:55.483857 Event: init Cancel test
-On: 2011-11-02 15:39:58.541138 Event: -- -X- --
-On: 2011-11-02 15:39:58.541201 Event: init Caller
-On: 2011-11-02 15:39:58.541219 Event: GSMRZ3
-On: 2011-11-02 15:40:06.549843 Event: Caller Greeting
-On: 2011-11-02 15:40:06.550436 Event: Connected to Caller Handler
-On: 2011-11-02 15:40:06.555375 Event: Cannt connect to Caller
-On: 2011-11-02 15:40:06.555446 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-11-02 15:40:11.628577 Event: -- -X- --
-On: 2011-11-02 15:40:11.628639 Event: init Caller
-On: 2011-11-02 15:40:11.628657 Event: sip
-On: 2011-11-02 15:40:13.634024 Event: Caller Greeting
-On: 2011-11-02 15:40:13.634863 Event: Connected to Caller Handler
-On: 2011-11-02 15:40:13.635149 Event: Caller Handler respond
-On: 2011-11-02 15:40:13.636272 Event: Caller handler : Ready
-On: 2011-11-02 15:40:13.636311 Event: init Receiver
-On: 2011-11-02 15:40:13.636331 Event: landline
-On: 2011-11-02 15:40:15.640896 Event: Receiver Greeting
-On: 2011-11-02 15:40:15.641737 Event: Connected to Receiver Handler
-On: 2011-11-02 15:40:15.642082 Event: Receiver Handler respond
-On: 2011-11-02 15:40:15.645047 Event: Receiver handler : Ready
-On: 2011-11-02 15:40:15.645086 Event: Start Call
-On: 2011-11-02 15:40:15.645145 Event: Waiting Feedback
-On: 2011-11-02 15:40:23.259227 Event: Test Succeed
-On: 2011-11-02 15:40:23.259290 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:40:23.259430 Event: init Cancel test
-On: 2011-11-02 15:40:26.302233 Event: -- -X- --
-On: 2011-11-02 15:40:26.302289 Event: init Caller
-On: 2011-11-02 15:40:26.302307 Event: sip
-On: 2011-11-02 15:40:28.305884 Event: Caller Greeting
-On: 2011-11-02 15:40:28.306724 Event: Connected to Caller Handler
-On: 2011-11-02 15:40:28.307004 Event: Caller Handler respond
-On: 2011-11-02 15:40:28.307763 Event: Caller handler : Ready
-On: 2011-11-02 15:40:28.307803 Event: init Receiver
-On: 2011-11-02 15:40:28.307823 Event: unisip
-On: 2011-11-02 15:40:30.312208 Event: Receiver Greeting
-On: 2011-11-02 15:40:30.313030 Event: Connected to Receiver Handler
-On: 2011-11-02 15:40:30.313321 Event: Receiver Handler respond
-On: 2011-11-02 15:40:30.314140 Event: Receiver handler : Ready
-On: 2011-11-02 15:40:30.314177 Event: Start Call
-On: 2011-11-02 15:40:30.314406 Event: Waiting Feedback
-On: 2011-11-02 15:40:33.368064 Event: Test Succeed
-On: 2011-11-02 15:40:33.368126 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:40:33.368265 Event: init Cancel test
-On: 2011-11-02 15:40:36.424104 Event: -- -X- --
-On: 2011-11-02 15:40:36.424168 Event: init Caller
-On: 2011-11-02 15:40:36.424187 Event: GSMRZ1
-On: 2011-11-02 15:40:36.424233 Event: Init GSM
-On: 2011-11-02 15:40:38.428870 Event: Caller Greeting
-On: 2011-11-02 15:40:38.431462 Event: Connected to Caller Handler
-On: 2011-11-02 15:40:38.576884 Event: Caller Handler respond
-On: 2011-11-02 15:40:38.577195 Event: Caller handler : Ready
-On: 2011-11-02 15:40:38.577228 Event: init Receiver
-On: 2011-11-02 15:40:38.577248 Event: GSMRZ2
-On: 2011-11-02 15:40:46.582015 Event: Receiver Greeting
-On: 2011-11-02 15:40:46.582584 Event: Connected to Receiver Handler
-On: 2011-11-02 15:40:46.798163 Event: Receiver Handler respond
-On: 2011-11-02 15:40:46.800377 Event: Receiver handler : Ready
-On: 2011-11-02 15:40:46.800493 Event: Start Call
-On: 2011-11-02 15:40:46.800569 Event: Waiting Feedback
-On: 2011-11-02 15:40:50.306131 Event: Test Succeed
-On: 2011-11-02 15:40:50.306196 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:40:50.306372 Event: init Cancel test
-On: 2011-11-02 15:40:53.370152 Event: -- -X- --
-On: 2011-11-02 15:40:53.370216 Event: init Caller
-On: 2011-11-02 15:40:53.370234 Event: GSMRZ1
-On: 2011-11-02 15:40:53.370280 Event: Init GSM
-On: 2011-11-02 15:40:55.374019 Event: Caller Greeting
-On: 2011-11-02 15:40:55.376669 Event: Connected to Caller Handler
-On: 2011-11-02 15:40:55.498150 Event: Caller Handler respond
-On: 2011-11-02 15:40:55.498451 Event: Caller handler : Ready
-On: 2011-11-02 15:40:55.498484 Event: init Receiver
-On: 2011-11-02 15:40:55.498504 Event: GSMRZ3
-On: 2011-11-02 15:41:03.508085 Event: Receiver Greeting
-On: 2011-11-02 15:41:03.508621 Event: Connected to Receiver Handler
-On: 2011-11-02 15:41:03.712141 Event: Receiver Handler respond
-On: 2011-11-02 15:41:03.714956 Event: Receiver handler : Ready
-On: 2011-11-02 15:41:03.714993 Event: Start Call
-On: 2011-11-02 15:41:03.715050 Event: Waiting Feedback
-On: 2011-11-02 15:41:08.298126 Event: Test Succeed
-On: 2011-11-02 15:41:08.298203 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:41:08.298383 Event: init Cancel test
-On: 2011-11-02 15:41:11.347392 Event: -- -X- --
-On: 2011-11-02 15:41:11.347456 Event: init Caller
-On: 2011-11-02 15:41:11.347474 Event: GSMRZ2
-On: 2011-11-02 15:41:19.354152 Event: Caller Greeting
-On: 2011-11-02 15:41:19.354698 Event: Connected to Caller Handler
-On: 2011-11-02 15:41:19.564961 Event: Caller Handler respond
-On: 2011-11-02 15:41:19.567234 Event: Caller handler : Ready
-On: 2011-11-02 15:41:19.567272 Event: init Receiver
-On: 2011-11-02 15:41:19.567292 Event: GSMRZ3
-On: 2011-11-02 15:41:27.574039 Event: Receiver Greeting
-On: 2011-11-02 15:41:27.574610 Event: Connected to Receiver Handler
-On: 2011-11-02 15:41:27.806914 Event: Receiver Handler respond
-On: 2011-11-02 15:41:27.809692 Event: Receiver handler : Ready
-On: 2011-11-02 15:41:27.809729 Event: Start Call
-On: 2011-11-02 15:41:27.809788 Event: Waiting Feedback
-On: 2011-11-02 15:41:32.979470 Event: Test Succeed
-On: 2011-11-02 15:41:32.979541 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:41:32.979733 Event: init Cancel test
-On: 2011-11-02 15:41:36.052038 Event: -- -X- --
-On: 2011-11-02 15:41:36.052099 Event: init Caller
-On: 2011-11-02 15:41:36.052118 Event: landline
-On: 2011-11-02 15:41:38.060302 Event: Caller Greeting
-On: 2011-11-02 15:41:38.061130 Event: Connected to Caller Handler
-On: 2011-11-02 15:41:38.061407 Event: Caller Handler respond
-On: 2011-11-02 15:41:38.064376 Event: Caller handler : Ready
-On: 2011-11-02 15:41:38.064414 Event: init Receiver
-On: 2011-11-02 15:41:38.064435 Event: sip
-On: 2011-11-02 15:41:40.068955 Event: Receiver Greeting
-On: 2011-11-02 15:41:40.069794 Event: Connected to Receiver Handler
-On: 2011-11-02 15:41:40.070125 Event: Receiver Handler respond
-On: 2011-11-02 15:41:40.070887 Event: Receiver handler : Ready
-On: 2011-11-02 15:41:40.070927 Event: Start Call
-On: 2011-11-02 15:41:40.071155 Event: Waiting Feedback
-On: 2011-11-02 15:41:46.067847 Event: Test Succeed
-On: 2011-11-02 15:41:46.067908 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:41:46.068045 Event: init Cancel test
-On: 2011-11-02 15:41:49.141768 Event: -- -X- --
-On: 2011-11-02 15:41:49.141830 Event: init Caller
-On: 2011-11-02 15:41:49.141848 Event: landline
-On: 2011-11-02 15:41:51.153908 Event: Caller Greeting
-On: 2011-11-02 15:41:51.154758 Event: Connected to Caller Handler
-On: 2011-11-02 15:41:51.155034 Event: Caller Handler respond
-On: 2011-11-02 15:41:51.158552 Event: Caller handler : Ready
-On: 2011-11-02 15:41:51.158587 Event: init Receiver
-On: 2011-11-02 15:41:51.158606 Event: GSMRZ1
-On: 2011-11-02 15:41:51.158655 Event: Init GSM
-On: 2011-11-02 15:41:53.162390 Event: Receiver Greeting
-On: 2011-11-02 15:41:53.164846 Event: Connected to Receiver Handler
-On: 2011-11-02 15:41:53.318131 Event: Receiver Handler respond
-On: 2011-11-02 15:41:53.318426 Event: Receiver handler : Ready
-On: 2011-11-02 15:41:53.318542 Event: Start Call
-On: 2011-11-02 15:41:53.318614 Event: Waiting Feedback
-On: 2011-11-02 15:42:02.740084 Event: Test Succeed
-On: 2011-11-02 15:42:02.740143 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:42:02.740278 Event: init Cancel test
-On: 2011-11-02 15:42:05.804980 Event: -- -X- --
-On: 2011-11-02 15:42:05.805045 Event: init Caller
-On: 2011-11-02 15:42:05.805063 Event: landline
-On: 2011-11-02 15:42:07.807883 Event: Caller Greeting
-On: 2011-11-02 15:42:07.808707 Event: Connected to Caller Handler
-On: 2011-11-02 15:42:07.808990 Event: Caller Handler respond
-On: 2011-11-02 15:42:07.811398 Event: Caller handler : Ready
-On: 2011-11-02 15:42:07.811437 Event: init Receiver
-On: 2011-11-02 15:42:07.811456 Event: GSMRZ2
-On: 2011-11-02 15:42:15.815340 Event: Receiver Greeting
-On: 2011-11-02 15:42:15.815903 Event: Connected to Receiver Handler
-On: 2011-11-02 15:42:16.028891 Event: Receiver Handler respond
-On: 2011-11-02 15:42:16.031199 Event: Receiver handler : Ready
-On: 2011-11-02 15:42:16.031260 Event: Start Call
-On: 2011-11-02 15:42:16.031331 Event: Waiting Feedback
-On: 2011-11-02 15:42:23.510029 Event: Test Succeed
-On: 2011-11-02 15:42:23.510092 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:42:23.510281 Event: init Cancel test
-On: 2011-11-02 15:42:26.565892 Event: -- -X- --
-On: 2011-11-02 15:42:26.566000 Event: init Caller
-On: 2011-11-02 15:42:26.566020 Event: landline
-On: 2011-11-02 15:42:28.572473 Event: Caller Greeting
-On: 2011-11-02 15:42:28.573305 Event: Connected to Caller Handler
-On: 2011-11-02 15:42:28.573586 Event: Caller Handler respond
-On: 2011-11-02 15:42:28.577027 Event: Caller handler : Ready
-On: 2011-11-02 15:42:28.577066 Event: init Receiver
-On: 2011-11-02 15:42:28.577086 Event: GSMRZ3
-On: 2011-11-02 15:42:36.586166 Event: Receiver Greeting
-On: 2011-11-02 15:42:36.586748 Event: Connected to Receiver Handler
-On: 2011-11-02 15:42:36.818106 Event: Receiver Handler respond
-On: 2011-11-02 15:42:36.820944 Event: Receiver handler : Ready
-On: 2011-11-02 15:42:36.821000 Event: Start Call
-On: 2011-11-02 15:42:36.821069 Event: Waiting Feedback
-On: 2011-11-02 15:42:45.642683 Event: Test Succeed
-On: 2011-11-02 15:42:45.642740 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:42:45.642930 Event: init Cancel test
-On: 2011-11-02 15:42:48.709805 Event: -- -X- --
-On: 2011-11-02 15:42:48.709869 Event: init Caller
-On: 2011-11-02 15:42:48.709887 Event: GSMRZ1
-On: 2011-11-02 15:42:48.709932 Event: Init GSM
-On: 2011-11-02 15:42:50.720754 Event: Caller Greeting
-On: 2011-11-02 15:42:50.723335 Event: Connected to Caller Handler
-On: 2011-11-02 15:42:50.850135 Event: Caller Handler respond
-On: 2011-11-02 15:42:50.850430 Event: Caller handler : Ready
-On: 2011-11-02 15:42:50.850461 Event: init Receiver
-On: 2011-11-02 15:42:50.850482 Event: GSMExt.Eplus
-On: 2011-11-02 15:42:50.850532 Event: Init GSM
-On: 2011-11-02 15:42:52.854013 Event: Receiver Greeting
-On: 2011-11-02 15:42:52.856588 Event: Connected to Receiver Handler
-On: 2011-11-02 15:42:52.954139 Event: Receiver Handler respond
-On: 2011-11-02 15:42:52.954436 Event: Receiver handler : Ready
-On: 2011-11-02 15:42:52.954467 Event: Start Call
-On: 2011-11-02 15:42:52.954521 Event: Waiting Feedback
-On: 2011-11-02 15:43:07.960738 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 15:43:07.960801 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:43:07.960941 Event: init Cancel test
-On: 2011-11-02 15:43:11.026853 Event: -- -X- --
-On: 2011-11-02 15:43:11.026916 Event: init Caller
-On: 2011-11-02 15:43:11.026935 Event: GSMRZ1
-On: 2011-11-02 15:43:11.026981 Event: Init GSM
-On: 2011-11-02 15:43:13.043508 Event: Caller Greeting
-On: 2011-11-02 15:43:13.046060 Event: Connected to Caller Handler
-On: 2011-11-02 15:43:13.194134 Event: Caller Handler respond
-On: 2011-11-02 15:43:13.194436 Event: Caller handler : Ready
-On: 2011-11-02 15:43:13.194468 Event: init Receiver
-On: 2011-11-02 15:43:13.194488 Event: GSMExt.Voda
-On: 2011-11-02 15:43:13.194536 Event: Init GSM
-On: 2011-11-02 15:43:15.198667 Event: Receiver Greeting
-On: 2011-11-02 15:43:15.201166 Event: Connected to Receiver Handler
-On: 2011-11-02 15:43:20.215963 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:43:20.216006 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 15:43:20.216029 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:43:20.216163 Event: init Cancel test
-On: 2011-11-02 15:43:23.309435 Event: -- -X- --
-On: 2011-11-02 15:43:23.309505 Event: init Caller
-On: 2011-11-02 15:43:23.309523 Event: GSMRZ1
-On: 2011-11-02 15:43:23.309568 Event: Init GSM
-On: 2011-11-02 15:43:25.321771 Event: Caller Greeting
-On: 2011-11-02 15:43:25.324291 Event: Connected to Caller Handler
-On: 2011-11-02 15:43:25.450139 Event: Caller Handler respond
-On: 2011-11-02 15:43:25.450432 Event: Caller handler : Ready
-On: 2011-11-02 15:43:25.450462 Event: init Receiver
-On: 2011-11-02 15:43:25.450481 Event: GSMExt.Tm
-On: 2011-11-02 15:43:25.450529 Event: Init GSM
-On: 2011-11-02 15:43:27.454591 Event: Receiver Greeting
-On: 2011-11-02 15:43:27.457718 Event: Connected to Receiver Handler
-On: 2011-11-02 15:43:27.582138 Event: Receiver Handler respond
-On: 2011-11-02 15:43:27.582435 Event: Receiver handler : Ready
-On: 2011-11-02 15:43:27.582466 Event: Start Call
-On: 2011-11-02 15:43:27.582520 Event: Waiting Feedback
-On: 2011-11-02 15:43:40.158126 Event: Test Succeed
-On: 2011-11-02 15:43:40.158189 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:43:40.158342 Event: init Cancel test
-On: 2011-11-02 15:43:43.231334 Event: -- -X- --
-On: 2011-11-02 15:43:43.231398 Event: init Caller
-On: 2011-11-02 15:43:43.231416 Event: GSMRZ1
-On: 2011-11-02 15:43:43.231461 Event: Init GSM
-On: 2011-11-02 15:43:45.234588 Event: Caller Greeting
-On: 2011-11-02 15:43:45.237703 Event: Connected to Caller Handler
-On: 2011-11-02 15:43:45.384128 Event: Caller Handler respond
-On: 2011-11-02 15:43:45.384436 Event: Caller handler : Ready
-On: 2011-11-02 15:43:45.384468 Event: init Receiver
-On: 2011-11-02 15:43:45.384488 Event: GSMExt.O2
-On: 2011-11-02 15:43:45.384538 Event: Init GSM
-On: 2011-11-02 15:43:47.389549 Event: Receiver Greeting
-On: 2011-11-02 15:43:47.392119 Event: Connected to Receiver Handler
-On: 2011-11-02 15:43:47.506545 Event: Receiver Handler respond
-On: 2011-11-02 15:43:47.506842 Event: Receiver handler : Ready
-On: 2011-11-02 15:43:47.506874 Event: Start Call
-On: 2011-11-02 15:43:47.506927 Event: Waiting Feedback
-On: 2011-11-02 15:44:02.510987 Event: Test Failed
-On: 2011-11-02 15:44:02.511042 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:44:02.511180 Event: init Cancel test
-On: 2011-11-02 15:44:05.572522 Event: -- -X- --
-On: 2011-11-02 15:44:05.572590 Event: init Caller
-On: 2011-11-02 15:44:05.572608 Event: GSMRZ2
-On: 2011-11-02 15:44:13.582027 Event: Caller Greeting
-On: 2011-11-02 15:44:13.582611 Event: Connected to Caller Handler
-On: 2011-11-02 15:44:13.799767 Event: Caller Handler respond
-On: 2011-11-02 15:44:13.802050 Event: Caller handler : Ready
-On: 2011-11-02 15:44:13.802087 Event: init Receiver
-On: 2011-11-02 15:44:13.802109 Event: GSMExt.Eplus
-On: 2011-11-02 15:44:13.802160 Event: Init GSM
-On: 2011-11-02 15:44:15.805020 Event: Receiver Greeting
-On: 2011-11-02 15:44:15.808105 Event: Connected to Receiver Handler
-On: 2011-11-02 15:44:15.930137 Event: Receiver Handler respond
-On: 2011-11-02 15:44:15.930429 Event: Receiver handler : Ready
-On: 2011-11-02 15:44:15.930461 Event: Start Call
-On: 2011-11-02 15:44:15.930614 Event: Waiting Feedback
-On: 2011-11-02 15:44:30.931030 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 15:44:30.931091 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:44:30.931768 Event: init Cancel test
-On: 2011-11-02 15:44:33.987734 Event: -- -X- --
-On: 2011-11-02 15:44:33.987800 Event: init Caller
-On: 2011-11-02 15:44:33.987819 Event: GSMRZ2
-On: 2011-11-02 15:44:41.998015 Event: Caller Greeting
-On: 2011-11-02 15:44:41.998594 Event: Connected to Caller Handler
-On: 2011-11-02 15:44:42.207272 Event: Caller Handler respond
-On: 2011-11-02 15:44:42.209579 Event: Caller handler : Ready
-On: 2011-11-02 15:44:42.209623 Event: init Receiver
-On: 2011-11-02 15:44:42.209643 Event: GSMExt.Voda
-On: 2011-11-02 15:44:42.209779 Event: Init GSM
-On: 2011-11-02 15:44:44.213298 Event: Receiver Greeting
-On: 2011-11-02 15:44:44.216506 Event: Connected to Receiver Handler
-On: 2011-11-02 15:44:49.234410 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:44:49.234456 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 15:44:49.234479 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:44:49.235140 Event: init Cancel test
-On: 2011-11-02 15:44:52.309741 Event: -- -X- --
-On: 2011-11-02 15:44:52.309809 Event: init Caller
-On: 2011-11-02 15:44:52.309827 Event: GSMRZ2
-On: 2011-11-02 15:45:00.325628 Event: Caller Greeting
-On: 2011-11-02 15:45:00.326265 Event: Connected to Caller Handler
-On: 2011-11-02 15:45:00.529391 Event: Caller Handler respond
-On: 2011-11-02 15:45:00.531735 Event: Caller handler : Ready
-On: 2011-11-02 15:45:00.531796 Event: init Receiver
-On: 2011-11-02 15:45:00.531817 Event: GSMExt.Tm
-On: 2011-11-02 15:45:00.531869 Event: Init GSM
-On: 2011-11-02 15:45:02.534046 Event: Receiver Greeting
-On: 2011-11-02 15:45:02.536592 Event: Connected to Receiver Handler
-On: 2011-11-02 15:45:02.662135 Event: Receiver Handler respond
-On: 2011-11-02 15:45:02.662425 Event: Receiver handler : Ready
-On: 2011-11-02 15:45:02.662457 Event: Start Call
-On: 2011-11-02 15:45:02.662609 Event: Waiting Feedback
-On: 2011-11-02 15:45:16.513342 Event: Test Succeed
-On: 2011-11-02 15:45:16.513409 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:45:16.517562 Event: init Cancel test
-On: 2011-11-02 15:45:19.577572 Event: -- -X- --
-On: 2011-11-02 15:45:19.577636 Event: init Caller
-On: 2011-11-02 15:45:19.577654 Event: GSMRZ2
-On: 2011-11-02 15:45:27.586469 Event: Caller Greeting
-On: 2011-11-02 15:45:27.587046 Event: Connected to Caller Handler
-On: 2011-11-02 15:45:27.803257 Event: Caller Handler respond
-On: 2011-11-02 15:45:27.805529 Event: Caller handler : Ready
-On: 2011-11-02 15:45:27.805565 Event: init Receiver
-On: 2011-11-02 15:45:27.805585 Event: GSMExt.O2
-On: 2011-11-02 15:45:27.805634 Event: Init GSM
-On: 2011-11-02 15:45:29.808622 Event: Receiver Greeting
-On: 2011-11-02 15:45:29.811721 Event: Connected to Receiver Handler
-On: 2011-11-02 15:45:29.934165 Event: Receiver Handler respond
-On: 2011-11-02 15:45:29.934460 Event: Receiver handler : Ready
-On: 2011-11-02 15:45:29.934491 Event: Start Call
-On: 2011-11-02 15:45:29.935003 Event: Waiting Feedback
-On: 2011-11-02 15:45:41.490995 Event: Test Succeed
-On: 2011-11-02 15:45:41.491064 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:45:41.495298 Event: init Cancel test
-On: 2011-11-02 15:45:44.556182 Event: -- -X- --
-On: 2011-11-02 15:45:44.556249 Event: init Caller
-On: 2011-11-02 15:45:44.556267 Event: GSMRZ3
-On: 2011-11-02 15:45:52.562016 Event: Caller Greeting
-On: 2011-11-02 15:45:52.562589 Event: Connected to Caller Handler
-On: 2011-11-02 15:45:52.757623 Event: Caller Handler respond
-On: 2011-11-02 15:45:52.760474 Event: Caller handler : Ready
-On: 2011-11-02 15:45:52.760511 Event: init Receiver
-On: 2011-11-02 15:45:52.760533 Event: GSMExt.Eplus
-On: 2011-11-02 15:45:52.760584 Event: Init GSM
-On: 2011-11-02 15:45:54.763260 Event: Receiver Greeting
-On: 2011-11-02 15:45:54.766449 Event: Connected to Receiver Handler
-On: 2011-11-02 15:45:54.882149 Event: Receiver Handler respond
-On: 2011-11-02 15:45:54.882448 Event: Receiver handler : Ready
-On: 2011-11-02 15:45:54.882479 Event: Start Call
-On: 2011-11-02 15:45:54.882632 Event: Waiting Feedback
-On: 2011-11-02 15:46:09.883046 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 15:46:09.883106 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:46:09.883792 Event: init Cancel test
-On: 2011-11-02 15:46:12.945779 Event: -- -X- --
-On: 2011-11-02 15:46:12.945844 Event: init Caller
-On: 2011-11-02 15:46:12.945863 Event: GSMRZ3
-On: 2011-11-02 15:46:20.953529 Event: Caller Greeting
-On: 2011-11-02 15:46:20.954141 Event: Connected to Caller Handler
-On: 2011-11-02 15:46:21.173523 Event: Caller Handler respond
-On: 2011-11-02 15:46:21.176101 Event: Caller handler : Ready
-On: 2011-11-02 15:46:21.176159 Event: init Receiver
-On: 2011-11-02 15:46:21.176259 Event: GSMExt.Voda
-On: 2011-11-02 15:46:21.176314 Event: Init GSM
-On: 2011-11-02 15:46:23.180484 Event: Receiver Greeting
-On: 2011-11-02 15:46:23.183089 Event: Connected to Receiver Handler
-On: 2011-11-02 15:46:28.201011 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:46:28.201057 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 15:46:28.201080 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:46:28.201757 Event: init Cancel test
-On: 2011-11-02 15:46:31.278222 Event: -- -X- --
-On: 2011-11-02 15:46:31.278289 Event: init Caller
-On: 2011-11-02 15:46:31.278308 Event: GSMRZ3
-On: 2011-11-02 15:46:39.287162 Event: Caller Greeting
-On: 2011-11-02 15:46:39.287747 Event: Connected to Caller Handler
-On: 2011-11-02 15:46:39.494247 Event: Caller Handler respond
-On: 2011-11-02 15:46:39.497113 Event: Caller handler : Ready
-On: 2011-11-02 15:46:39.497149 Event: init Receiver
-On: 2011-11-02 15:46:39.497170 Event: GSMExt.Tm
-On: 2011-11-02 15:46:39.497220 Event: Init GSM
-On: 2011-11-02 15:46:41.501444 Event: Receiver Greeting
-On: 2011-11-02 15:46:41.503996 Event: Connected to Receiver Handler
-On: 2011-11-02 15:46:41.626200 Event: Receiver Handler respond
-On: 2011-11-02 15:46:41.626498 Event: Receiver handler : Ready
-On: 2011-11-02 15:46:41.626530 Event: Start Call
-On: 2011-11-02 15:46:41.626685 Event: Waiting Feedback
-On: 2011-11-02 15:46:54.401051 Event: Test Succeed
-On: 2011-11-02 15:46:54.401119 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:46:54.405054 Event: init Cancel test
-On: 2011-11-02 15:46:57.467429 Event: -- -X- --
-On: 2011-11-02 15:46:57.467494 Event: init Caller
-On: 2011-11-02 15:46:57.467512 Event: GSMRZ3
-On: 2011-11-02 15:47:05.474018 Event: Caller Greeting
-On: 2011-11-02 15:47:05.474596 Event: Connected to Caller Handler
-On: 2011-11-02 15:47:05.706433 Event: Caller Handler respond
-On: 2011-11-02 15:47:05.709183 Event: Caller handler : Ready
-On: 2011-11-02 15:47:05.709219 Event: init Receiver
-On: 2011-11-02 15:47:05.709240 Event: GSMExt.O2
-On: 2011-11-02 15:47:05.709291 Event: Init GSM
-On: 2011-11-02 15:47:07.711624 Event: Receiver Greeting
-On: 2011-11-02 15:47:07.714047 Event: Connected to Receiver Handler
-On: 2011-11-02 15:47:07.810153 Event: Receiver Handler respond
-On: 2011-11-02 15:47:07.810452 Event: Receiver handler : Ready
-On: 2011-11-02 15:47:07.810484 Event: Start Call
-On: 2011-11-02 15:47:07.810995 Event: Waiting Feedback
-On: 2011-11-02 15:47:20.745692 Event: Test Succeed
-On: 2011-11-02 15:47:20.745760 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:47:20.749866 Event: init Cancel test
-On: 2011-11-02 15:47:23.809221 Event: -- -X- --
-On: 2011-11-02 15:47:23.809281 Event: init Caller
-On: 2011-11-02 15:47:23.809299 Event: GSMRZ1
-On: 2011-11-02 15:47:23.809345 Event: Init GSM
-On: 2011-11-02 15:47:25.820102 Event: Caller Greeting
-On: 2011-11-02 15:47:25.822489 Event: Connected to Caller Handler
-On: 2011-11-02 15:47:25.974143 Event: Caller Handler respond
-On: 2011-11-02 15:47:25.974446 Event: Caller handler : Ready
-On: 2011-11-02 15:47:25.974477 Event: init Receiver
-On: 2011-11-02 15:47:25.974497 Event: unisip
-On: 2011-11-02 15:47:27.976808 Event: Receiver Greeting
-On: 2011-11-02 15:47:27.977618 Event: Connected to Receiver Handler
-On: 2011-11-02 15:47:27.977899 Event: Receiver Handler respond
-On: 2011-11-02 15:47:27.978697 Event: Receiver handler : Ready
-On: 2011-11-02 15:47:27.978736 Event: Start Call
-On: 2011-11-02 15:47:27.982134 Event: Waiting Feedback
-On: 2011-11-02 15:47:30.563596 Event: Test Succeed
-On: 2011-11-02 15:47:30.563660 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:47:30.563797 Event: init Cancel test
-On: 2011-11-02 15:47:33.610256 Event: -- -X- --
-On: 2011-11-02 15:47:33.610320 Event: init Caller
-On: 2011-11-02 15:47:33.610338 Event: GSMRZ2
-On: 2011-11-02 15:47:41.625457 Event: Caller Greeting
-On: 2011-11-02 15:47:41.626073 Event: Connected to Caller Handler
-On: 2011-11-02 15:47:41.849014 Event: Caller Handler respond
-On: 2011-11-02 15:47:41.851335 Event: Caller handler : Ready
-On: 2011-11-02 15:47:41.851387 Event: init Receiver
-On: 2011-11-02 15:47:41.851485 Event: unisip
-On: 2011-11-02 15:47:43.854008 Event: Receiver Greeting
-On: 2011-11-02 15:47:43.854836 Event: Connected to Receiver Handler
-On: 2011-11-02 15:47:43.855124 Event: Receiver Handler respond
-On: 2011-11-02 15:47:43.856094 Event: Receiver handler : Ready
-On: 2011-11-02 15:47:43.856138 Event: Start Call
-On: 2011-11-02 15:47:43.856834 Event: Waiting Feedback
-On: 2011-11-02 15:47:46.903241 Event: Test Succeed
-On: 2011-11-02 15:47:46.903311 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:47:46.904341 Event: init Cancel test
-On: 2011-11-02 15:47:49.948766 Event: -- -X- --
-On: 2011-11-02 15:47:49.948829 Event: init Caller
-On: 2011-11-02 15:47:49.948848 Event: GSMRZ3
-On: 2011-11-02 15:47:57.957494 Event: Caller Greeting
-On: 2011-11-02 15:47:57.958100 Event: Connected to Caller Handler
-On: 2011-11-02 15:47:58.177987 Event: Caller Handler respond
-On: 2011-11-02 15:47:58.180688 Event: Caller handler : Ready
-On: 2011-11-02 15:47:58.180726 Event: init Receiver
-On: 2011-11-02 15:47:58.180746 Event: unisip
-On: 2011-11-02 15:48:00.184999 Event: Receiver Greeting
-On: 2011-11-02 15:48:00.185800 Event: Connected to Receiver Handler
-On: 2011-11-02 15:48:00.186127 Event: Receiver Handler respond
-On: 2011-11-02 15:48:00.187247 Event: Receiver handler : Ready
-On: 2011-11-02 15:48:00.187287 Event: Start Call
-On: 2011-11-02 15:48:00.187447 Event: Waiting Feedback
-On: 2011-11-02 15:48:03.497902 Event: Test Succeed
-On: 2011-11-02 15:48:03.497992 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:48:03.499038 Event: init Cancel test
-On: 2011-11-02 15:48:06.560584 Event: -- -X- --
-On: 2011-11-02 15:48:06.560649 Event: init Caller
-On: 2011-11-02 15:48:06.560668 Event: sip
-On: 2011-11-02 15:48:08.566996 Event: Caller Greeting
-On: 2011-11-02 15:48:08.568384 Event: Connected to Caller Handler
-On: 2011-11-02 15:48:08.568673 Event: Caller Handler respond
-On: 2011-11-02 15:48:08.569438 Event: Caller handler : Ready
-On: 2011-11-02 15:48:08.569477 Event: init Receiver
-On: 2011-11-02 15:48:08.569498 Event: GSMExt.Eplus
-On: 2011-11-02 15:48:08.569547 Event: Init GSM
-On: 2011-11-02 15:48:10.574009 Event: Receiver Greeting
-On: 2011-11-02 15:48:10.576533 Event: Connected to Receiver Handler
-On: 2011-11-02 15:48:10.703647 Event: Receiver Handler respond
-On: 2011-11-02 15:48:10.703935 Event: Receiver handler : Ready
-On: 2011-11-02 15:48:10.703964 Event: Start Call
-On: 2011-11-02 15:48:10.704018 Event: Waiting Feedback
-On: 2011-11-02 15:48:25.704461 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 15:48:25.704522 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:48:25.704666 Event: init Cancel test
-On: 2011-11-02 15:48:28.766454 Event: -- -X- --
-On: 2011-11-02 15:48:28.766519 Event: init Caller
-On: 2011-11-02 15:48:28.766537 Event: sip
-On: 2011-11-02 15:48:30.770236 Event: Caller Greeting
-On: 2011-11-02 15:48:30.771632 Event: Connected to Caller Handler
-On: 2011-11-02 15:48:30.771918 Event: Caller Handler respond
-On: 2011-11-02 15:48:30.772680 Event: Caller handler : Ready
-On: 2011-11-02 15:48:30.772719 Event: init Receiver
-On: 2011-11-02 15:48:30.772741 Event: GSMExt.Voda
-On: 2011-11-02 15:48:30.772790 Event: Init GSM
-On: 2011-11-02 15:48:32.777467 Event: Receiver Greeting
-On: 2011-11-02 15:48:32.780006 Event: Connected to Receiver Handler
-On: 2011-11-02 15:48:37.799400 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 15:48:37.799446 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 15:48:37.799469 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:48:37.799618 Event: init Cancel test
-On: 2011-11-02 15:48:40.867666 Event: -- -X- --
-On: 2011-11-02 15:48:40.867725 Event: init Caller
-On: 2011-11-02 15:48:40.867743 Event: sip
-On: 2011-11-02 15:48:42.870017 Event: Caller Greeting
-On: 2011-11-02 15:48:42.870846 Event: Connected to Caller Handler
-On: 2011-11-02 15:48:42.871136 Event: Caller Handler respond
-On: 2011-11-02 15:48:42.871912 Event: Caller handler : Ready
-On: 2011-11-02 15:48:42.871950 Event: init Receiver
-On: 2011-11-02 15:48:42.871971 Event: GSMExt.Tm
-On: 2011-11-02 15:48:42.872020 Event: Init GSM
-On: 2011-11-02 15:48:44.876616 Event: Receiver Greeting
-On: 2011-11-02 15:48:44.879158 Event: Connected to Receiver Handler
-On: 2011-11-02 15:48:44.982199 Event: Receiver Handler respond
-On: 2011-11-02 15:48:44.982494 Event: Receiver handler : Ready
-On: 2011-11-02 15:48:44.982526 Event: Start Call
-On: 2011-11-02 15:48:44.982580 Event: Waiting Feedback
-On: 2011-11-02 15:48:57.709983 Event: Test Succeed
-On: 2011-11-02 15:48:57.710050 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:48:57.710188 Event: init Cancel test
-On: 2011-11-02 15:49:00.771157 Event: -- -X- --
-On: 2011-11-02 15:49:00.771217 Event: init Caller
-On: 2011-11-02 15:49:00.771235 Event: sip
-On: 2011-11-02 15:49:02.774013 Event: Caller Greeting
-On: 2011-11-02 15:49:02.774851 Event: Connected to Caller Handler
-On: 2011-11-02 15:49:02.775131 Event: Caller Handler respond
-On: 2011-11-02 15:49:02.775904 Event: Caller handler : Ready
-On: 2011-11-02 15:49:02.775942 Event: init Receiver
-On: 2011-11-02 15:49:02.775963 Event: GSMExt.O2
-On: 2011-11-02 15:49:02.776013 Event: Init GSM
-On: 2011-11-02 15:49:04.780475 Event: Receiver Greeting
-On: 2011-11-02 15:49:04.782965 Event: Connected to Receiver Handler
-On: 2011-11-02 15:49:04.910137 Event: Receiver Handler respond
-On: 2011-11-02 15:49:04.910875 Event: Receiver handler : Ready
-On: 2011-11-02 15:49:04.910925 Event: Start Call
-On: 2011-11-02 15:49:04.910985 Event: Waiting Feedback
-On: 2011-11-02 15:49:17.832072 Event: Test Succeed
-On: 2011-11-02 15:49:17.832138 Event: TERMINATE CONNECTION
-On: 2011-11-02 15:49:17.832278 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:11:21.109286 ------------------
-On: 2011-11-02 16:11:21.109366 Event: init Caller
-On: 2011-11-02 16:11:21.109390 Event: unisip
-On: 2011-11-02 16:11:23.117507 Event: Caller Greeting
-On: 2011-11-02 16:11:23.118650 Event: Connected to Caller Handler
-On: 2011-11-02 16:11:23.119925 Event: Caller Handler respond
-On: 2011-11-02 16:11:23.120716 Event: Caller handler : Ready
-On: 2011-11-02 16:11:23.120756 Event: init Receiver
-On: 2011-11-02 16:11:23.120775 Event: GSMRZ2
-On: 2011-11-02 16:11:31.130013 Event: Receiver Greeting
-On: 2011-11-02 16:11:31.130611 Event: Connected to Receiver Handler
-On: 2011-11-02 16:11:31.344587 Event: Receiver Handler respond
-On: 2011-11-02 16:11:31.346886 Event: Receiver handler : Ready
-On: 2011-11-02 16:11:31.346931 Event: Start Call
-On: 2011-11-02 16:11:31.346993 Event: Waiting Feedback
-On: 2011-11-02 16:11:36.743224 Event: Test Succeed
-On: 2011-11-02 16:11:36.743287 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:11:36.743498 Event: init Cancel test
-On: 2011-11-02 16:11:39.802406 Event: -- -X- --
-On: 2011-11-02 16:11:39.802472 Event: init Caller
-On: 2011-11-02 16:11:39.802491 Event: GSMRZ1
-On: 2011-11-02 16:11:39.802540 Event: Init GSM
-On: 2011-11-02 16:11:41.806238 Event: Caller Greeting
-On: 2011-11-02 16:11:41.808979 Event: Connected to Caller Handler
-On: 2011-11-02 16:11:41.967564 Event: Caller Handler respond
-On: 2011-11-02 16:11:41.967875 Event: Caller handler : Ready
-On: 2011-11-02 16:11:41.967907 Event: init Receiver
-On: 2011-11-02 16:11:41.967927 Event: GSMExt.O2
-On: 2011-11-02 16:11:41.967980 Event: Init GSM
-On: 2011-11-02 16:11:43.971797 Event: Receiver Greeting
-On: 2011-11-02 16:11:43.979245 Event: Connected to Receiver Handler
-On: 2011-11-02 16:11:44.086396 Event: Receiver Handler respond
-On: 2011-11-02 16:11:44.086689 Event: Receiver handler : Ready
-On: 2011-11-02 16:11:44.086719 Event: Start Call
-On: 2011-11-02 16:11:44.086771 Event: Waiting Feedback
-On: 2011-11-02 16:11:55.076347 Event: Test Succeed
-On: 2011-11-02 16:11:55.076406 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:11:55.076573 Event: init Cancel test
-On: 2011-11-02 16:11:58.137739 Event: -- -X- --
-On: 2011-11-02 16:11:58.137807 Event: init Caller
-On: 2011-11-02 16:11:58.137825 Event: landline
-On: 2011-11-02 16:12:00.142037 Event: Caller Greeting
-On: 2011-11-02 16:12:00.142897 Event: Connected to Caller Handler
-On: 2011-11-02 16:12:00.143184 Event: Caller Handler respond
-On: 2011-11-02 16:12:00.146834 Event: Caller handler : Ready
-On: 2011-11-02 16:12:00.146873 Event: init Receiver
-On: 2011-11-02 16:12:00.146892 Event: GSMRZ3
-On: 2011-11-02 16:12:08.155958 Event: Receiver Greeting
-On: 2011-11-02 16:12:08.156551 Event: Connected to Receiver Handler
-On: 2011-11-02 16:12:08.356013 Event: Receiver Handler respond
-On: 2011-11-02 16:12:08.358587 Event: Receiver handler : Ready
-On: 2011-11-02 16:12:08.358623 Event: Start Call
-On: 2011-11-02 16:12:08.358683 Event: Waiting Feedback
-On: 2011-11-02 16:12:43.363103 Event: Test Failed
-On: 2011-11-02 16:12:43.363163 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:12:43.363377 Event: init Cancel test
-On: 2011-11-02 16:12:46.416846 Event: -- -X- --
-On: 2011-11-02 16:12:46.416908 Event: init Caller
-On: 2011-11-02 16:12:46.416927 Event: sip
-On: 2011-11-02 16:12:48.420199 Event: Caller Greeting
-On: 2011-11-02 16:12:48.421045 Event: Connected to Caller Handler
-On: 2011-11-02 16:12:48.421329 Event: Caller Handler respond
-On: 2011-11-02 16:12:48.422111 Event: Caller handler : Ready
-On: 2011-11-02 16:12:48.422149 Event: init Receiver
-On: 2011-11-02 16:12:48.422169 Event: GSMExt.Eplus
-On: 2011-11-02 16:12:48.422221 Event: Init GSM
-On: 2011-11-02 16:12:50.426036 Event: Receiver Greeting
-On: 2011-11-02 16:12:50.428544 Event: Connected to Receiver Handler
-On: 2011-11-02 16:12:50.540051 Event: Receiver Handler respond
-On: 2011-11-02 16:12:50.542348 Event: Receiver handler : Ready
-On: 2011-11-02 16:12:50.542410 Event: Start Call
-On: 2011-11-02 16:12:50.542486 Event: Waiting Feedback
-On: 2011-11-02 16:13:05.543085 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 16:13:05.543226 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:13:05.543384 Event: init Cancel test
-On: 2011-11-02 16:13:08.592830 Event: -- -X- --
-On: 2011-11-02 16:13:08.592892 Event: init Caller
-On: 2011-11-02 16:13:08.592910 Event: sip
-On: 2011-11-02 16:13:10.597237 Event: Caller Greeting
-On: 2011-11-02 16:13:10.598241 Event: Connected to Caller Handler
-On: 2011-11-02 16:13:10.598529 Event: Caller Handler respond
-On: 2011-11-02 16:13:10.599313 Event: Caller handler : Ready
-On: 2011-11-02 16:13:10.599351 Event: init Receiver
-On: 2011-11-02 16:13:10.599371 Event: GSMExt.Tm
-On: 2011-11-02 16:13:10.599423 Event: Init GSM
-On: 2011-11-02 16:13:12.604210 Event: Receiver Greeting
-On: 2011-11-02 16:13:12.607143 Event: Connected to Receiver Handler
-On: 2011-11-02 16:13:12.746281 Event: Receiver Handler respond
-On: 2011-11-02 16:13:12.748092 Event: Receiver handler : Ready
-On: 2011-11-02 16:13:12.748133 Event: Start Call
-On: 2011-11-02 16:13:12.748204 Event: Waiting Feedback
-On: 2011-11-02 16:13:29.040830 Event: Test Succeed
-On: 2011-11-02 16:13:29.040888 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:13:29.041025 Event: init Cancel test
-On: 2011-11-02 16:13:32.094207 Event: -- -X- --
-On: 2011-11-02 16:13:32.094272 Event: init Caller
-On: 2011-11-02 16:13:32.094290 Event: sip
-On: 2011-11-02 16:13:34.097534 Event: Caller Greeting
-On: 2011-11-02 16:13:34.098412 Event: Connected to Caller Handler
-On: 2011-11-02 16:13:34.098698 Event: Caller Handler respond
-On: 2011-11-02 16:13:34.099435 Event: Caller handler : Ready
-On: 2011-11-02 16:13:34.099470 Event: init Receiver
-On: 2011-11-02 16:13:34.099489 Event: GSMExt.Voda
-On: 2011-11-02 16:13:34.099542 Event: Init GSM
-On: 2011-11-02 16:13:36.103719 Event: Receiver Greeting
-On: 2011-11-02 16:13:36.106355 Event: Connected to Receiver Handler
-On: 2011-11-02 16:13:41.135632 Event: Connect to Caller but device doesnt work
-On: 2011-11-02 16:13:41.135676 Event: 802 General Device Error: Destination device no respond timeout
-On: 2011-11-02 16:13:41.135698 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:13:41.135834 Event: init Cancel test
-On: 2011-11-02 16:13:44.191546 Event: -- -X- --
-On: 2011-11-02 16:13:44.191610 Event: init Caller
-On: 2011-11-02 16:13:44.191628 Event: sip
-On: 2011-11-02 16:13:46.196157 Event: Caller Greeting
-On: 2011-11-02 16:13:46.197016 Event: Connected to Caller Handler
-On: 2011-11-02 16:13:46.197297 Event: Caller Handler respond
-On: 2011-11-02 16:13:46.198106 Event: Caller handler : Ready
-On: 2011-11-02 16:13:46.198141 Event: init Receiver
-On: 2011-11-02 16:13:46.198160 Event: GSMRZ3
-On: 2011-11-02 16:13:54.206447 Event: Receiver Greeting
-On: 2011-11-02 16:13:54.207022 Event: Connected to Receiver Handler
-On: 2011-11-02 16:13:54.430042 Event: Receiver Handler respond
-On: 2011-11-02 16:13:54.432589 Event: Receiver handler : Ready
-On: 2011-11-02 16:13:54.432639 Event: Start Call
-On: 2011-11-02 16:13:54.432706 Event: Waiting Feedback
-On: 2011-11-02 16:13:59.867131 Event: Test Succeed
-On: 2011-11-02 16:13:59.867192 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:13:59.867374 Event: init Cancel test
-On: 2011-11-02 16:14:02.924052 Event: -- -X- --
-On: 2011-11-02 16:14:02.924116 Event: init Caller
-On: 2011-11-02 16:14:02.924133 Event: sip
-On: 2011-11-02 16:14:04.928925 Event: Caller Greeting
-On: 2011-11-02 16:14:04.929774 Event: Connected to Caller Handler
-On: 2011-11-02 16:14:04.930130 Event: Caller Handler respond
-On: 2011-11-02 16:14:04.931225 Event: Caller handler : Ready
-On: 2011-11-02 16:14:04.931259 Event: init Receiver
-On: 2011-11-02 16:14:04.931279 Event: landline
-On: 2011-11-02 16:14:06.935121 Event: Receiver Greeting
-On: 2011-11-02 16:14:06.935984 Event: Connected to Receiver Handler
-On: 2011-11-02 16:14:06.936277 Event: Receiver Handler respond
-On: 2011-11-02 16:14:06.940252 Event: Receiver handler : Ready
-On: 2011-11-02 16:14:06.940291 Event: Start Call
-On: 2011-11-02 16:14:06.940353 Event: Waiting Feedback
-On: 2011-11-02 16:14:14.750624 Event: Test Succeed
-On: 2011-11-02 16:14:14.750680 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:14:14.750820 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:16:46.808318 ------------------
-On: 2011-11-02 16:16:46.808394 Event: init Caller
-On: 2011-11-02 16:16:46.808420 Event: GSMRZ2
-On: 2011-11-02 16:16:54.816150 Event: Caller Greeting
-On: 2011-11-02 16:16:54.816885 Event: Connected to Caller Handler
-On: 2011-11-02 16:16:55.031761 Event: Caller Handler respond
-On: 2011-11-02 16:16:55.034062 Event: Caller handler : Ready
-On: 2011-11-02 16:16:55.034101 Event: init Receiver
-On: 2011-11-02 16:16:55.034122 Event: unisip
-On: 2011-11-02 16:16:57.038369 Event: Receiver Greeting
-On: 2011-11-02 16:16:57.039209 Event: Connected to Receiver Handler
-On: 2011-11-02 16:16:57.039498 Event: Receiver Handler respond
-On: 2011-11-02 16:16:57.040257 Event: Receiver handler : Ready
-On: 2011-11-02 16:16:57.040294 Event: Start Call
-On: 2011-11-02 16:16:57.040553 Event: Waiting Feedback
-On: 2011-11-02 16:17:00.148760 Event: Test Succeed
-On: 2011-11-02 16:17:00.148822 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:17:00.149900 Event: init Cancel test
-On: 2011-11-02 16:17:03.203571 Event: -- -X- --
-On: 2011-11-02 16:17:03.203634 Event: init Caller
-On: 2011-11-02 16:17:03.203653 Event: landline
-On: 2011-11-02 16:17:05.207551 Event: Caller Greeting
-On: 2011-11-02 16:17:05.208381 Event: Connected to Caller Handler
-On: 2011-11-02 16:17:05.209590 Event: Caller Handler respond
-On: 2011-11-02 16:17:05.212555 Event: Caller handler : Ready
-On: 2011-11-02 16:17:05.212592 Event: init Receiver
-On: 2011-11-02 16:17:05.212613 Event: GSMRZ3
-On: 2011-11-02 16:17:13.220591 Event: Receiver Greeting
-On: 2011-11-02 16:17:13.221149 Event: Connected to Receiver Handler
-On: 2011-11-02 16:17:13.447784 Event: Receiver Handler respond
-On: 2011-11-02 16:17:13.450361 Event: Receiver handler : Ready
-On: 2011-11-02 16:17:13.450399 Event: Start Call
-On: 2011-11-02 16:17:13.450458 Event: Waiting Feedback
-On: 2011-11-02 16:17:21.545547 Event: Test Succeed
-On: 2011-11-02 16:17:21.545604 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:17:21.545793 Event: init Cancel test
-On: 2011-11-02 16:17:24.597380 Event: -- -X- --
-On: 2011-11-02 16:17:24.597444 Event: init Caller
-On: 2011-11-02 16:17:24.597462 Event: landline
-On: 2011-11-02 16:17:26.602028 Event: Caller Greeting
-On: 2011-11-02 16:17:26.602855 Event: Connected to Caller Handler
-On: 2011-11-02 16:17:26.603131 Event: Caller Handler respond
-On: 2011-11-02 16:17:26.608577 Event: Caller handler : Ready
-On: 2011-11-02 16:17:26.608615 Event: init Receiver
-On: 2011-11-02 16:17:26.608636 Event: sip
-On: 2011-11-02 16:17:28.613017 Event: Receiver Greeting
-On: 2011-11-02 16:17:28.613843 Event: Connected to Receiver Handler
-On: 2011-11-02 16:17:28.615001 Event: Receiver Handler respond
-On: 2011-11-02 16:17:28.615808 Event: Receiver handler : Ready
-On: 2011-11-02 16:17:28.615846 Event: Start Call
-On: 2011-11-02 16:17:28.616069 Event: Waiting Feedback
-On: 2011-11-02 16:17:34.640195 Event: Test Succeed
-On: 2011-11-02 16:17:34.640252 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:17:34.640395 Event: init Cancel test
-On: 2011-11-02 16:17:37.712848 Event: -- -X- --
-On: 2011-11-02 16:17:37.712906 Event: init Caller
-On: 2011-11-02 16:17:37.712924 Event: sip
-On: 2011-11-02 16:17:39.717253 Event: Caller Greeting
-On: 2011-11-02 16:17:39.718118 Event: Connected to Caller Handler
-On: 2011-11-02 16:17:39.718404 Event: Caller Handler respond
-On: 2011-11-02 16:17:39.719161 Event: Caller handler : Ready
-On: 2011-11-02 16:17:39.719195 Event: init Receiver
-On: 2011-11-02 16:17:39.719215 Event: unisip
-On: 2011-11-02 16:17:41.723220 Event: Receiver Greeting
-On: 2011-11-02 16:17:41.724107 Event: Connected to Receiver Handler
-On: 2011-11-02 16:17:41.724434 Event: Receiver Handler respond
-On: 2011-11-02 16:17:41.725199 Event: Receiver handler : Ready
-On: 2011-11-02 16:17:41.725237 Event: Start Call
-On: 2011-11-02 16:17:41.725298 Event: Waiting Feedback
-On: 2011-11-02 16:17:44.797150 Event: Test Succeed
-On: 2011-11-02 16:17:44.797207 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:17:44.797347 Event: init Cancel test
-On: 2011-11-02 16:17:47.859162 Event: -- -X- --
-On: 2011-11-02 16:17:47.859225 Event: init Caller
-On: 2011-11-02 16:17:47.859319 Event: sip
-On: 2011-11-02 16:17:49.867070 Event: Caller Greeting
-On: 2011-11-02 16:17:49.867915 Event: Connected to Caller Handler
-On: 2011-11-02 16:17:49.868198 Event: Caller Handler respond
-On: 2011-11-02 16:17:49.868964 Event: Caller handler : Ready
-On: 2011-11-02 16:17:49.869000 Event: init Receiver
-On: 2011-11-02 16:17:49.869020 Event: landline
-On: 2011-11-02 16:17:51.874013 Event: Receiver Greeting
-On: 2011-11-02 16:17:51.874840 Event: Connected to Receiver Handler
-On: 2011-11-02 16:17:51.875131 Event: Receiver Handler respond
-On: 2011-11-02 16:17:51.877821 Event: Receiver handler : Ready
-On: 2011-11-02 16:17:51.877859 Event: Start Call
-On: 2011-11-02 16:17:51.877917 Event: Waiting Feedback
-On: 2011-11-02 16:17:58.807832 Event: Test Succeed
-On: 2011-11-02 16:17:58.807935 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:17:58.808129 Event: init Cancel test
-On: 2011-11-02 16:18:01.884845 Event: -- -X- --
-On: 2011-11-02 16:18:01.884906 Event: init Caller
-On: 2011-11-02 16:18:01.884924 Event: GSMRZ3
-On: 2011-11-02 16:18:09.889593 Event: Caller Greeting
-On: 2011-11-02 16:18:09.890178 Event: Connected to Caller Handler
-On: 2011-11-02 16:18:10.090023 Event: Caller Handler respond
-On: 2011-11-02 16:18:10.092720 Event: Caller handler : Ready
-On: 2011-11-02 16:18:10.092785 Event: init Receiver
-On: 2011-11-02 16:18:10.092809 Event: sip
-On: 2011-11-02 16:18:12.095903 Event: Receiver Greeting
-On: 2011-11-02 16:18:12.097037 Event: Connected to Receiver Handler
-On: 2011-11-02 16:18:12.097328 Event: Receiver Handler respond
-On: 2011-11-02 16:18:12.098243 Event: Receiver handler : Ready
-On: 2011-11-02 16:18:12.098287 Event: Start Call
-On: 2011-11-02 16:18:12.098572 Event: Waiting Feedback
-On: 2011-11-02 16:18:15.394212 Event: Test Succeed
-On: 2011-11-02 16:18:15.394277 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:18:15.395285 Event: init Cancel test
-On: 2011-11-02 16:18:18.437305 Event: -- -X- --
-On: 2011-11-02 16:18:18.437364 Event: init Caller
-On: 2011-11-02 16:18:18.437383 Event: GSMRZ2
-On: 2011-11-02 16:18:26.456399 Event: Caller Greeting
-On: 2011-11-02 16:18:26.456980 Event: Connected to Caller Handler
-On: 2011-11-02 16:18:26.668561 Event: Caller Handler respond
-On: 2011-11-02 16:18:26.670903 Event: Caller handler : Ready
-On: 2011-11-02 16:18:26.670967 Event: init Receiver
-On: 2011-11-02 16:18:26.670990 Event: sip
-On: 2011-11-02 16:18:28.674954 Event: Receiver Greeting
-On: 2011-11-02 16:18:28.675779 Event: Connected to Receiver Handler
-On: 2011-11-02 16:18:28.676060 Event: Receiver Handler respond
-On: 2011-11-02 16:18:28.676815 Event: Receiver handler : Ready
-On: 2011-11-02 16:18:28.676855 Event: Start Call
-On: 2011-11-02 16:18:28.677114 Event: Waiting Feedback
-On: 2011-11-02 16:18:31.848399 Event: Test Succeed
-On: 2011-11-02 16:18:31.848454 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:18:31.849483 Event: init Cancel test
-On: 2011-11-02 16:18:34.909252 Event: -- -X- --
-On: 2011-11-02 16:18:34.909315 Event: init Caller
-On: 2011-11-02 16:18:34.909333 Event: GSMRZ1
-On: 2011-11-02 16:18:34.909387 Event: Init GSM
-On: 2011-11-02 16:18:36.914376 Event: Caller Greeting
-On: 2011-11-02 16:18:36.916931 Event: Connected to Caller Handler
-On: 2011-11-02 16:18:37.074164 Event: Caller Handler respond
-On: 2011-11-02 16:18:37.074466 Event: Caller handler : Ready
-On: 2011-11-02 16:18:37.074499 Event: init Receiver
-On: 2011-11-02 16:18:37.074520 Event: sip
-On: 2011-11-02 16:18:39.078173 Event: Receiver Greeting
-On: 2011-11-02 16:18:39.079014 Event: Connected to Receiver Handler
-On: 2011-11-02 16:18:39.079297 Event: Receiver Handler respond
-On: 2011-11-02 16:18:39.080411 Event: Receiver handler : Ready
-On: 2011-11-02 16:18:39.080450 Event: Start Call
-On: 2011-11-02 16:18:39.082014 Event: Waiting Feedback
-On: 2011-11-02 16:18:41.698127 Event: Test Succeed
-On: 2011-11-02 16:18:41.698181 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:18:41.698317 Event: init Cancel test
-On: 2011-11-02 16:18:44.754448 Event: -- -X- --
-On: 2011-11-02 16:18:44.754504 Event: init Caller
-On: 2011-11-02 16:18:44.754523 Event: sip
-On: 2011-11-02 16:18:46.766028 Event: Caller Greeting
-On: 2011-11-02 16:18:46.766872 Event: Connected to Caller Handler
-On: 2011-11-02 16:18:46.767159 Event: Caller Handler respond
-On: 2011-11-02 16:18:46.767924 Event: Caller handler : Ready
-On: 2011-11-02 16:18:46.767962 Event: init Receiver
-On: 2011-11-02 16:18:46.767982 Event: GSMRZ1
-On: 2011-11-02 16:18:46.768033 Event: Init GSM
-On: 2011-11-02 16:18:48.772785 Event: Receiver Greeting
-On: 2011-11-02 16:18:48.775560 Event: Connected to Receiver Handler
-On: 2011-11-02 16:18:48.946252 Event: Receiver Handler respond
-On: 2011-11-02 16:18:48.946548 Event: Receiver handler : Ready
-On: 2011-11-02 16:18:48.946578 Event: Start Call
-On: 2011-11-02 16:18:48.946633 Event: Waiting Feedback
-On: 2011-11-02 16:18:54.574190 Event: Test Succeed
-On: 2011-11-02 16:18:54.574246 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:18:54.574391 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:21:11.433366 ------------------
-On: 2011-11-02 16:21:11.433446 Event: init Caller
-On: 2011-11-02 16:21:11.433469 Event: sip
-On: 2011-11-02 16:21:13.441594 Event: Caller Greeting
-On: 2011-11-02 16:21:13.442602 Event: Connected to Caller Handler
-On: 2011-11-02 16:21:13.442883 Event: Caller Handler respond
-On: 2011-11-02 16:21:13.444004 Event: Caller handler : Ready
-On: 2011-11-02 16:21:13.444045 Event: init Receiver
-On: 2011-11-02 16:21:13.444065 Event: GSMRZ1
-On: 2011-11-02 16:21:13.444116 Event: Init GSM
-On: 2011-11-02 16:21:15.448586 Event: Receiver Greeting
-On: 2011-11-02 16:21:15.451177 Event: Connected to Receiver Handler
-On: 2011-11-02 16:21:15.625771 Event: Receiver Handler respond
-On: 2011-11-02 16:21:15.626108 Event: Receiver handler : Ready
-On: 2011-11-02 16:21:15.626141 Event: Start Call
-On: 2011-11-02 16:21:15.626196 Event: Waiting Feedback
-On: 2011-11-02 16:21:25.917248 Event: Test Succeed
-On: 2011-11-02 16:21:25.917305 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:21:25.917461 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:22:26.570959 ------------------
-On: 2011-11-02 16:22:26.571033 Event: init Caller
-On: 2011-11-02 16:22:26.571057 Event: unisip
-On: 2011-11-02 16:22:28.578019 Event: Caller Greeting
-On: 2011-11-02 16:22:28.579008 Event: Connected to Caller Handler
-On: 2011-11-02 16:22:28.579296 Event: Caller Handler respond
-On: 2011-11-02 16:22:28.580415 Event: Caller handler : Ready
-On: 2011-11-02 16:22:28.580456 Event: init Receiver
-On: 2011-11-02 16:22:28.580476 Event: GSMRZ3
-On: 2011-11-02 16:22:36.589201 Event: Receiver Greeting
-On: 2011-11-02 16:22:36.589792 Event: Connected to Receiver Handler
-On: 2011-11-02 16:22:36.813083 Event: Receiver Handler respond
-On: 2011-11-02 16:22:36.815980 Event: Receiver handler : Ready
-On: 2011-11-02 16:22:36.816048 Event: Start Call
-On: 2011-11-02 16:22:36.816136 Event: Waiting Feedback
-On: 2011-11-02 16:22:42.414393 Event: Test Succeed
-On: 2011-11-02 16:22:42.414456 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:22:42.414659 Event: init Cancel test
-On: 2011-11-02 16:22:45.473679 Event: -- -X- --
-On: 2011-11-02 16:22:45.473745 Event: init Caller
-On: 2011-11-02 16:22:45.473764 Event: GSMRZ1
-On: 2011-11-02 16:22:45.473813 Event: Init GSM
-On: 2011-11-02 16:22:47.478035 Event: Caller Greeting
-On: 2011-11-02 16:22:47.480690 Event: Connected to Caller Handler
-On: 2011-11-02 16:22:47.698211 Event: Caller Handler respond
-On: 2011-11-02 16:22:47.698520 Event: Caller handler : Ready
-On: 2011-11-02 16:22:47.698552 Event: init Receiver
-On: 2011-11-02 16:22:47.698572 Event: GSMExt.Voda
-On: 2011-11-02 16:22:47.698624 Event: Init GSM
-On: 2011-11-02 16:22:49.702023 Event: Receiver Greeting
-On: 2011-11-02 16:22:49.704547 Event: Connected to Receiver Handler
-On: 2011-11-02 16:22:49.810131 Event: Receiver Handler respond
-On: 2011-11-02 16:22:49.810419 Event: Receiver handler : Ready
-On: 2011-11-02 16:22:49.810450 Event: Start Call
-On: 2011-11-02 16:22:49.810503 Event: Waiting Feedback
-On: 2011-11-02 16:23:00.782184 Event: Test Succeed
-On: 2011-11-02 16:23:00.782244 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:23:00.782385 Event: init Cancel test
-On: 2011-11-02 16:23:03.890345 Event: -- -X- --
-On: 2011-11-02 16:23:03.890411 Event: init Caller
-On: 2011-11-02 16:23:03.890430 Event: landline
-On: 2011-11-02 16:23:05.896674 Event: Caller Greeting
-On: 2011-11-02 16:23:05.897582 Event: Connected to Caller Handler
-On: 2011-11-02 16:23:05.897865 Event: Caller Handler respond
-On: 2011-11-02 16:23:05.900692 Event: Caller handler : Ready
-On: 2011-11-02 16:23:05.900731 Event: init Receiver
-On: 2011-11-02 16:23:05.900751 Event: GSMRZ2
-On: 2011-11-02 16:23:13.909630 Event: Receiver Greeting
-On: 2011-11-02 16:23:13.910226 Event: Connected to Receiver Handler
-On: 2011-11-02 16:23:14.127047 Event: Receiver Handler respond
-On: 2011-11-02 16:23:14.129288 Event: Receiver handler : Ready
-On: 2011-11-02 16:23:14.129324 Event: Start Call
-On: 2011-11-02 16:23:14.129384 Event: Waiting Feedback
-On: 2011-11-02 16:23:22.175462 Event: Test Succeed
-On: 2011-11-02 16:23:22.175518 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:23:22.175709 Event: init Cancel test
-On: 2011-11-02 16:23:25.228899 Event: -- -X- --
-On: 2011-11-02 16:23:25.228959 Event: init Caller
-On: 2011-11-02 16:23:25.228978 Event: sip
-On: 2011-11-02 16:23:27.233293 Event: Caller Greeting
-On: 2011-11-02 16:23:27.234160 Event: Connected to Caller Handler
-On: 2011-11-02 16:23:27.234441 Event: Caller Handler respond
-On: 2011-11-02 16:23:27.235570 Event: Caller handler : Ready
-On: 2011-11-02 16:23:27.235608 Event: init Receiver
-On: 2011-11-02 16:23:27.235628 Event: GSMExt.Eplus
-On: 2011-11-02 16:23:27.235681 Event: Init GSM
-On: 2011-11-02 16:23:29.238028 Event: Receiver Greeting
-On: 2011-11-02 16:23:29.240531 Event: Connected to Receiver Handler
-On: 2011-11-02 16:23:29.378779 Event: Receiver Handler respond
-On: 2011-11-02 16:23:29.379074 Event: Receiver handler : Ready
-On: 2011-11-02 16:23:29.379107 Event: Start Call
-On: 2011-11-02 16:23:29.379162 Event: Waiting Feedback
-On: 2011-11-02 16:23:44.379673 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 16:23:44.379819 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:23:44.379975 Event: init Cancel test
-On: 2011-11-02 16:23:47.432804 Event: -- -X- --
-On: 2011-11-02 16:23:47.432866 Event: init Caller
-On: 2011-11-02 16:23:47.432884 Event: sip
-On: 2011-11-02 16:23:49.437292 Event: Caller Greeting
-On: 2011-11-02 16:23:49.438168 Event: Connected to Caller Handler
-On: 2011-11-02 16:23:49.438460 Event: Caller Handler respond
-On: 2011-11-02 16:23:49.439228 Event: Caller handler : Ready
-On: 2011-11-02 16:23:49.439268 Event: init Receiver
-On: 2011-11-02 16:23:49.439288 Event: GSMExt.O2
-On: 2011-11-02 16:23:49.439341 Event: Init GSM
-On: 2011-11-02 16:23:51.442920 Event: Receiver Greeting
-On: 2011-11-02 16:23:51.445682 Event: Connected to Receiver Handler
-On: 2011-11-02 16:23:51.566259 Event: Receiver Handler respond
-On: 2011-11-02 16:23:51.566560 Event: Receiver handler : Ready
-On: 2011-11-02 16:23:51.566592 Event: Start Call
-On: 2011-11-02 16:23:51.566645 Event: Waiting Feedback
-On: 2011-11-02 16:24:04.480631 Event: Test Succeed
-On: 2011-11-02 16:24:04.480689 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:24:04.480830 Event: init Cancel test
-On: 2011-11-02 16:24:07.575215 Event: -- -X- --
-On: 2011-11-02 16:24:07.575275 Event: init Caller
-On: 2011-11-02 16:24:07.575293 Event: sip
-On: 2011-11-02 16:24:09.579508 Event: Caller Greeting
-On: 2011-11-02 16:24:09.584946 Event: Connected to Caller Handler
-On: 2011-11-02 16:24:09.585239 Event: Caller Handler respond
-On: 2011-11-02 16:24:09.586055 Event: Caller handler : Ready
-On: 2011-11-02 16:24:09.586092 Event: init Receiver
-On: 2011-11-02 16:24:09.586112 Event: GSMExt.Tm
-On: 2011-11-02 16:24:09.586164 Event: Init GSM
-On: 2011-11-02 16:24:11.590830 Event: Receiver Greeting
-On: 2011-11-02 16:24:11.593363 Event: Connected to Receiver Handler
-On: 2011-11-02 16:24:11.750859 Event: Receiver Handler respond
-On: 2011-11-02 16:24:11.754296 Event: Receiver handler : Ready
-On: 2011-11-02 16:24:11.754339 Event: Start Call
-On: 2011-11-02 16:24:11.754401 Event: Waiting Feedback
-On: 2011-11-02 16:24:46.754935 Event: Test Failed
-On: 2011-11-02 16:24:46.754995 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:24:46.755156 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:29:42.733914 ------------------
-On: 2011-11-02 16:29:42.734928 Event: init Caller
-On: 2011-11-02 16:29:42.734982 Event: GSMRZ2
-On: 2011-11-02 16:29:50.746019 Event: Caller Greeting
-On: 2011-11-02 16:29:50.746747 Event: Connected to Caller Handler
-On: 2011-11-02 16:29:50.965522 Event: Caller Handler respond
-On: 2011-11-02 16:29:50.967790 Event: Caller handler : Ready
-On: 2011-11-02 16:29:50.967830 Event: init Receiver
-On: 2011-11-02 16:29:50.967850 Event: GSMRZ3
-On: 2011-11-02 16:29:58.972413 Event: Receiver Greeting
-On: 2011-11-02 16:29:58.973029 Event: Connected to Receiver Handler
-On: 2011-11-02 16:29:59.199945 Event: Receiver Handler respond
-On: 2011-11-02 16:29:59.202530 Event: Receiver handler : Ready
-On: 2011-11-02 16:29:59.202571 Event: Start Call
-On: 2011-11-02 16:29:59.202632 Event: Waiting Feedback
-On: 2011-11-02 16:30:03.426446 Event: Test Succeed
-On: 2011-11-02 16:30:03.426514 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:30:03.426736 Event: init Cancel test
-On: 2011-11-02 16:30:06.484290 Event: -- -X- --
-On: 2011-11-02 16:30:06.484353 Event: init Caller
-On: 2011-11-02 16:30:06.484371 Event: GSMRZ1
-On: 2011-11-02 16:30:06.484418 Event: Init GSM
-On: 2011-11-02 16:30:08.490051 Event: Caller Greeting
-On: 2011-11-02 16:30:08.492679 Event: Connected to Caller Handler
-On: 2011-11-02 16:30:08.638219 Event: Caller Handler respond
-On: 2011-11-02 16:30:08.641626 Event: Caller handler : Ready
-On: 2011-11-02 16:30:08.641669 Event: init Receiver
-On: 2011-11-02 16:30:08.641689 Event: GSMRZ3
-On: 2011-11-02 16:30:16.646777 Event: Receiver Greeting
-On: 2011-11-02 16:30:16.647339 Event: Connected to Receiver Handler
-On: 2011-11-02 16:30:16.841497 Event: Receiver Handler respond
-On: 2011-11-02 16:30:16.844099 Event: Receiver handler : Ready
-On: 2011-11-02 16:30:16.844136 Event: Start Call
-On: 2011-11-02 16:30:16.844193 Event: Waiting Feedback
-On: 2011-11-02 16:30:22.178137 Event: Test Succeed
-On: 2011-11-02 16:30:22.178197 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:30:22.178382 Event: init Cancel test
-On: 2011-11-02 16:30:25.228496 Event: -- -X- --
-On: 2011-11-02 16:30:25.228561 Event: init Caller
-On: 2011-11-02 16:30:25.228580 Event: GSMRZ1
-On: 2011-11-02 16:30:25.228626 Event: Init GSM
-On: 2011-11-02 16:30:27.232903 Event: Caller Greeting
-On: 2011-11-02 16:30:27.235551 Event: Connected to Caller Handler
-On: 2011-11-02 16:30:27.373115 Event: Caller Handler respond
-On: 2011-11-02 16:30:27.373428 Event: Caller handler : Ready
-On: 2011-11-02 16:30:27.373459 Event: init Receiver
-On: 2011-11-02 16:30:27.373479 Event: GSMRZ2
-On: 2011-11-02 16:30:35.378016 Event: Receiver Greeting
-On: 2011-11-02 16:30:35.378577 Event: Connected to Receiver Handler
-On: 2011-11-02 16:30:35.592487 Event: Receiver Handler respond
-On: 2011-11-02 16:30:35.594734 Event: Receiver handler : Ready
-On: 2011-11-02 16:30:35.594770 Event: Start Call
-On: 2011-11-02 16:30:35.594830 Event: Waiting Feedback
-On: 2011-11-02 16:30:40.258130 Event: Test Succeed
-On: 2011-11-02 16:30:40.258190 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:30:40.258371 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:33:12.890846 ------------------
-On: 2011-11-02 16:33:12.891076 Event: init Caller
-On: 2011-11-02 16:33:12.891104 Event: GSMRZ2
-On: 2011-11-02 16:33:20.900105 Event: Caller Greeting
-On: 2011-11-02 16:33:20.900847 Event: Connected to Caller Handler
-On: 2011-11-02 16:33:21.115262 Event: Caller Handler respond
-On: 2011-11-02 16:33:21.117595 Event: Caller handler : Ready
-On: 2011-11-02 16:33:21.117660 Event: init Receiver
-On: 2011-11-02 16:33:21.117681 Event: GSMRZ3
-On: 2011-11-02 16:33:29.128169 Event: Receiver Greeting
-On: 2011-11-02 16:33:29.128777 Event: Connected to Receiver Handler
-On: 2011-11-02 16:33:29.349592 Event: Receiver Handler respond
-On: 2011-11-02 16:33:29.352270 Event: Receiver handler : Ready
-On: 2011-11-02 16:33:29.352340 Event: Start Call
-On: 2011-11-02 16:33:29.352412 Event: Waiting Feedback
-On: 2011-11-02 16:33:33.459169 Event: Test Succeed
-On: 2011-11-02 16:33:33.459238 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:33:33.459458 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:34:28.761200 ------------------
-On: 2011-11-02 16:34:28.761287 Event: init Caller
-On: 2011-11-02 16:34:28.761313 Event: GSMRZ2
-On: 2011-11-02 16:34:36.772594 Event: Caller Greeting
-On: 2011-11-02 16:34:36.773409 Event: Connected to Caller Handler
-On: 2011-11-02 16:34:36.986238 Event: Caller Handler respond
-On: 2011-11-02 16:34:36.988551 Event: Caller handler : Ready
-On: 2011-11-02 16:34:36.988601 Event: init Receiver
-On: 2011-11-02 16:34:36.988623 Event: GSMRZ3
-On: 2011-11-02 16:34:44.998581 Event: Receiver Greeting
-On: 2011-11-02 16:34:44.999191 Event: Connected to Receiver Handler
-On: 2011-11-02 16:34:45.236146 Event: Receiver Handler respond
-On: 2011-11-02 16:34:45.238696 Event: Receiver handler : Ready
-On: 2011-11-02 16:34:45.238735 Event: Start Call
-On: 2011-11-02 16:34:45.238794 Event: Waiting Feedback
-On: 2011-11-02 16:34:50.431470 Event: Test Succeed
-On: 2011-11-02 16:34:50.431537 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:34:50.431755 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:37:12.534219 ------------------
-On: 2011-11-02 16:37:12.534302 Event: init Caller
-On: 2011-11-02 16:37:12.534326 Event: GSMRZ2
-On: 2011-11-02 16:37:20.548615 Event: Caller Greeting
-On: 2011-11-02 16:37:20.549413 Event: Connected to Caller Handler
-On: 2011-11-02 16:37:20.758898 Event: Caller Handler respond
-On: 2011-11-02 16:37:20.761189 Event: Caller handler : Ready
-On: 2011-11-02 16:37:20.761227 Event: init Receiver
-On: 2011-11-02 16:37:20.761247 Event: GSMRZ3
-On: 2011-11-02 16:37:28.766018 Event: Receiver Greeting
-On: 2011-11-02 16:37:28.766613 Event: Connected to Receiver Handler
-On: 2011-11-02 16:37:28.993202 Event: Receiver Handler respond
-On: 2011-11-02 16:37:28.995710 Event: Receiver handler : Ready
-On: 2011-11-02 16:37:28.995749 Event: Start Call
-On: 2011-11-02 16:37:28.995809 Event: Waiting Feedback
-On: 2011-11-02 16:37:34.290522 Event: Test Succeed
-On: 2011-11-02 16:37:34.290589 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:37:34.290807 Event: init Cancel test
-On: 2011-11-02 16:37:37.343068 Event: -- -X- --
-On: 2011-11-02 16:37:37.343137 Event: init Caller
-On: 2011-11-02 16:37:37.343156 Event: GSMRZ1
-On: 2011-11-02 16:37:37.343203 Event: Init GSM
-On: 2011-11-02 16:37:39.357340 Event: Caller Greeting
-On: 2011-11-02 16:37:39.359927 Event: Connected to Caller Handler
-On: 2011-11-02 16:37:39.514165 Event: Caller Handler respond
-On: 2011-11-02 16:37:39.514470 Event: Caller handler : Ready
-On: 2011-11-02 16:37:39.514503 Event: init Receiver
-On: 2011-11-02 16:37:39.514523 Event: GSMRZ3
-On: 2011-11-02 16:37:47.524079 Event: Receiver Greeting
-On: 2011-11-02 16:37:47.524639 Event: Connected to Receiver Handler
-On: 2011-11-02 16:37:47.744786 Event: Receiver Handler respond
-On: 2011-11-02 16:37:47.747390 Event: Receiver handler : Ready
-On: 2011-11-02 16:37:47.747428 Event: Start Call
-On: 2011-11-02 16:37:47.747487 Event: Waiting Feedback
-On: 2011-11-02 16:37:53.030124 Event: Test Succeed
-On: 2011-11-02 16:37:53.030181 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:37:53.030361 Event: init Cancel test
-On: 2011-11-02 16:37:56.075282 Event: -- -X- --
-On: 2011-11-02 16:37:56.075351 Event: init Caller
-On: 2011-11-02 16:37:56.075370 Event: GSMRZ1
-On: 2011-11-02 16:37:56.075415 Event: Init GSM
-On: 2011-11-02 16:37:58.090014 Event: Caller Greeting
-On: 2011-11-02 16:37:58.092551 Event: Connected to Caller Handler
-On: 2011-11-02 16:37:58.246187 Event: Caller Handler respond
-On: 2011-11-02 16:37:58.246495 Event: Caller handler : Ready
-On: 2011-11-02 16:37:58.246528 Event: init Receiver
-On: 2011-11-02 16:37:58.246549 Event: GSMRZ2
-On: 2011-11-02 16:38:06.255391 Event: Receiver Greeting
-On: 2011-11-02 16:38:06.255971 Event: Connected to Receiver Handler
-On: 2011-11-02 16:38:06.471800 Event: Receiver Handler respond
-On: 2011-11-02 16:38:06.474183 Event: Receiver handler : Ready
-On: 2011-11-02 16:38:06.474248 Event: Start Call
-On: 2011-11-02 16:38:06.474322 Event: Waiting Feedback
-On: 2011-11-02 16:38:11.166139 Event: Test Succeed
-On: 2011-11-02 16:38:11.166198 Event: TERMINATE CONNECTION
-On: 2011-11-02 16:38:11.166377 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:06:41.282477 ------------------
-On: 2011-11-02 17:06:41.282553 Event: init Caller
-On: 2011-11-02 17:06:41.282579 Event: GSMRZ3
-On: 2011-11-02 17:06:49.289603 Event: Caller Greeting
-On: 2011-11-02 17:06:49.290371 Event: Connected to Caller Handler
-On: 2011-11-02 17:06:49.495054 Event: Caller Handler respond
-On: 2011-11-02 17:06:49.497783 Event: Caller handler : Ready
-On: 2011-11-02 17:06:49.497851 Event: init Receiver
-On: 2011-11-02 17:06:49.497872 Event: GSMExt.O2
-On: 2011-11-02 17:06:49.497927 Event: Init GSM
-On: 2011-11-02 17:06:51.501349 Event: Receiver Greeting
-On: 2011-11-02 17:06:51.504006 Event: Connected to Receiver Handler
-On: 2011-11-02 17:06:51.630211 Event: Receiver Handler respond
-On: 2011-11-02 17:06:51.630518 Event: Receiver handler : Ready
-On: 2011-11-02 17:06:51.630550 Event: Start Call
-On: 2011-11-02 17:06:51.630709 Event: Waiting Feedback
-On: 2011-11-02 17:07:04.519077 Event: Test Succeed
-On: 2011-11-02 17:07:04.519145 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:07:04.522555 Event: init Cancel test
-On: 2011-11-02 17:07:07.572140 Event: -- -X- --
-On: 2011-11-02 17:07:07.572202 Event: init Caller
-On: 2011-11-02 17:07:07.572220 Event: GSMRZ3
-On: 2011-11-02 17:07:15.576920 Event: Caller Greeting
-On: 2011-11-02 17:07:15.577497 Event: Connected to Caller Handler
-On: 2011-11-02 17:07:15.801992 Event: Caller Handler respond
-On: 2011-11-02 17:07:15.804620 Event: Caller handler : Ready
-On: 2011-11-02 17:07:15.804670 Event: init Receiver
-On: 2011-11-02 17:07:15.804691 Event: GSMExt.Tm
-On: 2011-11-02 17:07:15.804742 Event: Init GSM
-On: 2011-11-02 17:07:17.808978 Event: Receiver Greeting
-On: 2011-11-02 17:07:17.811578 Event: Connected to Receiver Handler
-On: 2011-11-02 17:07:17.938133 Event: Receiver Handler respond
-On: 2011-11-02 17:07:17.938433 Event: Receiver handler : Ready
-On: 2011-11-02 17:07:17.938465 Event: Start Call
-On: 2011-11-02 17:07:17.938977 Event: Waiting Feedback
-On: 2011-11-02 17:07:31.848211 Event: Test Succeed
-On: 2011-11-02 17:07:31.848274 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:07:31.850632 Event: init Cancel test
-On: 2011-11-02 17:07:34.910675 Event: -- -X- --
-On: 2011-11-02 17:07:34.910743 Event: init Caller
-On: 2011-11-02 17:07:34.910762 Event: GSMRZ3
-On: 2011-11-02 17:07:42.920086 Event: Caller Greeting
-On: 2011-11-02 17:07:42.920662 Event: Connected to Caller Handler
-On: 2011-11-02 17:07:43.154213 Event: Caller Handler respond
-On: 2011-11-02 17:07:43.156834 Event: Caller handler : Ready
-On: 2011-11-02 17:07:43.156873 Event: init Receiver
-On: 2011-11-02 17:07:43.156894 Event: GSMExt.Voda
-On: 2011-11-02 17:07:43.156947 Event: Init GSM
-On: 2011-11-02 17:07:45.161252 Event: Receiver Greeting
-On: 2011-11-02 17:07:45.163871 Event: Connected to Receiver Handler
-On: 2011-11-02 17:07:45.286165 Event: Receiver Handler respond
-On: 2011-11-02 17:07:45.286459 Event: Receiver handler : Ready
-On: 2011-11-02 17:07:45.286490 Event: Start Call
-On: 2011-11-02 17:07:45.286997 Event: Waiting Feedback
-On: 2011-11-02 17:07:58.138547 Event: Test Succeed
-On: 2011-11-02 17:07:58.138611 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:07:58.142549 Event: init Cancel test
-On: 2011-11-02 17:08:01.197906 Event: -- -X- --
-On: 2011-11-02 17:08:01.198017 Event: init Caller
-On: 2011-11-02 17:08:01.198036 Event: GSMRZ3
-On: 2011-11-02 17:08:09.208380 Event: Caller Greeting
-On: 2011-11-02 17:08:09.208957 Event: Connected to Caller Handler
-On: 2011-11-02 17:08:09.406319 Event: Caller Handler respond
-On: 2011-11-02 17:08:09.408962 Event: Caller handler : Ready
-On: 2011-11-02 17:08:09.409000 Event: init Receiver
-On: 2011-11-02 17:08:09.409023 Event: GSMExt.Eplus
-On: 2011-11-02 17:08:09.409075 Event: Init GSM
-On: 2011-11-02 17:08:11.413372 Event: Receiver Greeting
-On: 2011-11-02 17:08:11.415947 Event: Connected to Receiver Handler
-On: 2011-11-02 17:08:11.534144 Event: Receiver Handler respond
-On: 2011-11-02 17:08:11.534432 Event: Receiver handler : Ready
-On: 2011-11-02 17:08:11.534463 Event: Start Call
-On: 2011-11-02 17:08:11.534978 Event: Waiting Feedback
-On: 2011-11-02 17:08:26.535391 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 17:08:26.535535 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:08:26.536407 Event: init Cancel test
-On: 2011-11-02 17:08:29.588619 Event: -- -X- --
-On: 2011-11-02 17:08:29.588688 Event: init Caller
-On: 2011-11-02 17:08:29.588707 Event: GSMRZ2
-On: 2011-11-02 17:08:37.599202 Event: Caller Greeting
-On: 2011-11-02 17:08:37.599779 Event: Connected to Caller Handler
-On: 2011-11-02 17:08:37.814595 Event: Caller Handler respond
-On: 2011-11-02 17:08:37.816754 Event: Caller handler : Ready
-On: 2011-11-02 17:08:37.816807 Event: init Receiver
-On: 2011-11-02 17:08:37.816828 Event: GSMExt.O2
-On: 2011-11-02 17:08:37.816881 Event: Init GSM
-On: 2011-11-02 17:08:39.820965 Event: Receiver Greeting
-On: 2011-11-02 17:08:39.822766 Event: Connected to Receiver Handler
-On: 2011-11-02 17:08:39.946145 Event: Receiver Handler respond
-On: 2011-11-02 17:08:39.946446 Event: Receiver handler : Ready
-On: 2011-11-02 17:08:39.946479 Event: Start Call
-On: 2011-11-02 17:08:39.946633 Event: Waiting Feedback
-On: 2011-11-02 17:08:52.579982 Event: Test Succeed
-On: 2011-11-02 17:08:52.580045 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:08:52.582617 Event: init Cancel test
-On: 2011-11-02 17:08:55.641745 Event: -- -X- --
-On: 2011-11-02 17:08:55.641857 Event: init Caller
-On: 2011-11-02 17:08:55.641877 Event: GSMRZ2
-On: 2011-11-02 17:09:03.648898 Event: Caller Greeting
-On: 2011-11-02 17:09:03.649482 Event: Connected to Caller Handler
-On: 2011-11-02 17:09:03.861819 Event: Caller Handler respond
-On: 2011-11-02 17:09:03.864130 Event: Caller handler : Ready
-On: 2011-11-02 17:09:03.864186 Event: init Receiver
-On: 2011-11-02 17:09:03.864207 Event: GSMExt.Tm
-On: 2011-11-02 17:09:03.864258 Event: Init GSM
-On: 2011-11-02 17:09:05.868549 Event: Receiver Greeting
-On: 2011-11-02 17:09:05.871196 Event: Connected to Receiver Handler
-On: 2011-11-02 17:09:05.994141 Event: Receiver Handler respond
-On: 2011-11-02 17:09:05.994438 Event: Receiver handler : Ready
-On: 2011-11-02 17:09:05.994469 Event: Start Call
-On: 2011-11-02 17:09:05.994615 Event: Waiting Feedback
-On: 2011-11-02 17:09:18.737819 Event: Test Succeed
-On: 2011-11-02 17:09:18.737881 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:09:18.742114 Event: init Cancel test
-On: 2011-11-02 17:09:21.799954 Event: -- -X- --
-On: 2011-11-02 17:09:21.800021 Event: init Caller
-On: 2011-11-02 17:09:21.800040 Event: GSMRZ2
-On: 2011-11-02 17:09:29.809765 Event: Caller Greeting
-On: 2011-11-02 17:09:29.810378 Event: Connected to Caller Handler
-On: 2011-11-02 17:09:30.027651 Event: Caller Handler respond
-On: 2011-11-02 17:09:30.030057 Event: Caller handler : Ready
-On: 2011-11-02 17:09:30.030117 Event: init Receiver
-On: 2011-11-02 17:09:30.030138 Event: GSMExt.Voda
-On: 2011-11-02 17:09:30.030191 Event: Init GSM
-On: 2011-11-02 17:09:32.034456 Event: Receiver Greeting
-On: 2011-11-02 17:09:32.037057 Event: Connected to Receiver Handler
-On: 2011-11-02 17:09:32.130136 Event: Receiver Handler respond
-On: 2011-11-02 17:09:32.130430 Event: Receiver handler : Ready
-On: 2011-11-02 17:09:32.130462 Event: Start Call
-On: 2011-11-02 17:09:32.130614 Event: Waiting Feedback
-On: 2011-11-02 17:09:44.824928 Event: Test Succeed
-On: 2011-11-02 17:09:44.824993 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:09:44.829117 Event: init Cancel test
-On: 2011-11-02 17:09:47.884243 Event: -- -X- --
-On: 2011-11-02 17:09:47.884310 Event: init Caller
-On: 2011-11-02 17:09:47.884328 Event: GSMRZ2
-On: 2011-11-02 17:09:55.894712 Event: Caller Greeting
-On: 2011-11-02 17:09:55.895292 Event: Connected to Caller Handler
-On: 2011-11-02 17:09:56.106757 Event: Caller Handler respond
-On: 2011-11-02 17:09:56.109026 Event: Caller handler : Ready
-On: 2011-11-02 17:09:56.109063 Event: init Receiver
-On: 2011-11-02 17:09:56.109085 Event: GSMExt.Eplus
-On: 2011-11-02 17:09:56.109137 Event: Init GSM
-On: 2011-11-02 17:09:58.113443 Event: Receiver Greeting
-On: 2011-11-02 17:09:58.116044 Event: Connected to Receiver Handler
-On: 2011-11-02 17:09:58.242215 Event: Receiver Handler respond
-On: 2011-11-02 17:09:58.242514 Event: Receiver handler : Ready
-On: 2011-11-02 17:09:58.242619 Event: Start Call
-On: 2011-11-02 17:09:58.242967 Event: Waiting Feedback
-On: 2011-11-02 17:10:13.243624 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 17:10:13.243682 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:10:13.244346 Event: init Cancel test
-On: 2011-11-02 17:10:16.306049 Event: -- -X- --
-On: 2011-11-02 17:10:16.306118 Event: init Caller
-On: 2011-11-02 17:10:16.306136 Event: GSMRZ1
-On: 2011-11-02 17:10:16.306183 Event: Init GSM
-On: 2011-11-02 17:10:18.316237 Event: Caller Greeting
-On: 2011-11-02 17:10:18.318941 Event: Connected to Caller Handler
-On: 2011-11-02 17:10:18.466226 Event: Caller Handler respond
-On: 2011-11-02 17:10:18.466532 Event: Caller handler : Ready
-On: 2011-11-02 17:10:18.466564 Event: init Receiver
-On: 2011-11-02 17:10:18.466584 Event: GSMExt.O2
-On: 2011-11-02 17:10:18.466635 Event: Init GSM
-On: 2011-11-02 17:10:20.470014 Event: Receiver Greeting
-On: 2011-11-02 17:10:20.472516 Event: Connected to Receiver Handler
-On: 2011-11-02 17:10:20.594212 Event: Receiver Handler respond
-On: 2011-11-02 17:10:20.594506 Event: Receiver handler : Ready
-On: 2011-11-02 17:10:20.594538 Event: Start Call
-On: 2011-11-02 17:10:20.594593 Event: Waiting Feedback
-On: 2011-11-02 17:10:31.726136 Event: Test Succeed
-On: 2011-11-02 17:10:31.726194 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:10:31.726334 Event: init Cancel test
-On: 2011-11-02 17:10:34.787345 Event: -- -X- --
-On: 2011-11-02 17:10:34.787410 Event: init Caller
-On: 2011-11-02 17:10:34.787429 Event: GSMRZ1
-On: 2011-11-02 17:10:34.787476 Event: Init GSM
-On: 2011-11-02 17:10:36.796974 Event: Caller Greeting
-On: 2011-11-02 17:10:36.799577 Event: Connected to Caller Handler
-On: 2011-11-02 17:10:36.943296 Event: Caller Handler respond
-On: 2011-11-02 17:10:36.943604 Event: Caller handler : Ready
-On: 2011-11-02 17:10:36.943637 Event: init Receiver
-On: 2011-11-02 17:10:36.943656 Event: GSMExt.Tm
-On: 2011-11-02 17:10:36.943707 Event: Init GSM
-On: 2011-11-02 17:10:38.947869 Event: Receiver Greeting
-On: 2011-11-02 17:10:38.950406 Event: Connected to Receiver Handler
-On: 2011-11-02 17:10:39.066134 Event: Receiver Handler respond
-On: 2011-11-02 17:10:39.066425 Event: Receiver handler : Ready
-On: 2011-11-02 17:10:39.066458 Event: Start Call
-On: 2011-11-02 17:10:39.066511 Event: Waiting Feedback
-On: 2011-11-02 17:10:52.274135 Event: Test Succeed
-On: 2011-11-02 17:10:52.274192 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:10:52.274328 Event: init Cancel test
-On: 2011-11-02 17:10:55.344670 Event: -- -X- --
-On: 2011-11-02 17:10:55.344747 Event: init Caller
-On: 2011-11-02 17:10:55.344765 Event: GSMRZ1
-On: 2011-11-02 17:10:55.344811 Event: Init GSM
-On: 2011-11-02 17:10:57.349121 Event: Caller Greeting
-On: 2011-11-02 17:10:57.351755 Event: Connected to Caller Handler
-On: 2011-11-02 17:10:57.492006 Event: Caller Handler respond
-On: 2011-11-02 17:10:57.493902 Event: Caller handler : Ready
-On: 2011-11-02 17:10:57.493944 Event: init Receiver
-On: 2011-11-02 17:10:57.493997 Event: GSMExt.Voda
-On: 2011-11-02 17:10:57.494049 Event: Init GSM
-On: 2011-11-02 17:10:59.498026 Event: Receiver Greeting
-On: 2011-11-02 17:10:59.500533 Event: Connected to Receiver Handler
-On: 2011-11-02 17:10:59.618167 Event: Receiver Handler respond
-On: 2011-11-02 17:10:59.618459 Event: Receiver handler : Ready
-On: 2011-11-02 17:10:59.618490 Event: Start Call
-On: 2011-11-02 17:10:59.618545 Event: Waiting Feedback
-On: 2011-11-02 17:11:10.558140 Event: Test Succeed
-On: 2011-11-02 17:11:10.558201 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:11:10.558340 Event: init Cancel test
-On: 2011-11-02 17:11:13.627973 Event: -- -X- --
-On: 2011-11-02 17:11:13.628043 Event: init Caller
-On: 2011-11-02 17:11:13.628061 Event: GSMRZ1
-On: 2011-11-02 17:11:13.628107 Event: Init GSM
-On: 2011-11-02 17:11:15.632975 Event: Caller Greeting
-On: 2011-11-02 17:11:15.635549 Event: Connected to Caller Handler
-On: 2011-11-02 17:11:15.782171 Event: Caller Handler respond
-On: 2011-11-02 17:11:15.782475 Event: Caller handler : Ready
-On: 2011-11-02 17:11:15.782509 Event: init Receiver
-On: 2011-11-02 17:11:15.782605 Event: GSMExt.Eplus
-On: 2011-11-02 17:11:15.782659 Event: Init GSM
-On: 2011-11-02 17:11:17.792600 Event: Receiver Greeting
-On: 2011-11-02 17:11:17.795132 Event: Connected to Receiver Handler
-On: 2011-11-02 17:11:17.914209 Event: Receiver Handler respond
-On: 2011-11-02 17:11:17.914502 Event: Receiver handler : Ready
-On: 2011-11-02 17:11:17.914534 Event: Start Call
-On: 2011-11-02 17:11:17.914588 Event: Waiting Feedback
-On: 2011-11-02 17:11:32.918500 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 17:11:32.918559 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:11:32.918695 Event: init Cancel test
-On: 2011-11-02 17:11:37.980608 Event: -- -X- --
-On: 2011-11-02 17:11:37.980670 Event: init Caller
-On: 2011-11-02 17:11:37.980689 Event: landline
-On: 2011-11-02 17:11:39.984802 Event: Caller Greeting
-On: 2011-11-02 17:11:39.985605 Event: Connected to Caller Handler
-On: 2011-11-02 17:11:39.985886 Event: Caller Handler respond
-On: 2011-11-02 17:11:39.989035 Event: Caller handler : Ready
-On: 2011-11-02 17:11:39.989074 Event: init Receiver
-On: 2011-11-02 17:11:39.989094 Event: GSMRZ3
-On: 2011-11-02 17:11:47.999595 Event: Receiver Greeting
-On: 2011-11-02 17:11:48.000167 Event: Connected to Receiver Handler
-On: 2011-11-02 17:11:48.221123 Event: Receiver Handler respond
-On: 2011-11-02 17:11:48.223701 Event: Receiver handler : Ready
-On: 2011-11-02 17:11:48.223738 Event: Start Call
-On: 2011-11-02 17:11:48.223797 Event: Waiting Feedback
-On: 2011-11-02 17:11:57.029236 Event: Test Succeed
-On: 2011-11-02 17:11:57.029292 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:11:57.029481 Event: init Cancel test
-On: 2011-11-02 17:12:00.093573 Event: -- -X- --
-On: 2011-11-02 17:12:00.093639 Event: init Caller
-On: 2011-11-02 17:12:00.093658 Event: landline
-On: 2011-11-02 17:12:02.098011 Event: Caller Greeting
-On: 2011-11-02 17:12:02.098872 Event: Connected to Caller Handler
-On: 2011-11-02 17:12:02.099158 Event: Caller Handler respond
-On: 2011-11-02 17:12:02.101682 Event: Caller handler : Ready
-On: 2011-11-02 17:12:02.101722 Event: init Receiver
-On: 2011-11-02 17:12:02.101742 Event: GSMRZ2
-On: 2011-11-02 17:12:10.110020 Event: Receiver Greeting
-On: 2011-11-02 17:12:10.110583 Event: Connected to Receiver Handler
-On: 2011-11-02 17:12:10.324035 Event: Receiver Handler respond
-On: 2011-11-02 17:12:10.326255 Event: Receiver handler : Ready
-On: 2011-11-02 17:12:10.326298 Event: Start Call
-On: 2011-11-02 17:12:10.326360 Event: Waiting Feedback
-On: 2011-11-02 17:12:18.812501 Event: Test Succeed
-On: 2011-11-02 17:12:18.812558 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:12:18.812747 Event: init Cancel test
-On: 2011-11-02 17:12:21.883161 Event: -- -X- --
-On: 2011-11-02 17:12:21.883222 Event: init Caller
-On: 2011-11-02 17:12:21.883240 Event: landline
-On: 2011-11-02 17:12:23.892548 Event: Caller Greeting
-On: 2011-11-02 17:12:23.893263 Event: Connected to Caller Handler
-On: 2011-11-02 17:12:23.893879 Event: Caller Handler respond
-On: 2011-11-02 17:12:23.895960 Event: Caller handler : Ready
-On: 2011-11-02 17:12:23.896000 Event: init Receiver
-On: 2011-11-02 17:12:23.896020 Event: GSMRZ1
-On: 2011-11-02 17:12:23.896069 Event: Init GSM
-On: 2011-11-02 17:12:25.902009 Event: Receiver Greeting
-On: 2011-11-02 17:12:25.904564 Event: Connected to Receiver Handler
-On: 2011-11-02 17:12:26.054145 Event: Receiver Handler respond
-On: 2011-11-02 17:12:26.054441 Event: Receiver handler : Ready
-On: 2011-11-02 17:12:26.054474 Event: Start Call
-On: 2011-11-02 17:12:26.054529 Event: Waiting Feedback
-On: 2011-11-02 17:12:33.936927 Event: Test Succeed
-On: 2011-11-02 17:12:33.936983 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:12:33.937119 Event: init Cancel test
-On: 2011-11-02 17:12:36.996907 Event: -- -X- --
-On: 2011-11-02 17:12:36.996969 Event: init Caller
-On: 2011-11-02 17:12:36.996988 Event: landline
-On: 2011-11-02 17:12:39.001058 Event: Caller Greeting
-On: 2011-11-02 17:12:39.001897 Event: Connected to Caller Handler
-On: 2011-11-02 17:12:39.002224 Event: Caller Handler respond
-On: 2011-11-02 17:12:39.004386 Event: Caller handler : Ready
-On: 2011-11-02 17:12:39.004503 Event: init Receiver
-On: 2011-11-02 17:12:39.004528 Event: sip
-On: 2011-11-02 17:12:41.008478 Event: Receiver Greeting
-On: 2011-11-02 17:12:41.009345 Event: Connected to Receiver Handler
-On: 2011-11-02 17:12:41.009632 Event: Receiver Handler respond
-On: 2011-11-02 17:12:41.010447 Event: Receiver handler : Ready
-On: 2011-11-02 17:12:41.010486 Event: Start Call
-On: 2011-11-02 17:12:41.010546 Event: Waiting Feedback
-On: 2011-11-02 17:12:47.520024 Event: Test Succeed
-On: 2011-11-02 17:12:47.520077 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:12:47.520214 Event: init Cancel test
-On: 2011-11-02 17:12:50.559729 Event: -- -X- --
-On: 2011-11-02 17:12:50.559794 Event: init Caller
-On: 2011-11-02 17:12:50.559812 Event: GSMRZ2
-On: 2011-11-02 17:12:58.575598 Event: Caller Greeting
-On: 2011-11-02 17:12:58.576185 Event: Connected to Caller Handler
-On: 2011-11-02 17:12:58.795212 Event: Caller Handler respond
-On: 2011-11-02 17:12:58.797515 Event: Caller handler : Ready
-On: 2011-11-02 17:12:58.797552 Event: init Receiver
-On: 2011-11-02 17:12:58.797573 Event: GSMRZ3
-On: 2011-11-02 17:13:06.808056 Event: Receiver Greeting
-On: 2011-11-02 17:13:06.808622 Event: Connected to Receiver Handler
-On: 2011-11-02 17:13:07.012862 Event: Receiver Handler respond
-On: 2011-11-02 17:13:07.015560 Event: Receiver handler : Ready
-On: 2011-11-02 17:13:07.015626 Event: Start Call
-On: 2011-11-02 17:13:07.015698 Event: Waiting Feedback
-On: 2011-11-02 17:13:11.201438 Event: Test Succeed
-On: 2011-11-02 17:13:11.201504 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:13:11.201698 Event: init Cancel test
-On: 2011-11-02 17:13:14.258376 Event: -- -X- --
-On: 2011-11-02 17:13:14.258441 Event: init Caller
-On: 2011-11-02 17:13:14.258459 Event: GSMRZ1
-On: 2011-11-02 17:13:14.258505 Event: Init GSM
-On: 2011-11-02 17:13:16.263640 Event: Caller Greeting
-On: 2011-11-02 17:13:16.266257 Event: Connected to Caller Handler
-On: 2011-11-02 17:13:16.410134 Event: Caller Handler respond
-On: 2011-11-02 17:13:16.410441 Event: Caller handler : Ready
-On: 2011-11-02 17:13:16.410473 Event: init Receiver
-On: 2011-11-02 17:13:16.410493 Event: GSMRZ3
-On: 2011-11-02 17:13:24.418017 Event: Receiver Greeting
-On: 2011-11-02 17:13:24.418580 Event: Connected to Receiver Handler
-On: 2011-11-02 17:13:24.653878 Event: Receiver Handler respond
-On: 2011-11-02 17:13:24.656472 Event: Receiver handler : Ready
-On: 2011-11-02 17:13:24.656509 Event: Start Call
-On: 2011-11-02 17:13:24.656567 Event: Waiting Feedback
-On: 2011-11-02 17:13:29.314144 Event: Test Succeed
-On: 2011-11-02 17:13:29.314205 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:13:29.314391 Event: init Cancel test
-On: 2011-11-02 17:13:32.377884 Event: -- -X- --
-On: 2011-11-02 17:13:32.377983 Event: init Caller
-On: 2011-11-02 17:13:32.378003 Event: GSMRZ1
-On: 2011-11-02 17:13:32.378050 Event: Init GSM
-On: 2011-11-02 17:13:34.382018 Event: Caller Greeting
-On: 2011-11-02 17:13:34.384528 Event: Connected to Caller Handler
-On: 2011-11-02 17:13:34.522210 Event: Caller Handler respond
-On: 2011-11-02 17:13:34.522513 Event: Caller handler : Ready
-On: 2011-11-02 17:13:34.522546 Event: init Receiver
-On: 2011-11-02 17:13:34.522566 Event: GSMRZ2
-On: 2011-11-02 17:13:42.530164 Event: Receiver Greeting
-On: 2011-11-02 17:13:42.530743 Event: Connected to Receiver Handler
-On: 2011-11-02 17:13:42.742070 Event: Receiver Handler respond
-On: 2011-11-02 17:13:42.744310 Event: Receiver handler : Ready
-On: 2011-11-02 17:13:42.744349 Event: Start Call
-On: 2011-11-02 17:13:42.744407 Event: Waiting Feedback
-On: 2011-11-02 17:13:47.315966 Event: Test Succeed
-On: 2011-11-02 17:13:47.316028 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:13:47.316216 Event: init Cancel test
-On: 2011-11-02 17:13:50.356831 Event: -- -X- --
-On: 2011-11-02 17:13:50.356891 Event: init Caller
-On: 2011-11-02 17:13:50.356909 Event: sip
-On: 2011-11-02 17:13:52.369345 Event: Caller Greeting
-On: 2011-11-02 17:13:52.370227 Event: Connected to Caller Handler
-On: 2011-11-02 17:13:52.370515 Event: Caller Handler respond
-On: 2011-11-02 17:13:52.371277 Event: Caller handler : Ready
-On: 2011-11-02 17:13:52.371397 Event: init Receiver
-On: 2011-11-02 17:13:52.371419 Event: unisip
-On: 2011-11-02 17:13:54.376229 Event: Receiver Greeting
-On: 2011-11-02 17:13:54.377041 Event: Connected to Receiver Handler
-On: 2011-11-02 17:13:54.377331 Event: Receiver Handler respond
-On: 2011-11-02 17:13:54.378145 Event: Receiver handler : Ready
-On: 2011-11-02 17:13:54.378184 Event: Start Call
-On: 2011-11-02 17:13:54.378245 Event: Waiting Feedback
-On: 2011-11-02 17:13:57.424361 Event: Test Succeed
-On: 2011-11-02 17:13:57.424420 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:13:57.424560 Event: init Cancel test
-On: 2011-11-02 17:14:00.476345 Event: -- -X- --
-On: 2011-11-02 17:14:00.476410 Event: init Caller
-On: 2011-11-02 17:14:00.476428 Event: sip
-On: 2011-11-02 17:14:02.482595 Event: Caller Greeting
-On: 2011-11-02 17:14:02.483436 Event: Connected to Caller Handler
-On: 2011-11-02 17:14:02.483718 Event: Caller Handler respond
-On: 2011-11-02 17:14:02.484482 Event: Caller handler : Ready
-On: 2011-11-02 17:14:02.484521 Event: init Receiver
-On: 2011-11-02 17:14:02.484541 Event: landline
-On: 2011-11-02 17:14:04.488406 Event: Receiver Greeting
-On: 2011-11-02 17:14:04.489219 Event: Connected to Receiver Handler
-On: 2011-11-02 17:14:04.489501 Event: Receiver Handler respond
-On: 2011-11-02 17:14:04.494217 Event: Receiver handler : Ready
-On: 2011-11-02 17:14:04.494257 Event: Start Call
-On: 2011-11-02 17:14:04.494314 Event: Waiting Feedback
-On: 2011-11-02 17:14:12.030325 Event: Test Succeed
-On: 2011-11-02 17:14:12.030384 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:14:12.030523 Event: init Cancel test
-On: 2011-11-02 17:14:15.079085 Event: -- -X- --
-On: 2011-11-02 17:14:15.079147 Event: init Caller
-On: 2011-11-02 17:14:15.079166 Event: GSMRZ3
-On: 2011-11-02 17:14:23.090768 Event: Caller Greeting
-On: 2011-11-02 17:14:23.091362 Event: Connected to Caller Handler
-On: 2011-11-02 17:14:23.297297 Event: Caller Handler respond
-On: 2011-11-02 17:14:23.300019 Event: Caller handler : Ready
-On: 2011-11-02 17:14:23.300084 Event: init Receiver
-On: 2011-11-02 17:14:23.300106 Event: sip
-On: 2011-11-02 17:14:25.304454 Event: Receiver Greeting
-On: 2011-11-02 17:14:25.305279 Event: Connected to Receiver Handler
-On: 2011-11-02 17:14:25.305559 Event: Receiver Handler respond
-On: 2011-11-02 17:14:25.306376 Event: Receiver handler : Ready
-On: 2011-11-02 17:14:25.306415 Event: Start Call
-On: 2011-11-02 17:14:25.306675 Event: Waiting Feedback
-On: 2011-11-02 17:14:28.601992 Event: Test Succeed
-On: 2011-11-02 17:14:28.602055 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:14:28.603062 Event: init Cancel test
-On: 2011-11-02 17:14:31.650471 Event: -- -X- --
-On: 2011-11-02 17:14:31.650535 Event: init Caller
-On: 2011-11-02 17:14:31.650554 Event: GSMRZ2
-On: 2011-11-02 17:14:39.657364 Event: Caller Greeting
-On: 2011-11-02 17:14:39.657942 Event: Connected to Caller Handler
-On: 2011-11-02 17:14:39.870208 Event: Caller Handler respond
-On: 2011-11-02 17:14:39.872462 Event: Caller handler : Ready
-On: 2011-11-02 17:14:39.872520 Event: init Receiver
-On: 2011-11-02 17:14:39.872542 Event: sip
-On: 2011-11-02 17:14:41.876420 Event: Receiver Greeting
-On: 2011-11-02 17:14:41.877249 Event: Connected to Receiver Handler
-On: 2011-11-02 17:14:41.877528 Event: Receiver Handler respond
-On: 2011-11-02 17:14:41.878396 Event: Receiver handler : Ready
-On: 2011-11-02 17:14:41.878434 Event: Start Call
-On: 2011-11-02 17:14:41.878696 Event: Waiting Feedback
-On: 2011-11-02 17:14:45.041779 Event: Test Succeed
-On: 2011-11-02 17:14:45.041842 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:14:45.042881 Event: init Cancel test
-On: 2011-11-02 17:14:48.099101 Event: -- -X- --
-On: 2011-11-02 17:14:48.099164 Event: init Caller
-On: 2011-11-02 17:14:48.099183 Event: GSMRZ1
-On: 2011-11-02 17:14:48.099230 Event: Init GSM
-On: 2011-11-02 17:14:50.102016 Event: Caller Greeting
-On: 2011-11-02 17:14:50.104497 Event: Connected to Caller Handler
-On: 2011-11-02 17:14:50.254166 Event: Caller Handler respond
-On: 2011-11-02 17:14:50.254469 Event: Caller handler : Ready
-On: 2011-11-02 17:14:50.254502 Event: init Receiver
-On: 2011-11-02 17:14:50.254607 Event: sip
-On: 2011-11-02 17:14:52.258015 Event: Receiver Greeting
-On: 2011-11-02 17:14:52.258842 Event: Connected to Receiver Handler
-On: 2011-11-02 17:14:52.259130 Event: Receiver Handler respond
-On: 2011-11-02 17:14:52.259885 Event: Receiver handler : Ready
-On: 2011-11-02 17:14:52.259925 Event: Start Call
-On: 2011-11-02 17:14:52.262134 Event: Waiting Feedback
-On: 2011-11-02 17:14:54.830145 Event: Test Succeed
-On: 2011-11-02 17:14:54.830202 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:14:54.830338 Event: init Cancel test
-On: 2011-11-02 17:14:57.870463 Event: -- -X- --
-On: 2011-11-02 17:14:57.870527 Event: init Caller
-On: 2011-11-02 17:14:57.870545 Event: sip
-On: 2011-11-02 17:14:59.880228 Event: Caller Greeting
-On: 2011-11-02 17:14:59.881059 Event: Connected to Caller Handler
-On: 2011-11-02 17:14:59.881341 Event: Caller Handler respond
-On: 2011-11-02 17:14:59.882172 Event: Caller handler : Ready
-On: 2011-11-02 17:14:59.882210 Event: init Receiver
-On: 2011-11-02 17:14:59.882229 Event: GSMRZ3
-On: 2011-11-02 17:15:07.889154 Event: Receiver Greeting
-On: 2011-11-02 17:15:07.889710 Event: Connected to Receiver Handler
-On: 2011-11-02 17:15:08.089568 Event: Receiver Handler respond
-On: 2011-11-02 17:15:08.092168 Event: Receiver handler : Ready
-On: 2011-11-02 17:15:08.092205 Event: Start Call
-On: 2011-11-02 17:15:08.092265 Event: Waiting Feedback
-On: 2011-11-02 17:15:13.119609 Event: Test Succeed
-On: 2011-11-02 17:15:13.119669 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:15:13.119850 Event: init Cancel test
-On: 2011-11-02 17:15:16.164869 Event: -- -X- --
-On: 2011-11-02 17:15:16.164930 Event: init Caller
-On: 2011-11-02 17:15:16.164949 Event: sip
-On: 2011-11-02 17:15:18.167452 Event: Caller Greeting
-On: 2011-11-02 17:15:18.168288 Event: Connected to Caller Handler
-On: 2011-11-02 17:15:18.168569 Event: Caller Handler respond
-On: 2011-11-02 17:15:18.169330 Event: Caller handler : Ready
-On: 2011-11-02 17:15:18.169369 Event: init Receiver
-On: 2011-11-02 17:15:18.169389 Event: GSMRZ2
-On: 2011-11-02 17:15:26.178319 Event: Receiver Greeting
-On: 2011-11-02 17:15:26.178855 Event: Connected to Receiver Handler
-On: 2011-11-02 17:15:26.395581 Event: Receiver Handler respond
-On: 2011-11-02 17:15:26.398057 Event: Receiver handler : Ready
-On: 2011-11-02 17:15:26.398122 Event: Start Call
-On: 2011-11-02 17:15:26.398195 Event: Waiting Feedback
-On: 2011-11-02 17:15:31.239457 Event: Test Succeed
-On: 2011-11-02 17:15:31.239520 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:15:31.239698 Event: init Cancel test
-On: 2011-11-02 17:15:34.296324 Event: -- -X- --
-On: 2011-11-02 17:15:34.296388 Event: init Caller
-On: 2011-11-02 17:15:34.296407 Event: sip
-On: 2011-11-02 17:15:36.300856 Event: Caller Greeting
-On: 2011-11-02 17:15:36.301692 Event: Connected to Caller Handler
-On: 2011-11-02 17:15:36.302008 Event: Caller Handler respond
-On: 2011-11-02 17:15:36.302798 Event: Caller handler : Ready
-On: 2011-11-02 17:15:36.302839 Event: init Receiver
-On: 2011-11-02 17:15:36.302858 Event: GSMRZ1
-On: 2011-11-02 17:15:36.302907 Event: Init GSM
-On: 2011-11-02 17:15:38.306768 Event: Receiver Greeting
-On: 2011-11-02 17:15:38.309350 Event: Connected to Receiver Handler
-On: 2011-11-02 17:15:38.458415 Event: Receiver Handler respond
-On: 2011-11-02 17:15:38.458710 Event: Receiver handler : Ready
-On: 2011-11-02 17:15:38.458740 Event: Start Call
-On: 2011-11-02 17:15:38.458793 Event: Waiting Feedback
-On: 2011-11-02 17:15:44.198170 Event: Test Succeed
-On: 2011-11-02 17:15:44.198227 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:15:44.198367 Event: init Cancel test
-On: 2011-11-02 17:15:47.255804 Event: -- -X- --
-On: 2011-11-02 17:15:47.255868 Event: init Caller
-On: 2011-11-02 17:15:47.255887 Event: GSMRZ1
-On: 2011-11-02 17:15:47.255933 Event: Init GSM
-On: 2011-11-02 17:15:49.264473 Event: Caller Greeting
-On: 2011-11-02 17:15:49.267067 Event: Connected to Caller Handler
-On: 2011-11-02 17:15:49.390137 Event: Caller Handler respond
-On: 2011-11-02 17:15:49.390435 Event: Caller handler : Ready
-On: 2011-11-02 17:15:49.390465 Event: init Receiver
-On: 2011-11-02 17:15:49.390558 Event: unisip
-On: 2011-11-02 17:15:51.394015 Event: Receiver Greeting
-On: 2011-11-02 17:15:51.394837 Event: Connected to Receiver Handler
-On: 2011-11-02 17:15:51.395120 Event: Receiver Handler respond
-On: 2011-11-02 17:15:51.395880 Event: Receiver handler : Ready
-On: 2011-11-02 17:15:51.395919 Event: Start Call
-On: 2011-11-02 17:15:51.398133 Event: Waiting Feedback
-On: 2011-11-02 17:15:54.454137 Event: Test Succeed
-On: 2011-11-02 17:15:54.454195 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:15:54.454332 Event: init Cancel test
-On: 2011-11-02 17:15:57.495207 Event: -- -X- --
-On: 2011-11-02 17:15:57.495270 Event: init Caller
-On: 2011-11-02 17:15:57.495289 Event: GSMRZ2
-On: 2011-11-02 17:16:05.504090 Event: Caller Greeting
-On: 2011-11-02 17:16:05.504673 Event: Connected to Caller Handler
-On: 2011-11-02 17:16:05.718000 Event: Caller Handler respond
-On: 2011-11-02 17:16:05.720325 Event: Caller handler : Ready
-On: 2011-11-02 17:16:05.720387 Event: init Receiver
-On: 2011-11-02 17:16:05.720408 Event: unisip
-On: 2011-11-02 17:16:07.723314 Event: Receiver Greeting
-On: 2011-11-02 17:16:07.724137 Event: Connected to Receiver Handler
-On: 2011-11-02 17:16:07.724419 Event: Receiver Handler respond
-On: 2011-11-02 17:16:07.725184 Event: Receiver handler : Ready
-On: 2011-11-02 17:16:07.725223 Event: Start Call
-On: 2011-11-02 17:16:07.725483 Event: Waiting Feedback
-On: 2011-11-02 17:16:11.139684 Event: Test Succeed
-On: 2011-11-02 17:16:11.139747 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:16:11.140791 Event: init Cancel test
-On: 2011-11-02 17:16:14.186581 Event: -- -X- --
-On: 2011-11-02 17:16:14.186644 Event: init Caller
-On: 2011-11-02 17:16:14.186663 Event: GSMRZ3
-On: 2011-11-02 17:16:22.204081 Event: Caller Greeting
-On: 2011-11-02 17:16:22.204647 Event: Connected to Caller Handler
-On: 2011-11-02 17:16:22.436081 Event: Caller Handler respond
-On: 2011-11-02 17:16:22.438660 Event: Caller handler : Ready
-On: 2011-11-02 17:16:22.438698 Event: init Receiver
-On: 2011-11-02 17:16:22.438719 Event: unisip
-On: 2011-11-02 17:16:24.442029 Event: Receiver Greeting
-On: 2011-11-02 17:16:24.442871 Event: Connected to Receiver Handler
-On: 2011-11-02 17:16:24.443152 Event: Receiver Handler respond
-On: 2011-11-02 17:16:24.444270 Event: Receiver handler : Ready
-On: 2011-11-02 17:16:24.444306 Event: Start Call
-On: 2011-11-02 17:16:24.444464 Event: Waiting Feedback
-On: 2011-11-02 17:16:27.763806 Event: Test Succeed
-On: 2011-11-02 17:16:27.763872 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:16:27.764924 Event: init Cancel test
-On: 2011-11-02 17:16:30.817727 Event: -- -X- --
-On: 2011-11-02 17:16:30.817795 Event: init Caller
-On: 2011-11-02 17:16:30.817814 Event: sip
-On: 2011-11-02 17:16:32.826272 Event: Caller Greeting
-On: 2011-11-02 17:16:32.827104 Event: Connected to Caller Handler
-On: 2011-11-02 17:16:32.827387 Event: Caller Handler respond
-On: 2011-11-02 17:16:32.828152 Event: Caller handler : Ready
-On: 2011-11-02 17:16:32.828191 Event: init Receiver
-On: 2011-11-02 17:16:32.828213 Event: GSMExt.Eplus
-On: 2011-11-02 17:16:32.828263 Event: Init GSM
-On: 2011-11-02 17:16:34.832772 Event: Receiver Greeting
-On: 2011-11-02 17:16:34.835376 Event: Connected to Receiver Handler
-On: 2011-11-02 17:16:34.962155 Event: Receiver Handler respond
-On: 2011-11-02 17:16:34.962453 Event: Receiver handler : Ready
-On: 2011-11-02 17:16:34.962484 Event: Start Call
-On: 2011-11-02 17:16:34.962538 Event: Waiting Feedback
-On: 2011-11-02 17:16:49.962970 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 17:16:49.963029 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:16:49.963165 Event: init Cancel test
-On: 2011-11-02 17:16:53.015136 Event: -- -X- --
-On: 2011-11-02 17:16:53.015199 Event: init Caller
-On: 2011-11-02 17:16:53.015217 Event: sip
-On: 2011-11-02 17:16:55.023626 Event: Caller Greeting
-On: 2011-11-02 17:16:55.024464 Event: Connected to Caller Handler
-On: 2011-11-02 17:16:55.024739 Event: Caller Handler respond
-On: 2011-11-02 17:16:55.025476 Event: Caller handler : Ready
-On: 2011-11-02 17:16:55.025512 Event: init Receiver
-On: 2011-11-02 17:16:55.025533 Event: GSMExt.Voda
-On: 2011-11-02 17:16:55.028574 Event: Init GSM
-On: 2011-11-02 17:16:57.033217 Event: Receiver Greeting
-On: 2011-11-02 17:16:57.035870 Event: Connected to Receiver Handler
-On: 2011-11-02 17:16:57.154171 Event: Receiver Handler respond
-On: 2011-11-02 17:16:57.154470 Event: Receiver handler : Ready
-On: 2011-11-02 17:16:57.154503 Event: Start Call
-On: 2011-11-02 17:16:57.154558 Event: Waiting Feedback
-On: 2011-11-02 17:17:12.961408 Event: Test Succeed
-On: 2011-11-02 17:17:12.961467 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:17:12.961607 Event: init Cancel test
-On: 2011-11-02 17:17:16.016930 Event: -- -X- --
-On: 2011-11-02 17:17:16.016992 Event: init Caller
-On: 2011-11-02 17:17:16.017010 Event: sip
-On: 2011-11-02 17:17:18.020658 Event: Caller Greeting
-On: 2011-11-02 17:17:18.021490 Event: Connected to Caller Handler
-On: 2011-11-02 17:17:18.021773 Event: Caller Handler respond
-On: 2011-11-02 17:17:18.022604 Event: Caller handler : Ready
-On: 2011-11-02 17:17:18.022642 Event: init Receiver
-On: 2011-11-02 17:17:18.022663 Event: GSMExt.Tm
-On: 2011-11-02 17:17:18.022713 Event: Init GSM
-On: 2011-11-02 17:17:20.026324 Event: Receiver Greeting
-On: 2011-11-02 17:17:20.028916 Event: Connected to Receiver Handler
-On: 2011-11-02 17:17:20.150141 Event: Receiver Handler respond
-On: 2011-11-02 17:17:20.150436 Event: Receiver handler : Ready
-On: 2011-11-02 17:17:20.150466 Event: Start Call
-On: 2011-11-02 17:17:20.150520 Event: Waiting Feedback
-On: 2011-11-02 17:17:33.822957 Event: Test Succeed
-On: 2011-11-02 17:17:33.823017 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:17:33.823157 Event: init Cancel test
-On: 2011-11-02 17:17:36.879983 Event: -- -X- --
-On: 2011-11-02 17:17:36.880045 Event: init Caller
-On: 2011-11-02 17:17:36.880063 Event: sip
-On: 2011-11-02 17:17:38.882731 Event: Caller Greeting
-On: 2011-11-02 17:17:38.883565 Event: Connected to Caller Handler
-On: 2011-11-02 17:17:38.883847 Event: Caller Handler respond
-On: 2011-11-02 17:17:38.884623 Event: Caller handler : Ready
-On: 2011-11-02 17:17:38.884662 Event: init Receiver
-On: 2011-11-02 17:17:38.884682 Event: GSMExt.O2
-On: 2011-11-02 17:17:38.884733 Event: Init GSM
-On: 2011-11-02 17:17:40.888106 Event: Receiver Greeting
-On: 2011-11-02 17:17:40.890832 Event: Connected to Receiver Handler
-On: 2011-11-02 17:17:40.990253 Event: Receiver Handler respond
-On: 2011-11-02 17:17:40.990552 Event: Receiver handler : Ready
-On: 2011-11-02 17:17:40.990585 Event: Start Call
-On: 2011-11-02 17:17:40.990639 Event: Waiting Feedback
-On: 2011-11-02 17:17:54.368546 Event: Test Succeed
-On: 2011-11-02 17:17:54.368604 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:17:54.368744 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:37:54.248908 ------------------
-On: 2011-11-02 17:37:54.248979 Event: init Caller
-On: 2011-11-02 17:37:54.249003 Event: GSMRZ2
-On: 2011-11-02 17:38:02.257724 Event: Caller Greeting
-On: 2011-11-02 17:38:02.258435 Event: Connected to Caller Handler
-On: 2011-11-02 17:38:02.466995 Event: Caller Handler respond
-On: 2011-11-02 17:38:02.469337 Event: Caller handler : Ready
-On: 2011-11-02 17:38:02.469374 Event: init Receiver
-On: 2011-11-02 17:38:02.469393 Event: unisip
-On: 2011-11-02 17:38:04.473566 Event: Receiver Greeting
-On: 2011-11-02 17:38:04.474423 Event: Connected to Receiver Handler
-On: 2011-11-02 17:38:04.474695 Event: Receiver Handler respond
-On: 2011-11-02 17:38:04.475424 Event: Receiver handler : Ready
-On: 2011-11-02 17:38:04.475461 Event: Start Call
-On: 2011-11-02 17:38:04.475709 Event: Waiting Feedback
-On: 2011-11-02 17:38:07.490371 Event: Test Succeed
-On: 2011-11-02 17:38:07.490431 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:38:07.491449 Event: init Cancel test
-On: 2011-11-02 17:38:10.599804 Event: -- -X- --
-On: 2011-11-02 17:38:10.599864 Event: init Caller
-On: 2011-11-02 17:38:10.599882 Event: landline
-On: 2011-11-02 17:38:12.604054 Event: Caller Greeting
-On: 2011-11-02 17:38:12.604844 Event: Connected to Caller Handler
-On: 2011-11-02 17:38:12.605113 Event: Caller Handler respond
-On: 2011-11-02 17:38:12.607128 Event: Caller handler : Ready
-On: 2011-11-02 17:38:12.607166 Event: init Receiver
-On: 2011-11-02 17:38:12.607186 Event: GSMRZ3
-On: 2011-11-02 17:38:20.614239 Event: Receiver Greeting
-On: 2011-11-02 17:38:20.614774 Event: Connected to Receiver Handler
-On: 2011-11-02 17:38:20.841148 Event: Receiver Handler respond
-On: 2011-11-02 17:38:20.843848 Event: Receiver handler : Ready
-On: 2011-11-02 17:38:20.843904 Event: Start Call
-On: 2011-11-02 17:38:20.843972 Event: Waiting Feedback
-On: 2011-11-02 17:38:29.357823 Event: Test Succeed
-On: 2011-11-02 17:38:29.357875 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:38:29.358086 Event: init Cancel test
-On: 2011-11-02 17:38:32.414273 Event: -- -X- --
-On: 2011-11-02 17:38:32.414329 Event: init Caller
-On: 2011-11-02 17:38:32.414347 Event: landline
-On: 2011-11-02 17:38:34.421870 Event: Caller Greeting
-On: 2011-11-02 17:38:34.422667 Event: Connected to Caller Handler
-On: 2011-11-02 17:38:34.422940 Event: Caller Handler respond
-On: 2011-11-02 17:38:34.427361 Event: Caller handler : Ready
-On: 2011-11-02 17:38:34.427400 Event: init Receiver
-On: 2011-11-02 17:38:34.427422 Event: sip
-On: 2011-11-02 17:38:36.430028 Event: Receiver Greeting
-On: 2011-11-02 17:38:36.430801 Event: Connected to Receiver Handler
-On: 2011-11-02 17:38:36.431077 Event: Receiver Handler respond
-On: 2011-11-02 17:38:36.431803 Event: Receiver handler : Ready
-On: 2011-11-02 17:38:36.431841 Event: Start Call
-On: 2011-11-02 17:38:36.431900 Event: Waiting Feedback
-On: 2011-11-02 17:38:42.808130 Event: Test Succeed
-On: 2011-11-02 17:38:42.808183 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:38:42.808314 Event: init Cancel test
-On: 2011-11-02 17:38:45.846788 Event: -- -X- --
-On: 2011-11-02 17:38:45.846845 Event: init Caller
-On: 2011-11-02 17:38:45.846863 Event: sip
-On: 2011-11-02 17:38:47.850009 Event: Caller Greeting
-On: 2011-11-02 17:38:47.850811 Event: Connected to Caller Handler
-On: 2011-11-02 17:38:47.851083 Event: Caller Handler respond
-On: 2011-11-02 17:38:47.851919 Event: Caller handler : Ready
-On: 2011-11-02 17:38:47.851973 Event: init Receiver
-On: 2011-11-02 17:38:47.851992 Event: unisip
-On: 2011-11-02 17:38:49.856546 Event: Receiver Greeting
-On: 2011-11-02 17:38:49.857369 Event: Connected to Receiver Handler
-On: 2011-11-02 17:38:49.857639 Event: Receiver Handler respond
-On: 2011-11-02 17:38:49.858854 Event: Receiver handler : Ready
-On: 2011-11-02 17:38:49.858891 Event: Start Call
-On: 2011-11-02 17:38:49.858953 Event: Waiting Feedback
-On: 2011-11-02 17:38:52.925405 Event: Test Succeed
-On: 2011-11-02 17:38:52.925460 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:38:52.925593 Event: init Cancel test
-On: 2011-11-02 17:38:55.976142 Event: -- -X- --
-On: 2011-11-02 17:38:55.976200 Event: init Caller
-On: 2011-11-02 17:38:55.976289 Event: sip
-On: 2011-11-02 17:38:57.982007 Event: Caller Greeting
-On: 2011-11-02 17:38:57.982788 Event: Connected to Caller Handler
-On: 2011-11-02 17:38:57.983063 Event: Caller Handler respond
-On: 2011-11-02 17:38:57.983805 Event: Caller handler : Ready
-On: 2011-11-02 17:38:57.983842 Event: init Receiver
-On: 2011-11-02 17:38:57.983862 Event: landline
-On: 2011-11-02 17:38:59.988240 Event: Receiver Greeting
-On: 2011-11-02 17:38:59.989009 Event: Connected to Receiver Handler
-On: 2011-11-02 17:38:59.989283 Event: Receiver Handler respond
-On: 2011-11-02 17:38:59.991940 Event: Receiver handler : Ready
-On: 2011-11-02 17:38:59.991989 Event: Start Call
-On: 2011-11-02 17:38:59.992049 Event: Waiting Feedback
-On: 2011-11-02 17:39:06.686719 Event: Test Succeed
-On: 2011-11-02 17:39:06.686775 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:39:06.686909 Event: init Cancel test
-On: 2011-11-02 17:39:09.724624 Event: -- -X- --
-On: 2011-11-02 17:39:09.724682 Event: init Caller
-On: 2011-11-02 17:39:09.724700 Event: GSMRZ3
-On: 2011-11-02 17:39:17.730041 Event: Caller Greeting
-On: 2011-11-02 17:39:17.730580 Event: Connected to Caller Handler
-On: 2011-11-02 17:39:17.959882 Event: Caller Handler respond
-On: 2011-11-02 17:39:17.962501 Event: Caller handler : Ready
-On: 2011-11-02 17:39:17.962537 Event: init Receiver
-On: 2011-11-02 17:39:17.962559 Event: sip
-On: 2011-11-02 17:39:19.966008 Event: Receiver Greeting
-On: 2011-11-02 17:39:19.966778 Event: Connected to Receiver Handler
-On: 2011-11-02 17:39:19.967051 Event: Receiver Handler respond
-On: 2011-11-02 17:39:19.968140 Event: Receiver handler : Ready
-On: 2011-11-02 17:39:19.968177 Event: Start Call
-On: 2011-11-02 17:39:19.968326 Event: Waiting Feedback
-On: 2011-11-02 17:39:23.459942 Event: Test Succeed
-On: 2011-11-02 17:39:23.460001 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:39:23.460977 Event: init Cancel test
-On: 2011-11-02 17:39:26.497676 Event: -- -X- --
-On: 2011-11-02 17:39:26.497732 Event: init Caller
-On: 2011-11-02 17:39:26.497750 Event: GSMRZ2
-On: 2011-11-02 17:39:34.504188 Event: Caller Greeting
-On: 2011-11-02 17:39:34.504737 Event: Connected to Caller Handler
-On: 2011-11-02 17:39:34.721239 Event: Caller Handler respond
-On: 2011-11-02 17:39:34.723563 Event: Caller handler : Ready
-On: 2011-11-02 17:39:34.723598 Event: init Receiver
-On: 2011-11-02 17:39:34.723619 Event: sip
-On: 2011-11-02 17:39:36.726031 Event: Receiver Greeting
-On: 2011-11-02 17:39:36.726810 Event: Connected to Receiver Handler
-On: 2011-11-02 17:39:36.727085 Event: Receiver Handler respond
-On: 2011-11-02 17:39:36.727813 Event: Receiver handler : Ready
-On: 2011-11-02 17:39:36.727852 Event: Start Call
-On: 2011-11-02 17:39:36.728099 Event: Waiting Feedback
-On: 2011-11-02 17:39:39.893116 Event: Test Succeed
-On: 2011-11-02 17:39:39.893174 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:39:39.894180 Event: init Cancel test
-On: 2011-11-02 17:39:42.933540 Event: -- -X- --
-On: 2011-11-02 17:39:42.933597 Event: init Caller
-On: 2011-11-02 17:39:42.933614 Event: GSMRZ1
-On: 2011-11-02 17:39:42.933661 Event: Init GSM
-On: 2011-11-02 17:39:44.946476 Event: Caller Greeting
-On: 2011-11-02 17:39:44.948889 Event: Connected to Caller Handler
-On: 2011-11-02 17:39:45.090156 Event: Caller Handler respond
-On: 2011-11-02 17:39:45.090444 Event: Caller handler : Ready
-On: 2011-11-02 17:39:45.090476 Event: init Receiver
-On: 2011-11-02 17:39:45.090498 Event: sip
-On: 2011-11-02 17:39:47.094010 Event: Receiver Greeting
-On: 2011-11-02 17:39:47.094793 Event: Connected to Receiver Handler
-On: 2011-11-02 17:39:47.095065 Event: Receiver Handler respond
-On: 2011-11-02 17:39:47.095788 Event: Receiver handler : Ready
-On: 2011-11-02 17:39:47.095823 Event: Start Call
-On: 2011-11-02 17:39:47.098134 Event: Waiting Feedback
-On: 2011-11-02 17:39:49.558126 Event: Test Succeed
-On: 2011-11-02 17:39:49.558180 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:39:49.558317 Event: init Cancel test
-On: 2011-11-02 17:39:52.608786 Event: -- -X- --
-On: 2011-11-02 17:39:52.608841 Event: init Caller
-On: 2011-11-02 17:39:52.608859 Event: sip
-On: 2011-11-02 17:39:54.613663 Event: Caller Greeting
-On: 2011-11-02 17:39:54.614483 Event: Connected to Caller Handler
-On: 2011-11-02 17:39:54.614758 Event: Caller Handler respond
-On: 2011-11-02 17:39:54.615498 Event: Caller handler : Ready
-On: 2011-11-02 17:39:54.615535 Event: init Receiver
-On: 2011-11-02 17:39:54.615555 Event: GSMRZ1
-On: 2011-11-02 17:39:54.615604 Event: Init GSM
-On: 2011-11-02 17:39:56.619714 Event: Receiver Greeting
-On: 2011-11-02 17:39:56.622040 Event: Connected to Receiver Handler
-On: 2011-11-02 17:39:56.766139 Event: Receiver Handler respond
-On: 2011-11-02 17:39:56.766430 Event: Receiver handler : Ready
-On: 2011-11-02 17:39:56.766461 Event: Start Call
-On: 2011-11-02 17:39:56.766515 Event: Waiting Feedback
-On: 2011-11-02 17:40:02.426156 Event: Test Succeed
-On: 2011-11-02 17:40:02.426209 Event: TERMINATE CONNECTION
-On: 2011-11-02 17:40:02.426345 Event: init Cancel test
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:27:24.859088 ------------------
-On: 2011-11-02 18:27:24.859162 Event: init Caller
-On: 2011-11-02 18:27:24.859186 Event: unisip
-On: 2011-11-02 18:27:26.866024 Event: Caller Greeting
-On: 2011-11-02 18:27:26.866998 Event: Connected to Caller Handler
-On: 2011-11-02 18:27:26.867290 Event: Caller Handler respond
-On: 2011-11-02 18:27:26.868057 Event: Caller handler : Ready
-On: 2011-11-02 18:27:26.868098 Event: init Receiver
-On: 2011-11-02 18:27:26.868118 Event: GSMRZ2
-On: 2011-11-02 18:27:34.877099 Event: Receiver Greeting
-On: 2011-11-02 18:27:34.877685 Event: Connected to Receiver Handler
-On: 2011-11-02 18:27:35.060314 Event: Receiver Handler respond
-On: 2011-11-02 18:27:35.062585 Event: Receiver handler : Ready
-On: 2011-11-02 18:27:35.062642 Event: Start Call
-On: 2011-11-02 18:27:35.062710 Event: Waiting Feedback
-On: 2011-11-02 18:27:45.481214 Event: Test Succeed
-On: 2011-11-02 18:27:45.481275 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:27:45.481476 Event: init Cancel test
-On: 2011-11-02 18:27:48.537576 Event: -- -X- --
-On: 2011-11-02 18:27:48.537641 Event: init Caller
-On: 2011-11-02 18:27:48.537659 Event: GSMRZ1
-On: 2011-11-02 18:27:48.537707 Event: Init GSM
-On: 2011-11-02 18:27:50.542011 Event: Caller Greeting
-On: 2011-11-02 18:27:50.548416 Event: Connected to Caller Handler
-On: 2011-11-02 18:27:50.722217 Event: Caller Handler respond
-On: 2011-11-02 18:27:50.722519 Event: Caller handler : Ready
-On: 2011-11-02 18:27:50.722552 Event: init Receiver
-On: 2011-11-02 18:27:50.722572 Event: GSMExt.O2
-On: 2011-11-02 18:27:50.722622 Event: Init GSM
-On: 2011-11-02 18:27:52.726885 Event: Receiver Greeting
-On: 2011-11-02 18:27:52.727566 Event: Connected to Receiver Handler
-On: 2011-11-02 18:27:52.866205 Event: Receiver Handler respond
-On: 2011-11-02 18:27:52.866495 Event: Receiver handler : Ready
-On: 2011-11-02 18:27:52.866527 Event: Start Call
-On: 2011-11-02 18:27:52.866577 Event: Waiting Feedback
-On: 2011-11-02 18:28:03.938147 Event: Test Succeed
-On: 2011-11-02 18:28:03.938208 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:28:03.938346 Event: init Cancel test
-On: 2011-11-02 18:28:06.990052 Event: -- -X- --
-On: 2011-11-02 18:28:06.990115 Event: init Caller
-On: 2011-11-02 18:28:06.990134 Event: landline
-On: 2011-11-02 18:28:08.994045 Event: Caller Greeting
-On: 2011-11-02 18:28:08.994864 Event: Connected to Caller Handler
-On: 2011-11-02 18:28:08.995161 Event: Caller Handler respond
-On: 2011-11-02 18:28:09.003438 Event: Caller handler : Ready
-On: 2011-11-02 18:28:09.003478 Event: init Receiver
-On: 2011-11-02 18:28:09.003498 Event: GSMRZ3
-On: 2011-11-02 18:28:17.011426 Event: Receiver Greeting
-On: 2011-11-02 18:28:17.011979 Event: Connected to Receiver Handler
-On: 2011-11-02 18:28:17.236654 Event: Receiver Handler respond
-On: 2011-11-02 18:28:17.239229 Event: Receiver handler : Ready
-On: 2011-11-02 18:28:17.239266 Event: Start Call
-On: 2011-11-02 18:28:17.239326 Event: Waiting Feedback
-On: 2011-11-02 18:28:24.666598 Event: Test Succeed
-On: 2011-11-02 18:28:24.666655 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:28:24.666842 Event: init Cancel test
-On: 2011-11-02 18:28:27.756988 Event: -- -X- --
-On: 2011-11-02 18:28:27.757085 Event: init Caller
-On: 2011-11-02 18:28:27.757104 Event: sip
-On: 2011-11-02 18:28:29.763330 Event: Caller Greeting
-On: 2011-11-02 18:28:29.764147 Event: Connected to Caller Handler
-On: 2011-11-02 18:28:29.764428 Event: Caller Handler respond
-On: 2011-11-02 18:28:29.765185 Event: Caller handler : Ready
-On: 2011-11-02 18:28:29.765224 Event: init Receiver
-On: 2011-11-02 18:28:29.765244 Event: GSMExt.Eplus
-On: 2011-11-02 18:28:29.765294 Event: Init GSM
-On: 2011-11-02 18:28:31.769884 Event: Receiver Greeting
-On: 2011-11-02 18:28:31.772379 Event: Connected to Receiver Handler
-On: 2011-11-02 18:28:31.878495 Event: Receiver Handler respond
-On: 2011-11-02 18:28:31.878791 Event: Receiver handler : Ready
-On: 2011-11-02 18:28:31.878823 Event: Start Call
-On: 2011-11-02 18:28:31.878878 Event: Waiting Feedback
-On: 2011-11-02 18:28:46.879306 Event: Test Failed - Eplus No credit on Eplus
-On: 2011-11-02 18:28:46.879439 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:28:46.879591 Event: init Cancel test
-On: 2011-11-02 18:28:49.928716 Event: -- -X- --
-On: 2011-11-02 18:28:49.928783 Event: init Caller
-On: 2011-11-02 18:28:49.928801 Event: sip
-On: 2011-11-02 18:28:51.931162 Event: Caller Greeting
-On: 2011-11-02 18:28:51.931972 Event: Connected to Caller Handler
-On: 2011-11-02 18:28:51.932243 Event: Caller Handler respond
-On: 2011-11-02 18:28:51.932998 Event: Caller handler : Ready
-On: 2011-11-02 18:28:51.933038 Event: init Receiver
-On: 2011-11-02 18:28:51.933058 Event: GSMExt.Tm
-On: 2011-11-02 18:28:51.933107 Event: Init GSM
-On: 2011-11-02 18:28:53.937457 Event: Receiver Greeting
-On: 2011-11-02 18:28:53.940004 Event: Connected to Receiver Handler
-On: 2011-11-02 18:28:54.058265 Event: Receiver Handler respond
-On: 2011-11-02 18:28:54.058560 Event: Receiver handler : Ready
-On: 2011-11-02 18:28:54.058592 Event: Start Call
-On: 2011-11-02 18:28:54.058644 Event: Waiting Feedback
-On: 2011-11-02 18:29:08.503786 Event: Test Succeed
-On: 2011-11-02 18:29:08.503846 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:29:08.503984 Event: init Cancel test
-On: 2011-11-02 18:29:11.555804 Event: -- -X- --
-On: 2011-11-02 18:29:11.555862 Event: init Caller
-On: 2011-11-02 18:29:11.555880 Event: sip
-On: 2011-11-02 18:29:13.561815 Event: Caller Greeting
-On: 2011-11-02 18:29:13.562688 Event: Connected to Caller Handler
-On: 2011-11-02 18:29:13.562975 Event: Caller Handler respond
-On: 2011-11-02 18:29:13.563730 Event: Caller handler : Ready
-On: 2011-11-02 18:29:13.563770 Event: init Receiver
-On: 2011-11-02 18:29:13.563790 Event: GSMExt.Voda
-On: 2011-11-02 18:29:13.563839 Event: Init GSM
-On: 2011-11-02 18:29:15.566475 Event: Receiver Greeting
-On: 2011-11-02 18:29:15.569159 Event: Connected to Receiver Handler
-On: 2011-11-02 18:29:15.738317 Event: Receiver Handler respond
-On: 2011-11-02 18:29:15.738617 Event: Receiver handler : Ready
-On: 2011-11-02 18:29:15.738649 Event: Start Call
-On: 2011-11-02 18:29:15.738703 Event: Waiting Feedback
-On: 2011-11-02 18:29:28.740018 Event: Test Succeed
-On: 2011-11-02 18:29:28.740074 Event: TERMINATE CONNECTION
-On: 2011-11-02 18:29:28.740214 Event: init Cancel test
diff --git a/For Weekly Test/tricode/University SIP handler.log b/For Weekly Test/tricode/University SIP handler.log
deleted file mode 100644
index b272511..0000000
--- a/For Weekly Test/tricode/University SIP handler.log
+++ /dev/null
@@ -1,4080 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:09:20.463772 ------------------
-On: 2011-10-14 17:09:20.484808 Event: try to Connect to Controller
-On: 2011-10-14 17:09:21.787092 Event: init state
-On: 2011-10-14 17:09:21.787333 Event: Register Account to SIP server
-On: 2011-10-14 17:09:21.787760 Event: 100
-On: 2011-10-14 17:09:21.787849 Event: Caller Handler Ready
-On: 2011-10-14 17:09:23.798322 Event: Terminate
-On: 2011-10-14 17:09:23.798362 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:54:19.746950 ------------------
-On: 2011-10-14 17:54:19.768161 Event: try to Connect to Controller
-On: 2011-10-14 17:54:21.059772 Event: init state
-On: 2011-10-14 17:54:21.060003 Event: Register Account to SIP server
-On: 2011-10-14 17:54:21.060427 Event: 100
-On: 2011-10-14 17:54:21.060512 Event: Caller Handler Ready
-On: 2011-10-14 17:54:25.066805 Event: Terminate
-On: 2011-10-14 17:54:25.066845 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:56:10.607489 ------------------
-On: 2011-10-14 17:56:10.628235 Event: try to Connect to Controller
-On: 2011-10-14 17:56:11.929022 Event: init state
-On: 2011-10-14 17:56:11.929259 Event: Register Account to SIP server
-On: 2011-10-14 17:56:11.929679 Event: 100
-On: 2011-10-14 17:56:11.929765 Event: Caller Handler Ready
-On: 2011-10-14 17:56:13.938277 Event: Terminate
-On: 2011-10-14 17:56:13.938318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 17:58:30.100094 ------------------
-On: 2011-10-14 17:58:30.121441 Event: try to Connect to Controller
-On: 2011-10-14 17:58:31.415093 Event: init state
-On: 2011-10-14 17:58:31.415334 Event: Register Account to SIP server
-On: 2011-10-14 17:58:31.415757 Event: 100
-On: 2011-10-14 17:58:31.415843 Event: Caller Handler Ready
-On: 2011-10-14 17:58:35.422237 Event: Terminate
-On: 2011-10-14 17:58:35.422278 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:09.612616 ------------------
-On: 2011-10-14 19:02:09.635232 Event: try to Connect to Controller
-On: 2011-10-14 19:02:10.880521 Event: init state
-On: 2011-10-14 19:02:10.880760 Event: Register Account to SIP server
-On: 2011-10-14 19:02:10.881541 Event: 100
-On: 2011-10-14 19:02:10.881628 Event: Caller Handler Ready
-On: 2011-10-14 19:02:14.888860 Event: Terminate
-On: 2011-10-14 19:02:14.888899 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:02:36.840163 ------------------
-On: 2011-10-14 19:02:36.862417 Event: try to Connect to Controller
-On: 2011-10-14 19:02:38.099450 Event: init state
-On: 2011-10-14 19:02:38.099733 Event: Register Account to SIP server
-On: 2011-10-14 19:02:38.100154 Event: 100
-On: 2011-10-14 19:02:38.100240 Event: Caller Handler Ready
-On: 2011-10-14 19:02:45.119551 Event: CALL START
-On: 2011-10-14 19:02:45.119610 Event: Make a call to: 4661447
-On: 2011-10-14 19:02:45.214411 Event: Number busy or Offline
-On: 2011-10-14 19:02:45.214522 Event: CALL NOT OK
-On: 2011-10-14 19:02:45.214582 Event: Call Disconnected
-On: 2011-10-14 19:02:58.118120 Event: Terminate
-On: 2011-10-14 19:02:58.118170 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:03:14.777585 ------------------
-On: 2011-10-14 19:03:14.798150 Event: try to Connect to Controller
-On: 2011-10-14 19:03:16.046161 Event: init state
-On: 2011-10-14 19:03:16.046397 Event: Register Account to SIP server
-On: 2011-10-14 19:03:16.047165 Event: 100
-On: 2011-10-14 19:03:16.047251 Event: Caller Handler Ready
-On: 2011-10-14 19:03:23.065159 Event: CALL START
-On: 2011-10-14 19:03:23.065219 Event: Make a call to: 4661447
-On: 2011-10-14 19:03:23.145000 Event: Number busy or Offline
-On: 2011-10-14 19:03:23.145107 Event: CALL NOT OK
-On: 2011-10-14 19:03:23.145167 Event: Call Disconnected
-On: 2011-10-14 19:03:36.063802 Event: Terminate
-On: 2011-10-14 19:03:36.063852 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:13:41.178313 ------------------
-On: 2011-10-14 19:13:41.198922 Event: try to Connect to Controller
-On: 2011-10-14 19:13:42.505494 Event: init state
-On: 2011-10-14 19:13:42.505769 Event: Register Account to SIP server
-On: 2011-10-14 19:13:42.506544 Event: 100
-On: 2011-10-14 19:13:42.506632 Event: Caller Handler Ready
-On: 2011-10-14 19:13:46.529301 Event: Terminate
-On: 2011-10-14 19:13:46.529343 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-14 19:16:38.322077 ------------------
-On: 2011-10-14 19:16:38.342236 Event: try to Connect to Controller
-On: 2011-10-14 19:16:39.678791 Event: init state
-On: 2011-10-14 19:16:39.679031 Event: Register Account to SIP server
-On: 2011-10-14 19:16:39.679455 Event: 100
-On: 2011-10-14 19:16:39.679540 Event: Caller Handler Ready
-On: 2011-10-14 19:16:41.690034 Event: Terminate
-On: 2011-10-14 19:16:41.690076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 16:52:11.399757 ------------------
-On: 2011-10-17 16:52:11.420389 Event: try to Connect to Controller
-On: 2011-10-17 16:52:12.666407 Event: init state
-On: 2011-10-17 16:52:12.666634 Event: Register Account to SIP server
-On: 2011-10-17 16:52:12.667048 Event: 100
-On: 2011-10-17 16:52:12.667133 Event: Receiver Handler Ready
-On: 2011-10-17 16:52:12.667475 Event: RECEIVE START
-On: 2011-10-17 16:52:15.720061 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-17 16:52:15.720927 Event: Call Connecting
-On: 2011-10-17 16:52:15.720977 Event: 200
-On: 2011-10-17 16:52:15.721225 Event: Answer call
-On: 2011-10-17 16:52:15.721277 Event: Hangup call
-On: 2011-10-17 16:52:15.721647 Event: CALL OK
-On: 2011-10-17 16:52:15.822848 Event: Call Disconnected
-On: 2011-10-17 16:52:16.721855 Event: Terminate
-On: 2011-10-17 16:52:16.721898 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:15:26.258167 ------------------
-On: 2011-10-17 17:15:26.278319 Event: try to Connect to Controller
-On: 2011-10-17 17:15:27.596073 Event: init state
-On: 2011-10-17 17:15:27.596314 Event: Register Account to SIP server
-On: 2011-10-17 17:15:27.596730 Event: 100
-On: 2011-10-17 17:15:27.596816 Event: Caller Handler Ready
-On: 2011-10-17 17:15:32.608564 Event: CALL START
-On: 2011-10-17 17:15:32.608624 Event: Make a call to: 4661449
-On: 2011-10-17 17:15:32.680858 Event: Number busy or Offline
-On: 2011-10-17 17:15:32.680961 Event: CALL NOT OK
-On: 2011-10-17 17:15:32.681022 Event: Call Disconnected
-On: 2011-10-17 17:15:45.604531 Event: Terminate
-On: 2011-10-17 17:15:45.604575 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:29:39.716072 ------------------
-On: 2011-10-17 17:29:39.737029 Event: try to Connect to Controller
-On: 2011-10-17 17:29:41.041773 Event: init state
-On: 2011-10-17 17:29:41.042019 Event: Register Account to SIP server
-On: 2011-10-17 17:29:41.042447 Event: 100
-On: 2011-10-17 17:29:41.042535 Event: Caller Handler Ready
-On: 2011-10-17 17:29:59.201337 Event: Terminate
-On: 2011-10-17 17:29:59.201378 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:37:44.064925 ------------------
-On: 2011-10-17 17:37:44.087528 Event: try to Connect to Controller
-On: 2011-10-17 17:37:45.388397 Event: init state
-On: 2011-10-17 17:37:45.388638 Event: Register Account to SIP server
-On: 2011-10-17 17:37:45.389426 Event: 100
-On: 2011-10-17 17:37:45.389712 Event: Caller Handler Ready
-On: 2011-10-17 17:38:07.489481 Event: CALL START
-On: 2011-10-17 17:38:07.489559 Event: Make a call to: 4661455
-On: 2011-10-17 17:38:07.547960 Event: Number busy or Offline
-On: 2011-10-17 17:38:07.548065 Event: CALL NOT OK
-On: 2011-10-17 17:38:07.548126 Event: Call Disconnected
-On: 2011-10-17 17:38:20.489171 Event: Terminate
-On: 2011-10-17 17:38:20.489230 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 17:46:33.990113 ------------------
-On: 2011-10-17 17:46:34.010719 Event: try to Connect to Controller
-On: 2011-10-17 17:46:35.311714 Event: init state
-On: 2011-10-17 17:46:35.311956 Event: Register Account to SIP server
-On: 2011-10-17 17:46:35.312383 Event: 100
-On: 2011-10-17 17:46:35.312468 Event: Caller Handler Ready
-On: 2011-10-17 17:46:39.320140 Event: Terminate
-On: 2011-10-17 17:46:39.320179 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:02:39.179336 ------------------
-On: 2011-10-17 18:02:39.199551 Event: try to Connect to Controller
-On: 2011-10-17 18:02:40.511272 Event: init state
-On: 2011-10-17 18:02:40.511520 Event: Register Account to SIP server
-On: 2011-10-17 18:02:40.511939 Event: 100
-On: 2011-10-17 18:02:40.512028 Event: Caller Handler Ready
-On: 2011-10-17 18:02:45.524679 Event: CALL START
-On: 2011-10-17 18:02:45.524735 Event: Make a call to: 4661449
-On: 2011-10-17 18:02:45.601259 Event: Number busy or Offline
-On: 2011-10-17 18:02:45.601362 Event: CALL NOT OK
-On: 2011-10-17 18:02:45.601423 Event: Call Disconnected
-On: 2011-10-17 18:02:58.519835 Event: Terminate
-On: 2011-10-17 18:02:58.519878 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-17 18:09:37.195146 ------------------
-On: 2011-10-17 18:09:37.215474 Event: try to Connect to Controller
-On: 2011-10-17 18:09:38.514215 Event: init state
-On: 2011-10-17 18:09:38.514454 Event: Register Account to SIP server
-On: 2011-10-17 18:09:38.514876 Event: 100
-On: 2011-10-17 18:09:38.514964 Event: Caller Handler Ready
-On: 2011-10-17 18:09:42.522476 Event: Terminate
-On: 2011-10-17 18:09:42.522518 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:27:56.695383 ------------------
-On: 2011-10-20 12:27:56.715645 Event: try to Connect to Controller
-On: 2011-10-20 12:27:57.966095 Event: init state
-On: 2011-10-20 12:27:57.966351 Event: Register Account to SIP server
-On: 2011-10-20 12:27:57.967133 Event: 100
-On: 2011-10-20 12:27:57.967220 Event: Caller Handler Ready
-On: 2011-10-20 12:28:02.975299 Event: CALL START
-On: 2011-10-20 12:28:02.975354 Event: Make a call to: 4661449
-On: 2011-10-20 12:28:03.214760 Event: Number busy or Offline
-On: 2011-10-20 12:28:03.214857 Event: CALL NOT OK
-On: 2011-10-20 12:28:03.214918 Event: Call Disconnected
-On: 2011-10-20 12:28:14.973867 Event: Terminate
-On: 2011-10-20 12:28:14.973926 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:30:03.404722 ------------------
-On: 2011-10-20 12:30:03.425184 Event: try to Connect to Controller
-On: 2011-10-20 12:30:04.725895 Event: init state
-On: 2011-10-20 12:30:04.726141 Event: Register Account to SIP server
-On: 2011-10-20 12:30:04.726904 Event: 100
-On: 2011-10-20 12:30:04.726990 Event: Caller Handler Ready
-On: 2011-10-20 12:30:14.745741 Event: CALL START
-On: 2011-10-20 12:30:14.745803 Event: Make a call to: 4661447
-On: 2011-10-20 12:30:14.845066 Event: Number busy or Offline
-On: 2011-10-20 12:30:14.845175 Event: CALL NOT OK
-On: 2011-10-20 12:30:14.845238 Event: Call Disconnected
-On: 2011-10-20 12:30:26.746474 Event: Terminate
-On: 2011-10-20 12:30:26.746531 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:41:11.542884 ------------------
-On: 2011-10-20 12:41:11.605023 Event: try to Connect to Controller
-On: 2011-10-20 12:41:12.177901 Event: init state
-On: 2011-10-20 12:41:12.178195 Event: Register Account to SIP server
-On: 2011-10-20 12:41:12.179008 Event: 100
-On: 2011-10-20 12:41:12.179090 Event: Caller Handler Ready
-On: 2011-10-20 12:41:22.201238 Event: CALL START
-On: 2011-10-20 12:41:22.201297 Event: Make a call to: 4661455
-On: 2011-10-20 12:41:22.256105 Event: Number busy or Offline
-On: 2011-10-20 12:41:22.256210 Event: CALL NOT OK
-On: 2011-10-20 12:41:22.256271 Event: Call Disconnected
-On: 2011-10-20 12:41:34.198684 Event: Terminate
-On: 2011-10-20 12:41:34.198730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:48:50.545230 ------------------
-On: 2011-10-20 12:48:50.565974 Event: try to Connect to Controller
-On: 2011-10-20 12:48:51.855695 Event: init state
-On: 2011-10-20 12:48:51.855951 Event: Register Account to SIP server
-On: 2011-10-20 12:48:51.856370 Event: 100
-On: 2011-10-20 12:48:51.856456 Event: Caller Handler Ready
-On: 2011-10-20 12:49:01.880839 Event: CALL START
-On: 2011-10-20 12:49:01.880884 Event: Make a call to: 4661455
-On: 2011-10-20 12:49:01.938198 Event: Number busy or Offline
-On: 2011-10-20 12:49:01.938302 Event: CALL NOT OK
-On: 2011-10-20 12:49:01.938362 Event: Call Disconnected
-On: 2011-10-20 12:49:13.878212 Event: Terminate
-On: 2011-10-20 12:49:13.878257 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 12:55:31.808866 ------------------
-On: 2011-10-20 12:55:31.829989 Event: try to Connect to Controller
-On: 2011-10-20 12:55:33.148979 Event: init state
-On: 2011-10-20 12:55:33.149227 Event: Register Account to SIP server
-On: 2011-10-20 12:55:33.149638 Event: 100
-On: 2011-10-20 12:55:33.150705 Event: Caller Handler Ready
-On: 2011-10-20 12:55:38.160831 Event: CALL START
-On: 2011-10-20 12:55:38.160890 Event: Make a call to: 4661449
-On: 2011-10-20 12:55:38.227996 Event: Number busy or Offline
-On: 2011-10-20 12:55:38.228102 Event: CALL NOT OK
-On: 2011-10-20 12:55:38.228163 Event: Call Disconnected
-On: 2011-10-20 12:55:50.155718 Event: Terminate
-On: 2011-10-20 12:55:50.155760 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:04:48.648303 ------------------
-On: 2011-10-20 13:04:48.668858 Event: try to Connect to Controller
-On: 2011-10-20 13:04:49.969172 Event: init state
-On: 2011-10-20 13:04:49.969431 Event: Register Account to SIP server
-On: 2011-10-20 13:04:49.970412 Event: 100
-On: 2011-10-20 13:04:49.970513 Event: Caller Handler Ready
-On: 2011-10-20 13:04:59.993027 Event: CALL START
-On: 2011-10-20 13:04:59.993085 Event: Make a call to: 4661447
-On: 2011-10-20 13:05:00.084809 Event: Number busy or Offline
-On: 2011-10-20 13:05:00.084913 Event: CALL NOT OK
-On: 2011-10-20 13:05:00.084974 Event: Call Disconnected
-On: 2011-10-20 13:05:11.990436 Event: Terminate
-On: 2011-10-20 13:05:11.990482 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:15:51.539774 ------------------
-On: 2011-10-20 13:15:51.560375 Event: try to Connect to Controller
-On: 2011-10-20 13:15:52.876340 Event: init state
-On: 2011-10-20 13:15:52.876587 Event: Register Account to SIP server
-On: 2011-10-20 13:15:52.877007 Event: 100
-On: 2011-10-20 13:15:52.877092 Event: Caller Handler Ready
-On: 2011-10-20 13:15:57.888818 Event: CALL START
-On: 2011-10-20 13:15:57.888873 Event: Make a call to: 4661449
-On: 2011-10-20 13:15:57.957429 Event: Number busy or Offline
-On: 2011-10-20 13:15:57.957533 Event: CALL NOT OK
-On: 2011-10-20 13:15:57.957593 Event: Call Disconnected
-On: 2011-10-20 13:16:09.882641 Event: Terminate
-On: 2011-10-20 13:16:09.882683 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:33:35.254891 ------------------
-On: 2011-10-20 13:33:35.274979 Event: try to Connect to Controller
-On: 2011-10-20 13:33:36.589124 Event: init state
-On: 2011-10-20 13:33:36.589352 Event: Register Account to SIP server
-On: 2011-10-20 13:33:36.589972 Event: 100
-On: 2011-10-20 13:33:36.590073 Event: Caller Handler Ready
-On: 2011-10-20 13:33:46.609582 Event: CALL START
-On: 2011-10-20 13:33:46.609639 Event: Make a call to: 4661455
-On: 2011-10-20 13:33:46.689384 Event: Number busy or Offline
-On: 2011-10-20 13:33:46.689491 Event: CALL NOT OK
-On: 2011-10-20 13:33:46.689551 Event: Call Disconnected
-On: 2011-10-20 13:33:58.607656 Event: Terminate
-On: 2011-10-20 13:33:58.607714 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 13:51:31.916018 ------------------
-On: 2011-10-20 13:51:31.936621 Event: try to Connect to Controller
-On: 2011-10-20 13:51:33.091875 Event: init state
-On: 2011-10-20 13:51:33.092116 Event: Register Account to SIP server
-On: 2011-10-20 13:51:33.092538 Event: 100
-On: 2011-10-20 13:51:33.092625 Event: Caller Handler Ready
-On: 2011-10-20 13:51:43.111356 Event: CALL START
-On: 2011-10-20 13:51:43.111411 Event: Make a call to: 4661447
-On: 2011-10-20 13:51:43.197624 Event: Number busy or Offline
-On: 2011-10-20 13:51:43.197782 Event: CALL NOT OK
-On: 2011-10-20 13:51:43.197854 Event: Call Disconnected
-On: 2011-10-20 13:51:55.109101 Event: Terminate
-On: 2011-10-20 13:51:55.109156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:01:40.704703 ------------------
-On: 2011-10-20 14:01:40.725475 Event: try to Connect to Controller
-On: 2011-10-20 14:01:42.034925 Event: init state
-On: 2011-10-20 14:01:42.035163 Event: Register Account to SIP server
-On: 2011-10-20 14:01:42.035585 Event: 100
-On: 2011-10-20 14:01:42.035669 Event: Caller Handler Ready
-On: 2011-10-20 14:01:47.048822 Event: CALL START
-On: 2011-10-20 14:01:47.048877 Event: Make a call to: 4661449
-On: 2011-10-20 14:01:47.124585 Event: Number busy or Offline
-On: 2011-10-20 14:01:47.124688 Event: CALL NOT OK
-On: 2011-10-20 14:01:47.124749 Event: Call Disconnected
-On: 2011-10-20 14:01:59.042313 Event: Terminate
-On: 2011-10-20 14:01:59.042358 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:09:01.663717 ------------------
-On: 2011-10-20 14:09:01.683988 Event: try to Connect to Controller
-On: 2011-10-20 14:09:03.002619 Event: init state
-On: 2011-10-20 14:09:03.002863 Event: Register Account to SIP server
-On: 2011-10-20 14:09:03.003289 Event: 100
-On: 2011-10-20 14:09:03.003376 Event: Caller Handler Ready
-On: 2011-10-20 14:09:08.016800 Event: CALL START
-On: 2011-10-20 14:09:08.016855 Event: Make a call to: 4661449
-On: 2011-10-20 14:09:09.770914 Event: Call Connecting
-On: 2011-10-20 14:09:09.770959 Event: 200
-On: 2011-10-20 14:09:09.998229 Event: Terminate
-On: 2011-10-20 14:09:09.998271 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:14:44.358042 ------------------
-On: 2011-10-20 14:14:44.378073 Event: try to Connect to Controller
-On: 2011-10-20 14:14:45.691040 Event: init state
-On: 2011-10-20 14:14:45.691271 Event: Register Account to SIP server
-On: 2011-10-20 14:14:45.691684 Event: 100
-On: 2011-10-20 14:14:45.691769 Event: Caller Handler Ready
-On: 2011-10-20 14:14:50.704922 Event: CALL START
-On: 2011-10-20 14:14:50.704977 Event: Make a call to: 4661449
-On: 2011-10-20 14:14:53.386248 Event: Call Connecting
-On: 2011-10-20 14:14:53.386293 Event: 200
-On: 2011-10-20 14:14:53.686188 Event: Terminate
-On: 2011-10-20 14:14:53.686228 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:20:11.802214 ------------------
-On: 2011-10-20 14:20:11.822819 Event: try to Connect to Controller
-On: 2011-10-20 14:20:13.097889 Event: init state
-On: 2011-10-20 14:20:13.098155 Event: Register Account to SIP server
-On: 2011-10-20 14:20:13.098574 Event: 100
-On: 2011-10-20 14:20:13.098656 Event: Caller Handler Ready
-On: 2011-10-20 14:20:23.119643 Event: CALL START
-On: 2011-10-20 14:20:23.119701 Event: Make a call to: 4661455
-On: 2011-10-20 14:20:24.826556 Event: Call Connecting
-On: 2011-10-20 14:20:24.826617 Event: 200
-On: 2011-10-20 14:20:25.023821 Event: Terminate
-On: 2011-10-20 14:20:25.023878 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:25:12.542124 ------------------
-On: 2011-10-20 14:25:12.562752 Event: try to Connect to Controller
-On: 2011-10-20 14:25:13.860033 Event: init state
-On: 2011-10-20 14:25:13.860271 Event: Register Account to SIP server
-On: 2011-10-20 14:25:13.860692 Event: 100
-On: 2011-10-20 14:25:13.860779 Event: Caller Handler Ready
-On: 2011-10-20 14:25:23.876941 Event: CALL START
-On: 2011-10-20 14:25:23.876999 Event: Make a call to: 4661455
-On: 2011-10-20 14:25:26.128928 Event: Call Connecting
-On: 2011-10-20 14:25:26.128975 Event: 200
-On: 2011-10-20 14:25:26.356232 Event: Terminate
-On: 2011-10-20 14:25:26.356289 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:32:14.268211 ------------------
-On: 2011-10-20 14:32:14.288708 Event: try to Connect to Controller
-On: 2011-10-20 14:32:15.599261 Event: init state
-On: 2011-10-20 14:32:15.599507 Event: Register Account to SIP server
-On: 2011-10-20 14:32:15.600290 Event: 100
-On: 2011-10-20 14:32:15.600378 Event: Caller Handler Ready
-On: 2011-10-20 14:32:20.612960 Event: CALL START
-On: 2011-10-20 14:32:20.613013 Event: Make a call to: 4661449
-On: 2011-10-20 14:32:23.963758 Event: Call Connecting
-On: 2011-10-20 14:32:23.963806 Event: 200
-On: 2011-10-20 14:32:24.186230 Event: Terminate
-On: 2011-10-20 14:32:24.186273 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:38:54.146517 ------------------
-On: 2011-10-20 14:38:54.169425 Event: try to Connect to Controller
-On: 2011-10-20 14:38:55.443987 Event: init state
-On: 2011-10-20 14:38:55.444237 Event: Register Account to SIP server
-On: 2011-10-20 14:38:55.444646 Event: 100
-On: 2011-10-20 14:38:55.444731 Event: Caller Handler Ready
-On: 2011-10-20 14:39:05.463992 Event: CALL START
-On: 2011-10-20 14:39:05.464050 Event: Make a call to: 4661455
-On: 2011-10-20 14:39:07.637906 Event: Call Connecting
-On: 2011-10-20 14:39:07.637954 Event: 200
-On: 2011-10-20 14:39:07.850769 Event: Terminate
-On: 2011-10-20 14:39:07.850829 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 14:55:30.694502 ------------------
-On: 2011-10-20 14:55:30.714845 Event: try to Connect to Controller
-On: 2011-10-20 14:55:32.022984 Event: init state
-On: 2011-10-20 14:55:32.023222 Event: Register Account to SIP server
-On: 2011-10-20 14:55:32.024001 Event: 100
-On: 2011-10-20 14:55:32.024084 Event: Caller Handler Ready
-On: 2011-10-20 14:55:42.047699 Event: CALL START
-On: 2011-10-20 14:55:42.047758 Event: Make a call to: 4661455
-On: 2011-10-20 14:55:44.073497 Event: Call Connecting
-On: 2011-10-20 14:55:44.073545 Event: 200
-On: 2011-10-20 14:55:44.266711 Event: Terminate
-On: 2011-10-20 14:55:44.266769 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:00:10.244175 ------------------
-On: 2011-10-20 15:00:10.264816 Event: try to Connect to Controller
-On: 2011-10-20 15:00:11.578767 Event: init state
-On: 2011-10-20 15:00:11.579009 Event: Register Account to SIP server
-On: 2011-10-20 15:00:11.579432 Event: 100
-On: 2011-10-20 15:00:11.579521 Event: Caller Handler Ready
-On: 2011-10-20 15:00:16.592904 Event: CALL START
-On: 2011-10-20 15:00:16.592955 Event: Make a call to: 4661449
-On: 2011-10-20 15:00:18.761660 Event: Call Connecting
-On: 2011-10-20 15:00:18.761735 Event: 200
-On: 2011-10-20 15:00:18.994204 Event: Terminate
-On: 2011-10-20 15:00:18.994247 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:16:18.392826 ------------------
-On: 2011-10-20 15:16:18.413151 Event: try to Connect to Controller
-On: 2011-10-20 15:16:19.723029 Event: init state
-On: 2011-10-20 15:16:19.723273 Event: Register Account to SIP server
-On: 2011-10-20 15:16:19.724050 Event: 100
-On: 2011-10-20 15:16:19.724134 Event: Caller Handler Ready
-On: 2011-10-20 15:16:21.731058 Event: Terminate
-On: 2011-10-20 15:16:21.731099 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 15:23:20.799299 ------------------
-On: 2011-10-20 15:23:20.829401 Event: try to Connect to Controller
-On: 2011-10-20 15:23:22.133378 Event: init state
-On: 2011-10-20 15:23:22.133618 Event: Register Account to SIP server
-On: 2011-10-20 15:23:22.134073 Event: 100
-On: 2011-10-20 15:23:22.134158 Event: Caller Handler Ready
-On: 2011-10-20 15:23:32.155822 Event: CALL START
-On: 2011-10-20 15:23:32.155894 Event: Make a call to: 4661455
-On: 2011-10-20 15:23:34.169204 Event: Call Connecting
-On: 2011-10-20 15:23:34.169255 Event: 200
-On: 2011-10-20 15:23:34.350980 Event: Terminate
-On: 2011-10-20 15:23:34.351037 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:02:46.594696 ------------------
-On: 2011-10-20 16:02:46.615504 Event: try to Connect to Controller
-On: 2011-10-20 16:02:47.897691 Event: init state
-On: 2011-10-20 16:02:47.897997 Event: Register Account to SIP server
-On: 2011-10-20 16:02:47.898443 Event: 100
-On: 2011-10-20 16:02:47.898534 Event: Caller Handler Ready
-On: 2011-10-20 16:02:57.921058 Event: CALL START
-On: 2011-10-20 16:02:57.921118 Event: Make a call to: 4661455
-On: 2011-10-20 16:02:59.775096 Event: Call Connecting
-On: 2011-10-20 16:02:59.775185 Event: 200
-On: 2011-10-20 16:03:00.009781 Event: Terminate
-On: 2011-10-20 16:03:00.009829 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:07:07.762214 ------------------
-On: 2011-10-20 16:07:07.784429 Event: try to Connect to Controller
-On: 2011-10-20 16:07:09.047040 Event: init state
-On: 2011-10-20 16:07:09.047280 Event: Register Account to SIP server
-On: 2011-10-20 16:07:09.047698 Event: 100
-On: 2011-10-20 16:07:09.047784 Event: Caller Handler Ready
-On: 2011-10-20 16:07:19.073727 Event: CALL START
-On: 2011-10-20 16:07:19.073786 Event: Make a call to: 4661455
-On: 2011-10-20 16:07:21.051163 Event: Call Connecting
-On: 2011-10-20 16:07:21.051212 Event: 200
-On: 2011-10-20 16:07:21.263128 Event: Terminate
-On: 2011-10-20 16:07:21.263186 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:13:18.569013 ------------------
-On: 2011-10-20 16:13:18.590008 Event: try to Connect to Controller
-On: 2011-10-20 16:13:19.885842 Event: init state
-On: 2011-10-20 16:13:19.886082 Event: Register Account to SIP server
-On: 2011-10-20 16:13:19.886506 Event: 100
-On: 2011-10-20 16:13:19.886590 Event: Caller Handler Ready
-On: 2011-10-20 16:13:29.905735 Event: CALL START
-On: 2011-10-20 16:13:29.905794 Event: Make a call to: 4661447
-On: 2011-10-20 16:13:32.050076 Event: Call Connecting
-On: 2011-10-20 16:13:32.050126 Event: 200
-On: 2011-10-20 16:13:32.216576 Event: Terminate
-On: 2011-10-20 16:13:32.216634 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:17:02.499628 ------------------
-On: 2011-10-20 16:17:02.520237 Event: try to Connect to Controller
-On: 2011-10-20 16:17:03.823003 Event: init state
-On: 2011-10-20 16:17:03.823255 Event: Register Account to SIP server
-On: 2011-10-20 16:17:03.823681 Event: 100
-On: 2011-10-20 16:17:03.823765 Event: Caller Handler Ready
-On: 2011-10-20 16:17:05.829452 Event: Terminate
-On: 2011-10-20 16:17:05.829491 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:43:27.421197 ------------------
-On: 2011-10-20 16:43:27.441977 Event: try to Connect to Controller
-On: 2011-10-20 16:43:28.739596 Event: init state
-On: 2011-10-20 16:43:28.739838 Event: Register Account to SIP server
-On: 2011-10-20 16:43:28.740260 Event: 100
-On: 2011-10-20 16:43:28.740345 Event: Caller Handler Ready
-On: 2011-10-20 16:43:30.746511 Event: Terminate
-On: 2011-10-20 16:43:30.746553 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:47:39.800319 ------------------
-On: 2011-10-20 16:47:39.820934 Event: try to Connect to Controller
-On: 2011-10-20 16:47:41.129910 Event: init state
-On: 2011-10-20 16:47:41.130157 Event: Register Account to SIP server
-On: 2011-10-20 16:47:41.130582 Event: 100
-On: 2011-10-20 16:47:41.130667 Event: Caller Handler Ready
-On: 2011-10-20 16:47:51.152553 Event: CALL START
-On: 2011-10-20 16:47:51.152615 Event: Make a call to: 4661455
-On: 2011-10-20 16:47:54.310678 Event: Call Connecting
-On: 2011-10-20 16:47:54.310727 Event: 200
-On: 2011-10-20 16:47:54.489838 Event: Terminate
-On: 2011-10-20 16:47:54.489885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:51:39.644138 ------------------
-On: 2011-10-20 16:51:39.665348 Event: try to Connect to Controller
-On: 2011-10-20 16:51:40.887032 Event: init state
-On: 2011-10-20 16:51:40.887272 Event: Register Account to SIP server
-On: 2011-10-20 16:51:40.887697 Event: 100
-On: 2011-10-20 16:51:40.887782 Event: Caller Handler Ready
-On: 2011-10-20 16:51:50.910402 Event: CALL START
-On: 2011-10-20 16:51:50.910464 Event: Make a call to: 4661455
-On: 2011-10-20 16:51:52.721146 Event: Call Connecting
-On: 2011-10-20 16:51:52.721198 Event: 200
-On: 2011-10-20 16:51:52.929864 Event: Terminate
-On: 2011-10-20 16:51:52.929912 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 16:54:47.689027 ------------------
-On: 2011-10-20 16:54:47.710069 Event: try to Connect to Controller
-On: 2011-10-20 16:54:49.002075 Event: init state
-On: 2011-10-20 16:54:49.002317 Event: Register Account to SIP server
-On: 2011-10-20 16:54:49.002742 Event: 100
-On: 2011-10-20 16:54:49.002827 Event: Caller Handler Ready
-On: 2011-10-20 16:54:59.021772 Event: CALL START
-On: 2011-10-20 16:54:59.021840 Event: Make a call to: 4661455
-On: 2011-10-20 16:55:01.072065 Event: Call Connecting
-On: 2011-10-20 16:55:01.072115 Event: 200
-On: 2011-10-20 16:55:01.258358 Event: Terminate
-On: 2011-10-20 16:55:01.258415 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 17:47:24.473255 ------------------
-On: 2011-10-20 17:47:24.545171 Event: try to Connect to Controller
-On: 2011-10-20 17:47:24.797008 Event: init state
-On: 2011-10-20 17:47:24.797256 Event: Register Account to SIP server
-On: 2011-10-20 17:47:24.797692 Event: 100
-On: 2011-10-20 17:47:24.797818 Event: Caller Handler Ready
-On: 2011-10-20 17:47:29.805743 Event: CALL START
-On: 2011-10-20 17:47:29.805802 Event: Make a call to: 77224
-On: 2011-10-20 17:47:56.803803 Event: Terminate
-On: 2011-10-20 17:47:56.803847 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-20 19:52:35.045998 ------------------
-On: 2011-10-20 19:52:35.066314 Event: try to Connect to Controller
-On: 2011-10-20 19:52:36.342649 Event: init state
-On: 2011-10-20 19:52:36.342889 Event: Register Account to SIP server
-On: 2011-10-20 19:52:36.343658 Event: 100
-On: 2011-10-20 19:52:36.344020 Event: Receiver Handler Ready
-On: 2011-10-20 19:52:36.344088 Event: RECEIVE START
-On: 2011-10-20 19:52:39.367849 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-20 19:52:39.368342 Event: Call Connecting
-On: 2011-10-20 19:52:39.368382 Event: 200
-On: 2011-10-20 19:52:39.368631 Event: Answer call
-On: 2011-10-20 19:52:39.368683 Event: Hangup call
-On: 2011-10-20 19:52:39.368846 Event: CALL OK
-On: 2011-10-20 19:52:39.381244 Event: Terminate
-On: 2011-10-20 19:52:39.381301 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 14:53:52.394009 ------------------
-On: 2011-10-21 14:53:52.418574 Event: try to Connect to Controller
-On: 2011-10-21 14:53:53.454941 Event: init state
-On: 2011-10-21 14:53:53.455187 Event: Register Account to SIP server
-On: 2011-10-21 14:53:53.455607 Event: 100
-On: 2011-10-21 14:53:53.455693 Event: Caller Handler Ready
-On: 2011-10-21 14:53:55.460088 Event: Terminate
-On: 2011-10-21 14:53:55.460130 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:00:53.035428 ------------------
-On: 2011-10-21 15:00:53.066328 Event: try to Connect to Controller
-On: 2011-10-21 15:00:54.144182 Event: init state
-On: 2011-10-21 15:00:54.144460 Event: Register Account to SIP server
-On: 2011-10-21 15:00:54.144885 Event: 100
-On: 2011-10-21 15:00:54.144967 Event: Caller Handler Ready
-On: 2011-10-21 15:01:01.154589 Event: Terminate
-On: 2011-10-21 15:01:01.154631 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:04:36.536312 ------------------
-On: 2011-10-21 15:04:36.557460 Event: try to Connect to Controller
-On: 2011-10-21 15:04:37.665164 Event: init state
-On: 2011-10-21 15:04:37.665403 Event: Register Account to SIP server
-On: 2011-10-21 15:04:37.666236 Event: 100
-On: 2011-10-21 15:04:37.666324 Event: Caller Handler Ready
-On: 2011-10-21 15:04:47.685484 Event: CALL START
-On: 2011-10-21 15:04:47.685545 Event: Make a call to: 4661455
-On: 2011-10-21 15:04:49.978393 Event: Call Connecting
-On: 2011-10-21 15:04:49.978441 Event: 200
-On: 2011-10-21 15:04:50.181764 Event: Terminate
-On: 2011-10-21 15:04:50.181815 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:06:47.411200 ------------------
-On: 2011-10-21 15:06:47.435594 Event: try to Connect to Controller
-On: 2011-10-21 15:06:48.539904 Event: init state
-On: 2011-10-21 15:06:48.540159 Event: Register Account to SIP server
-On: 2011-10-21 15:06:48.540587 Event: 100
-On: 2011-10-21 15:06:48.540672 Event: Caller Handler Ready
-On: 2011-10-21 15:06:58.562316 Event: CALL START
-On: 2011-10-21 15:06:58.562388 Event: Make a call to: 4661455
-On: 2011-10-21 15:07:00.626890 Event: Call Connecting
-On: 2011-10-21 15:07:00.626940 Event: 200
-On: 2011-10-21 15:07:00.805341 Event: Terminate
-On: 2011-10-21 15:07:00.805387 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:16:57.224888 ------------------
-On: 2011-10-21 15:16:57.249338 Event: try to Connect to Controller
-On: 2011-10-21 15:16:58.357177 Event: init state
-On: 2011-10-21 15:16:58.357418 Event: Register Account to SIP server
-On: 2011-10-21 15:16:58.358243 Event: 100
-On: 2011-10-21 15:16:58.358327 Event: Caller Handler Ready
-On: 2011-10-21 15:17:08.377780 Event: CALL START
-On: 2011-10-21 15:17:08.377848 Event: Make a call to: 4661455
-On: 2011-10-21 15:17:11.181696 Event: Call Connecting
-On: 2011-10-21 15:17:11.181772 Event: 200
-On: 2011-10-21 15:17:11.389437 Event: Terminate
-On: 2011-10-21 15:17:11.389482 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:22:35.646847 ------------------
-On: 2011-10-21 15:22:35.667669 Event: try to Connect to Controller
-On: 2011-10-21 15:22:36.948454 Event: init state
-On: 2011-10-21 15:22:36.948724 Event: Register Account to SIP server
-On: 2011-10-21 15:22:36.949143 Event: 100
-On: 2011-10-21 15:22:36.949230 Event: Caller Handler Ready
-On: 2011-10-21 15:22:46.987647 Event: CALL START
-On: 2011-10-21 15:22:46.987705 Event: Make a call to: 4661447
-On: 2011-10-21 15:22:48.979571 Event: Call Connecting
-On: 2011-10-21 15:22:48.979617 Event: 200
-On: 2011-10-21 15:22:49.168161 Event: Terminate
-On: 2011-10-21 15:22:49.168220 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:23:22.238647 ------------------
-On: 2011-10-21 15:23:22.258857 Event: try to Connect to Controller
-On: 2011-10-21 15:23:23.541659 Event: init state
-On: 2011-10-21 15:23:23.541964 Event: Register Account to SIP server
-On: 2011-10-21 15:23:23.542741 Event: 100
-On: 2011-10-21 15:23:23.542828 Event: Caller Handler Ready
-On: 2011-10-21 15:23:33.585600 Event: CALL START
-On: 2011-10-21 15:23:33.585657 Event: Make a call to: 4661455
-On: 2011-10-21 15:23:40.736031 Event: Call Connecting
-On: 2011-10-21 15:23:40.736078 Event: 200
-On: 2011-10-21 15:23:40.970090 Event: Terminate
-On: 2011-10-21 15:23:40.970145 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:24:36.386841 ------------------
-On: 2011-10-21 15:24:36.407939 Event: try to Connect to Controller
-On: 2011-10-21 15:24:37.678472 Event: init state
-On: 2011-10-21 15:24:37.678738 Event: Register Account to SIP server
-On: 2011-10-21 15:24:37.679162 Event: 100
-On: 2011-10-21 15:24:37.679249 Event: Caller Handler Ready
-On: 2011-10-21 15:24:47.719469 Event: CALL START
-On: 2011-10-21 15:24:47.719528 Event: Make a call to: 4661455
-On: 2011-10-21 15:24:49.970799 Event: Call Connecting
-On: 2011-10-21 15:24:49.970913 Event: 200
-On: 2011-10-21 15:24:50.160529 Event: Terminate
-On: 2011-10-21 15:24:50.160586 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:26:04.330509 ------------------
-On: 2011-10-21 15:26:04.350850 Event: try to Connect to Controller
-On: 2011-10-21 15:26:05.619614 Event: init state
-On: 2011-10-21 15:26:05.619861 Event: Register Account to SIP server
-On: 2011-10-21 15:26:05.620289 Event: 100
-On: 2011-10-21 15:26:05.620374 Event: Caller Handler Ready
-On: 2011-10-21 15:26:07.626016 Event: Terminate
-On: 2011-10-21 15:26:07.626058 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:27:20.243146 ------------------
-On: 2011-10-21 15:27:20.263694 Event: try to Connect to Controller
-On: 2011-10-21 15:27:21.553259 Event: init state
-On: 2011-10-21 15:27:21.553496 Event: Register Account to SIP server
-On: 2011-10-21 15:27:21.553962 Event: 100
-On: 2011-10-21 15:27:21.554047 Event: Caller Handler Ready
-On: 2011-10-21 15:27:31.585752 Event: CALL START
-On: 2011-10-21 15:27:31.585809 Event: Make a call to: 4661447
-On: 2011-10-21 15:27:34.289196 Event: Call Connecting
-On: 2011-10-21 15:27:34.289244 Event: 200
-On: 2011-10-21 15:27:34.470451 Event: Terminate
-On: 2011-10-21 15:27:34.470508 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:37:13.600970 ------------------
-On: 2011-10-21 15:37:13.621488 Event: try to Connect to Controller
-On: 2011-10-21 15:37:14.927606 Event: init state
-On: 2011-10-21 15:37:14.927835 Event: Register Account to SIP server
-On: 2011-10-21 15:37:14.928577 Event: 100
-On: 2011-10-21 15:37:14.928664 Event: Caller Handler Ready
-On: 2011-10-21 15:37:24.962019 Event: CALL START
-On: 2011-10-21 15:37:24.962075 Event: Make a call to: 4661455
-On: 2011-10-21 15:37:26.772674 Event: Call Connecting
-On: 2011-10-21 15:37:26.772722 Event: 200
-On: 2011-10-21 15:37:26.968401 Event: Terminate
-On: 2011-10-21 15:37:26.968457 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:37:47.978082 ------------------
-On: 2011-10-21 15:37:47.998056 Event: try to Connect to Controller
-On: 2011-10-21 15:37:49.279706 Event: init state
-On: 2011-10-21 15:37:49.279979 Event: Register Account to SIP server
-On: 2011-10-21 15:37:49.280403 Event: 100
-On: 2011-10-21 15:37:49.280490 Event: Caller Handler Ready
-On: 2011-10-21 15:37:59.317703 Event: CALL START
-On: 2011-10-21 15:37:59.317774 Event: Make a call to: 4661447
-On: 2011-10-21 15:38:01.102194 Event: Call Connecting
-On: 2011-10-21 15:38:01.102241 Event: 200
-On: 2011-10-21 15:38:01.303656 Event: Terminate
-On: 2011-10-21 15:38:01.303713 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:38:48.534801 ------------------
-On: 2011-10-21 15:38:48.555177 Event: try to Connect to Controller
-On: 2011-10-21 15:38:49.859022 Event: init state
-On: 2011-10-21 15:38:49.859327 Event: Register Account to SIP server
-On: 2011-10-21 15:38:49.859757 Event: 100
-On: 2011-10-21 15:38:49.859842 Event: Caller Handler Ready
-On: 2011-10-21 15:38:51.866110 Event: Terminate
-On: 2011-10-21 15:38:51.866151 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:40:11.193145 ------------------
-On: 2011-10-21 15:40:11.216404 Event: try to Connect to Controller
-On: 2011-10-21 15:40:12.494442 Event: init state
-On: 2011-10-21 15:40:12.494684 Event: Register Account to SIP server
-On: 2011-10-21 15:40:12.495105 Event: 100
-On: 2011-10-21 15:40:12.495191 Event: Caller Handler Ready
-On: 2011-10-21 15:40:14.501026 Event: Terminate
-On: 2011-10-21 15:40:14.501064 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:49:25.124608 ------------------
-On: 2011-10-21 15:49:25.145167 Event: try to Connect to Controller
-On: 2011-10-21 15:49:26.420514 Event: init state
-On: 2011-10-21 15:49:26.420765 Event: Register Account to SIP server
-On: 2011-10-21 15:49:26.421186 Event: 100
-On: 2011-10-21 15:49:26.421272 Event: Caller Handler Ready
-On: 2011-10-21 15:49:36.456432 Event: CALL START
-On: 2011-10-21 15:49:36.456488 Event: Make a call to: 4661447
-On: 2011-10-21 15:49:39.018876 Event: Call Connecting
-On: 2011-10-21 15:49:39.018925 Event: 200
-On: 2011-10-21 15:49:39.233582 Event: Terminate
-On: 2011-10-21 15:49:39.233627 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:55:29.225425 ------------------
-On: 2011-10-21 15:55:29.249980 Event: try to Connect to Controller
-On: 2011-10-21 15:55:30.350389 Event: init state
-On: 2011-10-21 15:55:30.350627 Event: Register Account to SIP server
-On: 2011-10-21 15:55:30.351048 Event: 100
-On: 2011-10-21 15:55:30.351133 Event: Caller Handler Ready
-On: 2011-10-21 15:55:32.354793 Event: Terminate
-On: 2011-10-21 15:55:32.354833 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 15:57:49.422201 ------------------
-On: 2011-10-21 15:57:49.442581 Event: try to Connect to Controller
-On: 2011-10-21 15:57:50.749278 Event: init state
-On: 2011-10-21 15:57:50.749515 Event: Register Account to SIP server
-On: 2011-10-21 15:57:50.750019 Event: 100
-On: 2011-10-21 15:57:50.750107 Event: Caller Handler Ready
-On: 2011-10-21 15:57:52.754739 Event: Terminate
-On: 2011-10-21 15:57:52.754778 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:01:03.739201 ------------------
-On: 2011-10-21 16:01:03.759675 Event: try to Connect to Controller
-On: 2011-10-21 16:01:05.059988 Event: init state
-On: 2011-10-21 16:01:05.060231 Event: Register Account to SIP server
-On: 2011-10-21 16:01:05.060654 Event: 100
-On: 2011-10-21 16:01:05.060740 Event: Caller Handler Ready
-On: 2011-10-21 16:01:15.097749 Event: CALL START
-On: 2011-10-21 16:01:15.097802 Event: Make a call to: 4661447
-On: 2011-10-21 16:01:16.962117 Event: Call Connecting
-On: 2011-10-21 16:01:16.962165 Event: 200
-On: 2011-10-21 16:01:17.164323 Event: Terminate
-On: 2011-10-21 16:01:17.164379 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:14:56.827489 ------------------
-On: 2011-10-21 16:14:56.858818 Event: try to Connect to Controller
-On: 2011-10-21 16:14:57.930954 Event: init state
-On: 2011-10-21 16:14:57.931189 Event: Register Account to SIP server
-On: 2011-10-21 16:14:57.931611 Event: 100
-On: 2011-10-21 16:14:57.931697 Event: Caller Handler Ready
-On: 2011-10-21 16:15:07.975877 Event: CALL START
-On: 2011-10-21 16:15:07.975944 Event: Make a call to: 4661455
-On: 2011-10-21 16:15:10.075663 Event: Call Connecting
-On: 2011-10-21 16:15:10.075712 Event: 200
-On: 2011-10-21 16:15:10.258004 Event: Terminate
-On: 2011-10-21 16:15:10.258063 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 16:30:07.932838 ------------------
-On: 2011-10-21 16:30:07.953406 Event: try to Connect to Controller
-On: 2011-10-21 16:30:09.023780 Event: init state
-On: 2011-10-21 16:30:09.024011 Event: Register Account to SIP server
-On: 2011-10-21 16:30:09.024442 Event: 100
-On: 2011-10-21 16:30:09.024528 Event: Caller Handler Ready
-On: 2011-10-21 16:30:19.064338 Event: CALL START
-On: 2011-10-21 16:30:19.064404 Event: Make a call to: 4661455
-On: 2011-10-21 16:30:21.222057 Event: Call Connecting
-On: 2011-10-21 16:30:21.222106 Event: 200
-On: 2011-10-21 16:30:21.414667 Event: Terminate
-On: 2011-10-21 16:30:21.414713 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:17:59.682293 ------------------
-On: 2011-10-21 17:17:59.702466 Event: try to Connect to Controller
-On: 2011-10-21 17:18:01.007089 Event: init state
-On: 2011-10-21 17:18:01.007355 Event: Register Account to SIP server
-On: 2011-10-21 17:18:01.007781 Event: 100
-On: 2011-10-21 17:18:01.007865 Event: Caller Handler Ready
-On: 2011-10-21 17:18:11.051799 Event: CALL START
-On: 2011-10-21 17:18:11.051851 Event: Make a call to: 4661455
-On: 2011-10-21 17:18:12.703303 Event: Call Connecting
-On: 2011-10-21 17:18:12.703353 Event: 200
-On: 2011-10-21 17:18:12.908723 Event: Terminate
-On: 2011-10-21 17:18:12.908782 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:19:41.200005 ------------------
-On: 2011-10-21 17:19:41.220368 Event: try to Connect to Controller
-On: 2011-10-21 17:19:42.518299 Event: init state
-On: 2011-10-21 17:19:42.518541 Event: Register Account to SIP server
-On: 2011-10-21 17:19:42.519327 Event: 100
-On: 2011-10-21 17:19:42.519412 Event: Caller Handler Ready
-On: 2011-10-21 17:19:44.525072 Event: Terminate
-On: 2011-10-21 17:19:44.525113 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:20:53.405668 ------------------
-On: 2011-10-21 17:20:53.426100 Event: try to Connect to Controller
-On: 2011-10-21 17:20:54.724501 Event: init state
-On: 2011-10-21 17:20:54.724745 Event: Register Account to SIP server
-On: 2011-10-21 17:20:54.725522 Event: 100
-On: 2011-10-21 17:20:54.725619 Event: Caller Handler Ready
-On: 2011-10-21 17:21:04.762466 Event: CALL START
-On: 2011-10-21 17:21:04.762523 Event: Make a call to: 4661447
-On: 2011-10-21 17:21:07.144731 Event: Call Connecting
-On: 2011-10-21 17:21:07.144779 Event: 200
-On: 2011-10-21 17:21:07.325277 Event: Terminate
-On: 2011-10-21 17:21:07.325335 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 17:39:10.289329 ------------------
-On: 2011-10-21 17:39:10.314205 Event: try to Connect to Controller
-On: 2011-10-21 17:39:11.398905 Event: init state
-On: 2011-10-21 17:39:11.399141 Event: Register Account to SIP server
-On: 2011-10-21 17:39:11.399558 Event: 100
-On: 2011-10-21 17:39:11.399639 Event: Caller Handler Ready
-On: 2011-10-21 17:39:21.437753 Event: CALL START
-On: 2011-10-21 17:39:21.437811 Event: Make a call to: 4661455
-On: 2011-10-21 17:39:23.785412 Event: Call Connecting
-On: 2011-10-21 17:39:23.785458 Event: 200
-On: 2011-10-21 17:39:24.010265 Event: Terminate
-On: 2011-10-21 17:39:24.010311 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:02:28.113017 ------------------
-On: 2011-10-21 19:02:28.138215 Event: try to Connect to Controller
-On: 2011-10-21 19:02:29.165216 Event: init state
-On: 2011-10-21 19:02:29.165491 Event: Register Account to SIP server
-On: 2011-10-21 19:02:29.165964 Event: 100
-On: 2011-10-21 19:02:29.166050 Event: Caller Handler Ready
-On: 2011-10-21 19:02:39.203454 Event: CALL START
-On: 2011-10-21 19:02:39.203520 Event: Make a call to: 4661455
-On: 2011-10-21 19:02:41.816125 Event: Call Connecting
-On: 2011-10-21 19:02:41.816175 Event: 200
-On: 2011-10-21 19:02:42.041816 Event: Terminate
-On: 2011-10-21 19:02:42.041865 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:53:55.494581 ------------------
-On: 2011-10-21 19:53:55.519539 Event: try to Connect to Controller
-On: 2011-10-21 19:53:56.622662 Event: init state
-On: 2011-10-21 19:53:56.622901 Event: Register Account to SIP server
-On: 2011-10-21 19:53:56.623663 Event: 100
-On: 2011-10-21 19:53:56.623746 Event: Caller Handler Ready
-On: 2011-10-21 19:54:06.661947 Event: CALL START
-On: 2011-10-21 19:54:06.662012 Event: Make a call to: 4661455
-On: 2011-10-21 19:54:09.405806 Event: Call Connecting
-On: 2011-10-21 19:54:09.405856 Event: 200
-On: 2011-10-21 19:54:09.634499 Event: Terminate
-On: 2011-10-21 19:54:09.634543 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 19:57:51.842232 ------------------
-On: 2011-10-21 19:57:51.863507 Event: try to Connect to Controller
-On: 2011-10-21 19:57:52.919716 Event: init state
-On: 2011-10-21 19:57:52.919944 Event: Register Account to SIP server
-On: 2011-10-21 19:57:52.920361 Event: 100
-On: 2011-10-21 19:57:52.920446 Event: Caller Handler Ready
-On: 2011-10-21 19:57:54.924757 Event: Terminate
-On: 2011-10-21 19:57:54.924795 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:04:07.535519 ------------------
-On: 2011-10-21 20:04:07.555827 Event: try to Connect to Controller
-On: 2011-10-21 20:04:08.608892 Event: init state
-On: 2011-10-21 20:04:08.609127 Event: Register Account to SIP server
-On: 2011-10-21 20:04:08.609555 Event: 100
-On: 2011-10-21 20:04:08.609641 Event: Caller Handler Ready
-On: 2011-10-21 20:04:18.641497 Event: CALL START
-On: 2011-10-21 20:04:18.641556 Event: Make a call to: 4661447
-On: 2011-10-21 20:04:21.437870 Event: Call Connecting
-On: 2011-10-21 20:04:21.437920 Event: 200
-On: 2011-10-21 20:04:21.622547 Event: Terminate
-On: 2011-10-21 20:04:21.622600 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:06:56.796325 ------------------
-On: 2011-10-21 20:06:56.820030 Event: try to Connect to Controller
-On: 2011-10-21 20:06:57.881054 Event: init state
-On: 2011-10-21 20:06:57.881295 Event: Register Account to SIP server
-On: 2011-10-21 20:06:57.881772 Event: 100
-On: 2011-10-21 20:06:57.881858 Event: Caller Handler Ready
-On: 2011-10-21 20:07:07.920064 Event: CALL START
-On: 2011-10-21 20:07:07.920122 Event: Make a call to: 4661447
-On: 2011-10-21 20:07:09.481316 Event: Call Connecting
-On: 2011-10-21 20:07:09.481365 Event: 200
-On: 2011-10-21 20:07:09.691477 Event: Terminate
-On: 2011-10-21 20:07:09.691522 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:38:19.366281 ------------------
-On: 2011-10-21 20:38:19.386919 Event: try to Connect to Controller
-On: 2011-10-21 20:38:20.716352 Event: init state
-On: 2011-10-21 20:38:20.716586 Event: Register Account to SIP server
-On: 2011-10-21 20:38:20.716999 Event: 100
-On: 2011-10-21 20:38:20.717075 Event: Caller Handler Ready
-On: 2011-10-21 20:38:22.722737 Event: Terminate
-On: 2011-10-21 20:38:22.722775 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 20:58:03.824798 ------------------
-On: 2011-10-21 20:58:03.845494 Event: try to Connect to Controller
-On: 2011-10-21 20:58:05.170877 Event: init state
-On: 2011-10-21 20:58:05.171113 Event: Register Account to SIP server
-On: 2011-10-21 20:58:05.171518 Event: 100
-On: 2011-10-21 20:58:05.171596 Event: Caller Handler Ready
-On: 2011-10-21 20:58:15.206069 Event: CALL START
-On: 2011-10-21 20:58:15.206126 Event: Make a call to: 4661447
-On: 2011-10-21 20:58:17.763123 Event: Call Connecting
-On: 2011-10-21 20:58:17.763168 Event: 200
-On: 2011-10-21 20:58:17.969396 Event: Terminate
-On: 2011-10-21 20:58:17.969451 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:13:29.626632 ------------------
-On: 2011-10-21 22:13:29.647140 Event: try to Connect to Controller
-On: 2011-10-21 22:13:30.970818 Event: init state
-On: 2011-10-21 22:13:30.971067 Event: Register Account to SIP server
-On: 2011-10-21 22:13:30.971478 Event: 100
-On: 2011-10-21 22:13:30.971555 Event: Caller Handler Ready
-On: 2011-10-21 22:13:41.008924 Event: CALL START
-On: 2011-10-21 22:13:41.008973 Event: Make a call to: 4661455
-On: 2011-10-21 22:13:43.617873 Event: Call Connecting
-On: 2011-10-21 22:13:43.617920 Event: 200
-On: 2011-10-21 22:13:43.803819 Event: Terminate
-On: 2011-10-21 22:13:43.803874 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 22:32:44.978479 ------------------
-On: 2011-10-21 22:32:44.998696 Event: try to Connect to Controller
-On: 2011-10-21 22:32:46.326865 Event: init state
-On: 2011-10-21 22:32:46.327114 Event: Register Account to SIP server
-On: 2011-10-21 22:32:46.327889 Event: 100
-On: 2011-10-21 22:32:46.327966 Event: Caller Handler Ready
-On: 2011-10-21 22:32:48.333622 Event: Terminate
-On: 2011-10-21 22:32:48.333662 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-21 23:43:00.103392 ------------------
-On: 2011-10-21 23:43:00.123919 Event: try to Connect to Controller
-On: 2011-10-21 23:43:01.443582 Event: init state
-On: 2011-10-21 23:43:01.443810 Event: Register Account to SIP server
-On: 2011-10-21 23:43:01.444218 Event: 100
-On: 2011-10-21 23:43:01.444296 Event: Caller Handler Ready
-On: 2011-10-21 23:43:03.449859 Event: Terminate
-On: 2011-10-21 23:43:03.449897 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:02:57.910224 ------------------
-On: 2011-10-22 00:02:57.930733 Event: try to Connect to Controller
-On: 2011-10-22 00:02:59.254846 Event: init state
-On: 2011-10-22 00:02:59.255097 Event: Register Account to SIP server
-On: 2011-10-22 00:02:59.255506 Event: 100
-On: 2011-10-22 00:02:59.255585 Event: Caller Handler Ready
-On: 2011-10-22 00:03:09.291050 Event: CALL START
-On: 2011-10-22 00:03:09.291106 Event: Make a call to: 4661447
-On: 2011-10-22 00:03:11.184290 Event: Call Connecting
-On: 2011-10-22 00:03:11.184337 Event: 200
-On: 2011-10-22 00:03:11.391747 Event: Terminate
-On: 2011-10-22 00:03:11.391802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:19:10.187974 ------------------
-On: 2011-10-22 00:19:10.208065 Event: try to Connect to Controller
-On: 2011-10-22 00:19:11.536065 Event: init state
-On: 2011-10-22 00:19:11.536308 Event: Register Account to SIP server
-On: 2011-10-22 00:19:11.536710 Event: 100
-On: 2011-10-22 00:19:11.536790 Event: Caller Handler Ready
-On: 2011-10-22 00:19:21.571755 Event: CALL START
-On: 2011-10-22 00:19:21.571812 Event: Make a call to: 4661455
-On: 2011-10-22 00:19:24.282244 Event: Call Connecting
-On: 2011-10-22 00:19:24.282290 Event: 200
-On: 2011-10-22 00:19:24.498418 Event: Terminate
-On: 2011-10-22 00:19:24.498472 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:34:04.099181 ------------------
-On: 2011-10-22 00:34:04.119454 Event: try to Connect to Controller
-On: 2011-10-22 00:34:05.436288 Event: init state
-On: 2011-10-22 00:34:05.436524 Event: Register Account to SIP server
-On: 2011-10-22 00:34:05.437299 Event: 100
-On: 2011-10-22 00:34:05.437379 Event: Caller Handler Ready
-On: 2011-10-22 00:34:15.473697 Event: CALL START
-On: 2011-10-22 00:34:15.473768 Event: Make a call to: 4661447
-On: 2011-10-22 00:34:17.831739 Event: Call Connecting
-On: 2011-10-22 00:34:17.831784 Event: 200
-On: 2011-10-22 00:34:18.022131 Event: Terminate
-On: 2011-10-22 00:34:18.022187 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:41:05.420633 ------------------
-On: 2011-10-22 00:41:05.441076 Event: try to Connect to Controller
-On: 2011-10-22 00:41:06.766746 Event: init state
-On: 2011-10-22 00:41:06.766981 Event: Register Account to SIP server
-On: 2011-10-22 00:41:06.767392 Event: 100
-On: 2011-10-22 00:41:06.767473 Event: Caller Handler Ready
-On: 2011-10-22 00:41:16.801752 Event: CALL START
-On: 2011-10-22 00:41:16.801807 Event: Make a call to: 4661447
-On: 2011-10-22 00:41:19.151948 Event: Call Connecting
-On: 2011-10-22 00:41:19.151996 Event: 200
-On: 2011-10-22 00:41:19.369074 Event: Terminate
-On: 2011-10-22 00:41:19.369128 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:51:12.910604 ------------------
-On: 2011-10-22 00:51:12.931024 Event: try to Connect to Controller
-On: 2011-10-22 00:51:14.259782 Event: init state
-On: 2011-10-22 00:51:14.260021 Event: Register Account to SIP server
-On: 2011-10-22 00:51:14.260791 Event: 100
-On: 2011-10-22 00:51:14.260870 Event: Caller Handler Ready
-On: 2011-10-22 00:51:24.302167 Event: CALL START
-On: 2011-10-22 00:51:24.302218 Event: Make a call to: 4661455
-On: 2011-10-22 00:51:30.942271 Event: Call Connecting
-On: 2011-10-22 00:51:30.942318 Event: 200
-On: 2011-10-22 00:51:31.153363 Event: Terminate
-On: 2011-10-22 00:51:31.153419 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 00:57:02.574347 ------------------
-On: 2011-10-22 00:57:02.594666 Event: try to Connect to Controller
-On: 2011-10-22 00:57:03.922839 Event: init state
-On: 2011-10-22 00:57:03.923092 Event: Register Account to SIP server
-On: 2011-10-22 00:57:03.923878 Event: 100
-On: 2011-10-22 00:57:03.923958 Event: Caller Handler Ready
-On: 2011-10-22 00:57:05.928072 Event: Terminate
-On: 2011-10-22 00:57:05.928111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:05:01.840586 ------------------
-On: 2011-10-22 01:05:01.862065 Event: try to Connect to Controller
-On: 2011-10-22 01:05:03.186870 Event: init state
-On: 2011-10-22 01:05:03.187103 Event: Register Account to SIP server
-On: 2011-10-22 01:05:03.187512 Event: 100
-On: 2011-10-22 01:05:03.187591 Event: Caller Handler Ready
-On: 2011-10-22 01:05:05.191970 Event: Terminate
-On: 2011-10-22 01:05:05.192014 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:08:37.201719 ------------------
-On: 2011-10-22 01:08:37.222058 Event: try to Connect to Controller
-On: 2011-10-22 01:08:38.546872 Event: init state
-On: 2011-10-22 01:08:38.547106 Event: Register Account to SIP server
-On: 2011-10-22 01:08:38.547882 Event: 100
-On: 2011-10-22 01:08:38.547962 Event: Caller Handler Ready
-On: 2011-10-22 01:08:40.553517 Event: Terminate
-On: 2011-10-22 01:08:40.553558 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:14:02.814821 ------------------
-On: 2011-10-22 01:14:02.835265 Event: try to Connect to Controller
-On: 2011-10-22 01:14:04.163457 Event: init state
-On: 2011-10-22 01:14:04.163701 Event: Register Account to SIP server
-On: 2011-10-22 01:14:04.164106 Event: 100
-On: 2011-10-22 01:14:04.164188 Event: Caller Handler Ready
-On: 2011-10-22 01:14:14.205927 Event: CALL START
-On: 2011-10-22 01:14:14.205984 Event: Make a call to: 4661455
-On: 2011-10-22 01:14:16.191242 Event: Call Connecting
-On: 2011-10-22 01:14:16.191289 Event: 200
-On: 2011-10-22 01:14:16.401013 Event: Terminate
-On: 2011-10-22 01:14:16.401069 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:27:48.836604 ------------------
-On: 2011-10-22 01:27:48.857217 Event: try to Connect to Controller
-On: 2011-10-22 01:27:50.178369 Event: init state
-On: 2011-10-22 01:27:50.178621 Event: Register Account to SIP server
-On: 2011-10-22 01:27:50.179033 Event: 100
-On: 2011-10-22 01:27:50.181460 Event: Caller Handler Ready
-On: 2011-10-22 01:28:00.208701 Event: CALL START
-On: 2011-10-22 01:28:00.208757 Event: Make a call to: 4661447
-On: 2011-10-22 01:28:02.676526 Event: Call Connecting
-On: 2011-10-22 01:28:02.676572 Event: 200
-On: 2011-10-22 01:28:02.837512 Event: Terminate
-On: 2011-10-22 01:28:02.837567 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:37:15.278999 ------------------
-On: 2011-10-22 01:37:15.299633 Event: try to Connect to Controller
-On: 2011-10-22 01:37:16.622867 Event: init state
-On: 2011-10-22 01:37:16.623100 Event: Register Account to SIP server
-On: 2011-10-22 01:37:16.623508 Event: 100
-On: 2011-10-22 01:37:16.623589 Event: Caller Handler Ready
-On: 2011-10-22 01:37:18.628846 Event: Terminate
-On: 2011-10-22 01:37:18.628884 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 01:45:27.529526 ------------------
-On: 2011-10-22 01:45:27.550200 Event: try to Connect to Controller
-On: 2011-10-22 01:45:28.874877 Event: init state
-On: 2011-10-22 01:45:28.875113 Event: Register Account to SIP server
-On: 2011-10-22 01:45:28.875879 Event: 100
-On: 2011-10-22 01:45:28.875958 Event: Caller Handler Ready
-On: 2011-10-22 01:45:38.911683 Event: CALL START
-On: 2011-10-22 01:45:38.911737 Event: Make a call to: 4661455
-On: 2011-10-22 01:45:41.212771 Event: Call Connecting
-On: 2011-10-22 01:45:41.212817 Event: 200
-On: 2011-10-22 01:45:41.398221 Event: Terminate
-On: 2011-10-22 01:45:41.398276 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:05:05.312388 ------------------
-On: 2011-10-22 02:05:05.332585 Event: try to Connect to Controller
-On: 2011-10-22 02:05:06.659364 Event: init state
-On: 2011-10-22 02:05:06.659612 Event: Register Account to SIP server
-On: 2011-10-22 02:05:06.660021 Event: 100
-On: 2011-10-22 02:05:06.660102 Event: Caller Handler Ready
-On: 2011-10-22 02:05:08.664493 Event: Terminate
-On: 2011-10-22 02:05:08.664534 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:30:29.017636 ------------------
-On: 2011-10-22 02:30:29.037973 Event: try to Connect to Controller
-On: 2011-10-22 02:30:30.362851 Event: init state
-On: 2011-10-22 02:30:30.363100 Event: Register Account to SIP server
-On: 2011-10-22 02:30:30.363873 Event: 100
-On: 2011-10-22 02:30:30.363954 Event: Caller Handler Ready
-On: 2011-10-22 02:30:32.367943 Event: Terminate
-On: 2011-10-22 02:30:32.367983 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 02:55:48.405235 ------------------
-On: 2011-10-22 02:55:48.425326 Event: try to Connect to Controller
-On: 2011-10-22 02:55:49.744301 Event: init state
-On: 2011-10-22 02:55:49.744532 Event: Register Account to SIP server
-On: 2011-10-22 02:55:49.745318 Event: 100
-On: 2011-10-22 02:55:49.745395 Event: Caller Handler Ready
-On: 2011-10-22 02:55:59.786459 Event: CALL START
-On: 2011-10-22 02:55:59.786514 Event: Make a call to: 4661455
-On: 2011-10-22 02:56:01.730399 Event: Call Connecting
-On: 2011-10-22 02:56:01.730443 Event: 200
-On: 2011-10-22 02:56:01.934778 Event: Terminate
-On: 2011-10-22 02:56:01.934832 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:01:50.135334 ------------------
-On: 2011-10-22 03:01:50.155668 Event: try to Connect to Controller
-On: 2011-10-22 03:01:51.478839 Event: init state
-On: 2011-10-22 03:01:51.479081 Event: Register Account to SIP server
-On: 2011-10-22 03:01:51.479485 Event: 100
-On: 2011-10-22 03:01:51.479565 Event: Caller Handler Ready
-On: 2011-10-22 03:01:53.485982 Event: Terminate
-On: 2011-10-22 03:01:53.486033 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:22:32.319815 ------------------
-On: 2011-10-22 03:22:32.340170 Event: try to Connect to Controller
-On: 2011-10-22 03:22:33.656602 Event: init state
-On: 2011-10-22 03:22:33.656833 Event: Register Account to SIP server
-On: 2011-10-22 03:22:33.657238 Event: 100
-On: 2011-10-22 03:22:33.657317 Event: Caller Handler Ready
-On: 2011-10-22 03:22:42.698923 Event: CALL START
-On: 2011-10-22 03:22:42.698978 Event: Make a call to: 4661455
-On: 2011-10-22 03:22:44.723612 Event: Call Connecting
-On: 2011-10-22 03:22:44.723659 Event: 200
-On: 2011-10-22 03:22:44.918625 Event: Terminate
-On: 2011-10-22 03:22:44.918679 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:26:20.183779 ------------------
-On: 2011-10-22 03:26:20.204296 Event: try to Connect to Controller
-On: 2011-10-22 03:26:21.526880 Event: init state
-On: 2011-10-22 03:26:21.527116 Event: Register Account to SIP server
-On: 2011-10-22 03:26:21.527533 Event: 100
-On: 2011-10-22 03:26:21.527614 Event: Caller Handler Ready
-On: 2011-10-22 03:26:30.560115 Event: CALL START
-On: 2011-10-22 03:26:30.560172 Event: Make a call to: 4661447
-On: 2011-10-22 03:26:33.252426 Event: Call Connecting
-On: 2011-10-22 03:26:33.252473 Event: 200
-On: 2011-10-22 03:26:33.472767 Event: Terminate
-On: 2011-10-22 03:26:33.472821 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:31:07.504264 ------------------
-On: 2011-10-22 03:31:07.524573 Event: try to Connect to Controller
-On: 2011-10-22 03:31:08.851492 Event: init state
-On: 2011-10-22 03:31:08.851729 Event: Register Account to SIP server
-On: 2011-10-22 03:31:08.852134 Event: 100
-On: 2011-10-22 03:31:08.852214 Event: Caller Handler Ready
-On: 2011-10-22 03:31:17.893069 Event: CALL START
-On: 2011-10-22 03:31:17.893124 Event: Make a call to: 4661455
-On: 2011-10-22 03:31:20.264951 Event: Call Connecting
-On: 2011-10-22 03:31:20.264998 Event: 200
-On: 2011-10-22 03:31:20.472420 Event: Terminate
-On: 2011-10-22 03:31:20.472475 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:44:54.737557 ------------------
-On: 2011-10-22 03:44:54.757486 Event: try to Connect to Controller
-On: 2011-10-22 03:44:56.050691 Event: init state
-On: 2011-10-22 03:44:56.050932 Event: Register Account to SIP server
-On: 2011-10-22 03:44:56.051339 Event: 100
-On: 2011-10-22 03:44:56.051419 Event: Receiver Handler Ready
-On: 2011-10-22 03:44:56.051759 Event: RECEIVE START
-On: 2011-10-22 03:44:58.084897 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-22 03:44:58.085378 Event: Call Connecting
-On: 2011-10-22 03:44:58.085417 Event: 200
-On: 2011-10-22 03:44:58.085658 Event: Answer call
-On: 2011-10-22 03:44:58.085708 Event: Hangup call
-On: 2011-10-22 03:44:58.086061 Event: CALL OK
-On: 2011-10-22 03:44:58.107068 Event: Terminate
-On: 2011-10-22 03:44:58.107124 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-22 03:51:12.277158 ------------------
-On: 2011-10-22 03:51:12.297374 Event: try to Connect to Controller
-On: 2011-10-22 03:51:13.618216 Event: init state
-On: 2011-10-22 03:51:13.618450 Event: Register Account to SIP server
-On: 2011-10-22 03:51:13.619218 Event: 100
-On: 2011-10-22 03:51:13.619299 Event: Caller Handler Ready
-On: 2011-10-22 03:51:22.657751 Event: CALL START
-On: 2011-10-22 03:51:22.657807 Event: Make a call to: 4661455
-On: 2011-10-22 03:51:24.221515 Event: Call Connecting
-On: 2011-10-22 03:51:24.221560 Event: 200
-On: 2011-10-22 03:51:24.423880 Event: Terminate
-On: 2011-10-22 03:51:24.423935 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:40:13.236267 ------------------
-On: 2011-10-24 13:40:13.256343 Event: try to Connect to Controller
-On: 2011-10-24 13:40:14.457427 Event: init state
-On: 2011-10-24 13:40:14.457694 Event: Register Account to SIP server
-On: 2011-10-24 13:40:14.458117 Event: 100
-On: 2011-10-24 13:40:14.458206 Event: Caller Handler Ready
-On: 2011-10-24 13:40:19.465423 Event: CALL START
-On: 2011-10-24 13:40:19.465479 Event: Make a call to: 4661449
-On: 2011-10-24 13:40:22.072990 Event: Call Connecting
-On: 2011-10-24 13:40:22.073038 Event: 200
-On: 2011-10-24 13:40:22.493892 Event: Terminate
-On: 2011-10-24 13:40:22.493935 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:45:58.312800 ------------------
-On: 2011-10-24 13:45:58.384534 Event: try to Connect to Controller
-On: 2011-10-24 13:45:58.405256 Event: init state
-On: 2011-10-24 13:45:58.405525 Event: Register Account to SIP server
-On: 2011-10-24 13:45:58.405950 Event: 100
-On: 2011-10-24 13:45:58.406030 Event: Caller Handler Ready
-On: 2011-10-24 13:46:08.453468 Event: CALL START
-On: 2011-10-24 13:46:08.453530 Event: Make a call to: 4661447
-On: 2011-10-24 13:46:08.541076 Event: Number busy or Offline
-On: 2011-10-24 13:46:08.541184 Event: CALL NOT OK
-On: 2011-10-24 13:46:08.541243 Event: Call Disconnected
-On: 2011-10-24 13:46:20.453369 Event: Terminate
-On: 2011-10-24 13:46:20.453449 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 13:49:45.859614 ------------------
-On: 2011-10-24 13:49:45.881751 Event: try to Connect to Controller
-On: 2011-10-24 13:49:47.114722 Event: init state
-On: 2011-10-24 13:49:47.114966 Event: Register Account to SIP server
-On: 2011-10-24 13:49:47.115392 Event: 100
-On: 2011-10-24 13:49:47.115478 Event: Caller Handler Ready
-On: 2011-10-24 13:49:57.149650 Event: CALL START
-On: 2011-10-24 13:49:57.149719 Event: Make a call to: 4661447
-On: 2011-10-24 13:49:57.205356 Event: Number busy or Offline
-On: 2011-10-24 13:49:57.205502 Event: CALL NOT OK
-On: 2011-10-24 13:49:57.205568 Event: Call Disconnected
-On: 2011-10-24 13:50:09.147236 Event: Terminate
-On: 2011-10-24 13:50:09.147284 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:10:22.587236 ------------------
-On: 2011-10-24 14:10:22.609893 Event: try to Connect to Controller
-On: 2011-10-24 14:10:23.842162 Event: init state
-On: 2011-10-24 14:10:23.842471 Event: Register Account to SIP server
-On: 2011-10-24 14:10:23.842922 Event: 100
-On: 2011-10-24 14:10:23.843007 Event: Caller Handler Ready
-On: 2011-10-24 14:10:33.883476 Event: CALL START
-On: 2011-10-24 14:10:33.883545 Event: Make a call to: 4661455
-On: 2011-10-24 14:10:36.444973 Event: Call Connecting
-On: 2011-10-24 14:10:36.445021 Event: 200
-On: 2011-10-24 14:10:36.672820 Event: Terminate
-On: 2011-10-24 14:10:36.672880 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:41:41.348250 ------------------
-On: 2011-10-24 14:41:41.370325 Event: try to Connect to Controller
-On: 2011-10-24 14:41:42.606702 Event: init state
-On: 2011-10-24 14:41:42.606941 Event: Register Account to SIP server
-On: 2011-10-24 14:41:42.607363 Event: 100
-On: 2011-10-24 14:41:42.607447 Event: Caller Handler Ready
-On: 2011-10-24 14:41:52.640166 Event: CALL START
-On: 2011-10-24 14:41:52.640233 Event: Make a call to: 4661473
-On: 2011-10-24 14:42:19.638565 Event: Terminate
-On: 2011-10-24 14:42:19.638614 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-24 14:46:38.535605 ------------------
-On: 2011-10-24 14:46:38.557378 Event: try to Connect to Controller
-On: 2011-10-24 14:46:39.786642 Event: init state
-On: 2011-10-24 14:46:39.786890 Event: Register Account to SIP server
-On: 2011-10-24 14:46:39.787314 Event: 100
-On: 2011-10-24 14:46:39.787398 Event: Caller Handler Ready
-On: 2011-10-24 14:46:44.797065 Event: CALL START
-On: 2011-10-24 14:46:44.797125 Event: Make a call to: 4661449
-On: 2011-10-24 14:46:47.220460 Event: Call Connecting
-On: 2011-10-24 14:46:47.220509 Event: 200
-On: 2011-10-24 14:46:47.468227 Event: Terminate
-On: 2011-10-24 14:46:47.468270 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:00:56.334655 ------------------
-On: 2011-10-25 01:00:56.356438 Event: try to Connect to Controller
-On: 2011-10-25 01:00:57.621740 Event: init state
-On: 2011-10-25 01:00:57.621984 Event: Register Account to SIP server
-On: 2011-10-25 01:00:57.622405 Event: 100
-On: 2011-10-25 01:00:57.622489 Event: Caller Handler Ready
-On: 2011-10-25 01:01:02.629433 Event: CALL START
-On: 2011-10-25 01:01:02.629492 Event: Make a call to: 4661449
-On: 2011-10-25 01:01:05.218559 Event: Call Connecting
-On: 2011-10-25 01:01:05.218607 Event: 200
-On: 2011-10-25 01:01:05.541929 Event: Terminate
-On: 2011-10-25 01:01:05.541972 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 01:05:24.557968 ------------------
-On: 2011-10-25 01:05:24.580383 Event: try to Connect to Controller
-On: 2011-10-25 01:05:25.846268 Event: init state
-On: 2011-10-25 01:05:25.846512 Event: Register Account to SIP server
-On: 2011-10-25 01:05:25.847280 Event: 100
-On: 2011-10-25 01:05:25.847360 Event: Caller Handler Ready
-On: 2011-10-25 01:05:30.855708 Event: CALL START
-On: 2011-10-25 01:05:30.855766 Event: Make a call to: 4661449
-On: 2011-10-25 01:05:33.498255 Event: Call Connecting
-On: 2011-10-25 01:05:33.498302 Event: 200
-On: 2011-10-25 01:05:33.757886 Event: Terminate
-On: 2011-10-25 01:05:33.757928 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:11:30.662767 ------------------
-On: 2011-10-25 14:11:30.686322 Event: try to Connect to Controller
-On: 2011-10-25 14:11:31.883786 Event: init state
-On: 2011-10-25 14:11:31.884028 Event: Register Account to SIP server
-On: 2011-10-25 14:11:31.884451 Event: 100
-On: 2011-10-25 14:11:31.884534 Event: Caller Handler Ready
-On: 2011-10-25 14:11:41.917424 Event: CALL START
-On: 2011-10-25 14:11:41.917485 Event: Make a call to: 4661473
-On: 2011-10-25 14:11:43.756485 Event: Call Connecting
-On: 2011-10-25 14:11:43.756534 Event: 200
-On: 2011-10-25 14:11:43.994872 Event: Terminate
-On: 2011-10-25 14:11:43.994919 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:19:14.963011 ------------------
-On: 2011-10-25 14:19:14.984583 Event: try to Connect to Controller
-On: 2011-10-25 14:19:16.190170 Event: init state
-On: 2011-10-25 14:19:16.190415 Event: Register Account to SIP server
-On: 2011-10-25 14:19:16.191201 Event: 100
-On: 2011-10-25 14:19:16.191285 Event: Caller Handler Ready
-On: 2011-10-25 14:19:21.200811 Event: CALL START
-On: 2011-10-25 14:19:21.200874 Event: Make a call to: 4661449
-On: 2011-10-25 14:19:23.900927 Event: Call Connecting
-On: 2011-10-25 14:19:23.900976 Event: 200
-On: 2011-10-25 14:19:24.193899 Event: Terminate
-On: 2011-10-25 14:19:24.193942 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 14:35:08.068573 ------------------
-On: 2011-10-25 14:35:08.089947 Event: try to Connect to Controller
-On: 2011-10-25 14:35:09.048296 Event: init state
-On: 2011-10-25 14:35:09.048534 Event: Register Account to SIP server
-On: 2011-10-25 14:35:09.048957 Event: 100
-On: 2011-10-25 14:35:09.049045 Event: Caller Handler Ready
-On: 2011-10-25 14:35:14.057517 Event: CALL START
-On: 2011-10-25 14:35:14.057580 Event: Make a call to: 4661449
-On: 2011-10-25 14:35:16.045103 Event: Call Connecting
-On: 2011-10-25 14:35:16.045151 Event: 200
-On: 2011-10-25 14:35:16.289895 Event: Terminate
-On: 2011-10-25 14:35:16.289936 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 16:44:28.246985 ------------------
-On: 2011-10-25 16:44:28.269331 Event: try to Connect to Controller
-On: 2011-10-25 16:44:29.328771 Event: init state
-On: 2011-10-25 16:44:29.328997 Event: Register Account to SIP server
-On: 2011-10-25 16:44:29.329520 Event: 100
-On: 2011-10-25 16:44:29.329609 Event: Receiver Handler Ready
-On: 2011-10-25 16:44:29.330758 Event: RECEIVE START
-On: 2011-10-25 16:44:32.377110 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-25 16:44:32.377709 Event: Call Connecting
-On: 2011-10-25 16:44:32.377758 Event: 200
-On: 2011-10-25 16:44:32.378018 Event: Answer call
-On: 2011-10-25 16:44:32.378071 Event: Hangup call
-On: 2011-10-25 16:44:32.378246 Event: CALL OK
-On: 2011-10-25 16:44:32.406090 Event: Terminate
-On: 2011-10-25 16:44:32.406133 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:09:58.683132 ------------------
-On: 2011-10-25 17:09:58.706240 Event: try to Connect to Controller
-On: 2011-10-25 17:09:59.614146 Event: init state
-On: 2011-10-25 17:09:59.614400 Event: Register Account to SIP server
-On: 2011-10-25 17:09:59.614823 Event: 100
-On: 2011-10-25 17:09:59.614909 Event: Caller Handler Ready
-On: 2011-10-25 17:10:04.625193 Event: CALL START
-On: 2011-10-25 17:10:04.625253 Event: Make a call to: 4661449
-On: 2011-10-25 17:10:12.260133 Event: Call Connecting
-On: 2011-10-25 17:10:12.260182 Event: 200
-On: 2011-10-25 17:10:12.557949 Event: Terminate
-On: 2011-10-25 17:10:12.557991 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-25 17:20:42.688913 ------------------
-On: 2011-10-25 17:20:42.712543 Event: try to Connect to Controller
-On: 2011-10-25 17:20:43.673275 Event: init state
-On: 2011-10-25 17:20:43.673591 Event: Register Account to SIP server
-On: 2011-10-25 17:20:43.674373 Event: 100
-On: 2011-10-25 17:20:43.674454 Event: Caller Handler Ready
-On: 2011-10-25 17:20:53.708011 Event: CALL START
-On: 2011-10-25 17:20:53.708076 Event: Make a call to: 4661473
-On: 2011-10-25 17:20:56.096302 Event: Call Connecting
-On: 2011-10-25 17:20:56.096352 Event: 200
-On: 2011-10-25 17:20:56.254651 Event: Terminate
-On: 2011-10-25 17:20:56.254697 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 20:33:23.009127 ------------------
-On: 2011-10-26 20:33:23.029642 Event: try to Connect to Controller
-On: 2011-10-26 20:33:24.328289 Event: init state
-On: 2011-10-26 20:33:24.328529 Event: Register Account to SIP server
-On: 2011-10-26 20:33:24.328938 Event: 100
-On: 2011-10-26 20:33:24.329016 Event: Caller Handler Ready
-On: 2011-10-26 20:33:29.340632 Event: CALL START
-On: 2011-10-26 20:33:29.340685 Event: Make a call to: 4661449
-On: 2011-10-26 20:33:31.266572 Event: Call Connecting
-On: 2011-10-26 20:33:31.266616 Event: 200
-On: 2011-10-26 20:33:31.497890 Event: Terminate
-On: 2011-10-26 20:33:31.497932 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:56:04.806002 ------------------
-On: 2011-10-26 22:56:04.826631 Event: try to Connect to Controller
-On: 2011-10-26 22:56:06.101586 Event: init state
-On: 2011-10-26 22:56:06.101840 Event: Register Account to SIP server
-On: 2011-10-26 22:56:06.102256 Event: 100
-On: 2011-10-26 22:56:06.102338 Event: Receiver Handler Ready
-On: 2011-10-26 22:56:06.102682 Event: RECEIVE START
-On: 2011-10-26 22:56:09.125789 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 22:56:09.126291 Event: Call Connecting
-On: 2011-10-26 22:56:09.126412 Event: 200
-On: 2011-10-26 22:56:09.126663 Event: Answer call
-On: 2011-10-26 22:56:09.126718 Event: Hangup call
-On: 2011-10-26 22:56:09.126888 Event: CALL OK
-On: 2011-10-26 22:56:09.147722 Event: Terminate
-On: 2011-10-26 22:56:09.147778 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 22:57:36.809888 ------------------
-On: 2011-10-26 22:57:36.830403 Event: try to Connect to Controller
-On: 2011-10-26 22:57:38.102401 Event: init state
-On: 2011-10-26 22:57:38.102649 Event: Register Account to SIP server
-On: 2011-10-26 22:57:38.103054 Event: 100
-On: 2011-10-26 22:57:38.103135 Event: Receiver Handler Ready
-On: 2011-10-26 22:57:38.103479 Event: RECEIVE START
-On: 2011-10-26 22:57:41.130083 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 22:57:41.130642 Event: Call Connecting
-On: 2011-10-26 22:57:41.130683 Event: 200
-On: 2011-10-26 22:57:41.130930 Event: Answer call
-On: 2011-10-26 22:57:41.130980 Event: Hangup call
-On: 2011-10-26 22:57:41.132736 Event: CALL OK
-On: 2011-10-26 22:57:41.149210 Event: Terminate
-On: 2011-10-26 22:57:41.149262 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:13:30.789691 ------------------
-On: 2011-10-26 23:13:30.810291 Event: try to Connect to Controller
-On: 2011-10-26 23:13:32.082964 Event: init state
-On: 2011-10-26 23:13:32.083237 Event: Register Account to SIP server
-On: 2011-10-26 23:13:32.083649 Event: 100
-On: 2011-10-26 23:13:32.083730 Event: Receiver Handler Ready
-On: 2011-10-26 23:13:32.084077 Event: RECEIVE START
-On: 2011-10-26 23:13:35.110206 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 23:13:35.110705 Event: Call Connecting
-On: 2011-10-26 23:13:35.110743 Event: 200
-On: 2011-10-26 23:13:35.110993 Event: Answer call
-On: 2011-10-26 23:13:35.112576 Event: Hangup call
-On: 2011-10-26 23:13:35.112848 Event: CALL OK
-On: 2011-10-26 23:13:35.132133 Event: Terminate
-On: 2011-10-26 23:13:35.132185 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:21:20.327915 ------------------
-On: 2011-10-26 23:21:20.348852 Event: try to Connect to Controller
-On: 2011-10-26 23:21:21.621365 Event: init state
-On: 2011-10-26 23:21:21.621859 Event: Register Account to SIP server
-On: 2011-10-26 23:21:21.622275 Event: 100
-On: 2011-10-26 23:21:21.622356 Event: Receiver Handler Ready
-On: 2011-10-26 23:21:21.622703 Event: RECEIVE START
-On: 2011-10-26 23:21:24.652680 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 23:21:24.653206 Event: Call Connecting
-On: 2011-10-26 23:21:24.653245 Event: 200
-On: 2011-10-26 23:21:24.653665 Event: Answer call
-On: 2011-10-26 23:21:24.653739 Event: Hangup call
-On: 2011-10-26 23:21:24.653912 Event: CALL OK
-On: 2011-10-26 23:21:24.672981 Event: Terminate
-On: 2011-10-26 23:21:24.673035 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:42:11.914794 ------------------
-On: 2011-10-26 23:42:11.935424 Event: try to Connect to Controller
-On: 2011-10-26 23:42:13.206573 Event: init state
-On: 2011-10-26 23:42:13.206819 Event: Register Account to SIP server
-On: 2011-10-26 23:42:13.207597 Event: 100
-On: 2011-10-26 23:42:13.207946 Event: Receiver Handler Ready
-On: 2011-10-26 23:42:13.208015 Event: RECEIVE START
-On: 2011-10-26 23:42:16.234221 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 23:42:16.234726 Event: Call Connecting
-On: 2011-10-26 23:42:16.234761 Event: 200
-On: 2011-10-26 23:42:16.235094 Event: Answer call
-On: 2011-10-26 23:42:16.235162 Event: Hangup call
-On: 2011-10-26 23:42:16.235326 Event: CALL OK
-On: 2011-10-26 23:42:16.259334 Event: Terminate
-On: 2011-10-26 23:42:16.259391 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-26 23:43:01.508080 ------------------
-On: 2011-10-26 23:43:01.528558 Event: try to Connect to Controller
-On: 2011-10-26 23:43:02.782415 Event: init state
-On: 2011-10-26 23:43:02.782665 Event: Register Account to SIP server
-On: 2011-10-26 23:43:02.783081 Event: 100
-On: 2011-10-26 23:43:02.783157 Event: Receiver Handler Ready
-On: 2011-10-26 23:43:02.783499 Event: RECEIVE START
-On: 2011-10-26 23:43:05.827555 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-26 23:43:05.828103 Event: Call Connecting
-On: 2011-10-26 23:43:05.828143 Event: 200
-On: 2011-10-26 23:43:05.828534 Event: Answer call
-On: 2011-10-26 23:43:05.828603 Event: Hangup call
-On: 2011-10-26 23:43:05.828781 Event: CALL OK
-On: 2011-10-26 23:43:05.839261 Event: Terminate
-On: 2011-10-26 23:43:05.839319 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:15:29.766706 ------------------
-On: 2011-10-27 00:15:29.787015 Event: try to Connect to Controller
-On: 2011-10-27 00:15:31.059048 Event: init state
-On: 2011-10-27 00:15:31.059318 Event: Register Account to SIP server
-On: 2011-10-27 00:15:31.059737 Event: 100
-On: 2011-10-27 00:15:31.059816 Event: Receiver Handler Ready
-On: 2011-10-27 00:15:31.060159 Event: RECEIVE START
-On: 2011-10-27 00:15:34.089608 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-27 00:15:34.090116 Event: Call Connecting
-On: 2011-10-27 00:15:34.090156 Event: 200
-On: 2011-10-27 00:15:34.090408 Event: Answer call
-On: 2011-10-27 00:15:34.090462 Event: Hangup call
-On: 2011-10-27 00:15:34.090631 Event: CALL OK
-On: 2011-10-27 00:15:34.109233 Event: Terminate
-On: 2011-10-27 00:15:34.109290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:20:27.591822 ------------------
-On: 2011-10-27 00:20:27.612488 Event: try to Connect to Controller
-On: 2011-10-27 00:20:28.878157 Event: init state
-On: 2011-10-27 00:20:28.878432 Event: Register Account to SIP server
-On: 2011-10-27 00:20:28.878850 Event: 100
-On: 2011-10-27 00:20:28.878926 Event: Receiver Handler Ready
-On: 2011-10-27 00:20:28.879268 Event: RECEIVE START
-On: 2011-10-27 00:20:31.912942 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-27 00:20:31.913628 Event: Call Connecting
-On: 2011-10-27 00:20:31.913677 Event: 200
-On: 2011-10-27 00:20:31.913922 Event: Answer call
-On: 2011-10-27 00:20:31.913974 Event: Hangup call
-On: 2011-10-27 00:20:31.914148 Event: CALL OK
-On: 2011-10-27 00:20:31.927344 Event: Terminate
-On: 2011-10-27 00:20:31.927402 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 00:40:02.425900 ------------------
-On: 2011-10-27 00:40:02.446585 Event: try to Connect to Controller
-On: 2011-10-27 00:40:03.716685 Event: init state
-On: 2011-10-27 00:40:03.716936 Event: Register Account to SIP server
-On: 2011-10-27 00:40:03.717347 Event: 100
-On: 2011-10-27 00:40:03.717615 Event: Receiver Handler Ready
-On: 2011-10-27 00:40:03.717979 Event: RECEIVE START
-On: 2011-10-27 00:40:06.745916 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-27 00:40:06.746416 Event: Call Connecting
-On: 2011-10-27 00:40:06.746455 Event: 200
-On: 2011-10-27 00:40:06.746815 Event: Answer call
-On: 2011-10-27 00:40:06.746884 Event: Hangup call
-On: 2011-10-27 00:40:06.748632 Event: CALL OK
-On: 2011-10-27 00:40:06.789640 Event: Terminate
-On: 2011-10-27 00:40:06.789701 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-27 01:27:33.633972 ------------------
-On: 2011-10-27 01:27:33.654398 Event: try to Connect to Controller
-On: 2011-10-27 01:27:34.925093 Event: init state
-On: 2011-10-27 01:27:34.925334 Event: Register Account to SIP server
-On: 2011-10-27 01:27:34.925789 Event: 100
-On: 2011-10-27 01:27:34.925872 Event: Receiver Handler Ready
-On: 2011-10-27 01:27:34.926363 Event: RECEIVE START
-On: 2011-10-27 01:27:37.954745 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-27 01:27:37.956827 Event: Call Connecting
-On: 2011-10-27 01:27:37.956876 Event: 200
-On: 2011-10-27 01:27:37.957122 Event: Answer call
-On: 2011-10-27 01:27:37.957173 Event: Hangup call
-On: 2011-10-27 01:27:37.957341 Event: CALL OK
-On: 2011-10-27 01:27:37.981020 Event: Terminate
-On: 2011-10-27 01:27:37.981074 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:02:39.589928 ------------------
-On: 2011-10-28 15:02:39.610435 Event: try to Connect to Controller
-On: 2011-10-28 15:02:40.847589 Event: init state
-On: 2011-10-28 15:02:40.847878 Event: Register Account to SIP server
-On: 2011-10-28 15:02:40.848306 Event: 100
-On: 2011-10-28 15:02:40.848393 Event: Caller Handler Ready
-On: 2011-10-28 15:02:45.857720 Event: CALL START
-On: 2011-10-28 15:02:45.857780 Event: Make a call to: 77224
-On: 2011-10-28 15:03:21.272174 Event: Call Disconnected
-On: 2011-10-28 15:03:22.855259 Event: Terminate
-On: 2011-10-28 15:03:22.855303 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:12:41.165284 ------------------
-On: 2011-10-28 15:12:41.186832 Event: try to Connect to Controller
-On: 2011-10-28 15:12:42.396989 Event: init state
-On: 2011-10-28 15:12:42.397226 Event: Register Account to SIP server
-On: 2011-10-28 15:12:42.397717 Event: 100
-On: 2011-10-28 15:12:42.397807 Event: Receiver Handler Ready
-On: 2011-10-28 15:12:42.398219 Event: RECEIVE START
-On: 2011-10-28 15:12:45.438722 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-28 15:12:45.439233 Event: Call Connecting
-On: 2011-10-28 15:12:45.439274 Event: 200
-On: 2011-10-28 15:12:45.439539 Event: Answer call
-On: 2011-10-28 15:12:45.439591 Event: Hangup call
-On: 2011-10-28 15:12:45.439766 Event: CALL OK
-On: 2011-10-28 15:12:45.473749 Event: Terminate
-On: 2011-10-28 15:12:45.473794 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:48:32.930421 ------------------
-On: 2011-10-28 15:48:32.962994 Event: try to Connect to Controller
-On: 2011-10-28 15:48:34.162145 Event: init state
-On: 2011-10-28 15:48:34.162375 Event: Register Account to SIP server
-On: 2011-10-28 15:48:34.162824 Event: 100
-On: 2011-10-28 15:48:34.162909 Event: Receiver Handler Ready
-On: 2011-10-28 15:48:34.163237 Event: RECEIVE START
-On: 2011-10-28 15:48:37.215577 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-28 15:48:37.216092 Event: Call Connecting
-On: 2011-10-28 15:48:37.216133 Event: 200
-On: 2011-10-28 15:48:37.216391 Event: Answer call
-On: 2011-10-28 15:48:37.216443 Event: Hangup call
-On: 2011-10-28 15:48:37.216615 Event: CALL OK
-On: 2011-10-28 15:48:37.246571 Event: Terminate
-On: 2011-10-28 15:48:37.246616 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:55:35.462078 ------------------
-On: 2011-10-28 15:55:35.482676 Event: try to Connect to Controller
-On: 2011-10-28 15:55:36.626715 Event: init state
-On: 2011-10-28 15:55:36.626954 Event: Register Account to SIP server
-On: 2011-10-28 15:55:36.627386 Event: 100
-On: 2011-10-28 15:55:36.627473 Event: Receiver Handler Ready
-On: 2011-10-28 15:55:36.629796 Event: RECEIVE START
-On: 2011-10-28 15:55:37.839553 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-28 15:55:37.840064 Event: Call Connecting
-On: 2011-10-28 15:55:37.840103 Event: 200
-On: 2011-10-28 15:55:37.840361 Event: Answer call
-On: 2011-10-28 15:55:37.840413 Event: Hangup call
-On: 2011-10-28 15:55:37.840590 Event: CALL OK
-On: 2011-10-28 15:55:37.941726 Event: Call Disconnected
-On: 2011-10-28 15:55:39.173431 Event: Terminate
-On: 2011-10-28 15:55:39.173472 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:55:49.992011 ------------------
-On: 2011-10-28 15:55:50.016968 Event: try to Connect to Controller
-On: 2011-10-28 15:55:51.240905 Event: init state
-On: 2011-10-28 15:55:51.241149 Event: Register Account to SIP server
-On: 2011-10-28 15:55:51.241581 Event: 100
-On: 2011-10-28 15:55:51.241667 Event: Receiver Handler Ready
-On: 2011-10-28 15:55:51.241992 Event: RECEIVE START
-On: 2011-10-28 15:55:52.937795 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-28 15:55:52.938316 Event: Call Connecting
-On: 2011-10-28 15:55:52.938357 Event: 200
-On: 2011-10-28 15:55:52.938619 Event: Answer call
-On: 2011-10-28 15:55:52.938674 Event: Hangup call
-On: 2011-10-28 15:55:52.938850 Event: CALL OK
-On: 2011-10-28 15:55:53.039982 Event: Call Disconnected
-On: 2011-10-28 15:55:54.450157 Event: Terminate
-On: 2011-10-28 15:55:54.450203 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 15:56:05.370514 ------------------
-On: 2011-10-28 15:56:05.401372 Event: try to Connect to Controller
-On: 2011-10-28 15:56:06.534726 Event: init state
-On: 2011-10-28 15:56:06.534964 Event: Register Account to SIP server
-On: 2011-10-28 15:56:06.535392 Event: 100
-On: 2011-10-28 15:56:06.535479 Event: Receiver Handler Ready
-On: 2011-10-28 15:56:06.535742 Event: RECEIVE START
-On: 2011-10-28 15:56:08.424545 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 15:56:08.425055 Event: Call Connecting
-On: 2011-10-28 15:56:08.425096 Event: 200
-On: 2011-10-28 15:56:08.425350 Event: Answer call
-On: 2011-10-28 15:56:08.425403 Event: Hangup call
-On: 2011-10-28 15:56:08.425572 Event: CALL OK
-On: 2011-10-28 15:56:08.526704 Event: Call Disconnected
-On: 2011-10-28 15:56:09.942818 Event: Terminate
-On: 2011-10-28 15:56:09.942863 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:50:21.238537 ------------------
-On: 2011-10-28 16:50:21.258672 Event: try to Connect to Controller
-On: 2011-10-28 16:50:22.550438 Event: init state
-On: 2011-10-28 16:50:22.550673 Event: Register Account to SIP server
-On: 2011-10-28 16:50:22.551099 Event: 100
-On: 2011-10-28 16:50:22.551184 Event: Caller Handler Ready
-On: 2011-10-28 16:50:32.569708 Event: CALL START
-On: 2011-10-28 16:50:32.569765 Event: Make a call to: 4661455
-On: 2011-10-28 16:50:34.663801 Event: Call Connecting
-On: 2011-10-28 16:50:34.663849 Event: 200
-On: 2011-10-28 16:50:34.848487 Event: Terminate
-On: 2011-10-28 16:50:34.848544 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 16:59:54.566303 ------------------
-On: 2011-10-28 16:59:54.587028 Event: try to Connect to Controller
-On: 2011-10-28 16:59:55.833932 Event: init state
-On: 2011-10-28 16:59:55.834171 Event: Register Account to SIP server
-On: 2011-10-28 16:59:55.834598 Event: 100
-On: 2011-10-28 16:59:55.834684 Event: Receiver Handler Ready
-On: 2011-10-28 16:59:55.834949 Event: RECEIVE START
-On: 2011-10-28 16:59:57.764374 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 16:59:57.764894 Event: Call Connecting
-On: 2011-10-28 16:59:57.764935 Event: 200
-On: 2011-10-28 16:59:57.765194 Event: Answer call
-On: 2011-10-28 16:59:57.765247 Event: Hangup call
-On: 2011-10-28 16:59:57.765422 Event: CALL OK
-On: 2011-10-28 16:59:57.866551 Event: Call Disconnected
-On: 2011-10-28 16:59:59.201979 Event: Terminate
-On: 2011-10-28 16:59:59.202027 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:00:10.005649 ------------------
-On: 2011-10-28 17:00:10.026486 Event: try to Connect to Controller
-On: 2011-10-28 17:00:11.270743 Event: init state
-On: 2011-10-28 17:00:11.270977 Event: Register Account to SIP server
-On: 2011-10-28 17:00:11.271767 Event: 100
-On: 2011-10-28 17:00:11.271856 Event: Receiver Handler Ready
-On: 2011-10-28 17:00:11.272275 Event: RECEIVE START
-On: 2011-10-28 17:00:12.844776 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-28 17:00:12.845290 Event: Call Connecting
-On: 2011-10-28 17:00:12.845331 Event: 200
-On: 2011-10-28 17:00:12.845787 Event: Answer call
-On: 2011-10-28 17:00:12.845863 Event: Hangup call
-On: 2011-10-28 17:00:12.846054 Event: CALL OK
-On: 2011-10-28 17:00:12.947175 Event: Call Disconnected
-On: 2011-10-28 17:00:14.359224 Event: Terminate
-On: 2011-10-28 17:00:14.359269 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:00:20.195345 ------------------
-On: 2011-10-28 17:00:20.225978 Event: try to Connect to Controller
-On: 2011-10-28 17:00:21.429275 Event: init state
-On: 2011-10-28 17:00:21.429507 Event: Register Account to SIP server
-On: 2011-10-28 17:00:21.430363 Event: 100
-On: 2011-10-28 17:00:21.430452 Event: Receiver Handler Ready
-On: 2011-10-28 17:00:21.433861 Event: RECEIVE START
-On: 2011-10-28 17:00:22.327351 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-28 17:00:22.327856 Event: Call Connecting
-On: 2011-10-28 17:00:22.327896 Event: 200
-On: 2011-10-28 17:00:22.328152 Event: Answer call
-On: 2011-10-28 17:00:22.328205 Event: Hangup call
-On: 2011-10-28 17:00:22.328385 Event: CALL OK
-On: 2011-10-28 17:00:22.429489 Event: Call Disconnected
-On: 2011-10-28 17:00:23.982136 Event: Terminate
-On: 2011-10-28 17:00:23.982178 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:03:33.447204 ------------------
-On: 2011-10-28 17:03:33.468104 Event: try to Connect to Controller
-On: 2011-10-28 17:03:34.700820 Event: init state
-On: 2011-10-28 17:03:34.701049 Event: Register Account to SIP server
-On: 2011-10-28 17:03:34.701901 Event: 100
-On: 2011-10-28 17:03:34.701992 Event: Receiver Handler Ready
-On: 2011-10-28 17:03:34.702395 Event: RECEIVE START
-On: 2011-10-28 17:04:14.702899 Event: Terminate
-On: 2011-10-28 17:04:14.702948 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:04:25.512396 ------------------
-On: 2011-10-28 17:04:25.538323 Event: try to Connect to Controller
-On: 2011-10-28 17:04:26.774266 Event: init state
-On: 2011-10-28 17:04:26.775553 Event: Register Account to SIP server
-On: 2011-10-28 17:04:26.776003 Event: 100
-On: 2011-10-28 17:04:26.776087 Event: Receiver Handler Ready
-On: 2011-10-28 17:04:26.777199 Event: RECEIVE START
-On: 2011-10-28 17:04:28.466805 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-28 17:04:28.467333 Event: Call Connecting
-On: 2011-10-28 17:04:28.467375 Event: 200
-On: 2011-10-28 17:04:28.467634 Event: Answer call
-On: 2011-10-28 17:04:28.467689 Event: Hangup call
-On: 2011-10-28 17:04:28.467867 Event: CALL OK
-On: 2011-10-28 17:04:28.569047 Event: Call Disconnected
-On: 2011-10-28 17:04:29.894371 Event: Terminate
-On: 2011-10-28 17:04:29.894418 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:04:35.732751 ------------------
-On: 2011-10-28 17:04:35.757095 Event: try to Connect to Controller
-On: 2011-10-28 17:04:36.966010 Event: init state
-On: 2011-10-28 17:04:36.966249 Event: Register Account to SIP server
-On: 2011-10-28 17:04:36.967044 Event: 100
-On: 2011-10-28 17:04:36.967132 Event: Receiver Handler Ready
-On: 2011-10-28 17:04:36.969784 Event: RECEIVE START
-On: 2011-10-28 17:04:38.114378 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-28 17:04:38.114897 Event: Call Connecting
-On: 2011-10-28 17:04:38.114940 Event: 200
-On: 2011-10-28 17:04:38.115201 Event: Answer call
-On: 2011-10-28 17:04:38.115254 Event: Hangup call
-On: 2011-10-28 17:04:38.115430 Event: CALL OK
-On: 2011-10-28 17:04:38.216581 Event: Call Disconnected
-On: 2011-10-28 17:04:39.606760 Event: Terminate
-On: 2011-10-28 17:04:39.606802 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:07:41.021586 ------------------
-On: 2011-10-28 17:07:41.047093 Event: try to Connect to Controller
-On: 2011-10-28 17:07:42.283857 Event: init state
-On: 2011-10-28 17:07:42.284130 Event: Register Account to SIP server
-On: 2011-10-28 17:07:42.284559 Event: 100
-On: 2011-10-28 17:07:42.284644 Event: Receiver Handler Ready
-On: 2011-10-28 17:07:42.284907 Event: RECEIVE START
-On: 2011-10-28 17:07:43.871299 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-28 17:07:43.871824 Event: Call Connecting
-On: 2011-10-28 17:07:43.871864 Event: 200
-On: 2011-10-28 17:07:43.872126 Event: Answer call
-On: 2011-10-28 17:07:43.872179 Event: Hangup call
-On: 2011-10-28 17:07:43.872354 Event: CALL OK
-On: 2011-10-28 17:07:43.973481 Event: Call Disconnected
-On: 2011-10-28 17:07:45.364017 Event: Terminate
-On: 2011-10-28 17:07:45.364065 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:07:51.208032 ------------------
-On: 2011-10-28 17:07:51.228705 Event: try to Connect to Controller
-On: 2011-10-28 17:07:52.432897 Event: init state
-On: 2011-10-28 17:07:52.433137 Event: Register Account to SIP server
-On: 2011-10-28 17:07:52.433995 Event: 100
-On: 2011-10-28 17:07:52.434082 Event: Receiver Handler Ready
-On: 2011-10-28 17:07:52.437868 Event: RECEIVE START
-On: 2011-10-28 17:07:53.483351 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-28 17:07:53.483866 Event: Call Connecting
-On: 2011-10-28 17:07:53.483908 Event: 200
-On: 2011-10-28 17:07:53.484167 Event: Answer call
-On: 2011-10-28 17:07:53.484218 Event: Hangup call
-On: 2011-10-28 17:07:53.484394 Event: CALL OK
-On: 2011-10-28 17:07:53.585490 Event: Call Disconnected
-On: 2011-10-28 17:07:54.878784 Event: Terminate
-On: 2011-10-28 17:07:54.878826 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:08:28.169034 ------------------
-On: 2011-10-28 17:08:28.189575 Event: try to Connect to Controller
-On: 2011-10-28 17:08:29.427276 Event: init state
-On: 2011-10-28 17:08:29.428551 Event: Register Account to SIP server
-On: 2011-10-28 17:08:29.429362 Event: 100
-On: 2011-10-28 17:08:29.429451 Event: Receiver Handler Ready
-On: 2011-10-28 17:08:29.429976 Event: RECEIVE START
-On: 2011-10-28 17:08:31.162312 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 17:08:31.162836 Event: Call Connecting
-On: 2011-10-28 17:08:31.162879 Event: 200
-On: 2011-10-28 17:08:31.163138 Event: Answer call
-On: 2011-10-28 17:08:31.163192 Event: Hangup call
-On: 2011-10-28 17:08:31.163369 Event: CALL OK
-On: 2011-10-28 17:08:31.264527 Event: Call Disconnected
-On: 2011-10-28 17:08:32.763336 Event: Terminate
-On: 2011-10-28 17:08:32.763381 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:08:43.564203 ------------------
-On: 2011-10-28 17:08:43.600002 Event: try to Connect to Controller
-On: 2011-10-28 17:08:44.832761 Event: init state
-On: 2011-10-28 17:08:44.833056 Event: Register Account to SIP server
-On: 2011-10-28 17:08:44.833504 Event: 100
-On: 2011-10-28 17:08:44.833588 Event: Receiver Handler Ready
-On: 2011-10-28 17:08:44.833942 Event: RECEIVE START
-On: 2011-10-28 17:08:46.470844 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-28 17:08:46.471352 Event: Call Connecting
-On: 2011-10-28 17:08:46.471393 Event: 200
-On: 2011-10-28 17:08:46.471654 Event: Answer call
-On: 2011-10-28 17:08:46.471710 Event: Hangup call
-On: 2011-10-28 17:08:46.471888 Event: CALL OK
-On: 2011-10-28 17:08:46.572990 Event: Call Disconnected
-On: 2011-10-28 17:08:47.850921 Event: Terminate
-On: 2011-10-28 17:08:47.850968 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:08:53.698540 ------------------
-On: 2011-10-28 17:08:53.730139 Event: try to Connect to Controller
-On: 2011-10-28 17:08:54.922291 Event: init state
-On: 2011-10-28 17:08:54.922527 Event: Register Account to SIP server
-On: 2011-10-28 17:08:54.923320 Event: 100
-On: 2011-10-28 17:08:54.923410 Event: Receiver Handler Ready
-On: 2011-10-28 17:08:54.925874 Event: RECEIVE START
-On: 2011-10-28 17:08:55.884243 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-28 17:08:55.884756 Event: Call Connecting
-On: 2011-10-28 17:08:55.884796 Event: 200
-On: 2011-10-28 17:08:55.885053 Event: Answer call
-On: 2011-10-28 17:08:55.885106 Event: Hangup call
-On: 2011-10-28 17:08:55.886441 Event: CALL OK
-On: 2011-10-28 17:08:55.987659 Event: Call Disconnected
-On: 2011-10-28 17:08:57.390183 Event: Terminate
-On: 2011-10-28 17:08:57.390224 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:09:52.067797 ------------------
-On: 2011-10-28 17:09:52.092404 Event: try to Connect to Controller
-On: 2011-10-28 17:09:53.306139 Event: init state
-On: 2011-10-28 17:09:53.306378 Event: Register Account to SIP server
-On: 2011-10-28 17:09:53.306807 Event: 100
-On: 2011-10-28 17:09:53.306896 Event: Receiver Handler Ready
-On: 2011-10-28 17:09:53.308158 Event: RECEIVE START
-On: 2011-10-28 17:10:33.309060 Event: Terminate
-On: 2011-10-28 17:10:33.309111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 17:11:03.102897 ------------------
-On: 2011-10-28 17:11:03.134294 Event: try to Connect to Controller
-On: 2011-10-28 17:11:04.362208 Event: init state
-On: 2011-10-28 17:11:04.362445 Event: Register Account to SIP server
-On: 2011-10-28 17:11:04.362877 Event: 100
-On: 2011-10-28 17:11:04.362966 Event: Receiver Handler Ready
-On: 2011-10-28 17:11:04.363236 Event: RECEIVE START
-On: 2011-10-28 17:11:07.235201 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 17:11:07.235720 Event: Call Connecting
-On: 2011-10-28 17:11:07.235761 Event: 200
-On: 2011-10-28 17:11:07.236023 Event: Answer call
-On: 2011-10-28 17:11:07.236075 Event: Hangup call
-On: 2011-10-28 17:11:07.236252 Event: CALL OK
-On: 2011-10-28 17:11:07.337366 Event: Call Disconnected
-On: 2011-10-28 17:11:08.426930 Event: Terminate
-On: 2011-10-28 17:11:08.426988 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:17:54.092290 ------------------
-On: 2011-10-28 18:17:54.114182 Event: try to Connect to Controller
-On: 2011-10-28 18:17:55.320047 Event: init state
-On: 2011-10-28 18:17:55.320292 Event: Register Account to SIP server
-On: 2011-10-28 18:17:55.320718 Event: 100
-On: 2011-10-28 18:17:55.320803 Event: Caller Handler Ready
-On: 2011-10-28 18:18:05.343971 Event: CALL START
-On: 2011-10-28 18:18:05.344041 Event: Make a call to: 4661473
-On: 2011-10-28 18:18:07.580589 Event: Call Connecting
-On: 2011-10-28 18:18:07.580640 Event: 200
-On: 2011-10-28 18:18:07.745008 Event: Terminate
-On: 2011-10-28 18:18:07.745068 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:18:40.272433 ------------------
-On: 2011-10-28 18:18:40.316499 Event: try to Connect to Controller
-On: 2011-10-28 18:18:41.507567 Event: init state
-On: 2011-10-28 18:18:41.507803 Event: Register Account to SIP server
-On: 2011-10-28 18:18:41.508224 Event: 100
-On: 2011-10-28 18:18:41.508311 Event: Caller Handler Ready
-On: 2011-10-28 18:18:51.530089 Event: CALL START
-On: 2011-10-28 18:18:51.530148 Event: Make a call to: 4661473
-On: 2011-10-28 18:18:53.217582 Event: Call Connecting
-On: 2011-10-28 18:18:53.217632 Event: 200
-On: 2011-10-28 18:18:53.434375 Event: Terminate
-On: 2011-10-28 18:18:53.434434 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:37:23.363809 ------------------
-On: 2011-10-28 18:37:23.384421 Event: try to Connect to Controller
-On: 2011-10-28 18:37:24.524739 Event: init state
-On: 2011-10-28 18:37:24.524985 Event: Register Account to SIP server
-On: 2011-10-28 18:37:24.525422 Event: 100
-On: 2011-10-28 18:37:24.525510 Event: Caller Handler Ready
-On: 2011-10-28 18:37:34.544261 Event: CALL START
-On: 2011-10-28 18:37:34.544327 Event: Make a call to: 4661473
-On: 2011-10-28 18:37:37.215448 Event: Call Connecting
-On: 2011-10-28 18:37:37.215496 Event: 200
-On: 2011-10-28 18:37:37.409218 Event: Terminate
-On: 2011-10-28 18:37:37.409263 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:41:33.932500 ------------------
-On: 2011-10-28 18:41:33.957144 Event: try to Connect to Controller
-On: 2011-10-28 18:41:35.095642 Event: init state
-On: 2011-10-28 18:41:35.095876 Event: Register Account to SIP server
-On: 2011-10-28 18:41:35.096315 Event: 100
-On: 2011-10-28 18:41:35.096401 Event: Caller Handler Ready
-On: 2011-10-28 18:41:45.116314 Event: CALL START
-On: 2011-10-28 18:41:45.116380 Event: Make a call to: 4661473
-On: 2011-10-28 18:41:47.223868 Event: Call Connecting
-On: 2011-10-28 18:41:47.223920 Event: 200
-On: 2011-10-28 18:41:47.390156 Event: Terminate
-On: 2011-10-28 18:41:47.390215 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:44:15.396604 ------------------
-On: 2011-10-28 18:44:15.417563 Event: try to Connect to Controller
-On: 2011-10-28 18:44:16.444760 Event: init state
-On: 2011-10-28 18:44:16.445005 Event: Register Account to SIP server
-On: 2011-10-28 18:44:16.445418 Event: 100
-On: 2011-10-28 18:44:16.445501 Event: Caller Handler Ready
-On: 2011-10-28 18:44:26.463882 Event: CALL START
-On: 2011-10-28 18:44:26.463941 Event: Make a call to: 4661455
-On: 2011-10-28 18:44:28.686114 Event: Call Connecting
-On: 2011-10-28 18:44:28.686165 Event: 200
-On: 2011-10-28 18:44:28.875404 Event: Terminate
-On: 2011-10-28 18:44:28.875462 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:53:15.139422 ------------------
-On: 2011-10-28 18:53:15.163552 Event: try to Connect to Controller
-On: 2011-10-28 18:53:16.374415 Event: init state
-On: 2011-10-28 18:53:16.374660 Event: Register Account to SIP server
-On: 2011-10-28 18:53:16.375458 Event: 100
-On: 2011-10-28 18:53:16.375548 Event: Caller Handler Ready
-On: 2011-10-28 18:53:21.381708 Event: CALL START
-On: 2011-10-28 18:53:21.381764 Event: Make a call to: 4661449
-On: 2011-10-28 18:53:23.944778 Event: Call Connecting
-On: 2011-10-28 18:53:23.944825 Event: 200
-On: 2011-10-28 18:53:25.054219 Event: Terminate
-On: 2011-10-28 18:53:25.054260 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 18:59:20.967919 ------------------
-On: 2011-10-28 18:59:20.993132 Event: try to Connect to Controller
-On: 2011-10-28 18:59:22.207150 Event: init state
-On: 2011-10-28 18:59:22.207395 Event: Register Account to SIP server
-On: 2011-10-28 18:59:22.207823 Event: 100
-On: 2011-10-28 18:59:22.207912 Event: Caller Handler Ready
-On: 2011-10-28 18:59:32.228416 Event: CALL START
-On: 2011-10-28 18:59:32.228475 Event: Make a call to: 4661473
-On: 2011-10-28 18:59:34.208063 Event: Call Connecting
-On: 2011-10-28 18:59:34.208111 Event: 200
-On: 2011-10-28 18:59:34.393915 Event: Terminate
-On: 2011-10-28 18:59:34.393992 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 19:13:45.800914 ------------------
-On: 2011-10-28 19:13:45.836934 Event: try to Connect to Controller
-On: 2011-10-28 19:13:46.816076 Event: init state
-On: 2011-10-28 19:13:46.816385 Event: Register Account to SIP server
-On: 2011-10-28 19:13:46.816832 Event: 100
-On: 2011-10-28 19:13:46.816919 Event: Caller Handler Ready
-On: 2011-10-28 19:13:56.838486 Event: CALL START
-On: 2011-10-28 19:13:56.838558 Event: Make a call to: 4661473
-On: 2011-10-28 19:13:59.282434 Event: Call Connecting
-On: 2011-10-28 19:13:59.282485 Event: 200
-On: 2011-10-28 19:13:59.474578 Event: Terminate
-On: 2011-10-28 19:13:59.474652 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 20:13:01.326151 ------------------
-On: 2011-10-28 20:13:01.346353 Event: try to Connect to Controller
-On: 2011-10-28 20:13:02.502805 Event: init state
-On: 2011-10-28 20:13:02.503045 Event: Register Account to SIP server
-On: 2011-10-28 20:13:02.503478 Event: 100
-On: 2011-10-28 20:13:02.503567 Event: Receiver Handler Ready
-On: 2011-10-28 20:13:02.503837 Event: RECEIVE START
-On: 2011-10-28 20:13:42.504639 Event: Terminate
-On: 2011-10-28 20:13:42.504690 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:28:35.719314 ------------------
-On: 2011-10-28 21:28:35.739665 Event: try to Connect to Controller
-On: 2011-10-28 21:28:36.826273 Event: init state
-On: 2011-10-28 21:28:36.826507 Event: Register Account to SIP server
-On: 2011-10-28 21:28:36.826925 Event: 100
-On: 2011-10-28 21:28:36.827011 Event: Receiver Handler Ready
-On: 2011-10-28 21:28:36.827432 Event: RECEIVE START
-On: 2011-10-28 21:28:39.326632 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:28:39.327139 Event: Call Connecting
-On: 2011-10-28 21:28:39.327180 Event: 200
-On: 2011-10-28 21:28:39.327435 Event: Answer call
-On: 2011-10-28 21:28:39.327488 Event: Hangup call
-On: 2011-10-28 21:28:39.327662 Event: CALL OK
-On: 2011-10-28 21:28:39.428770 Event: Call Disconnected
-On: 2011-10-28 21:28:40.822502 Event: Terminate
-On: 2011-10-28 21:28:40.822550 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:29:40.641682 ------------------
-On: 2011-10-28 21:29:40.665831 Event: try to Connect to Controller
-On: 2011-10-28 21:29:41.810378 Event: init state
-On: 2011-10-28 21:29:41.810613 Event: Register Account to SIP server
-On: 2011-10-28 21:29:41.811037 Event: 100
-On: 2011-10-28 21:29:41.811120 Event: Receiver Handler Ready
-On: 2011-10-28 21:29:41.811386 Event: RECEIVE START
-On: 2011-10-28 21:29:43.586167 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:29:43.586734 Event: Call Connecting
-On: 2011-10-28 21:29:43.586779 Event: 200
-On: 2011-10-28 21:29:43.587031 Event: Answer call
-On: 2011-10-28 21:29:43.587082 Event: Hangup call
-On: 2011-10-28 21:29:43.587252 Event: CALL OK
-On: 2011-10-28 21:29:43.688377 Event: Call Disconnected
-On: 2011-10-28 21:29:45.099636 Event: Terminate
-On: 2011-10-28 21:29:45.099696 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:30:21.408476 ------------------
-On: 2011-10-28 21:30:21.432264 Event: try to Connect to Controller
-On: 2011-10-28 21:30:22.625527 Event: init state
-On: 2011-10-28 21:30:22.625792 Event: Register Account to SIP server
-On: 2011-10-28 21:30:22.626215 Event: 100
-On: 2011-10-28 21:30:22.626301 Event: Receiver Handler Ready
-On: 2011-10-28 21:30:22.626568 Event: RECEIVE START
-On: 2011-10-28 21:30:42.631432 Event: Terminate
-On: 2011-10-28 21:30:42.631478 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:34:37.448493 ------------------
-On: 2011-10-28 21:34:37.472748 Event: try to Connect to Controller
-On: 2011-10-28 21:34:38.650452 Event: init state
-On: 2011-10-28 21:34:38.650685 Event: Register Account to SIP server
-On: 2011-10-28 21:34:38.651106 Event: 100
-On: 2011-10-28 21:34:38.651192 Event: Receiver Handler Ready
-On: 2011-10-28 21:34:38.651453 Event: RECEIVE START
-On: 2011-10-28 21:34:40.445230 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:34:40.445818 Event: Call Connecting
-On: 2011-10-28 21:34:40.445862 Event: 200
-On: 2011-10-28 21:34:40.446110 Event: Answer call
-On: 2011-10-28 21:34:40.446163 Event: Hangup call
-On: 2011-10-28 21:34:40.446336 Event: CALL OK
-On: 2011-10-28 21:34:40.547443 Event: Call Disconnected
-On: 2011-10-28 21:34:41.964646 Event: Terminate
-On: 2011-10-28 21:34:41.964709 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:42:29.423418 ------------------
-On: 2011-10-28 21:42:29.443822 Event: try to Connect to Controller
-On: 2011-10-28 21:42:30.623952 Event: init state
-On: 2011-10-28 21:42:30.624223 Event: Register Account to SIP server
-On: 2011-10-28 21:42:30.624667 Event: 100
-On: 2011-10-28 21:42:30.624752 Event: Receiver Handler Ready
-On: 2011-10-28 21:42:30.625042 Event: RECEIVE START
-On: 2011-10-28 21:42:32.364601 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:42:32.365110 Event: Call Connecting
-On: 2011-10-28 21:42:32.365151 Event: 200
-On: 2011-10-28 21:42:32.365406 Event: Answer call
-On: 2011-10-28 21:42:32.365461 Event: Hangup call
-On: 2011-10-28 21:42:32.365696 Event: CALL OK
-On: 2011-10-28 21:42:32.466805 Event: Call Disconnected
-On: 2011-10-28 21:42:33.893215 Event: Terminate
-On: 2011-10-28 21:42:33.893265 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:43:17.549940 ------------------
-On: 2011-10-28 21:43:17.570198 Event: try to Connect to Controller
-On: 2011-10-28 21:43:18.747834 Event: init state
-On: 2011-10-28 21:43:18.748068 Event: Register Account to SIP server
-On: 2011-10-28 21:43:18.748491 Event: 100
-On: 2011-10-28 21:43:18.748578 Event: Receiver Handler Ready
-On: 2011-10-28 21:43:18.748843 Event: RECEIVE START
-On: 2011-10-28 21:43:20.592815 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:43:20.593321 Event: Call Connecting
-On: 2011-10-28 21:43:20.593359 Event: 200
-On: 2011-10-28 21:43:20.593666 Event: Answer call
-On: 2011-10-28 21:43:20.593726 Event: Hangup call
-On: 2011-10-28 21:43:20.593900 Event: CALL OK
-On: 2011-10-28 21:43:20.695056 Event: Call Disconnected
-On: 2011-10-28 21:43:22.090890 Event: Terminate
-On: 2011-10-28 21:43:22.090941 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:47:15.477208 ------------------
-On: 2011-10-28 21:47:15.497700 Event: try to Connect to Controller
-On: 2011-10-28 21:47:16.710610 Event: init state
-On: 2011-10-28 21:47:16.710838 Event: Register Account to SIP server
-On: 2011-10-28 21:47:16.711265 Event: 100
-On: 2011-10-28 21:47:16.711351 Event: Receiver Handler Ready
-On: 2011-10-28 21:47:16.711609 Event: RECEIVE START
-On: 2011-10-28 21:47:18.624655 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:47:18.625170 Event: Call Connecting
-On: 2011-10-28 21:47:18.625211 Event: 200
-On: 2011-10-28 21:47:18.625464 Event: Answer call
-On: 2011-10-28 21:47:18.625576 Event: Hangup call
-On: 2011-10-28 21:47:18.625759 Event: CALL OK
-On: 2011-10-28 21:47:18.726901 Event: Call Disconnected
-On: 2011-10-28 21:47:19.993006 Event: Terminate
-On: 2011-10-28 21:47:19.993054 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:51:31.619803 ------------------
-On: 2011-10-28 21:51:31.644208 Event: try to Connect to Controller
-On: 2011-10-28 21:51:32.857572 Event: init state
-On: 2011-10-28 21:51:32.857824 Event: Register Account to SIP server
-On: 2011-10-28 21:51:32.858249 Event: 100
-On: 2011-10-28 21:51:32.858335 Event: Receiver Handler Ready
-On: 2011-10-28 21:51:32.858602 Event: RECEIVE START
-On: 2011-10-28 21:51:34.718418 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 21:51:34.718931 Event: Call Connecting
-On: 2011-10-28 21:51:34.718973 Event: 200
-On: 2011-10-28 21:51:34.719232 Event: Answer call
-On: 2011-10-28 21:51:34.719284 Event: Hangup call
-On: 2011-10-28 21:51:34.719458 Event: CALL OK
-On: 2011-10-28 21:51:34.820563 Event: Call Disconnected
-On: 2011-10-28 21:51:36.129774 Event: Terminate
-On: 2011-10-28 21:51:36.129823 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 21:53:18.104691 ------------------
-On: 2011-10-28 21:53:18.125126 Event: try to Connect to Controller
-On: 2011-10-28 21:53:19.338554 Event: init state
-On: 2011-10-28 21:53:19.338782 Event: Register Account to SIP server
-On: 2011-10-28 21:53:19.339209 Event: 100
-On: 2011-10-28 21:53:19.339294 Event: Receiver Handler Ready
-On: 2011-10-28 21:53:19.339551 Event: RECEIVE START
-On: 2011-10-28 21:53:39.345028 Event: Terminate
-On: 2011-10-28 21:53:39.345076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:05:14.200866 ------------------
-On: 2011-10-28 22:05:14.225052 Event: try to Connect to Controller
-On: 2011-10-28 22:05:15.434565 Event: init state
-On: 2011-10-28 22:05:15.434796 Event: Register Account to SIP server
-On: 2011-10-28 22:05:15.435200 Event: 100
-On: 2011-10-28 22:05:15.435286 Event: Receiver Handler Ready
-On: 2011-10-28 22:05:15.435554 Event: RECEIVE START
-On: 2011-10-28 22:05:17.401616 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:05:17.402137 Event: Call Connecting
-On: 2011-10-28 22:05:17.402179 Event: 200
-On: 2011-10-28 22:05:17.402439 Event: Answer call
-On: 2011-10-28 22:05:17.402491 Event: Hangup call
-On: 2011-10-28 22:05:17.402664 Event: CALL OK
-On: 2011-10-28 22:05:17.503788 Event: Call Disconnected
-On: 2011-10-28 22:05:18.794038 Event: Terminate
-On: 2011-10-28 22:05:18.794087 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:19:07.667581 ------------------
-On: 2011-10-28 22:19:07.691953 Event: try to Connect to Controller
-On: 2011-10-28 22:19:08.538580 Event: init state
-On: 2011-10-28 22:19:08.538817 Event: Register Account to SIP server
-On: 2011-10-28 22:19:08.539232 Event: 100
-On: 2011-10-28 22:19:08.539321 Event: Receiver Handler Ready
-On: 2011-10-28 22:19:08.539590 Event: RECEIVE START
-On: 2011-10-28 22:19:11.126585 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:19:11.127095 Event: Call Connecting
-On: 2011-10-28 22:19:11.127137 Event: 200
-On: 2011-10-28 22:19:11.127393 Event: Answer call
-On: 2011-10-28 22:19:11.127446 Event: Hangup call
-On: 2011-10-28 22:19:11.127622 Event: CALL OK
-On: 2011-10-28 22:19:11.228743 Event: Call Disconnected
-On: 2011-10-28 22:19:12.599971 Event: Terminate
-On: 2011-10-28 22:19:12.600018 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:23:40.712020 ------------------
-On: 2011-10-28 22:23:40.736173 Event: try to Connect to Controller
-On: 2011-10-28 22:23:41.954334 Event: init state
-On: 2011-10-28 22:23:41.954564 Event: Register Account to SIP server
-On: 2011-10-28 22:23:41.955335 Event: 100
-On: 2011-10-28 22:23:41.955419 Event: Receiver Handler Ready
-On: 2011-10-28 22:23:41.956143 Event: RECEIVE START
-On: 2011-10-28 22:23:43.759379 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:23:43.759893 Event: Call Connecting
-On: 2011-10-28 22:23:43.759935 Event: 200
-On: 2011-10-28 22:23:43.760191 Event: Answer call
-On: 2011-10-28 22:23:43.760244 Event: Hangup call
-On: 2011-10-28 22:23:43.760415 Event: CALL OK
-On: 2011-10-28 22:23:43.861570 Event: Call Disconnected
-On: 2011-10-28 22:23:45.253268 Event: Terminate
-On: 2011-10-28 22:23:45.253318 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:32:25.836061 ------------------
-On: 2011-10-28 22:32:25.861237 Event: try to Connect to Controller
-On: 2011-10-28 22:32:27.074570 Event: init state
-On: 2011-10-28 22:32:27.074798 Event: Register Account to SIP server
-On: 2011-10-28 22:32:27.075588 Event: 100
-On: 2011-10-28 22:32:27.075676 Event: Receiver Handler Ready
-On: 2011-10-28 22:32:27.076088 Event: RECEIVE START
-On: 2011-10-28 22:32:29.091118 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:32:29.091628 Event: Call Connecting
-On: 2011-10-28 22:32:29.091666 Event: 200
-On: 2011-10-28 22:32:29.091920 Event: Answer call
-On: 2011-10-28 22:32:29.091973 Event: Hangup call
-On: 2011-10-28 22:32:29.092148 Event: CALL OK
-On: 2011-10-28 22:32:29.193274 Event: Call Disconnected
-On: 2011-10-28 22:32:30.395637 Event: Terminate
-On: 2011-10-28 22:32:30.395684 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:43:55.280994 ------------------
-On: 2011-10-28 22:43:55.304775 Event: try to Connect to Controller
-On: 2011-10-28 22:43:56.522513 Event: init state
-On: 2011-10-28 22:43:56.522751 Event: Register Account to SIP server
-On: 2011-10-28 22:43:56.523538 Event: 100
-On: 2011-10-28 22:43:56.523627 Event: Receiver Handler Ready
-On: 2011-10-28 22:43:56.524044 Event: RECEIVE START
-On: 2011-10-28 22:43:58.378766 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:43:58.379285 Event: Call Connecting
-On: 2011-10-28 22:43:58.379328 Event: 200
-On: 2011-10-28 22:43:58.379584 Event: Answer call
-On: 2011-10-28 22:43:58.379640 Event: Hangup call
-On: 2011-10-28 22:43:58.379812 Event: CALL OK
-On: 2011-10-28 22:43:58.480950 Event: Call Disconnected
-On: 2011-10-28 22:43:59.818759 Event: Terminate
-On: 2011-10-28 22:43:59.818807 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 22:56:36.767370 ------------------
-On: 2011-10-28 22:56:36.787767 Event: try to Connect to Controller
-On: 2011-10-28 22:56:38.080750 Event: init state
-On: 2011-10-28 22:56:38.081006 Event: Register Account to SIP server
-On: 2011-10-28 22:56:38.081989 Event: 100
-On: 2011-10-28 22:56:38.082421 Event: Receiver Handler Ready
-On: 2011-10-28 22:56:38.082511 Event: RECEIVE START
-On: 2011-10-28 22:56:39.859013 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 22:56:39.859525 Event: Call Connecting
-On: 2011-10-28 22:56:39.859567 Event: 200
-On: 2011-10-28 22:56:39.860041 Event: Answer call
-On: 2011-10-28 22:56:39.860114 Event: Hangup call
-On: 2011-10-28 22:56:39.860685 Event: CALL OK
-On: 2011-10-28 22:56:39.961824 Event: Call Disconnected
-On: 2011-10-28 22:56:41.362619 Event: Terminate
-On: 2011-10-28 22:56:41.362668 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:14:12.814035 ------------------
-On: 2011-10-28 23:14:12.848077 Event: try to Connect to Controller
-On: 2011-10-28 23:14:13.755135 Event: init state
-On: 2011-10-28 23:14:13.755373 Event: Register Account to SIP server
-On: 2011-10-28 23:14:13.755797 Event: 100
-On: 2011-10-28 23:14:13.755886 Event: Receiver Handler Ready
-On: 2011-10-28 23:14:13.756164 Event: RECEIVE START
-On: 2011-10-28 23:14:15.518540 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 23:14:15.519046 Event: Call Connecting
-On: 2011-10-28 23:14:15.519087 Event: 200
-On: 2011-10-28 23:14:15.519342 Event: Answer call
-On: 2011-10-28 23:14:15.519393 Event: Hangup call
-On: 2011-10-28 23:14:15.519565 Event: CALL OK
-On: 2011-10-28 23:14:15.620689 Event: Call Disconnected
-On: 2011-10-28 23:14:17.036903 Event: Terminate
-On: 2011-10-28 23:14:17.036951 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:23:27.304140 ------------------
-On: 2011-10-28 23:23:27.324572 Event: try to Connect to Controller
-On: 2011-10-28 23:23:28.479651 Event: init state
-On: 2011-10-28 23:23:28.479887 Event: Register Account to SIP server
-On: 2011-10-28 23:23:28.480306 Event: 100
-On: 2011-10-28 23:23:28.480392 Event: Receiver Handler Ready
-On: 2011-10-28 23:23:28.480657 Event: RECEIVE START
-On: 2011-10-28 23:23:48.481362 Event: Terminate
-On: 2011-10-28 23:23:48.481414 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:25:24.215829 ------------------
-On: 2011-10-28 23:25:24.236265 Event: try to Connect to Controller
-On: 2011-10-28 23:25:25.449718 Event: init state
-On: 2011-10-28 23:25:25.449951 Event: Register Account to SIP server
-On: 2011-10-28 23:25:25.450384 Event: 100
-On: 2011-10-28 23:25:25.450468 Event: Receiver Handler Ready
-On: 2011-10-28 23:25:25.450725 Event: RECEIVE START
-On: 2011-10-28 23:25:45.455829 Event: Terminate
-On: 2011-10-28 23:25:45.455877 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-28 23:29:08.328949 ------------------
-On: 2011-10-28 23:29:08.353359 Event: try to Connect to Controller
-On: 2011-10-28 23:29:09.569683 Event: init state
-On: 2011-10-28 23:29:09.569917 Event: Register Account to SIP server
-On: 2011-10-28 23:29:09.570330 Event: 100
-On: 2011-10-28 23:29:09.570410 Event: Receiver Handler Ready
-On: 2011-10-28 23:29:09.570673 Event: RECEIVE START
-On: 2011-10-28 23:29:11.427521 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-28 23:29:11.428032 Event: Call Connecting
-On: 2011-10-28 23:29:11.428073 Event: 200
-On: 2011-10-28 23:29:11.428327 Event: Answer call
-On: 2011-10-28 23:29:11.428380 Event: Hangup call
-On: 2011-10-28 23:29:11.428551 Event: CALL OK
-On: 2011-10-28 23:29:11.529686 Event: Call Disconnected
-On: 2011-10-28 23:29:12.860205 Event: Terminate
-On: 2011-10-28 23:29:12.860252 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:30:43.383137 ------------------
-On: 2011-10-29 02:30:43.403533 Event: try to Connect to Controller
-On: 2011-10-29 02:30:44.724381 Event: init state
-On: 2011-10-29 02:30:44.724621 Event: Register Account to SIP server
-On: 2011-10-29 02:30:44.725385 Event: 100
-On: 2011-10-29 02:30:44.725973 Event: Receiver Handler Ready
-On: 2011-10-29 02:30:44.726061 Event: RECEIVE START
-On: 2011-10-29 02:30:46.678583 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 02:30:46.679075 Event: Call Connecting
-On: 2011-10-29 02:30:46.679114 Event: 200
-On: 2011-10-29 02:30:46.679361 Event: Answer call
-On: 2011-10-29 02:30:46.679412 Event: Hangup call
-On: 2011-10-29 02:30:46.679574 Event: CALL OK
-On: 2011-10-29 02:30:46.780619 Event: Call Disconnected
-On: 2011-10-29 02:30:48.008042 Event: Terminate
-On: 2011-10-29 02:30:48.008097 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:33:10.399719 ------------------
-On: 2011-10-29 02:33:10.419968 Event: try to Connect to Controller
-On: 2011-10-29 02:33:11.738347 Event: init state
-On: 2011-10-29 02:33:11.738591 Event: Register Account to SIP server
-On: 2011-10-29 02:33:11.739000 Event: 100
-On: 2011-10-29 02:33:11.739080 Event: Receiver Handler Ready
-On: 2011-10-29 02:33:11.739479 Event: RECEIVE START
-On: 2011-10-29 02:33:13.544098 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 02:33:13.544599 Event: Call Connecting
-On: 2011-10-29 02:33:13.544640 Event: 200
-On: 2011-10-29 02:33:13.544883 Event: Answer call
-On: 2011-10-29 02:33:13.544936 Event: Hangup call
-On: 2011-10-29 02:33:13.545102 Event: CALL OK
-On: 2011-10-29 02:33:13.646181 Event: Call Disconnected
-On: 2011-10-29 02:33:15.022266 Event: Terminate
-On: 2011-10-29 02:33:15.022320 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:35:44.777647 ------------------
-On: 2011-10-29 02:35:44.797770 Event: try to Connect to Controller
-On: 2011-10-29 02:35:46.117060 Event: init state
-On: 2011-10-29 02:35:46.117315 Event: Register Account to SIP server
-On: 2011-10-29 02:35:46.117938 Event: 100
-On: 2011-10-29 02:35:46.118026 Event: Receiver Handler Ready
-On: 2011-10-29 02:35:46.118426 Event: RECEIVE START
-On: 2011-10-29 02:35:48.176615 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 02:35:48.177116 Event: Call Connecting
-On: 2011-10-29 02:35:48.177154 Event: 200
-On: 2011-10-29 02:35:48.177402 Event: Answer call
-On: 2011-10-29 02:35:48.177453 Event: Hangup call
-On: 2011-10-29 02:35:48.177811 Event: CALL OK
-On: 2011-10-29 02:35:48.278881 Event: Call Disconnected
-On: 2011-10-29 02:35:49.388619 Event: Terminate
-On: 2011-10-29 02:35:49.388672 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:36:00.111232 ------------------
-On: 2011-10-29 02:36:00.131119 Event: try to Connect to Controller
-On: 2011-10-29 02:36:01.448468 Event: init state
-On: 2011-10-29 02:36:01.448715 Event: Register Account to SIP server
-On: 2011-10-29 02:36:01.449126 Event: 100
-On: 2011-10-29 02:36:01.449205 Event: Receiver Handler Ready
-On: 2011-10-29 02:36:01.449816 Event: RECEIVE START
-On: 2011-10-29 02:36:03.000962 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-29 02:36:03.001455 Event: Call Connecting
-On: 2011-10-29 02:36:03.001674 Event: 200
-On: 2011-10-29 02:36:03.001936 Event: Answer call
-On: 2011-10-29 02:36:03.001993 Event: Hangup call
-On: 2011-10-29 02:36:03.002165 Event: CALL OK
-On: 2011-10-29 02:36:03.103215 Event: Call Disconnected
-On: 2011-10-29 02:36:04.555544 Event: Terminate
-On: 2011-10-29 02:36:04.555596 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:36:10.308882 ------------------
-On: 2011-10-29 02:36:10.328848 Event: try to Connect to Controller
-On: 2011-10-29 02:36:11.617036 Event: init state
-On: 2011-10-29 02:36:11.617283 Event: Register Account to SIP server
-On: 2011-10-29 02:36:11.617907 Event: 100
-On: 2011-10-29 02:36:11.617996 Event: Receiver Handler Ready
-On: 2011-10-29 02:36:11.621680 Event: RECEIVE START
-On: 2011-10-29 02:36:12.635785 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-29 02:36:12.636288 Event: Call Connecting
-On: 2011-10-29 02:36:12.636328 Event: 200
-On: 2011-10-29 02:36:12.636573 Event: Answer call
-On: 2011-10-29 02:36:12.636624 Event: Hangup call
-On: 2011-10-29 02:36:12.636791 Event: CALL OK
-On: 2011-10-29 02:36:12.737842 Event: Call Disconnected
-On: 2011-10-29 02:36:14.141920 Event: Terminate
-On: 2011-10-29 02:36:14.141962 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 02:43:10.664959 ------------------
-On: 2011-10-29 02:43:10.685268 Event: try to Connect to Controller
-On: 2011-10-29 02:43:11.974410 Event: init state
-On: 2011-10-29 02:43:11.974653 Event: Register Account to SIP server
-On: 2011-10-29 02:43:11.975422 Event: 100
-On: 2011-10-29 02:43:11.975771 Event: Receiver Handler Ready
-On: 2011-10-29 02:43:11.975841 Event: RECEIVE START
-On: 2011-10-29 02:43:14.988200 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 02:43:14.988744 Event: Call Connecting
-On: 2011-10-29 02:43:14.988785 Event: 200
-On: 2011-10-29 02:43:14.989028 Event: Answer call
-On: 2011-10-29 02:43:14.989080 Event: Hangup call
-On: 2011-10-29 02:43:14.989244 Event: CALL OK
-On: 2011-10-29 02:43:15.002623 Event: Terminate
-On: 2011-10-29 02:43:15.002675 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:28:16.387005 ------------------
-On: 2011-10-29 03:28:16.407220 Event: try to Connect to Controller
-On: 2011-10-29 03:28:17.719281 Event: init state
-On: 2011-10-29 03:28:17.719532 Event: Register Account to SIP server
-On: 2011-10-29 03:28:17.719944 Event: 100
-On: 2011-10-29 03:28:17.720023 Event: Caller Handler Ready
-On: 2011-10-29 03:28:27.744250 Event: CALL START
-On: 2011-10-29 03:28:27.744305 Event: Make a call to: 4661455
-On: 2011-10-29 03:28:29.356741 Event: Call Connecting
-On: 2011-10-29 03:28:29.356787 Event: 200
-On: 2011-10-29 03:28:29.420719 Event: Terminate
-On: 2011-10-29 03:28:29.420771 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:31:34.843614 ------------------
-On: 2011-10-29 03:31:34.863950 Event: try to Connect to Controller
-On: 2011-10-29 03:31:36.178404 Event: init state
-On: 2011-10-29 03:31:36.178650 Event: Register Account to SIP server
-On: 2011-10-29 03:31:36.179058 Event: 100
-On: 2011-10-29 03:31:36.179139 Event: Receiver Handler Ready
-On: 2011-10-29 03:31:36.179539 Event: RECEIVE START
-On: 2011-10-29 03:31:38.039620 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 03:31:38.040122 Event: Call Connecting
-On: 2011-10-29 03:31:38.040162 Event: 200
-On: 2011-10-29 03:31:38.040406 Event: Answer call
-On: 2011-10-29 03:31:38.040458 Event: Hangup call
-On: 2011-10-29 03:31:38.040626 Event: CALL OK
-On: 2011-10-29 03:31:38.141697 Event: Call Disconnected
-On: 2011-10-29 03:31:39.562535 Event: Terminate
-On: 2011-10-29 03:31:39.562591 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:44:25.517096 ------------------
-On: 2011-10-29 03:44:25.537390 Event: try to Connect to Controller
-On: 2011-10-29 03:44:26.856749 Event: init state
-On: 2011-10-29 03:44:26.857000 Event: Register Account to SIP server
-On: 2011-10-29 03:44:26.857960 Event: 100
-On: 2011-10-29 03:44:26.858388 Event: Receiver Handler Ready
-On: 2011-10-29 03:44:26.858473 Event: RECEIVE START
-On: 2011-10-29 03:44:29.121080 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-29 03:44:29.121770 Event: Call Connecting
-On: 2011-10-29 03:44:29.121817 Event: 200
-On: 2011-10-29 03:44:29.122056 Event: Answer call
-On: 2011-10-29 03:44:29.122107 Event: Hangup call
-On: 2011-10-29 03:44:29.122276 Event: CALL OK
-On: 2011-10-29 03:44:29.223330 Event: Call Disconnected
-On: 2011-10-29 03:44:29.953021 Event: Terminate
-On: 2011-10-29 03:44:29.953076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 03:44:59.015201 ------------------
-On: 2011-10-29 03:44:59.035414 Event: try to Connect to Controller
-On: 2011-10-29 03:45:00.324015 Event: init state
-On: 2011-10-29 03:45:00.324245 Event: Register Account to SIP server
-On: 2011-10-29 03:45:00.324650 Event: 100
-On: 2011-10-29 03:45:00.324729 Event: Receiver Handler Ready
-On: 2011-10-29 03:45:00.329801 Event: RECEIVE START
-On: 2011-10-29 03:45:01.389877 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-29 03:45:01.390378 Event: Call Connecting
-On: 2011-10-29 03:45:01.390416 Event: 200
-On: 2011-10-29 03:45:01.390657 Event: Answer call
-On: 2011-10-29 03:45:01.390707 Event: Hangup call
-On: 2011-10-29 03:45:01.390873 Event: CALL OK
-On: 2011-10-29 03:45:01.491947 Event: Call Disconnected
-On: 2011-10-29 03:45:02.917944 Event: Terminate
-On: 2011-10-29 03:45:02.917987 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 05:02:15.443056 ------------------
-On: 2011-10-29 05:02:15.463189 Event: try to Connect to Controller
-On: 2011-10-29 05:02:16.749651 Event: init state
-On: 2011-10-29 05:02:16.749903 Event: Register Account to SIP server
-On: 2011-10-29 05:02:16.750307 Event: 100
-On: 2011-10-29 05:02:16.750386 Event: Receiver Handler Ready
-On: 2011-10-29 05:02:16.750738 Event: RECEIVE START
-On: 2011-10-29 05:02:19.762112 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 05:02:19.762596 Event: Call Connecting
-On: 2011-10-29 05:02:19.762635 Event: 200
-On: 2011-10-29 05:02:19.762881 Event: Answer call
-On: 2011-10-29 05:02:19.762932 Event: Hangup call
-On: 2011-10-29 05:02:19.763170 Event: CALL OK
-On: 2011-10-29 05:02:19.784217 Event: Terminate
-On: 2011-10-29 05:02:19.784272 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 16:43:21.113789 ------------------
-On: 2011-10-29 16:43:21.137806 Event: try to Connect to Controller
-On: 2011-10-29 16:43:22.341870 Event: init state
-On: 2011-10-29 16:43:22.342105 Event: Register Account to SIP server
-On: 2011-10-29 16:43:22.342533 Event: 100
-On: 2011-10-29 16:43:22.342618 Event: Receiver Handler Ready
-On: 2011-10-29 16:43:22.342880 Event: RECEIVE START
-On: 2011-10-29 16:43:24.416419 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 16:43:24.416933 Event: Call Connecting
-On: 2011-10-29 16:43:24.416976 Event: 200
-On: 2011-10-29 16:43:24.417231 Event: Answer call
-On: 2011-10-29 16:43:24.417381 Event: Hangup call
-On: 2011-10-29 16:43:24.417608 Event: CALL OK
-On: 2011-10-29 16:43:24.518723 Event: Call Disconnected
-On: 2011-10-29 16:43:25.648804 Event: Terminate
-On: 2011-10-29 16:43:25.648853 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 16:46:13.466518 ------------------
-On: 2011-10-29 16:46:13.514312 Event: try to Connect to Controller
-On: 2011-10-29 16:46:14.546183 Event: init state
-On: 2011-10-29 16:46:14.546420 Event: Register Account to SIP server
-On: 2011-10-29 16:46:14.547196 Event: 100
-On: 2011-10-29 16:46:14.547282 Event: Receiver Handler Ready
-On: 2011-10-29 16:46:14.547634 Event: RECEIVE START
-On: 2011-10-29 16:46:16.437817 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 16:46:16.438332 Event: Call Connecting
-On: 2011-10-29 16:46:16.438373 Event: 200
-On: 2011-10-29 16:46:16.438624 Event: Answer call
-On: 2011-10-29 16:46:16.438677 Event: Hangup call
-On: 2011-10-29 16:46:16.438853 Event: CALL OK
-On: 2011-10-29 16:46:16.540083 Event: Call Disconnected
-On: 2011-10-29 16:46:17.883603 Event: Terminate
-On: 2011-10-29 16:46:17.883651 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 17:37:25.749438 ------------------
-On: 2011-10-29 17:37:25.769958 Event: try to Connect to Controller
-On: 2011-10-29 17:37:26.938517 Event: init state
-On: 2011-10-29 17:37:26.938754 Event: Register Account to SIP server
-On: 2011-10-29 17:37:26.939201 Event: 100
-On: 2011-10-29 17:37:26.939286 Event: Receiver Handler Ready
-On: 2011-10-29 17:37:26.939658 Event: RECEIVE START
-On: 2011-10-29 17:37:29.970583 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 17:37:29.971112 Event: Call Connecting
-On: 2011-10-29 17:37:29.971156 Event: 200
-On: 2011-10-29 17:37:29.971414 Event: Answer call
-On: 2011-10-29 17:37:29.971469 Event: Hangup call
-On: 2011-10-29 17:37:29.971640 Event: CALL OK
-On: 2011-10-29 17:37:29.990003 Event: Terminate
-On: 2011-10-29 17:37:29.990057 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 18:37:08.467613 ------------------
-On: 2011-10-29 18:37:08.488327 Event: try to Connect to Controller
-On: 2011-10-29 18:37:09.709121 Event: init state
-On: 2011-10-29 18:37:09.709386 Event: Register Account to SIP server
-On: 2011-10-29 18:37:09.710381 Event: 100
-On: 2011-10-29 18:37:09.710478 Event: Receiver Handler Ready
-On: 2011-10-29 18:37:09.710837 Event: RECEIVE START
-On: 2011-10-29 18:37:12.735955 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 18:37:12.736448 Event: Call Connecting
-On: 2011-10-29 18:37:12.736487 Event: 200
-On: 2011-10-29 18:37:12.736739 Event: Answer call
-On: 2011-10-29 18:37:12.736789 Event: Hangup call
-On: 2011-10-29 18:37:12.736960 Event: CALL OK
-On: 2011-10-29 18:37:12.786924 Event: Terminate
-On: 2011-10-29 18:37:12.786983 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 19:03:25.907939 ------------------
-On: 2011-10-29 19:03:25.928078 Event: try to Connect to Controller
-On: 2011-10-29 19:03:27.198457 Event: init state
-On: 2011-10-29 19:03:27.198698 Event: Register Account to SIP server
-On: 2011-10-29 19:03:27.199106 Event: 100
-On: 2011-10-29 19:03:27.199185 Event: Receiver Handler Ready
-On: 2011-10-29 19:03:27.199527 Event: RECEIVE START
-On: 2011-10-29 19:03:30.226742 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 19:03:30.228876 Event: Call Connecting
-On: 2011-10-29 19:03:30.228929 Event: 200
-On: 2011-10-29 19:03:30.229165 Event: Answer call
-On: 2011-10-29 19:03:30.229217 Event: Hangup call
-On: 2011-10-29 19:03:30.229389 Event: CALL OK
-On: 2011-10-29 19:03:30.256254 Event: Terminate
-On: 2011-10-29 19:03:30.256306 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 21:44:21.513161 ------------------
-On: 2011-10-29 21:44:21.533308 Event: try to Connect to Controller
-On: 2011-10-29 21:44:22.802431 Event: init state
-On: 2011-10-29 21:44:22.802671 Event: Register Account to SIP server
-On: 2011-10-29 21:44:22.803079 Event: 100
-On: 2011-10-29 21:44:22.803158 Event: Receiver Handler Ready
-On: 2011-10-29 21:44:22.803502 Event: RECEIVE START
-On: 2011-10-29 21:44:25.836525 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 21:44:25.837014 Event: Call Connecting
-On: 2011-10-29 21:44:25.837052 Event: 200
-On: 2011-10-29 21:44:25.837301 Event: Answer call
-On: 2011-10-29 21:44:25.837351 Event: Hangup call
-On: 2011-10-29 21:44:25.837747 Event: CALL OK
-On: 2011-10-29 21:44:25.853206 Event: Terminate
-On: 2011-10-29 21:44:25.853261 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:12:39.851869 ------------------
-On: 2011-10-29 22:12:39.873244 Event: try to Connect to Controller
-On: 2011-10-29 22:12:41.162006 Event: init state
-On: 2011-10-29 22:12:41.162249 Event: Register Account to SIP server
-On: 2011-10-29 22:12:41.162657 Event: 100
-On: 2011-10-29 22:12:41.162736 Event: Receiver Handler Ready
-On: 2011-10-29 22:12:41.163137 Event: RECEIVE START
-On: 2011-10-29 22:12:43.455275 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-29 22:12:43.455762 Event: Call Connecting
-On: 2011-10-29 22:12:43.455799 Event: 200
-On: 2011-10-29 22:12:43.456046 Event: Answer call
-On: 2011-10-29 22:12:43.456098 Event: Hangup call
-On: 2011-10-29 22:12:43.456262 Event: CALL OK
-On: 2011-10-29 22:12:43.557315 Event: Call Disconnected
-On: 2011-10-29 22:12:44.941280 Event: Terminate
-On: 2011-10-29 22:12:44.941334 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 22:13:24.701347 ------------------
-On: 2011-10-29 22:13:24.721739 Event: try to Connect to Controller
-On: 2011-10-29 22:13:25.990158 Event: init state
-On: 2011-10-29 22:13:25.990405 Event: Register Account to SIP server
-On: 2011-10-29 22:13:25.990812 Event: 100
-On: 2011-10-29 22:13:25.990888 Event: Receiver Handler Ready
-On: 2011-10-29 22:13:25.991230 Event: RECEIVE START
-On: 2011-10-29 22:13:29.020674 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 22:13:29.021165 Event: Call Connecting
-On: 2011-10-29 22:13:29.021204 Event: 200
-On: 2011-10-29 22:13:29.021713 Event: Answer call
-On: 2011-10-29 22:13:29.021793 Event: Hangup call
-On: 2011-10-29 22:13:29.021968 Event: CALL OK
-On: 2011-10-29 22:13:29.043646 Event: Terminate
-On: 2011-10-29 22:13:29.043700 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:05:01.940359 ------------------
-On: 2011-10-29 23:05:01.960533 Event: try to Connect to Controller
-On: 2011-10-29 23:05:03.217060 Event: init state
-On: 2011-10-29 23:05:03.217298 Event: Register Account to SIP server
-On: 2011-10-29 23:05:03.217927 Event: 100
-On: 2011-10-29 23:05:03.218017 Event: Receiver Handler Ready
-On: 2011-10-29 23:05:03.218359 Event: RECEIVE START
-On: 2011-10-29 23:05:06.261956 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-29 23:05:06.262441 Event: Call Connecting
-On: 2011-10-29 23:05:06.262479 Event: 200
-On: 2011-10-29 23:05:06.262727 Event: Answer call
-On: 2011-10-29 23:05:06.262777 Event: Hangup call
-On: 2011-10-29 23:05:06.262943 Event: CALL OK
-On: 2011-10-29 23:05:06.275271 Event: Terminate
-On: 2011-10-29 23:05:06.275323 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:09:38.475616 ------------------
-On: 2011-10-29 23:09:38.496132 Event: try to Connect to Controller
-On: 2011-10-29 23:09:39.771828 Event: init state
-On: 2011-10-29 23:09:39.772076 Event: Register Account to SIP server
-On: 2011-10-29 23:09:39.772484 Event: 100
-On: 2011-10-29 23:09:39.772566 Event: Receiver Handler Ready
-On: 2011-10-29 23:09:39.772977 Event: RECEIVE START
-On: 2011-10-29 23:09:41.724612 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-29 23:09:41.725104 Event: Call Connecting
-On: 2011-10-29 23:09:41.725143 Event: 200
-On: 2011-10-29 23:09:41.725389 Event: Answer call
-On: 2011-10-29 23:09:41.725440 Event: Hangup call
-On: 2011-10-29 23:09:41.725801 Event: CALL OK
-On: 2011-10-29 23:09:41.826984 Event: Call Disconnected
-On: 2011-10-29 23:09:43.094472 Event: Terminate
-On: 2011-10-29 23:09:43.094526 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:24:34.656139 ------------------
-On: 2011-10-29 23:24:34.676519 Event: try to Connect to Controller
-On: 2011-10-29 23:24:35.961109 Event: init state
-On: 2011-10-29 23:24:35.961364 Event: Register Account to SIP server
-On: 2011-10-29 23:24:35.961981 Event: 100
-On: 2011-10-29 23:24:35.962070 Event: Receiver Handler Ready
-On: 2011-10-29 23:24:35.962473 Event: RECEIVE START
-On: 2011-10-29 23:24:38.315444 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-29 23:24:38.315935 Event: Call Connecting
-On: 2011-10-29 23:24:38.315975 Event: 200
-On: 2011-10-29 23:24:38.316223 Event: Answer call
-On: 2011-10-29 23:24:38.316275 Event: Hangup call
-On: 2011-10-29 23:24:38.316441 Event: CALL OK
-On: 2011-10-29 23:24:38.417505 Event: Call Disconnected
-On: 2011-10-29 23:24:39.905416 Event: Terminate
-On: 2011-10-29 23:24:39.905520 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-29 23:27:09.980510 ------------------
-On: 2011-10-29 23:27:10.000701 Event: try to Connect to Controller
-On: 2011-10-29 23:27:11.294799 Event: init state
-On: 2011-10-29 23:27:11.295040 Event: Register Account to SIP server
-On: 2011-10-29 23:27:11.295447 Event: 100
-On: 2011-10-29 23:27:11.295528 Event: Receiver Handler Ready
-On: 2011-10-29 23:27:11.295926 Event: RECEIVE START
-On: 2011-10-29 23:27:13.687592 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-29 23:27:13.688085 Event: Call Connecting
-On: 2011-10-29 23:27:13.688125 Event: 200
-On: 2011-10-29 23:27:13.688373 Event: Answer call
-On: 2011-10-29 23:27:13.688426 Event: Hangup call
-On: 2011-10-29 23:27:13.688593 Event: CALL OK
-On: 2011-10-29 23:27:13.789664 Event: Call Disconnected
-On: 2011-10-29 23:27:15.123296 Event: Terminate
-On: 2011-10-29 23:27:15.123348 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:13:03.177387 ------------------
-On: 2011-10-30 15:13:03.197793 Event: try to Connect to Controller
-On: 2011-10-30 15:13:04.442725 Event: init state
-On: 2011-10-30 15:13:04.442960 Event: Register Account to SIP server
-On: 2011-10-30 15:13:04.443359 Event: 100
-On: 2011-10-30 15:13:04.443447 Event: Caller Handler Ready
-On: 2011-10-30 15:13:15.467577 Event: CALL START
-On: 2011-10-30 15:13:15.467636 Event: Make a call to: 4661473
-On: 2011-10-30 15:13:17.886174 Event: Call Connecting
-On: 2011-10-30 15:13:17.886222 Event: 200
-On: 2011-10-30 15:13:18.075000 Event: Terminate
-On: 2011-10-30 15:13:18.075059 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:14:14.422511 ------------------
-On: 2011-10-30 15:14:14.442879 Event: try to Connect to Controller
-On: 2011-10-30 15:14:15.660519 Event: init state
-On: 2011-10-30 15:14:15.660754 Event: Register Account to SIP server
-On: 2011-10-30 15:14:15.661176 Event: 100
-On: 2011-10-30 15:14:15.661262 Event: Caller Handler Ready
-On: 2011-10-30 15:14:26.682908 Event: CALL START
-On: 2011-10-30 15:14:26.682965 Event: Make a call to: 4661473
-On: 2011-10-30 15:14:28.517175 Event: Call Connecting
-On: 2011-10-30 15:14:28.517226 Event: 200
-On: 2011-10-30 15:14:28.695323 Event: Terminate
-On: 2011-10-30 15:14:28.695381 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:15:59.649842 ------------------
-On: 2011-10-30 15:15:59.669861 Event: try to Connect to Controller
-On: 2011-10-30 15:16:00.930811 Event: init state
-On: 2011-10-30 15:16:00.931046 Event: Register Account to SIP server
-On: 2011-10-30 15:16:00.931828 Event: 100
-On: 2011-10-30 15:16:00.931917 Event: Caller Handler Ready
-On: 2011-10-30 15:16:11.949949 Event: CALL START
-On: 2011-10-30 15:16:11.950004 Event: Make a call to: 4661473
-On: 2011-10-30 15:16:14.407776 Event: Call Connecting
-On: 2011-10-30 15:16:14.407824 Event: 200
-On: 2011-10-30 15:16:14.614038 Event: Terminate
-On: 2011-10-30 15:16:14.614097 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:18:15.839396 ------------------
-On: 2011-10-30 15:18:15.861367 Event: try to Connect to Controller
-On: 2011-10-30 15:18:17.097822 Event: init state
-On: 2011-10-30 15:18:17.098069 Event: Register Account to SIP server
-On: 2011-10-30 15:18:17.098498 Event: 100
-On: 2011-10-30 15:18:17.098585 Event: Caller Handler Ready
-On: 2011-10-30 15:18:28.332234 Event: CALL START
-On: 2011-10-30 15:18:28.332292 Event: Make a call to: 4661455
-On: 2011-10-30 15:18:31.010601 Event: Call Connecting
-On: 2011-10-30 15:18:31.010648 Event: 200
-On: 2011-10-30 15:18:31.046767 Event: Terminate
-On: 2011-10-30 15:18:31.046825 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:20:06.523331 ------------------
-On: 2011-10-30 15:20:06.543681 Event: try to Connect to Controller
-On: 2011-10-30 15:20:07.628909 Event: init state
-On: 2011-10-30 15:20:07.629150 Event: Register Account to SIP server
-On: 2011-10-30 15:20:07.629976 Event: 100
-On: 2011-10-30 15:20:07.630066 Event: Caller Handler Ready
-On: 2011-10-30 15:20:18.654675 Event: CALL START
-On: 2011-10-30 15:20:18.654733 Event: Make a call to: 4661473
-On: 2011-10-30 15:20:20.424342 Event: Call Connecting
-On: 2011-10-30 15:20:20.424392 Event: 200
-On: 2011-10-30 15:20:20.608789 Event: Terminate
-On: 2011-10-30 15:20:20.608837 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:27:45.047076 ------------------
-On: 2011-10-30 15:27:45.071724 Event: try to Connect to Controller
-On: 2011-10-30 15:27:46.218762 Event: init state
-On: 2011-10-30 15:27:46.218991 Event: Register Account to SIP server
-On: 2011-10-30 15:27:46.219408 Event: 100
-On: 2011-10-30 15:27:46.219495 Event: Receiver Handler Ready
-On: 2011-10-30 15:27:46.219807 Event: RECEIVE START
-On: 2011-10-30 15:27:49.271507 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-30 15:27:49.272118 Event: Call Connecting
-On: 2011-10-30 15:27:49.272165 Event: 200
-On: 2011-10-30 15:27:49.272418 Event: Answer call
-On: 2011-10-30 15:27:49.272470 Event: Hangup call
-On: 2011-10-30 15:27:49.272647 Event: CALL OK
-On: 2011-10-30 15:27:49.303304 Event: Terminate
-On: 2011-10-30 15:27:49.303358 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:31:06.354504 ------------------
-On: 2011-10-30 15:31:06.379344 Event: try to Connect to Controller
-On: 2011-10-30 15:31:07.473811 Event: init state
-On: 2011-10-30 15:31:07.474043 Event: Register Account to SIP server
-On: 2011-10-30 15:31:07.474466 Event: 100
-On: 2011-10-30 15:31:07.474555 Event: Caller Handler Ready
-On: 2011-10-30 15:31:12.553208 Event: CALL START
-On: 2011-10-30 15:31:12.553268 Event: Make a call to: 4661449
-On: 2011-10-30 15:31:14.792629 Event: Call Connecting
-On: 2011-10-30 15:31:14.792679 Event: 200
-On: 2011-10-30 15:31:15.897955 Event: Terminate
-On: 2011-10-30 15:31:15.897997 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:35:33.394801 ------------------
-On: 2011-10-30 15:35:33.415250 Event: try to Connect to Controller
-On: 2011-10-30 15:35:34.604926 Event: init state
-On: 2011-10-30 15:35:34.605170 Event: Register Account to SIP server
-On: 2011-10-30 15:35:34.605650 Event: 100
-On: 2011-10-30 15:35:34.605737 Event: Caller Handler Ready
-On: 2011-10-30 15:35:45.845507 Event: CALL START
-On: 2011-10-30 15:35:45.845565 Event: Make a call to: 4661455
-On: 2011-10-30 15:35:48.575974 Event: Call Connecting
-On: 2011-10-30 15:35:48.576024 Event: 200
-On: 2011-10-30 15:35:48.654041 Event: Terminate
-On: 2011-10-30 15:35:48.654088 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:38:16.670217 ------------------
-On: 2011-10-30 15:38:16.702046 Event: try to Connect to Controller
-On: 2011-10-30 15:38:17.714096 Event: init state
-On: 2011-10-30 15:38:17.714339 Event: Register Account to SIP server
-On: 2011-10-30 15:38:17.714759 Event: 100
-On: 2011-10-30 15:38:17.714846 Event: Caller Handler Ready
-On: 2011-10-30 15:38:22.797246 Event: CALL START
-On: 2011-10-30 15:38:22.797307 Event: Make a call to: 4661449
-On: 2011-10-30 15:38:25.564868 Event: Call Connecting
-On: 2011-10-30 15:38:25.564916 Event: 200
-On: 2011-10-30 15:38:26.669965 Event: Terminate
-On: 2011-10-30 15:38:26.670010 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:41:17.720214 ------------------
-On: 2011-10-30 15:41:17.741187 Event: try to Connect to Controller
-On: 2011-10-30 15:41:18.749071 Event: init state
-On: 2011-10-30 15:41:18.749311 Event: Register Account to SIP server
-On: 2011-10-30 15:41:18.750136 Event: 100
-On: 2011-10-30 15:41:18.750225 Event: Caller Handler Ready
-On: 2011-10-30 15:41:29.773979 Event: CALL START
-On: 2011-10-30 15:41:29.774045 Event: Make a call to: 4661473
-On: 2011-10-30 15:41:31.723244 Event: Call Connecting
-On: 2011-10-30 15:41:31.723294 Event: 200
-On: 2011-10-30 15:41:31.930906 Event: Terminate
-On: 2011-10-30 15:41:31.930953 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:45:56.847239 ------------------
-On: 2011-10-30 15:45:56.871586 Event: try to Connect to Controller
-On: 2011-10-30 15:45:57.938095 Event: init state
-On: 2011-10-30 15:45:57.938333 Event: Register Account to SIP server
-On: 2011-10-30 15:45:57.939116 Event: 100
-On: 2011-10-30 15:45:57.939203 Event: Caller Handler Ready
-On: 2011-10-30 15:46:08.959113 Event: CALL START
-On: 2011-10-30 15:46:08.959179 Event: Make a call to: 4661473
-On: 2011-10-30 15:46:11.625446 Event: Call Connecting
-On: 2011-10-30 15:46:11.625529 Event: 200
-On: 2011-10-30 15:46:11.811279 Event: Terminate
-On: 2011-10-30 15:46:11.811338 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:51:47.478993 ------------------
-On: 2011-10-30 15:51:47.503669 Event: try to Connect to Controller
-On: 2011-10-30 15:51:48.558735 Event: init state
-On: 2011-10-30 15:51:48.558978 Event: Register Account to SIP server
-On: 2011-10-30 15:51:48.559402 Event: 100
-On: 2011-10-30 15:51:48.559490 Event: Caller Handler Ready
-On: 2011-10-30 15:51:59.581904 Event: CALL START
-On: 2011-10-30 15:51:59.581958 Event: Make a call to: 4661473
-On: 2011-10-30 15:52:01.212005 Event: Call Connecting
-On: 2011-10-30 15:52:01.212056 Event: 200
-On: 2011-10-30 15:52:01.373905 Event: Terminate
-On: 2011-10-30 15:52:01.373966 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 15:55:05.564237 ------------------
-On: 2011-10-30 15:55:05.588585 Event: try to Connect to Controller
-On: 2011-10-30 15:55:06.664182 Event: init state
-On: 2011-10-30 15:55:06.664427 Event: Register Account to SIP server
-On: 2011-10-30 15:55:06.664863 Event: 100
-On: 2011-10-30 15:55:06.664947 Event: Caller Handler Ready
-On: 2011-10-30 15:55:17.907186 Event: CALL START
-On: 2011-10-30 15:55:17.907252 Event: Make a call to: 4661455
-On: 2011-10-30 15:55:19.623596 Event: Call Connecting
-On: 2011-10-30 15:55:19.623646 Event: 200
-On: 2011-10-30 15:55:19.674705 Event: Terminate
-On: 2011-10-30 15:55:19.674753 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 16:18:18.086521 ------------------
-On: 2011-10-30 16:18:18.111146 Event: try to Connect to Controller
-On: 2011-10-30 16:18:19.179250 Event: init state
-On: 2011-10-30 16:18:19.179487 Event: Register Account to SIP server
-On: 2011-10-30 16:18:19.179916 Event: 100
-On: 2011-10-30 16:18:19.180001 Event: Caller Handler Ready
-On: 2011-10-30 16:18:30.413525 Event: CALL START
-On: 2011-10-30 16:18:30.413597 Event: Make a call to: 4661455
-On: 2011-10-30 16:18:33.323110 Event: Call Connecting
-On: 2011-10-30 16:18:33.323161 Event: 200
-On: 2011-10-30 16:18:33.393460 Event: Terminate
-On: 2011-10-30 16:18:33.393542 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 19:49:56.158486 ------------------
-On: 2011-10-30 19:49:56.178539 Event: try to Connect to Controller
-On: 2011-10-30 19:49:57.410644 Event: init state
-On: 2011-10-30 19:49:57.410879 Event: Register Account to SIP server
-On: 2011-10-30 19:49:57.411293 Event: 100
-On: 2011-10-30 19:49:57.411374 Event: Caller Handler Ready
-On: 2011-10-30 19:50:02.565168 Event: CALL START
-On: 2011-10-30 19:50:02.565221 Event: Make a call to: 4661449
-On: 2011-10-30 19:50:05.287086 Event: Call Connecting
-On: 2011-10-30 19:50:05.287130 Event: 200
-On: 2011-10-30 19:50:05.345980 Event: Terminate
-On: 2011-10-30 19:50:05.346023 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:02:19.379230 ------------------
-On: 2011-10-30 20:02:19.399499 Event: try to Connect to Controller
-On: 2011-10-30 20:02:20.440848 Event: init state
-On: 2011-10-30 20:02:20.441079 Event: Register Account to SIP server
-On: 2011-10-30 20:02:20.441720 Event: 100
-On: 2011-10-30 20:02:20.441820 Event: Caller Handler Ready
-On: 2011-10-30 20:02:28.457866 Event: Terminate
-On: 2011-10-30 20:02:28.457921 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:04:59.133913 ------------------
-On: 2011-10-30 20:04:59.154230 Event: try to Connect to Controller
-On: 2011-10-30 20:04:59.987092 Event: init state
-On: 2011-10-30 20:04:59.987213 Event: Register Account to SIP server
-On: 2011-10-30 20:04:59.987686 Event: 100
-On: 2011-10-30 20:04:59.988049 Event: Receiver Handler Ready
-On: 2011-10-30 20:04:59.988120 Event: RECEIVE START
-On: 2011-10-30 20:05:03.043622 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-30 20:05:03.044122 Event: Call Connecting
-On: 2011-10-30 20:05:03.044162 Event: 200
-On: 2011-10-30 20:05:03.044417 Event: Answer call
-On: 2011-10-30 20:05:03.044471 Event: Hangup call
-On: 2011-10-30 20:05:03.044641 Event: CALL OK
-On: 2011-10-30 20:05:03.051018 Event: Terminate
-On: 2011-10-30 20:05:03.051076 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:21:31.471440 ------------------
-On: 2011-10-30 20:21:31.492085 Event: try to Connect to Controller
-On: 2011-10-30 20:21:32.280867 Event: init state
-On: 2011-10-30 20:21:32.280988 Event: Register Account to SIP server
-On: 2011-10-30 20:21:32.281388 Event: 100
-On: 2011-10-30 20:21:32.284015 Event: Caller Handler Ready
-On: 2011-10-30 20:21:40.290864 Event: Terminate
-On: 2011-10-30 20:21:40.290920 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-30 20:24:28.829175 ------------------
-On: 2011-10-30 20:24:28.849946 Event: try to Connect to Controller
-On: 2011-10-30 20:24:29.410623 Event: init state
-On: 2011-10-30 20:24:29.410741 Event: Register Account to SIP server
-On: 2011-10-30 20:24:29.411147 Event: 100
-On: 2011-10-30 20:24:29.411506 Event: Receiver Handler Ready
-On: 2011-10-30 20:24:29.411577 Event: RECEIVE START
-On: 2011-10-30 20:24:32.436658 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-30 20:24:32.437151 Event: Call Connecting
-On: 2011-10-30 20:24:32.437192 Event: 200
-On: 2011-10-30 20:24:32.437445 Event: Answer call
-On: 2011-10-30 20:24:32.437754 Event: Hangup call
-On: 2011-10-30 20:24:32.437967 Event: CALL OK
-On: 2011-10-30 20:24:32.445833 Event: Terminate
-On: 2011-10-30 20:24:32.445892 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:20:48.525285 ------------------
-On: 2011-10-31 13:20:48.549299 Event: try to Connect to Controller
-On: 2011-10-31 13:20:49.652942 Event: init state
-On: 2011-10-31 13:20:49.653184 Event: Register Account to SIP server
-On: 2011-10-31 13:20:49.654036 Event: 100
-On: 2011-10-31 13:20:49.654122 Event: Caller Handler Ready
-On: 2011-10-31 13:21:00.898741 Event: CALL START
-On: 2011-10-31 13:21:00.898808 Event: Make a call to: 4661455
-On: 2011-10-31 13:21:04.123646 Event: Call Connecting
-On: 2011-10-31 13:21:04.123694 Event: 200
-On: 2011-10-31 13:21:04.158608 Event: Terminate
-On: 2011-10-31 13:21:04.158643 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:29:53.368897 ------------------
-On: 2011-10-31 13:29:53.428183 Event: try to Connect to Controller
-On: 2011-10-31 13:29:54.149005 Event: init state
-On: 2011-10-31 13:29:54.149247 Event: Register Account to SIP server
-On: 2011-10-31 13:29:54.149726 Event: 100
-On: 2011-10-31 13:29:54.149811 Event: Caller Handler Ready
-On: 2011-10-31 13:30:05.377691 Event: CALL START
-On: 2011-10-31 13:30:05.377761 Event: Make a call to: 4661473
-On: 2011-10-31 13:30:07.132139 Event: Call Connecting
-On: 2011-10-31 13:30:07.132187 Event: 200
-On: 2011-10-31 13:30:07.184597 Event: Terminate
-On: 2011-10-31 13:30:07.184652 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:36:36.095868 ------------------
-On: 2011-10-31 13:36:36.116467 Event: try to Connect to Controller
-On: 2011-10-31 13:36:37.217539 Event: init state
-On: 2011-10-31 13:36:37.217865 Event: Register Account to SIP server
-On: 2011-10-31 13:36:37.218292 Event: 100
-On: 2011-10-31 13:36:37.218378 Event: Caller Handler Ready
-On: 2011-10-31 13:36:42.345330 Event: CALL START
-On: 2011-10-31 13:36:42.345390 Event: Make a call to: 4661449
-On: 2011-10-31 13:36:44.932526 Event: Call Connecting
-On: 2011-10-31 13:36:44.932573 Event: 200
-On: 2011-10-31 13:36:44.994134 Event: Terminate
-On: 2011-10-31 13:36:44.994169 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 13:52:54.946752 ------------------
-On: 2011-10-31 13:52:54.971248 Event: try to Connect to Controller
-On: 2011-10-31 13:52:56.126683 Event: init state
-On: 2011-10-31 13:52:56.126911 Event: Register Account to SIP server
-On: 2011-10-31 13:52:56.127320 Event: 100
-On: 2011-10-31 13:52:56.127399 Event: Receiver Handler Ready
-On: 2011-10-31 13:52:56.127741 Event: RECEIVE START
-On: 2011-10-31 13:52:59.177229 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-10-31 13:52:59.177800 Event: Call Connecting
-On: 2011-10-31 13:52:59.177843 Event: 200
-On: 2011-10-31 13:52:59.178170 Event: Answer call
-On: 2011-10-31 13:52:59.178236 Event: Hangup call
-On: 2011-10-31 13:52:59.178410 Event: CALL OK
-On: 2011-10-31 13:52:59.205736 Event: Terminate
-On: 2011-10-31 13:52:59.205792 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:00:17.603023 ------------------
-On: 2011-10-31 14:00:17.627411 Event: try to Connect to Controller
-On: 2011-10-31 14:00:18.800377 Event: init state
-On: 2011-10-31 14:00:18.800610 Event: Register Account to SIP server
-On: 2011-10-31 14:00:18.801370 Event: 100
-On: 2011-10-31 14:00:18.801455 Event: Receiver Handler Ready
-On: 2011-10-31 14:00:18.805790 Event: RECEIVE START
-On: 2011-10-31 14:00:19.727320 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-10-31 14:00:19.727841 Event: Call Connecting
-On: 2011-10-31 14:00:19.727882 Event: 200
-On: 2011-10-31 14:00:19.728133 Event: Answer call
-On: 2011-10-31 14:00:19.728184 Event: Hangup call
-On: 2011-10-31 14:00:19.728356 Event: CALL OK
-On: 2011-10-31 14:00:19.829451 Event: Call Disconnected
-On: 2011-10-31 14:00:21.238097 Event: Terminate
-On: 2011-10-31 14:00:21.238132 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:00:33.373144 ------------------
-On: 2011-10-31 14:00:33.398432 Event: try to Connect to Controller
-On: 2011-10-31 14:00:34.517774 Event: init state
-On: 2011-10-31 14:00:34.518009 Event: Register Account to SIP server
-On: 2011-10-31 14:00:34.518801 Event: 100
-On: 2011-10-31 14:00:34.518882 Event: Receiver Handler Ready
-On: 2011-10-31 14:00:34.519309 Event: RECEIVE START
-On: 2011-10-31 14:00:36.221710 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-10-31 14:00:36.222217 Event: Call Connecting
-On: 2011-10-31 14:00:36.222255 Event: 200
-On: 2011-10-31 14:00:36.222507 Event: Answer call
-On: 2011-10-31 14:00:36.222560 Event: Hangup call
-On: 2011-10-31 14:00:36.222731 Event: CALL OK
-On: 2011-10-31 14:00:36.323850 Event: Call Disconnected
-On: 2011-10-31 14:00:37.674434 Event: Terminate
-On: 2011-10-31 14:00:37.674469 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 14:00:49.869484 ------------------
-On: 2011-10-31 14:00:49.890002 Event: try to Connect to Controller
-On: 2011-10-31 14:00:50.958724 Event: init state
-On: 2011-10-31 14:00:50.958965 Event: Register Account to SIP server
-On: 2011-10-31 14:00:50.959749 Event: 100
-On: 2011-10-31 14:00:50.959834 Event: Receiver Handler Ready
-On: 2011-10-31 14:00:50.960244 Event: RECEIVE START
-On: 2011-10-31 14:00:53.630322 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-10-31 14:00:53.630839 Event: Call Connecting
-On: 2011-10-31 14:00:53.630881 Event: 200
-On: 2011-10-31 14:00:53.631134 Event: Answer call
-On: 2011-10-31 14:00:53.631185 Event: Hangup call
-On: 2011-10-31 14:00:53.631355 Event: CALL OK
-On: 2011-10-31 14:00:53.732476 Event: Call Disconnected
-On: 2011-10-31 14:00:55.007029 Event: Terminate
-On: 2011-10-31 14:00:55.007072 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 15:21:59.355993 ------------------
-On: 2011-10-31 15:21:59.401196 Event: try to Connect to Controller
-On: 2011-10-31 15:21:59.906920 Event: init state
-On: 2011-10-31 15:21:59.907164 Event: Register Account to SIP server
-On: 2011-10-31 15:21:59.907591 Event: 100
-On: 2011-10-31 15:21:59.907675 Event: Caller Handler Ready
-On: 2011-10-31 15:22:11.131622 Event: CALL START
-On: 2011-10-31 15:22:11.131691 Event: Make a call to: 4661473
-On: 2011-10-31 15:22:12.884698 Event: Call Connecting
-On: 2011-10-31 15:22:12.884746 Event: 200
-On: 2011-10-31 15:22:12.954805 Event: Terminate
-On: 2011-10-31 15:22:12.954840 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 16:23:37.745332 ------------------
-On: 2011-10-31 16:23:37.765574 Event: try to Connect to Controller
-On: 2011-10-31 16:23:39.076210 Event: init state
-On: 2011-10-31 16:23:39.076462 Event: Register Account to SIP server
-On: 2011-10-31 16:23:39.076871 Event: 100
-On: 2011-10-31 16:23:39.076949 Event: Caller Handler Ready
-On: 2011-10-31 16:23:44.229305 Event: CALL START
-On: 2011-10-31 16:23:44.229358 Event: Make a call to: 4661449
-On: 2011-10-31 16:23:46.928083 Event: Call Connecting
-On: 2011-10-31 16:23:46.928128 Event: 200
-On: 2011-10-31 16:23:46.998139 Event: Terminate
-On: 2011-10-31 16:23:46.998174 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 17:38:11.815769 ------------------
-On: 2011-10-31 17:38:11.838345 Event: try to Connect to Controller
-On: 2011-10-31 17:38:13.138824 Event: init state
-On: 2011-10-31 17:38:13.139091 Event: Register Account to SIP server
-On: 2011-10-31 17:38:13.139493 Event: 100
-On: 2011-10-31 17:38:13.139571 Event: Caller Handler Ready
-On: 2011-10-31 17:38:24.369498 Event: CALL START
-On: 2011-10-31 17:38:24.369552 Event: Make a call to: 4661473
-On: 2011-10-31 17:38:27.494470 Event: Call Connecting
-On: 2011-10-31 17:38:27.494515 Event: 200
-On: 2011-10-31 17:38:27.543979 Event: Terminate
-On: 2011-10-31 17:38:27.544031 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 19:54:44.660706 ------------------
-On: 2011-10-31 19:54:44.681314 Event: try to Connect to Controller
-On: 2011-10-31 19:54:45.986832 Event: init state
-On: 2011-10-31 19:54:45.987070 Event: Register Account to SIP server
-On: 2011-10-31 19:54:45.987834 Event: 100
-On: 2011-10-31 19:54:45.987913 Event: Caller Handler Ready
-On: 2011-10-31 19:54:57.212781 Event: CALL START
-On: 2011-10-31 19:54:57.212842 Event: Make a call to: 4661473
-On: 2011-10-31 19:54:59.265776 Event: Call Connecting
-On: 2011-10-31 19:54:59.265822 Event: 200
-On: 2011-10-31 19:54:59.316902 Event: Terminate
-On: 2011-10-31 19:54:59.316953 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 20:00:33.083310 ------------------
-On: 2011-10-31 20:00:33.103747 Event: try to Connect to Controller
-On: 2011-10-31 20:00:34.409391 Event: init state
-On: 2011-10-31 20:00:34.409802 Event: Register Account to SIP server
-On: 2011-10-31 20:00:34.410237 Event: 100
-On: 2011-10-31 20:00:34.410315 Event: Caller Handler Ready
-On: 2011-10-31 20:00:39.555114 Event: CALL START
-On: 2011-10-31 20:00:39.555168 Event: Make a call to: 4661449
-On: 2011-10-31 20:00:42.264727 Event: Call Connecting
-On: 2011-10-31 20:00:42.264771 Event: 200
-On: 2011-10-31 20:00:42.326197 Event: Terminate
-On: 2011-10-31 20:00:42.326232 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:14:09.687867 ------------------
-On: 2011-10-31 21:14:09.708594 Event: try to Connect to Controller
-On: 2011-10-31 21:14:11.016952 Event: init state
-On: 2011-10-31 21:14:11.017195 Event: Register Account to SIP server
-On: 2011-10-31 21:14:11.017659 Event: 100
-On: 2011-10-31 21:14:11.017897 Event: Caller Handler Ready
-On: 2011-10-31 21:14:16.168555 Event: CALL START
-On: 2011-10-31 21:14:16.168607 Event: Make a call to: 4661449
-On: 2011-10-31 21:14:18.620183 Event: Call Connecting
-On: 2011-10-31 21:14:18.620227 Event: 200
-On: 2011-10-31 21:14:18.662139 Event: Terminate
-On: 2011-10-31 21:14:18.662174 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 21:27:46.791037 ------------------
-On: 2011-10-31 21:27:46.811432 Event: try to Connect to Controller
-On: 2011-10-31 21:27:48.121100 Event: init state
-On: 2011-10-31 21:27:48.121336 Event: Register Account to SIP server
-On: 2011-10-31 21:27:48.121963 Event: 100
-On: 2011-10-31 21:27:48.122057 Event: Caller Handler Ready
-On: 2011-10-31 21:27:59.350353 Event: CALL START
-On: 2011-10-31 21:27:59.350412 Event: Make a call to: 4661473
-On: 2011-10-31 21:28:01.959694 Event: Call Connecting
-On: 2011-10-31 21:28:01.959740 Event: 200
-On: 2011-10-31 21:28:02.017196 Event: Terminate
-On: 2011-10-31 21:28:02.017247 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-10-31 23:21:11.082964 ------------------
-On: 2011-10-31 23:21:11.103386 Event: try to Connect to Controller
-On: 2011-10-31 23:21:12.410042 Event: init state
-On: 2011-10-31 23:21:12.410278 Event: Register Account to SIP server
-On: 2011-10-31 23:21:12.410691 Event: 100
-On: 2011-10-31 23:21:12.410768 Event: Caller Handler Ready
-On: 2011-10-31 23:21:23.612497 Event: CALL START
-On: 2011-10-31 23:21:23.612550 Event: Make a call to: 4661473
-On: 2011-10-31 23:21:26.097515 Event: Call Connecting
-On: 2011-10-31 23:21:26.097561 Event: 200
-On: 2011-10-31 23:21:26.177531 Event: Terminate
-On: 2011-10-31 23:21:26.177581 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:21:42.732676 ------------------
-On: 2011-11-01 11:21:42.753923 Event: try to Connect to Controller
-On: 2011-11-01 11:21:44.043120 Event: init state
-On: 2011-11-01 11:21:44.043358 Event: Register Account to SIP server
-On: 2011-11-01 11:21:44.043766 Event: 100
-On: 2011-11-01 11:21:44.043845 Event: Caller Handler Ready
-On: 2011-11-01 11:21:55.270028 Event: CALL START
-On: 2011-11-01 11:21:55.270080 Event: Make a call to: 4661473
-On: 2011-11-01 11:21:57.642886 Event: Call Connecting
-On: 2011-11-01 11:21:57.642932 Event: 200
-On: 2011-11-01 11:21:57.704083 Event: Terminate
-On: 2011-11-01 11:21:57.704139 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 11:24:09.951609 ------------------
-On: 2011-11-01 11:24:09.971832 Event: try to Connect to Controller
-On: 2011-11-01 11:24:11.261831 Event: init state
-On: 2011-11-01 11:24:11.262072 Event: Register Account to SIP server
-On: 2011-11-01 11:24:11.262853 Event: 100
-On: 2011-11-01 11:24:11.262933 Event: Caller Handler Ready
-On: 2011-11-01 11:24:22.453644 Event: CALL START
-On: 2011-11-01 11:24:22.453699 Event: Make a call to: 4661473
-On: 2011-11-01 11:24:25.016904 Event: Call Connecting
-On: 2011-11-01 11:24:25.016952 Event: 200
-On: 2011-11-01 11:24:25.107853 Event: Terminate
-On: 2011-11-01 11:24:25.107904 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:07:53.743492 ------------------
-On: 2011-11-01 14:07:53.764731 Event: try to Connect to Controller
-On: 2011-11-01 14:07:55.058058 Event: init state
-On: 2011-11-01 14:07:55.058285 Event: Register Account to SIP server
-On: 2011-11-01 14:07:55.058697 Event: 100
-On: 2011-11-01 14:07:55.058776 Event: Receiver Handler Ready
-On: 2011-11-01 14:07:55.059165 Event: RECEIVE START
-On: 2011-11-01 14:07:57.296392 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-01 14:07:57.296887 Event: Call Connecting
-On: 2011-11-01 14:07:57.296926 Event: 200
-On: 2011-11-01 14:07:57.297169 Event: Answer call
-On: 2011-11-01 14:07:57.297220 Event: Hangup call
-On: 2011-11-01 14:07:57.297386 Event: CALL OK
-On: 2011-11-01 14:07:57.398445 Event: Call Disconnected
-On: 2011-11-01 14:07:58.769883 Event: Terminate
-On: 2011-11-01 14:07:58.769932 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:08:38.039251 ------------------
-On: 2011-11-01 14:08:38.059588 Event: try to Connect to Controller
-On: 2011-11-01 14:08:39.320234 Event: init state
-On: 2011-11-01 14:08:39.320466 Event: Register Account to SIP server
-On: 2011-11-01 14:08:39.320874 Event: 100
-On: 2011-11-01 14:08:39.320953 Event: Receiver Handler Ready
-On: 2011-11-01 14:08:39.321291 Event: RECEIVE START
-On: 2011-11-01 14:08:42.358748 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-01 14:08:42.359238 Event: Call Connecting
-On: 2011-11-01 14:08:42.359277 Event: 200
-On: 2011-11-01 14:08:42.359523 Event: Answer call
-On: 2011-11-01 14:08:42.359575 Event: Hangup call
-On: 2011-11-01 14:08:42.359746 Event: CALL OK
-On: 2011-11-01 14:08:42.382338 Event: Terminate
-On: 2011-11-01 14:08:42.382390 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:17:09.018546 ------------------
-On: 2011-11-01 14:17:09.039458 Event: try to Connect to Controller
-On: 2011-11-01 14:17:10.337125 Event: init state
-On: 2011-11-01 14:17:10.337355 Event: Register Account to SIP server
-On: 2011-11-01 14:17:10.337972 Event: 100
-On: 2011-11-01 14:17:10.338066 Event: Caller Handler Ready
-On: 2011-11-01 14:17:21.581147 Event: CALL START
-On: 2011-11-01 14:17:21.581202 Event: Make a call to: 4661455
-On: 2011-11-01 14:17:23.985074 Event: Call Connecting
-On: 2011-11-01 14:17:23.985120 Event: 200
-On: 2011-11-01 14:17:24.054765 Event: Terminate
-On: 2011-11-01 14:17:24.054817 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 14:23:49.266475 ------------------
-On: 2011-11-01 14:23:49.286608 Event: try to Connect to Controller
-On: 2011-11-01 14:23:50.581002 Event: init state
-On: 2011-11-01 14:23:50.581238 Event: Register Account to SIP server
-On: 2011-11-01 14:23:50.581848 Event: 100
-On: 2011-11-01 14:23:50.581941 Event: Caller Handler Ready
-On: 2011-11-01 14:23:55.726354 Event: CALL START
-On: 2011-11-01 14:23:55.726406 Event: Make a call to: 4661449
-On: 2011-11-01 14:23:57.577317 Event: Call Connecting
-On: 2011-11-01 14:23:57.577362 Event: 200
-On: 2011-11-01 14:23:57.638198 Event: Terminate
-On: 2011-11-01 14:23:57.638234 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:35:59.901869 ------------------
-On: 2011-11-01 19:35:59.922923 Event: try to Connect to Controller
-On: 2011-11-01 19:36:01.215273 Event: init state
-On: 2011-11-01 19:36:01.215507 Event: Register Account to SIP server
-On: 2011-11-01 19:36:01.215908 Event: 100
-On: 2011-11-01 19:36:01.215989 Event: Caller Handler Ready
-On: 2011-11-01 19:36:06.341274 Event: CALL START
-On: 2011-11-01 19:36:06.341327 Event: Make a call to: 4661449
-On: 2011-11-01 19:36:08.417059 Event: Call Connecting
-On: 2011-11-01 19:36:08.417103 Event: 200
-On: 2011-11-01 19:36:08.490170 Event: Terminate
-On: 2011-11-01 19:36:08.490204 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:38:29.259444 ------------------
-On: 2011-11-01 19:38:29.279781 Event: try to Connect to Controller
-On: 2011-11-01 19:38:30.571479 Event: init state
-On: 2011-11-01 19:38:30.571710 Event: Register Account to SIP server
-On: 2011-11-01 19:38:30.572111 Event: 100
-On: 2011-11-01 19:38:30.572191 Event: Receiver Handler Ready
-On: 2011-11-01 19:38:30.572593 Event: RECEIVE START
-On: 2011-11-01 19:38:32.300288 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-01 19:38:32.300781 Event: Call Connecting
-On: 2011-11-01 19:38:32.300819 Event: 200
-On: 2011-11-01 19:38:32.301066 Event: Answer call
-On: 2011-11-01 19:38:32.301119 Event: Hangup call
-On: 2011-11-01 19:38:32.301282 Event: CALL OK
-On: 2011-11-01 19:38:32.402332 Event: Call Disconnected
-On: 2011-11-01 19:38:33.666316 Event: Terminate
-On: 2011-11-01 19:38:33.666352 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 19:39:12.920570 ------------------
-On: 2011-11-01 19:39:12.941952 Event: try to Connect to Controller
-On: 2011-11-01 19:39:14.198646 Event: init state
-On: 2011-11-01 19:39:14.198877 Event: Register Account to SIP server
-On: 2011-11-01 19:39:14.199277 Event: 100
-On: 2011-11-01 19:39:14.199358 Event: Receiver Handler Ready
-On: 2011-11-01 19:39:14.199696 Event: RECEIVE START
-On: 2011-11-01 19:39:17.241288 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-01 19:39:17.242128 Event: Call Connecting
-On: 2011-11-01 19:39:17.242176 Event: 200
-On: 2011-11-01 19:39:17.242418 Event: Answer call
-On: 2011-11-01 19:39:17.242470 Event: Hangup call
-On: 2011-11-01 19:39:17.242635 Event: CALL OK
-On: 2011-11-01 19:39:17.258206 Event: Terminate
-On: 2011-11-01 19:39:17.258259 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-01 20:12:38.907247 ------------------
-On: 2011-11-01 20:12:38.927254 Event: try to Connect to Controller
-On: 2011-11-01 20:12:40.222848 Event: init state
-On: 2011-11-01 20:12:40.223086 Event: Register Account to SIP server
-On: 2011-11-01 20:12:40.223849 Event: 100
-On: 2011-11-01 20:12:40.223928 Event: Caller Handler Ready
-On: 2011-11-01 20:12:45.357269 Event: CALL START
-On: 2011-11-01 20:12:45.357322 Event: Make a call to: 4661449
-On: 2011-11-01 20:12:46.970500 Event: Call Connecting
-On: 2011-11-01 20:12:46.970545 Event: 200
-On: 2011-11-01 20:12:47.030188 Event: Terminate
-On: 2011-11-01 20:12:47.030223 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:07:04.015957 ------------------
-On: 2011-11-02 13:07:04.039667 Event: try to Connect to Controller
-On: 2011-11-02 13:07:05.113458 Event: init state
-On: 2011-11-02 13:07:05.113688 Event: Register Account to SIP server
-On: 2011-11-02 13:07:05.114175 Event: 100
-On: 2011-11-02 13:07:05.114263 Event: Caller Handler Ready
-On: 2011-11-02 13:07:10.277713 Event: CALL START
-On: 2011-11-02 13:07:10.277775 Event: Make a call to: 4661449
-On: 2011-11-02 13:07:12.754181 Event: Call Connecting
-On: 2011-11-02 13:07:12.754229 Event: 200
-On: 2011-11-02 13:07:12.798763 Event: Terminate
-On: 2011-11-02 13:07:12.798798 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:19:04.329762 ------------------
-On: 2011-11-02 13:19:04.353689 Event: try to Connect to Controller
-On: 2011-11-02 13:19:05.510735 Event: init state
-On: 2011-11-02 13:19:05.510978 Event: Register Account to SIP server
-On: 2011-11-02 13:19:05.511403 Event: 100
-On: 2011-11-02 13:19:05.511489 Event: Caller Handler Ready
-On: 2011-11-02 13:19:13.525274 Event: Terminate
-On: 2011-11-02 13:19:13.525310 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:21:01.805339 ------------------
-On: 2011-11-02 13:21:01.826798 Event: try to Connect to Controller
-On: 2011-11-02 13:21:03.017338 Event: init state
-On: 2011-11-02 13:21:03.017570 Event: Register Account to SIP server
-On: 2011-11-02 13:21:03.018045 Event: 100
-On: 2011-11-02 13:21:03.018130 Event: Receiver Handler Ready
-On: 2011-11-02 13:21:03.018491 Event: RECEIVE START
-On: 2011-11-02 13:21:06.078448 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 13:21:06.078980 Event: Call Connecting
-On: 2011-11-02 13:21:06.079023 Event: 200
-On: 2011-11-02 13:21:06.079274 Event: Answer call
-On: 2011-11-02 13:21:06.079326 Event: Hangup call
-On: 2011-11-02 13:21:06.079500 Event: CALL OK
-On: 2011-11-02 13:21:06.108468 Event: Terminate
-On: 2011-11-02 13:21:06.108505 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:42:13.260055 ------------------
-On: 2011-11-02 13:42:13.280300 Event: try to Connect to Controller
-On: 2011-11-02 13:42:14.474452 Event: init state
-On: 2011-11-02 13:42:14.474693 Event: Register Account to SIP server
-On: 2011-11-02 13:42:14.475127 Event: 100
-On: 2011-11-02 13:42:14.475214 Event: Caller Handler Ready
-On: 2011-11-02 13:42:19.620557 Event: CALL START
-On: 2011-11-02 13:42:19.620627 Event: Make a call to: 4661449
-On: 2011-11-02 13:42:21.792968 Event: Call Connecting
-On: 2011-11-02 13:42:21.793018 Event: 200
-On: 2011-11-02 13:42:21.835389 Event: Terminate
-On: 2011-11-02 13:42:21.835424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:07.344081 ------------------
-On: 2011-11-02 13:46:07.364564 Event: try to Connect to Controller
-On: 2011-11-02 13:46:08.533394 Event: init state
-On: 2011-11-02 13:46:08.533635 Event: Register Account to SIP server
-On: 2011-11-02 13:46:08.534482 Event: 100
-On: 2011-11-02 13:46:08.534567 Event: Caller Handler Ready
-On: 2011-11-02 13:46:13.697707 Event: CALL START
-On: 2011-11-02 13:46:13.697766 Event: Make a call to: 4661449
-On: 2011-11-02 13:46:15.977680 Event: Call Connecting
-On: 2011-11-02 13:46:15.977730 Event: 200
-On: 2011-11-02 13:46:16.074648 Event: Terminate
-On: 2011-11-02 13:46:16.074684 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:46:53.925899 ------------------
-On: 2011-11-02 13:46:53.946419 Event: try to Connect to Controller
-On: 2011-11-02 13:46:55.207982 Event: init state
-On: 2011-11-02 13:46:55.208228 Event: Register Account to SIP server
-On: 2011-11-02 13:46:55.209011 Event: 100
-On: 2011-11-02 13:46:55.209097 Event: Caller Handler Ready
-On: 2011-11-02 13:47:00.361649 Event: CALL START
-On: 2011-11-02 13:47:00.361706 Event: Make a call to: 4661449
-On: 2011-11-02 13:47:03.309066 Event: Call Connecting
-On: 2011-11-02 13:47:03.309114 Event: 200
-On: 2011-11-02 13:47:03.362540 Event: Terminate
-On: 2011-11-02 13:47:03.362575 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:49:54.093310 ------------------
-On: 2011-11-02 13:49:54.114118 Event: try to Connect to Controller
-On: 2011-11-02 13:49:55.242831 Event: init state
-On: 2011-11-02 13:49:55.243108 Event: Register Account to SIP server
-On: 2011-11-02 13:49:55.243622 Event: 100
-On: 2011-11-02 13:49:55.243709 Event: Caller Handler Ready
-On: 2011-11-02 13:50:03.260053 Event: Terminate
-On: 2011-11-02 13:50:03.260086 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:53:42.348688 ------------------
-On: 2011-11-02 13:53:42.369452 Event: try to Connect to Controller
-On: 2011-11-02 13:53:43.605577 Event: init state
-On: 2011-11-02 13:53:43.605815 Event: Register Account to SIP server
-On: 2011-11-02 13:53:43.606451 Event: 100
-On: 2011-11-02 13:53:43.606548 Event: Caller Handler Ready
-On: 2011-11-02 13:53:48.733681 Event: CALL START
-On: 2011-11-02 13:53:48.733737 Event: Make a call to: 4661449
-On: 2011-11-02 13:53:51.476655 Event: Call Connecting
-On: 2011-11-02 13:53:51.476701 Event: 200
-On: 2011-11-02 13:53:51.530608 Event: Terminate
-On: 2011-11-02 13:53:51.530644 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:54:30.959589 ------------------
-On: 2011-11-02 13:54:30.980293 Event: try to Connect to Controller
-On: 2011-11-02 13:54:32.185567 Event: init state
-On: 2011-11-02 13:54:32.185801 Event: Register Account to SIP server
-On: 2011-11-02 13:54:32.186437 Event: 100
-On: 2011-11-02 13:54:32.186535 Event: Caller Handler Ready
-On: 2011-11-02 13:54:40.197576 Event: Terminate
-On: 2011-11-02 13:54:40.197617 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:55:22.243802 ------------------
-On: 2011-11-02 13:55:22.264099 Event: try to Connect to Controller
-On: 2011-11-02 13:55:23.495036 Event: init state
-On: 2011-11-02 13:55:23.495323 Event: Register Account to SIP server
-On: 2011-11-02 13:55:23.495746 Event: 100
-On: 2011-11-02 13:55:23.495832 Event: Caller Handler Ready
-On: 2011-11-02 13:55:31.510670 Event: Terminate
-On: 2011-11-02 13:55:31.510713 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 13:57:19.152247 ------------------
-On: 2011-11-02 13:57:19.172630 Event: try to Connect to Controller
-On: 2011-11-02 13:57:20.445234 Event: init state
-On: 2011-11-02 13:57:20.445479 Event: Register Account to SIP server
-On: 2011-11-02 13:57:20.445898 Event: 100
-On: 2011-11-02 13:57:20.446462 Event: Receiver Handler Ready
-On: 2011-11-02 13:57:20.446538 Event: RECEIVE START
-On: 2011-11-02 13:57:23.477887 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 13:57:23.478625 Event: Call Connecting
-On: 2011-11-02 13:57:23.478674 Event: 200
-On: 2011-11-02 13:57:23.478931 Event: Answer call
-On: 2011-11-02 13:57:23.478985 Event: Hangup call
-On: 2011-11-02 13:57:23.479158 Event: CALL OK
-On: 2011-11-02 13:57:23.501187 Event: Terminate
-On: 2011-11-02 13:57:23.501245 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:03:43.211652 ------------------
-On: 2011-11-02 14:03:43.232492 Event: try to Connect to Controller
-On: 2011-11-02 14:03:44.471302 Event: init state
-On: 2011-11-02 14:03:44.471546 Event: Register Account to SIP server
-On: 2011-11-02 14:03:44.471975 Event: 100
-On: 2011-11-02 14:03:44.472069 Event: Caller Handler Ready
-On: 2011-11-02 14:03:52.495069 Event: Terminate
-On: 2011-11-02 14:03:52.495104 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:05:54.732152 ------------------
-On: 2011-11-02 14:05:54.752277 Event: try to Connect to Controller
-On: 2011-11-02 14:05:56.031274 Event: init state
-On: 2011-11-02 14:05:56.031553 Event: Register Account to SIP server
-On: 2011-11-02 14:05:56.032000 Event: 100
-On: 2011-11-02 14:05:56.032086 Event: Receiver Handler Ready
-On: 2011-11-02 14:05:56.032446 Event: RECEIVE START
-On: 2011-11-02 14:05:59.052662 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 14:05:59.053160 Event: Call Connecting
-On: 2011-11-02 14:05:59.053201 Event: 200
-On: 2011-11-02 14:05:59.053456 Event: Answer call
-On: 2011-11-02 14:05:59.053509 Event: Hangup call
-On: 2011-11-02 14:05:59.053681 Event: CALL OK
-On: 2011-11-02 14:05:59.078619 Event: Terminate
-On: 2011-11-02 14:05:59.078653 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:19:05.685645 ------------------
-On: 2011-11-02 14:19:05.705862 Event: try to Connect to Controller
-On: 2011-11-02 14:19:06.958721 Event: init state
-On: 2011-11-02 14:19:06.958987 Event: Register Account to SIP server
-On: 2011-11-02 14:19:06.959412 Event: 100
-On: 2011-11-02 14:19:06.959499 Event: Caller Handler Ready
-On: 2011-11-02 14:19:12.101982 Event: CALL START
-On: 2011-11-02 14:19:12.102037 Event: Make a call to: 4661449
-On: 2011-11-02 14:19:14.468853 Event: Call Connecting
-On: 2011-11-02 14:19:14.468903 Event: 200
-On: 2011-11-02 14:19:14.538497 Event: Terminate
-On: 2011-11-02 14:19:14.538533 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:27:15.189851 ------------------
-On: 2011-11-02 14:27:15.210419 Event: try to Connect to Controller
-On: 2011-11-02 14:27:16.477507 Event: init state
-On: 2011-11-02 14:27:16.477772 Event: Register Account to SIP server
-On: 2011-11-02 14:27:16.478257 Event: 100
-On: 2011-11-02 14:27:16.478343 Event: Caller Handler Ready
-On: 2011-11-02 14:27:21.625629 Event: CALL START
-On: 2011-11-02 14:27:21.625684 Event: Make a call to: 4661449
-On: 2011-11-02 14:27:24.065565 Event: Call Connecting
-On: 2011-11-02 14:27:24.065612 Event: 200
-On: 2011-11-02 14:27:24.106485 Event: Terminate
-On: 2011-11-02 14:27:24.106520 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:30:30.999802 ------------------
-On: 2011-11-02 14:30:31.020207 Event: try to Connect to Controller
-On: 2011-11-02 14:30:32.271010 Event: init state
-On: 2011-11-02 14:30:32.271277 Event: Register Account to SIP server
-On: 2011-11-02 14:30:32.271702 Event: 100
-On: 2011-11-02 14:30:32.271789 Event: Caller Handler Ready
-On: 2011-11-02 14:30:40.286270 Event: Terminate
-On: 2011-11-02 14:30:40.286323 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:32:26.481033 ------------------
-On: 2011-11-02 14:32:26.501528 Event: try to Connect to Controller
-On: 2011-11-02 14:32:27.770428 Event: init state
-On: 2011-11-02 14:32:27.770680 Event: Register Account to SIP server
-On: 2011-11-02 14:32:27.771106 Event: 100
-On: 2011-11-02 14:32:27.771194 Event: Receiver Handler Ready
-On: 2011-11-02 14:32:27.771551 Event: RECEIVE START
-On: 2011-11-02 14:32:30.802317 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 14:32:30.802882 Event: Call Connecting
-On: 2011-11-02 14:32:30.802926 Event: 200
-On: 2011-11-02 14:32:30.803174 Event: Answer call
-On: 2011-11-02 14:32:30.803226 Event: Hangup call
-On: 2011-11-02 14:32:30.803398 Event: CALL OK
-On: 2011-11-02 14:32:30.827196 Event: Terminate
-On: 2011-11-02 14:32:30.827254 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:35:02.895456 ------------------
-On: 2011-11-02 14:35:02.915608 Event: try to Connect to Controller
-On: 2011-11-02 14:35:04.111795 Event: init state
-On: 2011-11-02 14:35:04.112038 Event: Register Account to SIP server
-On: 2011-11-02 14:35:04.112461 Event: 100
-On: 2011-11-02 14:35:04.112545 Event: Caller Handler Ready
-On: 2011-11-02 14:35:12.120977 Event: Terminate
-On: 2011-11-02 14:35:12.121017 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:37:12.317779 ------------------
-On: 2011-11-02 14:37:12.339202 Event: try to Connect to Controller
-On: 2011-11-02 14:37:13.447045 Event: init state
-On: 2011-11-02 14:37:13.447281 Event: Register Account to SIP server
-On: 2011-11-02 14:37:13.448067 Event: 100
-On: 2011-11-02 14:37:13.448156 Event: Receiver Handler Ready
-On: 2011-11-02 14:37:13.448522 Event: RECEIVE START
-On: 2011-11-02 14:37:16.494229 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 14:37:16.494746 Event: Call Connecting
-On: 2011-11-02 14:37:16.494788 Event: 200
-On: 2011-11-02 14:37:16.495046 Event: Answer call
-On: 2011-11-02 14:37:16.495099 Event: Hangup call
-On: 2011-11-02 14:37:16.495273 Event: CALL OK
-On: 2011-11-02 14:37:16.513845 Event: Terminate
-On: 2011-11-02 14:37:16.513880 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:51:58.755201 ------------------
-On: 2011-11-02 14:51:58.811711 Event: try to Connect to Controller
-On: 2011-11-02 14:51:59.795314 Event: init state
-On: 2011-11-02 14:51:59.795589 Event: Register Account to SIP server
-On: 2011-11-02 14:51:59.796397 Event: 100
-On: 2011-11-02 14:51:59.796480 Event: Caller Handler Ready
-On: 2011-11-02 14:52:07.817810 Event: Terminate
-On: 2011-11-02 14:52:07.817845 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 14:53:55.385244 ------------------
-On: 2011-11-02 14:53:55.407293 Event: try to Connect to Controller
-On: 2011-11-02 14:53:56.693469 Event: init state
-On: 2011-11-02 14:53:56.693707 Event: Register Account to SIP server
-On: 2011-11-02 14:53:56.694517 Event: 100
-On: 2011-11-02 14:53:56.694603 Event: Receiver Handler Ready
-On: 2011-11-02 14:53:56.694970 Event: RECEIVE START
-On: 2011-11-02 14:53:59.710387 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 14:53:59.710892 Event: Call Connecting
-On: 2011-11-02 14:53:59.710933 Event: 200
-On: 2011-11-02 14:53:59.711219 Event: Answer call
-On: 2011-11-02 14:53:59.711275 Event: Hangup call
-On: 2011-11-02 14:53:59.711449 Event: CALL OK
-On: 2011-11-02 14:53:59.725357 Event: Terminate
-On: 2011-11-02 14:53:59.725412 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:34:56.087325 ------------------
-On: 2011-11-02 15:34:56.108319 Event: try to Connect to Controller
-On: 2011-11-02 15:34:57.371075 Event: init state
-On: 2011-11-02 15:34:57.371308 Event: Register Account to SIP server
-On: 2011-11-02 15:34:57.371727 Event: 100
-On: 2011-11-02 15:34:57.371813 Event: Receiver Handler Ready
-On: 2011-11-02 15:34:57.372122 Event: RECEIVE START
-On: 2011-11-02 15:35:00.412967 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 15:35:00.413468 Event: Call Connecting
-On: 2011-11-02 15:35:00.413508 Event: 200
-On: 2011-11-02 15:35:00.413765 Event: Answer call
-On: 2011-11-02 15:35:00.413818 Event: Hangup call
-On: 2011-11-02 15:35:00.414057 Event: CALL OK
-On: 2011-11-02 15:35:00.429164 Event: Terminate
-On: 2011-11-02 15:35:00.429207 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:35:26.593366 ------------------
-On: 2011-11-02 15:35:26.614971 Event: try to Connect to Controller
-On: 2011-11-02 15:35:27.874328 Event: init state
-On: 2011-11-02 15:35:27.874575 Event: Register Account to SIP server
-On: 2011-11-02 15:35:27.875015 Event: 100
-On: 2011-11-02 15:35:27.875097 Event: Receiver Handler Ready
-On: 2011-11-02 15:35:27.875524 Event: RECEIVE START
-On: 2011-11-02 15:35:30.916973 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 15:35:30.917478 Event: Call Connecting
-On: 2011-11-02 15:35:30.917517 Event: 200
-On: 2011-11-02 15:35:30.918210 Event: Answer call
-On: 2011-11-02 15:35:30.918297 Event: Hangup call
-On: 2011-11-02 15:35:30.918480 Event: CALL OK
-On: 2011-11-02 15:35:30.947633 Event: Terminate
-On: 2011-11-02 15:35:30.947668 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:40:29.126667 ------------------
-On: 2011-11-02 15:40:29.147539 Event: try to Connect to Controller
-On: 2011-11-02 15:40:30.313229 Event: init state
-On: 2011-11-02 15:40:30.313469 Event: Register Account to SIP server
-On: 2011-11-02 15:40:30.313892 Event: 100
-On: 2011-11-02 15:40:30.314022 Event: Receiver Handler Ready
-On: 2011-11-02 15:40:30.314348 Event: RECEIVE START
-On: 2011-11-02 15:40:33.348098 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 15:40:33.348615 Event: Call Connecting
-On: 2011-11-02 15:40:33.348657 Event: 200
-On: 2011-11-02 15:40:33.348911 Event: Answer call
-On: 2011-11-02 15:40:33.348966 Event: Hangup call
-On: 2011-11-02 15:40:33.349139 Event: CALL OK
-On: 2011-11-02 15:40:33.368978 Event: Terminate
-On: 2011-11-02 15:40:33.369035 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:47:26.766784 ------------------
-On: 2011-11-02 15:47:26.789357 Event: try to Connect to Controller
-On: 2011-11-02 15:47:27.977813 Event: init state
-On: 2011-11-02 15:47:27.978090 Event: Register Account to SIP server
-On: 2011-11-02 15:47:27.978512 Event: 100
-On: 2011-11-02 15:47:27.978592 Event: Receiver Handler Ready
-On: 2011-11-02 15:47:27.982049 Event: RECEIVE START
-On: 2011-11-02 15:47:29.146862 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-11-02 15:47:29.147418 Event: Call Connecting
-On: 2011-11-02 15:47:29.147462 Event: 200
-On: 2011-11-02 15:47:29.147715 Event: Answer call
-On: 2011-11-02 15:47:29.147767 Event: Hangup call
-On: 2011-11-02 15:47:29.147941 Event: CALL OK
-On: 2011-11-02 15:47:29.249115 Event: Call Disconnected
-On: 2011-11-02 15:47:30.563922 Event: Terminate
-On: 2011-11-02 15:47:30.563957 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:47:42.599027 ------------------
-On: 2011-11-02 15:47:42.619945 Event: try to Connect to Controller
-On: 2011-11-02 15:47:43.855037 Event: init state
-On: 2011-11-02 15:47:43.855265 Event: Register Account to SIP server
-On: 2011-11-02 15:47:43.855712 Event: 100
-On: 2011-11-02 15:47:43.855796 Event: Receiver Handler Ready
-On: 2011-11-02 15:47:43.856401 Event: RECEIVE START
-On: 2011-11-02 15:47:45.389201 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-02 15:47:45.389740 Event: Call Connecting
-On: 2011-11-02 15:47:45.389782 Event: 200
-On: 2011-11-02 15:47:45.390083 Event: Answer call
-On: 2011-11-02 15:47:45.390142 Event: Hangup call
-On: 2011-11-02 15:47:45.390319 Event: CALL OK
-On: 2011-11-02 15:47:45.491534 Event: Call Disconnected
-On: 2011-11-02 15:47:46.903535 Event: Terminate
-On: 2011-11-02 15:47:46.903579 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 15:47:58.941032 ------------------
-On: 2011-11-02 15:47:58.962109 Event: try to Connect to Controller
-On: 2011-11-02 15:48:00.186033 Event: init state
-On: 2011-11-02 15:48:00.186278 Event: Register Account to SIP server
-On: 2011-11-02 15:48:00.187058 Event: 100
-On: 2011-11-02 15:48:00.187140 Event: Receiver Handler Ready
-On: 2011-11-02 15:48:00.187559 Event: RECEIVE START
-On: 2011-11-02 15:48:02.088441 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-11-02 15:48:02.088953 Event: Call Connecting
-On: 2011-11-02 15:48:02.088995 Event: 200
-On: 2011-11-02 15:48:02.089251 Event: Answer call
-On: 2011-11-02 15:48:02.089305 Event: Hangup call
-On: 2011-11-02 15:48:02.089481 Event: CALL OK
-On: 2011-11-02 15:48:02.190568 Event: Call Disconnected
-On: 2011-11-02 15:48:03.498222 Event: Terminate
-On: 2011-11-02 15:48:03.498268 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:11:22.071648 ------------------
-On: 2011-11-02 16:11:22.092610 Event: try to Connect to Controller
-On: 2011-11-02 16:11:23.119801 Event: init state
-On: 2011-11-02 16:11:23.120099 Event: Register Account to SIP server
-On: 2011-11-02 16:11:23.120524 Event: 100
-On: 2011-11-02 16:11:23.120611 Event: Caller Handler Ready
-On: 2011-11-02 16:11:34.349998 Event: CALL START
-On: 2011-11-02 16:11:34.350066 Event: Make a call to: 4661473
-On: 2011-11-02 16:11:36.706100 Event: Call Connecting
-On: 2011-11-02 16:11:36.706150 Event: 200
-On: 2011-11-02 16:11:36.743636 Event: Terminate
-On: 2011-11-02 16:11:36.743673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:16:55.863344 ------------------
-On: 2011-11-02 16:16:55.884274 Event: try to Connect to Controller
-On: 2011-11-02 16:16:57.039411 Event: init state
-On: 2011-11-02 16:16:57.039646 Event: Register Account to SIP server
-On: 2011-11-02 16:16:57.040065 Event: 100
-On: 2011-11-02 16:16:57.040152 Event: Receiver Handler Ready
-On: 2011-11-02 16:16:57.040414 Event: RECEIVE START
-On: 2011-11-02 16:16:58.601527 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-02 16:16:58.602101 Event: Call Connecting
-On: 2011-11-02 16:16:58.602146 Event: 200
-On: 2011-11-02 16:16:58.602392 Event: Answer call
-On: 2011-11-02 16:16:58.602443 Event: Hangup call
-On: 2011-11-02 16:16:58.602617 Event: CALL OK
-On: 2011-11-02 16:16:58.703752 Event: Call Disconnected
-On: 2011-11-02 16:17:00.149066 Event: Terminate
-On: 2011-11-02 16:17:00.149113 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:17:40.622328 ------------------
-On: 2011-11-02 16:17:40.643747 Event: try to Connect to Controller
-On: 2011-11-02 16:17:41.724320 Event: init state
-On: 2011-11-02 16:17:41.724586 Event: Register Account to SIP server
-On: 2011-11-02 16:17:41.725011 Event: 100
-On: 2011-11-02 16:17:41.725094 Event: Receiver Handler Ready
-On: 2011-11-02 16:17:41.725446 Event: RECEIVE START
-On: 2011-11-02 16:17:44.742077 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 16:17:44.742591 Event: Call Connecting
-On: 2011-11-02 16:17:44.742631 Event: 200
-On: 2011-11-02 16:17:44.742913 Event: Answer call
-On: 2011-11-02 16:17:44.742970 Event: Hangup call
-On: 2011-11-02 16:17:44.743144 Event: CALL OK
-On: 2011-11-02 16:17:44.797715 Event: Terminate
-On: 2011-11-02 16:17:44.797771 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 16:22:27.727656 ------------------
-On: 2011-11-02 16:22:27.776466 Event: try to Connect to Controller
-On: 2011-11-02 16:22:28.579213 Event: init state
-On: 2011-11-02 16:22:28.579450 Event: Register Account to SIP server
-On: 2011-11-02 16:22:28.580225 Event: 100
-On: 2011-11-02 16:22:28.580310 Event: Caller Handler Ready
-On: 2011-11-02 16:22:39.819064 Event: CALL START
-On: 2011-11-02 16:22:39.819152 Event: Make a call to: 4661455
-On: 2011-11-02 16:22:42.329386 Event: Call Connecting
-On: 2011-11-02 16:22:42.329435 Event: 200
-On: 2011-11-02 16:22:42.414794 Event: Terminate
-On: 2011-11-02 16:22:42.414830 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:13:53.184412 ------------------
-On: 2011-11-02 17:13:53.209874 Event: try to Connect to Controller
-On: 2011-11-02 17:13:54.377243 Event: init state
-On: 2011-11-02 17:13:54.377479 Event: Register Account to SIP server
-On: 2011-11-02 17:13:54.377901 Event: 100
-On: 2011-11-02 17:13:54.378028 Event: Receiver Handler Ready
-On: 2011-11-02 17:13:54.378395 Event: RECEIVE START
-On: 2011-11-02 17:13:57.410694 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 17:13:57.411202 Event: Call Connecting
-On: 2011-11-02 17:13:57.411244 Event: 200
-On: 2011-11-02 17:13:57.411499 Event: Answer call
-On: 2011-11-02 17:13:57.411553 Event: Hangup call
-On: 2011-11-02 17:13:57.411726 Event: CALL OK
-On: 2011-11-02 17:13:57.424688 Event: Terminate
-On: 2011-11-02 17:13:57.424724 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:15:50.205598 ------------------
-On: 2011-11-02 17:15:50.231267 Event: try to Connect to Controller
-On: 2011-11-02 17:15:51.395034 Event: init state
-On: 2011-11-02 17:15:51.395267 Event: Register Account to SIP server
-On: 2011-11-02 17:15:51.395690 Event: 100
-On: 2011-11-02 17:15:51.395775 Event: Receiver Handler Ready
-On: 2011-11-02 17:15:51.398046 Event: RECEIVE START
-On: 2011-11-02 17:15:53.617527 Event: {Call "RZ-GSM" <sip:4661449@132.230.252.228>}
-On: 2011-11-02 17:15:53.618111 Event: Call Connecting
-On: 2011-11-02 17:15:53.618157 Event: 200
-On: 2011-11-02 17:15:53.618404 Event: Answer call
-On: 2011-11-02 17:15:53.618456 Event: Hangup call
-On: 2011-11-02 17:15:53.618625 Event: CALL OK
-On: 2011-11-02 17:15:53.719732 Event: Call Disconnected
-On: 2011-11-02 17:15:54.454452 Event: Terminate
-On: 2011-11-02 17:15:54.454487 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:06.497993 ------------------
-On: 2011-11-02 17:16:06.519286 Event: try to Connect to Controller
-On: 2011-11-02 17:16:07.724334 Event: init state
-On: 2011-11-02 17:16:07.724565 Event: Register Account to SIP server
-On: 2011-11-02 17:16:07.724992 Event: 100
-On: 2011-11-02 17:16:07.725077 Event: Receiver Handler Ready
-On: 2011-11-02 17:16:07.725342 Event: RECEIVE START
-On: 2011-11-02 17:16:09.644780 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-02 17:16:09.645286 Event: Call Connecting
-On: 2011-11-02 17:16:09.645326 Event: 200
-On: 2011-11-02 17:16:09.645582 Event: Answer call
-On: 2011-11-02 17:16:09.645636 Event: Hangup call
-On: 2011-11-02 17:16:09.645810 Event: CALL OK
-On: 2011-11-02 17:16:09.746922 Event: Call Disconnected
-On: 2011-11-02 17:16:11.139974 Event: Terminate
-On: 2011-11-02 17:16:11.140018 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:16:23.208955 ------------------
-On: 2011-11-02 17:16:23.230242 Event: try to Connect to Controller
-On: 2011-11-02 17:16:24.443067 Event: init state
-On: 2011-11-02 17:16:24.443296 Event: Register Account to SIP server
-On: 2011-11-02 17:16:24.444079 Event: 100
-On: 2011-11-02 17:16:24.444164 Event: Receiver Handler Ready
-On: 2011-11-02 17:16:24.444575 Event: RECEIVE START
-On: 2011-11-02 17:16:26.355456 Event: {Call "RZ-GSM" <sip:4661455@132.230.252.228>}
-On: 2011-11-02 17:16:26.355967 Event: Call Connecting
-On: 2011-11-02 17:16:26.356008 Event: 200
-On: 2011-11-02 17:16:26.356260 Event: Answer call
-On: 2011-11-02 17:16:26.356314 Event: Hangup call
-On: 2011-11-02 17:16:26.356487 Event: CALL OK
-On: 2011-11-02 17:16:26.457589 Event: Call Disconnected
-On: 2011-11-02 17:16:27.764105 Event: Terminate
-On: 2011-11-02 17:16:27.764151 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:03.159368 ------------------
-On: 2011-11-02 17:38:03.179442 Event: try to Connect to Controller
-On: 2011-11-02 17:38:04.474611 Event: init state
-On: 2011-11-02 17:38:04.474839 Event: Register Account to SIP server
-On: 2011-11-02 17:38:04.475246 Event: 100
-On: 2011-11-02 17:38:04.475324 Event: Receiver Handler Ready
-On: 2011-11-02 17:38:04.475575 Event: RECEIVE START
-On: 2011-11-02 17:38:06.149309 Event: {Call "RZ-GSM" <sip:4661473@132.230.252.228>}
-On: 2011-11-02 17:38:06.149798 Event: Call Connecting
-On: 2011-11-02 17:38:06.149838 Event: 200
-On: 2011-11-02 17:38:06.150130 Event: Answer call
-On: 2011-11-02 17:38:06.150188 Event: Hangup call
-On: 2011-11-02 17:38:06.150359 Event: CALL OK
-On: 2011-11-02 17:38:06.251430 Event: Call Disconnected
-On: 2011-11-02 17:38:07.490663 Event: Terminate
-On: 2011-11-02 17:38:07.490708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 17:38:48.575910 ------------------
-On: 2011-11-02 17:38:48.596484 Event: try to Connect to Controller
-On: 2011-11-02 17:38:49.857556 Event: init state
-On: 2011-11-02 17:38:49.857807 Event: Register Account to SIP server
-On: 2011-11-02 17:38:49.858637 Event: 100
-On: 2011-11-02 17:38:49.858715 Event: Receiver Handler Ready
-On: 2011-11-02 17:38:49.859100 Event: RECEIVE START
-On: 2011-11-02 17:38:52.897878 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-11-02 17:38:52.898451 Event: Call Connecting
-On: 2011-11-02 17:38:52.898494 Event: 200
-On: 2011-11-02 17:38:52.898737 Event: Answer call
-On: 2011-11-02 17:38:52.898788 Event: Hangup call
-On: 2011-11-02 17:38:52.898953 Event: CALL OK
-On: 2011-11-02 17:38:52.925715 Event: Terminate
-On: 2011-11-02 17:38:52.925749 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-11-02 18:27:25.753912 ------------------
-On: 2011-11-02 18:27:25.778840 Event: try to Connect to Controller
-On: 2011-11-02 18:27:26.867205 Event: init state
-On: 2011-11-02 18:27:26.867442 Event: Register Account to SIP server
-On: 2011-11-02 18:27:26.867868 Event: 100
-On: 2011-11-02 18:27:26.867953 Event: Caller Handler Ready
-On: 2011-11-02 18:27:38.065844 Event: CALL START
-On: 2011-11-02 18:27:38.065907 Event: Make a call to: 4661473
-On: 2011-11-02 18:27:45.405726 Event: Call Connecting
-On: 2011-11-02 18:27:45.405774 Event: 200
-On: 2011-11-02 18:27:45.481611 Event: Terminate
-On: 2011-11-02 18:27:45.481646 Event: Goodbye
diff --git a/For Weekly Test/tricode/callorigTest.py b/For Weekly Test/tricode/callorigTest.py
deleted file mode 100644
index 13c0561..0000000
--- a/For Weekly Test/tricode/callorigTest.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# $Id$
-#
-# SIP call sample.
-#
-# Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-import sys
-import pjsua as pj
-
-LOG_LEVEL=3
-current_call = None
-
-# Logging callback
-def log_cb(level, str, len):
- print str,
-
-
-# Callback to receive events from account
-class MyAccountCallback(pj.AccountCallback):
-
- def __init__(self, account=None):
- pj.AccountCallback.__init__(self, account)
-
- # Notification on incoming call
- def on_incoming_call(self, call):
- global current_call
- if current_call:
- call.answer(486, "Busy")
- return
-
- print "Incoming call from ", call.info().remote_uri
- print "Press 'a' to answer"
-
- current_call = call
-
- call_cb = MyCallCallback(current_call)
- current_call.set_callback(call_cb)
-
- current_call.answer(180)
-
-
-# Callback to receive events from Call
-class MyCallCallback(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- # Notification when call state has changed
- def on_state(self):
- global current_call
- print "Call with", self.call.info().remote_uri,
- print "is", self.call.info().state_text,
- print "last code =", self.call.info().last_code,
- print "(" + self.call.info().last_reason + ")"
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- current_call = None
- print 'Current call is', current_call
-
- # Notification when call's media state has changed.
- def on_media_state(self):
- if self.call.info().media_state == pj.MediaState.ACTIVE:
- # Connect the call to sound device
- call_slot = self.call.info().conf_slot
- pj.Lib.instance().conf_connect(call_slot, 0)
- pj.Lib.instance().conf_connect(0, call_slot)
- print "Media is now active"
- else:
- print "Media is inactive"
-
-# Function to make call
-def make_call(uri):
- try:
- print "Making call to", uri
- return acc.make_call(uri, cb=MyCallCallback())
- except pj.Error, e:
- print "Exception: " + str(e)
- return None
-
-
-# Create library instance
-lib = pj.Lib()
-
-try:
- # Init library with default config and some customized
- # logging config.
- lib.init(log_cfg = pj.LogConfig(level=LOG_LEVEL, callback=log_cb))
-
- # Create UDP transport which listens to any available port
- transport = lib.create_transport(pj.TransportType.UDP,
- pj.TransportConfig(0))
- print "\nListening on", transport.info().host,
- print "port", transport.info().port, "\n"
-
- # Start the library
- lib.start()
- lib.set_null_snd_dev()
-
- # Create local account
- acc_cfg = pj.AccountConfig("132.230.4.8", "mpselftest1", "1mpselftest")
- #acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397898", "itzEfmLkzvS9")
- acc = lib.create_account(acc_cfg, cb=MyAccountCallback())
-
- # If argument is specified then make call to the URI
- if len(sys.argv) > 1:
- lck = lib.auto_lock()
- current_call = make_call(sys.argv[1])
- print 'Current call is', current_call
- del lck
-
- my_sip_uri = "sip:" + transport.info().host + \
- ":" + str(transport.info().port)
-
- # Menu loop
- while True:
- print "My SIP URI is", my_sip_uri
- print "Menu: m=make call, h=hangup call, a=answer call, q=quit"
-
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "m":
- if current_call:
- print "Already have another call"
- continue
- print "Enter destination URI to call: ",
- input = sys.stdin.readline().rstrip("\r\n")
- if input == "":
- continue
- lck = lib.auto_lock()
- current_call = make_call("sip:"+input+"@132.230.4.8")
- del lck
-
- elif input == "h":
- if not current_call:
- print "There is no call"
- continue
- current_call.hangup()
-
- elif input == "a":
- if not current_call:
- print "There is no call"
- continue
- current_call.answer(200)
-
- elif input == "q":
- break
-
- # Shutdown the library
- transport = None
- acc.delete()
- acc = None
- lib.destroy()
- lib = None
-
-except pj.Error, e:
- print "Exception: " + str(e)
- lib.destroy()
- lib = None
-
diff --git a/For Weekly Test/tricode/css/layout.css b/For Weekly Test/tricode/css/layout.css
deleted file mode 100644
index 9ea3034..0000000
--- a/For Weekly Test/tricode/css/layout.css
+++ /dev/null
@@ -1,15 +0,0 @@
-* {
-margin: 0;
-}
-html, body {
-height: 100%;
-}
-.wrapper {
-min-height: 100%;
-height: auto !important;
-height: 100%;
-margin: 0 auto -4em;
-}
-.footer, .push {
-height: 4em;
-} \ No newline at end of file
diff --git a/For Weekly Test/tricode/devconf.html b/For Weekly Test/tricode/devconf.html
deleted file mode 100644
index 70b8439..0000000
--- a/For Weekly Test/tricode/devconf.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
- <title>GSM selftest Software</title>
- <meta name="generator" content="BBEdit 9.6" />
- <link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body background="Images/BackGround.jpg">
-
-<FORM name="testForm" form action="devconf.php" method="POST">
- <table style="width:50%; margin:auto" border="0">
- <tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Log Out</font></td>
- </tr>
-
- <tr>
-
- <td height="45px" align="right"><a class="tooltip" href="#">
- <INPUT type="image" value="Smart test" name="smart" src="Images/AutoIcon.png">
- <span class="custom warning"><img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Automatic Configuration</em> To make Automatic configuration of the devices</span></a>
- </td>
- <td>
- </td>
- <td height="45px" align="left"><a class="tooltip" href="#">
- <INPUT type="image" value="Smart test" name="smart" src="Images/ManualIcon.png">
- <span class="custom warning"><img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Manual Configuration</em> Manual configuration of the devices</span></a>
- </td>
-
- </tr>
- <tr height="50px">dsfsfdsf
- </tr>
- </FORM>
- <tr>
- <table style="width:50%; margin:auto" border="0">
- <tr>
- <td height="100px" width ="100px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- <form name="myform" action="mutexTry.php" method="POST">
- <input type="radio" name="device" value="RZ" /> RZ GSM 1<br>
- <input type="radio" name="device" value="EPlus" /> E-Plus<br>
- <input type="radio" name="device" value="O2" /> O2<br>
- <input type="radio" name="device" value="Vodaphone" /> Vodaphone<br>
- <input type="radio" name="device" value="T-Mobile" /> T-Mobile<br>
- </form>
- </font>
- </td>
- <td height="100px" width ="70px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- Port Number<br>
- IMEI<br>
- Number<br>
- </font>
- </td>
- <td height="100px" width ="80px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- : <input type="text" name="portname" /></br>
- : <input type="text" name="imei" /><br>
- : <input type="text" name="number" /><br>
- </font>
- </td>
- <td height="100px" width ="50px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- <INPUT type="image" value="submit" name="submit" src="Images/SubmitButton.png"><br />
- </font>
- </td>
-
- </form>
- </tr>
- </table>
- </tr>
-
- <tr>
- <td height="200px" align="center"></td>
- <td height="200px" align="center"></td>
- <td height="200px" align="center"></td>
- </tr>
-
- <tr>
- <table style="width:100%; margin-top: -10px; height: 140px; align: center" border="0">
- <tr>
- <td height="100px" align="center" valign="bottom"><font size="1" face="Century Gothic" color="LightGray">Albert-Ludwig University of Freiburg 2011</td>
- </tr>
- </table>
- </tr>
- </table>
-
-
-</body>
-</html>
diff --git a/For Weekly Test/tricode/devconf.php b/For Weekly Test/tricode/devconf.php
deleted file mode 100644
index 2f5bc00..0000000
--- a/For Weekly Test/tricode/devconf.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
-//include 'insertData.php'; //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
- //include 'post.php'; // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(2500);
- fclose($startApp);
- }
-
- //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
- sleep(6); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
-
- fwrite($fp, "UPDATE DEVICE"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
-
- echo 'Device update automaticaly';
- }
- elseif ($received == "TEST DONE\n")
- {
-
- echo 'Update device is done';
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
-
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/For Weekly Test/tricode/devconfigManual.php b/For Weekly Test/tricode/devconfigManual.php
deleted file mode 100644
index bcb8eb5..0000000
--- a/For Weekly Test/tricode/devconfigManual.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-
-<head>
- <title>GSM selftest Software</title>
- <meta name="generator" content="BBEdit 9.6" />
- <link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body background="Images/BackGround.jpg">
-
-<!--<FORM name="testForm" form action="devconf.php" method="POST">-->
- <table style="width:50%; margin:auto" border="0">
- <tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
- </tr>
-
- <tr>
-
- <td height="45px" align="right">
- <a href="devconfigAuto.php" STYLE="TEXT-DECORATION: NONE"> <img src="Images/AutoIcon.png"></img></a>
- </td>
- <td>
- </td>
- <td height="45px" align="left">
- <a href="devconfigManual.php" STYLE="TEXT-DECORATION: NONE"> <img src="Images/ManualIcon.png"></img></a>
-
- </td>
-
- </tr>
- <tr height="50px">
- </tr>
- <!--</FORM>-->
- <tr>
- <?php include("main.php"); ?>
- </tr>
-
- <tr>
- <td height="200px" align="center"></td>
- <td height="200px" align="center"><?php $message ?></td>
- <td height="200px" align="center"></td>
- </tr>
-
- <tr>
- <table style="width:100%; margin-top: -10px; height: 300px; align: center" valign="bottom" border="0">
- <tr>
- <td height="100px" align="center" valign="bottom"><font size="1" face="Century Gothic" color="LightGray">Albert-Ludwig University of Freiburg 2011</td>
- </tr>
- </table>
- </tr>
- </table>
-
-
-</body>
-</html>
diff --git a/For Weekly Test/tricode/gsmselftest-website2.py b/For Weekly Test/tricode/gsmselftest-website2.py
deleted file mode 100755
index 71c7c03..0000000
--- a/For Weekly Test/tricode/gsmselftest-website2.py
+++ /dev/null
@@ -1,537 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-import ServerClassSoftware
-import signal
-from time import sleep
-
-class bcolors:
- HEADER = '\033[95m'
- OKBLUE = '\033[94m'
- OKGREEN = '\033[92m'
- WARNING = '\033[93m'
- FAIL = '\033[91m'
- ENDC = '\033[0m'
-
- def disable(self):
- self.HEADER = ''
- self.OKBLUE = ''
- self.OKGREEN = ''
- self.WARNING = ''
- self.FAIL = ''
- self.ENDC = ''
-class TimeoutException(Exception):
- pass
-
-global resultsList
-resultsList = list()
-
-def timeout_handler(signum, frame):
- raise TimeoutException()
-
-def allPing(): #ping all existing devices
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- serverAdd = db.deviceAddress(str('landline'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipGate = server.ping(2)
-
- serverAdd = db.deviceAddress(str('sip'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipServer = server.ping(2)
-
- serverAdd = db.deviceAddress(str('unisip'))
- server = PingClass.Ping(str(serverAdd[4]))
- unisip = server.ping(2)
-
- serverAdd = db.deviceAddress(str('GSMRZ2'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox1 = server.ping(2)
-
- serverAdd = db.deviceAddress(str('GSMRZ3'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox2 = server.ping(2)
-
-def initDB(): # function for connection database
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- if dbStatus == 1:
- print 'Lock the mutex: ' + str(db.lockMutex(600))
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- global finalResult
- print '\n'
- openBSC = None
- asterikServer = None
- finalResult = list()
- for x in initResult.nanoBts:
- finalResult.append(x)
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- print bcolors.OKGREEN +name+ ' Working'+ bcolors.ENDC
-
- else:
- if int(x[1]) == 486:
- print bcolors.FAIL+name+ ' not Working' + bcolors.ENDC
- elif int(x[1]) == 200:
- print bcolors.OKGREEN +name+ ' Working'
- asterikServer = True
- elif int(x[1]) == 402:
- print bcolors.WARNING +name+ ' not Working need top up the credit'
- asterikServer = True
- elif int(x[1]) == 998 or int(x[1]) == 999:
- print bcolors.FAIL+name+ ' not Working, handler error'+ bcolors.ENDC
- else:
- print bcolors.OKGREEN +name+ ' not Working'+ bcolors.ENDC
-
- finalResult.append(['openBSC', openBSC])
- finalResult.append(['asterikServer', asterikServer])
-
- print ''
- if openBSC != None:
- if openBSC == True:
- print bcolors.OKGREEN +'openBSC working'+ bcolors.ENDC
- else:
- print bcolors.FAIL+'openBSC doesnt work'+ bcolors.ENDC
- print ''
-
- if initResult.asteriskServer == True or asterikServer == True:
- print bcolors.OKGREEN +'asterik server is working'+ bcolors.ENDC
- print ''
-
- if initResult.outGoingRZ == True:
- print bcolors.OKGREEN +'Outgoing call from RZ is working'+ bcolors.ENDC
- elif initResult.outGoingRZ == False:
- print bcolors.FAIL+'Outgoing call from RZ is not working'+ bcolors.ENDC
-
- if initResult.incomingRZ == True:
- print bcolors.OKGREEN +'incoming call from outside RZ to GSM RZ is working'+ bcolors.ENDC
- elif initResult.incomingRZ == False:
- print bcolors.FAIL+'incoming call from outside RZ to GSM RZ is not working'+ bcolors.ENDC
- print '\n'
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline', 'unisip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-def doIncomingTest(): #incoming call to RZ network
-
- destList = ['GSMRZ1','unisip', 'GSMRZ2','GSMRZ3']
- doTest = initTestClass.doTest()
- for callTo in destList:
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doIncomingTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest(x):
- initDB()
- allPing()
- db.updatePingResult('0', sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- if x == True:
- for messages in regulartest.messageList:
- sendResultWebsite(messages)
- print messages
- sleep(0.25)
- initTrueTable(regulartest.smartResultList)
- #for result in finalResult:
-
- # message = '|' + str(result[0]) + '|' + str(0) + '|' + str(result[1])+ '|' + str(0)
- # sendResultWebsite(message)
- # sleep(0.25)
- sendFinishMessage()
- initTrueTable(regulartest.smartResultList)
-
-def sendResultWebsite(message):
- if server.sendData(message+ chr(10)) == 1:
- print 'data sent successfully'
- test = server.receiveData(5)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- if test == 'CONTINUE':
- print 'continue'
-
-def sendFinishMessage():
- if server.connected == 1:
- server.sendData('TEST DONE\n')
- test = server.receiveData(5)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
- print 'release mutex says ', db.releaseMutex()
-
-def withDB(x):
-
- initDB()
- resultsList = list()
- if dbStatus == 1: # Checking connection to database
- if db.anyTasksToDo() == 1: # Checking task on the table
-
- allPing()
- i=0
- makeTest = initTestClass.doTest()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- if i == 0:
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- if int(makeTest.result) == 200:
- print bcolors.OKGREEN +'Result : ' +makeTest.result+ ' ' +db.errCode + bcolors.ENDC
- else:
- print bcolors.FAIL+'Result : ' +makeTest.result+ ' ' +db.errCode + bcolors.ENDC
-
- if x == True: # if x = True means that this function call by website
-
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(makeTest.result) + '|' + str(db.errCode)
- sendResultWebsite(message) # send result to website
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
- if x == True:
- sendFinishMessage() #send finish message to website and close the connection
-
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- db.closeDBConn()
- else:
- print bcolors.FAIL+"--- No job at all ---" + bcolors.ENDC
- db.closeDBConn()
- else:
- print bcolors.FAIL+'Cant connect to database'+ bcolors.ENDC
- sys.exit(1)
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print bcolors.FAIL+' == cant save device configuration, please fill IMEI / port name of the device =='+ bcolors.ENDC
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print bcolors.FAIL+'== error, device not found =='+ bcolors.ENDC
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print bcolors.OKGREEN +'== Device succeced added =='+ bcolors.ENDC
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print bcolors.WARNING+'== Device succeced added, but have different IMEI =='+ bcolors.ENDC
- else:
- print bcolors.FAIL+'== error, no device connected =='+ bcolors.ENDC
-
-def autoUpdateDevice(status):
- initDB()
- GSMListPrefix = list()
- GSMListPrefix = db.GSMPrefix()
- i = 0
- x = 0
- count = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
-
- i=i+1
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(15)
- try:
- findPort(portName)
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- count = count + 1
- message = "Timeout"
- #if status == True:
- # message = listNum[0]+' - /dev/'+portName+' - '+num+ ' update'
-
- if status == True:
- #if count != 0:
- # message = 'Found '+str(x)+' devices, with '+str(count)+' error'
- #else:
- # message = 'Found '+str(x)+' devices'
- #sendResultWebsite(messages)
- #sleep(5)
- sendFinishMessage()
- else:
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '6':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- else:
- print 'please choose between 1-6'
-
- if input == 'a': #automatic configuration
- autoUpdateDevice(False)
-
- if input == "q":
- break
- sys.exit()
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--incoming':
- resultsList = list()
- doIncomingTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest(False)
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--db':
- resultsList = list()
- withDB(False)
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
- global server
- global tried
-
- initDB() # should put db condition
- server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
- tried = server.openSocket(10)
-
- if tried == 'TIMEOUT':
- closeFunction(db,server)
-
- test = server.receiveData(10)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
- withDB(True)
-
- if test == 'SMART TEST':
- server.sendData('CONFIRM\n')
- print 'SMART TEST STARTED'
- resultsList = list()
- regularTest(True)
-
- if test == 'UPDATE DEVICE':
- server.sendData('CONFIRM\n')
- print 'UPDATE DEVICE STARTED'
- autoUpdateDevice(True)
- else:
- sys.exit('WE DIDN\'T RECEIVE THE CONFIRMATION')
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/tricode/gsmselftest-website3.py b/For Weekly Test/tricode/gsmselftest-website3.py
deleted file mode 100644
index 3bda2c5..0000000
--- a/For Weekly Test/tricode/gsmselftest-website3.py
+++ /dev/null
@@ -1,765 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-import ServerClassSoftware
-import signal
-import random
-from time import sleep
-
-class bcolors:
- HEADER = '\033[95m'
- OKBLUE = '\033[94m'
- OKGREEN = '\033[92m'
- WARNING = '\033[93m'
- FAIL = '\033[91m'
- ENDC = '\033[0m'
-
- def disable(self):
- self.HEADER = ''
- self.OKBLUE = ''
- self.OKGREEN = ''
- self.WARNING = ''
- self.FAIL = ''
- self.ENDC = ''
-class TimeoutException(Exception):
- pass
-
-global resultsList
-resultsList = list()
-global taskNo
-dbStatus = None
-global caller
-global callee
-
-def timeout_handler(signum, frame):
- raise TimeoutException()
-
-def allPing(): #ping all existing devices
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- serverAdd = db.deviceAddress(str('landline'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipGate = server.ping(1)
-
- serverAdd = db.deviceAddress(str('sip'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipServer = server.ping(1)
-
- serverAdd = db.deviceAddress(str('unisip'))
- server = PingClass.Ping(str(serverAdd[4]))
- unisip = server.ping(1)
-
- serverAdd = db.deviceAddress(str('GSMRZ2'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox1 = server.ping(1)
-
- serverAdd = db.deviceAddress(str('GSMRZ3'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox2 = server.ping(1)
-
-def initDB(): # function for connection database
- global dbStatus
- global db
- if dbStatus != 1:
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- if dbStatus == 1:
- print 'Lock the mutex: ' + str(db.lockMutex(600))
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
-
- print '\n'
- openBSC = None
- asterikServer = None
- finalResult = list()
- for x in initResult.nanoBts:
-
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- print bcolors.OKGREEN +name+ ' Working'+ bcolors.ENDC
-
- else:
- if int(x[1]) == 486:
- print bcolors.FAIL+name+ ' not Working' + bcolors.ENDC
- elif int(x[1]) == 200:
- print bcolors.OKGREEN +name+ ' Working'
- asterikServer = True
- elif int(x[1]) == 402:
- print bcolors.WARNING +name+ ' not Working need top up the credit'
- asterikServer = True
- elif int(x[1]) == 998 or int(x[1]) == 999:
- print bcolors.FAIL+name+ ' not Working, handler error'+ bcolors.ENDC
- elif int(x[1]) == 801 or int(x[1]) == 802:
- print bcolors.FAIL+name+ ' Device Error, Check the device'+ bcolors.ENDC
- else:
- print bcolors.OKGREEN +name+ ' not Working'+ bcolors.ENDC
-
- print ''
- if openBSC != None:
- if openBSC == True:
- print bcolors.OKGREEN +'openBSC working'+ bcolors.ENDC
- else:
- print bcolors.FAIL+'openBSC doesnt work'+ bcolors.ENDC
- print ''
-
- if initResult.asteriskServer == True or asterikServer == True:
- print bcolors.OKGREEN +'asterik server is working'+ bcolors.ENDC
- print ''
-
- if initResult.outGoingRZ == True:
- print bcolors.OKGREEN +'Outgoing call from RZ is working'+ bcolors.ENDC
- elif initResult.outGoingRZ == False:
- print bcolors.FAIL+'Outgoing call from RZ is not working'+ bcolors.ENDC
-
- if initResult.incomingRZ == True:
- print bcolors.OKGREEN +'incoming call from outside RZ to GSM RZ is working'+ bcolors.ENDC
- elif initResult.incomingRZ == False:
- print bcolors.FAIL+'incoming call from outside RZ to GSM RZ is not working'+ bcolors.ENDC
- print '\n'
-
-def errorCodes(callFrom, callTo, result):
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(result) + '|' + str(db.errorCode(result))
- print message
- sendResultWebsite(message)
-
- # function to search in the list
-def isThere(keyword,lists):
- x = 0
- for item in lists:
-
- if item == keyword:
- return 1
- else:
- x = x+1
-
-def testDest(callFrom, callTo, tried):
-
- makeTest.initTest(callFrom,callTo)#xxxx
- db.insertTask(taskNum,callFrom,callTo)
- smartResultList.append([callFrom,callTo, makeTest.result,tried])
- taskID = db.maxTaskID()
- db.addResult(taskID, makeTest.result)
- if WebStatus == True:
- errorCodes(callFrom, callTo, makeTest.result)
-
-def smartTest():
- global smartResultList
- smartResultList = list()
- deviceLists = db.deviceList()
- gsmList = list()
- gsmRZList = list()
- sipList = list()
- destList = list()
- rem = list()
- item = list()
-
- cpgsmRZList = list()
-
- for lists in deviceLists: #define category of the device
- device = lists[0]
- if device[0:5] == 'GSMRZ':
- gsmRZList.append(device)
- cpgsmRZList.append(device)
- elif device[0:5] == 'GSMEx':
- gsmList.append(device)
- else:
- sipList.append(device)
-
- if device[0:5] == 'GSMRZ' or device[0:5] == 'GSMEx' or device == 'sip':
- destList.append(device)
-
- #first test from university telphone network to random GSM RZ avaliable
- i = random.randint(0, len(gsmRZList)-1)
- callTo = gsmRZList[i]
- callFrom = 'unisip'
- testDest(callFrom, callTo, 1)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
-
-
-
- for callFrom in gsmRZList:
- i = random.randint(0, len(destList)-1) #Check whether the caller and dest are same
- callTo = destList[i]
- if callFrom == callTo: #Check whether the caller and dest are same
- if i == 0:
- i = i+1 # if it in the first list, change to be the second list else, just back on step.
- else:
- i = i-1
- callTo = destList[i]
-
- destList.remove(callTo)
- destList.remove(callFrom)
- gsmRZList.remove(callFrom)
- testDest(callFrom, callTo, 1)
-
-
- # test incoming call from outside rz network to gsm rz
- i = random.randint(0, len(gsmRZList)-1) #
- callTo = gsmRZList[i]
- callFrom = 'landline'
-
- if isThere(callTo,destList) == 1: # Checking whether caller at gsmrz list in the destination list, if yes delete it.
- destList.remove(callTo)
- testDest(callFrom, callTo, 1)
-
- for callTo in destList:
- callFrom = 'sip'
- if callFrom != callTo:
- testDest(callFrom, callTo, 1)
-
- #checking unsuccess call, to make sure that destination are really unreachable
- for dest in smartResultList:
- #check unsuccess call and did the test have already tried, 2 means has been check
- if int(dest[2]) == 486 or int(dest[2]) == 999 or int(dest[2]) == 998 or int(dest[2]) == 801 or int(dest[2]) == 802:
- if int(dest[3]) != 2 and dest[1] != 'sip':
- testDestination = True
- founds = False
- testCaller = True
- # make sure that destination have not tested by another part and give success result.
- for test in smartResultList:
- if test[1] == dest[1] or test[0] == dest[1]:
- if int(test[2]) == 200:
- testDestination = False
- if test[1] == dest[0] or test[0] == dest[0]:
- if int(test[2]) == 200:
- testCaller = False
- #if destination have not tested by other part. try to test from RZ GSM
- if int(test[2]) == 200:
- for caller in cpgsmRZList:
- if caller == test[0] or caller == test[1]:
- callFrom = caller
- founds = True
-
- if dest[0] != 'sip':
- founds = False
-
- if testDestination == True:
- if founds != True:
- callFrom = 'sip'
- callTo = dest[1]
- if dest[0] != 'sip':
- testDest(callFrom, callTo, 2)
- rem.append(dest)
-
- #check unsuccess call because caller handler having problem
- #destination handler having problem, we should make test also to the caller
- if int(dest[2]) == 998 or int(dest[2]) == 802 or int(dest[2]) == 486:
- if testCaller == True:
- if founds != True:
- callFrom = 'sip'
- callTo = dest[0]
- testDest(callFrom, callTo, 2)
- rem.append(dest)
-
-
- caller = dest[0] # to test nanobts if the test come from RZ GSM but fehler
- if caller[0:5] == 'GSMRZ' and int(dest[3]) != 2 and dest[1] != 'sip':
- if int(dest[2]) == 486 or int(dest[2]) == 402:
- callFrom = 'sip'
- testDest(callFrom, dest[0], 2)
- rem.append(dest)
-
- # test to make sure nanoBTS working or not. sice probably that nanotbts seems error but actually not.
- for RZ in cpgsmRZList:
- repeat = False
- for gsmrzResult in smartResultList:
- if gsmrzResult[0] == RZ or gsmrzResult[1] == RZ:
- if int(gsmrzResult[2]) == 486 or int(gsmrzResult[2]) == 801 or int(gsmrzResult[2]) == 802:
- repeat = True
- From = gsmrzResult[0]
- To = gsmrzResult[1]
- result = gsmrzResult[2]
- if int(gsmrzResult[2]) == 200:
- repeat = False
- if gsmrzResult[1] == RZ and int(gsmrzResult[2]) == 998:
- try:
- cpgsmRZList.remove(RZ)
- except ValueError:
- message = 'Error'
- if gsmrzResult[0] == RZ and int(gsmrzResult[2]) == 999:
- try:
- cpgsmRZList.remove(RZ)
- except ValueError:
- message = 'Error'
-
- if len(cpgsmRZList) > 1:
- if repeat == True:
- i = random.randint(0, len(cpgsmRZList)-1) #
- if i == 0:
- x = i+1
- else:
- x = i-1
- testDest(cpgsmRZList[x], cpgsmRZList[i], 2)
- item = '['+str(From)+','+str(callTo)+','+str(result)+','+str(1)+']'
- rem.append(item)
-
- for remov in rem:
- for x in smartResultList:
- if x == remov:
- try:
- smartResultList.remove(x)
- except ValueError:
- message = 'Error'
- return smartResultList
-
-def doSmartTest(status):
- global taskNum
- global WebStatus
- initDB()
- taskNum = db.maxTaskNo()
- global makeTest
- if status == True:
- WebStatus = True
- else:
- WebStatus = False
- makeTest = initTestClass.initTesting()
- result = smartTest()
- initTrueTable(result)
- if status == True:
- sendFinishMessage()
-
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline', 'unisip']
- doTest = initTestClass.initTesting()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-def doIncomingTest(): #incoming call to RZ network
-
- destList = ['GSMRZ1','unisip', 'GSMRZ2','GSMRZ3']
- doTest = initTestClass.initTesting()
- for callTo in destList:
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.initTesting()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.initTesting()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doIncomingTest()
- doGsmrzTest()
- doGsmExtTest()
-
-
-def sendResultWebsite(message):
- if server.sendData(message+ chr(10)) == 1:
- print 'data sent successfully'
- test = server.receiveData(5)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- sys.exit(2)
- if test == 'CONTINUE':
- print 'continue'
-
-def sendFinishMessage():
- if server.connected == 1:
- server.sendData('TEST DONE\n')
- test = server.receiveData(5)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
- print 'release mutex says ', db.releaseMutex()
-
-def withDB(x):
-
- initDB()
-
- if x == False:
- deviceLists = db.deviceList()
- callerFound = False
- calleeFound = False
- for device in deviceLists:
- if caller == device[0]:
- callerFound = True
- break
-
- for device in deviceLists:
- if callee == device[0]:
- calleeFound = True
- break
- if callerFound != True or calleeFound != True:
- if callerFound != True:
- print 'No device with name', caller
- db.closeDBConn()
- sys.exit(1)
- if calleeFound != True:
- print 'No device with name', callee
- db.closeDBConn()
- sys.exit(1)
- if callerFound == True and calleeFound == True:
- taskNumber = db.maxTaskNo()
- db.insertTaskIn2(caller, callee, taskNumber)
- resultsList = list()
- if dbStatus == 1: # Checking connection to database
- if db.anyTasksToDo() == 1: # Checking task on the table
-
- allPing()
- i=0
- makeTest = initTestClass.initTesting()
-
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- if i == 0:
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
-
- if int(makeTest.result) == 200:
- print bcolors.OKGREEN +'Result : ' +str(makeTest.result)+ ' ' +db.errCode + bcolors.ENDC
- else:
- print bcolors.FAIL+'Result : ' +str(makeTest.result)+ ' ' +db.errCode + bcolors.ENDC
-
- if x == True: # if x = True means that this function call by website
-
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(makeTest.result) + '|' + str(db.errCode)
- sendResultWebsite(message) # send result to website
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
- if x == True:
- sendFinishMessage() #send finish message to website and close the connection
-
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- db.closeDBConn()
- else:
- print bcolors.FAIL+"--- No job at all ---" + bcolors.ENDC
- db.closeDBConn()
- else:
- print bcolors.FAIL+'Cant connect to database'+ bcolors.ENDC
- sys.exit(1)
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print bcolors.FAIL+' == cant save device configuration, please fill IMEI / port name of the device =='+ bcolors.ENDC
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print bcolors.FAIL+'== error, device not found =='+ bcolors.ENDC
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print bcolors.OKGREEN +'== Device succeced added =='+ bcolors.ENDC
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print bcolors.WARNING+'== Device succeced added, but have different IMEI =='+ bcolors.ENDC
- else:
- print bcolors.FAIL+'== error, no device connected =='+ bcolors.ENDC
-
-def autoUpdateDevice(status):
- initDB()
- GSMListPrefix = list()
- GSMListPrefix = db.GSMPrefix()
- i = 0
- x = 0
- count = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
-
- i=i+1
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(15)
- try:
- findPort(portName)
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- count = count + 1
- message = "Timeout"
- if status == True:
- sendFinishMessage()
- else:
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '6':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- else:
- print 'please choose between 1-6'
-
- if input == 'a': #automatic configuration
- autoUpdateDevice(False)
-
- if input == "q":
- break
- sys.exit()
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
-
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--incoming':
- resultsList = list()
- doIncomingTest()
-
- elif command == '--smart':
- initDB()
- resultsList = list()
- allPing()
- taskNo = db.maxTaskNo()
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- doSmartTest(False)
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--db':
- if len(sys.argv) > 2:
- try:
- caller = sys.argv[2]
- callee = sys.argv[3]
- except ValueError:
- print "Error given caller and destination. Type '--help' for more information."
- else:
- print "Error given caller and destination. Type '--help' for more information."
- sys.exit()
- resultsList = list()
- withDB(False)
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help' for more information."
- print '\n'
-else:
- global server
- global tried
-
-
- initDB() # should put db condition
- server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
- tried = server.openSocket(10)
-
- if tried == 'TIMEOUT':
- closeFunction(db,server)
-
- test = server.receiveData(10)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
- withDB(True)
-
- if test == 'SMART TEST':
- allPing()
- taskNo = db.maxTaskNo()
- db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- server.sendData('CONFIRM\n')
- print 'SMART TEST STARTED'
- resultsList = list()
- doSmartTest(True)
- #regularTest(True)
-
- if test == 'UPDATE DEVICE':
- server.sendData('CONFIRM\n')
- print 'UPDATE DEVICE STARTED'
- autoUpdateDevice(True)
- else:
- sys.exit('WE DIDN\'T RECEIVE THE CONFIRMATION')
-
- db.closeDBConn()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/tricode/gsmselftest1.py b/For Weekly Test/tricode/gsmselftest1.py
deleted file mode 100755
index 274a67c..0000000
--- a/For Weekly Test/tricode/gsmselftest1.py
+++ /dev/null
@@ -1,389 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing(): #ping all existing devices
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- serverAdd = db.deviceAddress(str('landline'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipGate = server.ping(2)
-
- serverAdd = db.deviceAddress(str('sip'))
- server = PingClass.Ping(str(serverAdd[4]))
- sipServer = server.ping(2)
-
- serverAdd = db.deviceAddress(str('unisip'))
- server = PingClass.Ping(str(serverAdd[4]))
- unisip = server.ping(2)
-
- serverAdd = db.deviceAddress(str('GSMRZ2'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox1 = server.ping(2)
-
- serverAdd = db.deviceAddress(str('GSMRZ3'))
- server = PingClass.Ping(str(serverAdd[4]))
- gsmBox2 = server.ping(2)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- openBSC = None
- for x in initResult.nanoBts:
- name = x[0]
- if x[1] == True:
- openBSC = True
- asterikServer = True
- print name+ ' Working'
- else:
- if int(x[1]) == 486:
- print name+ ' not Working'
- elif int(x[1]) == 200:
- print name+ ' Working'
- elif int(x[1]) == 998 or int(x[1]) == 999:
- print name+ ' not Working, handler error'
- else:
- print name+ ' not Working'
- print ''
- if openBSC != None:
- if openBSC == True:
- print 'openBSC working'
- else:
- print 'openBSC doesnt work'
- print ''
-
- if initResult.asteriskServer == True:
- print 'asterik server is working'
- print '\n'
-
- if initResult.outGoingRZ == True:
- print 'Outgoing call from RZ is working'
- elif initResult.outGoingRZ == False:
- print 'Outgoing call from RZ is not working'
-
- if initResult.incomingRZ == True:
- print 'incoming call from outside RZ to GSM RZ is working'
- elif initResult.incomingRZ == False:
- print 'incoming call from outside RZ to GSM RZ is not working'
- print '\n'
-
-
-def doSipTest():
-
- #destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- destList = ['landline']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
- #print regulartest.smartResultList
-
-def findPort(portName): # take information in existing usb port
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName): # Manual init device
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found IMEI and Number doesnt match =='
- elif str(IMEI) == str(imei):
- if number == '':
- print ' == cant save device configuration, number missing =='
- else:
- portClass.initUpdate(deviceName, portName, number) # update device database
- print '== Device succeced added, please re-check the number =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number) # update device database
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-
-def autoUpdateDevice():
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i) #checking usb connection
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
-def updateDevice(): #update port name list of device on DB
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: a = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm': # manual configuration
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. Back to menu"
- print ""
- print "your choice : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- elif input == '6':
- break
- else:
- print 'please choose between 1-6'
-
- if input == 'a': #automatic configuration
- autoUpdateDevice()
-
- if input == "q":
- break
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- resultsList = list()
- doAllTest()
-
- elif command == '--sip':
- resultsList = list()
- doSipTest()
-
- elif command == '--gsmrz':
- resultsList = list()
- doGsmrzTest()
-
- elif command == '--gsmext':
- resultsList = list()
- doGsmExtTest()
-
- elif command == '--landline':
- resultsList = list()
- doLandlineTest()
-
- elif command == '--smart':
- resultsList = list()
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- resultsList = list()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
- print '\n'
-
- initTrueTable(resultsList) # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/For Weekly Test/tricode/help.txt b/For Weekly Test/tricode/help.txt
deleted file mode 100755
index 836db96..0000000
--- a/For Weekly Test/tricode/help.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-Usage: ./gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---db [caller] [callee] : To execute the test case given by define the caller and callee
---all : To execute all test case
---sip : To execute ALL test case
---gsmrz : To check whether GSM RZ network having problem or not
---gsmext : To check whether GSM BOX modem having problem or not
---incoming : To check incoming call from Landline
---smart : To test only important point in the network and identify which part having problem.
---devconf : To configuration USB device on the server
-
- example : ./gsmselftest.py --devconf
- ./gsmselftest.py --smart
- ./gsmselftest.py --db sip GSMRZ1
diff --git a/For Weekly Test/tricode/initTestClass3.py b/For Weekly Test/tricode/initTestClass3.py
deleted file mode 100644
index 6c05e93..0000000
--- a/For Weekly Test/tricode/initTestClass3.py
+++ /dev/null
@@ -1,288 +0,0 @@
-import sys
-import subprocess, signal
-import os
-import ControllerClass
-import DbClass
-import PingClass
-import random
-from time import sleep
-
-class doTest:
-
- def __init__(self):
- self.messageList = list()
-
- def pings(self,IP):
-
- server = PingClass.Ping(IP)
- self.serverStatus = server.ping(2)
- return self.serverStatus
-
- def initDB(self):
-
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initaccount(self,account,handler):
- if handler == 'sip' or handler == 'unisip' or handler == 'landline':
- if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server
- self.status = 1
- else:
- self.status = 0
- else:
- if account[0] != '' or account[1] != '':
- self.status = 1
- else:
- self.status = 0
-
-
-#kill process to make sure, that the handler is Terminate incase handler having problem receiving
-# terminate message from controller
-
- def killProc(self):
- # define process name of the Handler
- procNameDest = 'GSM Handler'
- procNameCall = 'SIP Handler'
-
- p = subprocess.Popen(['ps', '-A'], stdout=subprocess.PIPE)
- out, err = p.communicate()
-
- #search process name and kill it.
- for line in out.splitlines():
- if procNameDest in line:
- pid = int(line.split(None, 1)[0])
- os.kill(pid, signal.SIGKILL)
- for line in out.splitlines():
- if procNameCall in line:
- pid = int(line.split(None, 1)[0])
- os.kill(pid, signal.SIGKILL)
-
- def initTest(self, callFrom, callTo):
-
- self.initDB() # open database connection
-
- if self.dbStatus != 0: # if connection to db establish, do the test
-
- #fetch device account detail from database
- dest = self.db.deviceAddress(str(callTo))
- caller = self.db.deviceAddress(str(callFrom))
-
- if self.pings(caller[4]) <> 0:
-
- if self.pings(dest[4]) <> 0:
-
- self.initaccount(caller,callFrom)
- if self.status == 1:
- self.initaccount(dest,callTo)
- if self.status == 1:
- callPortName = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destPortName = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest)
- makeTest.FuncTest()
- self.result = str(makeTest.testResult)
-
- print callFrom, callTo, makeTest.testResult
- else:
- self.result = 100
- else:
- self.result = 100
- sleep(3)
- self.killProc() # kill all the handler
- self.db.closeDBConn() #close db connection
- sleep(1)
- else:
- self.result = 500
- else:
- self.result = 500
-
- else:
- self.result = 333
- self.db.closeDBConn()
- return self.result
-
- def errorCodes(self, callFrom, callTo, result):
- self.initDB()
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(result) + '|' + str(self.db.errorCode(result))
- self.messageList.append(message)
- self.db.closeDBConn()
-
- # function to search in the list
- def isThere(self, keyword,lists):
- x = 0
- for item in lists:
-
- if item == keyword:
- return 1
- else:
- x = x+1
-
- def testDestination(self, callFrom, callTo, tried):
- self.initTest(callFrom,callTo)
- self.smartResultList.append([callFrom,callTo, self.result,tried])
- self.errorCodes(callFrom, callTo, self.result)
-
- def smartTest(self):
- self.initDB()
- self.smartResultList = list()
- deviceLists = self.db.deviceList()
- gsmList = list()
- gsmRZList = list()
- sipList = list()
- destList = list()
- rem = list()
- item = list()
-
- cpgsmRZList = list()
- self.db.closeDBConn()
-
- for lists in deviceLists: #define category of the device
- device = lists[0]
- if device[0:5] == 'GSMRZ':
- gsmRZList.append(device)
- cpgsmRZList.append(device)
- elif device[0:5] == 'GSMEx':
- gsmList.append(device)
- else:
- sipList.append(device)
-
- if device[0:5] == 'GSMRZ' or device[0:5] == 'GSMEx':
- destList.append(device)
-
- #first test from university telphone network to random GSM RZ avaliable
- i = random.randint(0, len(gsmRZList)-1)
- callTo = gsmRZList[i]
- callFrom = 'unisip'
- self.testDestination(callFrom, callTo, 2)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
-
-
-
- for callFrom in gsmRZList:
- i = random.randint(0, len(destList)-1) #Check whether the caller and dest are same
- callTo = destList[i]
- if callFrom == callTo: #Check whether the caller and dest are same
- if i == 0:
- i = i+1 # if it in the first list, change to be the second list else, just back on step.
- else:
- i = i-1
- callTo = destList[i]
-
- destList.remove(callTo)
- destList.remove(callFrom)
- gsmRZList.remove(callFrom)
- self.testDestination(callFrom, callTo, 1)
-
-
- # test incoming call from outside rz network to gsm rz
- i = random.randint(0, len(gsmRZList)-1) #
- callTo = gsmRZList[i]
- callFrom = 'landline'
-
- if self.isThere(callTo,destList) == 1: # Checking whether caller at gsmrz list in the destination list, if yes delete it.
- destList.remove(callTo)
- self.testDestination(callFrom, callTo, 1)
-
- # testing from random GSM RZ to sip
- #i = random.randint(0, len(cpgsmRZList)-1) #
- #callFrom = cpgsmRZList[i]
- #self.initTest(callFrom, 'sip')
-
- #self.smartResultList.append([callFrom, 'sip', self.result,1])
-
- for callTo in destList:
- callFrom = 'sip'
- self.testDestination(callFrom, callTo, 1)
-
- #checking unsuccess call, to make sure that destination are really unreachable
- for dest in self.smartResultList:
- #check unsuccess call and did the test have already tried, 2 means has been check
- if int(dest[2]) == 486 and int(dest[3]) != 2 and dest[1] != 'sip':
- testDestination = True
- founds = False
- # make sure that destination have not tested by another part and give success result.
- for test in self.smartResultList:
- if test[1] == dest[1] and int(test[2]) == 200:
- testDestination = False
- #if destination have not tested by other part. try to test from RZ GSM
- if int(test[2]) == 200:
- for caller in cpgsmRZList:
- if caller == test[0] or caller == test[1]:
- callFrom = caller
- founds = True
-
- if dest[0] != 'sip':
- founds = False
-
- if testDestination == True:
- if founds != True:
- callFrom = 'sip'
- callTo = dest[1]
- self.testDestination(callFrom, callTo, 2)
- rem.append(dest)
-
- #check unsuccess call because caller handler having problem
- if int(dest[2]) == 999 and int(dest[3]) != 2 and dest[1] != 'sip' and dest[1] != 'sip':
- testDestination = True
- # make sure that destination have not tested by another part and give success result.
- for test in self.smartResultList:
- if test[1] == dest[1] and int(test[2]) == 200:
- testDestination = False # mean dont need to make test
- if testDestination == True:
- callFrom = 'sip'
- self.testDestination(callFrom, dest[1], 2)
-
-
- caller = dest[0] # to test nanobts if the test come from RZ GSM but fehler
- if caller[0:5] == 'GSMRZ' and int(dest[3]) != 2 and dest[1] != 'sip':
- if int(dest[2]) == 486:
- callFrom = 'sip'
- self.testDestination(callFrom, dest[0], 2)
- rem.append(dest)
-
- # test to make sure nanoBTS working or not. sice probably that nanotbts seems error but actually not.
- for RZ in cpgsmRZList:
- repeat = False
- for gsmrzResult in self.smartResultList:
-
- if gsmrzResult[0] == RZ or gsmrzResult[1] == RZ:
- if int(gsmrzResult[2]) == 486:
- repeat = True
- From = gsmrzResult[0]
- To = gsmrzResult[1]
- result = gsmrzResult[2]
- if int(gsmrzResult[2]) == 200:
- repeat = False
- if gsmrzResult[1] == RZ and int(gsmrzResult[2]) == 998:
- cpgsmRZList.remove(RZ)
- if gsmrzResult[0] == RZ and int(gsmrzResult[2]) == 999:
- cpgsmRZList.remove(RZ)
-
- if len(cpgsmRZList) > 1:
-
- if repeat == True:
- i = random.randint(0, len(cpgsmRZList)-1) #
- if i == 0:
- x = i+1
- else:
- x = i-1
- self.testDestination(cpgsmRZList[x], cpgsmRZList[i], 2)
- item = '['+str(From)+','+str(callTo)+','+str(result)+','+str(1)+']'
- rem.append(item)
-
- for remov in rem:
- for x in self.smartResultList:
- if x == remov:
- self.smartResultList.remove(x)
-
- return self.smartResultList
-
-
-
-
diff --git a/For Weekly Test/tricode/insertData.php b/For Weekly Test/tricode/insertData.php
deleted file mode 100644
index fe77587..0000000
--- a/For Weekly Test/tricode/insertData.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?
-/*
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-*/
-function getNewTaskNo()
-{
- $sql = "SELECT MAX(taskNo) FROM TaskTable"; //the SQL command to find the max value in taskNo
- $execute = mysql_query($sql); //execute the command
- $result = mysql_result($execute,0);
-
- if ($result == NULL)
- {
- // there is no single job in the table
- return 1;
- }
- else
- {
- //increment the new taskNo
- return $result + 1;
- }
-}
-
-function insertTask($taskNo, $from, $to)
-{
- $trans = "START TRANSACTION;";
- $execute = mysql_query($trans);
-
- if ($execute!=1)
- {
- return 3; //could not start transaction
- }
-
- $sql = "INSERT INTO `TaskTable` (`taskNo`, `from`, `to`) VALUES($taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TaskTable
-
- if ($execute == 1) //I added to the DB the task!
- {
- $sql = "SELECT @taskID := LAST_INSERT_ID()"; //find the last taskId
- $execute = mysql_query($sql);
- $taskId = mysql_result($execute,0); //I have the last taskId which I will use to insert it into TempTaskTable
-
- $sql = "INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES($taskId, $taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TempTaskTable
-
- if ($execute == 1)
- {
- $trans = "COMMIT;"; //command to end the transaction
- $execute = mysql_query($trans);//finish the transaction
-
- if ($execute == 1)
- {
- return 1; //task was successfuly added to both tables, TaskTable and TempTaskTable
- }
- else
- {
- return 0; //nothing was added to the tables
- }
- }
- else
- {
- return 2; //the task is in the TaskTable but not in TempTaskTable
- }
- }
- else
- {
- return 0; //nothing was added to the table, some error occured
- }
-}
- //include 'post.php';
-?>
diff --git a/For Weekly Test/tricode/insertdevice.php b/For Weekly Test/tricode/insertdevice.php
deleted file mode 100644
index b3f7350..0000000
--- a/For Weekly Test/tricode/insertdevice.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-$con = mysql_connect("localhost","root","randompasswordSQL");
-if (!$con)
- {
- die('Could not connect: ' . mysql_error());
- }
-
-mysql_select_db("gsmselftesting", $con);
-$sql="UPDATE DeviceAddressTable SET portName = '$_POST[portname]', number = '$_POST[number]' WHERE deviceName = '$_POST[device]'";
-
-
-if (!mysql_query($sql,$con))
- {
- die('Error: ' . mysql_error());
- }
-else
-{
-echo "1 record added";
-}
-mysql_close($con)
-?> \ No newline at end of file
diff --git a/For Weekly Test/tricode/main.php b/For Weekly Test/tricode/main.php
deleted file mode 100644
index 91f5938..0000000
--- a/For Weekly Test/tricode/main.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?
-$db = mysql_connect("localhost","root","randompasswordSQL");
-mysql_select_db("gsmselftesting",$db);
-
-$link = $db ;
-if (!$link) {
- die('Could not connect: ' . mysql_error());
-}
-echo 'Connected successfully';
-if (isset($_REQUEST['Submit']))
- {
- $sql="UPDATE DeviceAddressTable SET portName = '$_POST[portname]', number = '$_POST[number]' WHERE deviceName = '$_POST[device]'";
- if($result = mysql_query($sql ,$db))
- {
- $message = '<font size="3" face="Century Gothic" color="LightGray"> UPDATE Device Succeed</font>';
- }
- else
- {
- echo "ERROR: ".mysql_error();
- }
- }
-
-?>
- <table style="width:50%; margin:auto" border="0">
- <tr>
- <td height="100px" width ="120px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- <form action="" method="POST">
- <input type="radio" name="device" value="GSMRZ1" /> RZ GSM 1<br>
- <input type="radio" name="device" value="GSMext.Eplus" /> E-Plus<br>
- <input type="radio" name="device" value="GSMext.O2" /> O2<br>
- <input type="radio" name="device" value="GSMext.Voda" /> Vodaphone<br>
- <input type="radio" name="device" value="GSMext.Tm" /> T-Mobile<br>
-
- </font>
- </td>
- <td height="100px" width ="100px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- Port Number<br>
- IMEI<br>
- Number<br>
- </font>
- </td>
- <td height="100px" width ="90px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- : <input type="text" name="portname" /></br>
- : <input type="text" name="imei" /><br>
- : <input type="text" name="number" /><br>
- </font>
- </td>
- <td height="100px" width ="50px" align="left">
- <font size="3" face="Century Gothic" color="LightGray">
- <INPUT type="image" value="submit" name="submit" src="Images/SubmitButton.png"><br />
- </font>
- </td>
-
- </form>
- </tr>
- </table>
diff --git a/For Weekly Test/tricode/networkResult.php b/For Weekly Test/tricode/networkResult.php
deleted file mode 100644
index 345b954..0000000
--- a/For Weekly Test/tricode/networkResult.php
+++ /dev/null
@@ -1,308 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("class/pData.class.php");
-
- include("class/pDraw.class.php");
- include("class/pImage.class.php");
-
- include("class/pSurface.class.php");
- //test case php defined for defining the colors and what's OK and what's wrong!
- include 'testCase.php';
-
- //Triangle function used for defining a triangle, used later to draw a triangle polygon!
- function Triangle($x,$y)
- {
- $Bx = $x - 7;
- $By = $y + 18;
- $Cx = $x + 7;
- $Cy = $y + 18;
- return array($x,$y,$Bx,$By,$Cx,$Cy);
- }
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array($GSMINTPercent,$GSMEXTPercent,$SIPPercent,$UNISIPPercent,$LANDLINEPercent),"Hits");
- $MyData->setAxisName(0,"Network operability");
- $MyData->addPoints(array("GSM University","GSM External","SIP","Uni.Tel.network","Landline"),"Networks");
- $MyData->setSerieDescription("Networks","Networks");
- $MyData->setAbscissa("Networks");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,430,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
-// $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,430,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,429,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Network Test Results - UNI FREIBURG",array("R"=>255,"G"=>255,"B"=>255));
-
-
-
- //CONNECTIONS
- /* BTS PICTURE INTERNAL CONNECTIONS */
- $myPicture->drawLine(80,170,185,230,$BTS1PING); //BTS1 PING
- $myPicture->drawLine(75,225,185,225,$BTS2PING); //BTS2 PING
- $myPicture->drawLine(75,288,185,220,$BTS2PING); //BTS3 PING
- /*GSMBOX LINES */
- $myPicture->drawLine(181,65,299,150); //BTS3 PING
- $myPicture->drawLine(250,65,308,150); //BTS3 PING
- $myPicture->drawLine(347,65,309,150); //BTS3 PING
- $myPicture->drawLine(410,70,316,150); //BTS3 PING
-
- //Arrow for GSM-Box
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(303,209,303,161,$arrowSettings);
-
- //Arrow for Landline
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(313,210,393,171,$arrowSettings);
-
- //Arrow for University telephone network
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(303,298,303,239,$arrowSettings);
-
- //SIP
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(316,220,393,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(346,218,"SIP",$TextSettings);
-
- //IAX
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(192,220,297,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(235,218,"IAX",$TextSettings);
- //######################################
-
- //BTS1
- $Points = Triangle(74,155);
- $myPicture->drawPolygon($Points, $BTS1COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,169,"nanoBTS0",$TextSettings);
- //##################################
-
- //BTS2
- $Points = Triangle(74,215);
- $myPicture->drawPolygon($Points, $BTS2COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,229,"nanoBTS1",$TextSettings);
- //###################################
-
- //BTS3
- $Points = Triangle(74,275);
- $myPicture->drawPolygon($Points, $BTS3COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,289,"nanoBTS3",$TextSettings);
- //###################################
-
-
-
- //LsfKs-Asterisk
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(295,210,$LSFKSCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(270,257," LsfKs-Asterisk",$TextSettings);
- //###############################
-
-
- //Open BSC
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,210,$GSMINTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(155,275," OpenBSC \r\n LCR \r\n Asterisk",$TextSettings);
- //###############################
-
-
- //E-plus
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,50,$GSMEECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(171,40,"E-Plus",$TextSettings);
- //###############################
-
-
- //Vodaphone
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(231,50,$GSMEVCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(218,40,"Vodafone",$TextSettings);
- //###############################
-
-
- //T-mobile
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(336,50,$GSMETCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(330,40,"T-Mobile",$TextSettings);
- //###############################
-
-
- //O2
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(396,50,$GSMEOCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(404,40,"02",$TextSettings);
- //###############################
-
-
- //GSMBOX
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(293,140,$GSMEXTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,157,"GSM-Box",$TextSettings);
- //###############################
-
-
- //LANDLINE
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,147,$LANDLINECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(388,137,"Landline",$TextSettings);
- //###############################
-
-
- //University SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(283,297,$UNISIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,365,"University telephone network",$TextSettings);
- //###############################
-
-
- //SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,208,$SIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(399,256,"SIP",$TextSettings);
- //###############################
-
- //PING RESULTS
- //START ############################################
- $myPicture->setGraphArea(530,280,660,290);
-
- // Create the surface object
- $mySurface = new pSurface($myPicture);
-
- // Set the grid size
- $mySurface->setGrid(4,0);
-
- $mySurface->writeXLabels(array("Angle"=>45,"Labels"=>array("SIP","Landline","Uni. Telephone","BTS Cont. 1","BTS Cont. 2")));
- $mySurface->writeYLabels(array("Labels"=>array("Ping")));
-
- $Palette = array(1=>array("R"=>0,"G"=>255,"B"=>0, "Alpha"=>40),
- 0=>array("R"=>255,"G"=>0,"B"=>1, "Alpha"=>40),
- 2=>array("R"=>255,"G"=>227,"B"=>85));
-
- $mySurface->addPoint(0,0,$SIPP);
- $mySurface->addPoint(1,0,$LANDLINEP);
- $mySurface->addPoint(2,0,$UNISIPP);
- $mySurface->addPoint(3,0,$NANOBTS1P);
- $mySurface->addPoint(4,0,$NANOBTS2P);
-
- // Draw the surface chart
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40,"Palette"=>$Palette));
-
-
- //A BIT OF STATISTICS
- /* Draw the chart scale */
- $myPicture->setGraphArea(520,50,685,220);
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
-
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
-
-/* $Palette = array("1"=>array("R"=>91,"G"=>184,"B"=>202,"Alpha"=>100),
- "2"=>array("R"=>166,"G"=>218,"B"=>215,"Alpha"=>100),
- "3"=>array("R"=>223,"G"=>227,"B"=>203,"Alpha"=>100),
- "0"=>array("R"=>114,"G"=>176,"B"=>180,"Alpha"=>100),
- "4"=>array("R"=>241,"G"=>233,"B"=>214,"Alpha"=>100));
-*/
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
- //############################################STATISTICS
-
- //DATE AND TEST NUMBER
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>9);
- $myPicture->drawText(460,425,"Task #:32432 07.09.2011 21:19:00",$TextSettings);
- //###########################################################
-
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("example.drawFilledCircle.png");
-?>
diff --git a/For Weekly Test/tricode/nohup.out b/For Weekly Test/tricode/nohup.out
deleted file mode 100644
index d4d0c41..0000000
--- a/For Weekly Test/tricode/nohup.out
+++ /dev/null
@@ -1,36 +0,0 @@
-Traceback (most recent call last):
- File "startSoftware.py", line 6, in <module>
- tried = server.openSocket()
- File "/home/gsmselftest/gsm-selftest/For Weekly Test/tricode/ServerClass.py", line 31, in openSocket
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- File "/usr/lib/python2.7/socket.py", line 224, in meth
- return getattr(self._sock,name)(*args)
-KeyboardInterrupt
-Traceback (most recent call last):
- File "startSoftware.py", line 6, in <module>
- tried = server.openSocket()
- File "/home/gsmselftest/gsm-selftest/For Weekly Test/tricode/ServerClass.py", line 30, in openSocket
- self.s = socket.socket(af, socktype, proto)
- File "/usr/lib/python2.7/socket.py", line 190, in __init__
- setattr(self, method, getattr(_sock, method))
-KeyboardInterrupt
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-Failed to parse arguments: Cannot open display:
-
-(process:1821): Gtk-WARNING **: Locale not supported by C library.
- Using the fallback 'C' locale.
-Failed to parse arguments: Cannot open display:
diff --git a/For Weekly Test/tricode/post.php b/For Weekly Test/tricode/post.php
deleted file mode 100644
index 56d0c24..0000000
--- a/For Weekly Test/tricode/post.php
+++ /dev/null
@@ -1,470 +0,0 @@
-<?
-$sipgsmrz1 = $_REQUEST["sip_gsmrz1"]; //SIP to GSMRZ1
-$sipgsmrz2 = $_REQUEST["sip_gsmrz2"]; //SIP to GSMRZ2
-$sipgsmrz3 = $_REQUEST["sip_gsmrz3"]; //SIP to GSMRZ3
-
-$sipland = $_REQUEST["sip_landln"]; //SIP to landline
-$sipuniv = $_REQUEST["sip_sipuniv"]; //SIP to University
-
-$gsmrzsip1 = $_REQUEST["gsmrz1_sip"]; //GSMRZ1 to SIP
-$gsmrzsip2 = $_REQUEST["gsmrz2_sip"]; //GSMRZ2 to SIP
-$gsmrzsip3 = $_REQUEST["gsmrz3_sip"]; //GSMRZ3 to SIP
-
-
-$gsm2gsm12 = $_REQUEST["gsmrz1_gsmrz2"]; //GSMRZ1 to GSMRZ2
-$gsm2gsm13 = $_REQUEST["gsmrz1_gsmrz3"]; //GSMRZ1 to GSMRZ3
-$gsm2gsm23 = $_REQUEST["gsmrz2_gsmrz3"]; //GSMRZ2 to GSMRZ3
-
-$landsip = $_REQUEST["landline_sip"]; //Landline to SIP
-
-$landgsmrz1 = $_REQUEST["landline_gsmrz1"]; //Landline to GSMRZ1
-$landgsmrz2 = $_REQUEST["landline_gsmrz2"]; //Landline to GSMRZ1
-$landgsmrz3 = $_REQUEST["landline_gsmrz3"]; //Landline to GSMRZ1
-
-//Add allso for external GSM
-$gsmrz1gsmee = $_REQUEST["gsmrz1_gsmee"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmev = $_REQUEST["gsmrz1_gsmev"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmet = $_REQUEST["gsmrz1_gsmet"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmeo = $_REQUEST["gsmrz1_gsmeo"]; //GSMRZ1 to E-Plus
-
-
-$gsmrz2gsmee = $_REQUEST["gsmrz2_gsmee"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmev = $_REQUEST["gsmrz2_gsmev"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmet = $_REQUEST["gsmrz2_gsmet"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmeo = $_REQUEST["gsmrz2_gsmeo"]; //GSMRZ2 to E-Plus
-
-
-$gsmrz3gsmee = $_REQUEST["gsmrz3_gsmee"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmev = $_REQUEST["gsmrz3_gsmev"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmet = $_REQUEST["gsmrz3_gsmet"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmeo = $_REQUEST["gsmrz3_gsmeo"]; //GSMRZ3 to E-Plus
-
-
-$unisipgsmee = $_REQUEST["unisip_gsmee"]; //GSMRZ3 to E-Plus
-$unisipgsmev = $_REQUEST["unisip_gsmev"]; //GSMRZ3 to E-Plus
-$unisipgsmet = $_REQUEST["unisip_gsmet"]; //GSMRZ3 to E-Plus
-$unisipgsmeo = $_REQUEST["unisip_gsmeo"]; //GSMRZ3 to E-Plus
-//############################################################
-$taskNo = getNewTaskNo();
-$errorAdding = 0;
-$taskAmount = 0;
-
-/*function insertTask($me,$mb,$md)
-{
- echo $me.$mb.$md;
- return 1;
-}*/
-
-if($sipgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipland == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','landline');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipuniv == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','unisip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm12 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm13 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm23 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landsip == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz1gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz2gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz3gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-
-if($unisipgsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-?>
diff --git a/For Weekly Test/tricode/serialTest.py b/For Weekly Test/tricode/serialTest.py
deleted file mode 100755
index 956c37d..0000000
--- a/For Weekly Test/tricode/serialTest.py
+++ /dev/null
@@ -1,38 +0,0 @@
-import time
-from serial import *
-
-# configure the serial connections (the parameters differs on the device you are connecting to)
-ser = Serial(
- port='/dev/ttyUSB0',
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
-)
-
-ser.open()
-ser.isOpen()
-
-print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
-
-input=1
-while 1 :
- # get keyboard input
- input = raw_input(">> ")
- # Python 3 users
- # input = input(">> ")
- if input == 'exit':
- ser.close()
- exit()
- else:
- # send the character to the device
- # (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
- ser.write(input + '\r\n')
- out = ''
- # let's wait one second before reading output (let's give device time to answer)
- time.sleep(1)
- while ser.inWaiting() > 0:
- out += ser.read(1)
-
- if out != '':
- print ">>" + out
diff --git a/For Weekly Test/tricode/startTest2.php b/For Weekly Test/tricode/startTest2.php
deleted file mode 100644
index bc91847..0000000
--- a/For Weekly Test/tricode/startTest2.php
+++ /dev/null
@@ -1,447 +0,0 @@
-<html>
-<head>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Uni-Freiburg Network test</title>
-<link rel="stylesheet" href="css/formCSS.css" type="text/css" media="screen">
-<link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body>
-<div>
-Please select the type of the test you would like to perform or manually choose your tests! Then please press the submit button!
-</div>
-<div>
-<form>
- <a class="tooltip" href="#">
- <input type=button value="Simple test" onClick="simpleTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Simple test</em>
- Press simple test if you want to test the network for</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Smart test" onClick="smartTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Smart test</em>
- This is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Full test" onClick="fullTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Full test</em>
- Press full test if you want to test every part of the university network. To execute this test the highest amount of time will be required, however this test produces the highest amount of information!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Deselect all values" onClick="deselectAll()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Deselect all</em>
- Press deselect all if you want to deselect all the values you have selected to be executed for the test!</span>
- </a>
-</form>
-</div>
-<div class='section form'>
-<form name="testForm" form action="mutexTry.php" method="POST">
- <div class='leftcol'>
- <label><input type="checkbox" name='sip_gsmrz1'> SIP to RZ-GSM 1</label>
- <label><input type="checkbox" name="sip_gsmrz2"> SIP to RZ-GSM 2</label>
- <label><input type="checkbox" name="sip_gsmrz3"> SIP to RZ-GSM 3</label>
-
- <label><input type="checkbox" name="sip_landln"> SIP to Landline</label>
- <label><input type="checkbox" name="sip_sipuniv"> SIP to Uni.telephone</label>
-
-
- <label><input type="checkbox" name="gsmrz1_sip"> RZ-GSM 1 to SIP</label>
- <label><input type="checkbox" name="gsmrz2_sip"> RZ-GSM 2 to SIP</label>
- <label><input type="checkbox" name="gsmrz3_sip"> RZ-GSM 3 to SIP</label>
-
- <label><input type="checkbox" name="gsmrz1_gsmrz2"> RZ-GSM 1 to RZ-GSM 2</label>
- <label><input type="checkbox" name="gsmrz1_gsmrz3"> RZ-GSM 1 to RZ-GSM 3</label>
- <label><input type="checkbox" name="gsmrz2_gsmrz3"> RZ-GSM 2 to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="landline_sip"> Landline to SIP </label>
-
- <label><input type="checkbox" name="landline_gsmrz1"> Landline to RZ-GSM 1</label>
- <label><input type="checkbox" name="landline_gsmrz2"> Landline to RZ-GSM 2</label>
- <label><input type="checkbox" name="landline_gsmrz3"> Landline to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="gsmrz1_gsmee"> RZ-GSM 1 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz1_gsmev"> RZ-GSM 1 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz1_gsmet"> RZ-GSM 1 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz1_gsmeo"> RZ-GSM 1 to O2</label>
-
- <label><input type="checkbox" name="gsmrz2_gsmee"> RZ-GSM 2 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz2_gsmev"> RZ-GSM 2 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz2_gsmet"> RZ-GSM 2 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz2_gsmeo"> RZ-GSM 2 to O2</label>
-
- <label><input type="checkbox" name="gsmrz3_gsmee"> RZ-GSM 3 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz3_gsmev"> RZ-GSM 3 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz3_gsmet"> RZ-GSM 3 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz3_gsmeo"> RZ-GSM 3 to O2</label>
-
-
- <label><input type="checkbox" name="unisip_gsmee"> Uni.telephone to E-Plus</label>
- <label><input type="checkbox" name="unisip_gsmev"> Uni.telephone to Vodaphone</label>
- <label><input type="checkbox" name="unisip_gsmet"> Uni.telephone to T-Mobile</label>
- <label><input type="checkbox" name="unisip_gsmeo"> Uni.telephone to O2</label>
-
-
-
-
- <input type=SUBMIT value="Submit">
-
- </div>
-</form>
-</div>
-
-<div class='section form'>
-<form name="smarttestForm" form action="mutexTry.php" method="POST">
- <div class='leftcol'>
- <input type=SUBMIT value="Smart Test">
-
- </div>
-</form>
-</div>
-
-<script type="text/javascript" src="mootools.js"></script>
-<script type="text/javascript" src="moocheck.js"></script>
-<script type = "text/javascript">
-function simpleTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the simple test should do!
-}
-
-function fullTest()
-{
- document.testForm.sip_gsmrz1.checked=true
- document.testForm.sip_gsmrz2.checked=true
- document.testForm.sip_gsmrz3.checked=true
-
- document.testForm.sip_landln.checked=true
- document.testForm.sip_sipuniv.checked=true
-
- document.testForm.gsmrz1_gsmrz2.checked=true
- document.testForm.gsmrz1_gsmrz3.checked=true
- document.testForm.gsmrz2_gsmrz3.checked=true
-
- document.testForm.gsmrz1_sip.checked=true
- document.testForm.gsmrz2_sip.checked=true
- document.testForm.gsmrz3_sip.checked=true
-
- document.testForm.landline_sip.checked=true
-
- document.testForm.landline_gsmrz1.checked=true
- document.testForm.landline_gsmrz2.checked=true
- document.testForm.landline_gsmrz3.checked=true
-
- document.testForm.gsmrz1_gsmee.checked=true
- document.testForm.gsmrz1_gsmev.checked=true
- document.testForm.gsmrz1_gsmet.checked=true
- document.testForm.gsmrz1_gsmeo.checked=true
-
- document.testForm.gsmrz2_gsmee.checked=true
- document.testForm.gsmrz2_gsmev.checked=true
- document.testForm.gsmrz2_gsmet.checked=true
- document.testForm.gsmrz2_gsmeo.checked=true
-
- document.testForm.gsmrz3_gsmee.checked=true
- document.testForm.gsmrz3_gsmev.checked=true
- document.testForm.gsmrz3_gsmet.checked=true
- document.testForm.gsmrz3_gsmeo.checked=true
-
- document.testForm.unisip_gsmee.checked=true
- document.testForm.unisip_gsmev.checked=true
- document.testForm.unisip_gsmet.checked=true
- document.testForm.unisip_gsmeo.checked=true
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-
-function smartTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the smart test should do
-}
-
-function deselectAll()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-</script>
-</body>
-</html>
diff --git a/For Weekly Test/tricode/testCase.php b/For Weekly Test/tricode/testCase.php
deleted file mode 100644
index c9e12ee..0000000
--- a/For Weekly Test/tricode/testCase.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?
- //color definitions
- $colorDunno = array("R"=>216,"G"=>166,"B"=>14,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorFail = array("R"=>255, "G"=>25, "B"=>25,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorWork = array("R"=>150,"G"=>215,"B"=>121,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
-
-
-$GSMRZ1 = $_GET['RZ1'];
-$GSMRZ2 = $_GET['RZ2'];
-$GSMRZ3 = $_GET['RZ3'];
-
-$SIP = $_GET['S'];
-$UNISIP = $_GET['US'];
-$LANDLINE = $_GET['LL'];
-$LSFKS = $_GET['LS'];
-
-$GSMEE = $_GET['EE'];
-$GSMEV = $_GET['EV'];
-$GSMET = $_GET['ET'];
-$GSMEO = $_GET['EO'];
-
-
-$SIPP = $_GET['SP'];
-$LANDLINEP = $_GET['SGP'];
-$UNISIPP = $_GET['USP'];
-$NANOBTS1P = $_GET['NBP1'];
-$NANOBTS2P = $_GET['NBP2'];
-/*
-$GSMRZ1 = 0;
-$GSMRZ2 = -10;
-$GSMRZ3 = 10;
-
-$SIP = 4;
-$UNISIP = 0;
-$LANDLINE = 1;
-$LSFKS = 1;
-
-$GSMEE = 10;
-$GSMEV = 10;
-$GSMET = -10;
-$GSMEO = 10;
-*/
-$GSMEXTCOL = 'icons/box_dunno.png';
-$GSMINTCOL = "icons/server_dunno.png";
-$LSFKSCOL = "icons/server_dunno.png";
-
-$SIPCOL = 'icons/sip_dunno';
-$UNISIPCOL = 'icons/uni-network_dunno.png';
-$LANDLINECOL = 'icons/telephone_dunno.png';
-
-$BTS1COL = $colorDunno;
-$BTS2COL = $colorDunno;
-$BTS3COL = $colorDunno;
-
-$GSMEECOL = 'icons/blackberry_dunno.png';
-$GSMEVCOL = 'icons/blackberry_dunno.png';
-$GSMETCOL = 'icons/blackberry_dunno.png';
-$GSMEOCOL = 'icons/blackberry_dunno.png';
-
-
-$BTS1PING = array("R"=>255,"G"=>0,"B"=>0); //put here the color :)
-$BTS1PING["Ticks"]=2;
-$BTS1PING["Weight"]=0;
-
-$BTS2PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS2PING["Ticks"]=2;
-$BTS2PING["Weight"]=0;
-
-$BTS3PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS3PING["Ticks"]=2;
-$BTS3PING["Weight"]=0;
-
-if ($GSMRZ1 > 0 || $GSMRZ2 > 0 || $GSMRZ3 > 0)
-{
- $GSMINT = 1;
- $GSMINTCOL = 'icons/server_work.png';
-}
-elseif($GSMRZ1 < 0 || $GSMRZ2 < 0 || $GSMRZ3 < 0)
-{
- $GSMINT = -1;
- $GSMINTCOL = 'icons/server_fail.png';
-}
-
-if($LANDLINE>0)
-{
- $LANDLINECOL = 'icons/telephone_work.png';
-}
-elseif($LANDLINE<0)
-{
- $LANDLINECOL = 'icons/telephone_fail.png';
-}
-
-if($SIP > 0 && $GSMINT > 0)
-{
- $LSFKS = 1;
-}
-
-if($LSFKS>0)
-{
- $LSFKSCOL = 'icons/server_work.png';
-}
-elseif($LSFKS<0)
-{
- $LSFKSCOL = 'icons/server_fail.png';
-}
-
-if($SIP>0)
-{
- $SIPCOL = 'icons/sip_work.png';
-}
-elseif($SIP<0)
-{
- $SIPCOL = 'icons/sip_fail.png';
-}
-
-if($UNISIP > 0)
-{
- $UNISIPCOL = 'icons/uni-network_work.png';
-}
-elseif($UNISIP < 0)
-{
- $UNISIPCOL = 'icons/uni-network_fail.png';
-}
-
-if($GSMEE > 0 || $GSMEV > 0 || $GSMET > 0 || $GSMEO > 0)
-{
- $GSMEXTCOL = 'icons/box_work.png';
-}
-elseif($GSMEE < 0 || $GSMEV < 0 || $GSMET < 0 || $GSMEO < 0)
-{
- $GSMEXTCOL = 'icons/box_fail.png';
-}
-
-if($GSMRZ1 > 0)
-{
- $BTS1COL = $colorWork;
-}
-elseif($GSMRZ1 < 0)
-{
- $BTS1COL = $colorFail;
-}
-
-if($GSMRZ2 > 0)
-{
- $BTS2COL = $colorWork;
-}
-elseif($GSMRZ2 < 0)
-{
- $BTS2COL = $colorFail;
-}
-
-if($GSMRZ3 > 0)
-{
- $BTS3COL = $colorWork;
-}
-elseif($GSMRZ3 < 0)
-{
- $BTS3COL = $colorFail;
-}
-
-if($GSMEE > 0)
-{
- $GSMEECOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEE < 0)
-{
- $GSMEECOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEV > 0)
-{
- $GSMEVCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEV < 0)
-{
- $GSMEVCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMET > 0)
-{
- $GSMETCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMET < 0)
-{
- $GSMETCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEO > 0)
-{
- $GSMEOCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEO < 0)
-{
- $GSMEOCOL = 'icons/blackberry_fail.png';
-}
-
-
-
-//NETWORK OPERABILITY
-$GSMINTPercent = rand(1,100);
-$GSMEXTPercent = rand(1,100);
-$SIPPercent = rand(1,100);
-$UNISIPPercent = rand(1,100);
-$LANDLINEPercent = rand(1,100);
-
-//print_r($GSMINTCOL);
-// add here to set the color for each node after the test ;)
-// setNode(0,$SIPCOL) or something as that :)
-?>
diff --git a/For Weekly Test/tricode/testingfile.py b/For Weekly Test/tricode/testingfile.py
deleted file mode 100644
index f7f3f05..0000000
--- a/For Weekly Test/tricode/testingfile.py
+++ /dev/null
@@ -1,49 +0,0 @@
-
-nanoBts = list()
-lists = [['sip', 'GSMExt.o2',200],['sip', 'GSMExt.Tm',200],['sip', 'GSMExt.Eplus',486],['sip', 'GSMExt.Voda',200],['GSMExt.o2','sip',200],['GSMExt.Voda','sip',200],['GSMExt.Eplus','sip',486],['GSMExt.Tm','sip',486]]
-def test():
- for x in lists:
- call=x[0]
- dest=x[1]
- result=x[2]
- #print x
- if call[0:5]=='GSMEx': # looking for calling from GSMexternal
- found = False
- if len(nanoBts) == 0:
- nanoBts.append([call, result])
- found = False
- else:
- delete = False
- for y in nanoBts: #find the existing result for GSM external in the list
- name = y[0]
- if name == call:
- if int(y[1]) == 486:
- delete = True
- nanoBts.remove(y)
- else:
- found = True
-
- if found != True:
- nanoBts.append([call, result])
- if dest[0:5]=='GSMEx': # looking for destination call to GSMexternal
- found = False
- if len(nanoBts) == 0:
- nanoBts.append([dest,result])
- found = False
- else:
- delete = False
- for y in nanoBts:
- name = y[0]
- if name == dest:
- if int(y[1]) == 486:
- delete = True
- item = y
- nanoBts.remove(y)
- else:
- found = True
- if found != True:
- nanoBts.append([dest,result])
- #print nanoBts
-
-test()
-print nanoBts
diff --git a/For Weekly Test/tricode/trueTableClass.pyc b/For Weekly Test/tricode/trueTableClass.pyc
deleted file mode 100644
index 05b508e..0000000
--- a/For Weekly Test/tricode/trueTableClass.pyc
+++ /dev/null
Binary files differ
diff --git a/For Weekly Test/tricode/usbDetectClass.pyc b/For Weekly Test/tricode/usbDetectClass.pyc
deleted file mode 100644
index 5b3d0bc..0000000
--- a/For Weekly Test/tricode/usbDetectClass.pyc
+++ /dev/null
Binary files differ
diff --git a/Handler/ca_stMa.py b/Handler/ca_stMa.py
deleted file mode 100644
index 5df33c8..0000000
--- a/Handler/ca_stMa.py
+++ /dev/null
@@ -1,153 +0,0 @@
-from serial import * #serial port library
-from threading import Thread #library to make a thread (I guess)
-from time import sleep #timer library
-import string #import the string handling library
-import sys
-import atexit
-import signal
-
-####START of the definition how the serial port works
-
-class TimeoutException(Exception):
- pass
-
-def serial_portFunc():
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(50) # triger alarm in 50 seconds
-
- try:
- global last_received #make last_received a global variable
- global exitSuccessful
- portAddress = '/dev/ttyUSB0'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
- ####END of the definition how the serial port works
- exitSuccessful = 0 #variable used to know if it closed successfully
-
- last_received = '' #reset the last received variable
- global pickUp
- pickUp = 0
- ser.write('AT\r') #just communicate with the cellphone at start
- callTrue=0 #use this variable to make sure the cell phone has dialed a number
- pickUp =0 #use to test if I pick up the call
- firstCall = 1
- firstCallSuccessful=0
- buffer = '' #make sure buffer variable is empty
- for arg in sys.argv:
- callThisNumberFirst = arg
- while True: #repeat the message accepting part forever
-
-
- #####BEGIN part responsible for receiving on serial port
-
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer: #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- buffer = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- #print line;
-
- #####END part responsible for receiving on serial port
-
-
-
-
-
-
- #####START of the state machine responsible for talking to the cellphone
-
- if len(line) > 0: #if line not empty then it is a value the cellphone returned
- #print 'I received:',line, len(line)
- if firstCall==1:
- #print 'I AM IN THE IF :)'
- sleep(1)
- callThisNumberFirst = 'ATD'+callThisNumberFirst+';\r'
- ser.write(callThisNumberFirst) #call the number from the argument
- line=''
-
- #sleep(5)
- #ser.write('AT+CSQ\r') #send the command for signal strength
- #sleep(2)
- ##sleep(5) #sleep 2 seconds
- #ser.write('AT+CHUP\r')
- firstCall=0
- firstCallSuccessful=1
-
- if (line=='OK') and (firstCallSuccessful==1):
- #print 'Successfully connected'
- sleep(1)
- ser.write('AT+CSQ\r') #send the command for signal strength
- sleep(5)
- #sleep(5) #sleep 2 seconds
- sleep(1)
- ser.write('AT+CHUP\r')
- firstCallSuccessful=0
- line = ''
-
- if line=='RING': #the cellphone is ringing and somebody is calling
- if pickUp == 0:
- sleep(1)
- ser.write('ATA\r') #pick up the phone call
- sleep(0.5) #wait half a second before sending another AT command
- sleep(1)
- ser.write('AT+CSQ\r') #tell me the signal quality command
- sleep(3)
- sleep(1)
- ser.write('AT+CHUP\r') #ask for the callers numbers
- line=''
- pickUp=1
-
- if line[0:5] == '+CSQ:':
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- signalStrength = (int(line[space:coma])*2)-113
- #print 'Signal strength', signalStrength, 'dBm'
- line=''
- if pickUp==1:
- exitSuccessful = 1
- return '|1|'+str(signalStrength)+'|'
-
- if len(line) == 4:
- if line == 'BUSY':
- if callTrue == 1:
- signalStr = '|0|Number was busy|'
- return '|0|Number was busy|'
-
- #####END of the state machine responsible for talking to the cellphone
- except TimeoutException:
- return "|2|Timeout"
- finally:
- signal.signal(signal.SIGALRM, old_handler)
-
- signal.alarm(0)
- return signalStr
-
-if __name__ == '__main__':
- result = serial_portFunc()
- print result
-
diff --git a/Handler/classServer.py b/Handler/classServer.py
deleted file mode 100644
index 109fa0b..0000000
--- a/Handler/classServer.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Echo server program
-import socket
-import sys
-import os
-import string
-from time import sleep
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self):
- if self.connected == 1:
- while 1:
- data = self.connection.recv(1024)
- if not data:
- return 'NO DATA'
- else:
- return data
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- self.connection.send(data)
- return 1
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- self.connection.close()
- return 1
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
-
diff --git a/Handler/classServer.pyc b/Handler/classServer.pyc
deleted file mode 100644
index 4dbb514..0000000
--- a/Handler/classServer.pyc
+++ /dev/null
Binary files differ
diff --git a/Handler/re_stMa.py b/Handler/re_stMa.py
deleted file mode 100644
index 498ba67..0000000
--- a/Handler/re_stMa.py
+++ /dev/null
@@ -1,152 +0,0 @@
-from serial import * #serial port library
-from threading import Thread #library to make a thread (I guess)
-from time import sleep #timer library
-import string #import the string handling library
-import sys
-import atexit
-import signal
-
-class TimeoutException(Exception):
- pass
-
-def serial_portFunc():
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(50) # triger alarm in 50 seconds
-
- try:
- global ser
- portAddress = '/dev/ttyUSB1'
- portName = portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- print 'The serial port does not exist'
- sys.exit()
-
- ser = Serial(
- port=portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
- ser.open()
- global last_received #make last_received a global variable
- global exitSuccessful
- global pickUp
- global signalStrength
- global signalStr
- signalStrength=0
- ser.write('AT\r') #just communicate with the cellphone at start
- sleep(2)
- callTrue=0 #use this variable to make sure the cell phone has dialed a number
- pickUp =0 #use to test if I pick up the call
- buffer = '' #make sure buffer variable is empty
- while True: #repeat the message accepting part forever
-
- #while ser.inWaiting()!=0:
- #####BEGIN part responsible for receiving on serial port
- buffer = buffer + ser.read(ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in buffer: #if a new line character is found in the buffer then the cellphone has sent something
- lines = buffer.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- buffer = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- #print line;
-
- #####END part responsible for receiving on serial port
-
-
-
-
- #####START of the state machine responsible for talking to the cellphone
-
- if len(line) > 0: #if line not empty then it is a value the cellphone returned
- #print 'I received:',line, len(line)
- if line=='RING': #the cellphone is ringing and somebody is calling
- if pickUp == 0:
- sleep(1)
- ser.write('ATA\r') #pick up the phone call
- sleep(0.5) #wait half a second before sending another AT command
- sleep(1)
- ser.write('AT+CSQ\r') #tell me the signal quality
- sleep(2)
- sleep(1)
- ser.write('AT+CLCC\r') #ask for the callers numbers
- line=''
-
- if line[0:5] == '+CSQ:':
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- signalStr = (int(line[space:coma])*2)-113
- #print 'Signal strength', signalStrength, 'dBm'
- line=''
-
- if line[0:6]=='+CLCC:': #+CLCC at the start of replied string means the phone responded with caller's numbers
- pickUp = 1 #here I can be sure that I picked up the phone
- #print 'I have the calling number'
- sleep(1)
- ser.write('AT+CHUP\r') #hang up the call
- pickUp = 0 #here I can be sure that I hang up the call
- #ser.write('AT\r')
- sleep(2)
-
- ###BEGIN extract me the phone number inside the quotes +CLCC: 1,1,0,0,0,"474",129 26, e.g. 474
-
- quotation1 = int(string.find(line,'"'))+1 #find the first " (quotation) sign
- lineTemp = line[quotation1:] #remove from the line everything before and including " sign
-
- quotation2 = int(string.find(lineTemp,'"')) #find the first " (quotation) sign in the new line (lineTemp)
- numberOfCaller = line[quotation1:quotation1+quotation2] #from the old line variable just extract the phone number
-
- callBackNumber='ATD' + numberOfCaller + ';\r' #make the command for calling the number
-
- ###END extract me the phone number inside the quotes +CLCC: 1,1,0,0,0,"474",129 26, e.g. 474
-
- #print callBackNumber
- sleep(1)
- ser.write(callBackNumber)
- callTrue=1
- line=''
- sleep(3)
- signalStr = '|1|'+str(signalStr)+'|'
- exitSuccessful = 1
- #sleep(1)
- #sys.exit()
- sleep(6)
- ser.write('AT+CHUP\r')
- sleep(1)
- ser.close()
- return signalStr
-
- if len(line) == 4:
- if line == 'BUSY':
- if callTrue == 1:
- signalStr = '|0|Number was busy|'
- return '|0|Number was busy|'
-
- #####END of the state machine responsible for talking to the cellphone
-
- except TimeoutException:
- return "|2|Timeout"
- finally:
- signal.signal(signal.SIGALRM, old_handler)
-
- signal.alarm(0)
- return signalStr
-
-if __name__ == '__main__':
- result = serial_portFunc()
- print result
diff --git a/Handler/sipHandler.py b/Handler/sipHandler.py
deleted file mode 100644
index e404e03..0000000
--- a/Handler/sipHandler.py
+++ /dev/null
@@ -1,229 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
- sleep(0.5)
-
- call.answer(200)
- logger.logEvent("Answer call")
- sleep(0.5)
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('cant connect to Controller')
- sys.exit(1)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- num = message[7:]
-
-def initHandler():
- global acc_cfg
- global handler
- global sipServer
-
-
- handler = sys.argv[1]
-
-
- if handler == 'sip':
- logger.logEvent('Beeing SIP')
- acc_cfg = pj.AccountConfig("132.230.4.8","mpselftest1","1mpselftest")
- sipServer = '132.230.4.8'
-
- elif handler == 'landline':
- logger.logEvent('Beeing Landline')
- acc_cfg = pj.AccountConfig("sipgate.de","1289459","MMW9AX")
- sipServer = 'sipgate.de'
-
- elif handler == 'unisip':
- logger.logEvent('Beeing University SIP')
- acc_cfg = pj.AccountConfig("132.230.252.228", "4976120397897", "hB8M3WyFt61C")
- sipServer = '132.230.252.228'
-
- else:
- logger.logEvent('Unknown Message')
- server.sendData('Unknown Message')
- server.closeConnection()
- sys.exit(1)
-
-
-
-lib = pj.Lib()
-stop = False
-
-logger = LogFileClass.Logging('sipHandler.log')
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
- initHandler()
-
- try:
- initState()
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
-
- if data == 'RECEIVE START':
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(3)
-
- if data == 'CALL START':
- if num <> '':
- sleep(5)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/For Weekly Test/tricode/Images/AutoIcon.png b/Website/Images/AutoIcon.png
index 5ff782f..5ff782f 100644
--- a/For Weekly Test/tricode/Images/AutoIcon.png
+++ b/Website/Images/AutoIcon.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/BackGround.jpg b/Website/Images/BackGround.jpg
index 25aa515..25aa515 100644
--- a/For Weekly Test/tricode/Images/BackGround.jpg
+++ b/Website/Images/BackGround.jpg
Binary files differ
diff --git a/For Weekly Test/tricode/Images/BackgroundLogin.png b/Website/Images/BackgroundLogin.png
index 0608425..0608425 100644
--- a/For Weekly Test/tricode/Images/BackgroundLogin.png
+++ b/Website/Images/BackgroundLogin.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/CheckAllButton.png b/Website/Images/CheckAllButton.png
index 95882f5..95882f5 100644
--- a/For Weekly Test/tricode/Images/CheckAllButton.png
+++ b/Website/Images/CheckAllButton.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/ChooseIcon.png b/Website/Images/ChooseIcon.png
index 53ac136..53ac136 100644
--- a/For Weekly Test/tricode/Images/ChooseIcon.png
+++ b/Website/Images/ChooseIcon.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/GSMTestButton.png b/Website/Images/GSMTestButton.png
index a663494..a663494 100644
--- a/For Weekly Test/tricode/Images/GSMTestButton.png
+++ b/Website/Images/GSMTestButton.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/ManualIcon.png b/Website/Images/ManualIcon.png
index 222f446..222f446 100644
--- a/For Weekly Test/tricode/Images/ManualIcon.png
+++ b/Website/Images/ManualIcon.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/MobilePhone.png b/Website/Images/MobilePhone.png
index e3f9fc8..e3f9fc8 100644
--- a/For Weekly Test/tricode/Images/MobilePhone.png
+++ b/Website/Images/MobilePhone.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/MobilePhoneIcon.png b/Website/Images/MobilePhoneIcon.png
index c369145..c369145 100644
--- a/For Weekly Test/tricode/Images/MobilePhoneIcon.png
+++ b/Website/Images/MobilePhoneIcon.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/SIPTestButton.png b/Website/Images/SIPTestButton.png
index bbb2408..bbb2408 100644
--- a/For Weekly Test/tricode/Images/SIPTestButton.png
+++ b/Website/Images/SIPTestButton.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/SmartIcon.png b/Website/Images/SmartIcon.png
index dcfae0a..dcfae0a 100644
--- a/For Weekly Test/tricode/Images/SmartIcon.png
+++ b/Website/Images/SmartIcon.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/SubmitButton.png b/Website/Images/SubmitButton.png
index 904c8b0..904c8b0 100644
--- a/For Weekly Test/tricode/Images/SubmitButton.png
+++ b/Website/Images/SubmitButton.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/UncheckButton.png b/Website/Images/UncheckButton.png
index 464ee2c..464ee2c 100644
--- a/For Weekly Test/tricode/Images/UncheckButton.png
+++ b/Website/Images/UncheckButton.png
Binary files differ
diff --git a/For Weekly Test/tricode/Images/border1.png b/Website/Images/border1.png
index 09ea911..09ea911 100644
--- a/For Weekly Test/tricode/Images/border1.png
+++ b/Website/Images/border1.png
Binary files differ
diff --git a/Website/tricode/TaskTest.html b/Website/TaskTest.html
index e1f7fcc..5202ed5 100644
--- a/Website/tricode/TaskTest.html
+++ b/Website/TaskTest.html
@@ -6,13 +6,13 @@
<meta name="generator" content="BBEdit 9.6" />
</head>
-<body background="Images/BackGround.jpg" style="height: 100%;">
+<body onUnload="window.location.href=thisPage.html;";" background="Images/BackGround.jpg" style="height: 100%;">
<table style="width:75%; margin:auto" border="0">
<tr align="center">
- <td height="100px" align="right"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="left"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="100px" align="right"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="100px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr align="center">
<td height="100px" align="right"></td>
@@ -28,7 +28,7 @@
<INPUT type="image" value="uncheck" name="uncheck" src="Images/UncheckButton.png" onClick="deselectAll()"><br />
<!--<input type=button value="UnCheck All values" onClick="deselectAll()"><br />-->
<form name="testForm" form action="mutexTry.php" method="POST">
- <INPUT type="image" value="submit" name="submit" src="Images/SubmitButton.png"><br />
+ <INPUT type="image" value="submit" name="submit" src="Images/SubmitButton.png" onclick="this.style.display='none'; return true;"><br />
<!--<input type=SUBMIT value="Submit"><br />-->
</td>
<td style="text-align:top;">
diff --git a/For Weekly Test/tricode/about.html b/Website/about.html
index e103ef9..bd6e2c4 100644
--- a/For Weekly Test/tricode/about.html
+++ b/Website/about.html
@@ -12,8 +12,8 @@
<table style="width:50%; height: 100%; margin:auto;" border="0">
<tr>
<td height="120px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="120px" align="center"><a href="about.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="120px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="120px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr>
diff --git a/For Weekly Test/tricode/class/pBarcode128.class.php b/Website/class/pBarcode128.class.php
index 07f5db8..07f5db8 100644
--- a/For Weekly Test/tricode/class/pBarcode128.class.php
+++ b/Website/class/pBarcode128.class.php
diff --git a/For Weekly Test/tricode/class/pBarcode39.class.php b/Website/class/pBarcode39.class.php
index 8d57b71..8d57b71 100644
--- a/For Weekly Test/tricode/class/pBarcode39.class.php
+++ b/Website/class/pBarcode39.class.php
diff --git a/For Weekly Test/tricode/class/pBubble.class.php b/Website/class/pBubble.class.php
index 483a1f3..483a1f3 100644
--- a/For Weekly Test/tricode/class/pBubble.class.php
+++ b/Website/class/pBubble.class.php
diff --git a/For Weekly Test/tricode/class/pCache.class.php b/Website/class/pCache.class.php
index 07d1d4e..07d1d4e 100644
--- a/For Weekly Test/tricode/class/pCache.class.php
+++ b/Website/class/pCache.class.php
diff --git a/For Weekly Test/tricode/class/pData.class.php b/Website/class/pData.class.php
index 9cfbc3f..9cfbc3f 100644
--- a/For Weekly Test/tricode/class/pData.class.php
+++ b/Website/class/pData.class.php
diff --git a/For Weekly Test/tricode/class/pDraw.class.php b/Website/class/pDraw.class.php
index 85e408e..85e408e 100644
--- a/For Weekly Test/tricode/class/pDraw.class.php
+++ b/Website/class/pDraw.class.php
diff --git a/For Weekly Test/tricode/class/pImage.class.php b/Website/class/pImage.class.php
index 4684e3c..4684e3c 100644
--- a/For Weekly Test/tricode/class/pImage.class.php
+++ b/Website/class/pImage.class.php
diff --git a/For Weekly Test/tricode/class/pIndicator.class.php b/Website/class/pIndicator.class.php
index 4f7f23b..4f7f23b 100644
--- a/For Weekly Test/tricode/class/pIndicator.class.php
+++ b/Website/class/pIndicator.class.php
diff --git a/For Weekly Test/tricode/class/pPie.class.php b/Website/class/pPie.class.php
index 8940b4d..8940b4d 100644
--- a/For Weekly Test/tricode/class/pPie.class.php
+++ b/Website/class/pPie.class.php
diff --git a/For Weekly Test/tricode/class/pRadar.class.php b/Website/class/pRadar.class.php
index 6235c99..6235c99 100644
--- a/For Weekly Test/tricode/class/pRadar.class.php
+++ b/Website/class/pRadar.class.php
diff --git a/For Weekly Test/tricode/class/pScatter.class.php b/Website/class/pScatter.class.php
index 55ef1c7..55ef1c7 100644
--- a/For Weekly Test/tricode/class/pScatter.class.php
+++ b/Website/class/pScatter.class.php
diff --git a/For Weekly Test/tricode/class/pSplit.class.php b/Website/class/pSplit.class.php
index 0a62c3d..0a62c3d 100644
--- a/For Weekly Test/tricode/class/pSplit.class.php
+++ b/Website/class/pSplit.class.php
diff --git a/For Weekly Test/tricode/class/pSpring.class.php b/Website/class/pSpring.class.php
index fcfc8f2..fcfc8f2 100644
--- a/For Weekly Test/tricode/class/pSpring.class.php
+++ b/Website/class/pSpring.class.php
diff --git a/For Weekly Test/tricode/class/pStock.class.php b/Website/class/pStock.class.php
index 7f9dbfb..7f9dbfb 100644
--- a/For Weekly Test/tricode/class/pStock.class.php
+++ b/Website/class/pStock.class.php
diff --git a/For Weekly Test/tricode/class/pSurface.class.php b/Website/class/pSurface.class.php
index f887ac0..f887ac0 100644
--- a/For Weekly Test/tricode/class/pSurface.class.php
+++ b/Website/class/pSurface.class.php
diff --git a/For Weekly Test/tricode/css/Critical.png b/Website/css/Critical.png
index e025d19..e025d19 100644
--- a/For Weekly Test/tricode/css/Critical.png
+++ b/Website/css/Critical.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/Help.png b/Website/css/Help.png
index 42a8f7c..42a8f7c 100644
--- a/For Weekly Test/tricode/css/Help.png
+++ b/Website/css/Help.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/Info.png b/Website/css/Info.png
index 5a7a2c3..5a7a2c3 100644
--- a/For Weekly Test/tricode/css/Info.png
+++ b/Website/css/Info.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/Warning.png b/Website/css/Warning.png
index 0af654e..0af654e 100644
--- a/For Weekly Test/tricode/css/Warning.png
+++ b/Website/css/Warning.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/chk_off.png b/Website/css/chk_off.png
index 1514d51..1514d51 100755
--- a/For Weekly Test/tricode/css/chk_off.png
+++ b/Website/css/chk_off.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/chk_on.png b/Website/css/chk_on.png
index a9925a0..a9925a0 100755
--- a/For Weekly Test/tricode/css/chk_on.png
+++ b/Website/css/chk_on.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/formCSS.css b/Website/css/formCSS.css
index f94bd72..f94bd72 100644
--- a/For Weekly Test/tricode/css/formCSS.css
+++ b/Website/css/formCSS.css
diff --git a/For Weekly Test/tricode/css/info_rhombus.png b/Website/css/info_rhombus.png
index 036733e..036733e 100644
--- a/For Weekly Test/tricode/css/info_rhombus.png
+++ b/Website/css/info_rhombus.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/information.png b/Website/css/information.png
index 93c67f2..93c67f2 100644
--- a/For Weekly Test/tricode/css/information.png
+++ b/Website/css/information.png
Binary files differ
diff --git a/For Weekly Test/tricode/css/link.gif b/Website/css/link.gif
index daada04..daada04 100644
--- a/For Weekly Test/tricode/css/link.gif
+++ b/Website/css/link.gif
Binary files differ
diff --git a/For Weekly Test/tricode/css/tableCSS.css b/Website/css/tableCSS.css
index 58e7716..32a6d71 100644
--- a/For Weekly Test/tricode/css/tableCSS.css
+++ b/Website/css/tableCSS.css
@@ -24,7 +24,8 @@ URL: http://www.alvit.de/vf
padding-top: 0px;
padding-right: 220px;
padding-left: 350px;
- border: 1px solid black;
+ border: 0;
+ border-style: none;
}
body {
background-color: #F0F0F0;
diff --git a/For Weekly Test/tricode/css/tooltip.css b/Website/css/tooltip.css
index 3a50734..3a50734 100644
--- a/For Weekly Test/tricode/css/tooltip.css
+++ b/Website/css/tooltip.css
diff --git a/For Weekly Test/tricode/css/visitedLink.gif b/Website/css/visitedLink.gif
index f7f1867..f7f1867 100644
--- a/For Weekly Test/tricode/css/visitedLink.gif
+++ b/Website/css/visitedLink.gif
Binary files differ
diff --git a/For Weekly Test/tricode/delayedLoading.js b/Website/delayedLoading.js
index b76bbe3..b76bbe3 100644
--- a/For Weekly Test/tricode/delayedLoading.js
+++ b/Website/delayedLoading.js
diff --git a/Website/tricode/devconf.html b/Website/devconf.html
index f791dd7..d89ffd5 100644
--- a/Website/tricode/devconf.html
+++ b/Website/devconf.html
@@ -12,7 +12,7 @@
<FORM name="testForm" form action="devconf.php" method="POST">
<table style="width:50%; margin:auto" border="0">
<tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="100px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
<td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
<td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Log Out</font></td>
</tr>
diff --git a/Website/tricode/devconf.php b/Website/devconf.php
index 49e78d6..49e78d6 100644
--- a/Website/tricode/devconf.php
+++ b/Website/devconf.php
diff --git a/Website/tricode/devconfig.php b/Website/devconfig.php
index d6b6d5f..dc35163 100644
--- a/Website/tricode/devconfig.php
+++ b/Website/devconfig.php
@@ -12,9 +12,9 @@
<FORM name="testForm" form action="devconf.php" method="POST">
<table style="width:50%; margin:auto" border="0">
<tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="100px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="100px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr>
diff --git a/Website/tricode/devconfigAuto.php b/Website/devconfigAuto.php
index 1e72e3c..c1473ed 100644
--- a/Website/tricode/devconfigAuto.php
+++ b/Website/devconfigAuto.php
@@ -13,9 +13,9 @@
<FORM name="testForm" form action="devconf.php" method="POST">
<table style="width:50%; margin:auto" border="0">
<tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="100px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="100px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr>
diff --git a/Website/tricode/devconfigManual.php b/Website/devconfigManual.php
index 65c0016..3f58b2f 100644
--- a/Website/tricode/devconfigManual.php
+++ b/Website/devconfigManual.php
@@ -11,9 +11,9 @@
<!--<FORM name="testForm" form action="devconf.php" method="POST">-->
<table style="width:50%; margin:auto" border="0">
<tr>
- <td height="100px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="100px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="100px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="100px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="100px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr>
diff --git a/For Weekly Test/tricode/execute.php b/Website/execute.php
index a384da1..a384da1 100755
--- a/For Weekly Test/tricode/execute.php
+++ b/Website/execute.php
diff --git a/For Weekly Test/tricode/fonts/Bedizen.ttf b/Website/fonts/Bedizen.ttf
index d115733..d115733 100644
--- a/For Weekly Test/tricode/fonts/Bedizen.ttf
+++ b/Website/fonts/Bedizen.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/Forgotte.ttf b/Website/fonts/Forgotte.ttf
index a2f7f4a..a2f7f4a 100644
--- a/For Weekly Test/tricode/fonts/Forgotte.ttf
+++ b/Website/fonts/Forgotte.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/GeosansLight.ttf b/Website/fonts/GeosansLight.ttf
index 055932a..055932a 100644
--- a/For Weekly Test/tricode/fonts/GeosansLight.ttf
+++ b/Website/fonts/GeosansLight.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/MankSans.ttf b/Website/fonts/MankSans.ttf
index a6146a9..a6146a9 100644
--- a/For Weekly Test/tricode/fonts/MankSans.ttf
+++ b/Website/fonts/MankSans.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/Silkscreen.ttf b/Website/fonts/Silkscreen.ttf
index ae4425d..ae4425d 100644
--- a/For Weekly Test/tricode/fonts/Silkscreen.ttf
+++ b/Website/fonts/Silkscreen.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/advent_light.ttf b/Website/fonts/advent_light.ttf
index 514030a..514030a 100644
--- a/For Weekly Test/tricode/fonts/advent_light.ttf
+++ b/Website/fonts/advent_light.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/calibri.ttf b/Website/fonts/calibri.ttf
index 8b6e3c9..8b6e3c9 100644
--- a/For Weekly Test/tricode/fonts/calibri.ttf
+++ b/Website/fonts/calibri.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/pf_arma_five.ttf b/Website/fonts/pf_arma_five.ttf
index db04ec3..db04ec3 100644
--- a/For Weekly Test/tricode/fonts/pf_arma_five.ttf
+++ b/Website/fonts/pf_arma_five.ttf
Binary files differ
diff --git a/For Weekly Test/tricode/fonts/verdana.ttf b/Website/fonts/verdana.ttf
index 5a059d2..5a059d2 100644
--- a/For Weekly Test/tricode/fonts/verdana.ttf
+++ b/Website/fonts/verdana.ttf
Binary files differ
diff --git a/Website/tricode/home.html b/Website/home.html
index 292c27f..419cce2 100644
--- a/Website/tricode/home.html
+++ b/Website/home.html
@@ -23,7 +23,7 @@
<tr>
<!--<td height="100px" align="center"><INPUT type="image" value="DeviceConfig" name="DeviceConf" src="Images/MobilePhoneIcon.png"></td>-->
<td height="100px" align="center"><a href="devconfig.php" STYLE="TEXT-DECORATION: NONE"> <img src="Images/MobilePhoneIcon.png"></img></td>
- <td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/SmartIcon.png"></td>
+ <td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/SmartIcon.png" onclick="this.style.display='none'; return true;"></td>
<td height="100px" align="center"><a href="TaskTest.html" STYLE="TEXT-DECORATION: NONE"> <img src="Images/ChooseIcon.png"></img></td>
<!--<td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/ChooseIcon.png"></td>-->
</tr>
diff --git a/For Weekly Test/tricode/icons/blackberry_dunno.png b/Website/icons/blackberry_dunno.png
index 4ee9ee0..4ee9ee0 100644
--- a/For Weekly Test/tricode/icons/blackberry_dunno.png
+++ b/Website/icons/blackberry_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/blackberry_fail.png b/Website/icons/blackberry_fail.png
index 650d942..650d942 100644
--- a/For Weekly Test/tricode/icons/blackberry_fail.png
+++ b/Website/icons/blackberry_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/blackberry_work.png b/Website/icons/blackberry_work.png
index 3fe1d09..3fe1d09 100644
--- a/For Weekly Test/tricode/icons/blackberry_work.png
+++ b/Website/icons/blackberry_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/box_dunno.png b/Website/icons/box_dunno.png
index 744ec7a..744ec7a 100644
--- a/For Weekly Test/tricode/icons/box_dunno.png
+++ b/Website/icons/box_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/box_fail.png b/Website/icons/box_fail.png
index 3398e05..3398e05 100644
--- a/For Weekly Test/tricode/icons/box_fail.png
+++ b/Website/icons/box_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/box_work.png b/Website/icons/box_work.png
index 666fced..666fced 100644
--- a/For Weekly Test/tricode/icons/box_work.png
+++ b/Website/icons/box_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/server_dunno.png b/Website/icons/server_dunno.png
index 588514e..588514e 100644
--- a/For Weekly Test/tricode/icons/server_dunno.png
+++ b/Website/icons/server_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/server_fail.png b/Website/icons/server_fail.png
index a699864..a699864 100644
--- a/For Weekly Test/tricode/icons/server_fail.png
+++ b/Website/icons/server_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/server_work.png b/Website/icons/server_work.png
index 210979f..210979f 100644
--- a/For Weekly Test/tricode/icons/server_work.png
+++ b/Website/icons/server_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/sip_dunno.png b/Website/icons/sip_dunno.png
index e494a61..e494a61 100644
--- a/For Weekly Test/tricode/icons/sip_dunno.png
+++ b/Website/icons/sip_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/sip_fail.png b/Website/icons/sip_fail.png
index 02d7029..02d7029 100644
--- a/For Weekly Test/tricode/icons/sip_fail.png
+++ b/Website/icons/sip_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/sip_work.png b/Website/icons/sip_work.png
index 5774487..5774487 100644
--- a/For Weekly Test/tricode/icons/sip_work.png
+++ b/Website/icons/sip_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/telephone_dunno.png b/Website/icons/telephone_dunno.png
index 2ac9dd6..2ac9dd6 100644
--- a/For Weekly Test/tricode/icons/telephone_dunno.png
+++ b/Website/icons/telephone_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/telephone_fail.png b/Website/icons/telephone_fail.png
index 222050d..222050d 100644
--- a/For Weekly Test/tricode/icons/telephone_fail.png
+++ b/Website/icons/telephone_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/telephone_work.png b/Website/icons/telephone_work.png
index 5086dd2..5086dd2 100644
--- a/For Weekly Test/tricode/icons/telephone_work.png
+++ b/Website/icons/telephone_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/uni-network_dunno.png b/Website/icons/uni-network_dunno.png
index 7d99f0e..7d99f0e 100644
--- a/For Weekly Test/tricode/icons/uni-network_dunno.png
+++ b/Website/icons/uni-network_dunno.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/uni-network_fail.png b/Website/icons/uni-network_fail.png
index 3da0a70..3da0a70 100644
--- a/For Weekly Test/tricode/icons/uni-network_fail.png
+++ b/Website/icons/uni-network_fail.png
Binary files differ
diff --git a/For Weekly Test/tricode/icons/uni-network_work.png b/Website/icons/uni-network_work.png
index fdc7989..fdc7989 100644
--- a/For Weekly Test/tricode/icons/uni-network_work.png
+++ b/Website/icons/uni-network_work.png
Binary files differ
diff --git a/For Weekly Test/tricode/home.html b/Website/index.php
index 864d548..30cc853 100644
--- a/For Weekly Test/tricode/home.html
+++ b/Website/index.php
@@ -6,14 +6,14 @@
<meta name="generator" content="BBEdit 9.6" />
</head>
-<body background="Images/BackGround.jpg" style="height: 100%;">
+<body onUnload="window.location.href=thisPage.html;" background="Images/BackGround.jpg" style="height: 100%;">
-<FORM name="testForm" form action="mutexTry.php" method="POST">
+<FORM name="testForm" form action="mutexSmartTest.php" method="POST">
<table style="width:50%; height: 100%; margin:auto;" border="0">
<tr>
- <td height="120px" align="center"><a href="home.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
- <td height="120px" align="center"><a href="Blank.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
- <td height="120px" align="center"><font size="3" face="Century Gothic" color="LightGray">Help</font></td>
+ <td height="120px" align="center"><a href="index.php" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">HOME</font></a></td>
+ <td height="120px" align="center"><a href="about.html" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">About Us</font></a></td>
+ <td height="120px" align="center"><a href="report.pdf" STYLE="TEXT-DECORATION: NONE"><font size="3" face="Century Gothic" color="LightGray">Help</font></a></td>
</tr>
<tr>
@@ -22,8 +22,8 @@
<tr>
<!--<td height="100px" align="center"><INPUT type="image" value="DeviceConfig" name="DeviceConf" src="Images/MobilePhoneIcon.png"></td>-->
- <td height="100px" align="center"><a href="devconf.html" STYLE="TEXT-DECORATION: NONE"> <img src="Images/MobilePhoneIcon.png"></img></td>
- <td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/SmartIcon.png"></td>
+ <td height="100px" align="center"><a href="devconfig.php" STYLE="TEXT-DECORATION: NONE"> <img src="Images/MobilePhoneIcon.png"></img></td>
+ <td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/SmartIcon.png" onclick="this.style.display='none'; return true;"></td>
<td height="100px" align="center"><a href="TaskTest.html" STYLE="TEXT-DECORATION: NONE"> <img src="Images/ChooseIcon.png"></img></td>
<!--<td height="100px" align="center"><INPUT type="image" value="Smart test" name="smart" src="Images/ChooseIcon.png"></td>-->
</tr>
@@ -35,7 +35,7 @@
</tr>
<tr>
- <table style="width:100%; margin-top: -20px; height:50%; align: center" border="0" clear: both;>
+ <table style="width:100%; margin-top: -10px; height: 300px; align: center" valign="bottom" border="0">
<tr>
<td height="100px" align="center" valign="bottom"><font size="1" face="Century Gothic" color="LightGray">Albert-Ludwig University of Freiburg 2011</td>
</tr>
diff --git a/Website/index1.html b/Website/index1.html
new file mode 100644
index 0000000..96db729
--- /dev/null
+++ b/Website/index1.html
@@ -0,0 +1 @@
+Yeeeey :) you are logged in :)
diff --git a/notFinishedCode/tricode/insertData.php b/Website/insertData.php
index fe77587..6a9bdb4 100644
--- a/notFinishedCode/tricode/insertData.php
+++ b/Website/insertData.php
@@ -31,6 +31,7 @@ function getNewTaskNo()
}
}
+
function insertTask($taskNo, $from, $to)
{
$trans = "START TRANSACTION;";
diff --git a/Website/tricode/insertdevice.php b/Website/insertdevice.php
index 1b83f65..1b83f65 100644
--- a/Website/tricode/insertdevice.php
+++ b/Website/insertdevice.php
diff --git a/For Weekly Test/tricode/loader.gif b/Website/loader.gif
index 240d4e1..240d4e1 100644
--- a/For Weekly Test/tricode/loader.gif
+++ b/Website/loader.gif
Binary files differ
diff --git a/Website/tricode/main.php b/Website/main.php
index 595812b..3a5bd25 100644
--- a/Website/tricode/main.php
+++ b/Website/main.php
@@ -39,7 +39,7 @@
</td>
<td height="100px" width ="100px" align="left">
<font size="3" face="Century Gothic" color="LightGray">
- Port Number<br>
+ Port Address<br>
IMEI<br>
Number<br>
</font>
diff --git a/For Weekly Test/tricode/moocheck.js b/Website/moocheck.js
index 0c364aa..0c364aa 100644
--- a/For Weekly Test/tricode/moocheck.js
+++ b/Website/moocheck.js
diff --git a/For Weekly Test/tricode/mootools.js b/Website/mootools.js
index 45b1f3e..45b1f3e 100644
--- a/For Weekly Test/tricode/mootools.js
+++ b/Website/mootools.js
diff --git a/For Weekly Test/tricode/mutexFunctions.php b/Website/mutexFunctions.php
index af45610..af45610 100644
--- a/For Weekly Test/tricode/mutexFunctions.php
+++ b/Website/mutexFunctions.php
diff --git a/For Weekly Test/tricode/mutexSmartTest.php b/Website/mutexSmartTest.php
index 5df26e6..33dfbb0 100644
--- a/For Weekly Test/tricode/mutexSmartTest.php
+++ b/Website/mutexSmartTest.php
@@ -1,5 +1,3 @@
-<!--<BODY onUnload="window.location.href=thisPage.html;"> -->
-
<html>
<head>
<script src='delayedLoading.js' type="text/javascript"></script>
@@ -129,6 +127,7 @@ if ($locking == '1') //1 means nobody is on the website
<tbody>';
echo str_repeat("\n",7024);
flush();
+
}
elseif ($received == "TEST DONE\n")
{
@@ -138,7 +137,7 @@ if ($locking == '1') //1 means nobody is on the website
echo '</div>';
echo '<div id="sidebar">';
echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer"><font size ="3" face="Century Gothic" color="black">Number of tasks: '.$numberofTask.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
+ echo '<div id="footer"><font size ="3" face="Century Gothic" color="black">Number of tasks: '.$numberofTask.'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
echo str_repeat("\n",7024);
flush();
usleep(100);
@@ -149,13 +148,13 @@ if ($locking == '1') //1 means nobody is on the website
{
//parse the received data!
$numberofTask++;
- echo $received;
$received = str_replace("\n",'',$received);
$dataForTable = explode("|", $received);
$callFrom = strtoupper($dataForTable[1]);
$callTo = strtoupper($dataForTable[2]);
$testStatus = strtoupper($dataForTable[3]);
//ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
+
if($callFrom == 'SIP' || $callTo == 'SIP')
{
if($testStatus == '200' || $testStatus == '402')
@@ -195,7 +194,7 @@ if ($locking == '1') //1 means nobody is on the website
{
$SIP = -1;
}
- $SIPP = -1;
+ $SIPP = 2;
if ($LSFKS != 1)
{
$LSFKS = 0;
@@ -225,7 +224,7 @@ if ($locking == '1') //1 means nobody is on the website
{
$SIP = -1;
}
- $SIPP = -1;
+ $SIPP = 2;
if ($LSFKS != 1)
{
$LSFKS = 0;
@@ -233,7 +232,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
{
if($testStatus == '200' || $testStatus == '402')
@@ -258,7 +256,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '998' || $testStatus == '802')
{
- $GSMRZ1 = 1; //where is nanoBTS1
+ $GSMRZ1 = 0; //where is nanoBTS1
}
}
elseif ($callTo == 'GSMRZ1')
@@ -272,7 +270,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '999' || $testStatus == '801')
{
- $GSMRZ1 = 1; //where is nanoBTS1
+ $GSMRZ1 = 0; //where is nanoBTS1
}
}
}
@@ -286,21 +284,82 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
- $GSMRZ2 = -1;
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2 = -1;
+ }
$NANOBTS1P = 1;
}
- else
+ if ($callFrom == 'GSMRZ2')
+ {
+ if ($testStatus == '999' || $testStatus == '801')
+ {
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2= 0;
+ }
+
+ if ($testStatus == '801')
+ {
+ $NANOBTS1P= 1;
+ }
+ if ($testStatus == '999')
+ {
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 0;
+ }
+ }
+ }
+ elseif ($testStatus == '500')
+ {
+ $NANOBTS1P = 0;
+ $GSMRZ2= 0;
+ }
+ elseif($testStatus == '998' || $testStatus == '802')
+ {
+ $GSMRZ2 = 0; //where is nanoBTS1
+ $NANOBTS1P= 1;
+ }
+ }
+ elseif ($callTo == 'GSMRZ2')
{
- if ($GSMRZ2 != 1)
- {
- $GSMRZ2 = 0;
+ if ($testStatus == '998' || $testStatus == '802')
+ {
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2 = 0;
+ }
+ if ($testStatus == '802')
+ {
+ $NANOBTS1P= 1;
+ }
+ if ($testStatus == '998')
+ {
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 0;
+ }
+ }
}
- if ($NANOBTS1P != 1)
- {
+ elseif ($testStatus == '501')
+ {
$NANOBTS1P = 0;
+ $GSMRZ2= 0;
+ }
+ elseif($testStatus == '999' || $testStatus == '801')
+ {
+ $GSMRZ2 = 0; //where is nanoBTS1
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 2;
+ }
+
}
}
+
}
+
if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
{
if($testStatus == '200' || $testStatus == '402')
@@ -310,20 +369,80 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
- $GSMRZ3 = -1;
+
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3 = -1;
+ }
$NANOBTS2P = 1;
}
- else
+ if ($callFrom == 'GSMRZ3')
{
- if ($GSMRZ3 != 1)
- {
- $GSMRZ3 = 0;
+ if ($testStatus == '999' || $testStatus == '801')
+ {
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3= 0;
+ }
+
+ if ($testStatus == '801')
+ {
+ $NANOBTS2P= 1;
+ }
+ if ($testStatus == '999')
+ {
+ if ($NANOBTS2P != 1)
+ {
+ $NANOBTS2P= 0;
+ }
+ }
}
- if ($NANOBTS2P != 1)
- {
+ elseif ($testStatus == '5010')
+ {
$NANOBTS2P = 0;
+ $GSMRZ3= 0;
+ }
+ elseif($testStatus == '998' || $testStatus == '802')
+ {
+ $GSMRZ3 = 0; //where is nanoBTS1
+ $NANOBTS2P= 1;
}
}
+ elseif ($callTo == 'GSMRZ3')
+ {
+ if ($testStatus == '998' || $testStatus == '802')
+ {
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3 = 0;
+ }
+ if ($testStatus == '802')
+ {
+ $NANOBTS2P= 1;
+ }
+ if ($testStatus == '998')
+ {
+ if ($NANOBTS2P != 1)
+ {
+ $NANOBTS2P= 0;
+ }
+ }
+ }
+ elseif ($testStatus == '501')
+ {
+ $NANOBTS2P = 0;
+ $GSMRZ3= 0;
+ }
+ elseif($testStatus == '999' || $testStatus == '801')
+ {
+ $GSMRZ3 = 0; //where is nanoBTS1
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS2P= 2;
+ }
+
+ }
+ }//
}
if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
@@ -645,9 +764,14 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($LANDLINEP != 1)
{
- $LANDLINEP = -1;
+ $LANDLINEP = 2;
}
}
+ elseif ($testStatus == '500')
+ {
+ $LANDLINEP = 0;
+ $LANDLINE = 0;
+ }
elseif($testStatus == '998' || $testStatus == '802')
{
$LANDLINE = 1;
@@ -675,6 +799,11 @@ if ($locking == '1') //1 means nobody is on the website
$LANDLINEP = 0;
}
}
+ elseif ($testStatus == '501')
+ {
+ $LANDLINEP = 0;
+ $LANDLINE = 0;
+ }
elseif($testStatus == '998')
{
if ($LANDLINE != 1)
@@ -687,7 +816,7 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($LANDLINEP != 1)
{
- $LANDLINEP = -1;
+ $LANDLINEP = 2;
}
}
}
@@ -702,6 +831,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
+ $UNISIPP = 1;
if ($UNISIP != 1)
{
$UNISIP = -1;
@@ -717,9 +847,14 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($UNISIPP != 1)
{
- $UNISIPP = -1;
+ $UNISIPP = 2;
}
}
+ elseif ($testStatus == '500')
+ {
+ $UNISIPP = 0;
+ $UNISIP = 0;
+ }
elseif($testStatus == '998' || $testStatus == '802')
{
$UNISIP = 1;
@@ -740,6 +875,11 @@ if ($locking == '1') //1 means nobody is on the website
}
}
+ elseif ($testStatus == '501')
+ {
+ $UNISIPP = 0;
+ $UNISIP = 0;
+ }
elseif($testStatus == '999' || $testStatus == '801')
{
if ($UNISIP != 1)
@@ -753,8 +893,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
-
//END OF TEST CASE EXAMPLE
echo '<tr>
<th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
diff --git a/For Weekly Test/tricode/mutexTry.php b/Website/mutexTry.php
index be3a123..f6b4514 100755
--- a/For Weekly Test/tricode/mutexTry.php
+++ b/Website/mutexTry.php
@@ -129,6 +129,18 @@ if ($locking == '1') //1 means nobody is on the website
<tbody>';
echo str_repeat("\n",7024);
flush();
+ sleep(6);
+ $pings = mysql_query("select * from PingResultTable where taskNo=(select max(taskNo) from PingResultTable)");
+
+ while($row = mysql_fetch_array($pings))
+ {
+ // echo $row['taskNo'];
+ $SIPP = $row['sipServer'];
+ $LANDLINEP = $row['sipGate'];
+ $UNISIPP = $row['unisip'];
+ $NANOBTS1P = $row['gsmBox1'];
+ $NANOBTS2P = $row['gsmBox2'];
+ }
}
elseif ($received == "TEST DONE\n")
{
@@ -194,7 +206,7 @@ if ($locking == '1') //1 means nobody is on the website
{
$SIP = -1;
}
- $SIPP = -1;
+ $SIPP = 2;
if ($LSFKS != 1)
{
$LSFKS = 0;
@@ -224,7 +236,7 @@ if ($locking == '1') //1 means nobody is on the website
{
$SIP = -1;
}
- $SIPP = -1;
+ $SIPP = 2;
if ($LSFKS != 1)
{
$LSFKS = 0;
@@ -232,7 +244,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
{
if($testStatus == '200' || $testStatus == '402')
@@ -257,7 +268,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '998' || $testStatus == '802')
{
- $GSMRZ1 = 1; //where is nanoBTS1
+ $GSMRZ1 = 0; //where is nanoBTS1
}
}
elseif ($callTo == 'GSMRZ1')
@@ -271,7 +282,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '999' || $testStatus == '801')
{
- $GSMRZ1 = 1; //where is nanoBTS1
+ $GSMRZ1 = 0; //where is nanoBTS1
}
}
}
@@ -285,21 +296,82 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
- $GSMRZ2 = -1;
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2 = -1;
+ }
$NANOBTS1P = 1;
}
- else
+ if ($callFrom == 'GSMRZ2')
{
- if ($GSMRZ2 != 1)
- {
- $GSMRZ2 = 0;
+ if ($testStatus == '999' || $testStatus == '801')
+ {
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2= 0;
+ }
+
+ if ($testStatus == '801')
+ {
+ $NANOBTS1P= 1;
+ }
+ if ($testStatus == '999')
+ {
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 0;
+ }
+ }
+ }
+ elseif ($testStatus == '500')
+ {
+ $NANOBTS1P = 0;
+ $GSMRZ2= 0;
+ }
+ elseif($testStatus == '998' || $testStatus == '802')
+ {
+ $GSMRZ2 = 0; //where is nanoBTS1
+ $NANOBTS1P= 1;
+ }
+ }
+ elseif ($callTo == 'GSMRZ2')
+ {
+ if ($testStatus == '998' || $testStatus == '802')
+ {
+ if ($GSMRZ2 != 1)
+ {
+ $GSMRZ2 = 0;
+ }
+ if ($testStatus == '802')
+ {
+ $NANOBTS1P= 1;
+ }
+ if ($testStatus == '998')
+ {
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 0;
+ }
+ }
}
- if ($NANOBTS1P != 1)
- {
+ elseif ($testStatus == '501')
+ {
$NANOBTS1P = 0;
+ $GSMRZ2= 0;
+ }
+ elseif($testStatus == '999' || $testStatus == '801')
+ {
+ $GSMRZ2 = 0; //where is nanoBTS1
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS1P= 2;
+ }
+
}
}
+
}
+
if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
{
if($testStatus == '200' || $testStatus == '402')
@@ -309,20 +381,80 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
- $GSMRZ3 = -1;
+
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3 = -1;
+ }
$NANOBTS2P = 1;
}
- else
+ if ($callFrom == 'GSMRZ3')
{
- if ($GSMRZ3 != 1)
- {
- $GSMRZ3 = 0;
+ if ($testStatus == '999' || $testStatus == '801')
+ {
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3= 0;
+ }
+
+ if ($testStatus == '801')
+ {
+ $NANOBTS2P= 1;
+ }
+ if ($testStatus == '999')
+ {
+ if ($NANOBTS2P != 1)
+ {
+ $NANOBTS2P= 0;
+ }
+ }
}
- if ($NANOBTS2P != 1)
- {
+ elseif ($testStatus == '5010')
+ {
$NANOBTS2P = 0;
+ $GSMRZ3= 0;
+ }
+ elseif($testStatus == '998' || $testStatus == '802')
+ {
+ $GSMRZ3 = 0; //where is nanoBTS1
+ $NANOBTS2P= 1;
}
}
+ elseif ($callTo == 'GSMRZ3')
+ {
+ if ($testStatus == '998' || $testStatus == '802')
+ {
+ if ($GSMRZ3 != 1)
+ {
+ $GSMRZ3 = 0;
+ }
+ if ($testStatus == '802')
+ {
+ $NANOBTS2P= 1;
+ }
+ if ($testStatus == '998')
+ {
+ if ($NANOBTS2P != 1)
+ {
+ $NANOBTS2P= 0;
+ }
+ }
+ }
+ elseif ($testStatus == '501')
+ {
+ $NANOBTS2P = 0;
+ $GSMRZ3= 0;
+ }
+ elseif($testStatus == '999' || $testStatus == '801')
+ {
+ $GSMRZ3 = 0; //where is nanoBTS1
+ if ($NANOBTS1P != 1)
+ {
+ $NANOBTS2P= 2;
+ }
+
+ }
+ }//
}
if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
@@ -644,9 +776,14 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($LANDLINEP != 1)
{
- $LANDLINEP = -1;
+ $LANDLINEP = 2;
}
}
+ elseif ($testStatus == '500')
+ {
+ $LANDLINEP = 0;
+ $LANDLINE = 0;
+ }
elseif($testStatus == '998' || $testStatus == '802')
{
$LANDLINE = 1;
@@ -674,6 +811,11 @@ if ($locking == '1') //1 means nobody is on the website
$LANDLINEP = 0;
}
}
+ elseif ($testStatus == '501')
+ {
+ $LANDLINEP = 0;
+ $LANDLINE = 0;
+ }
elseif($testStatus == '998')
{
if ($LANDLINE != 1)
@@ -686,7 +828,7 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($LANDLINEP != 1)
{
- $LANDLINEP = -1;
+ $LANDLINEP = 2;
}
}
}
@@ -701,6 +843,7 @@ if ($locking == '1') //1 means nobody is on the website
}
elseif($testStatus == '486')
{
+ $UNISIPP = 1;
if ($UNISIP != 1)
{
$UNISIP = -1;
@@ -716,9 +859,14 @@ if ($locking == '1') //1 means nobody is on the website
}
if ($UNISIPP != 1)
{
- $UNISIPP = -1;
+ $UNISIPP = 2;
}
}
+ elseif ($testStatus == '500')
+ {
+ $UNISIPP = 0;
+ $UNISIP = 0;
+ }
elseif($testStatus == '998' || $testStatus == '802')
{
$UNISIP = 1;
@@ -739,6 +887,11 @@ if ($locking == '1') //1 means nobody is on the website
}
}
+ elseif ($testStatus == '501')
+ {
+ $UNISIPP = 0;
+ $UNISIP = 0;
+ }
elseif($testStatus == '999' || $testStatus == '801')
{
if ($UNISIP != 1)
diff --git a/notFinishedCode/web/newModiefiedFilesOnServer/networkResult.php b/Website/networkResult.php
index 962d607..962d607 100644
--- a/notFinishedCode/web/newModiefiedFilesOnServer/networkResult.php
+++ b/Website/networkResult.php
diff --git a/Website/tricode/post.php b/Website/post.php
index b01f646..b01f646 100644
--- a/Website/tricode/post.php
+++ b/Website/post.php
diff --git a/notFinishedCode/Report/test.pdf b/Website/report.pdf
index 71c64e0..8fa060b 100644
--- a/notFinishedCode/Report/test.pdf
+++ b/Website/report.pdf
Binary files differ
diff --git a/For Weekly Test/tricode/script.sh b/Website/script.sh
index 00c0279..00c0279 100755
--- a/For Weekly Test/tricode/script.sh
+++ b/Website/script.sh
diff --git a/Website/tricode/startSoftware.py b/Website/startSoftware.py
index 191f66e..191f66e 100644
--- a/Website/tricode/startSoftware.py
+++ b/Website/startSoftware.py
diff --git a/For Weekly Test/tricode/startTest.php b/Website/startTest.php
index abfa812..abfa812 100644
--- a/For Weekly Test/tricode/startTest.php
+++ b/Website/startTest.php
diff --git a/Website/tricode/startTest2.php b/Website/startTest2.php
index eef8a5f..eef8a5f 100644
--- a/Website/tricode/startTest2.php
+++ b/Website/startTest2.php
diff --git a/notFinishedCode/web/newModiefiedFilesOnServer/testCase.php b/Website/testCase.php
index b00189d..b00189d 100644
--- a/notFinishedCode/web/newModiefiedFilesOnServer/testCase.php
+++ b/Website/testCase.php
diff --git a/Website/tricode/Images/AutoIcon.png b/Website/tricode/Images/AutoIcon.png
deleted file mode 100644
index 5ff782f..0000000
--- a/Website/tricode/Images/AutoIcon.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/BackGround.jpg b/Website/tricode/Images/BackGround.jpg
deleted file mode 100644
index 25aa515..0000000
--- a/Website/tricode/Images/BackGround.jpg
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/BackgroundLogin.png b/Website/tricode/Images/BackgroundLogin.png
deleted file mode 100644
index 0608425..0000000
--- a/Website/tricode/Images/BackgroundLogin.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/CheckAllButton.png b/Website/tricode/Images/CheckAllButton.png
deleted file mode 100644
index 95882f5..0000000
--- a/Website/tricode/Images/CheckAllButton.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/ChooseIcon.png b/Website/tricode/Images/ChooseIcon.png
deleted file mode 100644
index 53ac136..0000000
--- a/Website/tricode/Images/ChooseIcon.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/GSMTestButton.png b/Website/tricode/Images/GSMTestButton.png
deleted file mode 100644
index a663494..0000000
--- a/Website/tricode/Images/GSMTestButton.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/ManualIcon.png b/Website/tricode/Images/ManualIcon.png
deleted file mode 100644
index 222f446..0000000
--- a/Website/tricode/Images/ManualIcon.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/MobilePhone.png b/Website/tricode/Images/MobilePhone.png
deleted file mode 100644
index e3f9fc8..0000000
--- a/Website/tricode/Images/MobilePhone.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/MobilePhoneIcon.png b/Website/tricode/Images/MobilePhoneIcon.png
deleted file mode 100644
index c369145..0000000
--- a/Website/tricode/Images/MobilePhoneIcon.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/SIPTestButton.png b/Website/tricode/Images/SIPTestButton.png
deleted file mode 100644
index bbb2408..0000000
--- a/Website/tricode/Images/SIPTestButton.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/SmartIcon.png b/Website/tricode/Images/SmartIcon.png
deleted file mode 100644
index dcfae0a..0000000
--- a/Website/tricode/Images/SmartIcon.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/SubmitButton.png b/Website/tricode/Images/SubmitButton.png
deleted file mode 100644
index 904c8b0..0000000
--- a/Website/tricode/Images/SubmitButton.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/UncheckButton.png b/Website/tricode/Images/UncheckButton.png
deleted file mode 100644
index 464ee2c..0000000
--- a/Website/tricode/Images/UncheckButton.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/Images/border1.png b/Website/tricode/Images/border1.png
deleted file mode 100644
index 09ea911..0000000
--- a/Website/tricode/Images/border1.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/class/pBarcode128.class.php b/Website/tricode/class/pBarcode128.class.php
deleted file mode 100644
index 07f5db8..0000000
--- a/Website/tricode/class/pBarcode128.class.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
- /*
- pBarcode128 - class to create barcodes (128B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode128
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
-
- /* Class creator */
- function pBarcode128($BasePath="")
- {
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/128B.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."128B.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[1]]["ID"] = $Values[0];
- $this->Codes[$Values[1]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Asc"] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode128($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- function encode128($Value,$Format="")
- {
- $this->Result = "11010010000";
- $this->CRC = 104;
- $TextString = "";
-
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( isset($this->Codes[$CharCode]) )
- {
- $this->Result = $this->Result.$this->Codes[$CharCode]["Code"];
- $this->CRC = $this->CRC + $i*$this->Codes[$CharCode]["ID"];
- $TextString = $TextString.chr($CharCode);
- }
- }
- $this->CRC = $this->CRC - floor($this->CRC/103)*103;
-
- $this->Result = $this->Result.$this->Reverse[$this->CRC]["Code"];
- $this->Result = $this->Result."1100011101011";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode128($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pBarcode39.class.php b/Website/tricode/class/pBarcode39.class.php
deleted file mode 100644
index 8d57b71..0000000
--- a/Website/tricode/class/pBarcode39.class.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
- /*
- pBarcode39 - class to create barcodes (39B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode39
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
- var $MOD43;
-
- /* Class creator */
- function pBarcode39($BasePath="",$EnableMOD43=FALSE)
- {
- $this->MOD43 = $EnableMOD43;
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/39.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."data/39.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[0]] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode39($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- /* Create the encoded string */
- function encode39($Value)
- {
- $this->Result = "100101101101"."0";
- $TextString = "";
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( $CharCode >= 97 && $CharCode <= 122 ) { $CharCode = $CharCode - 32; }
-
- if ( isset($this->Codes[chr($CharCode)]) )
- {
- $this->Result = $this->Result.$this->Codes[chr($CharCode)]."0";
- $TextString = $TextString.chr($CharCode);
- }
- }
-
- if ( $this->MOD43 )
- {
- $Checksum = $this->checksum($TextString);
- $this->Result = $this->Result.$this->Codes[$Checksum]."0";
- }
-
- $this->Result = $this->Result."100101101101";
- $TextString = "*".$TextString."*";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode39($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function checksum( $string )
- {
- $checksum = 0;
- $length = strlen( $string );
- $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';
-
- for( $i=0; $i < $length; ++$i )
- $checksum += strpos( $charset, $string[$i] );
-
- return substr( $charset, ($checksum % 43), 1 );
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pBubble.class.php b/Website/tricode/class/pBubble.class.php
deleted file mode 100644
index 483a1f3..0000000
--- a/Website/tricode/class/pBubble.class.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
- /*
- pBubble - class to draw bubble charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pBubble class definition */
- class pBubble
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pBubble($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function bubbleScale($DataSeries,$WeightSeries)
- {
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- /* Parse each data series to find the new min & max boundaries to scale */
- $NewPositiveSerie = ""; $NewNegativeSerie = ""; $MaxValues = 0; $LastPositive = 0; $LastNegative = 0;
- foreach($DataSeries as $Key => $SerieName)
- {
- $SerieWeightName = $WeightSeries[$Key];
-
- $this->pDataObject->setSerieDrawable($SerieWeightName,FALSE);
-
- if ( count($this->pDataObject->Data["Series"][$SerieName]["Data"]) > $MaxValues ) { $MaxValues = count($this->pDataObject->Data["Series"][$SerieName]["Data"]); }
-
- foreach($this->pDataObject->Data["Series"][$SerieName]["Data"] as $Key => $Value)
- {
- if ( $Value >= 0 )
- {
- $BubbleBounds = $Value + $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewPositiveSerie[$Key]) )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
- elseif ( $NewPositiveSerie[$Key] < $BubbleBounds )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
-
- $LastPositive = $BubbleBounds;
- }
- else
- {
- $BubbleBounds = $Value - $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewNegativeSerie[$Key]) )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
- elseif ( $NewNegativeSerie[$Key] > $BubbleBounds )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
-
- $LastNegative = $BubbleBounds;
- }
- }
- }
-
- /* Check for missing values and all the fake positive serie */
- if ( $NewPositiveSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewPositiveSerie[$i])) { $NewPositiveSerie[$i] = $LastPositive; } }
-
- $this->pDataObject->addPoints($NewPositiveSerie,"BubbleFakePositiveSerie");
- }
-
- /* Check for missing values and all the fake negative serie */
- if ( $NewNegativeSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewNegativeSerie[$i])) { $NewNegativeSerie[$i] = $LastNegative; } }
-
- $this->pDataObject->addPoints($NewNegativeSerie,"BubbleFakeNegativeSerie");
- }
- }
-
- function resetSeriesColors()
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $ID = 0;
- foreach($Data["Series"] as $SerieName => $SeriesParameters)
- {
- if ( $SeriesParameters["isDrawable"] )
- {
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["R"] = $Palette[$ID]["R"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["G"] = $Palette[$ID]["G"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["B"] = $Palette[$ID]["B"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["Alpha"] = $Palette[$ID]["Alpha"];
- $ID++;
- }
- }
- }
-
- /* Prepare the scale */
- function drawBubbleChart($DataSeries,$WeightSeries,$Format="")
- {
- $ForceAlpha = isset($Format["ForceAlpha"]) ? $Format["ForceAlpha"] : VOID;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $DrawSquare = isset($Format["DrawSquare"]) ? $Format["DrawSquare"] : FALSE;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( isset($Data["Series"]["BubbleFakePositiveSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakePositiveSerie",FALSE); }
- if ( isset($Data["Series"]["BubbleFakeNegativeSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakeNegativeSerie",FALSE); }
-
- $this->resetSeriesColors();
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- foreach($DataSeries as $Key => $SerieName)
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Data["Series"][$SerieName]["Description"])) { $SerieDescription = $Data["Series"][$SerieName]["Description"]; } else { $SerieDescription = $SerieName; }
-
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"]);
-
- if ( $ForceAlpha != VOID ) { $Color["Alpha"]=$ForceAlpha; }
-
- if ( $DrawBorder )
- {
- $Color["BorderAlpha"] = $BorderAlpha;
-
- if ( $Surrounding != NULL )
- { $Color["BorderR"] = $Palette[$Key]["R"]+$Surrounding; $Color["BorderG"] = $Palette[$Key]["G"]+$Surrounding; $Color["BorderB"] = $Palette[$Key]["B"]+$Surrounding; }
- else
- { $Color["BorderR"] = $BorderR; $Color["BorderG"] = $BorderG; $Color["BorderB"] = $BorderB; }
-
- if ( $ForceAlpha != VOID ) { $Color["BorderAlpha"] = $ForceAlpha/2; }
- }
-
- foreach($Data["Series"][$SerieName]["Data"] as $iKey => $Point)
- {
- $Weight = $Point + $Data["Series"][$WeightSeries[$Key]]["Data"][$iKey];
-
- $PosArray = $this->pChartObject->scaleComputeY($Point,array("AxisID"=>$AxisID));
- $WeightArray = $this->pChartObject->scaleComputeY($Weight,array("AxisID"=>$AxisID));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
- $Y = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
- $X = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-
- function writeBubbleLabel($SerieName,$SerieWeightName,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[] = $Point; }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !isset($Data["Series"][$SerieName]) || !isset($Data["Series"][$SerieWeightName]) )
- return(0);
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Data["Series"][$SerieName]["Color"]["R"],"G"=>$Data["Series"][$SerieName]["Color"]["G"],"B"=>$Data["Series"][$SerieName]["Color"]["B"],"Alpha"=>$Data["Series"][$SerieName]["Color"]["Alpha"]);
-
- foreach($Points as $Key => $Point)
- {
- $Value = $Data["Series"][$SerieName]["Data"][$Point];
- $PosArray = $this->pChartObject->scaleComputeY($Value,array("AxisID"=>$AxisID));
-
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Point]) )
- $Abscissa = $Data["Series"][$Data["Abscissa"]]["Data"][$Point]." : ";
- else
- $Abscissa = "";
-
- $Value = $this->pChartObject->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
- $Weight = $Data["Series"][$SerieWeightName]["Data"][$Point];
- $Caption = $Abscissa.$Value." / ".$Weight;
-
- if ( isset($Data["Series"][$SerieName]["Description"]) )
- $Description = $Data["Series"][$SerieName]["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Color,"Caption"=>$Caption);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- $X = floor($X + $Point * $XStep);
- $Y = floor($PosArray);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $X = floor($PosArray);
- $Y = floor($Y + $Point * $YStep);
- }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pCache.class.php b/Website/tricode/class/pCache.class.php
deleted file mode 100644
index 07d1d4e..0000000
--- a/Website/tricode/class/pCache.class.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
- /*
- pCache - speed up the rendering by caching up the pictures
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pCache
- {
- var $CacheFolder;
- var $CacheIndex;
- var $CacheDB;
-
- /* Class creator */
- function pCache($Settings="")
- {
- $CacheFolder = isset($Settings["CacheFolder"]) ? $Settings["CacheFolder"] : "cache";
- $CacheIndex = isset($Settings["CacheIndex"]) ? $Settings["CacheIndex"] : "index.db";
- $CacheDB = isset($Settings["CacheDB"]) ? $Settings["CacheDB"] : "cache.db";
-
- $this->CacheFolder = $CacheFolder;
- $this->CacheIndex = $CacheIndex;
- $this->CacheDB = $CacheDB;
-
- if (!file_exists($this->CacheFolder."/".$this->CacheIndex)) { touch($this->CacheFolder."/".$this->CacheIndex); }
- if (!file_exists($this->CacheFolder."/".$this->CacheDB)) { touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Flush the cache contents */
- function flush()
- {
- if (file_exists($this->CacheFolder."/".$this->CacheIndex)) { unlink($this->CacheFolder."/".$this->CacheIndex); touch($this->CacheFolder."/".$this->CacheIndex); }
- if (file_exists($this->CacheFolder."/".$this->CacheDB)) { unlink($this->CacheFolder."/".$this->CacheDB); touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Return the MD5 of the data array to clearly identify the chart */
- function getHash($Data,$Marker="")
- { return(md5($Marker.serialize($Data->Data))); }
-
- /* Write the generated picture to the cache */
- function writeToCache($ID,$pChartObject)
- {
- /* Compute the paths */
- $TemporaryFile = $this->CacheFolder."/tmp_".rand(0,1000).".png";
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Flush the picture to a temporary file */
- imagepng($pChartObject->Picture ,$TemporaryFile);
-
- /* Retrieve the files size */
- $PictureSize = filesize($TemporaryFile);
- $DBSize = filesize($Database);
-
- /* Save the index */
- $Handle = fopen($Index,"a");
- fwrite($Handle, $ID.",".$DBSize.",".$PictureSize.",".time().",0 \r\n");
- fclose($Handle);
-
- /* Get the picture raw contents */
- $Handle = fopen($TemporaryFile,"r");
- $Raw = fread($Handle,$PictureSize);
- fclose($Handle);
-
- /* Save the picture in the solid database file */
- $Handle = fopen($Database,"a");
- fwrite($Handle, $Raw);
- fclose($Handle);
-
- /* Remove temporary file */
- unlink($TemporaryFile);
- }
-
- /* Remove object older than the specified TS */
- function removeOlderThan($Expiry)
- { $this->dbRemoval(array("Expiry"=>$Expiry)); }
-
- /* Remove an object from the cache */
- function remove($ID)
- { $this->dbRemoval(array("Name"=>$ID)); }
-
- /* Remove with specified criterias */
- function dbRemoval($Settings)
- {
- $ID = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Expiry = isset($Settings["Expiry"]) ? $Settings["Expiry"] : -(24*60*60);
- $TS = time()-$Expiry;
-
- /* Compute the paths */
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
- $DatabaseTemp = $this->CacheFolder."/".$this->CacheDB.".tmp";
- $IndexTemp = $this->CacheFolder."/".$this->CacheIndex.".tmp";
-
- /* Single file removal */
- if ( $ID != NULL )
- {
- /* Retrieve object informations */
- $Object = $this->isInCache($ID,TRUE);
-
- /* If it's not in the cache DB, go away */
- if ( !$Object ) { return(0); }
- }
-
- /* Create the temporary files */
- if (!file_exists($DatabaseTemp)) { touch($DatabaseTemp); }
- if (!file_exists($IndexTemp)) { touch($IndexTemp); }
-
- /* Open the file handles */
- $IndexHandle = @fopen($Index, "r");
- $IndexTempHandle = @fopen($IndexTemp, "w");
- $DBHandle = @fopen($Database, "r");
- $DBTempHandle = @fopen($DatabaseTemp, "w");
-
- /* Remove the selected ID from the database */
- while (!feof($IndexHandle))
- {
- $Entry = fgets($IndexHandle, 4096);
- $Entry = str_replace("\r","",$Entry);
- $Entry = str_replace("\n","",$Entry);
- $Settings = preg_split("/,/",$Entry);
-
- if ( $Entry != "" )
- {
- $PicID = $Settings[0];
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = $Settings[4];
-
- if ( $Settings[0] != $ID && $GeneratedTS > $TS)
- {
- $CurrentPos = ftell($DBTempHandle);
- fwrite($IndexTempHandle, $PicID.",".$CurrentPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
-
- fseek($DBHandle,$DBPos);
- $Picture = fread($DBHandle,$PicSize);
- fwrite($DBTempHandle,$Picture);
- }
- }
- }
-
- /* Close the handles */
- fclose($IndexHandle);
- fclose($IndexTempHandle);
- fclose($DBHandle);
- fclose($DBTempHandle);
-
- /* Remove the prod files */
- unlink($Database);
- unlink($Index);
-
- /* Swap the temp & prod DB */
- rename($DatabaseTemp,$Database);
- rename($IndexTemp,$Index);
- }
-
- function isInCache($ID,$Verbose=FALSE,$UpdateHitsCount=FALSE)
- {
- /* Compute the paths */
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Search the picture in the index file */
- $Handle = @fopen($Index, "r");
- while (!feof($Handle))
- {
- $IndexPos = ftell($Handle);
- $Entry = fgets($Handle, 4096);
- if ( $Entry != "" )
- {
- $Settings = preg_split("/,/",$Entry);
- $PicID = $Settings[0];
- if ( $PicID == $ID )
- {
- fclose($Handle);
-
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = intval($Settings[4]);
-
- if ( $UpdateHitsCount )
- {
- $Hits++;
- if ( strlen($Hits) < 7 ) { $Hits = $Hits.str_repeat(" ",7-strlen($Hits)); }
-
- $Handle = @fopen($Index, "r+");
- fseek($Handle,$IndexPos);
- fwrite($Handle, $PicID.",".$DBPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
- fclose($Handle);
- }
-
- if ($Verbose)
- { return(array("DBPos"=>$DBPos,"PicSize"=>$PicSize,"GeneratedTS"=>$GeneratedTS,"Hits"=>$Hits)); }
- else
- { return(TRUE); }
- }
- }
- }
- fclose($Handle);
-
- /* Picture isn't in the cache */
- return(FALSE);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($ID,$Destination="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->saveFromCache($ID,$Destination);
- else
- $this->strokeFromCache($ID);
- }
-
- function strokeFromCache($ID)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- header('Content-type: image/png');
- echo $Picture;
-
- return(TRUE);
- }
-
- function saveFromCache($ID,$Destination)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- /* Flush the picture to a file */
- $Handle = fopen($Destination,"w");
- fwrite($Handle,$Picture);
- fclose($Handle);
-
- /* All went fine */
- return(TRUE);
- }
-
- function getFromCache($ID)
- {
- /* Compute the path */
- $Database = $this->CacheFolder."/".$this->CacheDB;
-
- /* Lookup for the picture in the cache */
- $CacheInfo = $this->isInCache($ID,TRUE,TRUE);
-
- /* Not in the cache */
- if (!$CacheInfo) { return(NULL); }
-
- /* Get the database extended information */
- $DBPos = $CacheInfo["DBPos"];
- $PicSize = $CacheInfo["PicSize"];
-
- /* Extract the picture from the solid cache file */
- $Handle = @fopen($Database, "r");
- fseek($Handle,$DBPos);
- $Picture = fread($Handle,$PicSize);
- fclose($Handle);
-
- /* Return back the raw picture data */
- return($Picture);
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pData.class.php b/Website/tricode/class/pData.class.php
deleted file mode 100644
index 9cfbc3f..0000000
--- a/Website/tricode/class/pData.class.php
+++ /dev/null
@@ -1,723 +0,0 @@
-<?php
- /*
- pDraw - class to manipulate data arrays
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Axis configuration */
- define("AXIS_FORMAT_DEFAULT" , 680001);
- define("AXIS_FORMAT_TIME" , 680002);
- define("AXIS_FORMAT_DATE" , 680003);
- define("AXIS_FORMAT_METRIC" , 680004);
- define("AXIS_FORMAT_CURRENCY" , 680005);
-
- /* Axis position */
- define("AXIS_POSITION_LEFT" , 681001);
- define("AXIS_POSITION_RIGHT" , 681002);
- define("AXIS_POSITION_TOP" , 681001);
- define("AXIS_POSITION_BOTTOM" , 681002);
-
- /* Families of data points */
- define("SERIE_SHAPE_FILLEDCIRCLE" , 681011);
- define("SERIE_SHAPE_FILLEDTRIANGLE" , 681012);
- define("SERIE_SHAPE_FILLEDSQUARE" , 681013);
- define("SERIE_SHAPE_FILLEDDIAMOND" , 681017);
- define("SERIE_SHAPE_CIRCLE" , 681014);
- define("SERIE_SHAPE_TRIANGLE" , 681015);
- define("SERIE_SHAPE_SQUARE" , 681016);
- define("SERIE_SHAPE_DIAMOND" , 681018);
-
- /* Axis position */
- define("AXIS_X" , 682001);
- define("AXIS_Y" , 682002);
-
- /* Define value limits */
- define("ABSOLUTE_MIN" , -10000000000000);
- define("ABSOLUTE_MAX" , 10000000000000);
-
- /* Replacement to the PHP NULL keyword */
- define("VOID" , 0.123456789);
-
- /* pData class definition */
- class pData
- {
- var $Data;
-
- var $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Class creator */
- function pData()
- {
- $this->Data = "";
- $this->Data["XAxisDisplay"] = AXIS_FORMAT_DEFAULT;
- $this->Data["XAxisFormat"] = NULL;
- $this->Data["XAxisName"] = NULL;
- $this->Data["XAxisUnit"] = NULL;
- $this->Data["Abscissa"] = NULL;
- $this->Data["Axis"][0]["Display"] = AXIS_FORMAT_DEFAULT;
- $this->Data["Axis"][0]["Position"] = AXIS_POSITION_LEFT;
- $this->Data["Axis"][0]["Identity"] = AXIS_Y;
- }
-
- /* Add a single point or an array to the given serie */
- function addPoints($Values,$SerieName="Serie1")
- {
- if (!isset($this->Data["Series"][$SerieName]))
- $this->initialise($SerieName);
-
- if ( is_array($Values) )
- {
- foreach($Values as $Key => $Value)
- { $this->Data["Series"][$SerieName]["Data"][] = $Value; }
- }
- else
- $this->Data["Series"][$SerieName]["Data"][] = $Values;
-
- if ( $Values != VOID )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Strip VOID values */
- function stripVOID($Values)
- { $Result = array(); foreach($Values as $Key => $Value) { if ( $Value != VOID ) { $Result[] = $Value; } } return($Result); }
-
- /* Return the number of values contained in a given serie */
- function getSerieCount($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return(sizeof($this->Data["Series"][$Serie]["Data"])); } else { return(0); } }
-
- /* Remove a serie from the pData object */
- function removeSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie])) { unset($this->Data["Series"][$Serie]); } }
- }
-
- /* Return a value from given serie & index */
- function getValueAt($Serie,$Index=0)
- { if (isset($this->Data["Series"][$Serie]["Data"][$Index])) { return($this->Data["Series"][$Serie]["Data"][$Index]); } else { return(NULL); } }
-
- /* Return the values array */
- function getValues($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return($this->Data["Series"][$Serie]["Data"]); } else { return(NULL); } }
-
- /* Reverse the values in the given serie */
- function reverseSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]["Data"])) { $this->Data["Series"][$Serie]["Data"] = array_reverse($this->Data["Series"][$Serie]["Data"]); } }
- }
-
- /* Return the sum of the serie values */
- function getSum($Serie)
- { if (isset($this->Data["Series"][$Serie])) { return(array_sum($this->Data["Series"][$Serie]["Data"])); } else { return(NULL); } }
-
- /* Return the max value of a given serie */
- function getMax($Serie)
- { if (isset($this->Data["Series"][$Serie]["Max"])) { return($this->Data["Series"][$Serie]["Max"]); } else { return(NULL); } }
-
- /* Return the min value of a given serie */
- function getMin($Serie)
- { if (isset($this->Data["Series"][$Serie]["Min"])) { return($this->Data["Series"][$Serie]["Min"]); } else { return(NULL); } }
-
- /* Set the description of a given serie */
- function setSerieShape($Series,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Shape"] = $Shape; } }
- }
-
- /* Set the description of a given serie */
- function setSerieDescription($Series,$Description="My serie")
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Description"] = $Description; } }
- }
-
- /* Set a serie as "drawable" while calling a rendering function */
- function setSerieDrawable($Series,$Drawable=TRUE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["isDrawable"] = $Drawable; } }
- }
-
- /* Set the icon associated to a given serie */
- function setSeriePicture($Series,$Picture=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Picture"] = $Picture; } }
- }
-
- /* Set the name of the X Axis */
- function setXAxisName($Name)
- { $this->Data["XAxisName"] = $Name; }
-
- /* Set the display mode of the X Axis */
- function setXAxisDisplay($Mode,$Format=NULL)
- { $this->Data["XAxisDisplay"] = $Mode; $this->Data["XAxisFormat"] = $Format; }
-
- /* Set the unit that will be displayed on the X axis */
- function setXAxisUnit($Unit)
- { $this->Data["XAxisUnit"] = $Unit; }
-
- /* Set the serie that will be used as abscissa */
- function setAbscissa($Serie)
- { if (isset($this->Data["Series"][$Serie])) { $this->Data["Abscissa"] = $Serie; } }
-
- /* Set the name of the abscissa axis */
- function setAbscissaName($Name)
- { $this->Data["AbscissaName"] = $Name; }
-
- /* Create a scatter group specifyin X and Y data series */
- function setScatterSerie($SerieX,$SerieY,$ID=0)
- { if (isset($this->Data["Series"][$SerieX]) && isset($this->Data["Series"][$SerieY]) ) { $this->initScatterSerie($ID); $this->Data["ScatterSeries"][$ID]["X"] = $SerieX; $this->Data["ScatterSeries"][$ID]["Y"] = $SerieY; } }
-
- /* Set the shape of a given sctatter serie */
- function setScatterSerieShape($ID,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Shape"] = $Shape; } }
-
- /* Set the description of a given scatter serie */
- function setScatterSerieDescription($ID,$Description="My serie")
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Description"] = $Description; } }
-
- /* Set the icon associated to a given scatter serie */
- function setScatterSeriePicture($ID,$Picture=NULL)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Picture"] = $Picture; } }
-
- /* Set a scatter serie as "drawable" while calling a rendering function */
- function setScatterSerieDrawable($ID ,$Drawable=TRUE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["isDrawable"] = $Drawable; } }
-
- /* Define if a scatter serie should be draw with ticks */
- function setScatterSerieTicks($ID,$Width=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Ticks"] = $Width; } }
-
- /* Define if a scatter serie should be draw with a special weight */
- function setScatterSerieWeight($ID,$Weight=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Weight"] = $Weight; } }
-
- /* Associate a color to a scatter serie */
- function setScatterSerieColor($ID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["ScatterSeries"][$ID]) )
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = $R;
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = $G;
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = $B;
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
- /* Compute the series limits for an individual and global point of view */
- function limits()
- {
- $GlobalMin = ABSOLUTE_MAX;
- $GlobalMax = ABSOLUTE_MIN;
-
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"] == TRUE)
- {
- if ( $GlobalMin > $this->Data["Series"][$Key]["Min"] ) { $GlobalMin = $this->Data["Series"][$Key]["Min"]; }
- if ( $GlobalMax < $this->Data["Series"][$Key]["Max"] ) { $GlobalMax = $this->Data["Series"][$Key]["Max"]; }
- }
- }
- $this->Data["Min"] = $GlobalMin;
- $this->Data["Max"] = $GlobalMax;
-
- return(array($GlobalMin,$GlobalMax));
- }
-
- /* Mark all series as drawable */
- function drawAll()
- { foreach($this->Data["Series"] as $Key => $Value) { if ( $this->Data["Abscissa"] != $Key ) { $this->Data["Series"][$Key]["isDrawable"]=TRUE; } } }
-
- /* Return the average value of the given serie */
- function getSerieAverage($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- return(array_sum($SerieData)/sizeof($SerieData));
- }
- else
- return(NULL);
- }
-
- /* Return the geometric mean of the given serie */
- function getGeometricMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 1; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum * $Value; }
- return(pow($Seriesum,1/sizeof($SerieData)));
- }
- else
- return(NULL);
- }
-
- /* Return the harmonic mean of the given serie */
- function getHarmonicMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 0; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum + 1/$Value; }
- return(sizeof($SerieData)/$Seriesum);
- }
- else
- return(NULL);
- }
-
- /* Return the standard deviation of the given serie */
- function getStandardDeviation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
-
- $DeviationSum = 0;
- foreach($SerieData as $Key => $Value)
- $DeviationSum = $DeviationSum + ($Value-$Average)*($Value-$Average);
-
- $Deviation = sqrt($DeviationSum/count($SerieData));
-
- return($Deviation);
- }
- else
- return(NULL);
- }
-
- /* Return the Coefficient of variation of the given serie */
- function getCoefficientOfVariation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $StandardDeviation = $this->getStandardDeviation($Serie);
-
- if ( $StandardDeviation != 0 )
- return($StandardDeviation/$Average);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the median value of the given serie */
- function getSerieMedian($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- sort($SerieData);
- $SerieCenter = floor(sizeof($SerieData)/2);
-
- if ( isset($SerieData[$SerieCenter]) )
- return($SerieData[$SerieCenter]);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the x th percentil of the given serie */
- function getSeriePercentile($Serie="Serie1",$Percentil=95)
- {
- if (!isset($this->Data["Series"][$Serie]["Data"])) { return(NULL); }
-
- $Values = count($this->Data["Series"][$Serie]["Data"])-1;
- if ( $Values < 0 ) { $Values = 0; }
-
- $PercentilID = floor(($Values/100)*$Percentil+.5);
- $SortedValues = $this->Data["Series"][$Serie]["Data"];
- sort($SortedValues);
-
- if ( is_numeric($SortedValues[$PercentilID]) )
- return($SortedValues[$PercentilID]);
- else
- return(NULL);
- }
-
- /* Add random values to a given serie */
- function addRandomValues($SerieName="Serie1",$Options="")
- {
- $Values = isset($Options["Values"]) ? $Options["Values"] : 20;
- $Min = isset($Options["Min"]) ? $Options["Min"] : 0;
- $Max = isset($Options["Max"]) ? $Options["Max"] : 100;
- $withFloat = isset($Options["withFloat"]) ? $Options["withFloat"] : FALSE;
-
- for ($i=0;$i<=$Values;$i++)
- {
- if ( $withFloat ) { $Value = rand($Min*100,$Max*100)/100; } else { $Value = rand($Min,$Max); }
- $this->addPoints($Value,$SerieName);
- }
- }
-
- /* Test if we have valid data */
- function containsData()
- {
- if (!isset($this->Data["Series"])) { return(FALSE); }
-
- $Result = FALSE;
- foreach($this->Data["Series"] as $Key => $Value)
- { if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"]==TRUE) { $Result=TRUE; } }
- return($Result);
- }
-
- /* Set the display mode of an Axis */
- function setAxisDisplay($AxisID,$Mode=AXIS_FORMAT_DEFAULT,$Format=NULL)
- {
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Display"] = $Mode;
- if ( $Format != NULL ) { $this->Data["Axis"][$AxisID]["Format"] = $Format; }
- }
- }
-
- /* Set the position of an Axis */
- function setAxisPosition($AxisID,$Position=AXIS_POSITION_LEFT)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Position"] = $Position; } }
-
- /* Associate an unit to an axis */
- function setAxisUnit($AxisID,$Unit)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Unit"] = $Unit; } }
-
- /* Associate a name to an axis */
- function setAxisName($AxisID,$Name)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Name"] = $Name; } }
-
- /* Associate a color to an axis */
- function setAxisColor($AxisID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Color"]["R"] = $R;
- $this->Data["Axis"][$AxisID]["Color"]["G"] = $G;
- $this->Data["Axis"][$AxisID]["Color"]["B"] = $B;
- $this->Data["Axis"][$AxisID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
-
- /* Design an axis as X or Y member */
- function setAxisXY($AxisID,$Identity=AXIS_Y)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Identity"] = $Identity; } }
-
- /* Associate one data serie with one axis */
- function setSerieOnAxis($Series,$AxisID)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie)
- {
- $PreviousAxis = $this->Data["Series"][$Serie]["Axis"];
-
- /* Create missing axis */
- if ( !isset($this->Data["Axis"][$AxisID] ) )
- { $this->Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; $this->Data["Axis"][$AxisID]["Identity"] = AXIS_Y;}
-
- $this->Data["Series"][$Serie]["Axis"] = $AxisID;
-
- /* Cleanup unused axis */
- $Found = FALSE;
- foreach($this->Data["Series"] as $SerieName => $Values) { if ( $Values["Axis"] == $PreviousAxis ) { $Found = TRUE; } }
- if (!$Found) { unset($this->Data["Axis"][$PreviousAxis]); }
- }
- }
-
- /* Define if a serie should be draw with ticks */
- function setSerieTicks($Series,$Width=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Ticks"] = $Width; } }
- }
-
- /* Define if a serie should be draw with a special weight */
- function setSerieWeight($Series,$Weight=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Weight"] = $Weight; } }
- }
-
- /* Returns the palette of the given serie */
- function getSeriePalette($Serie)
- {
- if ( !isset($this->Data["Series"][$Serie]) ) { return(NULL); }
-
- $Result = "";
- $Result["R"] = $this->Data["Series"][$Serie]["Color"]["R"];
- $Result["G"] = $this->Data["Series"][$Serie]["Color"]["G"];
- $Result["B"] = $this->Data["Series"][$Serie]["Color"]["B"];
- $Result["Alpha"] = $this->Data["Series"][$Serie]["Color"]["Alpha"];
-
- return($Result);
- }
-
- /* Set the color of one serie */
- function setPalette($Series,$Format=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
-
- foreach($Series as $Key => $Serie)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $OldR = $this->Data["Series"][$Serie]["Color"]["R"]; $OldG = $this->Data["Series"][$Serie]["Color"]["G"]; $OldB = $this->Data["Series"][$Serie]["Color"]["B"];
- $this->Data["Series"][$Serie]["Color"]["R"] = $R;
- $this->Data["Series"][$Serie]["Color"]["G"] = $G;
- $this->Data["Series"][$Serie]["Color"]["B"] = $B;
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = $Alpha;
-
- /* Do reverse processing on the internal palette array */
- foreach ($this->Palette as $Key => $Value)
- { if ($Value["R"] == $OldR && $Value["G"] == $OldG && $Value["B"] == $OldB) { $this->Palette[$Key]["R"] = $R; $this->Palette[$Key]["G"] = $G; $this->Palette[$Key]["B"] = $B; $this->Palette[$Key]["Alpha"] = $Alpha;} }
- }
- }
- }
-
- /* Load a palette file */
- function loadPalette($FileName,$Overwrite=FALSE)
- {
- if ( !file_exists($FileName) ) { return(-1); }
- if ( $Overwrite ) { $this->Palette = ""; }
-
- $fileHandle = @fopen($FileName, "r");
- if (!$fileHandle) { return(-1); }
- while (!feof($fileHandle))
- {
- $buffer = fgets($fileHandle, 4096);
- if ( preg_match("/,/",$buffer) )
- {
- list($R,$G,$B,$Alpha) = preg_split("/,/",$buffer);
- if ( $this->Palette == "" ) { $ID = 0; } else { $ID = count($this->Palette); }
- $this->Palette[$ID] = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- }
- }
- fclose($fileHandle);
-
- /* Apply changes to current series */
- $ID = 0;
- if ( isset($this->Data["Series"]))
- {
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( !isset($this->Palette[$ID]) )
- $this->Data["Series"][$Key]["Color"] = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>0);
- else
- $this->Data["Series"][$Key]["Color"] = $this->Palette[$ID];
- $ID++;
- }
- }
- }
-
- /* Initialise a given scatter serie */
- function initScatterSerie($ID)
- {
- if ( isset($this->Data["ScatterSeries"][$ID]) ) { return(0); }
-
- $this->Data["ScatterSeries"][$ID]["Description"] = "Scatter ".$ID;
- $this->Data["ScatterSeries"][$ID]["isDrawable"] = TRUE;
- $this->Data["ScatterSeries"][$ID]["Picture"] = NULL;
- $this->Data["ScatterSeries"][$ID]["Ticks"] = 0;
- $this->Data["ScatterSeries"][$ID]["Weight"] = 0;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["ScatterSeries"][$ID]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = 100;
- }
- }
-
- /* Initialise a given serie */
- function initialise($Serie)
- {
- if ( isset($this->Data["Series"]) ) { $ID = count($this->Data["Series"]); } else { $ID = 0; }
-
- $this->Data["Series"][$Serie]["Description"] = $Serie;
- $this->Data["Series"][$Serie]["isDrawable"] = TRUE;
- $this->Data["Series"][$Serie]["Picture"] = NULL;
- $this->Data["Series"][$Serie]["Max"] = NULL;
- $this->Data["Series"][$Serie]["Min"] = NULL;
- $this->Data["Series"][$Serie]["Axis"] = 0;
- $this->Data["Series"][$Serie]["Ticks"] = 0;
- $this->Data["Series"][$Serie]["Weight"] = 0;
- $this->Data["Series"][$Serie]["Shape"] = SERIE_SHAPE_FILLEDCIRCLE;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["Series"][$Serie]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["Series"][$Serie]["Color"]["R"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["G"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["B"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = 100;
- }
- }
-
- function normalize($NormalizationFactor=100,$UnitChange=NULL,$Round=1)
- {
- $Abscissa = $this->Data["Abscissa"];
-
- $SelectedSeries = "";
- $MaxVal = 0;
- foreach($this->Data["Axis"] as $AxisID => $Axis)
- {
- if ( $UnitChange != NULL ) { $this->Data["Axis"][$AxisID]["Unit"] = $UnitChange; }
-
- foreach($this->Data["Series"] as $SerieName => $Serie)
- {
- if ($Serie["Axis"] == $AxisID && $Serie["isDrawable"] == TRUE && $SerieName != $Abscissa)
- {
- $SelectedSeries[$SerieName] = $SerieName;
-
- if ( count($Serie["Data"] ) > $MaxVal ) { $MaxVal = count($Serie["Data"]); }
- }
- }
- }
-
- for($i=0;$i<=$MaxVal-1;$i++)
- {
- $Factor = 0;
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
- if ( $Value != VOID )
- $Factor = $Factor + abs($Value);
- }
-
- if ( $Factor != 0 )
- {
- $Factor = $NormalizationFactor / $Factor;
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
-
- if ( $Value != VOID && $Factor != $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = round(abs($Value)*$Factor,$Round);
- elseif ( $Value == VOID || $Value == 0 )
- $this->Data["Series"][$SerieName]["Data"][$i] = VOID;
- elseif ( $Factor == $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = $NormalizationFactor;
- }
- }
- }
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Load data from a CSV (or similar) data source */
- function importFromCSV($FileName,$Options="")
- {
- $Delimiter = isset($Options["Delimiter"]) ? $Options["Delimiter"] : ",";
- $GotHeader = isset($Options["GotHeader"]) ? $Options["GotHeader"] : FALSE;
- $SkipColumns = isset($Options["SkipColumns"]) ? $Options["SkipColumns"] : array(-1);
- $DefaultSerieName = isset($Options["DefaultSerieName"]) ? $Options["DefaultSerieName"] : "Serie";
-
- $Handle = @fopen($FileName,"r");
- if ($Handle)
- {
- $HeaderParsed = FALSE; $SerieNames = "";
- while (!feof($Handle))
- {
- $Buffer = fgets($Handle, 4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/".$Delimiter."/",$Buffer);
-
- if ( $Buffer != "" )
- {
- if ( $GotHeader && !$HeaderParsed )
- {
- foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $Name; } }
- $HeaderParsed = TRUE;
- }
- else
- {
- if ($SerieNames == "" ) { foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $DefaultSerieName.$Key; } } }
- foreach($Values as $Key => $Value) { if ( !in_array($Key,$SkipColumns) ) { $this->addPoints($Value,$SerieNames[$Key]); } }
- }
- }
- }
- fclose($Handle);
- }
- }
-
- /* Return the data & configuration of the series */
- function getData()
- { return($this->Data); }
-
- /* Save a palette element */
- function savePalette($ID,$Color)
- { $this->Palette[$ID] = $Color; }
-
- /* Return the palette of the series */
- function getPalette()
- { return($this->Palette); }
-
- /* Called by the scaling algorithm to save the config */
- function saveAxisConfig($Axis) { $this->Data["Axis"]=$Axis; }
-
- /* Save the Y Margin if set */
- function saveYMargin($Value) { $this->Data["YMargin"]=$Value; }
-
- /* Save extended configuration to the pData object */
- function saveExtendedData($Tag,$Values) { $this->Data["Extended"][$Tag]=$Values; }
-
- /* Called by the scaling algorithm to save the orientation of the scale */
- function saveOrientation($Orientation) { $this->Data["Orientation"]=$Orientation; }
-
- /* Convert a string to a single elements array */
- function convertToArray($Value)
- { $Values = ""; $Values[] = $Value; return($Values); }
-
- /* Class string wrapper */
- function __toString()
- { return("pData object."); }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pDraw.class.php b/Website/tricode/class/pDraw.class.php
deleted file mode 100644
index 85e408e..0000000
--- a/Website/tricode/class/pDraw.class.php
+++ /dev/null
@@ -1,5799 +0,0 @@
-<?php
- /*
- pDraw - class extension with drawing methods
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("DIRECTION_VERTICAL" , 690001);
- define("DIRECTION_HORIZONTAL" , 690002);
-
- define("SCALE_POS_LEFTRIGHT" , 690101);
- define("SCALE_POS_TOPBOTTOM" , 690102);
-
- define("SCALE_MODE_FLOATING" , 690201);
- define("SCALE_MODE_START0" , 690202);
- define("SCALE_MODE_ADDALL" , 690203);
- define("SCALE_MODE_ADDALL_START0" , 690204);
- define("SCALE_MODE_MANUAL" , 690205);
-
- define("SCALE_SKIP_NONE" , 690301);
- define("SCALE_SKIP_SAME" , 690302);
- define("SCALE_SKIP_NUMBERS" , 690303);
-
- define("TEXT_ALIGN_TOPLEFT" , 690401);
- define("TEXT_ALIGN_TOPMIDDLE" , 690402);
- define("TEXT_ALIGN_TOPRIGHT" , 690403);
- define("TEXT_ALIGN_MIDDLELEFT" , 690404);
- define("TEXT_ALIGN_MIDDLEMIDDLE" , 690405);
- define("TEXT_ALIGN_MIDDLERIGHT" , 690406);
- define("TEXT_ALIGN_BOTTOMLEFT" , 690407);
- define("TEXT_ALIGN_BOTTOMMIDDLE" , 690408);
- define("TEXT_ALIGN_BOTTOMRIGHT" , 690409);
-
- define("POSITION_TOP" , 690501);
- define("POSITION_BOTTOM" , 690502);
-
- define("LABEL_POS_LEFT" , 690601);
- define("LABEL_POS_CENTER" , 690602);
- define("LABEL_POS_RIGHT" , 690603);
- define("LABEL_POS_TOP" , 690604);
- define("LABEL_POS_BOTTOM" , 690605);
- define("LABEL_POS_INSIDE" , 690606);
- define("LABEL_POS_OUTSIDE" , 690607);
-
- define("ORIENTATION_HORIZONTAL" , 690701);
- define("ORIENTATION_VERTICAL" , 690702);
-
- define("LEGEND_NOBORDER" , 690800);
- define("LEGEND_BOX" , 690801);
- define("LEGEND_ROUND" , 690802);
-
- define("LEGEND_VERTICAL" , 690901);
- define("LEGEND_HORIZONTAL" , 690902);
-
- define("LEGEND_FAMILY_BOX" , 691051);
- define("LEGEND_FAMILY_CIRCLE" , 691052);
- define("LEGEND_FAMILY_LINE" , 691053);
-
- define("DISPLAY_AUTO" , 691001);
- define("DISPLAY_MANUAL" , 691002);
-
- define("LABELING_ALL" , 691011);
- define("LABELING_DIFFERENT" , 691012);
-
- define("BOUND_MIN" , 691021);
- define("BOUND_MAX" , 691022);
- define("BOUND_BOTH" , 691023);
-
- define("BOUND_LABEL_POS_TOP" , 691031);
- define("BOUND_LABEL_POS_BOTTOM" , 691032);
- define("BOUND_LABEL_POS_AUTO" , 691033);
-
- define("CAPTION_LEFT_TOP" , 691041);
- define("CAPTION_RIGHT_BOTTOM" , 691042);
-
- define("GRADIENT_SIMPLE" , 691051);
- define("GRADIENT_EFFECT_CAN" , 691052);
-
- define("LABEL_TITLE_NOBACKGROUND" , 691061);
- define("LABEL_TITLE_BACKGROUND" , 691062);
-
- define("LABEL_POINT_NONE" , 691071);
- define("LABEL_POINT_CIRCLE" , 691072);
- define("LABEL_POINT_BOX" , 691073);
-
- define("PI" , 3.14159265);
- define("ALL" , 69);
- define("NONE" , 31);
- define("AUTO" , 690000);
- define("OUT_OF_SIGHT" , -10000000000000);
-
- class pDraw
- {
- /* Returns the number of drawable series */
- function countDrawableSeries()
- {
- $Results = 0;
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- { if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] ) { $Results++; } }
-
- return($Results);
- }
-
- /* Fix box coordinates */
- function fixBoxCoordinates($Xa,$Ya,$Xb,$Yb)
- {
- $X1 = min($Xa,$Xb); $Y1 = min($Ya,$Yb);
- $X2 = max($Xa,$Xb); $Y2 = max($Ya,$Yb);
-
- return(array($X1,$Y1,$X2,$Y2));
- }
-
- /* Draw a polygon */
- function drawPolygon($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $SkipX = isset($Format["SkipX"]) ? $Format["SkipX"] : OUT_OF_SIGHT;
- $SkipY = isset($Format["SkipY"]) ? $Format["SkipY"] : OUT_OF_SIGHT;
-
- /* Calling the ImageFilledPolygon() function over the $Points array will round it */
- $Backup = $Points;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ( $SkipX != OUT_OF_SIGHT ) { $SkipX = floor($SkipX); }
- if ( $SkipY != OUT_OF_SIGHT ) { $SkipY = floor($SkipY); }
-
- $RestoreShadow = $this->Shadow;
- if ( !$NoFill )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- { $Shadow[] = $Points[$i] + $this->ShadowX; $Shadow[] = $Points[$i+1] + $this->ShadowY; }
- $this->drawPolygon($Shadow,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"NoBorder"=>TRUE));
- }
-
- $FillColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
-
- if ( count($Points) >= 6 )
- { ImageFilledPolygon($this->Picture,$Points,count($Points)/2,$FillColor); }
- }
-
- if ( !$NoBorder )
- {
- $Points = $Backup;
-
- if ( $NoFill )
- $BorderSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- else
- $BorderSettings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- {
- if ( isset($Points[$i+2]) )
- {
- if ( !($Points[$i] == $Points[$i+2] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[$i+3] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[$i+2],$Points[$i+3],$BorderSettings);
- }
- else
- {
- if ( !($Points[$i] == $Points[0] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[1] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[0],$Points[1],$BorderSettings);
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Apply AALias correction to the rounded box boundaries */
- function offsetCorrection($Value,$Mode)
- {
- $Value = round($Value,1);
-
- if ( $Value == 0 && $Mode == 1 ) { return(.9); }
- if ( $Value == 0 ) { return(0); }
-
- if ( $Mode == 1)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.9); }; if ( $Value == .2 ) { return(.8); }; if ( $Value == .3 ) { return(.8); }; if ( $Value == .4 ) { return(.7); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.6); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 2)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.8); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 3)
- { if ( $Value == 1 ) { return(.1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.9); }; if ( $Value == .6 ) { return(.6); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.4); }; if ( $Value == .9 ) { return(.5); }; }
-
- if ( $Mode == 4)
- { if ( $Value == 1 ) { return(-1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.1); }; if ( $Value == .5 ) { return(-.1); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.1); }; if ( $Value == .8 ) { return(.1); }; if ( $Value == .9 ) { return(.1); }; }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1))/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1))/2); }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- if ( $this->Antialias )
- {
- $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- $this->drawLine($X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- imageline($this->Picture,$X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- imageline($this->Picture,$X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- imageline($this->Picture,$X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $X = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+180)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+90)*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos($i*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin($i*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+270)*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin(($i+270)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- /* Temporary fix for AA issue */
- $Y1 = floor($Y1); $Y2 = floor($Y2); $X1 = floor($X1); $X2 = floor($X2);
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius*2 ) { $Radius = floor((($X2-$X1))/4); }
- if ( $Y2 - $Y1 < $Radius*2 ) { $Radius = floor((($Y2-$Y1))/4); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- $YTop = $Y1+$Radius;
- $YBottom = $Y2-$Radius;
-
- $Step = 360 / (2 * PI * $Radius);
- $Positions = ""; $Radius--; $MinY = ""; $MaxY = "";
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+180)*PI/180) * $Radius + $YTop);
- if ( $MinY == "" || $Yp > $MinY ) { $MinY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+90)*PI/180) * $Radius + $YBottom);
- if ( $MaxY == "" || $Yp < $MaxY ) { $MaxY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
- }
-
- $ManualColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- foreach($Positions as $Yp => $Bounds)
- {
- $X1 = $Bounds["X1"]; $X1Dec = $this->getFirstDecimal($X1); if ( $X1Dec != 0 ) { $X1 = floor($X1)+1; }
- $X2 = $Bounds["X2"]; $X2Dec = $this->getFirstDecimal($X2); if ( $X2Dec != 0 ) { $X2 = floor($X2)-1; }
- imageline($this->Picture,$X1,$Yp,$X2,$Yp,$ManualColor);
- }
- $this->drawFilledRectangle($X1,$MinY+1,floor($X2),$MaxY-1,$Color);
-
- $Radius++;
- $this->drawRoundedRectangle($X1,$Y1,$X2+1,$Y2-1,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle_deprecated($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1)+2)/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1)+2)/2); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- if ( $this->getFirstDecimal($X2) >= 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($X1) <= 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
-
- if ( !$this->Antialias ) { $XOffset1 = 1; $XOffset2 = 1; }
-
- $YTop = floor($Y1+$Radius);
- $YBottom = floor($Y2-$Radius);
-
- $this->drawFilledRectangle($X1-$XOffset1,$YTop,$X2+$XOffset2,$YBottom,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE));
-
- $Step = 360 / (2 * PI * $Radius);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $Color2 = $this->allocateColor($this->Picture,255,0,0,$Alpha);
- $Drawn = "";
-
- if ( $Alpha < 100 ) { $Drawn[$YTop] = FALSE; }
- if ( $Alpha < 100 ) { $Drawn[$YBottom] = TRUE; }
-
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+180)*PI/180) * $Radius + $YTop;
-
- if ( $this->getFirstDecimal($Xp1) > 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+90)*PI/180) * $Radius + $YBottom;
-
- if ( $this->getFirstDecimal($Xp1) > 7 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 7 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
- }
-
- $this->drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle */
- function drawRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $this->Antialias )
- {
- if ( $NoAngle )
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1+1,$X2,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1+1,$X1,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1,$X2,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1,$X1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagerectangle($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- }
- }
-
- /* Draw a filled rectangle */
- function drawFilledRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : NULL;
- $Dash = isset($Format["Dash"]) ? $Format["Dash"] : FALSE;
- $DashStep = isset($Format["DashStep"]) ? $Format["DashStep"] : 4;
- $DashR = isset($Format["DashR"]) ? $Format["DashR"] : 0;
- $DashG = isset($Format["DashG"]) ? $Format["DashG"] : 0;
- $DashB = isset($Format["DashB"]) ? $Format["DashB"] : 0;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- if ( $NoAngle )
- {
- imagefilledrectangle($this->Picture,ceil($X1)+1,ceil($Y1),floor($X2)-1,floor($Y2),$Color);
- imageline($this->Picture,ceil($X1),ceil($Y1)+1,ceil($X1),floor($Y2)-1,$Color);
- imageline($this->Picture,floor($X2),ceil($Y1)+1,floor($X2),floor($Y2)-1,$Color);
- }
- else
- imagefilledrectangle($this->Picture,ceil($X1),ceil($Y1),floor($X2),floor($Y2),$Color);
-
- if ( $Dash )
- {
- if ( $BorderR != -1 ) { $iX1=$X1+1; $iY1=$Y1+1; $iX2=$X2-1; $iY2=$Y2-1; } else { $iX1=$X1; $iY1=$Y1; $iX2=$X2; $iY2=$Y2; }
-
- $Color = $this->allocateColor($this->Picture,$DashR,$DashG,$DashB,$Alpha);
- $Y=$iY1-$DashStep;
- for($X=$iX1; $X<=$iX2+($iY2-$iY1); $X=$X+$DashStep)
- {
- $Y=$Y+$DashStep;
- if ( $X > $iX2 ) { $Xa = $X-($X-$iX2); $Ya = $iY1+($X-$iX2); } else { $Xa = $X; $Ya = $iY1; }
- if ( $Y > $iY2 ) { $Xb = $iX1+($Y-$iY2); $Yb = $Y-($Y-$iY2); } else { $Xb = $iX1; $Yb = $Y; }
- imageline($this->Picture,$Xa,$Ya,$Xb,$Yb,$Color);
- }
- }
-
- if ( $this->Antialias && !$NoBorder )
- {
- if ( $X1 < ceil($X1) )
- {
- $AlphaA = $Alpha * (ceil($X1) - $X1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1)-1,ceil($Y1),ceil($X1)-1,floor($Y2),$Color);
- }
-
- if ( $Y1 < ceil($Y1) )
- {
- $AlphaA = $Alpha * (ceil($Y1) - $Y1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),ceil($Y1)-1,floor($X2),ceil($Y1)-1,$Color);
- }
-
- if ( $X2 > floor($X2) )
- {
- $AlphaA = $Alpha * (.5-($X2 - floor($X2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,floor($X2)+1,ceil($Y1),floor($X2)+1,floor($Y2),$Color);
- }
-
- if ( $Y2 > floor($Y2) )
- {
- $AlphaA = $Alpha * (.5-($Y2 - floor($Y2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),floor($Y2)+1,floor($X2),floor($Y2)+1,$Color);
- }
- }
-
- if ( $BorderR != -1 )
- $this->drawRectangle($X1,$Y1,$X2,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangular marker of the specified size */
- function drawRectangleMarker($X,$Y,$Format="")
- {
- $Size = isset($Format["Size"]) ? $Format["Size"] : 4;
-
- $HalfSize = floor($Size/2);
- $this->drawFilledRectangle($X-$HalfSize,$Y-$HalfSize,$X+$HalfSize,$Y+$HalfSize,$Format);
- }
-
- /* Drawn a spline based on the bezier function */
- function drawSpline($Coordinates,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 30;
- $Forces = isset($Format["Forces"]) ? $Format["Forces"] : NULL;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
-
- $Cpt = NULL; $Mode = NULL; $Result = "";
- for($i=1;$i<=count($Coordinates)-1;$i++)
- {
- $X1 = $Coordinates[$i-1][0]; $Y1 = $Coordinates[$i-1][1];
- $X2 = $Coordinates[$i][0]; $Y2 = $Coordinates[$i][1];
-
- if ( $Forces != NULL ) { $Force = $Forces[$i]; }
-
- /* First segment */
- if ( $i == 1 )
- { $Xv1 = $X1; $Yv1 = $Y1; }
- else
- {
- $Angle1 = $this->getAngle($XLast,$YLast,$X1,$Y1);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos($Angle2 * PI / 180) * $Force + $X1;
- $YOff = sin($Angle2 * PI / 180) * $Force + $Y1;
-
- $Xv1 = cos($Angle1 * PI / 180) * $Force + $XOff;
- $Yv1 = sin($Angle1 * PI / 180) * $Force + $YOff;
- }
-
- /* Last segment */
- if ( $i == count($Coordinates)-1 )
- { $Xv2 = $X2; $Yv2 = $Y2; }
- else
- {
- $Angle1 = $this->getAngle($X2,$Y2,$Coordinates[$i+1][0],$Coordinates[$i+1][1]);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos(($Angle2+180) * PI / 180) * $Force + $X2;
- $YOff = sin(($Angle2+180) * PI / 180) * $Force + $Y2;
-
- $Xv2 = cos(($Angle1+180) * PI / 180) * $Force + $XOff;
- $Yv2 = sin(($Angle1+180) * PI / 180) * $Force + $YOff;
- }
-
- $Path = $this->drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format);
- if ($PathOnly) { $Result[] = $Path; }
-
- $XLast = $X1; $YLast = $Y1;
- }
-
- return($Result);
- }
-
- /* Draw a bezier curve with two controls points */
- function drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoDraw = isset($Format["NoDraw"]) ? $Format["NoDraw"] : FALSE;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $DrawArrow = isset($Format["DrawArrow"]) ? $Format["DrawArrow"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 10;
- $ArrowRatio = isset($Format["ArrowRatio"]) ? $Format["ArrowRatio"] : .5;
- $ArrowTwoHeads = isset($Format["ArrowTwoHeads"]) ? $Format["ArrowTwoHeads"] : FALSE;
-
- if ( $Segments == NULL )
- {
- $Length = $this->getLength($X1,$Y1,$X2,$Y2);
- $Precision = ($Length*125)/1000;
- }
- else
- $Precision = $Segments;
-
- $P[0]["X"] = $X1; $P[0]["Y"] = $Y1;
- $P[1]["X"] = $Xv1; $P[1]["Y"] = $Yv1;
- $P[2]["X"] = $Xv2; $P[2]["Y"] = $Yv2;
- $P[3]["X"] = $X2; $P[3]["Y"] = $Y2;
-
- /* Compute the bezier points */
- $Q = ""; $ID = 0; $Path = "";
- for($i=0;$i<=$Precision;$i=$i+1)
- {
- $u = $i / $Precision;
-
- $C = "";
- $C[0] = (1 - $u) * (1 - $u) * (1 - $u);
- $C[1] = ($u * 3) * (1 - $u) * (1 - $u);
- $C[2] = 3 * $u * $u * (1 - $u);
- $C[3] = $u * $u * $u;
-
- for($j=0;$j<=3;$j++)
- {
- if ( !isset($Q[$ID]) ) { $Q[$ID] = ""; }
- if ( !isset($Q[$ID]["X"]) ) { $Q[$ID]["X"] = 0; }
- if ( !isset($Q[$ID]["Y"]) ) { $Q[$ID]["Y"] = 0; }
-
- $Q[$ID]["X"] = $Q[$ID]["X"] + $P[$j]["X"] * $C[$j];
- $Q[$ID]["Y"] = $Q[$ID]["Y"] + $P[$j]["Y"] * $C[$j];
- }
- $ID++;
- }
- $Q[$ID]["X"] = $X2; $Q[$ID]["Y"] = $Y2;
-
- if ( !$NoDraw )
- {
- /* Display the control points */
- if ( $ShowC && !$PathOnly )
- {
- $Xv1 = floor($Xv1); $Yv1 = floor($Yv1); $Xv2 = floor($Xv2); $Yv2 = floor($Yv2);
-
- $this->drawLine($X1,$Y1,$X2,$Y2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
-
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv1,$Yv1,$MyMarkerSettings);
- $this->drawText($Xv1+4,$Yv1,"v1");
- $MyMarkerSettings = array("R"=>0,"G"=>0,"B"=>255,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv2,$Yv2,$MyMarkerSettings);
- $this->drawText($Xv2+4,$Yv2,"v2");
- }
-
- /* Draw the bezier */
- $LastX = NULL; $LastY = NULL; $Cpt = NULL; $Mode = NULL; $ArrowS = NULL;
- foreach ($Q as $Key => $Point)
- {
- $X = $Point["X"]; $Y = $Point["Y"];
-
- /* Get the first segment */
- if ( $ArrowS == NULL && $LastX != NULL && $LastY != NULL )
- { $ArrowS["X2"] = $LastX; $ArrowS["Y2"] = $LastY; $ArrowS["X1"] = $X; $ArrowS["Y1"] = $Y; }
-
- if ( $LastX != NULL && $LastY != NULL && !$PathOnly)
- list($Cpt,$Mode) = $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Cpt"=>$Cpt,"Mode"=>$Mode,"Weight"=>$Weight));
-
- /* Get the last segment */
- $ArrowE["X1"] = $LastX; $ArrowE["Y1"] = $LastY; $ArrowE["X2"] = $X; $ArrowE["Y2"] = $Y;
-
- $LastX = $X; $LastY = $Y;
- }
-
- if ( $DrawArrow && !$PathOnly )
- {
- $ArrowSettings = array("FillR"=>$R,"FillG"=>$G,"FillB"=>$B,"Alpha"=>$Alpha,"Size"=>$ArrowSize,"Ratio"=>$ArrowRatio);
- if ( $ArrowTwoHeads )
- $this->drawArrow($ArrowS["X1"],$ArrowS["Y1"],$ArrowS["X2"],$ArrowS["Y2"],$ArrowSettings);
-
- $this->drawArrow($ArrowE["X1"],$ArrowE["Y1"],$ArrowE["X2"],$ArrowE["Y2"],$ArrowSettings);
- }
- }
- return($Q);
- }
-
- /* Draw a line between two points */
- function drawLine($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Cpt = isset($Format["Cpt"]) ? $Format["Cpt"] : 1;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : 1;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $this->Antialias == FALSE && $Ticks == NULL )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imageline($this->Picture,$X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$ShadowColor);
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- return(0);
- }
-
- $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));
- if ( $Distance == 0 ) { return(-1); }
-
- /* Derivative algorithm for overweighted lines, re-route to polygons primitives */
- if ( $Weight != NULL )
- {
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
- $PolySettings = array ("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderAlpha"=>$Alpha);
-
- if ( $Ticks == NULL )
- {
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y2;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y2;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- else
- {
- for($i=0;$i<=$Distance;$i=$i+$Ticks*2)
- {
- $Xa = (($X2-$X1)/$Distance) * $i + $X1; $Ya = (($Y2-$Y1)/$Distance) * $i + $Y1;
- $Xb = (($X2-$X1)/$Distance) * ($i+$Ticks) + $X1; $Yb = (($Y2-$Y1)/$Distance) * ($i+$Ticks) + $Y1;
-
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Yb;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Yb;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- }
-
- return(1);
- }
-
- $XStep = ($X2-$X1) / $Distance;
- $YStep = ($Y2-$Y1) / $Distance;
-
- for($i=0;$i<=$Distance;$i++)
- {
- $X = $i * $XStep + $X1;
- $Y = $i * $YStep + $Y1;
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $RT = $Parameters["R"]; } else { $RT = 0; }
- if ( isset($Parameters["G"]) ) { $GT = $Parameters["G"]; } else { $GT = 0; }
- if ( isset($Parameters["B"]) ) { $BT = $Parameters["B"]; } else { $BT = 0; }
- if ( isset($Parameters["Alpha"]) ) { $AlphaT = $Parameters["Alpha"]; } else { $AlphaT = 0; }
- $Color = array("R"=>$RT,"G"=>$GT,"B"=>$BT,"Alpha"=>$AlphaT);
- }
- }
- }
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,$Color);
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,$Color);
- }
-
- return(array($Cpt,$Mode));
- }
-
- /* Draw a circle */
- function drawCircle($Xc,$Yc,$Height,$Width,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Height = abs($Height);
- $Width = abs($Width);
-
- if ( $Height == 0 ) { $Height = 1; }
- if ( $Width == 0 ) { $Width = 1; }
- $Xc = floor($Xc); $Yc = floor($Yc);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawCircle($Xc+$this->ShadowX,$Yc+$this->ShadowY,$Height,$Width,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- if ( $Width == 0 ) { $Width = $Height; }
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- $Step = 360 / (2 * PI * max($Width,$Height));
- $Mode = 1; $Cpt = 1;
- for($i=0;$i<=360;$i=$i+$Step)
- {
- $X = cos($i*PI/180) * $Height + $Xc;
- $Y = sin($i*PI/180) * $Width + $Yc;
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- }
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a filled circle */
- function drawFilledCircle($X,$Y,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Radius == 0 ) { $Radius = 1; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- $X = floor($X); $Y = floor($Y);
-
- $Radius = abs($Radius);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledCircle($X+$this->ShadowX,$Y+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- $this->Mask = "";
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- for ($i=0; $i<=$Radius*2; $i++)
- {
- $Slice = sqrt($Radius * $Radius - ($Radius - $i) * ($Radius - $i));
- $XPos = floor($Slice);
- $YPos = $Y + $i - $Radius;
- $AAlias = $Slice - floor($Slice);
-
- $this->Mask[$X-$XPos][$YPos] = TRUE;
- $this->Mask[$X+$XPos][$YPos] = TRUE;
- imageline($this->Picture,$X-$XPos,$YPos,$X+$XPos,$YPos,$Color);
- }
- if ( $this->Antialias )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- $this->Mask = "";
-
- if ( $BorderR != -1 )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Write text */
- function drawText($X,$Y,$Text,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Align = isset($Format["Align"]) ? $Format["Align"] : TEXT_ALIGN_BOTTOMLEFT;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $ShowOrigine = isset($Format["ShowOrigine"]) ? $Format["ShowOrigine"] : FALSE;
- $TOffset = isset($Format["TOffset"]) ? $Format["TOffset"] : 2;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : FALSE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : TRUE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 6;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : FALSE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 6;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 255;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 255;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 255;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxBorderG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxBorderB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxBorderAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $NoShadow = isset($Format["NoShadow"]) ? $Format["NoShadow"] : FALSE;
-
- $Shadow = $this->Shadow;
- if ( $NoShadow ) { $this->Shadow = FALSE; }
-
- if ( $BoxSurrounding != "" ) { $BoxBorderR = $BoxR - $BoxSurrounding; $BoxBorderG = $BoxG - $BoxSurrounding; $BoxBorderB = $BoxB - $BoxSurrounding; $BoxBorderAlpha = $Boxalpha; }
-
- if ( $ShowOrigine )
- {
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($X,$Y,$MyMarkerSettings);
- }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text);
-
- if ( $DrawBox && ($Angle == 0 || $Angle == 90 || $Angle == 180 || $Angle == 270))
- {
- $T[0]["X"]=0;$T[0]["Y"]=0;$T[1]["X"]=0;$T[1]["Y"]=0;$T[2]["X"]=0;$T[2]["Y"]=0;$T[3]["X"]=0;$T[3]["Y"]=0;
- if ( $Angle == 0 ) { $T[0]["X"]=-$TOffset;$T[0]["Y"]=$TOffset;$T[1]["X"]=$TOffset;$T[1]["Y"]=$TOffset;$T[2]["X"]=$TOffset;$T[2]["Y"]=-$TOffset;$T[3]["X"]=-$TOffset;$T[3]["Y"]=-$TOffset; }
-
- $X1 = min($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) - $BorderOffset + 3;
- $Y1 = min($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) - $BorderOffset;
- $X2 = max($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) + $BorderOffset + 3;
- $Y2 = max($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) + $BorderOffset - 3;
-
- $X1 = $X1 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y1 = $Y1 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
- $X2 = $X2 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y2 = $Y2 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
-
- $Settings = array("R"=>$BoxR,"G"=>$BoxG,"B"=>$BoxB,"Alpha"=>$BoxAlpha,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"BorderAlpha"=>$BoxBorderAlpha);
-
- if ( $BoxRounded )
- { $this->drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$RoundedRadius,$Settings); }
- else
- { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Settings); }
- }
-
- $X = $X - $TxtPos[$Align]["X"] + $X;
- $Y = $Y - $TxtPos[$Align]["Y"] + $Y;
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $C_ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagettftext($this->Picture,$FontSize,$Angle,$X+$this->ShadowX,$Y+$this->ShadowY,$C_ShadowColor,$FontName,$Text);
- }
-
- $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagettftext($this->Picture,$FontSize,$Angle,$X,$Y,$C_TextColor,$FontName,$Text);
-
- $this->Shadow = $Shadow;
-
- return($TxtPos);
- }
-
- /* Draw a gradient within a defined area */
- function drawGradientArea($X1,$Y1,$X2,$Y2,$Direction,$Format="")
- {
- $StartR = isset($Format["StartR"]) ? $Format["StartR"] : 90;
- $StartG = isset($Format["StartG"]) ? $Format["StartG"] : 90;
- $StartB = isset($Format["StartB"]) ? $Format["StartB"] : 90;
- $EndR = isset($Format["EndR"]) ? $Format["EndR"] : 0;
- $EndG = isset($Format["EndG"]) ? $Format["EndG"] : 0;
- $EndB = isset($Format["EndB"]) ? $Format["EndB"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Levels = isset($Format["Levels"]) ? $Format["Levels"] : NULL;
-
- $Shadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- if ( $StartR == $EndR && $StartG == $EndG && $StartB == $EndB )
- {
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,array("R"=>$StartR,"G"=>$StartG,"B"=>$StartB,"Alpha"=>$Alpha));
- return(0);
- }
-
- if ( $Levels != NULL )
- { $EndR=$StartR+$Levels; $EndG=$StartG+$Levels; $EndB=$StartB+$Levels; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $Direction == DIRECTION_VERTICAL ) { $Width = abs($Y2-$Y1); }
- if ( $Direction == DIRECTION_HORIZONTAL ) { $Width = abs($X2-$X1); }
-
- $Step = max(abs($EndR-$StartR),abs($EndG-$StartG),abs($EndB-$StartB));
- $StepSize = $Width/$Step;
- $RStep = ($EndR-$StartR)/$Step;
- $GStep = ($EndG-$StartG)/$Step;
- $BStep = ($EndB-$StartB)/$Step;
-
- $R=$StartR;$G=$StartG;$B=$StartB;
- switch($Direction)
- {
- case DIRECTION_VERTICAL:
- $StartY = $Y1; $EndY = floor($Y2)+1; $LastY2 = $StartY;
- for($i=0;$i<=$Step;$i++)
- {
- $Y2 = floor($StartY + ($i * $StepSize));
-
- if ($Y2 > $EndY) { $Y2 = $EndY; }
- if (($Y1 != $Y2 && $Y1 < $Y2) || $Y2 == $EndY)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $LastY2 = max($LastY2,$Y2);
- $Y1 = $Y2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $LastY2 < $EndY && isset($Color)) { for ($i=$LastY2+1;$i<=$EndY;$i++) { $this->drawLine($X1,$i,$X2,$i,$Color); } }
- break;
-
- case DIRECTION_HORIZONTAL:
- $StartX = $X1; $EndX = $X2;
- for($i=0;$i<=$Step;$i++)
- {
- $X2 = floor($StartX + ($i * $StepSize));
-
- if ($X2 > $EndX) { $X2 = $EndX; }
- if (($X1 != $X2 && $X1 < $X2) || $X2 == $EndX)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $X1 = $X2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $X2 < $EndX && isset($Color)) { $this->drawFilledRectangle($X2,$Y1,$EndX,$Y2,$Color); }
- break;
- }
-
- $this->Shadow = $Shadow;
-
- }
-
- /* Draw an aliased pixel */
- function drawAntialiasPixel($X,$Y,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( !$this->Antialias )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $PlotColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$PlotColor);
-
- return(0);
- }
-
- $Plot = "";
- $Xi = floor($X);
- $Yi = floor($Y);
-
- if ( $Xi == $X && $Yi == $Y)
- {
- if ( $Alpha == 100 )
- $this->drawAlphaPixel($X,$Y,100,$R,$G,$B);
- else
- $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
- }
- else
- {
- $Alpha1 = (((1 - ($X - floor($X))) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
-
- $Alpha2 = ((($X - floor($X)) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
-
- $Alpha3 = (((1 - ($X - floor($X))) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
-
- $Alpha4 = ((($X - floor($X)) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
- }
- }
-
- /* Draw a semi-transparent pixel */
- function drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
- {
- if ( isset($this->Mask[$X])) { if ( isset($this->Mask[$X][$Y]) ) { return(0); } }
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $AlphaFactor = floor(($Alpha / 100) * $this->Shadowa);
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$AlphaFactor);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $C_Aliased = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
- }
-
- /* Convert apha to base 10 */
- function convertAlpha($AlphaValue)
- { return((127/100)*(100-$AlphaValue)); }
-
- /* Allocate a color with transparency */
- function allocateColor($Picture,$R,$G,$B,$Alpha=100)
- {
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
- if ( $Alpha < 0 ) { $Alpha = 0; }
- if ( $Alpha > 100) { $Alpha = 100; }
-
- $Alpha = $this->convertAlpha($Alpha);
- return(imagecolorallocatealpha($Picture,$R,$G,$B,$Alpha));
- }
-
- /* Load a PNG file and draw it over the chart */
- function drawFromPNG($X,$Y,$FileName)
- { $this->drawFromPicture(1,$FileName,$X,$Y); }
-
- /* Load a GIF file and draw it over the chart */
- function drawFromGIF($X,$Y,$FileName)
- { $this->drawFromPicture(2,$FileName,$X,$Y); }
-
- /* Load a JPEG file and draw it over the chart */
- function drawFromJPG($X,$Y,$FileName)
- { $this->drawFromPicture(3,$FileName,$X,$Y); }
-
- function getPicInfo($FileName)
- {
- $Infos = getimagesize($FileName);
- $Width = $Infos[0];
- $Height = $Infos[1];
- $Type = $Infos["mime"];
-
- if ( $Type == "image/png") { $Type = 1; }
- if ( $Type == "image/gif") { $Type = 2; }
- if ( $Type == "image/jpeg ") { $Type = 3; }
-
- return(array($Width,$Height,$Type));
- }
-
- /* Generic loader function for external pictures */
- function drawFromPicture($PicType,$FileName,$X,$Y)
- {
- if ( file_exists($FileName))
- {
- list($Width,$Height) = $this->getPicInfo($FileName);
-
- if ( $PicType == 1 )
- { $Raster = imagecreatefrompng($FileName); }
- elseif ( $PicType == 2 )
- { $Raster = imagecreatefromgif($FileName); }
- elseif ( $PicType == 3 )
- { $Raster = imagecreatefromjpeg($FileName); }
- else
- { return(0); }
-
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- if ( $PicType == 3 )
- $this->drawFilledRectangle($X+$this->ShadowX,$Y+$this->ShadowY,$X+$Width+$this->ShadowX,$Y+$Height+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- else
- {
- $TranparentID = imagecolortransparent($Raster);
- for ($Xc=0;$Xc<=$Width-1;$Xc++)
- {
- for ($Yc=0;$Yc<=$Height-1;$Yc++)
- {
- $RGBa = imagecolorat($Raster,$Xc,$Yc);
- $Values = imagecolorsforindex($Raster,$RGBa);
- if ( $Values["alpha"] < 120 )
- {
- $AlphaFactor = floor(($this->Shadowa / 100) * ((100 / 127) * (127-$Values["alpha"])));
- $this->drawAlphaPixel($X+$Xc+$this->ShadowX,$Y+$Yc+$this->ShadowY,$AlphaFactor,$this->ShadowR,$this->ShadowG,$this->ShadowB);
- }
- }
- }
- }
- }
- $this->Shadow = $RestoreShadow;
-
- imagecopy($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height);
- imagedestroy($Raster);
- }
- }
-
- /* Draw an arrow */
- function drawArrow($X1,$Y1,$X2,$Y2,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Ratio = isset($Format["Ratio"]) ? $Format["Ratio"] : .5;
- $TwoHeads = isset($Format["TwoHeads"]) ? $Format["TwoHeads"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : FALSE;
-
- /* Calculate the line angle */
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- /* Override Shadow support, this will be managed internally */
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawArrow($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("FillR"=>$this->ShadowR,"FillG"=>$this->ShadowG,"FillB"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Size"=>$Size,"Ratio"=>$Ratio,"TwoHeads"=>$TwoHeads,"Ticks"=>$Ticks));
- }
-
- /* Draw the 1st Head */
- $TailX = cos(($Angle-180)*PI/180)*$Size+$X2;
- $TailY = sin(($Angle-180)*PI/180)*$Size+$Y2;
-
- $Points = "";
- $Points[] = $X2; $Points[] = $Y2;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = $X2; $Points[] = $Y2;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- /* Draw the second head */
- if ( $TwoHeads )
- {
- $Angle = $this->getAngle($X2,$Y2,$X1,$Y1);
-
- $TailX2 = cos(($Angle-180)*PI/180)*$Size+$X1;
- $TailY2 = sin(($Angle-180)*PI/180)*$Size+$Y1;
-
- $Points = "";
- $Points[] = $X1; $Points[] = $Y1;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = $X1; $Points[] = $Y1;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->drawLine($TailX,$TailY,$TailX2,$TailY2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- $this->drawLine($X1,$Y1,$TailX,$TailY,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- /* Re-enable shadows */
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a label with associated arrow */
- function drawArrowLabel($X1,$Y1,$Text,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Length = isset($Format["Length"]) ? $Format["Length"] : 50;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 315;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Position = isset($Format["Position"]) ? $Format["Position"] : POSITION_TOP;
- $RoundPos = isset($Format["RoundPos"]) ? $Format["RoundPos"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Angle = $Angle % 360;
-
- $X2 = sin(($Angle+180)*PI/180)*$Length+$X1;
- $Y2 = cos(($Angle+180)*PI/180)*$Length+$Y1;
-
- if ( $RoundPos && $Angle > 0 && $Angle < 180 ) { $Y2 = ceil($Y2); }
- if ( $RoundPos && $Angle > 180 ) { $Y2 = floor($Y2); }
-
- $this->drawArrow($X2,$Y2,$X1,$Y1,$Format);
-
- $Size = imagettfbbox($FontSize,0,$FontName,$Text);
- $TxtWidth = max(abs($Size[2]-$Size[0]),abs($Size[0]-$Size[6]));
- $TxtHeight = max(abs($Size[1]-$Size[7]),abs($Size[3]-$Size[1]));
-
- if ( $Angle > 0 && $Angle < 180 )
- {
- $this->drawLine($X2,$Y2,$X2-$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_BOTTOMRIGHT));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPRIGHT));
- }
- else
- {
- $this->drawLine($X2,$Y2,$X2+$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPLEFT));
- }
- }
-
- /* Draw a progress bar filled with specified % */
- function drawProgress($X,$Y,$Percent,$Format="")
- {
- if ( $Percent > 100 ) { $Percent = 100; }
- if ( $Percent < 0 ) { $Percent = 0; }
-
- $Width = isset($Format["Width"]) ? $Format["Width"] : 200;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 20;
- $Orientation = isset($Format["Orientation"]) ? $Format["Orientation"] : ORIENTATION_HORIZONTAL;
- $ShowLabel = isset($Format["ShowLabel"]) ? $Format["ShowLabel"] : FALSE;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : LABEL_POS_INSIDE;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 10;
- $R = isset($Format["R"]) ? $Format["R"] : 130;
- $G = isset($Format["G"]) ? $Format["G"] : 130;
- $B = isset($Format["B"]) ? $Format["B"] : 130;
- $RFade = isset($Format["RFade"]) ? $Format["RFade"] : -1;
- $GFade = isset($Format["GFade"]) ? $Format["GFade"] : -1;
- $BFade = isset($Format["BFade"]) ? $Format["BFade"] : -1;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 0;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 0;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 0;
- $BoxBackR = isset($Format["BoxBackR"]) ? $Format["BoxBackR"] : 255;
- $BoxBackG = isset($Format["BoxBackG"]) ? $Format["BoxBackG"] : 255;
- $BoxBackB = isset($Format["BoxBackB"]) ? $Format["BoxBackB"] : 255;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $RFade = (($RFade-$R)/100)*$Percent+$R;
- $GFade = (($GFade-$G)/100)*$Percent+$G;
- $BFade = (($BFade-$B)/100)*$Percent+$B;
- }
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( $BoxSurrounding != NULL ) { $BoxBorderR = $BoxBackR + $Surrounding; $BoxBorderG = $BoxBackG + $Surrounding; $BoxBorderB = $BoxBackB + $Surrounding; }
-
- if ( $Orientation == ORIENTATION_VERTICAL )
- {
- $InnerHeight = (($Height-2)/100)*$Percent;
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y-$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$RFade,"StartG"=>$GFade,"StartB"=>$BFade,"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,DIRECTION_VERTICAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_BOTTOM ) { $this->drawText($X+($Width/2),$Y+$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_TOP ) { $this->drawText($X+($Width/2),$Y-$Height-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+($Width/2),$Y-$InnerHeight-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT,"Angle"=>90)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y-($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"Angle"=>90)); }
- }
- else
- {
- if ( $Percent == 100 )
- $InnerWidth = $Width-1;
- else
- $InnerWidth = (($Width-2)/100)*$Percent;
-
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y+$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$R,"StartG"=>$G,"StartB"=>$B,"EndR"=>$RFade,"EndG"=>$GFade,"EndB"=>$BFade);
- $this->drawGradientArea($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,DIRECTION_HORIZONTAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_LEFT ) { $this->drawText($X-$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_RIGHT ) { $this->drawText($X+$Width+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+$InnerWidth+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- }
- }
-
- /* Get the legend box size */
- function getLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $X=100; $Y=100;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the legend of the active series */
- function drawLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
- $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( isset($Serie["Picture"]) )
- {
- $Picture = $Serie["Picture"];
- list($PicWidth,$PicHeight) = $this->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- foreach($Lines as $Key => $Value)
- $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
-
- $this->Shadow = $RestoreShadow;
- }
-
- function drawScale($Format="")
- {
- $Pos = isset($Format["Pos"]) ? $Format["Pos"] : SCALE_POS_LEFTRIGHT;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : AUTO;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : TRUE;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $AutoAxisLabels = isset($Format["AutoAxisLabels"]) ? $Format["AutoAxisLabels"] : TRUE;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 20;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 20;
- $LabelingMethod = isset($Format["LabelingMethod"]) ? $Format["LabelingMethod"] : LABELING_ALL;
- $LabelSkip = isset($Format["LabelSkip"]) ? $Format["LabelSkip"] : 0;
- $LabelRotation = isset($Format["LabelRotation"]) ? $Format["LabelRotation"] : 0;
- $SkippedAxisTicks = isset($Format["SkippedAxisTicks"]) ? $Format["SkippedAxisTicks"] : $GridTicks+2;
- $SkippedAxisR = isset($Format["SkippedAxisR"]) ? $Format["SkippedAxisR"] : $GridR;
- $SkippedAxisG = isset($Format["SkippedAxisG"]) ? $Format["SkippedAxisG"] : $GridG;
- $SkippedAxisB = isset($Format["SkippedAxisB"]) ? $Format["SkippedAxisB"] : $GridB;
- $SkippedAxisAlpha = isset($Format["SkippedAxisAlpha"]) ? $Format["SkippedAxisAlpha"] : $GridAlpha-30;
- $SkippedTickR = isset($Format["SkippedTickR"]) ? $Format["SkippedTickR"] : $TickRo;
- $SkippedTickG = isset($Format["SkippedTickG"]) ? $Format["SkippedTickG"] : $TickGo;
- $SkippedTickB = isset($Format["SkippedTicksB"]) ? $Format["SkippedTickB"] : $TickBo;
- $SkippedTickAlpha = isset($Format["SkippedTickAlpha"]) ? $Format["SkippedTickAlpha"] : $TickAlpha-80;
- $SkippedInnerTickWidth = isset($Format["SkippedInnerTickWidth"]) ? $Format["SkippedInnerTickWidth"] : 0;
- $SkippedOuterTickWidth = isset($Format["SkippedOuterTickWidth"]) ? $Format["SkippedOuterTickWidth"] : 2;
-
- /* Floating scale require X & Y margins to be set manually */
- if ( $Floating && ( $XMargin == AUTO || $YMargin == 0 ) ) { $Floating = FALSE; }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE || $DrawYLines == FALSE ) { $DrawYLines = array("zarma"=>"31"); }
-
- /* Define the color for the skipped elements */
- $SkippedAxisColor = array("R"=>$SkippedAxisR,"G"=>$SkippedAxisG,"B"=>$SkippedAxisB,"Alpha"=>$SkippedAxisAlpha,"Ticks"=>$SkippedAxisTicks);
- $SkippedTickColor = array("R"=>$SkippedTickR,"G"=>$SkippedTickG,"B"=>$SkippedTickB,"Alpha"=>$SkippedTickAlpha);
-
- $Data = $this->DataSet->getData();
- if ( isset($Data["Abscissa"]) ) { $Abscissa = $Data["Abscissa"]; } else { $Abscissa = NULL; }
-
- /* Unset the abscissa axis, needed if we display multiple charts on the same picture */
- if ( $Abscissa != NULL )
- {
- foreach($Data["Axis"] as $AxisID => $Parameters)
- { if ($Parameters["Identity"] == AXIS_X) { unset($Data["Axis"][$AxisID]); } }
- }
-
- /* Build the scale settings */
- $GotXAxis = FALSE;
- foreach($Data["Axis"] as $AxisID => $AxisParameter)
- {
- if ( $AxisParameter["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
-
- if ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1 - $YMargin*2; }
- elseif ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_X)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1 - $YMargin*2;; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING || $Mode == SCALE_MODE_START0 )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] && $Data["Abscissa"] != $SerieID)
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- if ( $Mode == SCALE_MODE_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
- elseif ( $Mode == SCALE_MODE_ADDALL || $Mode == SCALE_MODE_ADDALL_START0 )
- {
- $Series = "";
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["Axis"] == $AxisID && $SerieParameter["isDrawable"] && $Data["Abscissa"] != $SerieID ) { $Series[$SerieID] = count($Data["Series"][$SerieID]["Data"]); } }
-
- for ($ID=0;$ID<=max($Series)-1;$ID++)
- {
- $PointMin = 0; $PointMax = 0;
- foreach($Series as $SerieID => $ValuesCount )
- {
- if (isset($Data["Series"][$SerieID]["Data"][$ID]) && $Data["Series"][$SerieID]["Data"][$ID] != NULL )
- {
- $Value = $Data["Series"][$SerieID]["Data"][$ID];
- if ( $Value > 0 ) { $PointMax = $PointMax + $Value; } else { $PointMin = $PointMin + $Value; }
- }
- }
- $AxisMax = max($AxisMax,$PointMax);
- $AxisMin = min($AxisMin,$PointMin);
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- $MaxDivs = floor($Height/$MinDivHeight);
-
- if ( $Mode == SCALE_MODE_ADDALL_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
-
- $Scale = $this->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisParameter["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Still no X axis */
- if ( $GotXAxis == FALSE )
- {
- if ( $Abscissa != NULL )
- {
- $Points = count($Data["Series"][$Abscissa]["Data"]);
- if ( $AutoAxisLabels )
- $AxisName = isset($Data["Series"][$Abscissa]["Description"]) ? $Data["Series"][$Abscissa]["Description"] : NULL;
- else
- $AxisName = NULL;
- }
- else
- {
- $Points = 0;
- $AxisName = isset($Data["XAxisName"]) ? $Data["XAxisName"] : NULL;
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["isDrawable"] ) { $Points = max($Points,count($SerieParameter["Data"])); } }
- }
-
- $AxisID = count($Data["Axis"]);
- $Data["Axis"][$AxisID]["Identity"] = AXIS_X;
- if ( $Pos == SCALE_POS_LEFTRIGHT ) { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_BOTTOM; } else { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; }
- if ( isset($Data["AbscissaName"]) ) { $Data["Axis"][$AxisID]["Name"] = $Data["AbscissaName"]; }
- if ( $XMargin == AUTO )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- if ( $Points == 1 )
- $Data["Axis"][$AxisID]["Margin"] = $Height / 2;
- else
- $Data["Axis"][$AxisID]["Margin"] = ($Height/$Points) / 2;
- }
- else
- { $Data["Axis"][$AxisID]["Margin"] = $XMargin; }
- $Data["Axis"][$AxisID]["Rows"] = $Points-1;
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- $this->DataSet->saveOrientation($Pos);
- $this->DataSet->saveAxisConfig($Data["Axis"]);
- $this->DataSet->saveYMargin($YMargin);
-
- $FontColorRo = $this->FontColorR; $FontColorGo = $this->FontColorG; $FontColorBo = $this->FontColorB;
-
- $AxisPos["L"] = $this->GraphAreaX1; $AxisPos["R"] = $this->GraphAreaX2; $AxisPos["T"] = $this->GraphAreaY1; $AxisPos["B"] = $this->GraphAreaY2;
- foreach($Data["Axis"] as $AxisID => $Parameters)
- {
- if ( isset($Parameters["Color"]) )
- {
- $AxisR = $Parameters["Color"]["R"]; $AxisG = $Parameters["Color"]["G"]; $AxisB = $Parameters["Color"]["B"];
- $TickR = $Parameters["Color"]["R"]; $TickG = $Parameters["Color"]["G"]; $TickB = $Parameters["Color"]["B"];
- $this->setFontProperties(array("R"=>$Parameters["Color"]["R"],"G"=>$Parameters["Color"]["G"],"B"=>$Parameters["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $Parameters["Identity"] == AXIS_X )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / ($Parameters["Rows"]); }
-
- $MaxBottom = $AxisPos["B"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$SkippedInnerTickWidth,$XPos,$YPos+$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($XPos != $this->GraphAreaX1 && $XPos != $this->GraphAreaX2) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / $Parameters["Rows"]; }
-
- $MinTop = $AxisPos["T"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-2-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$SkippedInnerTickWidth,$XPos,$YPos-$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$InnerTickWidth,$XPos,$YPos-$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -2; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MinLeft = $AxisPos["L"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["L"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos-$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos-$SkippedOuterTickWidth,$YPos,$XPos+$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($YPos != $this->GraphAreaY1 && $YPos != $this->GraphAreaY2) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[0]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 7; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MaxRight = $AxisPos["R"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["R"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos+$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxRight = max($MaxRight,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos+$SkippedOuterTickWidth,$YPos,$XPos-$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos+$OuterTickWidth,$YPos,$XPos-$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxRight+4;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxRight = $Bounds[1]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxRight + $this->FontSize;
- }
-
- $AxisPos["R"] = $MaxRight + $ScaleSpacing;
- }
- }
- }
-
-
-
- if ( $Parameters["Identity"] == AXIS_Y )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxLeft + $this->FontSize;
- }
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-2,$Value,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $TxtHeight = $YPos-$OuterTickWidth-2-($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+2,$Value,array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $TxtHeight = $YPos+$OuterTickWidth+2+($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- }
- }
- }
- }
-
- function isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip)
- {
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value != $LastValue ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value == $LastValue ) { return(FALSE); }
- if ( $LabelingMethod == LABELING_ALL && $LabelSkip == 0 ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_ALL && ($ID+$LabelSkip) % ($LabelSkip+1) != 1 ) { return(FALSE); }
-
- return(TRUE);
- }
-
- /* Compute the scale, check for the best visual factors */
- function computeScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID=0)
- {
- /* Compute each factors */
- $Results = "";
- foreach ($Factors as $Key => $Factor)
- $Results[$Factor] = $this->processScale($XMin,$XMax,$MaxDivs,array($Factor),$AxisID);
-
- /* Remove scales that are creating to much decimals */
- $GoodScaleFactors = "";
- foreach ($Results as $Key => $Result)
- {
- $Decimals = preg_split("/\./",$Result["RowHeight"]);
- if ( (!isset($Decimals[1])) || (strlen($Decimals[1]) < 6) ) { $GoodScaleFactors[] = $Key; }
- }
-
- /* Found no correct scale, shame,... returns the 1st one as default */
- if ( $GoodScaleFactors == "" ) { return($Results[$Factors[0]]); }
-
- /* Find the factor that cause the maximum number of Rows */
- $MaxRows = 0; $BestFactor = 0;
- foreach($GoodScaleFactors as $Key => $Factor)
- { if ( $Results[$Factor]["Rows"] > $MaxRows ) { $MaxRows = $Results[$Factor]["Rows"]; $BestFactor = $Factor; } }
-
- /* Return the best visual scale */
- return($Results[$BestFactor]);
- }
-
- /* Compute the best matching scale based on size & factors */
- function processScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID)
- {
- $ScaleHeight = abs(ceil($XMax)-floor($XMin));
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Format"]) )
- $Format = $this->DataSet->Data["Axis"][$AxisID]["Format"];
- else
- $Format = NULL;
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Display"]) )
- $Mode = $this->DataSet->Data["Axis"][$AxisID]["Display"];
- else
- $Mode = AXIS_FORMAT_DEFAULT;
-
- $Scale = "";
- if ( $XMin != $XMax )
- {
- $Found = FALSE; $Rescaled = FALSE; $Scaled10Factor = .0001; $Result = 0;
- while(!$Found)
- {
- foreach($Factors as $Key => $Factor)
- {
- if ( !$Found )
- {
- if ( !($this->modulo($XMin,$Factor*$Scaled10Factor) == 0) || ($XMin != floor($XMin))) { $XMinRescaled = floor($XMin/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor; } else { $XMinRescaled = $XMin; }
- if ( !($this->modulo($XMax,$Factor*$Scaled10Factor) == 0) || ($XMax != floor($XMax))) { $XMaxRescaled = floor($XMax/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor+($Factor*$Scaled10Factor); } else { $XMaxRescaled = $XMax; }
- $ScaleHeightRescaled = abs($XMaxRescaled-$XMinRescaled);
-
- if ( !$Found && floor($ScaleHeightRescaled/($Factor*$Scaled10Factor)) <= $MaxDivs ) { $Found = TRUE; $Rescaled = TRUE; $Result = $Factor * $Scaled10Factor; }
- }
- }
- $Scaled10Factor = $Scaled10Factor * 10;
- }
-
- /* ReCall Min / Max / Height */
- if ( $Rescaled ) { $XMin = $XMinRescaled; $XMax = $XMaxRescaled; $ScaleHeight = $ScaleHeightRescaled; }
-
- /* Compute rows size */
- $Rows = floor($ScaleHeight / $Result); if ( $Rows == 0 ) { $Rows = 1; }
- $RowHeight = $ScaleHeight / $Rows;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
-
- /* Compute the needed decimals for the metric view to avoid repetition of the same X Axis labels */
- if ( $Mode == AXIS_FORMAT_METRIC && $Format == NULL )
- {
- $Done = FALSE; $GoodDecimals = 0;
- for($Decimals=0;$Decimals<=10;$Decimals++)
- {
- if ( !$Done )
- {
- $LastLabel = "zob"; $ScaleOK = TRUE;
- for($i=0;$i<=$Rows;$i++)
- {
- $Value = $XMin + $i*$RowHeight;
- $Label = $this->scaleFormat($Value,AXIS_FORMAT_METRIC,$Decimals);
-
- if ( $LastLabel == $Label ) { $ScaleOK = FALSE; }
- $LastLabel = $Label;
- }
- if ( $ScaleOK ) { $Done = TRUE; $GoodDecimals = $Decimals; }
- }
- }
-
- $Scale["Format"] = $GoodDecimals;
- }
- }
- else
- {
- /* If all values are the same we keep a +1/-1 scale */
- $Rows = 2; $XMin = $XMax-1; $XMax = $XMax+1; $RowHeight = 1;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
- }
-
- return($Scale);
- }
-
- function modulo($Value1,$Value2)
- {
- if (floor($Value2) == 0) { return(0); }
- if (floor($Value2) != 0) { return($Value1 % $Value2); }
-
- $MinValue = min($Value1,$Value2); $Factor = 10;
- while ( floor($MinValue*$Factor) == 0 )
- { $Factor = $Factor * 10; }
-
- return(($Value1*$Factor) % ($Value2*$Factor));
- }
-
- /* Draw a threshold with the computed scale */
- function drawThreshold($Value,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 50;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 6;
- $Wide = isset($Format["Wide"]) ? $Format["Wide"] : FALSE;
- $WideFactor = isset($Format["WideFactor"]) ? $Format["WideFactor"] : 5;
- $WriteCaption = isset($Format["WriteCaption"]) ? $Format["WriteCaption"] : FALSE;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : NULL;
- $CaptionAlign = isset($Format["CaptionAlign"]) ? $Format["CaptionAlign"] : CAPTION_LEFT_TOP;
- $CaptionOffset = isset($Format["CaptionOffset"]) ? $Format["CaptionOffset"] : 10;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 30;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha,
- "R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha);
-
- if ( $Caption == NULL ) { $Caption = $Value; }
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $YPos >= $this->GraphAreaY1 && $YPos <= $this->GraphAreaY2 )
- {
- $this->drawLine($this->GraphAreaX1,$YPos,$this->GraphAreaX2,$YPos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($this->GraphAreaX1,$YPos-1,$this->GraphAreaX2,$YPos-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($this->GraphAreaX1,$YPos+1,$this->GraphAreaX2,$YPos+1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $X = $this->GraphAreaX1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- { $X = $this->GraphAreaX2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
-
- $this->drawText($X,$YPos,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$YPos));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $XPos >= $this->GraphAreaX1 && $XPos <= $this->GraphAreaX2 )
- {
- $this->drawLine($XPos,$this->GraphAreaY1,$XPos,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($XPos-1,$this->GraphAreaY1,$XPos-1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($XPos+1,$this->GraphAreaY1,$XPos+1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $Y = $this->GraphAreaY1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- else
- { $Y = $this->GraphAreaY2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
-
- $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $this->drawText($XPos,$Y,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$XPos));
- }
- }
-
- /* Draw a threshold with the computed scale */
- function drawThresholdArea($Value1,$Value2,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 20;
- $Border = isset($Format["Border"]) ? $Format["Border"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha + 20;
- $BorderTicks = isset($Format["BorderTicks"]) ? $Format["BorderTicks"] : 2;
-
- if ($BorderAlpha >100) { $BorderAlpha = 100;}
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $YPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $YPos1 > $this->GraphAreaY2 ) { $YPos1 = $this->GraphAreaY2; } if ( $YPos1 < $this->GraphAreaY1 ) { $YPos1 = $this->GraphAreaY1; }
- if ( $YPos2 > $this->GraphAreaY2 ) { $YPos2 = $this->GraphAreaY2; } if ( $YPos2 < $this->GraphAreaY1 ) { $YPos2 = $this->GraphAreaY1; }
-
- $this->drawFilledRectangle($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($this->GraphAreaX1+1,$YPos2,$this->GraphAreaX2-1,$YPos2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$YPos1,"Y2"=>$YPos2));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $XPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $XPos1 > $this->GraphAreaX2 ) { $XPos1 = $this->GraphAreaX2; } if ( $XPos1 < $this->GraphAreaX1 ) { $XPos1 = $this->GraphAreaX1; }
- if ( $XPos2 > $this->GraphAreaX2 ) { $XPos2 = $this->GraphAreaX2; } if ( $XPos2 < $this->GraphAreaX1 ) { $XPos2 = $this->GraphAreaX1; }
-
- $this->drawFilledRectangle($XPos1,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($XPos1,$this->GraphAreaY1+1,$XPos1,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($XPos2,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$XPos1,"Y2"=>$XPos2));
- }
- }
-
- function scaleGetXSettings()
- {
- $Data = $this->DataSet->getData();
- foreach($Data["Axis"] as $AxisID => $Settings)
- {
- if ( $Settings["Identity"] == AXIS_X )
- {
- $Rows = $Settings["Rows"];
-
- return(array($Settings["Margin"],$Rows));
- }
- }
- }
-
- function scaleComputeY($Values,$Option="",$ReturnOnly0Height=FALSE)
- {
- $AxisID = isset($Option["AxisID"]) ? $Option["AxisID"] : 0;
- $SerieName = isset($Option["SerieName"]) ? $Option["SerieName"] : NULL;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $SerieName != NULL ) { $AxisID = $Data["Series"][$SerieName]["Axis"]; }
- if ( !is_array($Values) ) { $tmp = $Values; $Values = ""; $Values[0] = $tmp; }
-
- $Result = "";
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
- else
- {
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleWidth = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Width / $ScaleWidth;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
-
- if ( count($Result) == 1 )
- return($Result[0]);
- else
- return($Result);
- }
-
- /* Format the axis values */
- function scaleFormat($Value,$Mode=NULL,$Format=NULL,$Unit=NULL)
- {
- if ( $Value == VOID ) { return(""); }
-
- if ( $Mode == AXIS_FORMAT_DATE )
- { if ( $Format == NULL ) { $Pattern = "d/m/Y"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_TIME )
- { if ( $Format == NULL ) { $Pattern = "H:i:s"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_CURRENCY )
- { return($Format.number_format($Value,2)); }
-
- if ( $Mode == AXIS_FORMAT_METRIC )
- {
- if (abs($Value) > 1000000000)
- return(round($Value/1000000000,$Format)."g".$Unit);
- if (abs($Value) > 1000000)
- return(round($Value/1000000,$Format)."m".$Unit);
- elseif (abs($Value) >= 1000)
- return(round($Value/1000,$Format)."k".$Unit);
-
- }
- return($Value.$Unit);
- }
-
- /* Write Max value on a chart */
- function writeBounds($Type=BOUND_BOTH,$Format=NULL)
- {
- $MaxLabelTxt = isset($Format["MaxLabelTxt"]) ? $Format["MaxLabelTxt"] : "max=";
- $MinLabelTxt = isset($Format["MinLabelTxt"]) ? $Format["MinLabelTxt"] : "min=";
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : 1;
- $ExcludedSeries = isset($Format["ExcludedSeries"]) ? $Format["ExcludedSeries"] : "";
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $MaxDisplayR = isset($Format["MaxDisplayR"]) ? $Format["MaxDisplayR"] : 0;
- $MaxDisplayG = isset($Format["MaxDisplayG"]) ? $Format["MaxDisplayG"] : 0;
- $MaxDisplayB = isset($Format["MaxDisplayB"]) ? $Format["MaxDisplayB"] : 0;
- $MinDisplayR = isset($Format["MinDisplayR"]) ? $Format["MinDisplayR"] : 255;
- $MinDisplayG = isset($Format["MinDisplayG"]) ? $Format["MinDisplayG"] : 255;
- $MinDisplayB = isset($Format["MinDisplayB"]) ? $Format["MinDisplayB"] : 255;
- $MinLabelPos = isset($Format["MinLabelPos"]) ? $Format["MinLabelPos"] : BOUND_LABEL_POS_AUTO;
- $MaxLabelPos = isset($Format["MaxLabelPos"]) ? $Format["MaxLabelPos"] : BOUND_LABEL_POS_AUTO;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 20;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha);
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Data = $this->DataSet->getData();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && !isset($ExcludedSeries[$SerieName]))
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $MinValue = $this->DataSet->getMin($SerieName);
- $MaxValue = $this->DataSet->getMax($SerieName);
-
- $MinPos = VOID; $MaxPos = VOID;
- foreach($Serie["Data"] as $Key => $Value)
- {
- if ( $Value == $MinValue && $MinPos == VOID ) { $MinPos = $Key; }
- if ( $Value == $MaxValue ) { $MaxPos = $Key; }
- }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaX1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat(round($MaxValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat(round($MinValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos-$DisplayOffset+$YOffset,$Label,$CaptionSettings);
- }
- }
- else
- {
- $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaY1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat($MaxValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat($MinValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
- }
- }
- }
- }
-
- /* Draw a plot chart */
- function drawPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 50;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 50;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 50;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( isset($Serie["Picture"]) )
- { $Picture = $Serie["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->getPicInfo($Picture); }
- else { $Picture = NULL; $PicOffset = 0; }
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Shape = $Serie["Shape"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicHeight / 2; $PlotSize = 0; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset-$PlotSize-$BorderSize-$PicOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicWidth / 2; $PlotSize = 0; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset+$PlotSize+$BorderSize+$PicOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a spline chart */
- function drawSplineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL; // 234
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL; // 55
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL; // 26
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y == VOID && $LastY != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $Y != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X == VOID && $LastX != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodX != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $X != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $X != VOID ) { $LastGoodX = $X; $LastGoodY = $Y; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
- }
- }
-
- /* Draw a filled spline chart */
- function drawFilledSplineChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- if ( $AroundZero ) { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- $LastX = ""; $LastY = "";
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y-.5); /* -.5 for AA visual fix */
-
- $X = $X + $XStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y);
-
- $Y = $Y + $YStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawLineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- { $this->drawText($X+$DisplayOffset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawZoneChart($SerieA,$SerieB,$Format=NULL)
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 150;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 150;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 150;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 50;
- $LineTicks = isset($Format["LineTicks"]) ? $Format["LineTicks"] : 1;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 150;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 150;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 150;
- $AreaAlpha = isset($Format["AreaAlpha"]) ? $Format["AreaAlpha"] : 5;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Series"][$SerieA]["Data"]) || !isset($Data["Series"][$SerieB]["Data"]) ) { return(0); }
- $SerieAData = $Data["Series"][$SerieA]["Data"];
- $SerieBData = $Data["Series"][$SerieB]["Data"];
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArrayA = $this->scaleComputeY($SerieAData,array("AxisID"=>$AxisID));
- $PosArrayB = $this->scaleComputeY($SerieBData,array("AxisID"=>$AxisID));
- if ( count($PosArrayA) != count($PosArrayB) ) { return(0); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastX = NULL; $LastY1 = NULL; $LastY2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $Y1)
- {
- $Y2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X; $BoundsA[] = $Y1;
- $BoundsB[] = $X; $BoundsB[] = $Y2;
-
- $LastX = $X;
- $LastY1 = $Y1; $LastY2 = $Y2;
-
- $X = $X + $XStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastY = NULL; $LastX1 = NULL; $LastX2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $X1)
- {
- $X2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X1; $BoundsA[] = $Y;
- $BoundsB[] = $X2; $BoundsB[] = $Y;
-
- $LastY = $Y;
- $LastX1 = $X1; $LastX2 = $X2;
-
- $Y = $Y + $YStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- }
-
- /* Draw a step chart */
- function drawStepChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : FALSE;
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Y <= $LastY ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$X,$LastY,$Color);
- $this->drawLine($X,$LastY,$X,$Y,$Color);
- if ( $ReCenter && $X+$XStep < $this->GraphAreaX2 - $XMargin )
- {
- $this->drawLine($X,$Y,$X+$XStep,$Y,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- { if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); } }
- }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- if ( $ReCenter )
- {
- $this->drawLine($LastGoodX+$XStep,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX+$XStep-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- {
- $this->drawLine($LastGoodX,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- $this->drawLine($X,$LastGoodY,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif( !$BreakVoid && $LastGoodY == NULL && $Y != VOID )
- {
- $this->drawLine($this->GraphAreaX1 + $XMargin,$Y,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($this->GraphAreaX1+$XMargin-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$this->GraphAreaX2 - $XMargin,$LastY,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($this->GraphAreaX2-$XMargin+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $X >= $LastX ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$LastX,$Y,$Color);
- $this->drawLine($LastX,$Y,$X,$Y,$Color);
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- $this->drawLine($LastGoodX,$LastGoodY,$LastGoodX,$LastGoodY+$YStep,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($LastGoodY+$YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$LastGoodY+$YStep,$LastGoodX,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY+$YStep-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$Y,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif ( $X != VOID && $LastGoodY == NULL && !$BreakVoid )
- {
- $this->drawLine($X,$this->GraphAreaY1 + $XMargin,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($this->GraphAreaY1+$XMargin-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( !$Init && $ReCenter ) { $Y = $Y - $YStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$LastX,$this->GraphAreaY2 - $XMargin,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$ImageMapPlotSize).",".floor($this->GraphAreaY2-$XMargin+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- }
- }
- }
-
- /* Draw a step chart */
- function drawFilledStepChart($Format=NULL)
- {
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
- if ( $ForceTransparency != NULL ) { $Color["Alpha"] = $ForceTransparency; } else { $Color["Alpha"] = $Alpha; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = ""; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $YZero;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $LastX; $Points[] = $YZero; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX+$XStep/2; $Points[] = $LastY;
- $Points[] = $LastX+$XStep/2; $Points[] = $YZero;
- }
- else
- { $Points[] = $LastX; $Points[] = $YZero; }
-
- $this->drawPolygon($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = "";
- foreach($PosArray as $Key => $X)
- {
- if ( $X == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $YZero; $Points[] = $Y;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $YZero; $Points[] = $LastY; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( $LastX == NULL && $ReCenter ) { $Y = $Y - $YStep/2; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX; $Points[] = $LastY+$YStep/2;
- $Points[] = $YZero; $Points[] = $LastY+$YStep/2;
- }
- else
- { $Points[] = $YZero; $Points[] = $LastY; }
-
- $this->drawPolygon($Points,$Color);
- }
- }
- }
- }
-
- /* Draw an area chart */
- function drawAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : 25;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Areas = ""; $AreaID = 0;
- $Areas[$AreaID][] = $this->GraphAreaX1 + $XMargin;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y == VOID && isset($Areas[$AreaID]) )
- {
- if($LastX == NULL)
- { $Areas[$AreaID][] = $X; }
- else
- { $Areas[$AreaID][] = $LastX; }
-
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- $AreaID++;
- }
- elseif ($Y != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- $Areas[$AreaID][] = $X;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X;
- $X = $X + $XStep;
- }
- $Areas[$AreaID][] = $LastX;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Areas = ""; $AreaID = 0;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $this->GraphAreaY1 + $XMargin;
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X == VOID && isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
-
- if($LastY == NULL)
- { $Areas[$AreaID][] = $Y; }
- else
- { $Areas[$AreaID][] = $LastY; }
-
- $AreaID++;
- }
- elseif ($X != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $Y;
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $LastY;
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- }
- }
- }
-
-
- /* Draw a bar chart */
- function drawBarChart($Format=NULL)
- {
- $Floating0Serie = isset($Format["Floating0Serie"]) ? $Format["Floating0Serie"] : NULL;
- $Floating0Value = isset($Format["Floating0Value"]) ? $Format["Floating0Value"] : NULL;
- $Draw0Line = isset($Format["Draw0Line"]) ? $Format["Draw0Line"] : FALSE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayPos = isset($Format["DisplayPos"]) ? $Format["DisplayPos"] : LABEL_POS_OUTSIDE;
- $DisplayShadow = isset($Format["DisplayShadow"]) ? $Format["DisplayShadow"] : TRUE;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $TxtMargin = isset($Format["TxtMargin"]) ? $Format["TxtMargin"] : 6;
- $OverrideColors = isset($Format["OverrideColors"]) ? $Format["OverrideColors"] : NULL;
- $OverrideSurrounding = isset($Format["OverrideSurrounding"]) ? $Format["OverrideSurrounding"] : 30;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $OverrideColors != NULL )
- {
- $OverrideColors = $this->validatePalette($OverrideColors,$OverrideSurrounding);
- $this->DataSet->saveExtendedData("Palette",$OverrideColors);
- }
-
- $RestoreShadow = $this->Shadow;
-
- $SeriesCount = $this->countDrawableSeries();
- $CurrentSerie = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Floating0Value != NULL )
- { $YZero = $this->scaleComputeY($Floating0Value,array("AxisID"=>$Serie["Axis"])); }
- else
- { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- if ( $XDivs == 0 ) { $XSize = ($this->GraphAreaX2-$this->GraphAreaX1)/($SeriesCount+$Interleave); } else { $XSize = ($XStep / ($SeriesCount+$Interleave) ); }
-
- $XOffset = -($XSize*$SeriesCount)/2 + $CurrentSerie * $XSize;
- if ( $X + $XOffset <= $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $X + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $XOffset + $XSize / 2;
-
- if ( $Rounded || $BorderR != -1) { $XSpace = 1; } else { $XSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0;
- foreach($PosArray as $Key => $Y2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- { $Value = $Data["Series"][$Floating0Serie]["Data"][$Key]; }
- else
- { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $Y2 != VOID )
- {
- $BarHeight = $Y1 - $Y2;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y1,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset+$XSpace).",".floor($Y1).",".floor($X+$XOffset+$XSize-$XSpace).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle($X+$XOffset+$XSpace+1,min($Y1,$Y2)+1,$X+$XOffset+$XSize-$XSpace-1,max($Y1,$Y2)-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_VERTICAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSpan-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor1);
- $this->drawGradientArea($X+$XOffset+$XSpan+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($Y1 - $Y2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $Y1 - $Y2 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1)-$Line0Width,$Line0Color);
- $this->drawLine($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1),$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,90,$Caption);
- $TxtHeight = $TxtPos[0]["Y"] - $TxtPos[1]["Y"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtHeight) < abs($BarHeight) )
- {
- $CenterX = (($X+$XOffset+$XSize-$XSpace)-($X+$XOffset+$XSpace))/2 + $X+$XOffset+$XSpace;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"Angle"=>90));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$XOffset+$XSize/2,$Y2-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-
- $X = $X + $XStep;
- $ID++;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- if ( $XDivs == 0 ) { $YSize = ($this->GraphAreaY2-$this->GraphAreaY1)/($SeriesCount+$Interleave); } else { $YSize = ($YStep / ($SeriesCount+$Interleave) ); }
-
- $YOffset = -($YSize*$SeriesCount)/2 + $CurrentSerie * $YSize;
- if ( $Y + $YOffset <= $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $Y + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $YOffset + $YSize / 2;
-
- if ( $Rounded || $BorderR != -1 ) { $YSpace = 1; } else { $YSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0 ;
- foreach($PosArray as $Key => $X2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- $Value = $Data["Series"][$Floating0Serie]["Data"][$Key];
- else { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $X2 != VOID )
- {
- $BarWidth = $X2 - $X1;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X1,$Y+$YOffset+$YSpace,$X1,$Y+$YOffset+$YSize-$YSpace,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1).",".floor($Y+$YOffset+$YSpace).",".floor($X2).",".floor($Y+$YOffset+$YSize-$YSpace),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle(min($X1,$X2)+1,$Y+$YOffset+$YSpace+1,max($X1,$X2)-1,$Y+$YOffset+$YSize-$YSpace-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_HORIZONTAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSpan-$YSpace,DIRECTION_VERTICAL,$GradienColor1);
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpan,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_VERTICAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($X1 - $X2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $X2 - $X1 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle(floor($X1),$Y+$YOffset+$YSpace,floor($X1)+$Line0Width,$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- $this->drawLine(floor($X1),$Y+$YOffset+$YSpace,floor($X1),$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = $TxtPos[1]["X"] - $TxtPos[0]["X"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtWidth) < abs($BarWidth) )
- {
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = (($Y+$YOffset+$YSize-$YSpace)-($Y+$YOffset+$YSpace))/2 + ($Y+$YOffset+$YSpace);
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X2+$Offset,$Y+$YOffset+$YSize/2,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- $Y = $Y + $YStep;
- $ID++;
- }
- }
- $CurrentSerie++;
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedBarChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- $Color = array("TransCorner"=>TRUE,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $XSize = ($XStep / (1+$Interleave) );
- $XOffset = -($XSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Height)
- {
- if ( $Height != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $Y1 != $YZero) ) { $YSpaceUp = 1; } else { $YSpaceUp = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $Y1 != $YZero) ) { $YSpaceDown = 1; } else { $YSpaceDown = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset).",".floor($Y1-$YSpaceUp+$YSpaceDown).",".floor($X+$XOffset+$XSize).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X+$XOffset+1,$X+$XOffset+$XSize),min($Y1-$YSpaceUp+$YSpaceDown,$Y2)+1,max($X+$XOffset+1,$X+$XOffset+$XSize)-1,max($Y1-$YSpaceUp+$YSpaceDown,$Y2)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_VERTICAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSpan,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor1);
- $this->drawGradientArea($X+$XSpan+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = ( ($X+$XOffset+$XSize) - ($X+$XOffset) ) / 2 + $X+$XOffset;
- $YCenter = ( ($Y2) - ($Y1-$YSpaceUp+$YSpaceDown) ) / 2 + $Y1-$YSpaceUp+$YSpaceDown;
-
- $this->drawText($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
-
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $YSize = $YStep / (1+$Interleave);
- $YOffset = -($YSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Width)
- {
- if ( $Width != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $X1 != $YZero) ) { $XSpaceLeft = 2; } else { $XSpaceLeft = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $X1 != $YZero) ) { $XSpaceRight = 2; } else { $XSpaceRight = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1+$XSpaceLeft).",".floor($Y+$YOffset).",".floor($X2-$XSpaceRight).",".floor($Y+$YOffset+$YSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X1+$XSpaceLeft,$X2-$XSpaceRight)+1,min($Y+$YOffset,$Y+$YOffset+$YSize)+1,max($X1+$XSpaceLeft,$X2-$XSpaceRight)-1,max($Y+$YOffset,$Y+$YOffset+$YSize)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_HORIZONTAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSpan,DIRECTION_VERTICAL,$GradientColor1);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset+$YSpan,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_VERTICAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = ( $X2 - $X1 ) / 2 + $X1;
- $YCenter = ( ($Y+$YOffset+$YSize) - ($Y+$YOffset) ) / 2 + $Y+$YOffset;
-
- $this->drawText($XCenter,$YCenter,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
-
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- /* Determine if we only have positive or negatives values */
- $Sign["+"] = 0; $Sign["-"] = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- { foreach($Serie["Data"] as $Key => $Value) { if ($Value > 0) { $Sign["+"]++; } elseif ($Value < 0) { $Sign["-"]++; } } }
- }
- if ( $Sign["+"] == 0 || $Sign["-"] == 0 ) { $SingleWay = TRUE; } else { $SingleWay = FALSE; }
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
-
- if ( $ForceTransparency != NULL ) { $Alpha = $ForceTransparency; }
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL )
- { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- else
- { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipY"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipY"]); }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] >= 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $Y1- $BarHeight / 2;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- /* Reset the X axis parser for the negative values pass */
- $X = $this->GraphAreaX1 + $XMargin;
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] < 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $BarHeight / 2 + $Y1;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipX"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipX"]); }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] >= 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 + $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
-
- /* Reset the X axis parser for the negative values pass */
- $Y = $this->GraphAreaY1 + $XMargin;
-
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] < 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 - $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- }
- }
- }
-
- /* Returns a random color */
- function getRandomColor($Alpha=100)
- { return(array("R"=>rand(0,255),"G"=>rand(0,255),"B"=>rand(0,255),"Alpha"=>$Alpha)); }
-
- /* Validate a palette */
- function validatePalette($Colors,$Surrounding=NULL)
- {
- $Result = "";
-
- if ( !is_array($Colors) ) { return($this->getRandomColor()); }
-
- foreach($Colors as $Key => $Values)
- {
- if ( isset($Values["R"]) ) { $Result[$Key]["R"] = $Values["R"]; } else { $Result[$Key]["R"] = rand(0,255); }
- if ( isset($Values["G"]) ) { $Result[$Key]["G"] = $Values["G"]; } else { $Result[$Key]["G"] = rand(0,255); }
- if ( isset($Values["B"]) ) { $Result[$Key]["B"] = $Values["B"]; } else { $Result[$Key]["B"] = rand(0,255); }
- if ( isset($Values["Alpha"]) ) { $Result[$Key]["Alpha"] = $Values["Alpha"]; } else { $Result[$Key]["Alpha"] = 100; }
-
- if ( $Surrounding != NULL )
- {
- $Result[$Key]["BorderR"] = $Result[$Key]["R"] + $Surrounding;
- $Result[$Key]["BorderG"] = $Result[$Key]["G"] + $Surrounding;
- $Result[$Key]["BorderB"] = $Result[$Key]["B"] + $Surrounding;
- }
- else
- {
- if ( isset($Values["BorderR"]) ) { $Result[$Key]["BorderR"] = $Values["BorderR"]; } else { $Result[$Key]["BorderR"] = $Result[$Key]["R"]; }
- if ( isset($Values["BorderG"]) ) { $Result[$Key]["BorderG"] = $Values["BorderG"]; } else { $Result[$Key]["BorderG"] = $Result[$Key]["G"]; }
- if ( isset($Values["BorderB"]) ) { $Result[$Key]["BorderB"] = $Values["BorderB"]; } else { $Result[$Key]["BorderB"] = $Result[$Key]["B"]; }
- if ( isset($Values["BorderAlpha"]) ) { $Result[$Key]["BorderAlpha"] = $Values["BorderAlpha"]; } else { $Result[$Key]["BorderAlpha"] = $Result[$Key]["Alpha"]; }
- }
- }
-
- return($Result);
- }
-
- /* Draw the derivative chart associated to the data series */
- function drawDerivative($Format=NULL)
- {
- $Offset = isset($Format["Offset"]) ? $Format["Offset"] : 10;
- $SerieSpacing = isset($Format["SerieSpacing"]) ? $Format["SerieSpacing"] : 3;
- $DerivativeHeight = isset($Format["DerivativeHeight"]) ? $Format["DerivativeHeight"] : 4;
- $ShadedSlopeBox = isset($Format["ShadedSlopeBox"]) ? $Format["ShadedSlopeBox"] : FALSE;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 20;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : TRUE;
- $CaptionHeight = isset($Format["CaptionHeight"]) ? $Format["CaptionHeight"] : 10;
- $CaptionWidth = isset($Format["CaptionWidth"]) ? $Format["CaptionWidth"] : 20;
- $CaptionMargin = isset($Format["CaptionMargin"]) ? $Format["CaptionMargin"] : 4;
- $CaptionLine = isset($Format["CaptionLine"]) ? $Format["CaptionLine"] : FALSE;
- $CaptionBox = isset($Format["CaptionBox"]) ? $Format["CaptionBox"] : FALSE;
- $CaptionBorderR = isset($Format["CaptionBorderR"]) ? $Format["CaptionBorderR"] : 0;
- $CaptionBorderG = isset($Format["CaptionBorderG"]) ? $Format["CaptionBorderG"] : 0;
- $CaptionBorderB = isset($Format["CaptionBorderB"]) ? $Format["CaptionBorderB"] : 0;
- $CaptionFillR = isset($Format["CaptionFillR"]) ? $Format["CaptionFillR"] : 255;
- $CaptionFillG = isset($Format["CaptionFillG"]) ? $Format["CaptionFillG"] : 255;
- $CaptionFillB = isset($Format["CaptionFillB"]) ? $Format["CaptionFillB"] : 255;
- $CaptionFillAlpha = isset($Format["CaptionFillAlpha"]) ? $Format["CaptionFillAlpha"] : 80;
- $PositiveSlopeStartR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 184;
- $PositiveSlopeStartG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 234;
- $PositiveSlopeStartB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 88;
- $PositiveSlopeEndR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 239;
- $PositiveSlopeEndG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 31;
- $PositiveSlopeEndB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 36;
- $NegativeSlopeStartR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 184;
- $NegativeSlopeStartG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 234;
- $NegativeSlopeStartB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 88;
- $NegativeSlopeEndR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 67;
- $NegativeSlopeEndG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 124;
- $NegativeSlopeEndB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 227;
-
- $Data = $this->DataSet->getData();
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- $YPos = $this->DataSet->Data["GraphArea"]["Y2"] + $Offset;
- else
- $XPos = $this->DataSet->Data["GraphArea"]["X2"] + $Offset;
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $Caption )
- {
- if ( $CaptionLine )
- {
- $StartX = floor($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndX = floor($this->GraphAreaX1-$CaptionMargin+$XMargin);
-
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($StartX,$YPos,$EndX,$YPos+$CaptionHeight,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($StartX+2,$YPos+($CaptionHeight/2),$EndX-2,$YPos+($CaptionHeight/2),$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin,$YPos,$this->GraphAreaX1-$CaptionMargin+$XMargin,$YPos+$CaptionHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $TopY = $YPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomY = $YPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartX = floor($this->GraphAreaX1+$XMargin);
- $EndX = floor($this->GraphAreaX2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastX != NULL )
- { $Slope = ($LastY - $Y); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $Y == VOID )
- { $LastX = NULL; $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastY != NULL )
- {
- $Slope = ($LastY - $Y);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL ) // && $Slope != 0
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($LastX,$TopY,$X,$BottomY,DIRECTION_HORIZONTAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL ) // || $Slope == 0
- $this->drawFilledRectangle(floor($LastX),$TopY,floor($X),$BottomY,$Color);
-
- $LastColor = $Color;
- }
-
- if ( $Y == VOID )
- { $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $X = $X + $XStep;
- }
-
- $YPos = $YPos + $CaptionHeight + $SerieSpacing;
- }
- else
- {
- if ( $Caption )
- {
- $StartY = floor($this->GraphAreaY1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndY = floor($this->GraphAreaY1-$CaptionMargin+$XMargin);
- if ( $CaptionLine )
- {
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($XPos+($CaptionHeight/2),$StartY+2,$XPos+($CaptionHeight/2),$EndY-2,$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $TopX = $XPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomX = $XPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartY = floor($this->GraphAreaY1+$XMargin);
- $EndY = floor($this->GraphAreaY2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- { $Slope = ($X - $LastX); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- {
- $Slope = ($X - $LastX);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL )
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
-
- $this->drawGradientArea($TopX,$LastY,$BottomX,$Y,DIRECTION_VERTICAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL )
- $this->drawFilledRectangle($TopX,floor($LastY),$BottomX,floor($Y),$Color);
-
- $LastColor = $Color;
- }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $Y = $Y + $XStep;
- }
-
- $XPos = $XPos + $CaptionHeight + $SerieSpacing;
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- }
-
- /* Draw the line of best fit */
- function drawBestFit($Format="")
- {
- $OverrideTicks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $OverrideR = isset($Format["R"]) ? $Format["R"] : VOID;
- $OverrideG = isset($Format["G"]) ? $Format["G"] : VOID;
- $OverrideB = isset($Format["B"]) ? $Format["B"] : VOID;
- $OverrideAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : VOID;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $OverrideR != VOID && $OverrideG != VOID && $OverrideB != VOID ) { $R = $OverrideR; $G = $OverrideG; $B = $OverrideB; } else { $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; }
- if ( $OverrideTicks == NULL ) { $Ticks = $Serie["Ticks"]; } else { $Ticks = $OverrideTicks; }
- if ( $OverrideAlpha == VOID ) { $Alpha = $Serie["Color"]["Alpha"]; } else { $Alpha = $OverrideAlpha; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $Y)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
-
- $X = $X + $XStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->GraphAreaX1 + $XMargin;
- $Y1 = $M * $X1 + $B;
- $X2 = $this->GraphAreaX2 - $XMargin;
- $Y2 = $M * $X2 + $B;
-
- if ( $Y1 < $this->GraphAreaY1 ) { $X1 = $X1 + ($this->GraphAreaY1-$Y1); $Y1 = $this->GraphAreaY1; }
- if ( $Y1 > $this->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->GraphAreaY2); $Y1 = $this->GraphAreaY2; }
- if ( $Y2 < $this->GraphAreaY1 ) { $X2 = $X2 - ($this->GraphAreaY1-$Y2); $Y2 = $this->GraphAreaY1; }
- if ( $Y2 > $this->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->GraphAreaY2); $Y2 = $this->GraphAreaY2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $X)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $Y;
- $Sy = $Sy + $X;
- $Sxx = $Sxx + $Y*$Y;
-
- $Y = $Y + $YStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $Y1 = $this->GraphAreaY1 + $XMargin;
- $X1 = $M * $Y1 + $B;
- $Y2 = $this->GraphAreaY2 - $XMargin;
- $X2 = $M * $Y2 + $B;
-
- if ( $X1 < $this->GraphAreaX1 ) { $Y1 = $Y1 + ($this->GraphAreaX1-$X1); $X1 = $this->GraphAreaX1; }
- if ( $X1 > $this->GraphAreaX2 ) { $Y1 = $Y1 + ($X1-$this->GraphAreaX2); $X1 = $this->GraphAreaX2; }
- if ( $X2 < $this->GraphAreaX1 ) { $Y2 = $Y2 - ($this->GraphAreaY1-$X2); $X2 = $this->GraphAreaX1; }
- if ( $X2 > $this->GraphAreaX2 ) { $Y2 = $Y2 - ($X2-$this->GraphAreaX2); $X2 = $this->GraphAreaX2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Write labels */
- function writeLabel($SeriesName,$Indexes,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $ForceLabels = isset($Format["ForceLabels"]) ? $Format["ForceLabels"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $DrawVerticalLine = isset($Format["DrawVerticalLine"]) ? $Format["DrawVerticalLine"] : FALSE;
- $VerticalLineR = isset($Format["VerticalLineR"]) ? $Format["VerticalLineR"] : 0;
- $VerticalLineG = isset($Format["VerticalLineG"]) ? $Format["VerticalLineG"] : 0;
- $VerticalLineB = isset($Format["VerticalLineB"]) ? $Format["VerticalLineB"] : 0;
- $VerticalLineAlpha = isset($Format["VerticalLineAlpha"]) ? $Format["VerticalLineAlpha"] : 40;
- $VerticalLineTicks = isset($Format["VerticalLineTicks"]) ? $Format["VerticalLineTicks"] : 2;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( !is_array($Indexes) ) { $Index = $Indexes; $Indexes = ""; $Indexes[] = $Index; }
- if ( !is_array($SeriesName) ) { $SerieName = $SeriesName; $SeriesName = ""; $SeriesName[] = $SerieName; }
- if ( $ForceLabels != NULL && !is_array($ForceLabels) ) { $ForceLabel = $ForceLabels; $ForceLabels = ""; $ForceLabels[] = $ForceLabel; }
-
- foreach ($Indexes as $Key => $Index)
- {
- $Series = "";
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($X,$this->GraphAreaY1+$Data["YMargin"],$X,$this->GraphAreaY2-$Data["YMargin"],array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinY = $this->GraphAreaY2;
- foreach ($SeriesName as $iKey => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->GraphAreaX1 + $XMargin + $Index * $XStep + $SerieOffset);
- $Y = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
-
- if ($Y < $MinY) { $MinY = $Y; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($X,$MinY-3,$Description,$Series,$Format);
-
- }
- else
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($this->GraphAreaX1+$Data["YMargin"],$Y,$this->GraphAreaX2-$Data["YMargin"],$Y,array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinX = $this->GraphAreaX2;
- foreach ($SeriesName as $Key => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- if ( isset($Data["Extended"]["Palette"][$Index] ) )
- {
- $Serie["R"] = $Data["Extended"]["Palette"][$Index]["R"];
- $Serie["G"] = $Data["Extended"]["Palette"][$Index]["G"];
- $Serie["B"] = $Data["Extended"]["Palette"][$Index]["B"];
- $Serie["Alpha"] = $Data["Extended"]["Palette"][$Index]["Alpha"];
- }
- else
- {
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
- }
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
- $Y = floor($this->GraphAreaY1 + $XMargin + $Index * $XStep + $SerieOffset);
-
- if ($X < $MinX) { $MinX = $X; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($MinX,$Y-3,$Description,$Series,$Format);
-
- }
- }
- }
-
- /* Draw a label box */
- function drawLabelBox($X,$Y,$Title,$Captions,$Format="")
- {
- $NoTitle = isset($Format["NoTitle"]) ? $Format["NoTitle"] : NULL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 50;
- $DrawSerieColor = isset($Format["DrawSerieColor"]) ? $Format["DrawSerieColor"] : TRUE;
- $SerieR = isset($Format["SerieR"]) ? $Format["SerieR"] : NULL;
- $SerieG = isset($Format["SerieG"]) ? $Format["SerieG"] : NULL;
- $SerieB = isset($Format["SerieB"]) ? $Format["SerieB"] : NULL;
- $SerieAlpha = isset($Format["SerieAlpha"]) ? $Format["SerieAlpha"] : NULL;
- $SerieBoxSize = isset($Format["SerieBoxSize"]) ? $Format["SerieBoxSize"] : 6;
- $SerieBoxSpacing = isset($Format["SerieBoxSpacing"]) ? $Format["SerieBoxSpacing"] : 4;
- $VerticalMargin = isset($Format["VerticalMargin"]) ? $Format["VerticalMargin"] : 10;
- $HorizontalMargin = isset($Format["HorizontalMargin"]) ? $Format["HorizontalMargin"] : 8;
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $TitleMode = isset($Format["TitleMode"]) ? $Format["TitleMode"] : LABEL_TITLE_NOBACKGROUND;
- $TitleR = isset($Format["TitleR"]) ? $Format["TitleR"] : $R;
- $TitleG = isset($Format["TitleG"]) ? $Format["TitleG"] : $G;
- $TitleB = isset($Format["TitleB"]) ? $Format["TitleB"] : $B;
- $TitleBackgroundR = isset($Format["TitleBackgroundR"]) ? $Format["TitleBackgroundR"] : 0;
- $TitleBackgroundG = isset($Format["TitleBackgroundG"]) ? $Format["TitleBackgroundG"] : 0;
- $TitleBackgroundB = isset($Format["TitleBackgroundB"]) ? $Format["TitleBackgroundB"] : 0;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 220;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 220;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 220;
-
- if ( !$DrawSerieColor ) { $SerieBoxSize = 0; $SerieBoxSpacing = 0; }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Title);
- $TitleWidth = ($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2;
- $TitleHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- if ( $NoTitle ) { $TitleWidth = 0; $TitleHeight = 0; }
-
- $CaptionWidth = 0; $CaptionHeight = -$HorizontalMargin;
- foreach($Captions as $Key =>$Caption)
- {
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Caption["Caption"]);
- $CaptionWidth = max($CaptionWidth,($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2);
- $CaptionHeight = $CaptionHeight + max(($TxtPos[0]["Y"] - $TxtPos[2]["Y"]),($SerieBoxSize+2)) + $HorizontalMargin;
- }
-
- if ( $CaptionHeight <= 5 ) { $CaptionHeight = $CaptionHeight + $HorizontalMargin/2; }
-
- if ( $DrawSerieColor ) { $CaptionWidth = $CaptionWidth + $SerieBoxSize + $SerieBoxSpacing; }
-
- $BoxWidth = max($BoxWidth,$TitleWidth,$CaptionWidth);
-
- $XMin = $X - 5 - floor(($BoxWidth-10) / 2);
- $XMax = $X + 5 + floor(($BoxWidth-10) / 2);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow == TRUE )
- {
- $this->Shadow = FALSE;
-
- $Poly = "";
- $Poly[] = $X+$this->ShadowX; $Poly[] = $Y+$this->ShadowX;
- $Poly[] = $X+5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
-
- if ( $NoTitle )
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- }
- else
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- }
-
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $X-5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $this->drawPolygon($Poly,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- /* Draw the background */
- $GradientSettings = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB);
- if ( $NoTitle )
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- else
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- $Poly = ""; $Poly[] = $X; $Poly[] = $Y; $Poly[] = $X-5; $Poly[] = $Y-5; $Poly[] = $X+5; $Poly[] = $Y-5;
- $this->drawPolygon($Poly,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB,"NoBorder"=>TRUE));
-
- /* Outer border */
- $OuterBorderColor = $this->allocateColor($this->Picture,100,100,100,100);
- imageline($this->Picture,$XMin,$Y-5,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X+5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X+5,$Y-5,$XMax,$Y-5,$OuterBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$OuterBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$OuterBorderColor);
- }
-
- /* Inner border */
- $InnerBorderColor = $this->allocateColor($this->Picture,255,255,255,100);
- imageline($this->Picture,$XMin+1,$Y-6,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X+5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X+5,$Y-6,$XMax-1,$Y-6,$InnerBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$InnerBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$InnerBorderColor);
- }
-
- /* Draw the separator line */
- if ( $TitleMode == LABEL_TITLE_NOBACKGROUND && !$NoTitle )
- {
- $YPos = $Y-7-$CaptionHeight-$HorizontalMargin-$HorizontalMargin/2;
- $XMargin = $VerticalMargin / 2;
- $this->drawLine($XMin+$XMargin,$YPos+1,$XMax-$XMargin,$YPos+1,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB));
- $this->drawLine($XMin+$XMargin,$YPos,$XMax-$XMargin,$YPos,array("R"=>$GradientStartR,"G"=>$GradientStartG,"B"=>$GradientStartB));
- }
- elseif ( $TitleMode == LABEL_TITLE_BACKGROUND )
- {
- $this->drawFilledRectangle($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2,array("R"=>$TitleBackgroundR,"G"=>$TitleBackgroundG,"B"=>$TitleBackgroundB));
- imageline($this->Picture,$XMin+1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$XMax-1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$InnerBorderColor);
- }
-
- /* Write the description */
- if ( !$NoTitle )
- $this->drawText($XMin+$VerticalMargin,$Y-7-$CaptionHeight-$HorizontalMargin*2,$Title,array("Align"=>TEXT_ALIGN_BOTTOMLEFT,"R"=>$TitleR,"G"=>$TitleG,"B"=>$TitleB));
-
- /* Write the value */
- $YPos = $Y-5-$HorizontalMargin; $XPos = $XMin+$VerticalMargin+$SerieBoxSize+$SerieBoxSpacing;
- foreach($Captions as $Key => $Caption)
- {
- $CaptionTxt = $Caption["Caption"];
- $TxtPos = $this->getTextBox($XPos,$YPos,$FontName,$FontSize,0,$CaptionTxt);
- $CaptionHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- /* Write the serie color if needed */
- if ( $DrawSerieColor )
- {
- $BoxSettings = array("R"=>$Caption["Format"]["R"],"G"=>$Caption["Format"]["G"],"B"=>$Caption["Format"]["B"],"Alpha"=>$Caption["Format"]["Alpha"],"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $this->drawFilledRectangle($XMin+$VerticalMargin,$YPos-$SerieBoxSize,$XMin+$VerticalMargin+$SerieBoxSize,$YPos,$BoxSettings);
- }
-
- $this->drawText($XPos,$YPos,$CaptionTxt,array("Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- $YPos = $YPos - $CaptionHeight - $HorizontalMargin;
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a basic shape */
- function drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha)
- {
- if ( $Shape == SERIE_SHAPE_FILLEDCIRCLE )
- {
- if ( $PlotBorder ) { $this->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledCircle($X,$Y,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDSQUARE )
- {
- if ( $PlotBorder ) { $this->drawFilledRectangle($X-$PlotSize-$BorderSize,$Y-$PlotSize-$BorderSize,$X+$PlotSize+$BorderSize,$Y+$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDTRIANGLE )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X-$PlotSize; $Pos[]=$Y+$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_TRIANGLE )
- {
- $this->drawLine($X,$Y-$PlotSize,$X-$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X-$PlotSize,$Y+$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X+$PlotSize,$Y+$PlotSize,$X,$Y-$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_SQUARE )
- $this->drawRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_CIRCLE )
- $this->drawCircle($X,$Y,$PlotSize,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_DIAMOND )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("NoFill"=>TRUE,"BorderR"=>$R,"BorderG"=>$G,"BorderB"=>$B,"BorderAlpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDDIAMOND )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- function drawPolygonChart($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- $AllIntegers = TRUE;
- for($i=0;$i<=count($Points)-2;$i=$i+2)
- { if ( $this->getFirstDecimal($Points[$i+1]) != 0 ) { $AllIntegers = FALSE; } }
-
- /* Convert polygon to segments */
- $Segments = "";
- for($i=2;$i<=count($Points)-2;$i=$i+2)
- { $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[$i],"Y2"=>$Points[$i+1]); }
- $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[0],"Y2"=>$Points[1]);
-
- /* Simplify straight lines */
- $Result = ""; $inHorizon = FALSE; $LastX = VOID;
- foreach($Segments as $Key => $Pos)
- {
- if ( $Pos["Y1"] != $Pos["Y2"] )
- {
- if ( $inHorizon ) { $inHorizon = FALSE; $Result[] = array("X1"=>$LastX,"Y1"=>$Pos["Y1"],"X2"=>$Pos["X1"],"Y2"=>$Pos["Y1"]); }
-
- $Result[] = array("X1"=>$Pos["X1"],"Y1"=>$Pos["Y1"],"X2"=>$Pos["X2"],"Y2"=>$Pos["Y2"]);
- }
- else { if ( !$inHorizon ) { $inHorizon = TRUE; $LastX = $Pos["X1"];} }
- }
- $Segments = $Result;
-
- /* Do we have something to draw */
- if ( $Segments == "" ) { return(0); }
-
- /* For segments debugging purpose */
- //foreach($Segments as $Key => $Pos)
- // echo $Pos["X1"].",".$Pos["Y1"].",".$Pos["X2"].",".$Pos["Y2"]."\r\n";
-
- /* Find out the min & max Y boundaries */
- $MinY = OUT_OF_SIGHT; $MaxY = OUT_OF_SIGHT;
- foreach($Segments as $Key => $Coords)
- {
- if ( $MinY == OUT_OF_SIGHT || $MinY > min($Coords["Y1"],$Coords["Y2"]) ) { $MinY = min($Coords["Y1"],$Coords["Y2"]); }
- if ( $MaxY == OUT_OF_SIGHT || $MaxY < max($Coords["Y1"],$Coords["Y2"]) ) { $MaxY = max($Coords["Y1"],$Coords["Y2"]); }
- }
-
- if ( $AllIntegers ) { $YStep = 1; } else { $YStep = .5; }
-
- $MinY = floor($MinY); $MaxY = floor($MaxY);
-
- /* Scan each Y lines */
- $DefaultColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $DebugLine = 0; $DebugColor = $this->allocateColor($this->Picture,255,0,0,100);
-
- $MinY = floor($MinY); $MaxY = floor($MaxY); $YStep = 1;
-
- if ( !$NoFill )
- {
- //if ( $DebugLine ) { $MinY = $DebugLine; $MaxY = $DebugLine; }
- for($Y=$MinY;$Y<=$MaxY;$Y=$Y+$YStep)
- {
- $Intersections = ""; $LastSlope = NULL; $RestoreLast = "-";
- foreach($Segments as $Key => $Coords)
- {
- $X1 = $Coords["X1"]; $X2 = $Coords["X2"]; $Y1 = $Coords["Y1"]; $Y2 = $Coords["Y2"];
-
- if ( min($Y1,$Y2) <= $Y && max($Y1,$Y2) >= $Y )
- {
- if ( $Y1 == $Y2 )
- { $X = $X1; }
- else
- { $X = $X1 + ( ($Y-$Y1)*$X2 - ($Y-$Y1)*$X1 ) / ($Y2-$Y1); }
-
- $X = floor($X);
-
- if ( $X2 == $X1 )
- { $Slope = "!"; }
- else
- {
- $SlopeC = ($Y2 - $Y1) / ($X2 - $X1);
- if( $SlopeC == 0 )
- { $Slope = "="; }
- elseif( $SlopeC > 0 )
- { $Slope = "+"; }
- elseif ( $SlopeC < 0 )
- { $Slope = "-"; }
- }
-
- if ( !is_array($Intersections) )
- { $Intersections[] = $X; }
- elseif( !in_array($X,$Intersections) )
- { $Intersections[] = $X; }
- elseif( in_array($X,$Intersections) )
- {
- if ($Y == $DebugLine) { echo $Slope."/".$LastSlope."(".$X.") "; }
-
- if ( $Slope == "=" && $LastSlope == "-" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope != "!" && $LastSlope != "=" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope == "!" && $Slope == "+" ) { $Intersections[] = $X; }
- }
-
- if ( is_array($Intersections) && in_array($X,$Intersections) && $LastSlope == "=" && ($Slope == "-" )) { $Intersections[] = $X; }
-
- $LastSlope = $Slope;
- }
- }
- if ( $RestoreLast != "-" ) { $Intersections[] = $RestoreLast; echo "@".$Y."\r\n"; }
-
- if ( is_array($Intersections) )
- {
- sort($Intersections);
-
- if ($Y == $DebugLine) { print_r($Intersections); }
-
- /* Remove NULL plots */
- $Result = "";
- for($i=0;$i<=count($Intersections)-1;$i=$i+2)
- {
- if ( isset($Intersections[$i+1]) )
- { if ( $Intersections[$i] != $Intersections[$i+1] ) { $Result[] = $Intersections[$i]; $Result[] = $Intersections[$i+1]; } }
- }
-
- if ( is_array($Result) )
- {
- $Intersections = $Result;
-
- $LastX = OUT_OF_SIGHT;
- foreach($Intersections as $Key => $X)
- {
- if ( $LastX == OUT_OF_SIGHT )
- $LastX = $X;
- elseif ( $LastX != OUT_OF_SIGHT )
- {
- if ( $this->getFirstDecimal($LastX) > 1 ) { $LastX++; }
-
- $Color = $DefaultColor;
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $R = $Parameters["R"]; } else { $R = 0; }
- if ( isset($Parameters["G"]) ) { $G = $Parameters["G"]; } else { $G = 0; }
- if ( isset($Parameters["B"]) ) { $B = $Parameters["B"]; } else { $B = 0; }
- if ( isset($Parameters["Alpha"]) ) { $Alpha = $Parameters["Alpha"]; } else { $Alpha = 100; }
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- }
- }
- }
-
- imageline($this->Picture,$LastX,$Y,$X,$Y,$Color);
-
- if ( $Y == $DebugLine) { imageline($this->Picture,$LastX,$Y,$X,$Y,$DebugColor); }
-
- $LastX = OUT_OF_SIGHT;
- }
- }
- }
- }
- }
- }
-
- /* Draw the polygon border, if required */
- if ( !$NoBorder)
- {
- foreach($Segments as $Key => $Coords)
- $this->drawLine($Coords["X1"],$Coords["Y1"],$Coords["X2"],$Coords["Y2"],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Threshold"=>$Threshold));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pImage.class.php b/Website/tricode/class/pImage.class.php
deleted file mode 100644
index 4684e3c..0000000
--- a/Website/tricode/class/pImage.class.php
+++ /dev/null
@@ -1,343 +0,0 @@
-<?php
- /*
- pDraw - pChart core class
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* The GD extension is mandatory */
- if (!extension_loaded('gd') && !extension_loaded('gd2'))
- {
- echo "GD extension must be loaded. \r\n";
- exit();
- }
-
- define("IMAGE_MAP_STORAGE_FILE" , 680001);
- define("IMAGE_MAP_STORAGE_SESSION" , 680002);
-
- class pImage extends pDraw
- {
- /* Image settings, size, quality, .. */
- var $XSize = NULL; // Width of the picture
- var $YSize = NULL; // Height of the picture
- var $Picture = NULL; // GD picture object
- var $Antialias = TRUE; // Turn antialias on or off
- var $AntialiasQuality = 0; // Quality of the antialiasing implementation (0-1)
- var $Mask = ""; // Already drawn pixels mask (Filled circle implementation)
- var $TransparentBackground = FALSE; // Just to know if we need to flush the alpha channels when rendering
-
- /* Graph area settings */
- var $GraphAreaX1 = NULL; // Graph area X origin
- var $GraphAreaY1 = NULL; // Graph area Y origin
- var $GraphAreaX2 = NULL; // Graph area bottom right X position
- var $GraphAreaY2 = NULL; // Graph area bottom right Y position
-
- /* Scale settings */
- var $ScaleMinDivHeight = 20; // Minimum height for scame divs
-
- /* Font properties */
- var $FontName = "fonts/GeosansLight.ttf"; // Default font file
- var $FontSize = 12; // Default font size
- var $FontBox = NULL; // Return the bounding box of the last written string
- var $FontColorR = 0; // Default color settings
- var $FontColorG = 0; // Default color settings
- var $FontColorB = 0; // Default color settings
- var $FontColorA = 100; // Default transparency
-
- /* Shadow properties */
- var $Shadow = TRUE; // Turn shadows on or off
- var $ShadowX = NULL; // X Offset of the shadow
- var $ShadowY = NULL; // Y Offset of the shadow
- var $ShadowR = NULL; // R component of the shadow
- var $ShadowG = NULL; // G component of the shadow
- var $ShadowB = NULL; // B component of the shadow
- var $Shadowa = NULL; // Alpha level of the shadow
-
- /* Image map */
- var $ImageMap = NULL; // Aray containing the image map
- var $ImageMapIndex = "pChart"; // Name of the session array
- var $ImageMapStorageMode = NULL; // Save the current imagemap storage mode
- var $ImageMapAutoDelete = TRUE; // Automatic deletion of the image map temp files
-
- /* Data Set */
- var $DataSet = NULL; // Attached dataset
-
- /* Class constructor */
- function pImage($XSize,$YSize,$DataSet=NULL,$TransparentBackground=FALSE)
- {
- $this->TransparentBackground = $TransparentBackground;
-
- if ( $DataSet != NULL ) { $this->DataSet = $DataSet; }
-
- $this->XSize = $XSize;
- $this->YSize = $YSize;
- $this->Picture = imagecreatetruecolor($XSize,$YSize);
-
- if ( $this->TransparentBackground )
- {
- imagealphablending($this->Picture,FALSE);
- imagefilledrectangle($this->Picture, 0,0,$XSize, $YSize, imagecolorallocatealpha($this->Picture, 255, 255, 255, 127));
- imagealphablending($this->Picture,TRUE);
- imagesavealpha($this->Picture,true);
- }
- else
- {
- $C_White = $this->AllocateColor($this->Picture,255,255,255);
- imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
- }
- }
-
- /* Enable / Disable and set shadow properties */
- function setShadow($Enabled=TRUE,$Format="")
- {
- $X = isset($Format["X"]) ? $Format["X"] : 2;
- $Y = isset($Format["Y"]) ? $Format["Y"] : 2;
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 10;
-
- $this->Shadow = $Enabled;
- $this->ShadowX = $X;
- $this->ShadowY = $Y;
- $this->ShadowR = $R;
- $this->ShadowG = $G;
- $this->ShadowB = $B;
- $this->Shadowa = $Alpha;
- }
-
- /* Set the graph area position */
- function setGraphArea($X1,$Y1,$X2,$Y2)
- {
- if ( $X2 < $X1 || $X1 == $X2 || $Y2 < $Y1 || $Y1 == $Y2 ) { return(-1); }
-
- $this->GraphAreaX1 = $X1; $this->DataSet->Data["GraphArea"]["X1"] = $X1;
- $this->GraphAreaY1 = $Y1; $this->DataSet->Data["GraphArea"]["Y1"] = $Y1;
- $this->GraphAreaX2 = $X2; $this->DataSet->Data["GraphArea"]["X2"] = $X2;
- $this->GraphAreaY2 = $Y2; $this->DataSet->Data["GraphArea"]["Y2"] = $Y2;
- }
-
- /* Return the width of the picture */
- function getWidth()
- { return($this->XSize); }
-
- /* Return the heigth of the picture */
- function getHeight()
- { return($this->YSize); }
-
- /* Render the picture to a file */
- function render($FileName)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
- imagepng($this->Picture,$FileName);
- }
-
- /* Render the picture to a web browser stream */
- function stroke($BrowserExpire=FALSE)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
-
- if ( $BrowserExpire )
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache");
- header("Pragma: no-cache");
- }
-
- header('Content-type: image/png');
- imagepng($this->Picture);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($FileName="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->Render($FileName);
- else
- $this->Stroke();
- }
-
- /* Return the length between two points */
- function getLength($X1,$Y1,$X2,$Y2)
- { return(sqrt(pow(max($X1,$X2)-min($X1,$X2),2)+pow(max($Y1,$Y2)-min($Y1,$Y2),2))); }
-
- /* Return the orientation of a line */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- /* Return the surrounding box of text area */
- function getTextBox_deprecated($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $Size = imagettfbbox($FontSize,$Angle,$FontName,$Text);
- $Width = $this->getLength($Size[0],$Size[1],$Size[2],$Size[3])+1;
- $Height = $this->getLength($Size[2],$Size[3],$Size[4],$Size[5])+1;
-
- $RealPos[0]["X"] = $X; $RealPos[0]["Y"] = $Y;
- $RealPos[1]["X"] = cos((360-$Angle)*PI/180)*$Width + $RealPos[0]["X"]; $RealPos[1]["Y"] = sin((360-$Angle)*PI/180)*$Width + $RealPos[0]["Y"];
- $RealPos[2]["X"] = cos((270-$Angle)*PI/180)*$Height + $RealPos[1]["X"]; $RealPos[2]["Y"] = sin((270-$Angle)*PI/180)*$Height + $RealPos[1]["Y"];
- $RealPos[3]["X"] = cos((180-$Angle)*PI/180)*$Width + $RealPos[2]["X"]; $RealPos[3]["Y"] = sin((180-$Angle)*PI/180)*$Width + $RealPos[2]["Y"];
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
-
- return($RealPos);
- }
-
- /* Return the surrounding box of text area */
- function getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $coords = imagettfbbox($FontSize, 0, $FontName, $Text);
-
- $a = deg2rad($Angle); $ca = cos($a); $sa = sin($a); $RealPos = array();
- for($i = 0; $i < 7; $i += 2)
- {
- $RealPos[$i/2]["X"] = $X + round($coords[$i] * $ca + $coords[$i+1] * $sa);
- $RealPos[$i/2]["Y"] = $Y + round($coords[$i+1] * $ca - $coords[$i] * $sa);
- }
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPLEFT]["X"] = $RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPLEFT]["Y"] = $RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_TOPRIGHT]["X"] = $RealPos[2]["X"]; $RealPos[TEXT_ALIGN_TOPRIGHT]["Y"] = $RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[0]["X"])/2+$RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[1]["Y"])/2+$RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPMIDDLE]["X"] = ($RealPos[2]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPMIDDLE]["Y"] = ($RealPos[3]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLELEFT]["X"] = ($RealPos[0]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLELEFT]["Y"] = ($RealPos[0]["Y"]-$RealPos[3]["Y"])/2+$RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLERIGHT]["X"] = ($RealPos[1]["X"]-$RealPos[2]["X"])/2+$RealPos[2]["X"]; $RealPos[TEXT_ALIGN_MIDDLERIGHT]["Y"] = ($RealPos[1]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
-
- return($RealPos);
- }
-
- /* Set current font properties */
- function setFontProperties($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : -1;
- $G = isset($Format["G"]) ? $Format["G"] : -1;
- $B = isset($Format["B"]) ? $Format["B"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : NULL;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : NULL;
-
- if ( $R != -1) { $this->FontColorR = $R; }
- if ( $G != -1) { $this->FontColorG = $G; }
- if ( $B != -1) { $this->FontColorB = $B; }
- if ( $Alpha != NULL) { $this->FontColorA = $Alpha; }
-
- if ( $FontName != NULL )
- $this->FontName = $FontName;
-
- if ( $FontSize != NULL )
- $this->FontSize = $FontSize;
- }
-
- /* Returns the 1st decimal values (used to correct AA bugs) */
- function getFirstDecimal($Value)
- {
- $Values = preg_split("/\./",$Value);
- if ( isset($Values[1]) ) { return(substr($Values[1],0,1)); } else { return(0); }
- }
-
- /* Attach a dataset to your pChart Object */
- function setDataSet(&$DataSet)
- { $this->DataSet = $DataSet; }
-
- /* Print attached dataset contents to STDOUT */
- function printDataSet()
- { print_r($this->DataSet); }
-
- /* Initialise the image map methods */
- function initialiseImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ($StorageMode == IMAGE_MAP_STORAGE_SESSION)
- {
- if(!isset($_SESSION)) { session_start(); }
- $_SESSION[$this->ImageMapIndex] = NULL;
- }
- elseif($StorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $this->ImageMapFileName = $UniqueID;
- $this->ImageMapStorageFolder = $StorageFolder;
-
- if (file_exists($StorageFolder."/".$UniqueID.".map")) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
-
- /* Add a zone to the image map */
- function addToImageMap($Type,$Plots,$Color=NULL,$Title=NULL,$Message=NULL)
- {
- if ( $this->ImageMapStorageMode == NULL ) { $this->initialiseImageMap(); }
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { $this->initialiseImageMap(); }
- $_SESSION[$this->ImageMapIndex][] = array($Type,$Plots,$Color,$Title,$Message);
- }
- elseif($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $Handle = fopen($this->ImageMapStorageFolder."/".$this->ImageMapFileName.".map", 'a');
- fwrite($Handle, $Type.";".$Plots.";".$Color.";".$Title.";".$Message."\r\n");
- fclose($Handle);
- }
- }
-
- /* Dump the image map */
- function dumpImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { session_start(); }
- if ( $_SESSION[$Name] != NULL )
- {
- foreach($_SESSION[$Name] as $Key => $Params)
- { echo $Params[0].";".$Params[1].";".$Params[2].";".$Params[3].";".$Params[4]."\r\n"; }
- }
- }
- elseif( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE )
- {
- if (file_exists($StorageFolder."/".$UniqueID.".map"))
- {
- $Handle = @fopen($StorageFolder."/".$UniqueID.".map", "r");
- if ($Handle) { while (($Buffer = fgets($Handle, 4096)) !== false) { echo $Buffer; } }
- fclose($Handle);
-
- if ( $this->ImageMapAutoDelete ) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
- exit();
- }
-
- /* Return the HTML converted color from the RGB composite values */
- function toHTMLColor($R,$G,$B)
- {
- $R=intval($R); $G=intval($G); $B=intval($B);
- $R=dechex($R<0?0:($R>255?255:$R)); $G=dechex($G<0?0:($G>255?255:$G));$B=dechex($B<0?0:($B>255?255:$B));
- $Color="#".(strlen($R) < 2?'0':'').$R; $Color.=(strlen($G) < 2?'0':'').$G; $Color.= (strlen($B) < 2?'0':'').$B;
- return($Color);
- }
-
- /* Reverse an array of points */
- function reversePlots($Plots)
- {
- $Result = "";
- for($i=count($Plots)-2;$i>=0;$i=$i-2) { $Result[] = $Plots[$i]; $Result[] = $Plots[$i+1]; }
- return($Result);
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pIndicator.class.php b/Website/tricode/class/pIndicator.class.php
deleted file mode 100644
index 4f7f23b..0000000
--- a/Website/tricode/class/pIndicator.class.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
- /*
- pIndicator - class to draw indicators
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("INDICATOR_CAPTION_DEFAULT" , 700001);
- define("INDICATOR_CAPTION_EXTENDED" , 700002);
-
- define("INDICATOR_CAPTION_INSIDE" , 700011);
- define("INDICATOR_CAPTION_BOTTOM" , 700012);
-
- define("INDICATOR_VALUE_BUBBLE" , 700021);
- define("INDICATOR_VALUE_LABEL" , 700022);
-
- /* pIndicator class definition */
- class pIndicator
- {
- var $pChartObject;
-
- /* Class creator */
- function pIndicator($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- }
-
- /* Draw an indicator */
- function draw($X,$Y,$Width,$Height,$Format="")
- {
- $Values = isset($Format["Values"]) ? $Format["Values"] : VOID;
- $IndicatorSections = isset($Format["IndicatorSections"]) ? $Format["IndicatorSections"] : NULL;
- $ValueDisplay = isset($Format["ValueDisplay"]) ? $Format["ValueDisplay"] : INDICATOR_VALUE_BUBBLE;
- $SectionsMargin = isset($Format["SectionsMargin"]) ? $Format["SectionsMargin"] : 4;
- $DrawLeftHead = isset($Format["DrawLeftHead"]) ? $Format["DrawLeftHead"] : TRUE;
- $DrawRightHead = isset($Format["DrawRightHead"]) ? $Format["DrawRightHead"] : TRUE;
- $HeadSize = isset($Format["HeadSize"]) ? $Format["HeadSize"] : floor($Height/4);
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 4;
- $CaptionLayout = isset($Format["CaptionLayout"]) ? $Format["CaptionLayout"] : INDICATOR_CAPTION_EXTENDED;
- $CaptionPosition = isset($Format["CaptionPosition"]) ? $Format["CaptionPosition"] : INDICATOR_CAPTION_INSIDE;
- $CaptionColorFactor = isset($Format["CaptionColorFactor"]) ? $Format["CaptionColorFactor"] : NULL;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $SubCaptionColorFactor = isset($Format["SubCaptionColorFactor"]) ? $Format["SubCaptionColorFactor"] : NULL;
- $SubCaptionR = isset($Format["SubCaptionR"]) ? $Format["SubCaptionR"] : 50;
- $SubCaptionG = isset($Format["SubCaptionG"]) ? $Format["SubCaptionG"] : 50;
- $SubCaptionB = isset($Format["SubCaptionB"]) ? $Format["SubCaptionB"] : 50;
- $SubCaptionAlpha = isset($Format["SubCaptionAlpha"]) ? $Format["SubCaptionAlpha"] : 100;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $CaptionFontName = isset($Format["CaptionFontName"]) ? $Format["CaptionFontName"] : $this->pChartObject->FontName;
- $CaptionFontSize = isset($Format["CaptionFontSize"]) ? $Format["CaptionFontSize"] : $this->pChartObject->FontSize;
- $Unit = isset($Format["Unit"]) ? $Format["Unit"] : "";
-
- /* Convert the Values to display to an array if needed */
- if ( !is_array($Values) ) { $Value = $Values; $Values = ""; $Values[] = $Value; }
-
- /* No section, let's die */
- if ( $IndicatorSections == NULL ) { return(0); }
-
- /* Determine indicator visual configuration */
- $OverallMin = $IndicatorSections[0]["End"]; $OverallMax = $IndicatorSections[0]["Start"];
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Settings["End"] > $OverallMax ) { $OverallMax = $Settings["End"]; }
- if ( $Settings["Start"] < $OverallMin ) { $OverallMin = $Settings["Start"]; }
- }
- $RealWidth = $Width - (count($IndicatorSections)-1)*$SectionsMargin;
- $XScale = $RealWidth / ($OverallMax-$OverallMin);
-
- $X1 = $X; $ValuesPos = "";
- foreach ($IndicatorSections as $Key => $Settings)
- {
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]);
- $Caption = $Settings["Caption"];
- $SubCaption = $Settings["Start"]." - ".$Settings["End"];
-
- $X2 = $X1 + ($Settings["End"] - $Settings["Start"]) * $XScale;
-
- if ( $Key == 0 && $DrawLeftHead )
- {
- $Poly = ""; $Poly[] = $X1-1; $Poly[] = $Y; $Poly[] = $X1-1; $Poly[] = $Y+$Height; $Poly[] = $X1-1-$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X1-2,$Y,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X1-2,$Y+$Height,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- }
-
- /* Determine the position of the breaks */
- $Break = "";
- foreach($Values as $iKey => $Value)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $XBreak = $X1 + ($Value - $Settings["Start"]) * $XScale;
- $ValuesPos[$Value] = $XBreak;
- $Break[] = floor($XBreak);
- }
- }
-
- if ( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- if ( $Break == "" )
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
- else
- {
- sort($Break);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y; $LastPointWritten = FALSE;
- foreach($Break as $iKey => $Value)
- {
- if ( $Value-5 >= $X1 )
- { $Poly[] = $Value-5; $Poly[] = $Y; }
- elseif ($X1 - ($Value-5) > 0 )
- {
- $Offset = $X1 - ($Value-5);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y + $Offset;
- }
-
- $Poly[] = $Value; $Poly[] = $Y+5;
-
- if ( $Value+5 <= $X2 )
- { $Poly[] = $Value+5; $Poly[] = $Y; }
- elseif (($Value+5) > $X2 )
- {
- $Offset = ($Value+5) - $X2;
- $Poly[] = $X2; $Poly[] = $Y + $Offset;
- $LastPointWritten = TRUE;
- }
-
- }
- if ( !$LastPointWritten ) { $Poly[] = $X2; $Poly[] = $Y; }
- $Poly[] = $X2; $Poly[] = $Y+$Height;
- $Poly[] = $X1; $Poly[] = $Y+$Height;
-
- $this->pChartObject->drawPolygon($Poly,$Color);
- }
- }
- else
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
-
- if ( $Key == count($IndicatorSections)-1 && $DrawRightHead )
- {
- $Poly = ""; $Poly[] = $X2+1; $Poly[] = $Y; $Poly[] = $X2+1; $Poly[] = $Y+$Height; $Poly[] = $X2+1+$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X2+1,$Y,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X2+1,$Y+$Height,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- }
-
- if ( $CaptionPosition == INDICATOR_CAPTION_INSIDE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $YOffset = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$SubCaption);
- $YOffset = $YOffset + ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding*2;
- }
-
- $XOffset = $TextPadding;
- }
- else
- { $YOffset = 0; $XOffset = 0; }
-
- if ( $CaptionColorFactor == NULL )
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha); }
- else
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$CaptionColorFactor,"G"=>$Settings["G"]+$CaptionColorFactor,"B"=>$Settings["B"]+$CaptionColorFactor); }
-
- if ( $SubCaptionColorFactor == NULL )
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$SubCaptionR,"G"=>$SubCaptionG,"B"=>$SubCaptionB,"Alpha"=>$SubCaptionAlpha);
- else
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$SubCaptionColorFactor,"G"=>$Settings["G"]+$SubCaptionColorFactor,"B"=>$Settings["B"]+$SubCaptionColorFactor);
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_DEFAULT )
- $this->pChartObject->drawText($X1,$Y+$Height+$TextPadding,$Caption,$CaptionColor);
- elseif ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $CaptionHeight = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
-
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$TextPadding,$Caption,$CaptionColor);
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$CaptionHeight+$TextPadding*2,$SubCaption,$SubCaptionColor);
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- $X1 = $X2 + $SectionsMargin;
- }
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- foreach($Values as $Key => $Value)
- {
- if ( $Value >= $OverallMin && $Value <= $OverallMax )
- {
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $X1 = $ValuesPos[$Value]; //$X + $Key*$SectionsMargin + ($Value - $OverallMin) * $XScale;
-
- if ( $ValueDisplay == INDICATOR_VALUE_BUBBLE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y,$ValueFontName,$ValueFontSize,0,$Value.$Unit);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $TextPadding*4)/2);
-
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius+4,array("R"=>$Settings["R"]+20,"G"=>$Settings["G"]+20,"B"=>$Settings["B"]+20));
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius,array("R"=>255,"G"=>255,"B"=>255));
-
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize);
- $this->pChartObject->drawText($X1-1,$Y-1,$Value.$Unit,$TextSettings);
- }
- elseif( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- $Caption = "";
- $Caption[] = array("Format"=>array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>100),"Caption"=>$Value.$Unit);
- $this->pChartObject->drawLabelBox(floor($X1),floor($Y)+2,"Value - ".$Settings["Caption"],$Caption);
- }
- }
- $X1 = $X2 + $SectionsMargin;
- }
- }
- }
- $this->pChartObject->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pPie.class.php b/Website/tricode/class/pPie.class.php
deleted file mode 100644
index 8940b4d..0000000
--- a/Website/tricode/class/pPie.class.php
+++ /dev/null
@@ -1,1493 +0,0 @@
-<?php
- /*
- pPie - class to draw pie charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Class return codes */
- define("PIE_NO_ABSCISSA" , 140001);
- define("PIE_NO_DATASERIE" , 140002);
- define("PIE_SUMISNULL" , 140003);
- define("PIE_RENDERED" , 140000);
-
- define("PIE_LABEL_COLOR_AUTO" , 140010);
- define("PIE_LABEL_COLOR_MANUAL", 140011);
-
- define("PIE_VALUE_NATURAL" , 140020);
- define("PIE_VALUE_PERCENTAGE" , 140021);
-
- define("PIE_VALUE_INSIDE" , 140030);
- define("PIE_VALUE_OUTSIDE" , 140031);
-
- /* pPie class definition */
- class pPie
- {
- var $pChartObject;
- var $pDataObject;
- var $LabelPos = "" ;
-
- /* Class creator */
- function pPie($Object,$pDataObject)
- {
- /* Cache the pChart object reference */
- $this->pChartObject = $Object;
-
- /* Cache the pData object reference */
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a pie chart */
- function draw2DPie($X,$Y,$Format="")
- {
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DPie($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- if ( !$SecondPass && !$Shadow )
- {
- if ( !$Border )
- $Settings["Surrounding"] = 10;
- else
- { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- }
-
- $Plots = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
-
- $Plots[] = $X0; $Plots[] = $Y0;
-
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $SecondPass && ( $i<90 )) { $Yc++; }
- if ( $SecondPass && ( $i>180 && $i<270 )) { $Xc++; }
- if ( $SecondPass && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
-
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- if ( $DrawLabels && !$Shadow && !$SecondPass )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- $Settings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB);
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
- }
-
- if ( $WriteValues != NULL && !$Shadow )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = ($Value*$ScaleFactor) + $Offset; if ( $EndAngle > 360 ) { $EndAngle = 0; }
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $Y;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius)/2 + $Y;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle + $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D pie chart */
- function draw3DPie($X,$Y,$Format="")
- {
- /* Rendering layout */
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 80;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .5;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 20;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_INSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y;
- }
- $Slices[$Slice][] = $X0; $Slices[$Slice][] = $Y0; $SliceAngle[$Slice][] = 0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y;
-
- if ( ($SecondPass || $RestoreShadow ) && ( $i<90 )) { $Yc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>90 && $i<180 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>180 && $i<270 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Slices[$Slice][] = $Xc; $Slices[$Slice][] = $Yc; $SliceAngle[$Slice][] = $i;
- }
-
- $Offset = $i - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom shadow if needed */
- if ( $RestoreShadow && ($this->pChartObject->ShadowX != 0 || $this->pChartObject->ShadowY !=0 ))
- {
- foreach($Slices as $SliceID => $Plots)
- {
- $ShadowPie = "";
- for($i=0;$i<count($Plots);$i=$i+2)
- { $ShadowPie[] = $Plots[$i]+$this->pChartObject->ShadowX; $ShadowPie[] = $Plots[$i+1]+$this->pChartObject->ShadowY; }
-
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa,"NoBorder"=>TRUE);
- $this->pChartObject->drawPolygon($ShadowPie,$Settings);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X + $this->pChartObject->ShadowX;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y + $this->pChartObject->ShadowY;
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots,$Settings);
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30;; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
- }
- }
- }
-
- /* Draw the two vertical edges */
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- if ( $Visible[$SliceID]["Start"] && isset($Plots[2])) /* Empty error handling */
- {
- $this->pChartObject->drawLine($Plots[2],$Plots[3],$Plots[2],$Plots[3]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[2]; $Border[] = $Plots[3] - $SliceHeight; $Border[] = $Plots[2]; $Border[] = $Plots[3];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
- if ( $Visible[$SliceID]["End"] )
- {
- $this->pChartObject->drawLine($Plots[count($Plots)-2],$Plots[count($Plots)-1],$Plots[count($Plots)-2],$Plots[count($Plots)-1]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
-
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1] - $SliceHeight; $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- /* Draw the rounded edges */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- for ($j=2;$j<count($Plots)-2;$j=$j+2)
- {
- $Angle = $SliceAngle[$SliceID][$j/2];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Border = "";
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3] - $SliceHeight;
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1] - $SliceHeight;
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
- }
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 270 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 270 )
- {
- $Xc = cos((270-90)*PI/180) * $Radius + $X;
- $Yc = sin((270-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 90 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 90 )
- {
- $Xc = cos((0)*PI/180) * $Radius + $X;
- $Yc = sin((0)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- }
- }
-
- /* Draw the top splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 20; $Settings["G"]+= 20; $Settings["B"]+= 20;
-
- $Top = "";
- for($j=0;$j<count($Plots);$j=$j+2) { $Top[] = $Plots[$j]; $Top[] = $Plots[$j+1]- $SliceHeight; }
- $this->pChartObject->drawPolygon($Top,$Settings);
-
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Top),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][count($Slices)-$SliceID-1],$Values[$SliceID]); }
- }
-
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- { $Settings = array("R"=>$Palette[$ID]["R"]+30,"G"=>$Palette[$ID]["G"]+30,"B"=>$Palette[$ID]["B"]+30,"Alpha"=>$Palette[$ID]["Alpha"]); }
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y- $SliceHeight; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y - $SliceHeight;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- if ($i < 270 && $i > 90 ) { $this->pChartObject->drawAntialiasPixel($Xc,$Yc+$SliceHeight,$Settings); }
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- if ( $WriteValues != NULL )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($Radius*$SkewFactor)+$ValuePadding) + $Y - $SliceHeight;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius*$SkewFactor)/2 + $Y - $SliceHeight;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( isset($Data["Series"][$Data["Abscissa"]]["Data"][$ID]) )
- {
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$ID];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius,TRUE);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw the legend of pie chart */
- function drawPieLegend($X,$Y,$Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$BoxSize+4,$vY+$BoxSize/2,$FontName,$FontSize,0,$Value);
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vY=$vY+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vX=$Boundaries["R"]+$XStep;
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $R = $Palette[$Key]["R"]; $G = $Palette[$Key]["G"]; $B = $Palette[$Key]["B"];
-
- $this->pChartObject->drawFilledRectangle($X+1,$Y+1,$X+$BoxSize+1,$Y+$BoxSize+1,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X,$Y,$X+$BoxSize,$Y+$BoxSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- if ( $Mode == LEGEND_VERTICAL )
- {
- $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $Y=$Y+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $BoxArray = $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $X=$BoxArray[1]["X"]+2+$XStep;
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Set the color of the specified slice */
- function setSliceColor($SliceID,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- $this->pDataObject->Palette[$SliceID]["R"] = $R;
- $this->pDataObject->Palette[$SliceID]["G"] = $G;
- $this->pDataObject->Palette[$SliceID]["B"] = $B;
- $this->pDataObject->Palette[$SliceID]["Alpha"] = $Alpha;
- }
-
- /* Internally used compute the label positions */
- function writePieLabel($X,$Y,$Label,$Angle,$Settings,$Stacked,$Xc=0,$Yc=0,$Radius=0,$Reversed=FALSE)
- {
- $LabelOffset = 30;
- $FontName = $this->pChartObject->FontName;
- $FontSize = $this->pChartObject->FontSize;
-
- if ( !$Stacked )
- {
- $Settings["Angle"] = 360-$Angle;
- $Settings["Length"] = 25;
- $Settings["Size"] = 8;
-
- $this->pChartObject->drawArrowLabel($X,$Y," ".$Label." ",$Settings);
- }
- else
- {
- $X2 = cos(deg2rad($Angle-90))*20+$X;
- $Y2 = sin(deg2rad($Angle-90))*20+$Y;
-
- $TxtPos = $this->pChartObject->getTextBox($X,$Y,$FontName,$FontSize,0,$Label);
- $Height = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
- $YTop = $Y2 - $Height/2 - 2;
- $YBottom = $Y2 + $Height/2 + 2;
-
- if ( $this->LabelPos != "" )
- {
- $Done = FALSE;
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( !$Done )
- {
- if ( $Angle <= 90 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 90 && $Angle <= 180 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 180 && $Angle <= 270 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 270 && $Angle <= 360 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- }
- }
- }
-
- $LabelSettings = array("YTop"=>$YTop,"YBottom"=>$YBottom,"Label"=>$Label,"Angle"=>$Angle,"X1"=>$X,"Y1"=>$Y,"X2"=>$X2,"Y2"=>$Y2);
- if ( $Angle <= 180 ) { $LabelSettings["X3"] = $Xc+$Radius+$LabelOffset; }
- if ( $Angle > 180 ) { $LabelSettings["X3"] = $Xc-$Radius-$LabelOffset; }
- $this->LabelPos[] = $LabelSettings;
- }
- }
-
- /* Internally used to shift label positions */
- function shift($StartAngle,$EndAngle,$Offset,$Reversed)
- {
- if ( $Reversed ) { $Offset = -$Offset; }
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( $Settings["Angle"] > $StartAngle && $Settings["Angle"] <= $EndAngle ) { $this->LabelPos[$Key]["YTop"] = $Settings["YTop"] + $Offset; $this->LabelPos[$Key]["YBottom"] = $Settings["YBottom"] + $Offset; $this->LabelPos[$Key]["Y2"] = $Settings["Y2"] + $Offset; }
- }
- }
-
- /* Internally used to write the re-computed labels */
- function writeShiftedLabels()
- {
- if ( $this->LabelPos == "" ) { return(0); }
- foreach($this->LabelPos as $Key => $Settings)
- {
- $X1 = $Settings["X1"]; $Y1 = $Settings["Y1"];
- $X2 = $Settings["X2"]; $Y2 = $Settings["Y2"];
- $X3 = $Settings["X3"];
- $Angle = $Settings["Angle"];
- $Label = $Settings["Label"];
-
- $this->pChartObject->drawArrow($X2,$Y2,$X1,$Y1,array("Size"=>8));
- if ( $Angle <= 180 )
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3+2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- }
- else
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3-2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- }
- }
- }
-
- /* Draw a ring chart */
- function draw2DRing($X,$Y,$Format="")
- {
- $OuterRadius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $InnerRadius = isset($Format["Radius"]) ? $Format["Radius"] : 30;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 5;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = 0; } // count($Values)
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DRing($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- {
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- $BorderColor = $Settings;
- }
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- if ( $Border )
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
- else
- $BorderColor = $Settings;
- }
-
- $Plots = ""; $Boundaries = ""; $AAPixels = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $OuterRadius + $Y;
-
- if ( !isset($Boundaries[0]["X1"]) ) { $Boundaries[0]["X1"] = $Xc; $Boundaries[0]["Y1"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[1]["X1"] = $Xc; $Boundaries[1]["Y1"] = $Yc;
- $Lasti = $EndAngle;
-
- for($i=$EndAngle;$i>=$Offset;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius-1) + $Y;
-
- if ( !isset($Boundaries[1]["X2"]) ) { $Boundaries[1]["X2"] = $Xc; $Boundaries[1]["Y2"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * $InnerRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $InnerRadius + $Y;
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[0]["X2"] = $Xc; $Boundaries[0]["Y2"] = $Yc;
-
- /* Draw the polygon */
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- /* Smooth the edges using AA */
- foreach($AAPixels as $iKey => $Pos ) { $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$BorderColor); }
- $this->pChartObject->drawLine($Boundaries[0]["X1"],$Boundaries[0]["Y1"],$Boundaries[0]["X2"],$Boundaries[0]["Y2"],$BorderColor);
- $this->pChartObject->drawLine($Boundaries[1]["X1"],$Boundaries[1]["Y1"],$Boundaries[1]["X2"],$Boundaries[1]["Y2"],$BorderColor);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $OuterRadius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $Lasti; $ID++;
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- if ( $WriteValues && !$Shadow )
- {
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset+($Value*$ScaleFactor);
- if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = $Offset+($Value*$ScaleFactor)/2;
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $Y;
- if ( $Angle >=0 && $Angle <= 90 ) { $Align = TEXT_ALIGN_BOTTOMLEFT; }
- if ( $Angle > 90 && $Angle <= 180 ) { $Align = TEXT_ALIGN_TOPLEFT; }
- if ( $Angle > 180 && $Angle <= 270 ) { $Align = TEXT_ALIGN_TOPRIGHT; }
- if ( $Angle > 270 ) { $Align = TEXT_ALIGN_BOTTOMRIGHT; }
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $Y;
- $Align = TEXT_ALIGN_MIDDLEMIDDLE;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,array("Align"=>$Align,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB));
- $Offset = $EndAngle;
- }
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D ring chart */
- function draw3DRing($X,$Y,$Format="")
- {
- /* Rendering layout */
- $OuterRadius = isset($Format["OuterRadius"]) ? $Format["OuterRadius"] : 100;
- $InnerRadius = isset($Format["InnerRadius"]) ? $Format["InnerRadius"] : 30;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .6;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 10;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 10;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 10;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $Cf = isset($Format["Cf"]) ? $Format["Cf"] : 20;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : $SliceHeight + 15;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon ring elements */
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- $Step = (360 / (2 * PI * $OuterRadius))/2;
- $OutX1 = VOID; $OutY1 = VOID;
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
-
- if ( $OutX1 == VOID ) { $OutX1 = $Xc; $OutY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $OutX2 = $Xc; $OutY2 = $Yc;
-
- $Slices[$Slice]["Angle"][] = VOID;
- $Lasti = $i;
-
- $Step = (360 / (2 * PI * $InnerRadius))/2;
- $InX1 = VOID; $InY1 = VOID;
- for($i=$EndAngle;$i<=$Offset;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- if ( $InX1 == VOID ) { $InX1 = $Xc; $InY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $InX2 = $Xc; $InY2 = $Yc;
-
- $Slices[$Slice]["InX1"] = $InX1; $Slices[$Slice]["InY1"] = $InY1;
- $Slices[$Slice]["InX2"] = $InX2; $Slices[$Slice]["InY2"] = $InY2;
- $Slices[$Slice]["OutX1"] = $OutX1; $Slices[$Slice]["OutY1"] = $OutY1;
- $Slices[$Slice]["OutX2"] = $OutX2; $Slices[$Slice]["OutY2"] = $OutY2;
-
- $Offset = $Lasti - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots["BottomPoly"],$Settings);
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["OutX2"],$Plots["OutY2"],$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["OutX1"],$Plots["OutY1"],$Settings);
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
- /* Draw the vertical edges (semi-visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Settings);
- }
-
- /* Draw the inner vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Inner )
- {
- if (( $Angle < 90 || $Angle > 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $InnerPlotsA[] = $Xo; $InnerPlotsA[] = $Yo;
- $InnerPlotsB[] = $Xo; $InnerPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
-
- if ( $InnerPlotsA != "" )
- { $InnerPlots = array_merge($InnerPlotsA,$this->arrayReverse($InnerPlotsB)); $this->pChartObject->drawPolygon($InnerPlots,$Settings); }
- }
-
-
- /* Draw the splice top and left poly */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*1.5; $Settings["G"] = $Settings["G"]+$Cf*1.5; $Settings["B"] = $Settings["B"]+$Cf*1.5;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle < 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"];
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
-
- if ( $EndAngle > 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"];
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
- }
-
-
- /* Draw the vertical edges (visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle <= 270 && $StartAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $EndAngle <= 270 && $EndAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- }
-
-
- /* Draw the outer vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $OuterPlotsA = ""; $OuterPlotsB = ""; $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Outer )
- {
- if ( ( $Angle > 90 && $Angle < 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $OuterPlotsA[] = $Xo; $OuterPlotsA[] = $Yo;
- $OuterPlotsB[] = $Xo; $OuterPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
- if ( $OuterPlotsA != "" )
- { $OuterPlots = array_merge($OuterPlotsA,$this->arrayReverse($OuterPlotsB)); $this->pChartObject->drawPolygon($OuterPlots,$Settings); }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
-
- /* Draw the top pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*2; $Settings["G"] = $Settings["G"]+$Cf*2; $Settings["B"] = $Settings["B"]+$Cf*2;
-
- $this->pChartObject->drawPolygon($Plots["TopPoly"],$Settings);
-
-//print_r($Data["Series"][$Data["Abscissa"]]["Data"]);
-//exit();
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots["TopPoly"]),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$SliceID],$Data["Series"][$DataSerie]["Data"][count($Slices)-$SliceID-1]); }
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- }
-
- if ( $DrawLabels )
- {
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,FALSE);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--; $Slice++;
- }
- }
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Serialize an array */
- function arraySerialize($Data)
- {
- $Result = "";
- foreach($Data as $Key => $Value)
- { if ($Result == "") { $Result = floor($Value); } else { $Result = $Result.",".floor($Value); } }
-
- return($Result);
- }
-
- /* Reverse an array */
- function arrayReverse($Plots)
- {
- $Result = "";
-
- for($i=count($Plots)-1;$i>=0;$i=$i-2)
- { $Result[] = $Plots[$i-1]; $Result[] = $Plots[$i]; }
-
- return($Result);
- }
-
- /* Remove unused series & values */
- function clean0Values($Data,$Palette,$DataSerie,$AbscissaSerie)
- {
- $NewPalette = ""; $NewData = ""; $NewAbscissa = "";
-
- /* Remove unused series */
- foreach($Data["Series"] as $SerieName => $SerieSettings)
- { if ( $SerieName != $DataSerie && $SerieName != $AbscissaSerie ) { unset($Data["Series"][$SerieName]); } }
-
- /* Remove NULL values */
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ($Value != 0 )
- {
- $NewData[] = $Value;
- $NewAbscissa[] = $Data["Series"][$AbscissaSerie]["Data"][$Key];
- if ( isset($Palette[$Key]) ) { $NewPalette[] = $Palette[$Key]; }
- }
- }
- $Data["Series"][$DataSerie]["Data"] = $NewData;
- $Data["Series"][$AbscissaSerie]["Data"] = $NewAbscissa;
-
- return(array($Data,$NewPalette));
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pRadar.class.php b/Website/tricode/class/pRadar.class.php
deleted file mode 100644
index 6235c99..0000000
--- a/Website/tricode/class/pRadar.class.php
+++ /dev/null
@@ -1,669 +0,0 @@
-<?php
- /*
- pRadar - class to draw radar charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SEGMENT_HEIGHT_AUTO" , 690001);
-
- define("RADAR_LAYOUT_STAR" , 690011);
- define("RADAR_LAYOUT_CIRCLE" , 690012);
-
- define("RADAR_LABELS_ROTATED" , 690021);
- define("RADAR_LABELS_HORIZONTAL" , 690022);
-
- /* pRadar class definition */
- class pRadar
- {
- var $pChartObject;
-
- /* Class creator */
- function pRadar()
- { }
-
- /* Draw a radar chart */
- function drawRadar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : 0;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["AxisFontName"]) ? $Format["AxisFontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["AxisFontSize"]) ? $Format["AxisFontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $Layout = isset($Format["Layout"]) ? $Format["Layout"] : RADAR_LAYOUT_STAR;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $SkipLabels = isset($Format["SkipLabels"]) ? $Format["SkipLabels"] : 1;
- $LabelMiddle = isset($Format["LabelMiddle"]) ? $Format["LabelMiddle"] : FALSE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : TRUE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : 40;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
- if ( $LabelMiddle && $SkipLabels == 1 )
- { $Axisoffset = (360/$Points)/2; }
- elseif ( $LabelMiddle && $SkipLabels != 1 )
- { $Axisoffset = (360/($Points/$SkipLabels))/2; }
- elseif ( !$LabelMiddle )
- { $Axisoffset = 0; }
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $PointArray = "";
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $PointArray = "";
-
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- $ColorDotted = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha*.8, "Ticks"=>2);
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX1 = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $Object->drawLine($EdgeX1,$EdgeY1,$EdgeX2,$EdgeY2,$Color);
- }
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $Label = $j * $SegmentHeight;
-
- if ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- elseif ( $Layout == RADAR_LAYOUT_STAR )
- {
- $EdgeX1 = cos(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $EdgeX1 = ($EdgeX2 - $EdgeX1)/2 + $EdgeX1;
- $EdgeY1 = ($EdgeY2 - $EdgeY1)/2 + $EdgeY1;
- }
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- if ($ID % $SkipLabels == 0)
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color); }
- else
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$ColorDotted); }
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
-
- if ( $LabelSerie != "" )
- { $Label = isset($Data["Series"][$LabelSerie]["Data"][$ID]) ? $Data["Series"][$LabelSerie]["Data"][$ID] : ""; }
- else
- $Label = $ID;
-
- if ($ID % $SkipLabels == 0)
- {
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-($i+$AxisRotation+$Axisoffset))-90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataS)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataS["Data"] as $Key => $Value)
- {
- $Angle = (360/$Points) * $Key;
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- $Plot[$ID][] = array($X,$Y,$Value);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataS["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]." = ".$Value); }
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
-
-
-
- /* Draw a radar chart */
- function drawPolar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : -90;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $AxisSteps = isset($Format["AxisSteps"]) ? $Format["AxisSteps"] : 20;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : FALSE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : NULL;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( $AxisBoxRounded ) { $DrawAxisValues = TRUE; }
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $Label = $j*$SegmentHeight;
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<=359;$i=$i+$AxisSteps)
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color);
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
- $Label = $i."°";
-
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-$i),"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataSet)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataSet["Data"] as $Key => $Value)
- {
- $Angle = $Data["Series"][$LabelSerie]["Data"][$Key];
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataSet["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]."&deg = ".$Value); }
-
- $Plot[$ID][] = array($X,$Y,$Value);
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
-
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pScatter.class.php b/Website/tricode/class/pScatter.class.php
deleted file mode 100644
index 55ef1c7..0000000
--- a/Website/tricode/class/pScatter.class.php
+++ /dev/null
@@ -1,954 +0,0 @@
-<?php
- /*
- pScatter - class to draw scatter charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SCATTER_MISSING_X_SERIE" , 190001);
- define("SCATTER_MISSING_Y_SERIE" , 190002);
-
- /* pScatter class definition */
- class pScatter
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pScatter($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function drawScatterScale($Format="")
- {
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $XLabelsRotation = isset($Format["XLabelsRotation"]) ? $Format["XLabelsRotation"] : 90;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : 0;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : ALL;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 10;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 10;
-
- /* Check if we have at least both one X and Y axis */
- $GotXAxis = FALSE; $GotYAxis = FALSE;
- foreach($this->pDataObject->Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
- if ( $AxisSettings["Identity"] == AXIS_Y ) { $GotYAxis = TRUE; }
- }
- if ( !$GotXAxis ) { return(SCATTER_MISSING_X_SERIE); }
- if ( !$GotYAxis ) { return(SCATTER_MISSING_Y_SERIE); }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE ) { $DrawYLines = array("zarma"=>"31"); }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X)
- { $Width = $this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1 - $XMargin*2; }
- else
- { $Width = $this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1 - $YMargin*2; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] )
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
-
- /* Full manual scale */
- if ( isset($ManualScale[$AxisID]["Rows"]) && isset($ManualScale[$AxisID]["RowHeight"]) )
- $Scale = array("Rows"=>$ManualScale[$AxisID]["Rows"],"RowHeight"=>$ManualScale[$AxisID]["RowHeight"],"XMin"=>$ManualScale[$AxisID]["Min"],"XMax"=>$ManualScale[$AxisID]["Max"]);
- else
- {
- $MaxDivs = floor($Width/$MinDivHeight);
- $Scale = $this->pChartObject->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
- }
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisSettings["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Get the default font color */
- $FontColorRo = $this->pChartObject->FontColorR; $FontColorGo = $this->pChartObject->FontColorG; $FontColorBo = $this->pChartObject->FontColorB;
-
- /* Set the original boundaries */
- $AxisPos["L"] = $this->pChartObject->GraphAreaX1; $AxisPos["R"] = $this->pChartObject->GraphAreaX2; $AxisPos["T"] = $this->pChartObject->GraphAreaY1; $AxisPos["B"] = $this->pChartObject->GraphAreaY2;
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( isset($AxisSettings["Color"]) )
- {
- $AxisR = $AxisSettings["Color"]["R"]; $AxisG = $AxisSettings["Color"]["G"]; $AxisB = $AxisSettings["Color"]["B"];
- $TickR = $AxisSettings["Color"]["R"]; $TickG = $AxisSettings["Color"]["G"]; $TickB = $AxisSettings["Color"]["B"];
- $this->pChartObject->setFontProperties(array("R"=>$AxisSettings["Color"]["R"],"G"=>$AxisSettings["Color"]["G"],"B"=>$AxisSettings["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->pChartObject->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $AxisSettings["Identity"] == AXIS_X )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $XLabelsRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["B"],$this->pChartObject->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$InnerSubTickWidth,$XPos+$SubTicksSize,$YPos+$OuterSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos+$OuterTickWidth+$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+2+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y2"] = $MaxBottom + $this->pChartObject->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_TOP )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $SLabelxRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["T"],$this->pChartObject->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos-$OuterTickWidth-$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-4-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $AxisSettings["Identity"] == AXIS_Y )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1,$AxisPos["L"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_RIGHT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1,$AxisPos["R"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines)) ) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$InnerSubTickWidth,$YPos-$SubTicksSize,$XPos+$OuterSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X2"] = $MaxLeft + $this->pChartObject->FontSize;
- }
-
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- }
-
- $this->pDataObject->saveAxisConfig($Data["Axis"]);
- }
-
- /* Draw a scatter plot chart */
- function drawScatterPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 250;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 250;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 250;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 1;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- if ( isset($Series["Picture"]) && $Series["Picture"] != "" )
- { $Picture = $Series["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->pChartObject->getPicInfo($Picture); }
- else
- { $Picture = NULL; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
-
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PlotSize+$BorderSize),$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
-
- if( isset($Series["Shape"]) )
- { $this->pChartObject->drawShape($X,$Y,$Series["Shape"],$PlotSize,$PlotBorder,$BorderSize,$Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"],$Series["Color"]["Alpha"],$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- elseif ( $Picture == NULL )
- {
- if ( $PlotBorder ) { $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,$BorderColor); }
- $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize,$Color);
- }
- else
- { $this->pChartObject->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- }
- }
- }
- }
- }
-
- /* Draw a scatter line chart */
- function drawScatterLineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- /* Parse all the series to draw */
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $Color["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $Color["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID && $LastX != VOID && $LastY != VOID)
- $this->pChartObject->drawLine($LastX,$LastY,$X,$Y,$Color);
-
- $LastX = $X; $LastY = $Y;
- }
- }
- }
- }
-
- /* Draw a scatter spline chart */
- function drawScatterSplineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $SplineSettings = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $SplineSettings["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $SplineSettings["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID; $WayPoints = ""; $Forces = "";
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
- $Force = $this->pChartObject->getLength($LastX,$LastY,$X,$Y)/5;
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID )
- { $WayPoints[] = array($X,$Y); $Forces[] = $Force; }
-
- if ( $Y == VOID || $X == VOID )
- { $SplineSettings["Forces"] = $Forces; $this->pChartObject->drawSpline($WayPoints,$SplineSettings); $WayPoints = ""; $Forces = "";}
-
- $LastX = $X; $LastY = $Y;
- }
- $SplineSettings["Forces"] = $Forces;
- $this->pChartObject->drawSpline($WayPoints,$SplineSettings);
- }
- }
- }
-
- /* Return the scaled plot position */
- function getPosArray($Values,$AxisID)
- {
- $Data = $this->pDataObject->getData();
-
- if ( !is_array($Values) ) { $Values = array($Values); }
-
- if ( $Data["Axis"][$AxisID]["Identity"] == AXIS_X )
- {
- $Height = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- else
- {
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- }
-
- /* Draw the legend of the active series */
- function drawScatterLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->Shadow = FALSE;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $R = $Series["Color"]["R"]; $G = $Series["Color"]["G"]; $B = $Series["Color"]["B"];
- $Ticks = $Series["Ticks"]; $Weight = $Series["Weight"];
-
- if ( isset($Series["Picture"]) )
- {
- $Picture = $Series["Picture"];
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->pChartObject->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->pChartObject->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->pChartObject->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->pChartObject->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- foreach($Lines as $Key => $Value)
- $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Get the legend box size */
- function getScatterLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- $X=100; $Y=100;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the line of best fit */
- function drawScatterBestFit($Format="")
- {
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 0;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- $Color["Ticks"] = $Ticks;
-
- $PosArrayX = $Data["Series"][$Series["X"]]["Data"];
- $PosArrayY = $Data["Series"][$Series["Y"]]["Data"];
-
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
- }
-
- $n = count($PosArrayX);
-
- if ((($n*$Sxx) == ($Sx*$Sx)))
- {
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $X2 = $X1;
- $Y1 = $this->pChartObject->GraphAreaY1;
- $Y2 = $this->pChartObject->GraphAreaY2;
- }
- else
- {
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $Y1 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMin"] + $B,$SerieYAxis);
- $X2 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMax"],$SerieXAxis);
- $Y2 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMax"] + $B,$SerieYAxis);
-
- $RealM = -($Y2-$Y1)/($X2-$X1);
-
- if ( $Y1 < $this->pChartObject->GraphAreaY1 ) { $X1 = $X1 + ($this->pChartObject->GraphAreaY1-$Y1/$RealM); $Y1 = $this->pChartObject->GraphAreaY1; }
- if ( $Y1 > $this->pChartObject->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->pChartObject->GraphAreaY2)/$RealM; $Y1 = $this->pChartObject->GraphAreaY2; }
- if ( $Y2 < $this->pChartObject->GraphAreaY1 ) { $X2 = $X2 - ($this->pChartObject->GraphAreaY1-$Y2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY1; }
- if ( $Y2 > $this->pChartObject->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->pChartObject->GraphAreaY2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY2; }
- }
-
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
-
- function writeScatterLabel($ScatterSerieID,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : NULL;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[0] = $Point; }
-
- if ( !isset($Data["ScatterSeries"][$ScatterSerieID]) )
- return(0);
-
- $Series = $Data["ScatterSeries"][$ScatterSerieID];
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- foreach($Points as $Key => $Point)
- {
- if ( isset($PosArrayX[$Point]) && isset($PosArrayY[$Point]) )
- {
- $X = floor($PosArrayX[$Point]);
- $Y = floor($PosArrayY[$Point]);
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Serie = "";
- $Serie["R"] = $Series["Color"]["R"];
- $Serie["G"] = $Series["Color"]["G"];
- $Serie["B"] = $Series["Color"]["B"];
- $Serie["Alpha"] = $Series["Color"]["Alpha"];
-
- $XAxisMode = $Data["Axis"][$SerieXAxis]["Display"];
- $XAxisFormat = $Data["Axis"][$SerieXAxis]["Format"];
- $XAxisUnit = $Data["Axis"][$SerieXAxis]["Unit"];
- if ( $Decimals == NULL ) { $XValue = $SerieValuesX[$Point]; } else { $XValue = round($SerieValuesX[$Point],$Decimals); }
- $XValue = $this->pChartObject->scaleFormat($XValue,$XAxisMode,$XAxisFormat,$XAxisUnit);
-
- $YAxisMode = $Data["Axis"][$SerieYAxis]["Display"];
- $YAxisFormat = $Data["Axis"][$SerieYAxis]["Format"];
- $YAxisUnit = $Data["Axis"][$SerieYAxis]["Unit"];
- if ( $Decimals == NULL ) { $YValue = $SerieValuesY[$Point]; } else { $YValue = round($SerieValuesY[$Point],$Decimals); }
- $YValue = $this->pChartObject->scaleFormat($YValue,$YAxisMode,$YAxisFormat,$YAxisUnit);
-
- $Caption = $XValue." / ".$YValue;
-
- if ( isset($Series["Description"]) )
- $Description = $Series["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pSplit.class.php b/Website/tricode/class/pSplit.class.php
deleted file mode 100644
index 0a62c3d..0000000
--- a/Website/tricode/class/pSplit.class.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
- /*
- pSplit - class to draw spline splitted charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("TEXT_POS_TOP" , 690001);
- define("TEXT_POS_RIGHT" , 690002);
-
- /* pSplit class definition */
- class pSplit
- {
- var $pChartObject;
-
- /* Class creator */
- function pSplit()
- { }
-
- /* Create the encoded string */
- function drawSplitPath($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $Spacing = isset($Format["Spacing"]) ? $Format["Spacing"] : 20;
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 2;
- $TextPos = isset($Format["TextPos"]) ? $Format["TextPos"] : TEXT_POS_TOP;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 70;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 15;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- $LabelSerie = $Data["Abscissa"];
- $DataSerie = "";
-
- foreach($Data["Series"] as $SerieName => $Value)
- { if ( $SerieName != $LabelSerie && $DataSerie == "" ) { $DataSerie = $SerieName; } }
-
- $DataSerieSum = array_sum($Data["Series"][$DataSerie]["Data"]);
- $DataSerieCount = count($Data["Series"][$DataSerie]["Data"]);
-
- /* Scale Processing */
- if ( $TextPos == TEXT_POS_RIGHT )
- $YScale = (($Y2-$Y1) - (($DataSerieCount+1)*$Spacing)) / $DataSerieSum;
- else
- $YScale = (($Y2-$Y1) - ($DataSerieCount*$Spacing)) / $DataSerieSum;
- $LeftHeight = $DataSerieSum * $YScale;
-
- /* Re-compute graph width depending of the text mode choosen */
- if ( $TextPos == TEXT_POS_RIGHT )
- {
- $MaxWidth = 0;
- foreach($Data["Series"][$LabelSerie]["Data"] as $Key => $Label)
- {
- $Boundardies = $Object->getTextBox(0,0,$Object->FontName,$Object->FontSize,0,$Label);
- if ( $Boundardies[1]["X"] > $MaxWidth ) { $MaxWidth = $Boundardies[1]["X"] + $TextPadding*2; }
- }
- $X2 = $X2 - $MaxWidth;
- }
-
- /* Drawing */
- $LeftY = ((($Y2-$Y1) / 2) + $Y1) - ($LeftHeight/2);
- $RightY = $Y1;
- $VectorX = (($X2-$X1) / 2);
-
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ( isset($Data["Series"][$LabelSerie]["Data"][$Key]) )
- $Label = $Data["Series"][$LabelSerie]["Data"][$Key];
- else
- $Label = "-";
-
- $LeftY1 = $LeftY;
- $LeftY2 = $LeftY + $Value * $YScale;
-
- $RightY1 = $RightY + $Spacing;
- $RightY2 = $RightY + $Spacing + $Value * $YScale;;
-
- $Settings = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"],"NoDraw"=>TRUE,"Segments"=>$Segments,"Surrounding"=>$Surrounding);
-
- $PolyGon = "";
-
- $Angle = $Object->getAngle($X2,$RightY1,$X1,$LeftY1);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
-
- $Points = $Object->drawBezier($X1,$LeftY1,$X2,$RightY1,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
-
- $Angle = $Object->getAngle($X2,$RightY2,$X1,$LeftY2);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
-
- $Points = $Object->drawBezier($X1,$LeftY2,$X2,$RightY2,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- $Points = array_reverse($Points);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
- $Object->drawPolygon($PolyGon,$Settings);
-
- if ( $TextPos == TEXT_POS_RIGHT )
- $Object->drawText($X2+$TextPadding,($RightY2-$RightY1)/2+$RightY1,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- else
- $Object->drawText($X2,$RightY1-$TextPadding,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT));
-
- $LeftY = $LeftY2;
- $RightY = $RightY2;
- }
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pSpring.class.php b/Website/tricode/class/pSpring.class.php
deleted file mode 100644
index fcfc8f2..0000000
--- a/Website/tricode/class/pSpring.class.php
+++ /dev/null
@@ -1,868 +0,0 @@
-<?php
- /*
- pSpring - class to draw spring graphs
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("NODE_TYPE_FREE" , 690001);
- define("NODE_TYPE_CENTRAL" , 690002);
-
- define("NODE_SHAPE_CIRCLE" , 690011);
- define("NODE_SHAPE_TRIANGLE" , 690012);
- define("NODE_SHAPE_SQUARE" , 690013);
-
- define("ALGORITHM_RANDOM" , 690021);
- define("ALGORITHM_WEIGHTED" , 690022);
- define("ALGORITHM_CIRCULAR" , 690023);
- define("ALGORITHM_CENTRAL" , 690024);
-
- define("LABEL_CLASSIC" , 690031);
- define("LABEL_LIGHT" , 690032);
-
- /* pSpring class definition */
- class pSpring
- {
- var $History;
- var $pChartObject;
- var $Data;
- var $Links;
- var $X1;
- var $Y1;
- var $X2;
- var $Y2;
- var $AutoComputeFreeZone;
- var $Labels;
-
- /* Class creator */
- function pSpring()
- {
- /* Initialise data arrays */
- $this->Data = "";
- $this->Links = "";
-
- /* Set nodes defaults */
- $this->Default["R"] = 255;
- $this->Default["G"] = 255;
- $this->Default["B"] = 255;
- $this->Default["Alpha"] = 100;
- $this->Default["BorderR"] = 0;
- $this->Default["BorderG"] = 0;
- $this->Default["BorderB"] = 0;
- $this->Default["BorderAlpha"] = 100;
- $this->Default["Surrounding"] = NULL;
- $this->Default["BackgroundR"] = 255;
- $this->Default["BackgroundG"] = 255;
- $this->Default["BackgroundB"] = 255;
- $this->Default["BackgroundAlpha"] = 0;
- $this->Default["Force"] = 1;
- $this->Default["NodeType"] = NODE_TYPE_FREE;
- $this->Default["Size"] = 5;
- $this->Default["Shape"] = NODE_SHAPE_CIRCLE;
- $this->Default["FreeZone"] = 40;
- $this->Default["LinkR"] = 0;
- $this->Default["LinkG"] = 0;
- $this->Default["LinkB"] = 0;
- $this->Default["LinkAlpha"] = 0;
-
- $this->Labels["Type"] = LABEL_CLASSIC;
- $this->Labels["R"] = 0;
- $this->Labels["G"] = 0;
- $this->Labels["B"] = 0;
- $this->Labels["Alpha"] = 100;
-
- $this->AutoComputeFreeZone = FALSE;
- }
-
- /* Set default links options */
- function setLinkDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["LinkR"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["LinkG"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["LinkB"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["LinkAlpha"] = $Settings["Alpha"]; }
- }
-
- /* Set default links options */
- function setLabelsSettings($Settings="")
- {
- if ( isset($Settings["Type"]) ) { $this->Labels["Type"] = $Settings["Type"]; }
- if ( isset($Settings["R"]) ) { $this->Labels["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Labels["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Labels["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Labels["Alpha"] = $Settings["Alpha"]; }
- }
-
- /* Auto compute the FreeZone size based on the number of connections */
- function autoFreeZone()
- {
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- { $this->Data[$Key]["FreeZone"] = count($Settings["Connections"])*10 + 20; }
- else
- { $this->Data[$Key]["FreeZone"] = 20; }
- }
-
- }
-
- /* Set link properties */
- function linkProperties($FromNode,$ToNode,$Settings)
- {
- if ( !isset($this->Data[$FromNode]) ) { return(0); }
- if ( !isset($this->Data[$ToNode]) ) { return(0); }
-
- $R = isset($Settings["R"]) ? $Settings["R"] : 0;
- $G = isset($Settings["G"]) ? $Settings["G"] : 0;
- $B = isset($Settings["B"]) ? $Settings["B"] : 0;
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : 100;
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Ticks = isset($Settings["Ticks"]) ? $Settings["Ticks"] : NULL;
-
- $this->Links[$FromNode][$ToNode]["R"] = $R; $this->Links[$ToNode][$FromNode]["R"] = $R;
- $this->Links[$FromNode][$ToNode]["G"] = $G; $this->Links[$ToNode][$FromNode]["G"] = $G;
- $this->Links[$FromNode][$ToNode]["B"] = $B; $this->Links[$ToNode][$FromNode]["B"] = $B;
- $this->Links[$FromNode][$ToNode]["Alpha"] = $Alpha; $this->Links[$ToNode][$FromNode]["Alpha"] = $Alpha;
- $this->Links[$FromNode][$ToNode]["Name"] = $Name; $this->Links[$ToNode][$FromNode]["Name"] = $Name;
- $this->Links[$FromNode][$ToNode]["Ticks"] = $Ticks; $this->Links[$ToNode][$FromNode]["Ticks"] = $Ticks;
- }
-
- function setNodeDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Default["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Default["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Default["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Default["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Default["Surrounding"] = $Settings["Surrounding"]; }
- if ( isset($Settings["BackgroundR"]) ) { $this->Default["BackgroundR"] = $Settings["BackgroundR"]; }
- if ( isset($Settings["BackgroundG"]) ) { $this->Default["BackgroundG"] = $Settings["BackgroundG"]; }
- if ( isset($Settings["BackgroundB"]) ) { $this->Default["BackgroundB"] = $Settings["BackgroundB"]; }
- if ( isset($Settings["BackgroundAlpha"]) ) { $this->Default["BackgroundAlpha"] = $Settings["BackgroundAlpha"]; }
- if ( isset($Settings["NodeType"]) ) { $this->Default["NodeType"] = $Settings["NodeType"]; }
- if ( isset($Settings["Size"]) ) { $this->Default["Size"] = $Settings["Size"]; }
- if ( isset($Settings["Shape"]) ) { $this->Default["Shape"] = $Settings["Shape"]; }
- if ( isset($Settings["FreeZone"]) ) { $this->Default["FreeZone"] = $Settings["FreeZone"]; }
- }
-
- /* Add a node */
- function addNode($NodeID,$Settings="")
- {
- /* if the node already exists, ignore */
- if (isset($this->Data[$NodeID])) { return(0); }
-
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : "Node ".$NodeID;
- $Connections = isset($Settings["Connections"]) ? $Settings["Connections"] : NULL;
-
- $R = isset($Settings["R"]) ? $Settings["R"] : $this->Default["R"];
- $G = isset($Settings["G"]) ? $Settings["G"] : $this->Default["G"];
- $B = isset($Settings["B"]) ? $Settings["B"] : $this->Default["B"];
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : $this->Default["Alpha"];
- $BorderR = isset($Settings["BorderR"]) ? $Settings["BorderR"] : $this->Default["BorderR"];
- $BorderG = isset($Settings["BorderG"]) ? $Settings["BorderG"] : $this->Default["BorderG"];
- $BorderB = isset($Settings["BorderB"]) ? $Settings["BorderB"] : $this->Default["BorderB"];
- $BorderAlpha = isset($Settings["BorderAlpha"]) ? $Settings["BorderAlpha"] : $this->Default["BorderAlpha"];
- $Surrounding = isset($Settings["Surrounding"]) ? $Settings["Surrounding"] : $this->Default["Surrounding"];
- $BackgroundR = isset($Settings["BackgroundR"]) ? $Settings["BackgroundR"] : $this->Default["BackgroundR"];
- $BackgroundG = isset($Settings["BackgroundG"]) ? $Settings["BackgroundG"] : $this->Default["BackgroundG"];
- $BackgroundB = isset($Settings["BackgroundB"]) ? $Settings["BackgroundB"] : $this->Default["BackgroundB"];
- $BackgroundAlpha = isset($Settings["BackgroundAlpha"]) ? $Settings["BackgroundAlpha"] : $this->Default["BackgroundAlpha"];
- $Force = isset($Settings["Force"]) ? $Settings["Force"] : $this->Default["Force"];
- $NodeType = isset($Settings["NodeType"]) ? $Settings["NodeType"] : $this->Default["NodeType"];
- $Size = isset($Settings["Size"]) ? $Settings["Size"] : $this->Default["Size"];
- $Shape = isset($Settings["Shape"]) ? $Settings["Shape"] : $this->Default["Shape"];
- $FreeZone = isset($Settings["FreeZone"]) ? $Settings["FreeZone"] : $this->Default["FreeZone"];
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $this->Data[$NodeID]["R"] = $R; $this->Data[$NodeID]["G"] = $G; $this->Data[$NodeID]["B"] = $B; $this->Data[$NodeID]["Alpha"] = $Alpha;
- $this->Data[$NodeID]["BorderR"] = $BorderR; $this->Data[$NodeID]["BorderG"] = $BorderG; $this->Data[$NodeID]["BorderB"] = $BorderB; $this->Data[$NodeID]["BorderAlpha"] = $BorderAlpha;
- $this->Data[$NodeID]["BackgroundR"] = $BackgroundR; $this->Data[$NodeID]["BackgroundG"] = $BackgroundG; $this->Data[$NodeID]["BackgroundB"] = $BackgroundB; $this->Data[$NodeID]["BackgroundAlpha"] = $BackgroundAlpha;
- $this->Data[$NodeID]["Name"] = $Name;
- $this->Data[$NodeID]["Force"] = $Force;
- $this->Data[$NodeID]["Type"] = $NodeType;
- $this->Data[$NodeID]["Size"] = $Size;
- $this->Data[$NodeID]["Shape"] = $Shape;
- $this->Data[$NodeID]["FreeZone"] = $FreeZone;
- if ( $Connections != NULL )
- {
- if ( is_array($Connections ) )
- {
- foreach($Connections as $Key => $Value)
- $this->Data[$NodeID]["Connections"][] = $Value;
- }
- else
- $this->Data[$NodeID]["Connections"][] = $Connections;
- }
- }
-
- /* Set color attribute for a list of nodes */
- function setNodesColor($Nodes,$Settings="")
- {
- if ( is_array($Nodes) )
- {
- foreach ($Nodes as $Key => $NodeID)
- {
- if (isset($this->Data[$NodeID]) )
- {
- if ( isset($Settings["R"]) ) { $this->Data[$NodeID]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$NodeID]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$NodeID]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$NodeID]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$NodeID]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$NodeID]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$NodeID]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$NodeID]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$NodeID]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
- }
- else
- {
- if ( isset($Settings["R"]) ) { $this->Data[$Nodes]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$Nodes]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$Nodes]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$Nodes]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$Nodes]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$Nodes]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$Nodes]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$Nodes]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$Nodes]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
-
- /* Returns all the nodes details */
- function dumpNodes()
- { return($this->Data); }
-
- /* Check if a connection exists and create it if required */
- function checkConnection($SourceID, $TargetID)
- {
- if ( isset($this->Data[$SourceID]["Connections"]) )
- {
- foreach ($this->Data[$SourceID]["Connections"] as $Key => $ConnectionID)
- { if ( $TargetID == $ConnectionID ) { return(TRUE); } }
- }
- $this->Data[$SourceID]["Connections"][] = $TargetID;
- }
- /* Get the median linked nodes position */
- function getMedianOffset($Key,$X,$Y)
- {
- $Cpt = 1;
- if ( isset($this->Data[$Key]["Connections"]) )
- {
- foreach($this->Data[$Key]["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]["X"]) && isset($this->Data[$NodeID]["Y"]) )
- {
- $X = $X + $this->Data[$NodeID]["X"];
- $Y = $Y + $this->Data[$NodeID]["Y"];
- $Cpt++;
- }
- }
- }
- return(array("X"=>$X/$Cpt,"Y"=>$Y/$Cpt));
- }
-
- /* Return the ID of the attached partner with the biggest weight */
- function getBiggestPartner($Key)
- {
- if ( !isset($this->Data[$Key]["Connections"]) ) { return(""); }
-
- $MaxWeight = 0; $Result = "";
- foreach($this->Data[$Key]["Connections"] as $Key => $PeerID)
- {
- if ( $this->Data[$PeerID]["Weight"] > $MaxWeight )
- { $MaxWeight = $this->Data[$PeerID]["Weight"]; $Result = $PeerID; }
- }
- return($Result);
- }
-
- /* Do the initial node positions computing pass */
- function firstPass($Algorithm)
- {
- $CenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $CenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $ConnectionID)
- $this->checkConnection($ConnectionID,$Key);
- }
- }
-
- if ( $this->AutoComputeFreeZone ) { $this->autoFreeZone(); }
-
- /* Get the max number of connections */
- $MaxConnections = 0;
- foreach($this->Data as $Key => $Settings)
- { if ( isset($Settings["Connections"]) ) { if ( $MaxConnections < count($Settings["Connections"] ) ) { $MaxConnections = count($Settings["Connections"]); } } }
-
- if ( $Algorithm == ALGORITHM_WEIGHTED )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $this->Data[$Key]["X"] = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $this->Data[$Key]["Y"] = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CENTRAL )
- {
- /* Put a weight on each nodes */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- $this->Data[$Key]["Weight"] = count($Settings["Connections"]);
- else
- $this->Data[$Key]["Weight"] = 0;
- }
-
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $BiggestPartner = $this->getBiggestPartner($Key);
- if ( $BiggestPartner != "" )
- {
- $Ring = $this->Data[$BiggestPartner]["FreeZone"];
- $Weight = $this->Data[$BiggestPartner]["Weight"];
- $AngleDivision = 360 / $this->Data[$BiggestPartner]["Weight"];
- $Done = FALSE; $Tries = 0;
- while (!$Done && $Tries <= $Weight*2)
- {
- $Tries++;
- $Angle = floor(rand(0,$Weight)*$AngleDivision);
- if ( !isset($this->Data[$BiggestPartner]["Angular"][$Angle]) || !isset($this->Data[$BiggestPartner]["Angular"]) )
- {
- $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle;
- $Done = TRUE;
- }
- }
- if ( !$Done )
- { $Angle = rand(0,360); $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle; }
-
- $X = cos(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["X"];
- $Y = sin(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["Y"];
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CIRCULAR )
- {
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $X = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $Y = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
-
- $MedianOffset = $this->getMedianOffset($Key,$X,$Y);
-
- $this->Data[$Key]["X"] = $MedianOffset["X"];
- $this->Data[$Key]["Y"] = $MedianOffset["Y"];
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_RANDOM )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- $this->Data[$Key]["X"] = $CenterX + rand(-20,20);
- $this->Data[$Key]["Y"] = $CenterY + rand(-20,20);
- }
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- }
- }
- }
-
- /* Compute one pass */
- function doPass()
- {
- /* Compute vectors */
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- unset($this->Data[$Key]["Vectors"]);
-
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- /* Repulsion vectors */
- foreach($this->Data as $Key2 => $Settings2)
- {
- if ( $Key != $Key2 )
- {
- $X2 = $this->Data[$Key2]["X"];
- $Y2 = $this->Data[$Key2]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2) + 180;
-
- /* Nodes too close, repulsion occurs */
- if ( $Distance < $FreeZone )
- {
- $Force = log(pow(2,$FreeZone-$Distance));
- if ( $Force > 1 )
- { $this->Data[$Key]["Vectors"][] = array("Type"=>"R","Angle"=>$Angle % 360,"Force"=>$Force); }
- }
- }
- }
-
- /* Attraction vectors */
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- if ( $Distance > $FreeZone )
- $Force = log(($Distance-$FreeZone)+1);
- else
- { $Force = log(($FreeZone-$Distance)+1); ($Angle = $Angle + 180); }
-
- if ( $Force > 1 )
- $this->Data[$Key]["Vectors"][] = array("Type"=>"A","Angle"=>$Angle % 360,"Force"=>$Force);
- }
- }
- }
- }
- }
-
- /* Move the nodes accoding to the vectors */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
-
- $X = cos(deg2rad($Angle)) * $Force * $Factor + $X;
- $Y = sin(deg2rad($Angle)) * $Force * $Factor + $Y;
- }
- }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
-
- function lastPass()
- {
- /* Put everything inside the graph area */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $this->X1 ) { $X = $this->X1; }
- if ( $X > $this->X2 ) { $X = $this->X2; }
- if ( $Y < $this->Y1 ) { $Y = $this->Y1; }
- if ( $Y > $this->Y2 ) { $Y = $this->Y2; }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
-
- /* Dump all links */
- $Links = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- $Links[] = array("X1"=>$X1,"Y1"=>$Y1,"X2"=>$X2,"Y2"=>$Y2,"Source"=>$Settings["Name"],"Destination"=>$this->Data[$NodeID]["Name"]);
- }
- }
- }
- }
-
- /* Check collisions */
- $Conflicts = 0;
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- foreach($Links as $IDLinks => $Link)
- {
- $X3 = $Link["X1"]; $Y3 = $Link["Y1"]; $X4 = $Link["X2"]; $Y4 = $Link["Y2"];
-
- if ( !($X1 == $X3 && $X2 == $X4 && $Y1 == $Y3 && $Y2 == $Y4 ) )
- {
- if ( $this->intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4) )
- {
- if ( $Link["Source"] != $Settings["Name"] && $Link["Source"] != $this->Data[$NodeID]["Name"] && $Link["Destination"] != $Settings["Name"] && $Link["Destination"] != $this->Data[$NodeID]["Name"] )
- { $Conflicts++; }
- }
- }
- }
- }
- }
- }
- }
- return($Conflicts/2);
- }
-
- /* Center the graph */
- function center()
- {
- /* Determine the real center */
- $TargetCenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $TargetCenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Get current boundaries */
- $XMin = $this->X2; $XMax = $this->X1;
- $YMin = $this->Y2; $YMax = $this->Y1;
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $XMin) { $XMin = $X; }
- if ( $X > $XMax) { $XMax = $X; }
- if ( $Y < $YMin) { $YMin = $Y; }
- if ( $Y > $YMax) { $YMax = $Y; }
- }
- $CurrentCenterX = ($XMax - $XMin) / 2 + $XMin;
- $CurrentCenterY = ($YMax - $YMin) / 2 + $YMin;
-
- /* Compute the offset to apply */
- $XOffset = $TargetCenterX - $CurrentCenterX;
- $YOffset = $TargetCenterY - $CurrentCenterY;
-
- /* Correct the points position */
- foreach($this->Data as $Key => $Settings)
- {
- $this->Data[$Key]["X"] = $Settings["X"] + $XOffset;
- $this->Data[$Key]["Y"] = $Settings["Y"] + $YOffset;
- }
- }
-
- /* Create the encoded string */
- function drawSpring($Object,$Settings="")
- {
- $this->pChartObject = $Object;
-
- $Pass = isset($Settings["Pass"]) ? $Settings["Pass"] : 50;
- $Retries = isset($Settings["Retry"]) ? $Settings["Retry"] : 10;
- $this->MagneticForceA = isset($Settings["MagneticForceA"]) ? $Settings["MagneticForceA"] : 1.5;
- $this->MagneticForceR = isset($Settings["MagneticForceR"]) ? $Settings["MagneticForceR"] : 2;
- $this->RingSize = isset($Settings["RingSize"]) ? $Settings["RingSize"] : 40;
- $DrawVectors = isset($Settings["DrawVectors"]) ? $Settings["DrawVectors"] : FALSE;
- $DrawQuietZone = isset($Settings["DrawQuietZone"]) ? $Settings["DrawQuietZone"] : FALSE;
- $CenterGraph = isset($Settings["CenterGraph"]) ? $Settings["CenterGraph"] : TRUE;
- $TextPadding = isset($Settings["TextPadding"]) ? $Settings["TextPadding"] : 4;
- $Algorithm = isset($Settings["Algorithm"]) ? $Settings["Algorithm"] : ALGORITHM_WEIGHTED;
-
- $FontSize = $Object->FontSize;
- $this->X1 = $Object->GraphAreaX1;
- $this->Y1 = $Object->GraphAreaY1;
- $this->X2 = $Object->GraphAreaX2;
- $this->Y2 = $Object->GraphAreaY2;
-
- $Conflicts = 1; $Jobs = 0; $this->History["MinimumConflicts"] = -1;
- while ($Conflicts != 0 && $Jobs < $Retries )
- {
- $Jobs++;
-
- /* Compute the initial settings */
- $this->firstPass($Algorithm);
-
- /* Apply the vectors */
- if ( $Pass > 0 )
- {
- for ($i=0; $i<=$Pass; $i++) { $this->doPass(); }
- }
-
- $Conflicts = $this->lastPass();
- if ( $this->History["MinimumConflicts"] == -1 || $Conflicts < $this->History["MinimumConflicts"] )
- { $this->History["MinimumConflicts"] = $Conflicts; $this->History["Result"] = $this->Data; }
- }
-
- $Conflicts = $this->History["MinimumConflicts"];
- $this->Data = $this->History["Result"];
-
- if ( $CenterGraph ) { $this->center(); }
-
- /* Draw the connections */
- $Drawn = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( !isset($Drawn[$Key]) ) { $Drawn[$Key] = ""; }
- if ( !isset($Drawn[$NodeID]) ) { $Drawn[$NodeID] = ""; }
-
- if ( isset($this->Data[$NodeID]) && !isset($Drawn[$Key][$NodeID]) && !isset($Drawn[$NodeID][$Key]) )
- {
- $Color = array("R"=>$this->Default["LinkR"],"G"=>$this->Default["LinkG"],"B"=>$this->Default["LinkB"],"Alpha"=>$this->Default["Alpha"]);
-
- if ( $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["R"]) )
- { $Color = array("R"=>$this->Links[$Key][$NodeID]["R"],"G"=>$this->Links[$Key][$NodeID]["G"],"B"=>$this->Links[$Key][$NodeID]["B"],"Alpha"=>$this->Links[$Key][$NodeID]["Alpha"]); }
-
- if ( isset($this->Links[$Key][$NodeID]["Ticks"]) )
- { $Color["Ticks"] = $this->Links[$Key][$NodeID]["Ticks"]; }
- }
-
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $this->pChartObject->drawLine($X,$Y,$X2,$Y2,$Color);
- $Drawn[$Key][$NodeID] = TRUE;
-
- if ( isset($this->Links) && $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["Name"]) || isset($this->Links[$NodeID][$Key]["Name"]) )
- {
- $Name = isset($this->Links[$Key][$NodeID]["Name"]) ? $this->Links[$Key][$NodeID]["Name"] : $this->Links[$NodeID][$Key]["Name"];
- $TxtX = ($X2 - $X)/2 + $X;
- $TxtY = ($Y2 - $Y)/2 + $Y;
-
- if ( $X <= $X2 )
- $Angle = (360-$this->getAngle($X,$Y,$X2,$Y2)) % 360;
- else
- $Angle = (360-$this->getAngle($X2,$Y2,$X,$Y)) % 360;
-
- $Settings = $Color;
- $Settings["Angle"] = $Angle;
- $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE;
- $this->pChartObject->drawText($TxtX,$TxtY,$Name,$Settings);
- }
- }
- }
- }
- }
- }
-
- /* Draw the quiet zones */
- if ( $DrawQuietZone )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $FreeZone = $Settings["FreeZone"];
-
- $this->pChartObject->drawFilledCircle($X,$Y,$FreeZone,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>2));
- }
- }
-
-
- /* Draw the nodes */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $Name = $Settings["Name"];
- $FreeZone = $Settings["FreeZone"];
- $Shape = $Settings["Shape"];
- $Size = $Settings["Size"];
-
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>$Settings["Alpha"],"BorderR"=>$Settings["BorderR"],"BorderG"=>$Settings["BorderG"],"BorderB"=>$Settings["BorderB"],"BorderApha"=>$Settings["BorderAlpha"]);
-
- if ( $Shape == NODE_SHAPE_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X,$Y,$Size,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_TRIANGLE )
- {
- $Points = "";
- $Points[] = cos(deg2rad(270)) * $Size + $X; $Points[] = sin(deg2rad(270)) * $Size + $Y;
- $Points[] = cos(deg2rad(45)) * $Size + $X; $Points[] = sin(deg2rad(45)) * $Size + $Y;
- $Points[] = cos(deg2rad(135)) * $Size + $X; $Points[] = sin(deg2rad(135)) * $Size + $Y;
- $this->pChartObject->drawPolygon($Points,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_SQUARE )
- {
- $Offset = $Size/2; $Size = $Size / 2;
- $this->pChartObject->drawFilledRectangle($X-$Offset,$Y-$Offset,$X+$Offset,$Y+$Offset,$Color);
- }
-
- if ( $Name != "" )
- {
- $LabelOptions = array("R"=>$this->Labels["R"],"G"=>$this->Labels["G"],"B"=>$this->Labels["B"],"Alpha"=>$this->Labels["Alpha"]);
-
- if ( $this->Labels["Type"] == LABEL_LIGHT )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_BOTTOMLEFT;
- $this->pChartObject->drawText($X,$Y,$Name,$LabelOptions);
- }
- elseif ( $this->Labels["Type"] == LABEL_CLASSIC )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $LabelOptions["DrawBox"] = TRUE;
- $LabelOptions["BoxAlpha"] = 50;
- $LabelOptions["BorderOffset"] = 4;
- $LabelOptions["RoundedRadius"] = 3;
- $LabelOptions["BoxRounded"] = TRUE;
- $LabelOptions["NoShadow"] = TRUE;
-
- $this->pChartObject->drawText($X,$Y+$Size+$TextPadding,$Name,$LabelOptions);
- }
- }
- }
-
- /* Draw the vectors */
- if ( $DrawVectors )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
- $Color = $Type == "A" ? array("FillR"=>255,"FillG"=>0,"FillB"=>0) : array("FillR"=>0,"FillG"=>255,"FillB"=>0);
-
- $X2 = cos(deg2rad($Angle)) * $Force * $Factor + $X1;
- $Y2 = sin(deg2rad($Angle)) * $Force * $Factor + $Y1;
-
- $this->pChartObject->drawArrow($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- return(array("Pass"=>$Jobs,"Conflicts"=>$Conflicts));
- }
-
- /* Return the distance between two points */
- function getDistance($X1,$Y1,$X2,$Y2)
- { return (sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1))); }
-
- /* Return the angle made by a line and the X axis */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- function intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4)
- {
- $A = (($X3 * $Y4 - $X4 * $Y3) * ($X1 - $X2) - ($X1 * $Y2 - $X2 * $Y1) * ($X3 - $X4));
- $B = (($Y1 - $Y2) * ($X3 - $X4) - ($Y3 - $Y4) * ($X1 - $X2));
-
- if ( $B == 0 ) { return(FALSE); }
- $Xi = $A / $B;
-
- $C = ($X1 - $X2);
- if ( $C == 0 ) { return(FALSE); }
- $Yi = $Xi * (($Y1 - $Y2)/$C) + (($X1 * $Y2 - $X2 * $Y1)/$C);
-
- if ( $Xi >= min($X1,$X2) && $Xi >= min($X3,$X4) && $Xi <= max($X1,$X2) && $Xi <= max($X3,$X4))
- {
- if ( $Yi >= min($Y1,$Y2) && $Yi >= min($Y3,$Y4) && $Yi <= max($Y1,$Y2) && $Yi <= max($Y3,$Y4))
- { return(TRUE); }
- }
-
- return(FALSE);
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pStock.class.php b/Website/tricode/class/pStock.class.php
deleted file mode 100644
index 7f9dbfb..0000000
--- a/Website/tricode/class/pStock.class.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
- /*
- pStock - class to draw stock charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("STOCK_MISSING_SERIE" , 180001);
-
- /* pStock class definition */
- class pStock
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pStock($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a stock chart */
- function drawStockChart($Format="")
- {
- $SerieOpen = isset($Format["SerieOpen"]) ? $Format["SerieOpen"] : "Open";
- $SerieClose = isset($Format["SerieClose"]) ? $Format["SerieClose"] : "Close";
- $SerieMin = isset($Format["SerieMin"]) ? $Format["SerieMin"] : "Min";
- $SerieMax = isset($Format["SerieMax"]) ? $Format["SerieMax"] : "Max";
- $SerieMedian = isset($Format["SerieMedian"]) ? $Format["SerieMedian"] : NULL;
- $LineWidth = isset($Format["LineWidth"]) ? $Format["LineWidth"] : 1;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 0;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 0;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 0;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 100;
- $ExtremityWidth = isset($Format["ExtremityWidth"]) ? $Format["ExtremityWidth"] : 1;
- $ExtremityLength = isset($Format["ExtremityLength"]) ? $Format["ExtremityLength"] : 3;
- $ExtremityR = isset($Format["ExtremityR"]) ? $Format["ExtremityR"] : 0;
- $ExtremityG = isset($Format["ExtremityG"]) ? $Format["ExtremityG"] : 0;
- $ExtremityB = isset($Format["ExtremityB"]) ? $Format["ExtremityB"] : 0;
- $ExtremityAlpha = isset($Format["ExtremityAlpha"]) ? $Format["ExtremityAlpha"] : 100;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 8;
- $BoxUpR = isset($Format["BoxUpR"]) ? $Format["BoxUpR"] : 188;
- $BoxUpG = isset($Format["BoxUpG"]) ? $Format["BoxUpG"] : 224;
- $BoxUpB = isset($Format["BoxUpB"]) ? $Format["BoxUpB"] : 46;
- $BoxUpAlpha = isset($Format["BoxUpAlpha"]) ? $Format["BoxUpAlpha"] : 100;
- $BoxUpSurrounding = isset($Format["BoxUpSurrounding"]) ? $Format["BoxUpSurrounding"] : NULL;
- $BoxUpBorderR = isset($Format["BoxUpBorderR"]) ? $Format["BoxUpBorderR"] : $BoxUpR-20;
- $BoxUpBorderG = isset($Format["BoxUpBorderG"]) ? $Format["BoxUpBorderG"] : $BoxUpG-20;
- $BoxUpBorderB = isset($Format["BoxUpBorderB"]) ? $Format["BoxUpBorderB"] : $BoxUpB-20;
- $BoxUpBorderAlpha = isset($Format["BoxUpBorderAlpha"]) ? $Format["BoxUpBorderAlpha"] : 100;
- $BoxDownR = isset($Format["BoxDownR"]) ? $Format["BoxDownR"] : 224;
- $BoxDownG = isset($Format["BoxDownG"]) ? $Format["BoxDownG"] : 100;
- $BoxDownB = isset($Format["BoxDownB"]) ? $Format["BoxDownB"] : 46;
- $BoxDownAlpha = isset($Format["BoxDownAlpha"]) ? $Format["BoxDownAlpha"] : 100;
- $BoxDownSurrounding= isset($Format["BoxDownSurrounding"]) ? $Format["BoxDownSurrounding"] : NULL;
- $BoxDownBorderR = isset($Format["BoxDownBorderR"]) ? $Format["BoxDownBorderR"] : $BoxDownR-20;
- $BoxDownBorderG = isset($Format["BoxDownBorderG"]) ? $Format["BoxDownBorderG"] : $BoxDownG-20;
- $BoxDownBorderB = isset($Format["BoxDownBorderB"]) ? $Format["BoxDownBorderB"] : $BoxDownB-20;
- $BoxDownBorderAlpha= isset($Format["BoxDownBorderAlpha"]) ? $Format["BoxDownBorderAlpha"] : 100;
- $ShadowOnBoxesOnly = isset($Format["ShadowOnBoxesOnly"]) ? $Format["ShadowOnBoxesOnly"] : TRUE;
- $MedianR = isset($Format["MedianR"]) ? $Format["MedianR"] : 255;
- $MedianG = isset($Format["MedianG"]) ? $Format["MedianG"] : 0;
- $MedianB = isset($Format["MedianB"]) ? $Format["MedianB"] : 0;
- $MedianAlpha = isset($Format["MedianAlpha"]) ? $Format["MedianAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : "Stock Chart";
-
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( $BoxUpSurrounding != NULL ) { $BoxUpBorderR = $BoxUpR + $BoxUpSurrounding; $BoxUpBorderG = $BoxUpG + $BoxUpSurrounding; $BoxUpBorderB = $BoxUpB + $BoxUpSurrounding; }
- if ( $BoxDownSurrounding != NULL ) { $BoxDownBorderR = $BoxDownR + $BoxDownSurrounding; $BoxDownBorderG = $BoxDownG + $BoxDownSurrounding; $BoxDownBorderB = $BoxDownB + $BoxDownSurrounding; }
-
- if ( $LineWidth != 1 ) { $LineOffset = $LineWidth / 2; }
- $BoxOffset = $BoxWidth / 2;
-
- $Data = $this->pChartObject->DataSet->getData();
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- if ( !isset($Data["Series"][$SerieOpen]) || !isset($Data["Series"][$SerieClose]) || !isset($Data["Series"][$SerieMin]) || !isset($Data["Series"][$SerieMax]) )
- return(STOCK_MISSING_SERIE);
-
- $Plots = "";
- foreach($Data["Series"][$SerieOpen]["Data"] as $Key => $Value)
- {
- $Point = "";
- if ( isset($Data["Series"][$SerieClose]["Data"][$Key]) || isset($Data["Series"][$SerieMin]["Data"][$Key]) || isset($Data["Series"][$SerieMax]["Data"][$Key]) )
- $Point = array($Value,$Data["Series"][$SerieClose]["Data"][$Key],$Data["Series"][$SerieMin]["Data"][$Key],$Data["Series"][$SerieMax]["Data"][$Key]);
- if ( $SerieMedian != NULL && isset($Data["Series"][$SerieMedian]["Data"][$Key]) )
- $Point[] = $Data["Series"][$SerieMedian]["Data"][$Key];
-
- $Plots[] = $Point;
- }
-
- $AxisID = $Data["Series"][$SerieOpen]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $YZero = $this->pChartObject->scaleComputeY(0,array("AxisID"=>$AxisID));
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $LineSettings = array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha);
- $ExtremitySettings = array("R"=>$ExtremityR,"G"=>$ExtremityG,"B"=>$ExtremityB,"Alpha"=>$ExtremityAlpha);
- $BoxUpSettings = array("R"=>$BoxUpR,"G"=>$BoxUpG,"B"=>$BoxUpB,"Alpha"=>$BoxUpAlpha,"BorderR"=>$BoxUpBorderR,"BorderG"=>$BoxUpBorderG,"BorderB"=>$BoxUpBorderB,"BorderAlpha"=>$BoxUpBorderAlpha);
- $BoxDownSettings = array("R"=>$BoxDownR,"G"=>$BoxDownG,"B"=>$BoxDownB,"Alpha"=>$BoxDownAlpha,"BorderR"=>$BoxDownBorderR,"BorderG"=>$BoxDownBorderG,"BorderB"=>$BoxDownBorderB,"BorderAlpha"=>$BoxDownBorderAlpha);
- $MedianSettings = array("R"=>$MedianR,"G"=>$MedianG,"B"=>$MedianB,"Alpha"=>$MedianAlpha);
-
- foreach($Plots as $Key =>$Points)
- {
- $PosArray = $this->pChartObject->scaleComputeY($Points,array("AxisID"=>$AxisID));
-
- $Values = "Open :".$Data["Series"][$SerieOpen]["Data"][$Key]."<BR>Close : ".$Data["Series"][$SerieClose]["Data"][$Key]."<BR>Min : ".$Data["Series"][$SerieMin]["Data"][$Key]."<BR>Max : ".$Data["Series"][$SerieMax]["Data"][$Key]."<BR>";
- if ( $SerieMedian != NULL ) { $Values = $Values."Median : ".$Data["Series"][$SerieMedian]["Data"][$Key]."<BR>"; }
- if ( $PosArray[0] > $PosArray[1] ) { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxUpR,$BoxUpG,$BoxUpB); } else { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxDownR,$BoxDownG,$BoxDownB); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->pChartObject->GraphAreaY2-1 ) { $YZero = $this->pChartObject->GraphAreaY2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaY1+1 ) { $YZero = $this->pChartObject->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($X,$PosArray[2],$X,$PosArray[3],$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$LineOffset,$PosArray[2],$X+$LineOffset,$PosArray[3],$LineSettings);
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2],$ExtremitySettings);
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3],$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]).",".floor($X+$ExtremityLength).",".floor($PosArray[3]),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2]-$ExtremityWidth,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3]+$ExtremityWidth,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]-$ExtremityWidth).",".floor($X+$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] > $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[4],$X+$ExtremityLength,$PosArray[4],$MedianSettings);
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $YZero > $this->pChartObject->GraphAreaX2-1 ) { $YZero = $this->pChartObject->GraphAreaX2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaX1+1 ) { $YZero = $this->pChartObject->GraphAreaX1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($PosArray[2],$Y,$PosArray[3],$Y,$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$LineOffset,$PosArray[3],$Y+$LineOffset,$LineSettings);
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($PosArray[2],$Y-$ExtremityLength,$PosArray[2],$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawLine($PosArray[3],$Y-$ExtremityLength,$PosArray[3],$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$ExtremityLength,$PosArray[2]-$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($PosArray[3],$Y-$ExtremityLength,$PosArray[3]+$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]-$ExtremityWidth).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] < $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($PosArray[4],$Y-$ExtremityLength,$PosArray[4],$Y+$ExtremityLength,$MedianSettings);
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/class/pSurface.class.php b/Website/tricode/class/pSurface.class.php
deleted file mode 100644
index f887ac0..0000000
--- a/Website/tricode/class/pSurface.class.php
+++ /dev/null
@@ -1,315 +0,0 @@
-<?php
- /*
- pSurface - class to draw surface charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("UNKNOWN" , 0.123456789);
- define("IGNORED" , -1);
-
- define("LABEL_POSITION_LEFT" , 880001);
- define("LABEL_POSITION_RIGHT" , 880002);
- define("LABEL_POSITION_TOP" , 880003);
- define("LABEL_POSITION_BOTTOM" , 880004);
-
- /* pStock class definition */
- class pSurface
- {
- var $pChartObject;
- var $GridSizeX;
- var $GridSizeY;
- var $Points;
-
- /* Class creator */
- function pSurface($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- $this->GridSize = 10;
- $this->Points = "";
- }
-
- /* Define the grid size and initialise the 2D matrix */
- function setGrid($XSize=10,$YSize=10)
- {
- for($X=0; $X<=$XSize; $X++) { for($Y=0; $Y<=$YSize; $Y++) { $this->Points[$X][$Y]=UNKNOWN; } }
-
- $this->GridSizeX = $XSize;
- $this->GridSizeY = $YSize;
- }
-
- /* Add a point on the grid */
- function addPoint($X,$Y,$Value,$Force=TRUE)
- {
- if ( $X < 0 || $X >$this->GridSizeX ) { return(0); }
- if ( $Y < 0 || $Y >$this->GridSizeY ) { return(0); }
-
- if ( $this->Points[$X][$Y] == UNKNOWN || $Force )
- $this->Points[$X][$Y] = $Value;
- elseif ( $this->Points[$X][$Y] == UNKNOWN )
- $this->Points[$X][$Y] = $Value;
- else
- $this->Points[$X][$Y] = ($this->Points[$X][$Y] + $Value)/2;
- }
-
- /* Write the X labels */
- function writeXLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_TOP;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_TOP )
- {
- $YPos = $this->pChartObject->GraphAreaY1 - $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- }
- elseif ( $Position == LABEL_POSITION_BOTTOM )
- {
- $YPos = $this->pChartObject->GraphAreaY2 + $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- }
- else
- return(-1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- $XPos = floor($X0+$X*$XSize + $XSize/2);
-
- if( $Labels == NULL || !isset($Labels[$X]) )
- $Value = $X+$CountOffset;
- else
- $Value = $Labels[$X];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Write the Y labels */
- function writeYLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_LEFT;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $Y0 = $this->pChartObject->GraphAreaY1;
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_LEFT )
- { $XPos = $this->pChartObject->GraphAreaX1 - $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- elseif ( $Position == LABEL_POSITION_RIGHT )
- { $XPos = $this->pChartObject->GraphAreaX2 + $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- return(-1);
-
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $YPos = floor($Y0+$Y*$YSize + $YSize/2);
-
- if( $Labels == NULL || !isset($Labels[$Y]) )
- $Value = $Y+$CountOffset;
- else
- $Value = $Labels[$Y];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Draw the area arround the specified Threshold */
- function drawContour($Threshold,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 3;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 0;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED && $Value >= $Threshold)
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $X > 0 && $this->Points[$X-1][$Y] != UNKNOWN && $this->Points[$X-1][$Y] != IGNORED && $this->Points[$X-1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X1,$Y2,$Color);
- if ( $Y > 0 && $this->Points[$X][$Y-1] != UNKNOWN && $this->Points[$X][$Y-1] != IGNORED && $this->Points[$X][$Y-1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y1,$Color);
- if ( $X < $this->GridSizeX && $this->Points[$X+1][$Y] != UNKNOWN && $this->Points[$X+1][$Y] != IGNORED && $this->Points[$X+1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X2,$Y1,$X2,$Y2,$Color);
- if ( $Y < $this->GridSizeY && $this->Points[$X][$Y+1] != UNKNOWN && $this->Points[$X][$Y+1] != IGNORED && $this->Points[$X][$Y+1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y2,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Draw the surface chart */
- function drawSurface($Format="")
- {
- $Palette = isset($Format["Palette"]) ? $Format["Palette"] : NULL;
- $ShadeR1 = isset($Format["ShadeR1"]) ? $Format["ShadeR1"] : 77;
- $ShadeG1 = isset($Format["ShadeG1"]) ? $Format["ShadeG1"] : 205;
- $ShadeB1 = isset($Format["ShadeB1"]) ? $Format["ShadeB1"] : 21;
- $ShadeA1 = isset($Format["ShadeA1"]) ? $Format["ShadeA1"] : 40;
- $ShadeR2 = isset($Format["ShadeR2"]) ? $Format["ShadeR2"] : 227;
- $ShadeG2 = isset($Format["ShadeG2"]) ? $Format["ShadeG2"] : 135;
- $ShadeB2 = isset($Format["ShadeB2"]) ? $Format["ShadeB2"] : 61;
- $ShadeA2 = isset($Format["ShadeA2"]) ? $Format["ShadeA2"] : 100;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : -1;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 1;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED )
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $Palette != NULL )
- {
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["R"]) ) { $R = $Palette[$Value]["R"]; } else { $R = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["G"]) ) { $G = $Palette[$Value]["G"]; } else { $G = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["B"]) ) { $B = $Palette[$Value]["B"]; } else { $B = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["Alpha"]) ) { $Alpha = $Palette[$Value]["Alpha"]; } else { $Alpha = 1000; }
- }
- else
- {
- $R = (($ShadeR2-$ShadeR1)/100)*$Value + $ShadeR1;
- $G = (($ShadeG2-$ShadeG1)/100)*$Value + $ShadeG1;
- $B = (($ShadeB2-$ShadeB1)/100)*$Value + $ShadeB1;
- $Alpha = (($ShadeA2-$ShadeA1)/100)*$Value + $ShadeA1;
- }
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Border ) { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- if ( $Surrounding != -1 ) { $Settings["BorderR"] = $R+$Surrounding; $Settings["BorderG"] = $G+$Surrounding; $Settings["BorderB"] = $B+$Surrounding; }
-
- $this->pChartObject->drawFilledRectangle($X1,$Y1,$X2-1,$Y2-1,$Settings);
- }
- }
- }
- }
-
- /* Compute the missing points */
- function computeMissing()
- {
- $Missing = "";
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] == UNKNOWN )
- $Missing[] = $X.",".$Y;
- }
- }
- shuffle($Missing);
-
- foreach($Missing as $Key => $Pos)
- {
- $Pos = preg_split("/,/",$Pos);
- $X = $Pos[0];
- $Y = $Pos[1];
-
- if ( $this->Points[$X][$Y] == UNKNOWN )
- {
- $NearestNeighbor = $this->getNearestNeighbor($X,$Y);
-
- $Value = 0; $Points = 0;
- for($Xi=$X-$NearestNeighbor;$Xi<=$X+$NearestNeighbor;$Xi++)
- {
- for($Yi=$Y-$NearestNeighbor;$Yi<=$Y+$NearestNeighbor;$Yi++)
- {
- if ($Xi >=0 && $Yi >= 0 && $Xi <= $this->GridSizeX && $Yi <= $this->GridSizeY && $this->Points[$Xi][$Yi] != UNKNOWN && $this->Points[$Xi][$Yi] != IGNORED)
- {
- $Value = $Value + $this->Points[$Xi][$Yi]; $Points++;
- }
- }
- }
-
- if ( $Points != 0 ) { $this->Points[$X][$Y] = $Value / $Points; }
- }
- }
- }
-
- /* Return the nearest Neighbor distance of a point */
- function getNearestNeighbor($Xp,$Yp)
- {
- $Nearest = UNKNOWN;
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] != UNKNOWN && $this->Points[$X][$Y] != IGNORED )
- {
- $DistanceX = max($Xp,$X)-min($Xp,$X);
- $DistanceY = max($Yp,$Y)-min($Yp,$Y);
- $Distance = max($DistanceX,$DistanceY);
- if ( $Distance < $Nearest || $Nearest == UNKNOWN ) { $Nearest = $Distance; }
- }
- }
- }
- return($Nearest);
- }
- }
-?> \ No newline at end of file
diff --git a/Website/tricode/css/Critical.png b/Website/tricode/css/Critical.png
deleted file mode 100644
index e025d19..0000000
--- a/Website/tricode/css/Critical.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/Help.png b/Website/tricode/css/Help.png
deleted file mode 100644
index 42a8f7c..0000000
--- a/Website/tricode/css/Help.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/Info.png b/Website/tricode/css/Info.png
deleted file mode 100644
index 5a7a2c3..0000000
--- a/Website/tricode/css/Info.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/Warning.png b/Website/tricode/css/Warning.png
deleted file mode 100644
index 0af654e..0000000
--- a/Website/tricode/css/Warning.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/chk_off.png b/Website/tricode/css/chk_off.png
deleted file mode 100755
index 1514d51..0000000
--- a/Website/tricode/css/chk_off.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/chk_on.png b/Website/tricode/css/chk_on.png
deleted file mode 100755
index a9925a0..0000000
--- a/Website/tricode/css/chk_on.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/formCSS.css b/Website/tricode/css/formCSS.css
deleted file mode 100644
index f94bd72..0000000
--- a/Website/tricode/css/formCSS.css
+++ /dev/null
@@ -1,46 +0,0 @@
-/* fancyform styles edited by Refik Hadzialic*/
-html
-{
-font-family:Arial,Helvetica,sans-serif;
-}
-.form label
-{
-display:block;
-padding:0.0em;
-padding-left:22px;
-/*background-position:9px center;*/
-background-repeat:no-repeat;
-/*border:1px solid #252525;*/
-clear:both;cursor:pointer;
-
-font-family:Arial,Helvetica,sans-serif;
-font-style:normal;
-font-size:15px;
-}
-
-.checked
-{
-background-color:#fff;
-background-image:url(chk_on.png);
-}
-
-.unchecked
-{
-background-color:#fff;
-background-image:url(chk_off.png);
-}
-
-.leftcol
-{
-float:left;
-clear:left;
-width:30%;
-}
-
-.rightcol
-{
-float:left;
-clear:right;
-width:50%;
-}
-
diff --git a/Website/tricode/css/info_rhombus.png b/Website/tricode/css/info_rhombus.png
deleted file mode 100644
index 036733e..0000000
--- a/Website/tricode/css/info_rhombus.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/information.png b/Website/tricode/css/information.png
deleted file mode 100644
index 93c67f2..0000000
--- a/Website/tricode/css/information.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/link.gif b/Website/tricode/css/link.gif
deleted file mode 100644
index daada04..0000000
--- a/Website/tricode/css/link.gif
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/css/tableCSS.css b/Website/tricode/css/tableCSS.css
deleted file mode 100644
index 2a7f54d..0000000
--- a/Website/tricode/css/tableCSS.css
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -------------------------------------------------------
-Author: Vitaly Friedman but edited by Refik Hadzialic
-Theme: Green Life - A Fresh, Warm and Readable Table
-URL: http://www.alvit.de/vf
--------------------------------------------------------
-*/
-
- html {
- height: 100%;
- }
- #main {
- float: left;
- width: 350px;
- }
- #sidebar
- {
- float: left;
- width: 700px;
- }
- #footer
- {
- position: absolute;
- bottom: 1px;
- padding-top: 0px;
- padding-right: 220px;
- padding-left: 350px;
- border: 1px solid black;
- }
- body {
- background-color: #F0F0F0;
- font-family: verdana, verdana, ariel;
- height: 100%;
- }
-
- a.pChart
- {
- text-decoration: none;
- color: #6A6A6A;
- }
-
- table {
- font: 11px verdana,verdana, arial;
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- text-align: left;
- color: #333;
- line-height: 19px;
- }
-
- caption {
- font-size: 14px;
- font-weight: bold;
- margin-bottom: 20px;
- text-align: left;
- text-transform: uppercase;
- }
-
- td {
- margin: 0;
- padding: 20px 10px;
- border: 1px dotted #f5f5f5;
- }
-
-
- th {
- font-weight: normal;
- text-transform: uppercase;
- }
-
- thead tr th {
- background-color: #575757;
- padding: 20px 10px;
- color: #fff;
- font-weight: bold;
- border-right: 2px solid #333;
- text-transform: uppercase;
- text-align:center;
- }
-
- tfoot tr th, tfoot tr td {
- background-color: transparent;
- padding: 20px 10px;
- color: #ccc;
- border-top: 1px solid #ccc;
- }
-
- tbody tr th {
- padding: 20px 10px;
- border-bottom: 1px dotted #fafafa;
- }
-
- tr {
- background-color: #FBFDF6;
- }
- tr.odd {
- background-color: #EDF7DC;
- }
-
- tr:hover {
- }
-
- tr:hover td, tr:hover td a, tr:hover th a {
- color: #a10000;
- }
-
- td:hover {
- }
-
- tr:hover th a:hover {
- background-color: #F7FBEF;
- border-bottom: 2px solid #86C200;
- }
-
- table a {
- color: #608117;
- background-image: none;
- text-decoration: none;
- border-bottom: 1px dotted #8A8F95;
- padding: 2px;
- padding-right: 12px; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:hover {
- color: #BBC4CD;
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:visited {
- text-decoration: none;
- border-bottom: 1px dotted #333;
- text-decoration: none;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
-
- table a:visited:hover {
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
diff --git a/Website/tricode/css/tooltip.css b/Website/tricode/css/tooltip.css
deleted file mode 100644
index 3a50734..0000000
--- a/Website/tricode/css/tooltip.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.tooltip {
- border-bottom: 1px dotted #000000; color: #000000; outline: none;
- cursor: help; text-decoration: none;
- position: relative;
- }
- .tooltip span {
- margin-left: -999em;
- position: absolute;
- }
- .tooltip:hover span {
- border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
- font-family: Calibri, Tahoma, Geneva, sans-serif;
- position: absolute; left: 1em; top: 2em; z-index: 99;
- margin-left: 0; width: 250px;
- }
- .tooltip:hover img {
- border: 0; margin: -10px 0 0 -55px;
- float: left; position: absolute;
- }
- .tooltip:hover em {
- font-family: Candara, Tahoma, Geneva, sans-serif; font-size: 1.2em; font-weight: bold;
- display: block; padding: 0.2em 0 0.6em 0;
- }
- .classic { padding: 0.8em 1em; }
- .custom { padding: 0.5em 0.8em 0.8em 2em; }
- * html a:hover { background: transparent; }
- .classic {background: #f8ff88; border: 1px solid #FFAD33; }
- .critical { background: #f8ff88; border: 1px solid #FF3334; }
- .help { background: #f8ff88; border: 1px solid #2BB0D7; }
- .info { background: #f8ff88; border: 1px solid #2BB0D7; }
- .warning { background: #f8ff88; border: 1px solid #FFAD33; }
-
diff --git a/Website/tricode/css/visitedLink.gif b/Website/tricode/css/visitedLink.gif
deleted file mode 100644
index f7f1867..0000000
--- a/Website/tricode/css/visitedLink.gif
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/delayedLoading.js b/Website/tricode/delayedLoading.js
deleted file mode 100644
index b76bbe3..0000000
--- a/Website/tricode/delayedLoading.js
+++ /dev/null
@@ -1,228 +0,0 @@
- /*
- delayedLoader - JS to delay out of sight pictures rendering
-
- Version : 2.0.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 10/12/10
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- var PictureCache = new Array();
- var PictureCount = 0;
- var WaitPicture = "wait.gif";
- var DivClassName = "pChart";
- var DefaultWidth = 70;
- var DefaultHeight = 230;
- var DefaultAlt = "pChart rendered picture";
-
-
- /* Do the DOM document processing */
- function loaderInit()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- /* Enumerate the tags */
- Links = document.getElementsByTagName("a");
- for (i = 0; i < Links.length; i++)
- {
- className = Links[i].className;
-
- if ( className == DivClassName )
- {
- ObjectWidth = Links[i].getAttribute("data-pchart-width");
- ObjectHeight = Links[i].getAttribute("data-pchart-height");
- ObjectID = Links[i].id;
- ObjectTop = Links[i].offsetTop;
- ObjectURL = Links[i].href;
- ObjectAlt = Links[i].getAttribute("data-pchart-alt");
-
- if ( ObjectWidth == null ) { ObjectWidth = DefaultWidth; }
- if ( ObjectHeight == null ) { ObjectHeight = DefaultHeight; }
- if ( ObjectAlt == null ) { ObjectAlt = DefaultAlt; }
-
- if (ObjectID == "") { ObjectID = "pChart-"+i; Links[i].id = ObjectID; }
-
- PictureCache[PictureCount] = new Array();
- PictureCache[PictureCount][0] = ObjectID;
- PictureCache[PictureCount][1] = ObjectTop;
- PictureCache[PictureCount][2] = ObjectURL;
- PictureCache[PictureCount][3] = ObjectAlt;
- PictureCache[PictureCount][4] = ObjectWidth;
- PictureCache[PictureCount][5] = ObjectHeight;
-
- PictureCount++;
- }
- }
-
- /* Replace the <A> tags by <DIV> ones and attach the loader */
- for(i=0;i<PictureCount;i++)
- {
- ATag = document.getElementById(PictureCache[i][0]);
- DivTag = document.createElement("div");
- DivID = "pChart-Div"+i; PictureCache[i][0] = DivID;
-
- DivTag.setAttribute("id", DivID);
- DivTag.style.width = PictureCache[i][4];
- DivTag.style.height = PictureCache[i][5];
- DivTag.style.backgroundColor = "#E0E0E0";
-
- DivTag2 = ATag.parentNode.replaceChild(DivTag, ATag);
-
- DivTop = DivTag.offsetTop;
- PictureCache[i][1] = DivTop;
-
- changeOpac(50, i);
- changeContent("<img src='"+WaitPicture+"' width=24 height=24 alt=''/>",i);
-
- if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); }
- }
- }
-
- /* Replace the contents of the delayed loading DIV */
- function changeContent(html, id)
- { DivID = PictureCache[id][0]; document.getElementById(DivID).innerHTML = html; }
-
- /* Trigger the picture rendering when the pChart DIV became visible */
- function triggerVisible(PictureID)
- {
- if ( !PictureCache[PictureID][6] == true )
- {
- PictureCache[PictureID][6] = true;
- ajaxRender(PictureCache[PictureID][2],PictureID);
- }
- }
-
- /* Catch the navigator window scrolling event */
- function scrollEvent()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- for(i=0;i<=PictureCount-1;i++) { if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); } }
- }
-
- /* Cross browser X/Y window offset gatherer */
- function getScrollXY()
- {
- var scrOfX = 0, scrOfY = 0;
-
- if( typeof( window.pageYOffset ) == 'number' )
- { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; }
- else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
- { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; }
- else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
- { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; }
-
- return [ scrOfX, scrOfY ];
- }
-
- /* Cross browser X/Y window size gatherer */
- function getWindowSize()
- {
- var myWidth = 0, myHeight = 0;
-
- if( typeof( window.innerWidth ) == 'number' )
- { myWidth = window.innerWidth; myHeight = window.innerHeight; }
- else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
- { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
- else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
- { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
-
- return [ myWidth, myHeight ];
- }
-
- /* Cross browser alpha transparency changer */
- function changeOpac(opacity, id)
- {
- DivID = PictureCache[id][0];
-
- var object = document.getElementById(DivID).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- /* Shade in-out function */
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- }
-
- /* Start the loader */
- function StartFade(PictureID)
- {
- Loader = new Image();
- URL = PictureCache[PictureID][2];
- Loader.src = URL;
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* check the picture loading status */
- function CheckLoadingStatus(PictureID)
- {
- DivID = PictureCache[PictureID][0];
- URL = PictureCache[PictureID][2];
- Alt = PictureCache[PictureID][3];
-
- if ( Loader.complete == true )
- {
- changeOpac(0, PictureID);
- HTMLResult = "<center><img src='" + URL + "' alt='"+Alt+"'/></center>";
- document.getElementById(DivID).innerHTML = HTMLResult;
-
- opacity(PictureID,0,100,100);
- }
- else
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* Compute the pChart picture in background */
- function ajaxRender(URL,PictureID)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function()
- { if (xmlhttp.readyState==4) { StartFade(PictureID); } }
- xmlhttp.send(null)
- }
diff --git a/Website/tricode/execute.php b/Website/tricode/execute.php
deleted file mode 100755
index a384da1..0000000
--- a/Website/tricode/execute.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
- $ip = "localhost";
- $port = 34600;
- $startApp = fsockopen($ip, $port, $errno, $error, 5);
- if (!$startApp)
- {
- printf('ERROR');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(500);
- fclose($startApp);
-
- }
-?>
-</div>
-</body>
-</html>
-
diff --git a/Website/tricode/fonts/Bedizen.ttf b/Website/tricode/fonts/Bedizen.ttf
deleted file mode 100644
index d115733..0000000
--- a/Website/tricode/fonts/Bedizen.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/Forgotte.ttf b/Website/tricode/fonts/Forgotte.ttf
deleted file mode 100644
index a2f7f4a..0000000
--- a/Website/tricode/fonts/Forgotte.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/GeosansLight.ttf b/Website/tricode/fonts/GeosansLight.ttf
deleted file mode 100644
index 055932a..0000000
--- a/Website/tricode/fonts/GeosansLight.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/MankSans.ttf b/Website/tricode/fonts/MankSans.ttf
deleted file mode 100644
index a6146a9..0000000
--- a/Website/tricode/fonts/MankSans.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/Silkscreen.ttf b/Website/tricode/fonts/Silkscreen.ttf
deleted file mode 100644
index ae4425d..0000000
--- a/Website/tricode/fonts/Silkscreen.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/advent_light.ttf b/Website/tricode/fonts/advent_light.ttf
deleted file mode 100644
index 514030a..0000000
--- a/Website/tricode/fonts/advent_light.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/calibri.ttf b/Website/tricode/fonts/calibri.ttf
deleted file mode 100644
index 8b6e3c9..0000000
--- a/Website/tricode/fonts/calibri.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/pf_arma_five.ttf b/Website/tricode/fonts/pf_arma_five.ttf
deleted file mode 100644
index db04ec3..0000000
--- a/Website/tricode/fonts/pf_arma_five.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/fonts/verdana.ttf b/Website/tricode/fonts/verdana.ttf
deleted file mode 100644
index 5a059d2..0000000
--- a/Website/tricode/fonts/verdana.ttf
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/blackberry_dunno.png b/Website/tricode/icons/blackberry_dunno.png
deleted file mode 100644
index 4ee9ee0..0000000
--- a/Website/tricode/icons/blackberry_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/blackberry_fail.png b/Website/tricode/icons/blackberry_fail.png
deleted file mode 100644
index 650d942..0000000
--- a/Website/tricode/icons/blackberry_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/blackberry_work.png b/Website/tricode/icons/blackberry_work.png
deleted file mode 100644
index 3fe1d09..0000000
--- a/Website/tricode/icons/blackberry_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/box_dunno.png b/Website/tricode/icons/box_dunno.png
deleted file mode 100644
index 744ec7a..0000000
--- a/Website/tricode/icons/box_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/box_fail.png b/Website/tricode/icons/box_fail.png
deleted file mode 100644
index 3398e05..0000000
--- a/Website/tricode/icons/box_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/box_work.png b/Website/tricode/icons/box_work.png
deleted file mode 100644
index 666fced..0000000
--- a/Website/tricode/icons/box_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/server_dunno.png b/Website/tricode/icons/server_dunno.png
deleted file mode 100644
index 588514e..0000000
--- a/Website/tricode/icons/server_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/server_fail.png b/Website/tricode/icons/server_fail.png
deleted file mode 100644
index a699864..0000000
--- a/Website/tricode/icons/server_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/server_work.png b/Website/tricode/icons/server_work.png
deleted file mode 100644
index 210979f..0000000
--- a/Website/tricode/icons/server_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/sip_dunno.png b/Website/tricode/icons/sip_dunno.png
deleted file mode 100644
index e494a61..0000000
--- a/Website/tricode/icons/sip_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/sip_fail.png b/Website/tricode/icons/sip_fail.png
deleted file mode 100644
index 02d7029..0000000
--- a/Website/tricode/icons/sip_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/sip_work.png b/Website/tricode/icons/sip_work.png
deleted file mode 100644
index 5774487..0000000
--- a/Website/tricode/icons/sip_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/telephone_dunno.png b/Website/tricode/icons/telephone_dunno.png
deleted file mode 100644
index 2ac9dd6..0000000
--- a/Website/tricode/icons/telephone_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/telephone_fail.png b/Website/tricode/icons/telephone_fail.png
deleted file mode 100644
index 222050d..0000000
--- a/Website/tricode/icons/telephone_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/telephone_work.png b/Website/tricode/icons/telephone_work.png
deleted file mode 100644
index 5086dd2..0000000
--- a/Website/tricode/icons/telephone_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/uni-network_dunno.png b/Website/tricode/icons/uni-network_dunno.png
deleted file mode 100644
index 7d99f0e..0000000
--- a/Website/tricode/icons/uni-network_dunno.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/uni-network_fail.png b/Website/tricode/icons/uni-network_fail.png
deleted file mode 100644
index 3da0a70..0000000
--- a/Website/tricode/icons/uni-network_fail.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/icons/uni-network_work.png b/Website/tricode/icons/uni-network_work.png
deleted file mode 100644
index fdc7989..0000000
--- a/Website/tricode/icons/uni-network_work.png
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/insertData.php b/Website/tricode/insertData.php
deleted file mode 100644
index fe77587..0000000
--- a/Website/tricode/insertData.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?
-/*
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-*/
-function getNewTaskNo()
-{
- $sql = "SELECT MAX(taskNo) FROM TaskTable"; //the SQL command to find the max value in taskNo
- $execute = mysql_query($sql); //execute the command
- $result = mysql_result($execute,0);
-
- if ($result == NULL)
- {
- // there is no single job in the table
- return 1;
- }
- else
- {
- //increment the new taskNo
- return $result + 1;
- }
-}
-
-function insertTask($taskNo, $from, $to)
-{
- $trans = "START TRANSACTION;";
- $execute = mysql_query($trans);
-
- if ($execute!=1)
- {
- return 3; //could not start transaction
- }
-
- $sql = "INSERT INTO `TaskTable` (`taskNo`, `from`, `to`) VALUES($taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TaskTable
-
- if ($execute == 1) //I added to the DB the task!
- {
- $sql = "SELECT @taskID := LAST_INSERT_ID()"; //find the last taskId
- $execute = mysql_query($sql);
- $taskId = mysql_result($execute,0); //I have the last taskId which I will use to insert it into TempTaskTable
-
- $sql = "INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES($taskId, $taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TempTaskTable
-
- if ($execute == 1)
- {
- $trans = "COMMIT;"; //command to end the transaction
- $execute = mysql_query($trans);//finish the transaction
-
- if ($execute == 1)
- {
- return 1; //task was successfuly added to both tables, TaskTable and TempTaskTable
- }
- else
- {
- return 0; //nothing was added to the tables
- }
- }
- else
- {
- return 2; //the task is in the TaskTable but not in TempTaskTable
- }
- }
- else
- {
- return 0; //nothing was added to the table, some error occured
- }
-}
- //include 'post.php';
-?>
diff --git a/Website/tricode/loader.gif b/Website/tricode/loader.gif
deleted file mode 100644
index 240d4e1..0000000
--- a/Website/tricode/loader.gif
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/moocheck.js b/Website/tricode/moocheck.js
deleted file mode 100644
index 0c364aa..0000000
--- a/Website/tricode/moocheck.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* FancyForm 0.95
-* By Vacuous Virtuoso, lipidity.com
-* ---
-* Checkbox and radio input replacement script.
-* Toggles defined class when input is selected.
-*/
-
-var FancyForm = {
- start: function(elements, options){
- if(FancyForm.initing != undefined) return;
- if($type(elements)!='array') elements = $$('input');
- if(!options) options = [];
- FancyForm.onclasses = ($type(options['onClasses']) == 'object') ? options['onClasses'] : {
- checkbox: 'checked',
- radio: 'selected'
- }
- FancyForm.offclasses = ($type(options['offClasses']) == 'object') ? options['offClasses'] : {
- checkbox: 'unchecked',
- radio: 'unselected'
- }
- if($type(options['extraClasses']) == 'object'){
- FancyForm.extra = options['extraClasses'];
- } else if(options['extraClasses']){
- FancyForm.extra = {
- checkbox: 'f_checkbox',
- radio: 'f_radio',
- on: 'f_on',
- off: 'f_off',
- all: 'fancy'
- }
- } else {
- FancyForm.extra = {};
- }
- FancyForm.onSelect = $pick(options['onSelect'], function(el){});
- FancyForm.onDeselect = $pick(options['onDeselect'], function(el){});
- FancyForm.chks = [];
- FancyForm.add(elements);
- $each($$('form'), function(x) {
- x.addEvent('reset', function(a) {
- window.setTimeout(function(){FancyForm.chks.each(function(x){FancyForm.update(x);x.inputElement.blur()})}, 200);
- });
- });
- },
- add: function(elements){
- if($type(elements) == 'element')
- elements = [elements];
- FancyForm.initing = 1;
- var keeps = [];
- var newChks = elements.filter(function(chk){
- if($type(chk) != 'element' || chk.inputElement || (chk.get('tag') == 'input' && chk.getParent().inputElement))
- return false;
- if(chk.get('tag') == 'input' && (FancyForm.onclasses[chk.getProperty('type')])){
- var el = chk.getParent();
- if(el.getElement('input')==chk){
- el.type = chk.getProperty('type');
- el.inputElement = chk;
- this.push(el);
- } else {
- chk.addEvent('click',function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- }
- } else if((chk.inputElement = chk.getElement('input')) && (FancyForm.onclasses[(chk.type = chk.inputElement.getProperty('type'))])){
- return true;
- }
- return false;
- }.bind(keeps));
- newChks = newChks.combine(keeps);
- newChks.each(function(chk){
- var c = chk.inputElement;
- c.setStyle('position', 'absolute');
- c.setStyle('left', '-9999px');
- chk.addEvent('selectStart', function(f){f.stop()});
- chk.name = c.getProperty('name');
- FancyForm.update(chk);
- });
- newChks.each(function(chk){
- var c = chk.inputElement;
- chk.addEvent('click', function(f){
- f.stop(); f.type = 'prop';
- c.fireEvent('click', f, 1);
- });
- chk.addEvent('mousedown', function(f){
- if($type(c.onmousedown) == 'function')
- c.onmousedown();
- f.preventDefault();
- });
- chk.addEvent('mouseup', function(f){
- if($type(c.onmouseup) == 'function')
- c.onmouseup();
- });
- c.addEvent('focus', function(f){
- if(FancyForm.focus)
- chk.setStyle('outline', '1px dotted');
- });
- c.addEvent('blur', function(f){
- chk.setStyle('outline', 0);
- });
- c.addEvent('click', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- if(c.getProperty('disabled')) // c.getStyle('position') != 'absolute'
- return;
- if (!chk.hasClass(FancyForm.onclasses[chk.type]))
- c.setProperty('checked', 'checked');
- else if(chk.type != 'radio')
- c.setProperty('checked', false);
- if(f.type == 'prop')
- FancyForm.focus = 0;
- FancyForm.update(chk);
- FancyForm.focus = 1;
- if(f.type == 'prop' && !FancyForm.initing && $type(c.onclick) == 'function')
- c.onclick();
- });
- c.addEvent('mouseup', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- c.addEvent('mousedown', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- if(extraclass = FancyForm.extra[chk.type])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['all'])
- chk.addClass(extraclass);
- });
- FancyForm.chks.combine(newChks);
- FancyForm.initing = 0;
- },
- update: function(chk){
- if(chk.inputElement.getProperty('checked')) {
- chk.removeClass(FancyForm.offclasses[chk.type]);
- chk.addClass(FancyForm.onclasses[chk.type]);
- if (chk.type == 'radio'){
- FancyForm.chks.each(function(other){
- if (other.name == chk.name && other != chk) {
- other.inputElement.setProperty('checked', false);
- FancyForm.update(other);
- }
- });
- }
- if(extraclass = FancyForm.extra['on'])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['off'])
- chk.removeClass(extraclass);
- if(!FancyForm.initing)
- FancyForm.onSelect(chk);
- } else {
- chk.removeClass(FancyForm.onclasses[chk.type]);
- chk.addClass(FancyForm.offclasses[chk.type]);
- if(extraclass = FancyForm.extra['off'])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['on'])
- chk.removeClass(extraclass);
- if(!FancyForm.initing)
- FancyForm.onDeselect(chk);
- }
- if(!FancyForm.initing)
- chk.inputElement.focus();
- },
- all: function(){
- FancyForm.chks.each(function(chk){
- chk.inputElement.setProperty('checked', 'checked');
- FancyForm.update(chk);
- });
- },
- none: function(){
- FancyForm.chks.each(function(chk){
- chk.inputElement.setProperty('checked', false);
- FancyForm.update(chk);
- });
- }
-};
-
-window.addEvent('domready', function(){
- FancyForm.start();
-});
diff --git a/Website/tricode/mootools.js b/Website/tricode/mootools.js
deleted file mode 100644
index 45b1f3e..0000000
--- a/Website/tricode/mootools.js
+++ /dev/null
@@ -1,126 +0,0 @@
-//MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2008 Valerio Proietti, <http://mad4milk.net>, MIT Style License.
-
-var MooTools={'version':'1.2.0','build':''};var Native=function(options){options=options||{};var afterImplement=options.afterImplement||function(){};var generics=options.generics;generics=(generics!==false);var legacy=options.legacy;var initialize=options.initialize;var protect=options.protect;var name=options.name;var object=initialize||legacy;object.constructor=Native;object.$family={name:'native'};if(legacy&&initialize)object.prototype=legacy.prototype;object.prototype.constructor=object;if(name){var family=name.toLowerCase();object.prototype.$family={name:family};Native.typize(object,family);}
-var add=function(obj,name,method,force){if(!protect||force||!obj.prototype[name])obj.prototype[name]=method;if(generics)Native.genericize(obj,name,protect);afterImplement.call(obj,name,method);return obj;};object.implement=function(a1,a2,a3){if(typeof a1=='string')return add(this,a1,a2,a3);for(var p in a1)add(this,p,a1[p],a2);return this;};object.alias=function(a1,a2,a3){if(typeof a1=='string'){a1=this.prototype[a1];if(a1)add(this,a2,a1,a3);}else{for(var a in a1)this.alias(a,a1[a],a2);}
-return this;};return object;};Native.implement=function(objects,properties){for(var i=0,l=objects.length;i<l;i++)objects[i].implement(properties);};Native.genericize=function(object,property,check){if((!check||!object[property])&&typeof object.prototype[property]=='function')object[property]=function(){var args=Array.prototype.slice.call(arguments);return object.prototype[property].apply(args.shift(),args);};};Native.typize=function(object,family){if(!object.type)object.type=function(item){return($type(item)===family);};};Native.alias=function(objects,a1,a2,a3){for(var i=0,j=objects.length;i<j;i++)objects[i].alias(a1,a2,a3);};(function(objects){for(var name in objects)Native.typize(objects[name],name);})({'boolean':Boolean,'native':Native,'object':Object});(function(objects){for(var name in objects)new Native({name:name,initialize:objects[name],protect:true});})({'String':String,'Function':Function,'Number':Number,'Array':Array,'RegExp':RegExp,'Date':Date});(function(object,methods){for(var i=methods.length;i--;i)Native.genericize(object,methods[i],true);return arguments.callee;})
-(Array,['pop','push','reverse','shift','sort','splice','unshift','concat','join','slice','toString','valueOf','indexOf','lastIndexOf'])
-(String,['charAt','charCodeAt','concat','indexOf','lastIndexOf','match','replace','search','slice','split','substr','substring','toLowerCase','toUpperCase','valueOf']);function $chk(obj){return!!(obj||obj===0);};function $clear(timer){clearTimeout(timer);clearInterval(timer);return null;};function $defined(obj){return(obj!=undefined);};function $empty(){};function $arguments(i){return function(){return arguments[i];};};function $lambda(value){return(typeof value=='function')?value:function(){return value;};};function $extend(original,extended){for(var key in(extended||{}))original[key]=extended[key];return original;};function $unlink(object){var unlinked;switch($type(object)){case'object':unlinked={};for(var p in object)unlinked[p]=$unlink(object[p]);break;case'hash':unlinked=$unlink(object.getClean());break;case'array':unlinked=[];for(var i=0,l=object.length;i<l;i++)unlinked[i]=$unlink(object[i]);break;default:return object;}
-return unlinked;};function $merge(){var mix={};for(var i=0,l=arguments.length;i<l;i++){var object=arguments[i];if($type(object)!='object')continue;for(var key in object){var op=object[key],mp=mix[key];mix[key]=(mp&&$type(op)=='object'&&$type(mp)=='object')?$merge(mp,op):$unlink(op);}}
-return mix;};function $pick(){for(var i=0,l=arguments.length;i<l;i++){if(arguments[i]!=undefined)return arguments[i];}
-return null;};function $random(min,max){return Math.floor(Math.random()*(max-min+1)+min);};function $splat(obj){var type=$type(obj);return(type)?((type!='array'&&type!='arguments')?[obj]:obj):[];};var $time=Date.now||function(){return new Date().getTime();};function $try(){for(var i=0,l=arguments.length;i<l;i++){try{return arguments[i]();}catch(e){}}
-return null;};function $type(obj){if(obj==undefined)return false;if(obj.$family)return(obj.$family.name=='number'&&!isFinite(obj))?false:obj.$family.name;if(obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return(/\S/).test(obj.nodeValue)?'textnode':'whitespace';}}else if(typeof obj.length=='number'){if(obj.callee)return'arguments';else if(obj.item)return'collection';}
-return typeof obj;};var Hash=new Native({name:'Hash',initialize:function(object){if($type(object)=='hash')object=$unlink(object.getClean());for(var key in object)this[key]=object[key];return this;}});Hash.implement({getLength:function(){var length=0;for(var key in this){if(this.hasOwnProperty(key))length++;}
-return length;},forEach:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key))fn.call(bind,this[key],key,this);}},getClean:function(){var clean={};for(var key in this){if(this.hasOwnProperty(key))clean[key]=this[key];}
-return clean;}});Hash.alias('forEach','each');function $H(object){return new Hash(object);};Array.implement({forEach:function(fn,bind){for(var i=0,l=this.length;i<l;i++)fn.call(bind,this[i],i,this);}});Array.alias('forEach','each');function $A(iterable){if(iterable.item){var array=[];for(var i=0,l=iterable.length;i<l;i++)array[i]=iterable[i];return array;}
-return Array.prototype.slice.call(iterable);};function $each(iterable,fn,bind){var type=$type(iterable);((type=='arguments'||type=='collection'||type=='array')?Array:Hash).each(iterable,fn,bind);};var Browser=new Hash({Engine:{name:'unknown',version:''},Platform:{name:(navigator.platform.match(/mac|win|linux/i)||['other'])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime)},Plugins:{}});if(window.opera)Browser.Engine={name:'presto',version:(document.getElementsByClassName)?950:925};else if(window.ActiveXObject)Browser.Engine={name:'trident',version:(window.XMLHttpRequest)?5:4};else if(!navigator.taintEnabled)Browser.Engine={name:'webkit',version:(Browser.Features.xpath)?420:419};else if(document.getBoxObjectFor!=null)Browser.Engine={name:'gecko',version:(document.getElementsByClassName)?19:18};Browser.Engine[Browser.Engine.name]=Browser.Engine[Browser.Engine.name+Browser.Engine.version]=true;if(window.orientation!=undefined)Browser.Platform.name='ipod';Browser.Platform[Browser.Platform.name]=true;Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject('MSXML2.XMLHTTP');});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var version=($try(function(){return navigator.plugins['Shockwave Flash'].description;},function(){return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');})||'0 r0').match(/\d+/g);return{version:parseInt(version[0]||0+'.'+version[1]||0),build:parseInt(version[2]||0)};})();function $exec(text){if(!text)return text;if(window.execScript){window.execScript(text);}else{var script=document.createElement('script');script.setAttribute('type','text/javascript');script.text=text;document.head.appendChild(script);document.head.removeChild(script);}
-return text;};Native.UID=1;var $uid=(Browser.Engine.trident)?function(item){return(item.uid||(item.uid=[Native.UID++]))[0];}:function(item){return item.uid||(item.uid=Native.UID++);};var Window=new Native({name:'Window',legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(win){$uid(win);if(!win.Element){win.Element=$empty;if(Browser.Engine.webkit)win.document.createElement("iframe");win.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};}
-return $extend(win,Window.Prototype);},afterImplement:function(property,value){window[property]=Window.Prototype[property]=value;}});Window.Prototype={$family:{name:'window'}};new Window(window);var Document=new Native({name:'Document',legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(doc){$uid(doc);doc.head=doc.getElementsByTagName('head')[0];doc.html=doc.getElementsByTagName('html')[0];doc.window=doc.defaultView||doc.parentWindow;if(Browser.Engine.trident4)$try(function(){doc.execCommand("BackgroundImageCache",false,true);});return $extend(doc,Document.Prototype);},afterImplement:function(property,value){document[property]=Document.Prototype[property]=value;}});Document.Prototype={$family:{name:'document'}};new Document(document);Array.implement({every:function(fn,bind){for(var i=0,l=this.length;i<l;i++){if(!fn.call(bind,this[i],i,this))return false;}
-return true;},filter:function(fn,bind){var results=[];for(var i=0,l=this.length;i<l;i++){if(fn.call(bind,this[i],i,this))results.push(this[i]);}
-return results;},clean:function(){return this.filter($defined);},indexOf:function(item,from){var len=this.length;for(var i=(from<0)?Math.max(0,len+from):from||0;i<len;i++){if(this[i]===item)return i;}
-return-1;},map:function(fn,bind){var results=[];for(var i=0,l=this.length;i<l;i++)results[i]=fn.call(bind,this[i],i,this);return results;},some:function(fn,bind){for(var i=0,l=this.length;i<l;i++){if(fn.call(bind,this[i],i,this))return true;}
-return false;},associate:function(keys){var obj={},length=Math.min(this.length,keys.length);for(var i=0;i<length;i++)obj[keys[i]]=this[i];return obj;},link:function(object){var result={};for(var i=0,l=this.length;i<l;i++){for(var key in object){if(object[key](this[i])){result[key]=this[i];delete object[key];break;}}}
-return result;},contains:function(item,from){return this.indexOf(item,from)!=-1;},extend:function(array){for(var i=0,j=array.length;i<j;i++)this.push(array[i]);return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;},include:function(item){if(!this.contains(item))this.push(item);return this;},combine:function(array){for(var i=0,l=array.length;i<l;i++)this.include(array[i]);return this;},erase:function(item){for(var i=this.length;i--;i){if(this[i]===item)this.splice(i,1);}
-return this;},empty:function(){this.length=0;return this;},flatten:function(){var array=[];for(var i=0,l=this.length;i<l;i++){var type=$type(this[i]);if(!type)continue;array=array.concat((type=='array'||type=='collection'||type=='arguments')?Array.flatten(this[i]):this[i]);}
-return array;},hexToRgb:function(array){if(this.length!=3)return null;var rgb=this.map(function(value){if(value.length==1)value+=value;return value.toInt(16);});return(array)?rgb:'rgb('+rgb+')';},rgbToHex:function(array){if(this.length<3)return null;if(this.length==4&&this[3]==0&&!array)return'transparent';var hex=[];for(var i=0;i<3;i++){var bit=(this[i]-0).toString(16);hex.push((bit.length==1)?'0'+bit:bit);}
-return(array)?hex:'#'+hex.join('');}});Function.implement({extend:function(properties){for(var property in properties)this[property]=properties[property];return this;},create:function(options){var self=this;options=options||{};return function(event){var args=options.arguments;args=(args!=undefined)?$splat(args):Array.slice(arguments,(options.event)?1:0);if(options.event)args=[event||window.event].extend(args);var returns=function(){return self.apply(options.bind||null,args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)return $try(returns);return returns();};},pass:function(args,bind){return this.create({arguments:args,bind:bind});},attempt:function(args,bind){return this.create({arguments:args,bind:bind,attempt:true})();},bind:function(bind,args){return this.create({bind:bind,arguments:args});},bindWithEvent:function(bind,args){return this.create({bind:bind,event:true,arguments:args});},delay:function(delay,bind,args){return this.create({delay:delay,bind:bind,arguments:args})();},periodical:function(interval,bind,args){return this.create({periodical:interval,bind:bind,arguments:args})();},run:function(args,bind){return this.apply(bind,$splat(args));}});Number.implement({limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn,bind){for(var i=0;i<this;i++)fn.call(bind,i,this);},toFloat:function(){return parseFloat(this);},toInt:function(base){return parseInt(this,base||10);}});Number.alias('times','each');(function(math){var methods={};math.each(function(name){if(!Number[name])methods[name]=function(){return Math[name].apply(null,[this].concat($A(arguments)));};});Number.implement(methods);})(['abs','acos','asin','atan','atan2','ceil','cos','exp','floor','log','max','min','pow','sin','sqrt','tan']);String.implement({test:function(regex,params){return((typeof regex=='string')?new RegExp(regex,params):regex).test(this);},contains:function(string,separator){return(separator)?(separator+this+separator).indexOf(separator+string+separator)>-1:this.indexOf(string)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,'');},clean:function(){return this.replace(/\s+/g,' ').trim();},camelCase:function(){return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(match){return('-'+match.charAt(0).toLowerCase());});},capitalize:function(){return this.replace(/\b[a-z]/g,function(match){return match.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,'\\$1');},toInt:function(base){return parseInt(this,base||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(array){var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(hex)?hex.slice(1).hexToRgb(array):null;},rgbToHex:function(array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):null;},stripScripts:function(option){var scripts='';var text=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){scripts+=arguments[1]+'\n';return'';});if(option===true)$exec(scripts);else if($type(option)=='function')option(scripts,text);return text;},substitute:function(object,regexp){return this.replace(regexp||(/\\?\{([^}]+)\}/g),function(match,name){if(match.charAt(0)=='\\')return match.slice(1);return(object[name]!=undefined)?object[name]:'';});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(value){for(var key in this){if(this.hasOwnProperty(key)&&this[key]===value)return key;}
-return null;},hasValue:function(value){return(Hash.keyOf(this,value)!==null);},extend:function(properties){Hash.each(properties,function(value,key){Hash.set(this,key,value);},this);return this;},combine:function(properties){Hash.each(properties,function(value,key){Hash.include(this,key,value);},this);return this;},erase:function(key){if(this.hasOwnProperty(key))delete this[key];return this;},get:function(key){return(this.hasOwnProperty(key))?this[key]:null;},set:function(key,value){if(!this[key]||this.hasOwnProperty(key))this[key]=value;return this;},empty:function(){Hash.each(this,function(value,key){delete this[key];},this);return this;},include:function(key,value){var k=this[key];if(k==undefined)this[key]=value;return this;},map:function(fn,bind){var results=new Hash;Hash.each(this,function(value,key){results.set(key,fn.call(bind,value,key,this));},this);return results;},filter:function(fn,bind){var results=new Hash;Hash.each(this,function(value,key){if(fn.call(bind,value,key,this))results.set(key,value);},this);return results;},every:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key)&&!fn.call(bind,this[key],key))return false;}
-return true;},some:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key)&&fn.call(bind,this[key],key))return true;}
-return false;},getKeys:function(){var keys=[];Hash.each(this,function(value,key){keys.push(key);});return keys;},getValues:function(){var values=[];Hash.each(this,function(value){values.push(value);});return values;},toQueryString:function(base){var queryString=[];Hash.each(this,function(value,key){if(base)key=base+'['+key+']';var result;switch($type(value)){case'object':result=Hash.toQueryString(value,key);break;case'array':var qs={};value.each(function(val,i){qs[i]=val;});result=Hash.toQueryString(qs,key);break;default:result=key+'='+encodeURIComponent(value);}
-if(value!=undefined)queryString.push(result);});return queryString.join('&');}});Hash.alias({keyOf:'indexOf',hasValue:'contains'});var Event=new Native({name:'Event',initialize:function(event,win){win=win||window;var doc=win.document;event=event||win.event;if(event.$extended)return event;this.$extended=true;var type=event.type;var target=event.target||event.srcElement;while(target&&target.nodeType==3)target=target.parentNode;if(type.test(/key/)){var code=event.which||event.keyCode;var key=Event.Keys.keyOf(code);if(type=='keydown'){var fKey=code-111;if(fKey>0&&fKey<13)key='f'+fKey;}
-key=key||String.fromCharCode(code).toLowerCase();}else if(type.match(/(click|mouse|menu)/i)){doc=(!doc.compatMode||doc.compatMode=='CSS1Compat')?doc.html:doc.body;var page={x:event.pageX||event.clientX+doc.scrollLeft,y:event.pageY||event.clientY+doc.scrollTop};var client={x:(event.pageX)?event.pageX-win.pageXOffset:event.clientX,y:(event.pageY)?event.pageY-win.pageYOffset:event.clientY};if(type.match(/DOMMouseScroll|mousewheel/)){var wheel=(event.wheelDelta)?event.wheelDelta/120:-(event.detail||0)/3;}
-var rightClick=(event.which==3)||(event.button==2);var related=null;if(type.match(/over|out/)){switch(type){case'mouseover':related=event.relatedTarget||event.fromElement;break;case'mouseout':related=event.relatedTarget||event.toElement;}
-if(!(function(){while(related&&related.nodeType==3)related=related.parentNode;return true;}).create({attempt:Browser.Engine.gecko})())related=false;}}
-return $extend(this,{event:event,type:type,page:page,client:client,rightClick:rightClick,wheel:wheel,relatedTarget:related,target:target,code:code,key:key,shift:event.shiftKey,control:event.ctrlKey,alt:event.altKey,meta:event.metaKey});}});Event.Keys=new Hash({'enter':13,'up':38,'down':40,'left':37,'right':39,'esc':27,'space':32,'backspace':8,'tab':9,'delete':46});Event.implement({stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation)this.event.stopPropagation();else this.event.cancelBubble=true;return this;},preventDefault:function(){if(this.event.preventDefault)this.event.preventDefault();else this.event.returnValue=false;return this;}});var Class=new Native({name:'Class',initialize:function(properties){properties=properties||{};var klass=function(empty){for(var key in this)this[key]=$unlink(this[key]);for(var mutator in Class.Mutators){if(!this[mutator])continue;Class.Mutators[mutator](this,this[mutator]);delete this[mutator];}
-this.constructor=klass;if(empty===$empty)return this;var self=(this.initialize)?this.initialize.apply(this,arguments):this;if(this.options&&this.options.initialize)this.options.initialize.call(this);return self;};$extend(klass,this);klass.constructor=Class;klass.prototype=properties;return klass;}});Class.implement({implement:function(){Class.Mutators.Implements(this.prototype,Array.slice(arguments));return this;}});Class.Mutators={Implements:function(self,klasses){$splat(klasses).each(function(klass){$extend(self,($type(klass)=='class')?new klass($empty):klass);});},Extends:function(self,klass){var instance=new klass($empty);delete instance.parent;delete instance.parentOf;for(var key in instance){var current=self[key],previous=instance[key];if(current==undefined){self[key]=previous;continue;}
-var ctype=$type(current),ptype=$type(previous);if(ctype!=ptype)continue;switch(ctype){case'function':if(!arguments.callee.caller)self[key]=eval('('+String(current).replace(/\bthis\.parent\(\s*(\))?/g,function(full,close){return'arguments.callee._parent_.call(this'+(close||', ');})+')');self[key]._parent_=previous;break;case'object':self[key]=$merge(previous,current);}}
-self.parent=function(){return arguments.callee.caller._parent_.apply(this,arguments);};self.parentOf=function(descendant){return descendant._parent_.apply(this,Array.slice(arguments,1));};}};var Chain=new Class({chain:function(){this.$chain=(this.$chain||[]).extend(arguments);return this;},callChain:function(){return(this.$chain&&this.$chain.length)?this.$chain.shift().apply(this,arguments):false;},clearChain:function(){if(this.$chain)this.$chain.empty();return this;}});var Events=new Class({addEvent:function(type,fn,internal){type=Events.removeOn(type);if(fn!=$empty){this.$events=this.$events||{};this.$events[type]=this.$events[type]||[];this.$events[type].include(fn);if(internal)fn.internal=true;}
-return this;},addEvents:function(events){for(var type in events)this.addEvent(type,events[type]);return this;},fireEvent:function(type,args,delay){type=Events.removeOn(type);if(!this.$events||!this.$events[type])return this;this.$events[type].each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},removeEvent:function(type,fn){type=Events.removeOn(type);if(!this.$events||!this.$events[type])return this;if(!fn.internal)this.$events[type].erase(fn);return this;},removeEvents:function(type){for(var e in this.$events){if(type&&type!=e)continue;var fns=this.$events[e];for(var i=fns.length;i--;i)this.removeEvent(e,fns[i]);}
-return this;}});Events.removeOn=function(string){return string.replace(/^on([A-Z])/,function(full,first){return first.toLowerCase();});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent)return this;for(var option in this.options){if($type(this.options[option])!='function'||!(/^on[A-Z]/).test(option))continue;this.addEvent(option,this.options[option]);delete this.options[option];}
-return this;}});Document.implement({newElement:function(tag,props){if(Browser.Engine.trident&&props){['name','type','checked'].each(function(attribute){if(!props[attribute])return;tag+=' '+attribute+'="'+props[attribute]+'"';if(attribute!='checked')delete props[attribute];});tag='<'+tag+'>';}
-return $.element(this.createElement(tag)).set(props);},newTextNode:function(text){return this.createTextNode(text);},getDocument:function(){return this;},getWindow:function(){return this.defaultView||this.parentWindow;},purge:function(){var elements=this.getElementsByTagName('*');for(var i=0,l=elements.length;i<l;i++)Browser.freeMem(elements[i]);}});var Element=new Native({name:'Element',legacy:window.Element,initialize:function(tag,props){var konstructor=Element.Constructors.get(tag);if(konstructor)return konstructor(props);if(typeof tag=='string')return document.newElement(tag,props);return $(tag).set(props);},afterImplement:function(key,value){if(!Array[key])Elements.implement(key,Elements.multi(key));Element.Prototype[key]=value;}});Element.Prototype={$family:{name:'element'}};Element.Constructors=new Hash;var IFrame=new Native({name:'IFrame',generics:false,initialize:function(){var params=Array.link(arguments,{properties:Object.type,iframe:$defined});var props=params.properties||{};var iframe=$(params.iframe)||false;var onload=props.onload||$empty;delete props.onload;props.id=props.name=$pick(props.id,props.name,iframe.id,iframe.name,'IFrame_'+$time());iframe=new Element(iframe||'iframe',props);var onFrameLoad=function(){var host=$try(function(){return iframe.contentWindow.location.host;});if(host&&host==window.location.host){var win=new Window(iframe.contentWindow);var doc=new Document(iframe.contentWindow.document);$extend(win.Element.prototype,Element.Prototype);}
-onload.call(iframe.contentWindow,iframe.contentWindow.document);};(!window.frames[props.id])?iframe.addListener('load',onFrameLoad):onFrameLoad();return iframe;}});var Elements=new Native({initialize:function(elements,options){options=$extend({ddup:true,cash:true},options);elements=elements||[];if(options.ddup||options.cash){var uniques={},returned=[];for(var i=0,l=elements.length;i<l;i++){var el=$.element(elements[i],!options.cash);if(options.ddup){if(uniques[el.uid])continue;uniques[el.uid]=true;}
-returned.push(el);}
-elements=returned;}
-return(options.cash)?$extend(elements,this):elements;}});Elements.implement({filter:function(filter,bind){if(!filter)return this;return new Elements(Array.filter(this,(typeof filter=='string')?function(item){return item.match(filter);}:filter,bind));}});Elements.multi=function(property){return function(){var items=[];var elements=true;for(var i=0,j=this.length;i<j;i++){var returns=this[i][property].apply(this[i],arguments);items.push(returns);if(elements)elements=($type(returns)=='element');}
-return(elements)?new Elements(items):items;};};Window.implement({$:function(el,nocash){if(el&&el.$family&&el.uid)return el;var type=$type(el);return($[type])?$[type](el,nocash,this.document):null;},$$:function(selector){if(arguments.length==1&&typeof selector=='string')return this.document.getElements(selector);var elements=[];var args=Array.flatten(arguments);for(var i=0,l=args.length;i<l;i++){var item=args[i];switch($type(item)){case'element':item=[item];break;case'string':item=this.document.getElements(item,true);break;default:item=false;}
-if(item)elements.extend(item);}
-return new Elements(elements);},getDocument:function(){return this.document;},getWindow:function(){return this;}});$.string=function(id,nocash,doc){id=doc.getElementById(id);return(id)?$.element(id,nocash):null;};$.element=function(el,nocash){$uid(el);if(!nocash&&!el.$family&&!(/^object|embed$/i).test(el.tagName)){var proto=Element.Prototype;for(var p in proto)el[p]=proto[p];};return el;};$.object=function(obj,nocash,doc){if(obj.toElement)return $.element(obj.toElement(doc),nocash);return null;};$.textnode=$.whitespace=$.window=$.document=$arguments(0);Native.implement([Element,Document],{getElement:function(selector,nocash){return $(this.getElements(selector,true)[0]||null,nocash);},getElements:function(tags,nocash){tags=tags.split(',');var elements=[];var ddup=(tags.length>1);tags.each(function(tag){var partial=this.getElementsByTagName(tag.trim());(ddup)?elements.extend(partial):elements=partial;},this);return new Elements(elements,{ddup:ddup,cash:!nocash});}});Element.Storage={get:function(uid){return(this[uid]||(this[uid]={}));}};Element.Inserters=new Hash({before:function(context,element){if(element.parentNode)element.parentNode.insertBefore(context,element);},after:function(context,element){if(!element.parentNode)return;var next=element.nextSibling;(next)?element.parentNode.insertBefore(context,next):element.parentNode.appendChild(context);},bottom:function(context,element){element.appendChild(context);},top:function(context,element){var first=element.firstChild;(first)?element.insertBefore(context,first):element.appendChild(context);}});Element.Inserters.inside=Element.Inserters.bottom;Element.Inserters.each(function(value,key){var Key=key.capitalize();Element.implement('inject'+Key,function(el){value(this,$(el,true));return this;});Element.implement('grab'+Key,function(el){value($(el,true),this);return this;});});Element.implement({getDocument:function(){return this.ownerDocument;},getWindow:function(){return this.ownerDocument.getWindow();},getElementById:function(id,nocash){var el=this.ownerDocument.getElementById(id);if(!el)return null;for(var parent=el.parentNode;parent!=this;parent=parent.parentNode){if(!parent)return null;}
-return $.element(el,nocash);},set:function(prop,value){switch($type(prop)){case'object':for(var p in prop)this.set(p,prop[p]);break;case'string':var property=Element.Properties.get(prop);(property&&property.set)?property.set.apply(this,Array.slice(arguments,1)):this.setProperty(prop,value);}
-return this;},get:function(prop){var property=Element.Properties.get(prop);return(property&&property.get)?property.get.apply(this,Array.slice(arguments,1)):this.getProperty(prop);},erase:function(prop){var property=Element.Properties.get(prop);(property&&property.erase)?property.erase.apply(this,Array.slice(arguments,1)):this.removeProperty(prop);return this;},match:function(tag){return(!tag||Element.get(this,'tag')==tag);},inject:function(el,where){Element.Inserters.get(where||'bottom')(this,$(el,true));return this;},wraps:function(el,where){el=$(el,true);return this.replaces(el).grab(el,where);},grab:function(el,where){Element.Inserters.get(where||'bottom')($(el,true),this);return this;},appendText:function(text,where){return this.grab(this.getDocument().newTextNode(text),where);},adopt:function(){Array.flatten(arguments).each(function(element){element=$(element,true);if(element)this.appendChild(element);},this);return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},clone:function(contents,keepid){switch($type(this)){case'element':var attributes={};for(var j=0,l=this.attributes.length;j<l;j++){var attribute=this.attributes[j],key=attribute.nodeName.toLowerCase();if(Browser.Engine.trident&&(/input/i).test(this.tagName)&&(/width|height/).test(key))continue;var value=(key=='style'&&this.style)?this.style.cssText:attribute.nodeValue;if(!$chk(value)||key=='uid'||(key=='id'&&!keepid))continue;if(value!='inherit'&&['string','number'].contains($type(value)))attributes[key]=value;}
-var element=new Element(this.nodeName.toLowerCase(),attributes);if(contents!==false){for(var i=0,k=this.childNodes.length;i<k;i++){var child=Element.clone(this.childNodes[i],true,keepid);if(child)element.grab(child);}}
-return element;case'textnode':return document.newTextNode(this.nodeValue);}
-return null;},replaces:function(el){el=$(el,true);el.parentNode.replaceChild(this,el);return this;},hasClass:function(className){return this.className.contains(className,' ');},addClass:function(className){if(!this.hasClass(className))this.className=(this.className+' '+className).clean();return this;},removeClass:function(className){this.className=this.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1').clean();return this;},toggleClass:function(className){return this.hasClass(className)?this.removeClass(className):this.addClass(className);},getComputedStyle:function(property){if(this.currentStyle)return this.currentStyle[property.camelCase()];var computed=this.getWindow().getComputedStyle(this,null);return(computed)?computed.getPropertyValue([property.hyphenate()]):null;},empty:function(){$A(this.childNodes).each(function(node){Browser.freeMem(node);Element.empty(node);Element.dispose(node);},this);return this;},destroy:function(){Browser.freeMem(this.empty().dispose());return null;},getSelected:function(){return new Elements($A(this.options).filter(function(option){return option.selected;}));},toQueryString:function(){var queryString=[];this.getElements('input, select, textarea').each(function(el){if(!el.name||el.disabled)return;var value=(el.tagName.toLowerCase()=='select')?Element.getSelected(el).map(function(opt){return opt.value;}):((el.type=='radio'||el.type=='checkbox')&&!el.checked)?null:el.value;$splat(value).each(function(val){if(val)queryString.push(el.name+'='+encodeURIComponent(val));});});return queryString.join('&');},getProperty:function(attribute){var EA=Element.Attributes,key=EA.Props[attribute];var value=(key)?this[key]:this.getAttribute(attribute,2);return(EA.Bools[attribute])?!!value:(key)?value:value||null;},getProperties:function(){var args=$A(arguments);return args.map(function(attr){return this.getProperty(attr);},this).associate(args);},setProperty:function(attribute,value){var EA=Element.Attributes,key=EA.Props[attribute],hasValue=$defined(value);if(key&&EA.Bools[attribute])value=(value||!hasValue)?true:false;else if(!hasValue)return this.removeProperty(attribute);(key)?this[key]=value:this.setAttribute(attribute,value);return this;},setProperties:function(attributes){for(var attribute in attributes)this.setProperty(attribute,attributes[attribute]);return this;},removeProperty:function(attribute){var EA=Element.Attributes,key=EA.Props[attribute],isBool=(key&&EA.Bools[attribute]);(key)?this[key]=(isBool)?false:'':this.removeAttribute(attribute);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;}});(function(){var walk=function(element,walk,start,match,all,nocash){var el=element[start||walk];var elements=[];while(el){if(el.nodeType==1&&(!match||Element.match(el,match))){elements.push(el);if(!all)break;}
-el=el[walk];}
-return(all)?new Elements(elements,{ddup:false,cash:!nocash}):$(elements[0],nocash);};Element.implement({getPrevious:function(match,nocash){return walk(this,'previousSibling',null,match,false,nocash);},getAllPrevious:function(match,nocash){return walk(this,'previousSibling',null,match,true,nocash);},getNext:function(match,nocash){return walk(this,'nextSibling',null,match,false,nocash);},getAllNext:function(match,nocash){return walk(this,'nextSibling',null,match,true,nocash);},getFirst:function(match,nocash){return walk(this,'nextSibling','firstChild',match,false,nocash);},getLast:function(match,nocash){return walk(this,'previousSibling','lastChild',match,false,nocash);},getParent:function(match,nocash){return walk(this,'parentNode',null,match,false,nocash);},getParents:function(match,nocash){return walk(this,'parentNode',null,match,true,nocash);},getChildren:function(match,nocash){return walk(this,'nextSibling','firstChild',match,true,nocash);},hasChild:function(el){el=$(el,true);return(!!el&&$A(this.getElementsByTagName(el.tagName)).contains(el));}});})();Element.Properties=new Hash;Element.Properties.style={set:function(style){this.style.cssText=style;},get:function(){return this.style.cssText;},erase:function(){this.style.cssText='';}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();}};Element.Properties.href={get:function(){return(!this.href)?null:this.href.replace(new RegExp('^'+document.location.protocol+'\/\/'+document.location.host),'');}};Element.Properties.html={set:function(){return this.innerHTML=Array.flatten(arguments).join('');}};Native.implement([Element,Window,Document],{addListener:function(type,fn){if(this.addEventListener)this.addEventListener(type,fn,false);else this.attachEvent('on'+type,fn);return this;},removeListener:function(type,fn){if(this.removeEventListener)this.removeEventListener(type,fn,false);else this.detachEvent('on'+type,fn);return this;},retrieve:function(property,dflt){var storage=Element.Storage.get(this.uid);var prop=storage[property];if($defined(dflt)&&!$defined(prop))prop=storage[property]=dflt;return $pick(prop);},store:function(property,value){var storage=Element.Storage.get(this.uid);storage[property]=value;return this;},eliminate:function(property){var storage=Element.Storage.get(this.uid);delete storage[property];return this;}});Element.Attributes=new Hash({Props:{'html':'innerHTML','class':'className','for':'htmlFor','text':(Browser.Engine.trident)?'innerText':'textContent'},Bools:['compact','nowrap','ismap','declare','noshade','checked','disabled','readonly','multiple','selected','noresize','defer'],Camels:['value','accessKey','cellPadding','cellSpacing','colSpan','frameBorder','maxLength','readOnly','rowSpan','tabIndex','useMap']});Browser.freeMem=function(item){if(!item)return;if(Browser.Engine.trident&&(/object/i).test(item.tagName)){for(var p in item){if(typeof item[p]=='function')item[p]=$empty;}
-Element.dispose(item);}
-if(item.uid&&item.removeEvents)item.removeEvents();};(function(EA){var EAB=EA.Bools,EAC=EA.Camels;EA.Bools=EAB=EAB.associate(EAB);Hash.extend(Hash.combine(EA.Props,EAB),EAC.associate(EAC.map(function(v){return v.toLowerCase();})));EA.erase('Camels');})(Element.Attributes);window.addListener('unload',function(){window.removeListener('unload',arguments.callee);document.purge();if(Browser.Engine.trident)CollectGarbage();});Element.Properties.events={set:function(events){this.addEvents(events);}};Native.implement([Element,Window,Document],{addEvent:function(type,fn){var events=this.retrieve('events',{});events[type]=events[type]||{'keys':[],'values':[]};if(events[type].keys.contains(fn))return this;events[type].keys.push(fn);var realType=type,custom=Element.Events.get(type),condition=fn,self=this;if(custom){if(custom.onAdd)custom.onAdd.call(this,fn);if(custom.condition){condition=function(event){if(custom.condition.call(this,event))return fn.call(this,event);return false;};}
-realType=custom.base||realType;}
-var defn=function(){return fn.call(self);};var nativeEvent=Element.NativeEvents[realType]||0;if(nativeEvent){if(nativeEvent==2){defn=function(event){event=new Event(event,self.getWindow());if(condition.call(self,event)===false)event.stop();};}
-this.addListener(realType,defn);}
-events[type].values.push(defn);return this;},removeEvent:function(type,fn){var events=this.retrieve('events');if(!events||!events[type])return this;var pos=events[type].keys.indexOf(fn);if(pos==-1)return this;var key=events[type].keys.splice(pos,1)[0];var value=events[type].values.splice(pos,1)[0];var custom=Element.Events.get(type);if(custom){if(custom.onRemove)custom.onRemove.call(this,fn);type=custom.base||type;}
-return(Element.NativeEvents[type])?this.removeListener(type,value):this;},addEvents:function(events){for(var event in events)this.addEvent(event,events[event]);return this;},removeEvents:function(type){var events=this.retrieve('events');if(!events)return this;if(!type){for(var evType in events)this.removeEvents(evType);events=null;}else if(events[type]){while(events[type].keys[0])this.removeEvent(type,events[type].keys[0]);events[type]=null;}
-return this;},fireEvent:function(type,args,delay){var events=this.retrieve('events');if(!events||!events[type])return this;events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},cloneEvents:function(from,type){from=$(from);var fevents=from.retrieve('events');if(!fevents)return this;if(!type){for(var evType in fevents)this.cloneEvents(from,evType);}else if(fevents[type]){fevents[type].keys.each(function(fn){this.addEvent(type,fn);},this);}
-return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};(function(){var $check=function(event){var related=event.relatedTarget;if(related==undefined)return true;if(related===false)return false;return($type(this)!='document'&&related!=this&&related.prefix!='xul'&&!this.hasChild(related));};Element.Events=new Hash({mouseenter:{base:'mouseover',condition:$check},mouseleave:{base:'mouseout',condition:$check},mousewheel:{base:(Browser.Engine.gecko)?'DOMMouseScroll':'mousewheel'}});})();Element.Properties.styles={set:function(styles){this.setStyles(styles);}};Element.Properties.opacity={set:function(opacity,novisibility){if(!novisibility){if(opacity==0){if(this.style.visibility!='hidden')this.style.visibility='hidden';}else{if(this.style.visibility!='visible')this.style.visibility='visible';}}
-if(!this.currentStyle||!this.currentStyle.hasLayout)this.style.zoom=1;if(Browser.Engine.trident)this.style.filter=(opacity==1)?'':'alpha(opacity='+opacity*100+')';this.style.opacity=opacity;this.store('opacity',opacity);},get:function(){return this.retrieve('opacity',1);}};Element.implement({setOpacity:function(value){return this.set('opacity',value,true);},getOpacity:function(){return this.get('opacity');},setStyle:function(property,value){switch(property){case'opacity':return this.set('opacity',parseFloat(value));case'float':property=(Browser.Engine.trident)?'styleFloat':'cssFloat';}
-property=property.camelCase();if($type(value)!='string'){var map=(Element.Styles.get(property)||'@').split(' ');value=$splat(value).map(function(val,i){if(!map[i])return'';return($type(val)=='number')?map[i].replace('@',Math.round(val)):val;}).join(' ');}else if(value==String(Number(value))){value=Math.round(value);}
-this.style[property]=value;return this;},getStyle:function(property){switch(property){case'opacity':return this.get('opacity');case'float':property=(Browser.Engine.trident)?'styleFloat':'cssFloat';}
-property=property.camelCase();var result=this.style[property];if(!$chk(result)){result=[];for(var style in Element.ShortStyles){if(property!=style)continue;for(var s in Element.ShortStyles[style])result.push(this.getStyle(s));return result.join(' ');}
-result=this.getComputedStyle(property);}
-if(result){result=String(result);var color=result.match(/rgba?\([\d\s,]+\)/);if(color)result=result.replace(color[0],color[0].rgbToHex());}
-if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(result)))){if(property.test(/^(height|width)$/)){var values=(property=='width')?['left','right']:['top','bottom'],size=0;values.each(function(value){size+=this.getStyle('border-'+value+'-width').toInt()+this.getStyle('padding-'+value).toInt();},this);return this['offset'+property.capitalize()]-size+'px';}
-if(Browser.Engine.presto&&String(result).test('px'))return result;if(property.test(/(border(.+)Width|margin|padding)/))return'0px';}
-return result;},setStyles:function(styles){for(var style in styles)this.setStyle(style,styles[style]);return this;},getStyles:function(){var result={};Array.each(arguments,function(key){result[key]=this.getStyle(key);},this);return result;}});Element.Styles=new Hash({left:'@px',top:'@px',bottom:'@px',right:'@px',width:'@px',height:'@px',maxWidth:'@px',maxHeight:'@px',minWidth:'@px',minHeight:'@px',backgroundColor:'rgb(@, @, @)',backgroundPosition:'@px @px',color:'rgb(@, @, @)',fontSize:'@px',letterSpacing:'@px',lineHeight:'@px',clip:'rect(@px @px @px @px)',margin:'@px @px @px @px',padding:'@px @px @px @px',border:'@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)',borderWidth:'@px @px @px @px',borderStyle:'@ @ @ @',borderColor:'rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)',zIndex:'@','zoom':'@',fontWeight:'@',textIndent:'@px',opacity:'@'});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};['Top','Right','Bottom','Left'].each(function(direction){var Short=Element.ShortStyles;var All=Element.Styles;['margin','padding'].each(function(style){var sd=style+direction;Short[style][sd]=All[sd]='@px';});var bd='border'+direction;Short.border[bd]=All[bd]='@px @ rgb(@, @, @)';var bdw=bd+'Width',bds=bd+'Style',bdc=bd+'Color';Short[bd]={};Short.borderWidth[bdw]=Short[bd][bdw]=All[bdw]='@px';Short.borderStyle[bds]=Short[bd][bds]=All[bds]='@';Short.borderColor[bdc]=Short[bd][bdc]=All[bdc]='rgb(@, @, @)';});(function(){Element.implement({scrollTo:function(x,y){if(isBody(this)){this.getWindow().scrollTo(x,y);}else{this.scrollLeft=x;this.scrollTop=y;}
-return this;},getSize:function(){if(isBody(this))return this.getWindow().getSize();return{x:this.offsetWidth,y:this.offsetHeight};},getScrollSize:function(){if(isBody(this))return this.getWindow().getScrollSize();return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(isBody(this))return this.getWindow().getScroll();return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var element=this,position={x:0,y:0};while(element&&!isBody(element)){position.x+=element.scrollLeft;position.y+=element.scrollTop;element=element.parentNode;}
-return position;},getOffsetParent:function(){var element=this;if(isBody(element))return null;if(!Browser.Engine.trident)return element.offsetParent;while((element=element.parentNode)&&!isBody(element)){if(styleString(element,'position')!='static')return element;}
-return null;},getOffsets:function(){var element=this,position={x:0,y:0};if(isBody(this))return position;while(element&&!isBody(element)){position.x+=element.offsetLeft;position.y+=element.offsetTop;if(Browser.Engine.gecko){if(!borderBox(element)){position.x+=leftBorder(element);position.y+=topBorder(element);}
-var parent=element.parentNode;if(parent&&styleString(parent,'overflow')!='visible'){position.x+=leftBorder(parent);position.y+=topBorder(parent);}}else if(element!=this&&(Browser.Engine.trident||Browser.Engine.webkit)){position.x+=leftBorder(element);position.y+=topBorder(element);}
-element=element.offsetParent;if(Browser.Engine.trident){while(element&&!element.currentStyle.hasLayout)element=element.offsetParent;}}
-if(Browser.Engine.gecko&&!borderBox(this)){position.x-=leftBorder(this);position.y-=topBorder(this);}
-return position;},getPosition:function(relative){if(isBody(this))return{x:0,y:0};var offset=this.getOffsets(),scroll=this.getScrolls();var position={x:offset.x-scroll.x,y:offset.y-scroll.y};var relativePosition=(relative&&(relative=$(relative)))?relative.getPosition():{x:0,y:0};return{x:position.x-relativePosition.x,y:position.y-relativePosition.y};},getCoordinates:function(element){if(isBody(this))return this.getWindow().getCoordinates();var position=this.getPosition(element),size=this.getSize();var obj={left:position.x,top:position.y,width:size.x,height:size.y};obj.right=obj.left+obj.width;obj.bottom=obj.top+obj.height;return obj;},computePosition:function(obj){return{left:obj.x-styleNumber(this,'margin-left'),top:obj.y-styleNumber(this,'margin-top')};},position:function(obj){return this.setStyles(this.computePosition(obj));}});Native.implement([Document,Window],{getSize:function(){var win=this.getWindow();if(Browser.Engine.presto||Browser.Engine.webkit)return{x:win.innerWidth,y:win.innerHeight};var doc=getCompatElement(this);return{x:doc.clientWidth,y:doc.clientHeight};},getScroll:function(){var win=this.getWindow();var doc=getCompatElement(this);return{x:win.pageXOffset||doc.scrollLeft,y:win.pageYOffset||doc.scrollTop};},getScrollSize:function(){var doc=getCompatElement(this);var min=this.getSize();return{x:Math.max(doc.scrollWidth,min.x),y:Math.max(doc.scrollHeight,min.y)};},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var size=this.getSize();return{top:0,left:0,bottom:size.y,right:size.x,height:size.y,width:size.x};}});var styleString=Element.getComputedStyle;function styleNumber(element,style){return styleString(element,style).toInt()||0;};function borderBox(element){return styleString(element,'-moz-box-sizing')=='border-box';};function topBorder(element){return styleNumber(element,'border-top-width');};function leftBorder(element){return styleNumber(element,'border-left-width');};function isBody(element){return(/^(?:body|html)$/i).test(element.tagName);};function getCompatElement(element){var doc=element.getDocument();return(!doc.compatMode||doc.compatMode=='CSS1Compat')?doc.html:doc.body;};})();Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y;},getWidth:function(){return this.getSize().x;},getScrollTop:function(){return this.getScroll().y;},getScrollLeft:function(){return this.getScroll().x;},getScrollHeight:function(){return this.getScrollSize().y;},getScrollWidth:function(){return this.getScrollSize().x;},getTop:function(){return this.getPosition().y;},getLeft:function(){return this.getPosition().x;}});Native.implement([Document,Element],{getElements:function(expression,nocash){expression=expression.split(',');var items,local={};for(var i=0,l=expression.length;i<l;i++){var selector=expression[i],elements=Selectors.Utils.search(this,selector,local);if(i!=0&&elements.item)elements=$A(elements);items=(i==0)?elements:(items.item)?$A(items).concat(elements):items.concat(elements);}
-return new Elements(items,{ddup:(expression.length>1),cash:!nocash});}});Element.implement({match:function(selector){if(!selector)return true;var tagid=Selectors.Utils.parseTagAndID(selector);var tag=tagid[0],id=tagid[1];if(!Selectors.Filters.byID(this,id)||!Selectors.Filters.byTag(this,tag))return false;var parsed=Selectors.Utils.parseSelector(selector);return(parsed)?Selectors.Utils.filter(this,parsed,{}):true;}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};Selectors.Utils={chk:function(item,uniques){if(!uniques)return true;var uid=$uid(item);if(!uniques[uid])return uniques[uid]=true;return false;},parseNthArgument:function(argument){if(Selectors.Cache.nth[argument])return Selectors.Cache.nth[argument];var parsed=argument.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!parsed)return false;var inta=parseInt(parsed[1]);var a=(inta||inta===0)?inta:1;var special=parsed[2]||false;var b=parseInt(parsed[3])||0;if(a!=0){b--;while(b<1)b+=a;while(b>=a)b-=a;}else{a=b;special='index';}
-switch(special){case'n':parsed={a:a,b:b,special:'n'};break;case'odd':parsed={a:2,b:0,special:'n'};break;case'even':parsed={a:2,b:1,special:'n'};break;case'first':parsed={a:0,special:'index'};break;case'last':parsed={special:'last-child'};break;case'only':parsed={special:'only-child'};break;default:parsed={a:(a-1),special:'index'};}
-return Selectors.Cache.nth[argument]=parsed;},parseSelector:function(selector){if(Selectors.Cache.parsed[selector])return Selectors.Cache.parsed[selector];var m,parsed={classes:[],pseudos:[],attributes:[]};while((m=Selectors.RegExps.combined.exec(selector))){var cn=m[1],an=m[2],ao=m[3],av=m[4],pn=m[5],pa=m[6];if(cn){parsed.classes.push(cn);}else if(pn){var parser=Selectors.Pseudo.get(pn);if(parser)parsed.pseudos.push({parser:parser,argument:pa});else parsed.attributes.push({name:pn,operator:'=',value:pa});}else if(an){parsed.attributes.push({name:an,operator:ao,value:av});}}
-if(!parsed.classes.length)delete parsed.classes;if(!parsed.attributes.length)delete parsed.attributes;if(!parsed.pseudos.length)delete parsed.pseudos;if(!parsed.classes&&!parsed.attributes&&!parsed.pseudos)parsed=null;return Selectors.Cache.parsed[selector]=parsed;},parseTagAndID:function(selector){var tag=selector.match(Selectors.RegExps.tag);var id=selector.match(Selectors.RegExps.id);return[(tag)?tag[1]:'*',(id)?id[1]:false];},filter:function(item,parsed,local){var i;if(parsed.classes){for(i=parsed.classes.length;i--;i){var cn=parsed.classes[i];if(!Selectors.Filters.byClass(item,cn))return false;}}
-if(parsed.attributes){for(i=parsed.attributes.length;i--;i){var att=parsed.attributes[i];if(!Selectors.Filters.byAttribute(item,att.name,att.operator,att.value))return false;}}
-if(parsed.pseudos){for(i=parsed.pseudos.length;i--;i){var psd=parsed.pseudos[i];if(!Selectors.Filters.byPseudo(item,psd.parser,psd.argument,local))return false;}}
-return true;},getByTagAndID:function(ctx,tag,id){if(id){var item=(ctx.getElementById)?ctx.getElementById(id,true):Element.getElementById(ctx,id,true);return(item&&Selectors.Filters.byTag(item,tag))?[item]:[];}else{return ctx.getElementsByTagName(tag);}},search:function(self,expression,local){var splitters=[];var selectors=expression.trim().replace(Selectors.RegExps.splitter,function(m0,m1,m2){splitters.push(m1);return':)'+m2;}).split(':)');var items,match,filtered,item;for(var i=0,l=selectors.length;i<l;i++){var selector=selectors[i];if(i==0&&Selectors.RegExps.quick.test(selector)){items=self.getElementsByTagName(selector);continue;}
-var splitter=splitters[i-1];var tagid=Selectors.Utils.parseTagAndID(selector);var tag=tagid[0],id=tagid[1];if(i==0){items=Selectors.Utils.getByTagAndID(self,tag,id);}else{var uniques={},found=[];for(var j=0,k=items.length;j<k;j++)found=Selectors.Getters[splitter](found,items[j],tag,id,uniques);items=found;}
-var parsed=Selectors.Utils.parseSelector(selector);if(parsed){filtered=[];for(var m=0,n=items.length;m<n;m++){item=items[m];if(Selectors.Utils.filter(item,parsed,local))filtered.push(item);}
-items=filtered;}}
-return items;}};Selectors.Getters={' ':function(found,self,tag,id,uniques){var items=Selectors.Utils.getByTagAndID(self,tag,id);for(var i=0,l=items.length;i<l;i++){var item=items[i];if(Selectors.Utils.chk(item,uniques))found.push(item);}
-return found;},'>':function(found,self,tag,id,uniques){var children=Selectors.Utils.getByTagAndID(self,tag,id);for(var i=0,l=children.length;i<l;i++){var child=children[i];if(child.parentNode==self&&Selectors.Utils.chk(child,uniques))found.push(child);}
-return found;},'+':function(found,self,tag,id,uniques){while((self=self.nextSibling)){if(self.nodeType==1){if(Selectors.Utils.chk(self,uniques)&&Selectors.Filters.byTag(self,tag)&&Selectors.Filters.byID(self,id))found.push(self);break;}}
-return found;},'~':function(found,self,tag,id,uniques){while((self=self.nextSibling)){if(self.nodeType==1){if(!Selectors.Utils.chk(self,uniques))break;if(Selectors.Filters.byTag(self,tag)&&Selectors.Filters.byID(self,id))found.push(self);}}
-return found;}};Selectors.Filters={byTag:function(self,tag){return(tag=='*'||(self.tagName&&self.tagName.toLowerCase()==tag));},byID:function(self,id){return(!id||(self.id&&self.id==id));},byClass:function(self,klass){return(self.className&&self.className.contains(klass,' '));},byPseudo:function(self,parser,argument,local){return parser.call(self,argument,local);},byAttribute:function(self,name,operator,value){var result=Element.prototype.getProperty.call(self,name);if(!result)return false;if(!operator||value==undefined)return true;switch(operator){case'=':return(result==value);case'*=':return(result.contains(value));case'^=':return(result.substr(0,value.length)==value);case'$=':return(result.substr(result.length-value.length)==value);case'!=':return(result!=value);case'~=':return result.contains(value,' ');case'|=':return result.contains(value,'-');}
-return false;}};Selectors.Pseudo=new Hash({empty:function(){return!(this.innerText||this.textContent||'').length;},not:function(selector){return!Element.match(this,selector);},contains:function(text){return(this.innerText||this.textContent||'').contains(text);},'first-child':function(){return Selectors.Pseudo.index.call(this,0);},'last-child':function(){var element=this;while((element=element.nextSibling)){if(element.nodeType==1)return false;}
-return true;},'only-child':function(){var prev=this;while((prev=prev.previousSibling)){if(prev.nodeType==1)return false;}
-var next=this;while((next=next.nextSibling)){if(next.nodeType==1)return false;}
-return true;},'nth-child':function(argument,local){argument=(argument==undefined)?'n':argument;var parsed=Selectors.Utils.parseNthArgument(argument);if(parsed.special!='n')return Selectors.Pseudo[parsed.special].call(this,parsed.a,local);var count=0;local.positions=local.positions||{};var uid=$uid(this);if(!local.positions[uid]){var self=this;while((self=self.previousSibling)){if(self.nodeType!=1)continue;count++;var position=local.positions[$uid(self)];if(position!=undefined){count=position+count;break;}}
-local.positions[uid]=count;}
-return(local.positions[uid]%parsed.a==parsed.b);},index:function(index){var element=this,count=0;while((element=element.previousSibling)){if(element.nodeType==1&&++count>index)return false;}
-return(count==index);},even:function(argument,local){return Selectors.Pseudo['nth-child'].call(this,'2n+1',local);},odd:function(argument,local){return Selectors.Pseudo['nth-child'].call(this,'2n',local);}});Element.Events.domready={onAdd:function(fn){if(Browser.loaded)fn.call(this);}};(function(){var domready=function(){if(Browser.loaded)return;Browser.loaded=true;window.fireEvent('domready');document.fireEvent('domready');};switch(Browser.Engine.name){case'webkit':(function(){(['loaded','complete'].contains(document.readyState))?domready():arguments.callee.delay(50);})();break;case'trident':var temp=document.createElement('div');(function(){($try(function(){temp.doScroll('left');return $(temp).inject(document.body).set('html','temp').dispose();}))?domready():arguments.callee.delay(50);})();break;default:window.addEvent('load',domready);document.addEvent('DOMContentLoaded',domready);}})();var JSON=new Hash({encode:function(obj){switch($type(obj)){case'string':return'"'+obj.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case'array':return'['+String(obj.map(JSON.encode).filter($defined))+']';case'object':case'hash':var string=[];Hash.each(obj,function(value,key){var json=JSON.encode(value);if(json)string.push(JSON.encode(key)+':'+json);});return'{'+string+'}';case'number':case'boolean':return String(obj);case false:return'null';}
-return null;},$specialChars:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},$replaceChars:function(chr){return JSON.$specialChars[chr]||'\\u00'+Math.floor(chr.charCodeAt()/16).toString(16)+(chr.charCodeAt()%16).toString(16);},decode:function(string,secure){if($type(string)!='string'||!string.length)return null;if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'')))return null;return eval('('+string+')');}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(key,options){this.key=key;this.setOptions(options);},write:function(value){value=encodeURIComponent(value);if(this.options.domain)value+='; domain='+this.options.domain;if(this.options.path)value+='; path='+this.options.path;if(this.options.duration){var date=new Date();date.setTime(date.getTime()+this.options.duration*24*60*60*1000);value+='; expires='+date.toGMTString();}
-if(this.options.secure)value+='; secure';this.options.document.cookie=this.key+'='+value;return this;},read:function(){var value=this.options.document.cookie.match('(?:^|;)\\s*'+this.key.escapeRegExp()+'=([^;]*)');return(value)?decodeURIComponent(value[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write('');return this;}});Cookie.write=function(key,value,options){return new Cookie(key,options).write(value);};Cookie.read=function(key){return new Cookie(key).read();};Cookie.dispose=function(key,options){return new Cookie(key,options).dispose();};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:'high',allowScriptAccess:'always',wMode:'transparent',swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;},initialize:function(path,options){this.instance='Swiff_'+$time();this.setOptions(options);options=this.options;var id=this.id=options.id||this.instance;var container=$(options.container);Swiff.CallBacks[this.instance]={};var params=options.params,vars=options.vars,callBacks=options.callBacks;var properties=$extend({height:options.height,width:options.width},options.properties);var self=this;for(var callBack in callBacks){Swiff.CallBacks[this.instance][callBack]=(function(option){return function(){return option.apply(self.object,arguments);};})(callBacks[callBack]);vars[callBack]='Swiff.CallBacks.'+this.instance+'.'+callBack;}
-params.flashVars=Hash.toQueryString(vars);if(Browser.Engine.trident){properties.classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';params.movie=path;}else{properties.type='application/x-shockwave-flash';properties.data=path;}
-var build='<object id="'+id+'"';for(var property in properties)build+=' '+property+'="'+properties[property]+'"';build+='>';for(var param in params){if(params[param])build+='<param name="'+param+'" value="'+params[param]+'" />';}
-build+='</object>';this.object=((container)?container.empty():new Element('div')).set('html',build).firstChild;},replaces:function(element){element=$(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){$(element,true).appendChild(this.toElement());return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+'</invoke>');return eval(rs);};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:'ignore',transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;}},initialize:function(options){this.subject=this.subject||this;this.setOptions(options);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var wait=this.options.wait;if(wait===false)this.options.link='cancel';},step:function(){var time=$time();if(time<this.time+this.options.duration){var delta=this.options.transition((time-this.time)/this.options.duration);this.set(this.compute(this.from,this.to,delta));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(now){return now;},compute:function(from,to,delta){return Fx.compute(from,to,delta);},check:function(caller){if(!this.timer)return true;switch(this.options.link){case'cancel':this.cancel();return true;case'chain':this.chain(caller.bind(this,Array.slice(arguments,1)));return false;}
-return false;},start:function(from,to){if(!this.check(arguments.callee,from,to))return this;this.from=from;this.to=to;this.time=0;this.startTimer();this.onStart();return this;},complete:function(){if(this.stopTimer())this.onComplete();return this;},cancel:function(){if(this.stopTimer())this.onCancel();return this;},onStart:function(){this.fireEvent('start',this.subject);},onComplete:function(){this.fireEvent('complete',this.subject);if(!this.callChain())this.fireEvent('chainComplete',this.subject);},onCancel:function(){this.fireEvent('cancel',this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();return this;},stopTimer:function(){if(!this.timer)return false;this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer)return false;this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(from,to,delta){return(to-from)*delta+from;};Fx.Durations={'short':250,'normal':500,'long':1000};Fx.CSS=new Class({Extends:Fx,prepare:function(element,property,values){values=$splat(values);var values1=values[1];if(!$chk(values1)){values[1]=values[0];values[0]=element.getStyle(property);}
-var parsed=values.map(this.parse);return{from:parsed[0],to:parsed[1]};},parse:function(value){value=$lambda(value)();value=(typeof value=='string')?value.split(' '):$splat(value);return value.map(function(val){val=String(val);var found=false;Fx.CSS.Parsers.each(function(parser,key){if(found)return;var parsed=parser.parse(val);if($chk(parsed))found={value:parsed,parser:parser};});found=found||{value:val,parser:Fx.CSS.Parsers.String};return found;});},compute:function(from,to,delta){var computed=[];(Math.min(from.length,to.length)).times(function(i){computed.push({value:from[i].parser.compute(from[i].value,to[i].value,delta),parser:from[i].parser});});computed.$family={name:'fx:css:value'};return computed;},serve:function(value,unit){if($type(value)!='fx:css:value')value=this.parse(value);var returned=[];value.each(function(bit){returned=returned.concat(bit.parser.serve(bit.value,unit));});return returned;},render:function(element,property,value,unit){element.setStyle(property,this.serve(value,unit));},search:function(selector){if(Fx.CSS.Cache[selector])return Fx.CSS.Cache[selector];var to={};Array.each(document.styleSheets,function(sheet,j){var href=sheet.href;if(href&&href.contains('://')&&!href.contains(document.domain))return;var rules=sheet.rules||sheet.cssRules;Array.each(rules,function(rule,i){if(!rule.style)return;var selectorText=(rule.selectorText)?rule.selectorText.replace(/^\w+/,function(m){return m.toLowerCase();}):null;if(!selectorText||!selectorText.test('^'+selector+'$'))return;Element.Styles.each(function(value,style){if(!rule.style[style]||Element.ShortStyles[style])return;value=String(rule.style[style]);to[style]=(value.test(/^rgb/))?value.rgbToHex():value;});});});return Fx.CSS.Cache[selector]=to;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(value){if(value.match(/^#[0-9a-f]{3,6}$/i))return value.hexToRgb(true);return((value=value.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[value[1],value[2],value[3]]:false;},compute:function(from,to,delta){return from.map(function(value,i){return Math.round(Fx.compute(from[i],to[i],delta));});},serve:function(value){return value.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(value,unit){return(unit)?value+unit:value;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(element,options){this.element=this.subject=$(element);this.parent(options);},set:function(property,now){if(arguments.length==1){now=property;property=this.property||this.options.property;}
-this.render(this.element,property,now,this.options.unit);return this;},start:function(property,from,to){if(!this.check(arguments.callee,property,from,to))return this;var args=Array.flatten(arguments);this.property=this.options.property||args.shift();var parsed=this.prepare(this.element,this.property,args);return this.parent(parsed.from,parsed.to);}});Element.Properties.tween={set:function(options){var tween=this.retrieve('tween');if(tween)tween.cancel();return this.eliminate('tween').store('tween:options',$extend({link:'cancel'},options));},get:function(options){if(options||!this.retrieve('tween')){if(options||!this.retrieve('tween:options'))this.set('tween',options);this.store('tween',new Fx.Tween(this,this.retrieve('tween:options')));}
-return this.retrieve('tween');}};Element.implement({tween:function(property,from,to){this.get('tween').start(arguments);return this;},fade:function(how){var fade=this.get('tween'),o='opacity',toggle;how=$pick(how,'toggle');switch(how){case'in':fade.start(o,1);break;case'out':fade.start(o,0);break;case'show':fade.set(o,1);break;case'hide':fade.set(o,0);break;case'toggle':var flag=this.retrieve('fade:flag',this.get('opacity')==1);fade.start(o,(flag)?0:1);this.store('fade:flag',!flag);toggle=true;break;default:fade.start(o,arguments);}
-if(!toggle)this.eliminate('fade:flag');return this;},highlight:function(start,end){if(!end){end=this.retrieve('highlight:original',this.getStyle('background-color'));end=(end=='transparent')?'#fff':end;}
-var tween=this.get('tween');tween.start('background-color',start||'#ffff88',end).chain(function(){this.setStyle('background-color',this.retrieve('highlight:original'));tween.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(element,options){this.element=this.subject=$(element);this.parent(options);},set:function(now){if(typeof now=='string')now=this.search(now);for(var p in now)this.render(this.element,p,now[p],this.options.unit);return this;},compute:function(from,to,delta){var now={};for(var p in from)now[p]=this.parent(from[p],to[p],delta);return now;},start:function(properties){if(!this.check(arguments.callee,properties))return this;if(typeof properties=='string')properties=this.search(properties);var from={},to={};for(var p in properties){var parsed=this.prepare(this.element,p,properties[p]);from[p]=parsed.from;to[p]=parsed.to;}
-return this.parent(from,to);}});Element.Properties.morph={set:function(options){var morph=this.retrieve('morph');if(morph)morph.cancel();return this.eliminate('morph').store('morph:options',$extend({link:'cancel'},options));},get:function(options){if(options||!this.retrieve('morph')){if(options||!this.retrieve('morph:options'))this.set('morph',options);this.store('morph',new Fx.Morph(this,this.retrieve('morph:options')));}
-return this.retrieve('morph');}};Element.implement({morph:function(props){this.get('morph').start(props);return this;}});(function(){var old=Fx.prototype.initialize;Fx.prototype.initialize=function(options){old.call(this,options);var trans=this.options.transition;if(typeof trans=='string'&&(trans=trans.split(':'))){var base=Fx.Transitions;base=base[trans[0]]||base[trans[0].capitalize()];if(trans[1])base=base['ease'+trans[1].capitalize()+(trans[2]?trans[2].capitalize():'')];this.options.transition=base;}};})();Fx.Transition=function(transition,params){params=$splat(params);return $extend(transition,{easeIn:function(pos){return transition(pos,params);},easeOut:function(pos){return 1-transition(1-pos,params);},easeInOut:function(pos){return(pos<=0.5)?transition(2*pos,params)/2:(2-transition(2*(1-pos),params))/2;}});};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(transitions){for(var transition in transitions)Fx.Transitions[transition]=new Fx.Transition(transitions[transition]);};Fx.Transitions.extend({Pow:function(p,x){return Math.pow(p,x[0]||6);},Expo:function(p){return Math.pow(2,8*(p-1));},Circ:function(p){return 1-Math.sin(Math.acos(p));},Sine:function(p){return 1-Math.sin((1-p)*Math.PI/2);},Back:function(p,x){x=x[0]||1.618;return Math.pow(p,2)*((x+1)*p-x);},Bounce:function(p){var value;for(var a=0,b=1;1;a+=b,b/=2){if(p>=(7-4*a)/11){value=-Math.pow((11-6*a-11*p)/4,2)+b*b;break;}}
-return value;},Elastic:function(p,x){return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3);}});['Quad','Cubic','Quart','Quint'].each(function(transition,i){Fx.Transitions[transition]=new Fx.Transition(function(p){return Math.pow(p,[i+2]);});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:'',data:'',headers:{'X-Requested-With':'XMLHttpRequest','Accept':'text/javascript, text/html, application/xml, text/xml, */*'},async:true,format:false,method:'post',link:'ignore',isSuccess:null,emulation:true,urlEncoded:true,encoding:'utf-8',evalScripts:false,evalResponse:false},initialize:function(options){this.xhr=new Browser.Request();this.setOptions(options);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running)return;this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}
-this.xhr.onreadystatechange=$empty;},isSuccess:function(){return((this.status>=200)&&(this.status<300));},processScripts:function(text){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader('Content-type')))return $exec(text);return text.stripScripts(this.options.evalScripts);},success:function(text,xml){this.onSuccess(this.processScripts(text),xml);},onSuccess:function(){this.fireEvent('complete',arguments).fireEvent('success',arguments).callChain();},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent('complete').fireEvent('failure',this.xhr);},setHeader:function(name,value){this.headers.set(name,value);return this;},getHeader:function(name){return $try(function(){return this.xhr.getResponseHeader(name);}.bind(this));},check:function(caller){if(!this.running)return true;switch(this.options.link){case'cancel':this.cancel();return true;case'chain':this.chain(caller.bind(this,Array.slice(arguments,1)));return false;}
-return false;},send:function(options){if(!this.check(arguments.callee,options))return this;this.running=true;var type=$type(options);if(type=='string'||type=='element')options={data:options};var old=this.options;options=$extend({data:old.data,url:old.url,method:old.method},options);var data=options.data,url=options.url,method=options.method;switch($type(data)){case'element':data=$(data).toQueryString();break;case'object':case'hash':data=Hash.toQueryString(data);}
-if(this.options.format){var format='format='+this.options.format;data=(data)?format+'&'+data:format;}
-if(this.options.emulation&&['put','delete'].contains(method)){var _method='_method='+method;data=(data)?_method+'&'+data:_method;method='post';}
-if(this.options.urlEncoded&&method=='post'){var encoding=(this.options.encoding)?'; charset='+this.options.encoding:'';this.headers.set('Content-type','application/x-www-form-urlencoded'+encoding);}
-if(data&&method=='get'){url=url+(url.contains('?')?'&':'?')+data;data=null;}
-this.xhr.open(method.toUpperCase(),url,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(value,key){if(!$try(function(){this.xhr.setRequestHeader(key,value);return true;}.bind(this)))this.fireEvent('exception',[key,value]);},this);this.fireEvent('request');this.xhr.send(data);if(!this.options.async)this.onStateChange();return this;},cancel:function(){if(!this.running)return this;this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent('cancel');return this;}});(function(){var methods={};['get','post','put','delete','GET','POST','PUT','DELETE'].each(function(method){methods[method]=function(){var params=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(params,{method:method.toLowerCase()}));};});Request.implement(methods);})();Element.Properties.send={set:function(options){var send=this.retrieve('send');if(send)send.cancel();return this.eliminate('send').store('send:options',$extend({data:this,link:'cancel',method:this.get('method')||'post',url:this.get('action')},options));},get:function(options){if(options||!this.retrieve('send')){if(options||!this.retrieve('send:options'))this.set('send',options);this.store('send',new Request(this.retrieve('send:options')));}
-return this.retrieve('send');}};Element.implement({send:function(url){var sender=this.get('send');sender.send({data:this,url:url||sender.options.url});return this;}});Request.HTML=new Class({Extends:Request,options:{update:false,evalScripts:true,filter:false},processHTML:function(text){var match=text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);text=(match)?match[1]:text;var container=new Element('div');return $try(function(){var root='<root>'+text+'</root>',doc;if(Browser.Engine.trident){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async=false;doc.loadXML(root);}else{doc=new DOMParser().parseFromString(root,'text/xml');}
-root=doc.getElementsByTagName('root')[0];for(var i=0,k=root.childNodes.length;i<k;i++){var child=Element.clone(root.childNodes[i],true,true);if(child)container.grab(child);}
-return container;})||container.set('html',text);},success:function(text){var options=this.options,response=this.response;response.html=text.stripScripts(function(script){response.javascript=script;});var temp=this.processHTML(response.html);response.tree=temp.childNodes;response.elements=temp.getElements('*');if(options.filter)response.tree=response.elements.filter(options.filter);if(options.update)$(options.update).empty().adopt(response.tree);if(options.evalScripts)$exec(response.javascript);this.onSuccess(response.tree,response.elements,response.html,response.javascript);}});Element.Properties.load={set:function(options){var load=this.retrieve('load');if(load)send.cancel();return this.eliminate('load').store('load:options',$extend({data:this,link:'cancel',update:this,method:'get'},options));},get:function(options){if(options||!this.retrieve('load')){if(options||!this.retrieve('load:options'))this.set('load',options);this.store('load',new Request.HTML(this.retrieve('load:options')));}
-return this.retrieve('load');}};Element.implement({load:function(){this.get('load').send(Array.link(arguments,{data:Object.type,url:String.type}));return this;}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(options){this.parent(options);this.headers.extend({'Accept':'application/json','X-Request':'JSON'});},success:function(text){this.response.json=JSON.decode(text,this.options.secure);this.onSuccess(this.response.json,text);}});
diff --git a/Website/tricode/mutexFunctions.php b/Website/tricode/mutexFunctions.php
deleted file mode 100644
index af45610..0000000
--- a/Website/tricode/mutexFunctions.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?
-//Mutex functions
-function Lock($lockName,$seconds)
-{
- $sql = "SELECT GET_LOCK('$lockName', $seconds);";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function IsLocked($lockName)
-{
- $sql = "SELECT IS_FREE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function ReleaseLock($lockName)
-{
- $sql = "SELECT RELEASE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-//End of mutex functions
-?>
diff --git a/Website/tricode/mutexSmartTest.php b/Website/tricode/mutexSmartTest.php
deleted file mode 100644
index 01bed3c..0000000
--- a/Website/tricode/mutexSmartTest.php
+++ /dev/null
@@ -1,800 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
- //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
- // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
- $taskAmount= 1;
- $numberofTask =0;
- if($taskAmount != 0 or $taskAmount == 'ON')
- {
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(2500);
- fclose($startApp);
- }
-
- //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
- sleep(6); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
- fwrite($fp, "SMART TEST");
-
- //fwrite($fp, "SMART TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- //test finished successfully
-
- $GSMRZ1 = 0;
- $GSMRZ2 = 0;
- $GSMRZ3 = 0;
-
- $SIP = 0;
- $UNISIP = 0;
- $LANDLINE = 0;
- $LSFKS = 0;
-
- $GSMEE = 0;
- $GSMEV = 0;
- $GSMET = 0;
- $GSMEO = 0;
-
- $SIPP = 0;
- $LANDLINEP = 0;
- $UNISIPP = 0;
- $NANOBTS1P = 0;
- $NANOBTS2P = 0;
- /////////// end of test!
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
- if ($taskAmount == "ON"){$taskAmount = "SMART TEST";}
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer"><font size ="2" face="Century Gothic" color="white">Number of tasks: '.$numberofTask.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- $numberofTask++;
- $received = str_replace("\n",'',$received);
- $dataForTable = explode("|", $received);
- $callFrom = strtoupper($dataForTable[1]);
- $callTo = strtoupper($dataForTable[2]);
- $testStatus = strtoupper($dataForTable[3]);
- //ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
-
- if($callFrom == 'SIP' || $callTo == 'SIP')
- {
- if($testStatus == '200')
- {
- $SIP = 1;
- $SIPP = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- //Check that SIP already working or not, if working, leave as it is, otherwise update that sip broken. same with LSFKS
- if ($SIP != 1)
- {
- $SIP = 1;
- }
- $SIPP = 1;
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- }
- if ($callFrom == 'SIP')
- {
- if ($testStatus == '998')
- {
- $SIP = 1;
- $SIPP = 1;
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
-
- }
- elseif($testStatus == '999')
- {
- if ($SIP != 1)
- {
- $SIP = -1;
- }
- $SIPP = -1;
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- elseif ($callTo == 'SIP')
- {
- if ($testStatus == '999')
- {
- if ($SIP != 1)
- {
- $SIP = 0;
- }
- if ($SIPP != 1)
- {
- $SIPP = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($SIP != 1)
- {
- $SIP = -1;
- }
- $SIPP = -1;
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- }
-
- if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
- {
- if($testStatus == '200')
- {
- $GSMRZ1 = 1;
- }
- elseif($testStatus == '486')
- {
- if ($GSMRZ1 != 1)
- {
- $GSMRZ1 = -1;
- }
- }
- if ($callFrom == 'GSMRZ1')
- {
- if ($testStatus == '999')
- {
- if ($GSMRZ1 != 1)
- {
- $GSMRZ1 = -1;
- }
- }
- elseif($testStatus == '998')
- {
- $GSMRZ1 = 1; //where is nanoBTS1
- }
- }
- elseif ($callTo == 'GSMRZ1')
- {
- if ($testStatus == '998')
- {
- if ($GSMRZ1 != 1)
- {
- $GSMRZ1 = -1;
- }
- }
- elseif($testStatus == '999')
- {
- $GSMRZ1 = 1; //where is nanoBTS1
- }
- }
- }
-
- if($callFrom == 'GSMRZ2' || $callTo == 'GSMRZ2')
- {
- if($testStatus == '200')
- {
- $GSMRZ2 = 1;
- $NANOBTS1P = 1;
- }
- elseif($testStatus == '486')
- {
- $GSMRZ2 = -1;
- $NANOBTS1P = 1;
- }
- else
- { $GSMRZ1 = 0;
- $NANOBTS1P = 0;
-
- }
- }
- if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
- {
- if($testStatus == '200')
- {
- $GSMRZ3 = 1;
- $NANOBTS2P = 1;
- }
- elseif($testStatus == '486')
- {
- $GSMRZ3 = -1;
- $NANOBTS2P = 1;
- }
- else
- { $GSMRZ3 = 0;
- $NANOBTS2P = 0;
-
- }
-
- }
- if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
- {
- if($testStatus == '200')
- {
- $GSMEO = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- if ($GSMEO != 1)
- {
- $GSMEO = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- }
- if ($callFrom == 'GSMEXT.O2')
- {
- if ($testStatus == '999')
- {
- if ($GSMEO != 1)
- {
- $GSMEO = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEO != 1)
- {
- $GSMEO =1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- elseif ($callTo == 'GSMEXT.O2')
- {
- if ($testStatus == '999')
- {
- if ($GSMEO != 1)
- {
- $GSMEO = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEO != 1)
- {
- $GSMEO =-1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- }
- if($callFrom == 'GSMEXT.VODA' || $callTo == 'GSMEXT.VODA')
- {
- if($testStatus == '200')
- {
- $GSMEV = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- if ($GSMEV != 1)
- {
- $GSMEV = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- }
- if ($callFrom == 'GSMEXT.VODA')
- {
- if ($testStatus == '999')
- {
- if ($GSMEV != 1)
- {
- $GSMEV = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEV != 1)
- {
- $GSMEV =1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- elseif ($callTo == 'GSMEXT.VODA')
- {
- if ($testStatus == '999')
- {
- if ($GSMEV != 1)
- {
- $GSMEV = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEV != 1)
- {
- $GSMEV =-1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- }
-
- if($callFrom == 'GSMEXT.EPLUS' || $callTo == 'GSMEXT.EPLUS')
- {
- if($testStatus == '200')
- {
- $GSMEE = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- if ($GSMEE != 1)
- {
- $GSMEE = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- }
- if ($callFrom == 'GSMEXT.EPLUS')
- {
- if ($testStatus == '999')
- {
- if ($GSMEE != 1)
- {
- $GSMEE = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEE != 1)
- {
- $GSMEE =1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- elseif ($callTo == 'GSMEXT.EPLUS')
- {
- if ($testStatus == '999')
- {
- if ($GSMEE != 1)
- {
- $GSMEE = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMEE != 1)
- {
- $GSMEE=-1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- }
-
- if($callFrom == 'GSMEXT.TM' || $callTo == 'GSMEXT.TM')
- {
- if($testStatus == '200')
- {
- $GSMET = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- if ($GSMET != 1)
- {
- $GSMET = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- }
- if ($callFrom == 'GSMEXT.TM')
- {
- if ($testStatus == '999')
- {
- if ($GSMET != 1)
- {
- $GSMET = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMET != 1)
- {
- $GSMET =1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
- elseif ($callTo == 'GSMEXT.TM')
- {
- if ($testStatus == '999')
- {
- if ($GSMET != 1)
- {
- $GSMET = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($GSMET != 1)
- {
- $GSMET =-1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- }
- }
-
- }
-
- if($callFrom == 'LANDLINE' || $callTo == 'LANDLINE')
- {
- if($testStatus == '200')
- {
- $LANDLINEP = 1;
- $LANDLINE = 1;
- $LSFKS = 1;
- }
- elseif($testStatus == '486')
- {
- if ($LANDLINE != 1)
- {
- $LANDLINE = -1;
- }
- }
- if ($callFrom == 'LANDLINE')
- {
- if ($testStatus == '999')
- {
- if ($LANDLINE != 1)
- {
- $LANDLINE = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = -1;
- }
- if ($LANDLINEP != 1)
- {
- $LANDLINEP = -1;
- }
- }
- elseif($testStatus == '998')
- {
- $LANDLINE = 1;
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- $LANDLINEP = 1;
- }
- elseif ($callTo == 'LANDLINE')
- {
- if ($testStatus == '999')
- {
- if ($LANDLINE != 1)
- {
- $LANDLINE = 0;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- if ($LANDLINEP != 1)
- {
- $LANDLINEP = 0;
- }
- }
- elseif($testStatus == '998')
- {
- if ($LANDLINE != 1)
- {
- $LANDLINE = -1;
- }
- if ($LSFKS != 1)
- {
- $LSFKS = 0;
- }
- if ($LANDLINEP != 1)
- {
- $LANDLINEP = 0;
- }
- }
- }
- }
-
- if($callFrom == 'UNISIP' || $callTo == 'UNISIP')
- {
- if($testStatus == '200')
- {
- $UNISIPP = 1;
- $UNISIP = 1;
- }
- elseif($testStatus == '486')
- {
- if ($UNISIP != 1)
- {
- $UNISIP = -1;
- }
- }
- if ($callFrom == 'UNISIP')
- {
- if ($testStatus == '999')
- {
- if ($UNISIP != 1)
- {
- $UNISIP = -1;
- }
- if ($UNISIPP != 1)
- {
- $UNISIPP = -1;
- }
- }
- elseif($testStatus == '998')
- {
- $UNISIP = 1;
- $UNISIPP = 1;
- }
- }
- if ($callTo == 'UNISIP')
- {
- if ($testStatus == '998')
- {
- if ($UNISIP != 1)
- {
- $UNISIP = -1;
- }
- if ($UNISIPP != 1)
- {
- $UNISIPP = -1;
- }
-
- }
- elseif($testStatus == '999')
- {
- if ($UNISIP != 1)
- {
- $UNISIP = 0;
- }
- if ($UNISIPP != 1)
- {
- $UNISIPP = 0;
- }
- }
- }
- }
- //END OF TEST CASE EXAMPLE
- echo '<tr>
- <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
- <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
- <td> ' . $dataForTable[4] . ' </td>
- <td>' . $dataForTable[3] . '</td>
- </tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/Website/tricode/mutexTry.php b/Website/tricode/mutexTry.php
deleted file mode 100755
index b927842..0000000
--- a/Website/tricode/mutexTry.php
+++ /dev/null
@@ -1,310 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body background = "Images/BackGround.jpg" onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
-include 'insertData.php'; //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
-
- include 'post.php'; // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
-
- //$taskAmount= 1
- if($taskAmount != 0)
- {
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(2500);
- fclose($startApp);
- }
-
- //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
- sleep(6); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
-
- fwrite($fp, "START TEST");
-
- //fwrite($fp, "SMART TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- //test finished successfully
-
- $GSMRZ1 = 0;
- $GSMRZ2 = 0;
- $GSMRZ3 = 0;
-
- $SIP = 0;
- $UNISIP = 0;
- $LANDLINE = 0;
- $LSFKS = 0;
-
- $GSMEE = 0;
- $GSMEV = 0;
- $GSMET = 0;
- $GSMEO = 0;
-
- $SIPP = 0;
- $LANDLINEP = 0;
- $UNISIPP = 0;
- $NANOBTS1P = 0;
- $NANOBTS2P = 0;
- /////////// end of test!
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
-
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer"><font size ="2" face="Century Gothic" color="white"> Number of tasks: '.$taskAmount.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- $received = str_replace("\n",'',$received);
- $dataForTable = explode("|", $received);
- $callFrom = strtoupper($dataForTable[1]);
- $callTo = strtoupper($dataForTable[2]);
- $testStatus = strtoupper($dataForTable[3]);
- //ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
-
- if($callFrom == 'SIP' || $callTo == 'SIP')
- {
- if($testStatus == '200')
- {
- $SIP = 1;
- $SIPP = 1;
- $LSFKS = 1;
-
- }
- }
- if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
- {
- if($testStatus == '200')
- {
- $GSMRZ1 = 1;
- }
- }
- if($callFrom == 'GSMRZ2' || $callTo == 'GSMRZ2')
- {
- if($testStatus == '200')
- {
- $GSMRZ2 = 1;
- $NANOBTS1P = 1;
- }
- }
- if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
- {
- if($testStatus == '200')
- {
- $GSMRZ3 = 1;
- $NANOBTS2P = 1;
- }
- }
- if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
- {
- if($testStatus == '200')
- {
- $GSMEO = 1;
- $LSFKS = 1;
- }
- }
- if($callFrom == 'GSMEXT.VODA' || $callTo == 'GSMEXT.VODA')
- {
- if($testStatus == '200')
- {
- $GSMEV = 1;
- $LSFKS = 1;
- }
- }
- if($callFrom == 'GSMEXT.EPLUS' || $callTo == 'GSMEXT.EPLUS')
- {
- if($testStatus == '200')
- {
- $GSMEE = 1;
- $LSFKS = 1;
- }
- }
- if($callFrom == 'GSMEXT.TM' || $callTo == 'GSMEXT.TM')
- {
- if($testStatus == '200')
- {
- $GSMET = 1;
- $LSFKS = 1;
- }
- }
- if($callFrom == 'LANDLINE' || $callTo == 'LANDLINE')
- {
- if($testStatus == '200')
- {
- $LANDLINEP = 1;
- $LANDLINE = 1;
- $LSFKS = 1;
- }
- }
- if($callFrom == 'UNISIP' || $callTo == 'UNISIP')
- {
- if($testStatus == '200')
- {
- $UNISIPP = 1;
- $UNISIP = 1;
-
- }
- }
- //END OF TEST CASE EXAMPLE
- echo '<tr>
- <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
- <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
- <td> ' . $dataForTable[4] . ' </td>
- <td>' . $dataForTable[3] . '</td>
- </tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/Website/tricode/networkResult.php b/Website/tricode/networkResult.php
deleted file mode 100644
index 512fe86..0000000
--- a/Website/tricode/networkResult.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("class/pData.class.php");
-
- include("class/pDraw.class.php");
- include("class/pImage.class.php");
-
- include("class/pSurface.class.php");
- //test case php defined for defining the colors and what's OK and what's wrong!
- include 'testCase.php';
-
- //Triangle function used for defining a triangle, used later to draw a triangle polygon!
- function Triangle($x,$y)
- {
- $Bx = $x - 7;
- $By = $y + 18;
- $Cx = $x + 7;
- $Cy = $y + 18;
- return array($x,$y,$Bx,$By,$Cx,$Cy);
- }
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array($GSMINTPercent,$GSMEXTPercent,$SIPPercent,$UNISIPPercent,$LANDLINEPercent),"Hits");
- $MyData->setAxisName(0,"Network operability");
- $MyData->addPoints(array("GSM University","GSM External","SIP","Uni.Tel.network","Landline"),"Networks");
- $MyData->setSerieDescription("Networks","Networks");
- $MyData->setAbscissa("Networks");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,430,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
-// $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,430,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,429,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Network Test Results - UNI FREIBURG",array("R"=>255,"G"=>255,"B"=>255));
-
-
-
- //CONNECTIONS
- /* BTS PICTURE INTERNAL CONNECTIONS */
- $myPicture->drawLine(80,170,185,230,$BTS1PING); //BTS1 PING
- $myPicture->drawLine(75,225,185,225,$BTS2PING); //BTS2 PING
- $myPicture->drawLine(75,288,185,220,$BTS2PING); //BTS3 PING
- /*GSMBOX LINES */
- $myPicture->drawLine(181,65,299,150); //BTS3 PING
- $myPicture->drawLine(250,65,308,150); //BTS3 PING
- $myPicture->drawLine(347,65,309,150); //BTS3 PING
- $myPicture->drawLine(410,70,316,150); //BTS3 PING
-
- //Arrow for GSM-Box
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(303,209,303,161,$arrowSettings);
-
- //Arrow for Landline
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(313,210,393,171,$arrowSettings);
-
- //Arrow for University telephone network
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(303,298,303,239,$arrowSettings);
-
- //SIP
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(316,220,393,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(346,218,"SIP",$TextSettings);
-
- //IAX
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(192,220,297,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(235,218,"IAX",$TextSettings);
- //######################################
-
- //BTS1
- $Points = Triangle(74,155);
- $myPicture->drawPolygon($Points, $BTS1COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,169,"nanoBTS0",$TextSettings);
- //##################################
-
- //BTS2
- $Points = Triangle(74,215);
- $myPicture->drawPolygon($Points, $BTS2COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,229,"nanoBTS1",$TextSettings);
- //###################################
-
- //BTS3
- $Points = Triangle(74,275);
- $myPicture->drawPolygon($Points, $BTS3COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,289,"nanoBTS3",$TextSettings);
- //###################################
-
-
-
- //LsfKs-Asterisk
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(295,210,$LSFKSCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(270,257," LsfKs-Asterisk",$TextSettings);
- //###############################
-
-
- //Open BSC
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,210,$GSMINTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(155,275," OpenBSC \r\n LCR \r\n Asterisk",$TextSettings);
- //###############################
-
-
- //E-plus
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,50,$GSMEECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(171,40,"E-Plus",$TextSettings);
- //###############################
-
-
- //Vodaphone
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(231,50,$GSMEVCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(218,40,"Vodafone",$TextSettings);
- //###############################
-
-
- //T-mobile
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(336,50,$GSMETCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(330,40,"T-Mobile",$TextSettings);
- //###############################
-
-
- //O2
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(396,50,$GSMEOCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(404,40,"02",$TextSettings);
- //###############################
-
-
- //GSMBOX
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(293,140,$GSMEXTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,157,"GSM-Box",$TextSettings);
- //###############################
-
-
- //LANDLINE
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,147,$LANDLINECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(388,137,"Landline",$TextSettings);
- //###############################
-
-
- //University SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(283,297,$UNISIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,365,"University telephone network",$TextSettings);
- //###############################
-
-
- //SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,208,$SIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(399,256,"SIP",$TextSettings);
- //###############################
-
- //PING RESULTS
- //START ############################################
- $myPicture->setGraphArea(530,280,660,290);
-
- // Create the surface object
- $mySurface = new pSurface($myPicture);
-
- // Set the grid size
- $mySurface->setGrid(4,0);
-
- $mySurface->writeXLabels(array("Angle"=>45,"Labels"=>array("SIP","Landline","Uni. Telephone","nanoBTS 1","nanoBTS 2")));
- $mySurface->writeYLabels(array("Labels"=>array("Ping")));
-
- $Palette = array(1=>array("R"=>0,"G"=>255,"B"=>0, "Alpha"=>40),
- 0=>array("R"=>255,"G"=>0,"B"=>1, "Alpha"=>40));
-
- $mySurface->addPoint(0,0,$SIPP);
- $mySurface->addPoint(1,0,$LANDLINEP);
- $mySurface->addPoint(2,0,$UNISIPP);
- $mySurface->addPoint(3,0,$NANOBTS1P);
- $mySurface->addPoint(4,0,$NANOBTS2P);
-
- // Draw the surface chart
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40,"Palette"=>$Palette));
-
-
- //A BIT OF STATISTICS
- /* Draw the chart scale */
- $myPicture->setGraphArea(520,50,685,220);
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
-
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
-
-/* $Palette = array("1"=>array("R"=>91,"G"=>184,"B"=>202,"Alpha"=>100),
- "2"=>array("R"=>166,"G"=>218,"B"=>215,"Alpha"=>100),
- "3"=>array("R"=>223,"G"=>227,"B"=>203,"Alpha"=>100),
- "0"=>array("R"=>114,"G"=>176,"B"=>180,"Alpha"=>100),
- "4"=>array("R"=>241,"G"=>233,"B"=>214,"Alpha"=>100));
-*/
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
- //############################################STATISTICS
-
- //DATE AND TEST NUMBER
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>9);
- $myPicture->drawText(460,425,"Task #:32432 07.09.2011 21:19:00",$TextSettings);
- //###########################################################
-
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("example.drawFilledCircle.png");
-?>
diff --git a/Website/tricode/script.sh b/Website/tricode/script.sh
deleted file mode 100755
index 00c0279..0000000
--- a/Website/tricode/script.sh
+++ /dev/null
@@ -1 +0,0 @@
-gnome-terminal
diff --git a/Website/tricode/startTest.php b/Website/tricode/startTest.php
deleted file mode 100644
index abfa812..0000000
--- a/Website/tricode/startTest.php
+++ /dev/null
@@ -1,438 +0,0 @@
-<html>
-<head>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Uni-Freiburg Network test</title>
-<link rel="stylesheet" href="css/formCSS.css" type="text/css" media="screen">
-<link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body>
-<div>
-Please select the type of the test you would like to perform or manually choose your tests! Then please press the submit button!
-</div>
-<div>
-<form>
- <a class="tooltip" href="#">
- <input type=button value="Simple test" onClick="simpleTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Simple test</em>
- Press simple test if you want to test the network for</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Smart test" onClick="smartTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Smart test</em>
- This is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Full test" onClick="fullTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Full test</em>
- Press full test if you want to test every part of the university network. To execute this test the highest amount of time will be required, however this test produces the highest amount of information!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Deselect all values" onClick="deselectAll()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Deselect all</em>
- Press deselect all if you want to deselect all the values you have selected to be executed for the test!</span>
- </a>
-</form>
-</div>
-<div class='section form'>
-<form name="testForm" form action="mutexTry.php" method="POST">
- <div class='leftcol'>
- <label><input type="checkbox" name='sip_gsmrz1'> SIP to RZ-GSM 1</label>
- <label><input type="checkbox" name="sip_gsmrz2"> SIP to RZ-GSM 2</label>
- <label><input type="checkbox" name="sip_gsmrz3"> SIP to RZ-GSM 3</label>
-
- <label><input type="checkbox" name="sip_landln"> SIP to Landline</label>
- <label><input type="checkbox" name="sip_sipuniv"> SIP to Uni.telephone</label>
-
-
- <label><input type="checkbox" name="gsmrz1_sip"> RZ-GSM 1 to SIP</label>
- <label><input type="checkbox" name="gsmrz2_sip"> RZ-GSM 2 to SIP</label>
- <label><input type="checkbox" name="gsmrz3_sip"> RZ-GSM 3 to SIP</label>
-
- <label><input type="checkbox" name="gsmrz1_gsmrz2"> RZ-GSM 1 to RZ-GSM 2</label>
- <label><input type="checkbox" name="gsmrz1_gsmrz3"> RZ-GSM 1 to RZ-GSM 3</label>
- <label><input type="checkbox" name="gsmrz2_gsmrz3"> RZ-GSM 2 to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="landline_sip"> Landline to SIP </label>
-
- <label><input type="checkbox" name="landline_gsmrz1"> Landline to RZ-GSM 1</label>
- <label><input type="checkbox" name="landline_gsmrz2"> Landline to RZ-GSM 2</label>
- <label><input type="checkbox" name="landline_gsmrz3"> Landline to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="gsmrz1_gsmee"> RZ-GSM 1 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz1_gsmev"> RZ-GSM 1 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz1_gsmet"> RZ-GSM 1 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz1_gsmeo"> RZ-GSM 1 to O2</label>
-
- <label><input type="checkbox" name="gsmrz2_gsmee"> RZ-GSM 2 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz2_gsmev"> RZ-GSM 2 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz2_gsmet"> RZ-GSM 2 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz2_gsmeo"> RZ-GSM 2 to O2</label>
-
- <label><input type="checkbox" name="gsmrz3_gsmee"> RZ-GSM 3 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz3_gsmev"> RZ-GSM 3 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz3_gsmet"> RZ-GSM 3 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz3_gsmeo"> RZ-GSM 3 to O2</label>
-
-
- <label><input type="checkbox" name="unisip_gsmee"> Uni.telephone to E-Plus</label>
- <label><input type="checkbox" name="unisip_gsmev"> Uni.telephone to Vodaphone</label>
- <label><input type="checkbox" name="unisip_gsmet"> Uni.telephone to T-Mobile</label>
- <label><input type="checkbox" name="unisip_gsmeo"> Uni.telephone to O2</label>
-
-
-
-
- <input type=SUBMIT value="Submit">
-
- </div>
-</form>
-</div>
-
-<script type="text/javascript" src="mootools.js"></script>
-<script type="text/javascript" src="moocheck.js"></script>
-<script type = "text/javascript">
-function simpleTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the simple test should do!
-}
-
-function fullTest()
-{
- document.testForm.sip_gsmrz1.checked=true
- document.testForm.sip_gsmrz2.checked=true
- document.testForm.sip_gsmrz3.checked=true
-
- document.testForm.sip_landln.checked=true
- document.testForm.sip_sipuniv.checked=true
-
- document.testForm.gsmrz1_gsmrz2.checked=true
- document.testForm.gsmrz1_gsmrz3.checked=true
- document.testForm.gsmrz2_gsmrz3.checked=true
-
- document.testForm.gsmrz1_sip.checked=true
- document.testForm.gsmrz2_sip.checked=true
- document.testForm.gsmrz3_sip.checked=true
-
- document.testForm.landline_sip.checked=true
-
- document.testForm.landline_gsmrz1.checked=true
- document.testForm.landline_gsmrz2.checked=true
- document.testForm.landline_gsmrz3.checked=true
-
- document.testForm.gsmrz1_gsmee.checked=true
- document.testForm.gsmrz1_gsmev.checked=true
- document.testForm.gsmrz1_gsmet.checked=true
- document.testForm.gsmrz1_gsmeo.checked=true
-
- document.testForm.gsmrz2_gsmee.checked=true
- document.testForm.gsmrz2_gsmev.checked=true
- document.testForm.gsmrz2_gsmet.checked=true
- document.testForm.gsmrz2_gsmeo.checked=true
-
- document.testForm.gsmrz3_gsmee.checked=true
- document.testForm.gsmrz3_gsmev.checked=true
- document.testForm.gsmrz3_gsmet.checked=true
- document.testForm.gsmrz3_gsmeo.checked=true
-
- document.testForm.unisip_gsmee.checked=true
- document.testForm.unisip_gsmev.checked=true
- document.testForm.unisip_gsmet.checked=true
- document.testForm.unisip_gsmeo.checked=true
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-
-function smartTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the smart test should do
-}
-
-function deselectAll()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-</script>
-</body>
-</html>
diff --git a/Website/tricode/testCase.php b/Website/tricode/testCase.php
deleted file mode 100644
index c9e12ee..0000000
--- a/Website/tricode/testCase.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?
- //color definitions
- $colorDunno = array("R"=>216,"G"=>166,"B"=>14,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorFail = array("R"=>255, "G"=>25, "B"=>25,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorWork = array("R"=>150,"G"=>215,"B"=>121,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
-
-
-$GSMRZ1 = $_GET['RZ1'];
-$GSMRZ2 = $_GET['RZ2'];
-$GSMRZ3 = $_GET['RZ3'];
-
-$SIP = $_GET['S'];
-$UNISIP = $_GET['US'];
-$LANDLINE = $_GET['LL'];
-$LSFKS = $_GET['LS'];
-
-$GSMEE = $_GET['EE'];
-$GSMEV = $_GET['EV'];
-$GSMET = $_GET['ET'];
-$GSMEO = $_GET['EO'];
-
-
-$SIPP = $_GET['SP'];
-$LANDLINEP = $_GET['SGP'];
-$UNISIPP = $_GET['USP'];
-$NANOBTS1P = $_GET['NBP1'];
-$NANOBTS2P = $_GET['NBP2'];
-/*
-$GSMRZ1 = 0;
-$GSMRZ2 = -10;
-$GSMRZ3 = 10;
-
-$SIP = 4;
-$UNISIP = 0;
-$LANDLINE = 1;
-$LSFKS = 1;
-
-$GSMEE = 10;
-$GSMEV = 10;
-$GSMET = -10;
-$GSMEO = 10;
-*/
-$GSMEXTCOL = 'icons/box_dunno.png';
-$GSMINTCOL = "icons/server_dunno.png";
-$LSFKSCOL = "icons/server_dunno.png";
-
-$SIPCOL = 'icons/sip_dunno';
-$UNISIPCOL = 'icons/uni-network_dunno.png';
-$LANDLINECOL = 'icons/telephone_dunno.png';
-
-$BTS1COL = $colorDunno;
-$BTS2COL = $colorDunno;
-$BTS3COL = $colorDunno;
-
-$GSMEECOL = 'icons/blackberry_dunno.png';
-$GSMEVCOL = 'icons/blackberry_dunno.png';
-$GSMETCOL = 'icons/blackberry_dunno.png';
-$GSMEOCOL = 'icons/blackberry_dunno.png';
-
-
-$BTS1PING = array("R"=>255,"G"=>0,"B"=>0); //put here the color :)
-$BTS1PING["Ticks"]=2;
-$BTS1PING["Weight"]=0;
-
-$BTS2PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS2PING["Ticks"]=2;
-$BTS2PING["Weight"]=0;
-
-$BTS3PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS3PING["Ticks"]=2;
-$BTS3PING["Weight"]=0;
-
-if ($GSMRZ1 > 0 || $GSMRZ2 > 0 || $GSMRZ3 > 0)
-{
- $GSMINT = 1;
- $GSMINTCOL = 'icons/server_work.png';
-}
-elseif($GSMRZ1 < 0 || $GSMRZ2 < 0 || $GSMRZ3 < 0)
-{
- $GSMINT = -1;
- $GSMINTCOL = 'icons/server_fail.png';
-}
-
-if($LANDLINE>0)
-{
- $LANDLINECOL = 'icons/telephone_work.png';
-}
-elseif($LANDLINE<0)
-{
- $LANDLINECOL = 'icons/telephone_fail.png';
-}
-
-if($SIP > 0 && $GSMINT > 0)
-{
- $LSFKS = 1;
-}
-
-if($LSFKS>0)
-{
- $LSFKSCOL = 'icons/server_work.png';
-}
-elseif($LSFKS<0)
-{
- $LSFKSCOL = 'icons/server_fail.png';
-}
-
-if($SIP>0)
-{
- $SIPCOL = 'icons/sip_work.png';
-}
-elseif($SIP<0)
-{
- $SIPCOL = 'icons/sip_fail.png';
-}
-
-if($UNISIP > 0)
-{
- $UNISIPCOL = 'icons/uni-network_work.png';
-}
-elseif($UNISIP < 0)
-{
- $UNISIPCOL = 'icons/uni-network_fail.png';
-}
-
-if($GSMEE > 0 || $GSMEV > 0 || $GSMET > 0 || $GSMEO > 0)
-{
- $GSMEXTCOL = 'icons/box_work.png';
-}
-elseif($GSMEE < 0 || $GSMEV < 0 || $GSMET < 0 || $GSMEO < 0)
-{
- $GSMEXTCOL = 'icons/box_fail.png';
-}
-
-if($GSMRZ1 > 0)
-{
- $BTS1COL = $colorWork;
-}
-elseif($GSMRZ1 < 0)
-{
- $BTS1COL = $colorFail;
-}
-
-if($GSMRZ2 > 0)
-{
- $BTS2COL = $colorWork;
-}
-elseif($GSMRZ2 < 0)
-{
- $BTS2COL = $colorFail;
-}
-
-if($GSMRZ3 > 0)
-{
- $BTS3COL = $colorWork;
-}
-elseif($GSMRZ3 < 0)
-{
- $BTS3COL = $colorFail;
-}
-
-if($GSMEE > 0)
-{
- $GSMEECOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEE < 0)
-{
- $GSMEECOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEV > 0)
-{
- $GSMEVCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEV < 0)
-{
- $GSMEVCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMET > 0)
-{
- $GSMETCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMET < 0)
-{
- $GSMETCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEO > 0)
-{
- $GSMEOCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEO < 0)
-{
- $GSMEOCOL = 'icons/blackberry_fail.png';
-}
-
-
-
-//NETWORK OPERABILITY
-$GSMINTPercent = rand(1,100);
-$GSMEXTPercent = rand(1,100);
-$SIPPercent = rand(1,100);
-$UNISIPPercent = rand(1,100);
-$LANDLINEPercent = rand(1,100);
-
-//print_r($GSMINTCOL);
-// add here to set the color for each node after the test ;)
-// setNode(0,$SIPCOL) or something as that :)
-?>
diff --git a/Website/tricode/wait.gif b/Website/tricode/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/Website/tricode/wait.gif
+++ /dev/null
Binary files differ
diff --git a/Website/tricode/trueTableClass.pyc b/Website/trueTableClass.pyc
index 50fc8df..50fc8df 100644
--- a/Website/tricode/trueTableClass.pyc
+++ b/Website/trueTableClass.pyc
Binary files differ
diff --git a/For Weekly Test/tricode/wait.gif b/Website/wait.gif
index 1c72ebb..1c72ebb 100644
--- a/For Weekly Test/tricode/wait.gif
+++ b/Website/wait.gif
Binary files differ
diff --git a/notFinishedCode/57/serverHandler.py b/notFinishedCode/57/serverHandler.py
deleted file mode 100644
index b671e97..0000000
--- a/notFinishedCode/57/serverHandler.py
+++ /dev/null
@@ -1,343 +0,0 @@
-import ServerClass
-import GSMClass1
-import LogFileClass
-import sys
-import os
-from time import sleep
-def restart_program():
- """Restarts the current program.
- Note: this function does not return. Any cleanup action (like
- saving data) must be done before calling this function."""
- python = sys.executable
- os.execl(python, python, * sys.argv)
-
-################################
-################################
-######SET THESE PARAMETERS######
-################################
-portListen = 50008 #port number of handler
-nameOfLogFile = 'handler.log' #name of the log file
-portAddress = '/dev/ttyUSB0'
-baudRate = 19200
-################################
-################################
-################################
-
-#create the log file class
-logger = LogFileClass.Logging(nameOfLogFile)
-#use this variable as the error counter
-errorCount = 0
-#start logging all events
-logger.logEvent('')
-#counter how many time we were in the while loop
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-global deviceError
-lastState = 0
-resetState = 0
-deviceError = 0
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
- global initDevice
- global numberToCall
- global resetState
- global deviceError
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
- anyConnection = handlerSocket.openSocket()
- #add this if you need it
- gsmDevice = GSMClass1.serialPort(portAddress, baudRate, 15)
- initDevice = gsmDevice.portInit(5)
- ########################################################
-
- #add nice formating to the log file :)
-
- print 'any connection ' + str(anyConnection)
- print 'initDevice ' + str(initDevice)
-
- if initDevice!= 1:
- deviceError = 1
- else:
- deviceError = 0
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice != 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- #resetState = 1
- return 2
- else:
- logger.logEvent('$no connection')
- logger.logEvent('$else case in init system' + str(anyConnection) + ' ' + str(initDevice) + ' ')
- resetState = 1
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
- print 'I RECEIVED THE FOLLOWING MESSAGE' + message
- if message == 'NO DATA':
- print 'try to close the connection' + str(handlerSocket.closeConnection())
- global resetState
- resetState = 1
- return 1
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
- return 7
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- return 2
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
- return 3
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
- return 6
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- return 4
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
- return 5
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- print message
- outcome = other()
- logger.logEvent('other appeared')
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
- #initialize the talk between handler and controller
- global lastState
- test = gsmDevice.portInit(2)
- if test != 1:
- test = gsmDevice.portInit(2)
- if test != 1:
- sendMessage = handlerSocket.sendData('DEVICE NOT READY')
- else:
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- else:
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- global deviceError
- lastState = 3
- if deviceError == 0:
- receiveCall = gsmDevice.receiveCall()
- if receiveCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in RECEIVE'
- else:
- receiveCall = 0
-
- if deviceError == 0:
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
-
-
- sendMessage = handlerSocket.sendData(callSuccess)
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller1'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller2'
-
- #call the number here
- global lastState
- global deviceError
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- if deviceError==0:
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in CALL'
- else:
- tryCall=0
-
-
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- print 'try call result'+ str(tryCall)
- if tryCall != 'TIMEOUT':
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 10:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- handResponse = handlerSocket.sendData(callSuccess)
-
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
-
- return handResponse
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
-
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 8 and resetState!= 1:
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(20)
- else:
- receivedMessage = receiveMessage(30)
- elif test ==2:
- print 'initialized system but device not working'
- logger.logEvent('initialized system but device not working')
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- handlerSocket.sendData('DEVICE NOT READY')
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(20)
- else:
- receivedMessage = receiveMessage(30)
-
- elif test ==0:
- print 'nobody can connect, reboot board, restart cellphone'
- logger.logEvent('nobody can connect, reboot board, restart cellphone')
- logger.closeLogging();
- del handlerSocket
- del gsmDevice
- del logger
- restart_program()
-
diff --git a/notFinishedCode/67/serverHandler.py b/notFinishedCode/67/serverHandler.py
deleted file mode 100644
index 1a202c3..0000000
--- a/notFinishedCode/67/serverHandler.py
+++ /dev/null
@@ -1,346 +0,0 @@
-import ServerClass
-import GSMClass1
-import LogFileClass
-import sys
-import os
-from time import sleep
-def restart_program():
- """Restarts the current program.
- Note: this function does not return. Any cleanup action (like
- saving data) must be done before calling this function."""
- python = sys.executable
- os.execl(python, python, * sys.argv)
-
-
-################################
-################################
-######SET THESE PARAMETERS######
-################################
-portListen = 50008 #port number of handler
-nameOfLogFile = 'handler.log' #name of the log file
-portAddress = '/dev/ttyUSB0'
-baudRate = 19200
-################################
-################################
-################################
-
-#create the log file class
-logger = LogFileClass.Logging(nameOfLogFile)
-#use this variable as the error counter
-errorCount = 0
-#start logging all events
-logger.logEvent('')
-#counter how many time we were in the while loop
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-global deviceError
-lastState = 0
-resetState = 0
-deviceError = 0
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
- global initDevice
- global numberToCall
- global resetState
- global deviceError
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
- anyConnection = handlerSocket.openSocket()
- #add this if you need it
- gsmDevice = GSMClass1.serialPort(portAddress, baudRate, 15)
- initDevice = gsmDevice.portInit(5)
- ########################################################
-
- #add nice formating to the log file :)
-
- print 'any connection ' + str(anyConnection)
- print 'initDevice ' + str(initDevice)
-
- if initDevice!= 1:
- deviceError = 1
- else:
- deviceError = 0
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice != 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- #resetState = 1
- return 2
- else:
- logger.logEvent('$no connection')
- logger.logEvent('$else case in init system' + str(anyConnection) + ' ' + str(initDevice) + ' ')
- resetState = 1
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
- print 'I RECEIVED THE FOLLOWING MESSAGE' + message
- if message == 'NO DATA':
- print 'try to close the connection' + str(handlerSocket.closeConnection())
- global resetState
- resetState = 1
- return 1
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
- return 7
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- return 2
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
- return 3
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
- return 6
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- return 4
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
- return 5
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- print message
- outcome = other()
- logger.logEvent('other appeared')
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
- #initialize the talk between handler and controller
- global lastState
- test = gsmDevice.portInit(2)
- if test != 1:
- test = gsmDevice.portInit(2)
- if test != 1:
- sendMessage = handlerSocket.sendData('DEVICE NOT READY')
- else:
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- else:
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- global deviceError
- lastState = 3
- if deviceError == 0:
- receiveCall = gsmDevice.receiveCall()
- if receiveCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in RECEIVE'
- else:
- receiveCall = 0
-
- if deviceError == 0:
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
-
-
- sendMessage = handlerSocket.sendData(callSuccess)
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller1'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller2'
-
- #call the number here
- global lastState
- global deviceError
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- if deviceError==0:
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in CALL'
- else:
- tryCall=0
-
-
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- print 'try call result'+ str(tryCall)
- if tryCall != 'TIMEOUT':
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 10:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- handResponse = handlerSocket.sendData(callSuccess)
-
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
-
- return handResponse
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
-
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 8 and resetState!= 1:
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(20)
- else:
- receivedMessage = receiveMessage(30)
- elif test ==2:
- print 'initialized system but device not working'
- logger.logEvent('initialized system but device not working')
- receivedMessage = 0
- print 'reset state: ', resetState
- while receivedMessage < 4 and resetState!= 1:
- handlerSocket.sendData('DEVICE NOT READY')
- print 'I AM IN THIS WHILE LOOP'
- #sleep(0.5)
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(20)
- else:
- receivedMessage = receiveMessage(30)
-
- elif test ==0:
- print 'nobody can connect, reboot board, restart cellphone'
- logger.logEvent('nobody can connect, reboot board, restart cellphone')
- logger.closeLogging()
- del logger
- del handlerSocket
- del gsmDevice
- restart_program()
diff --git a/notFinishedCode/ClientClass.py b/notFinishedCode/ClientClass.py
deleted file mode 100644
index 46c3b00..0000000
--- a/notFinishedCode/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/notFinishedCode/ClientClass.pyc b/notFinishedCode/ClientClass.pyc
deleted file mode 100644
index 3d4f76b..0000000
--- a/notFinishedCode/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Controller-SecondType.py b/notFinishedCode/Controller-SecondType.py
deleted file mode 100644
index 66cdf09..0000000
--- a/notFinishedCode/Controller-SecondType.py
+++ /dev/null
@@ -1,427 +0,0 @@
-import sys
-import os
-import time
-import MySQLdb
-import subprocess
-
-
-import classClient #import class socket
-import classDb #import class db
-import classPing
-
-from time import sleep
-from datetime import datetime
-
-
-sipNum = "4661929"
-landlnNum = "076145875681"
-unisipNum = "076120397897"
-
-
-sipCall = "sipCall.py"
-sipRec = "sipReceiver.py"
-landlnCall = "landlineCall.py"
-landlnRec = "landlineReceiver.py"
-localSipRec = "localsipReceiver.py"
-rz1Call = "rz1Call.py"
-rz1Rec = "rz1Receiver.py
-
-o2Call = "o2Call.py"
-o2Rec = "o2Receiver.py"
-vodafoneCall = "vodafoneCall.py"
-vodafoneRec = "vodafoneReceiver.py"
-tmobileCall = "tmobileCall.py"
-tmobilRec = "tmobileReceiver.py"
-
-# One function for all test case
-class TimeoutException(Exception):
- pass
-
-def FuncTest(orig, origAdd, dest, destAdd, destNo):
-
-
- global repeatTest
- global portOrig
- global resultOrig
- global resultDest
- global testResult
- global x
- global y
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- print "====================== Preparing Test ======================"
-
- try:
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portOrig = 50095
-
- if dest =="gsmBox2":
- portOrig = 50096
-
- print ""
- print "Connecting to Caller handler"
- print "Caller handler status :", x.connect()
- x.sendData('hello server please wakeup the handler and be caller')
-
- else:
- # open SIP caller handler
-
- command="--command=python " +orig
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(5)
-
- if orig=="SIPCall.py":
- portOrig = 50097
-
- if orig=="rz1Call.py":
- portOrig = 50098
-
- if orig == "landlineCall.py":
- portOrig = 50099
-
- if orig == "LocalSIPCall.py":
- portOrig = 50100
-
- #else: #mean external GSM
- # print "have not yet define"
- #portOrig = 50101
-
- x = classClient.Connection(origAdd,portOrig)
- print ""
- print "Connecting to Caller handler"
- print "Caller handler status:", x.connect()
-
- x.sendData('hello Handler')
-
- # wait respond from origin handler
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
- while 1:
- try:
- origHandler = x.receiveData()
- if origHandler <> "":
- break
-
- except TimeoutException:
- origHandler = "failed"
- break
-
-
- if origHandler == "ready":
- print "Caller handler : Ready"
- print ""
- try:
- y = None
- global portDest
-
- if dest =="gsmBox1" or dest =="gsmBox2":
-
- if dest =="gsmBox1":
- portDest = 50102
-
- if dest =="gsmBox2":
- portDest = 50103
-
- y = classClient.Connection(destAdd,portDest)
- print "Connecting to Receiver handler"
- print "Receiver handler status: ", y.connect()
- y.sendData('hello server please wakeup the handler and be receiver')
-
- else:
- command="--command=python " +dest
- subprocess.Popen(args=["gnome-terminal", command])
-
- sleep(2)
-
- if dest=="SIPReceiver.py":
- portDest = 50104
-
- if dest=="rz1Receiver.py":
- portDest = 50105
-
- if dest == "landlineReceiver.py":
- portDest = 50106
-
- if dest == "LocalSIPReceiver.py":
- portDest = 50107
-
- #mean external GSM
- #print "not define yet"
- #portDest = 50108
-
- y = classClient.Connection(destAdd,portDest)
- print "Connecting to Receiver handler"
- print "Receiver handler status:", y.connect()
- y.sendData('hello Receiver')
-
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(60)
-
- while 1:
- try:
- destHandler = y.receiveData()
- if destHandler <> "":
- break
-
- except TimeoutException:
- destHandler = "failed"
- break
-
- if destHandler == "ready":
-
- print "Receiver handler : Ready"
- print ""
- x.sendData("start")#send message to handler to start the call
- sleep(0.5)
- x.sendData(destNo)
-
- x.closeConnection()
- x.connect()
-
- y.closeConnection()
- y.connect()
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- print "------------ Test Result ------------"
- print ""
-
- while 1:
- try:
- sleep(0.5)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- except TimeoutException:
- resultOrig = 486
- resultDest = 486
- break
-
- #if failed, tell everybody to try one more time
- if resultOrig == 486 or resultDest == 486:
-
- x.sendData("start")
- sleep(0.5)
- x.sendData(destNo)
-
- x.closeConnection()
- x.connect()
-
- y.closeConnection()
- y.connect()
-
- signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(120)
-
- while 1:
- try:
- sleep(0.5)
- resultOrig = x.receiveData()
- resultDest = y.receiveData()
-
- if resultOrig <> "" or resultDest <> "":
- break
-
- except TimeoutException:
- resultOrig = 486
- resultDest = 486
- break
-
- #if still failed, we make automatic test vice versa
-
- if resultOrig == 486 or resultDest == 486:
- testResult = 486
- repeatTest = True
- print "Second test result origin: ", resultOrig
- print "Second test result Destination: ", resultDest
- else:
- testResult = 200
- print "Second test result origin: ", resultOrig
- print "Second test result Destination: ", resultDest
- x.sendData('487')
- y.sendData('487')
-
- else:
-
- testResult = 200
- print "Test Result origin: ", resultOrig
- print "Test Result Destination: ", resultDest
- x.sendData('487')
- y.sendData('487')
-
- else:
- testResult = 604
- print "604 General Handler Error: Destination handler no respond"
- #tell Caller handler to terminate because receiver doesnt work
- x.sendData('487')
-
- y.closeConnection()
-
- except ValueError:
- print "601 General Handler Error: Could not open Destination handler"
- testResult = "601"
- else:
- testResult = 605
- print "605 General Handler Error: Origin handler no respond"
-
- x.closeConnection()
-
- except ValueError:
- testResult = 602
- print "602 General Handler Error: Could not open Origin handler"
-
-
-
-# Main software
-
-# Check DB connection
-db = classDb.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
-print "Connecting to DB ", x.connectDB()
-print ""
-dbStatus = db.connectDB()
-
-
-if dbStatus == 1:
-
- # Check Ping to the Every Handler
- sipServer = PingClass.Ping('132.230.4.60')
- sipServerStatus = sipServer.ping(3)
-
- sipGateServer = PingClass.Ping('sipgate.de')
- sipGateServerStatus = sipGateServer.ping(3)
-
- sipLocalServer = PingClass.Ping('132.230.4.60')
- sipLocalServerStatus = sipLocalServer.ping(3)
-
-# Fetch The task information from DB
- print "do i have anything to do", db.anyTasksToDo()
-
- for item in db.tasksList:
-
- taskID = item[0]
- callFrom = item[1]
- callTo = item[2]
-
- print "Test ID : " , taskID
- print "Caller : " , callFrom
- print "Receiver : " , callTo
-
- if callFrom == "sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
-
- if callTo == "gsmrz1":
-
- FuncTest(sipCall, "localhost", "gsmincom_.py", "localhost","4661473")
- print "Finish test"
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- # waiting db class for repeat test from refik which I ask for.
- update
-
- if callTo == "gsmrz2":
-
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest(sipCall, "localhost", "Box1", "132.0.0.2","404")
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
-
- if callTo == "gsmrz3":
-
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest(sipCall, "localhost", "Box2", "132.0.0.3","405")
- db.addResult(taskID, testResult)
- if repeatTest == "true":
- #select temporary table, if there are have test from gsmrz to sip then skip
- #else, update db, put new data to tasktable. from gsmrz to sip
- update
- if callTo == "landline":
- if sipGateSeverStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest(sipCall, "localhost", landlnRec, "localhost",landlnNum)
- db.addResult(taskID, testResult)
-
- if callTo == "localsip":
- if sipLocalSeverStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest(sipCall, "localhost", localSipRec, "localhost",unisipNum)
- db.addResult(taskID, testResult)
-
- if callTo == "externalgsm":
- FuncTest(sipCall, "localhost", o2Rec, "localhost","405")
- db.addResult(taskID, testResult)
-
- FuncTest(sipCall, "localhost", tmobileRec, "localhost","405")
- db.addResult(taskID, testResult)
-
- FuncTest(sipCall, "localhost", vodafoneRec, "localhost","405")
- db.addResult(taskID, testResult)
-
- FuncTest(sipCall, "localhost", "xx", "localhost","405")
- db.addResult(taskID, testResult)
-
-
-
- if callFrom =="gsmrz1":
-
- if callTo =="sip":
- if sipServerStatus == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest("gsmcall_.py", "localhost", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
- sleep(10)
-
-
- if callTo =="gsmrz2":
- if gsmBox1Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest("Box1", "132.0.0.2", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
-
- if callTo =="gsmrz3":
- if gsmBox2Status == 0:
- print "[failed] 500 Server Internal Error"
-
- else:
- FuncTest("Box2", "132.0.0.3", sipRec, "localhost",sipNum)
- db.addResult(taskID, testResult)
-
-
-
-
-# will exit if DB connection failed
-else:
- sys.exit(5)
-
diff --git a/notFinishedCode/GSMClass.py b/notFinishedCode/GSMClass.py
deleted file mode 100644
index b932ab5..0000000
--- a/notFinishedCode/GSMClass.py
+++ /dev/null
@@ -1,310 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
- self.timer1 = timeout
- self.start = 0
-
- self.debugMode = 0
-
- def portInit(self, timeout1):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
- self.timer = timeout1
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
- self.ser.flushOutput() #clean the output buffer from the serial port
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
- self.start=1
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
- if self.start == 0:
- self.timer = 5
- else:
- self.timer = self.timer1
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/notFinishedCode/GSMClass.pyc b/notFinishedCode/GSMClass.pyc
deleted file mode 100644
index 625dcb9..0000000
--- a/notFinishedCode/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/LogFileClass.py b/notFinishedCode/LogFileClass.py
deleted file mode 100644
index cb152f4..0000000
--- a/notFinishedCode/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/notFinishedCode/LogFileClass.pyc b/notFinishedCode/LogFileClass.pyc
deleted file mode 100644
index c8d7229..0000000
--- a/notFinishedCode/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/BigPicture_new.png b/notFinishedCode/Report/BigPicture_new.png
deleted file mode 100644
index cb70576..0000000
--- a/notFinishedCode/Report/BigPicture_new.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/BigPicture_new1.png b/notFinishedCode/Report/BigPicture_new1.png
deleted file mode 100644
index cf81c92..0000000
--- a/notFinishedCode/Report/BigPicture_new1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/ClientClass.png b/notFinishedCode/Report/ClientClass.png
deleted file mode 100644
index 9df72cc..0000000
--- a/notFinishedCode/Report/ClientClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/DBRelationship.png b/notFinishedCode/Report/DBRelationship.png
deleted file mode 100644
index bca5f6d..0000000
--- a/notFinishedCode/Report/DBRelationship.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/First.png b/notFinishedCode/Report/First.png
deleted file mode 100644
index 3dd2fdc..0000000
--- a/notFinishedCode/Report/First.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/Second.png b/notFinishedCode/Report/Second.png
deleted file mode 100644
index b99fc07..0000000
--- a/notFinishedCode/Report/Second.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/ServerHandlerClass.png b/notFinishedCode/Report/ServerHandlerClass.png
deleted file mode 100644
index cfd4985..0000000
--- a/notFinishedCode/Report/ServerHandlerClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/Third.png b/notFinishedCode/Report/Third.png
deleted file mode 100644
index 4bdf503..0000000
--- a/notFinishedCode/Report/Third.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/Tri-report.doc b/notFinishedCode/Report/Tri-report.doc
deleted file mode 100644
index 5b00f7d..0000000
--- a/notFinishedCode/Report/Tri-report.doc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/activityControllerEdited.png b/notFinishedCode/Report/activityControllerEdited.png
deleted file mode 100644
index bf22102..0000000
--- a/notFinishedCode/Report/activityControllerEdited.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/activity_diagram.png b/notFinishedCode/Report/activity_diagram.png
deleted file mode 100644
index 0f4fdd2..0000000
--- a/notFinishedCode/Report/activity_diagram.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/bb.jpg b/notFinishedCode/Report/bb.jpg
deleted file mode 100644
index 1118f4c..0000000
--- a/notFinishedCode/Report/bb.jpg
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/classDiagram.png b/notFinishedCode/Report/classDiagram.png
deleted file mode 100644
index 3bcae96..0000000
--- a/notFinishedCode/Report/classDiagram.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/controllerclass.png b/notFinishedCode/Report/controllerclass.png
deleted file mode 100644
index 22dfec5..0000000
--- a/notFinishedCode/Report/controllerclass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/dbClass.png b/notFinishedCode/Report/dbClass.png
deleted file mode 100644
index e18ece1..0000000
--- a/notFinishedCode/Report/dbClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/devconf.png b/notFinishedCode/Report/devconf.png
deleted file mode 100644
index 76a3ab8..0000000
--- a/notFinishedCode/Report/devconf.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/initTestClass.png b/notFinishedCode/Report/initTestClass.png
deleted file mode 100644
index 1ff20e4..0000000
--- a/notFinishedCode/Report/initTestClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/logging.png b/notFinishedCode/Report/logging.png
deleted file mode 100644
index bf39f7a..0000000
--- a/notFinishedCode/Report/logging.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/logo.svg b/notFinishedCode/Report/logo.svg
deleted file mode 100644
index e128a45..0000000
--- a/notFinishedCode/Report/logo.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- version="1.1"
- width="354.33072"
- height="354.33072"
- id="svg2473">
- <defs
- id="defs2476" />
- <path
- d="M 165.51241,354.07293 C 159.92291,353.68518 155.21093,353.10735 150.82977,352.27242 C 149.19285,351.96047 145.44282,351.24693 142.49637,350.68678 C 128.51055,348.02794 109.81574,342.00224 98.448442,336.4893 C 94.338152,334.49588 90.156782,332.15489 83.170552,327.9358 C 70.752962,320.43662 54.952962,306.65883 43.456542,293.30469 C 37.399032,286.26834 28.628652,274.26014 27.979992,272.11455 C 27.837972,271.6448 27.398882,270.90298 27.004232,270.46605 C 26.028702,269.38607 21.187082,260.84148 18.114282,254.77691 C 15.511822,249.6406 13.241672,244.43958 11.352952,239.28635 C 10.752442,237.64794 9.7656914,235.14561 9.1601714,233.72565 C 5.4563814,225.04023 2.0063814,208.12177 0.41490137,190.83976 C -0.13863863,184.82872 -0.13822863,170.28602 0.41570137,162.82658 C 0.86472137,156.77987 1.9333514,148.60421 3.0510714,142.66436 C 3.3897314,140.86465 3.8162414,138.58784 3.9988714,137.60479 C 4.3505014,135.71209 6.1768514,128.93061 7.8497914,123.30582 C 9.9559214,116.22452 16.984632,99.670417 20.227132,94.154547 C 21.268222,92.383537 22.975632,89.415257 24.021372,87.558377 C 26.338042,83.444777 31.918272,74.994357 35.167372,70.679447 C 46.645102,55.436627 59.345762,42.957197 73.646672,32.870387 C 92.690252,19.438427 107.00916,12.506787 128.60738,6.2644674 C 129.80779,5.9175274 131.18633,5.4843574 131.67081,5.3018674 C 135.48215,3.8662574 148.55099,1.5281274 157.37744,0.70274744 C 162.29317,0.24304744 168.66535,0.025797441 177.81409,0.0059774414 C 191.49309,-0.023652559 191.52656,-0.021262559 205.79049,2.0045974 C 233.02742,5.8729874 264.22571,19.535787 286.74345,37.456667 C 297.98431,46.402767 304.52577,52.901017 314.78761,65.315537 C 323.18624,75.476007 333.05932,91.665797 337.73242,102.94027 C 338.61739,105.07538 339.69235,107.53722 340.12123,108.41105 C 341.38247,110.98082 344.00112,117.93816 345.87691,123.70301 C 351.68762,141.56104 353.72062,153.60996 354.26563,173.4203 C 354.73344,190.42412 352.68567,206.94669 347.91456,224.66464 C 343.11663,242.48214 331.98461,265.75344 321.44438,280.00009 C 314.02214,290.03233 311.25605,293.24989 302.64306,301.87004 C 289.33617,315.18799 279.57099,322.90126 265.91175,330.88316 C 256.63889,336.30184 241.2214,343.32499 234.26268,345.30029 C 232.78959,345.71845 230.4236,346.42469 229.00494,346.86972 C 222.11091,349.03233 210.07346,351.72331 202.81427,352.72465 C 193.00182,354.07821 174.97902,354.72964 165.51241,354.07293 z M 199.25801,350.89325 C 214.70887,348.91543 222.18383,347.06462 240.11613,340.77672 C 261.38663,333.31831 284.77672,317.87963 301.85052,300.02879 C 310.30101,291.1937 321.40333,277.68122 323.8903,273.20445 C 324.24156,272.57216 325.2995,270.80368 326.24129,269.27448 C 328.87689,264.99502 335.56717,251.67907 338.41446,245.04566 C 344.23987,231.47411 347.99108,218.73051 350.04785,205.5249 C 351.62276,195.41304 352.2991,179.52975 351.65461,167.7915 C 350.96173,155.17199 350.6707,152.77336 348.40164,140.98093 C 346.89733,133.16294 342.65032,119.428 339.90867,113.51445 C 338.98182,111.51528 337.81733,108.65548 337.32093,107.15935 C 336.17603,103.70864 328.84739,89.234927 325.0822,82.988447 C 320.18794,74.868807 310.63925,62.934347 302.36182,54.591307 C 293.59299,45.752987 289.25256,42.009157 280.19579,35.472077 C 262.69878,22.842937 241.01433,12.482287 222.50817,7.9094274 C 220.29762,7.3631974 217.59613,6.6577174 216.50485,6.3416974 C 215.41357,6.0256774 213.00284,5.5013074 211.14767,5.1764474 C 209.29249,4.8515774 207.23891,4.4054574 206.58414,4.1850674 C 205.47578,3.8120074 201.10385,3.4199674 188.33004,2.5481974 C 174.75857,1.6220074 154.32305,2.9426974 141.9811,5.5435974 C 140.40933,5.8748174 137.69475,6.4213474 135.94871,6.7580874 C 128.48013,8.1984574 116.28267,12.201737 108.17073,15.874997 C 107.07945,16.369157 104.57943,17.430347 102.61513,18.233227 C 100.65083,19.036107 97.882962,20.373667 96.464292,21.205587 C 95.045632,22.037507 92.813472,23.272817 91.503942,23.950717 C 86.785542,26.393297 75.682532,33.698207 71.278462,37.257497 C 69.888912,38.380517 67.889002,39.984177 66.834222,40.821177 C 63.726792,43.287047 52.871122,53.336287 49.599212,56.775877 C 45.975132,60.585677 44.148142,62.748077 39.034942,69.279567 C 33.792152,75.976587 33.326392,76.632647 29.891882,82.158267 C 28.249492,84.800647 26.117772,88.213757 25.154732,89.742947 C 23.486942,92.391217 21.145592,97.004337 16.788662,106.22648 C 14.349142,111.39012 13.164262,114.43246 11.606462,119.53247 C 10.939192,121.71703 9.5822414,126.0961 8.5910214,129.26372 C 1.5105614,151.89068 0.11804137,186.31605 5.2411414,212.0786 C 7.8800214,225.34873 13.573342,241.82603 19.853002,254.36738 C 23.173972,260.99983 31.455162,274.71246 34.372522,278.40993 C 35.061982,279.28376 36.125722,280.80302 36.736392,281.78608 C 39.938592,286.94098 51.524992,299.71076 59.744732,307.14435 C 68.367172,314.94215 74.403962,319.49541 84.956272,326.16025 C 95.694192,332.9423 111.73772,340.19644 123.84545,343.74411 C 125.48236,344.22374 127.76989,344.95862 128.92884,345.37716 C 135.56571,347.774 153.27073,350.99971 163.51903,351.67919 C 172.58723,352.28043 191.70575,351.86 199.25801,350.89325 z M 172.06008,350.25278 C 168.71788,349.89282 164.83966,348.81171 162.54371,347.59997 C 159.73381,346.11696 155.98854,342.56951 155.98854,341.39103 C 155.98854,340.20782 156.4224,340.36548 158.18976,342.19095 C 160.48416,344.56079 160.95275,344.73543 162.34826,343.74083 C 163.84466,342.67432 163.88194,341.48781 162.437,340.91699 C 160.43225,340.12502 160.15604,339.89943 160.018,338.94139 C 159.68456,336.62724 158.14253,336.37596 156.61068,338.38617 C 156.02803,339.15077 155.29617,339.77635 154.98433,339.77635 C 152.93862,339.77635 149.65918,325.86665 149.6313,317.07151 C 149.62368,314.66601 149.49881,313.5896 148.44085,306.80928 C 147.61016,301.48545 145.96562,294.77279 144.61314,291.18535 C 142.91058,286.66934 142.91722,286.2612 144.6988,285.92668 C 146.47589,285.59298 206.52263,286.02999 208.27892,286.38939 C 208.99279,286.53548 209.67611,286.81573 209.79741,287.01219 C 209.91871,287.20863 209.56771,288.57075 209.01742,290.03913 C 207.01596,295.37971 206.00942,300.22731 204.99925,309.39104 C 202.78821,329.44842 201.90243,334.39812 199.70377,338.98196 C 198.4373,341.62236 194.17349,346.07042 191.70308,347.3284 C 187.91025,349.25978 184.25838,350.09035 178.80616,350.26165 C 175.96884,350.3508 172.9331,350.34681 172.06008,350.25278 z M 171.12943,335.20862 C 171.0429,327.18148 170.84,322.3128 170.57873,321.99461 C 170.26193,321.60881 168.06457,321.51577 161.19694,321.59743 L 152.22883,321.70404 L 151.76081,322.69702 C 151.39747,323.46789 151.40993,324.40078 151.81651,326.86756 C 152.10457,328.6152 152.533,330.54009 152.76859,331.14507 C 153.13924,332.0969 153.29767,332.18207 153.94493,331.77747 C 155.01153,331.11076 155.87384,331.58323 156.55099,333.20538 C 157.00913,334.30286 157.36458,334.61283 158.16494,334.61283 C 158.99447,334.61283 159.33014,334.28901 159.91478,332.92476 C 160.43102,331.72013 161.05204,331.03946 162.08324,330.54802 C 162.87801,330.16926 163.52827,329.64712 163.52827,329.38772 C 163.52827,328.7535 162.33107,327.46335 161.74255,327.46335 C 161.11209,327.46335 160.07288,326.25618 159.89858,325.32135 C 159.82148,324.90785 159.43472,324.37164 159.03909,324.12977 C 158.45351,323.77176 158.17686,323.86432 157.55099,324.6277 C 157.12815,325.14343 156.78219,325.89676 156.78219,326.3018 C 156.78219,327.12522 155.67132,327.86054 154.42731,327.86054 C 152.80485,327.86054 153.99703,325.31913 156.35089,323.75999 C 158.33177,322.4479 158.74277,322.44067 160.19272,323.69241 C 160.82687,324.23986 161.61358,324.77872 161.94096,324.88988 C 162.26834,325.00102 162.82018,325.67022 163.16726,326.37696 C 164.05043,328.17532 164.93667,328.20946 165.9536,326.48431 C 166.77502,325.09084 169.08387,323.45751 169.08387,324.2699 C 169.08387,324.49083 168.86826,325.47848 168.60474,326.46467 C 168.21324,327.92976 167.9592,328.25774 167.21584,328.25774 C 165.93504,328.25774 165.99605,329.72215 167.30165,330.31757 C 168.19082,330.72307 169.4807,332.59642 169.4807,333.48227 C 169.4807,333.66717 169.03727,333.81844 168.49531,333.81844 C 167.71146,333.81844 167.30429,333.41227 166.50449,331.83247 C 165.95149,330.7402 165.22687,329.84651 164.89422,329.84651 C 164.56119,329.84651 163.97295,330.59228 163.58523,331.50603 C 163.00812,332.86615 162.60711,333.24249 161.36255,333.592 C 158.5479,334.38244 158.44612,336.33547 161.1723,337.24249 C 161.90808,337.4873 162.62104,337.93414 162.75666,338.23547 C 164.3261,341.72266 164.91617,341.95907 166.10689,339.57775 C 166.54382,338.70393 167.07989,337.85767 167.29814,337.69717 C 167.82534,337.30949 169.87753,337.31029 169.87753,337.69818 C 169.87753,338.38902 167.84545,340.92962 167.10466,341.16496 C 165.82123,341.57268 166.15192,342.94422 167.89338,344.43623 C 168.76641,345.18419 169.4807,345.96096 169.4807,346.1624 C 169.4807,347.03335 168.05512,346.40593 166.7029,344.93987 C 165.89693,344.06604 165.03778,343.35109 164.79368,343.35109 C 164.27433,343.35109 163.52827,344.61829 163.52827,345.50039 C 163.52827,346.81533 166.99869,348.12809 170.07594,347.9772 L 171.26642,347.91882 L 171.12943,335.20862 z M 189.80459,346.28687 C 191.71679,345.32301 193.58306,343.93473 195.36728,342.14886 C 197.7761,339.73783 198.05233,339.29998 198.05233,337.89303 C 198.05233,336.80536 197.7975,336.09389 197.22082,335.57153 C 196.40137,334.82925 196.37836,334.83187 195.63351,335.75257 C 195.21782,336.26639 194.87771,336.93736 194.87771,337.2436 C 194.87771,337.54984 193.89556,338.23515 192.69515,338.76651 C 189.90959,339.99956 189.69771,341.11487 192.12477,341.76901 C 193.85464,342.23525 194.11186,343.08122 192.77402,343.90431 C 192.17694,344.27166 191.8759,344.1209 190.94603,342.98884 C 189.80995,341.60573 188.52845,341.47269 188.52845,342.73786 C 188.52845,343.06965 187.81771,343.79021 186.94903,344.3391 C 185.11143,345.50019 184.957,345.53282 184.957,344.75996 C 184.957,343.59583 185.91164,342.13421 186.82123,341.90571 C 187.3352,341.77658 187.92914,341.34664 188.14107,340.95027 C 188.44492,340.382 188.3055,340.05567 187.48185,339.40718 C 186.90734,338.95486 186.30026,338.58477 186.13279,338.58477 C 185.96532,338.58477 185.63483,338.09324 185.39838,337.49249 C 185.16193,336.89173 184.74899,336.09599 184.48074,335.72416 C 183.65278,334.57655 184.39174,334.52252 186.00175,335.61293 C 186.8458,336.18459 187.85315,337.26584 188.24031,338.01572 C 188.62748,338.76561 189.18016,339.37916 189.4685,339.37916 C 190.11046,339.37916 190.99673,338.35552 191.61784,336.89669 C 191.87362,336.29594 192.34618,335.80442 192.66797,335.80442 C 192.98977,335.80442 193.71606,335.59325 194.28196,335.33518 C 195.74048,334.67002 195.44595,333.39965 193.63591,332.54856 C 192.72564,332.12055 192.10335,331.50306 191.94471,330.87041 C 191.64813,329.68768 190.23307,328.77583 189.63038,329.37909 C 189.41027,329.59939 189.02243,330.19684 188.76848,330.70676 C 188.27649,331.69471 184.84952,333.56975 184.62505,332.97382 C 184.55161,332.77884 184.82598,332.04611 185.23476,331.34553 C 185.7448,330.47142 186.38967,329.98748 187.29,329.80317 C 189.81175,329.28694 189.93858,328.03497 187.60854,326.65895 C 186.40547,325.94846 185.35383,324.46532 185.35383,323.4791 C 185.35383,322.81228 188.38765,324.67048 188.91781,325.66201 C 189.20155,326.19266 189.70227,326.72998 190.03053,326.85607 C 190.68592,327.1078 191.95531,326.13905 192.29607,325.12711 C 192.41511,324.77361 193.22324,324.0463 194.09193,323.51086 C 196.9043,321.77737 196.31792,321.50544 189.76753,321.50544 C 185.44877,321.50544 183.75029,321.64221 183.44132,322.01484 C 182.94375,322.61494 182.68397,346.93102 183.16677,347.71293 C 183.66768,348.52417 186.62755,347.88827 189.80459,346.28687 z M 177.39333,332.55439 C 177.3335,318.36068 177.37524,317.35501 178.04442,316.86524 C 178.59681,316.46095 181.3597,316.34192 190.19161,316.34192 C 197.54851,316.34192 201.62379,316.20033 201.62379,315.94473 C 201.62379,315.68897 197.48355,315.54753 189.99672,315.54753 C 177.71675,315.54753 177.41726,315.50365 177.41726,313.70417 C 177.41726,313.21461 177.23869,312.7036 177.02043,312.56858 C 176.79123,312.42679 176.62361,312.80278 176.62361,313.45869 C 176.62361,314.08326 176.40932,314.80875 176.14741,315.07091 C 175.79799,315.42065 172.47014,315.54753 163.64732,315.54753 C 155.89594,315.54753 151.62343,315.68867 151.62343,315.94473 C 151.62343,316.20037 155.71537,316.34192 163.10561,316.34192 C 169.60575,316.34192 175.02946,316.51 175.6057,316.72929 L 176.62361,317.11665 L 176.62361,332.41843 C 176.62361,342.84414 176.75643,347.72022 177.04043,347.72022 C 177.32548,347.72022 177.43704,342.92572 177.39333,332.55439 z M 156.30703,336.15575 C 156.40371,335.32495 156.18845,335.02476 155.20303,334.61622 C 153.60405,333.95329 153.42748,334.20789 154.26583,335.96754 C 155.0618,337.63825 156.12315,337.73613 156.30703,336.15575 z M 200.03647,333.99185 C 200.03647,333.12998 199.20987,332.88681 198.54438,333.55292 C 198.02944,334.06833 198.01086,334.28283 198.43669,334.79639 C 198.82884,335.26934 199.0804,335.30976 199.49388,334.96629 C 199.79231,334.71839 200.03647,334.2799 200.03647,333.99185 z M 197.49689,332.72008 C 197.73704,332.55958 198.14511,332.02611 198.40372,331.53458 C 198.68754,330.99513 199.24327,330.6409 199.80574,330.6409 C 200.82273,330.6409 201.21219,329.79321 201.22154,327.55928 C 201.22642,326.39459 201.15277,326.31141 200.48587,326.72828 C 199.45571,327.37222 198.44916,326.88007 198.44916,325.73244 C 198.44916,325.20365 198.11248,324.35484 197.70099,323.84619 C 197.04646,323.03713 196.86934,322.99072 196.28592,323.47537 C 195.91914,323.78005 195.35868,324.53327 195.04047,325.1492 C 194.72226,325.76511 193.83866,326.52969 193.07692,326.84826 C 190.72282,327.83277 190.86287,329.51144 193.34463,330.05703 C 193.99906,330.20089 194.63887,330.61454 194.76642,330.97625 C 195.33711,332.5945 196.5376,333.3612 197.49689,332.72008 z M 201.62379,323.6815 C 201.62379,322.16645 201.4734,321.81702 200.66209,321.44702 C 200.10625,321.19354 199.08101,321.12474 198.23279,321.28401 L 196.76519,321.55958 L 197.87983,322.7241 C 198.49289,323.36457 199.22741,323.88861 199.51211,323.88861 C 199.79681,323.88861 200.25279,324.24608 200.5254,324.68299 C 201.30023,325.92483 201.62379,325.62982 201.62379,323.6815 z M 177.39723,299.88718 C 177.42758,293.04586 177.3011,289.30778 177.03368,289.14235 C 176.75525,288.97012 176.62361,292.41007 176.62361,299.85839 C 176.62361,306.40081 176.77033,310.73733 176.98715,310.60321 C 177.19053,310.4774 177.3712,305.75628 177.39723,299.88718 z M 157.57585,309.70992 C 157.96807,309.33855 155.5271,307.60367 154.61237,307.60367 C 153.91559,307.60367 153.26691,307.00191 152.06702,305.24246 L 150.45676,302.88125 L 151.46211,300.68325 C 152.3355,298.77377 152.66646,298.43162 153.98336,298.07668 C 156.7994,297.31771 157.10393,295.71659 154.6291,294.68159 C 153.87527,294.36634 153.02454,293.63126 152.73859,293.0481 C 151.93069,291.40051 151.0314,291.01296 150.05934,291.89348 C 149.61005,292.30045 149.24246,292.88694 149.24246,293.19678 C 149.24246,293.9847 147.89274,293.65043 147.73355,292.82308 C 147.66254,292.45398 148.06227,291.75354 148.62186,291.26654 C 149.18144,290.77954 149.63928,289.96647 149.63928,289.45973 C 149.63928,288.20129 150.93664,288.24271 151.95107,289.53353 C 152.38121,290.08087 153.31359,290.77297 154.02302,291.07155 C 154.90276,291.44179 155.57804,292.1673 156.14676,293.35324 C 157.28959,295.73639 158.38753,295.86394 159.35095,293.72547 C 159.76905,292.79744 160.62843,291.79495 161.39291,291.34348 C 162.69025,290.57733 162.70348,290.5414 162.16268,289.25326 L 161.61242,287.94258 L 154.09408,287.8349 C 145.04625,287.70531 145.14826,287.65695 146.59843,291.38875 C 147.13527,292.7702 147.68036,294.43669 147.80975,295.09207 C 148.07179,296.41929 148.42946,298.09945 149.6217,303.60371 C 150.06788,305.66363 150.43294,307.84428 150.43294,308.44959 C 150.43294,310.04896 151.37793,310.43367 154.59964,310.14591 C 156.12743,310.00944 157.46672,309.81325 157.57585,309.70992 z M 202.70457,309.50376 C 203.25661,309.05904 203.51975,307.73147 203.78975,304.02892 C 203.8933,302.60895 204.14402,300.01727 204.34692,298.26961 C 204.54981,296.52196 204.58098,294.82396 204.41618,294.49627 C 203.85915,293.38867 203.63051,291.35164 204.03514,291.10134 C 204.25581,290.96483 204.68857,291.06265 204.99683,291.31873 C 205.72266,291.92166 206.16382,291.62228 206.79421,290.09898 C 207.22252,289.06399 207.21477,288.80436 206.74667,288.50777 C 206.43903,288.31283 202.96897,288.1506 199.03544,288.14726 L 191.88356,288.14117 L 191.15378,289.49754 C 190.29121,291.10073 190.46582,291.50778 192.27211,292.10445 C 193.23399,292.42219 193.74732,292.90578 194.05231,293.78147 C 194.66284,295.53445 194.60909,295.68857 193.3896,295.68177 C 191.93268,295.67365 191.48416,295.31941 191.13704,293.9027 C 190.76432,292.38156 190.20421,291.71592 189.29694,291.71592 C 188.44459,291.71592 188.094,292.20387 187.75526,293.86168 C 187.58138,294.71265 187.18116,295.19798 186.43743,295.45978 C 185.84997,295.66657 185.26907,295.73542 185.14655,295.61279 C 184.63797,295.10374 186.29423,292.05756 187.38716,291.49187 C 188.01487,291.16696 188.52845,290.65219 188.52845,290.34793 C 188.52845,289.4425 185.92665,288.07434 184.47139,288.21453 L 183.17127,288.33978 L 183.07153,298.43782 C 182.99125,306.56606 183.08047,308.70188 183.52895,309.38698 C 184.07726,310.22458 184.23002,310.23536 193.15257,310.06649 C 198.22935,309.97041 202.43269,309.72278 202.70457,309.50376 z M 184.78131,308.43485 C 184.41314,307.83859 186.17385,305.19081 187.19756,304.80124 C 188.52397,304.29647 188.36035,303.10625 186.80088,301.91568 C 185.5639,300.97133 184.21345,298.68286 184.64076,298.25516 C 185.11089,297.78459 187.27776,299.3656 187.52745,300.36135 C 188.17619,302.94851 190.02586,303.25297 191.06618,300.94384 C 191.49139,300.00002 192.28289,299.15675 193.20979,298.65998 C 194.11857,298.17293 194.72768,297.53141 194.8061,296.97873 C 194.97145,295.81339 195.72578,295.84794 197.19854,297.08833 C 197.85372,297.64014 198.93156,298.28066 199.59374,298.51171 C 200.25592,298.74276 200.90059,299.25628 201.02635,299.65285 C 201.1521,300.04944 201.71811,300.83745 202.28414,301.404 C 203.14299,302.26364 203.22968,302.53494 202.80801,303.04348 C 202.36281,303.58042 202.24985,303.54666 201.8578,302.75958 C 201.59874,302.23947 200.79124,301.69172 199.92486,301.44841 C 198.82701,301.14011 198.25637,300.66858 197.74855,299.65008 C 196.78999,297.72753 195.73093,297.82962 194.55816,299.95757 C 194.00465,300.96189 193.24993,301.74048 192.69469,301.87996 C 192.18143,302.0089 191.45585,302.45245 191.08228,302.86561 C 190.2341,303.8037 190.80068,304.64905 192.5328,305.02983 C 193.3882,305.21788 193.86427,305.67014 194.29631,306.70513 C 194.62181,307.48486 194.80288,308.20815 194.69869,308.31244 C 194.25994,308.75159 191.65659,307.07704 191.09839,305.99661 C 190.25203,304.35841 188.87395,304.41162 188.05306,306.11419 C 187.39023,307.48893 185.16974,309.06393 184.78131,308.43485 z M 197.83892,307.76446 C 198.01243,307.34833 198.24252,306.60056 198.35022,306.10275 C 198.45793,305.60493 198.92113,304.93466 199.37956,304.61327 C 200.25869,303.99694 201.62482,303.82245 201.6223,304.32681 C 201.61844,305.10332 200.01068,307.0861 198.83486,307.76446 C 197.54528,308.50845 197.52869,308.50845 197.83892,307.76446 z M 197.65551,294.12745 C 197.65551,293.34894 198.62683,292.11312 199.23871,292.11312 C 199.42352,292.11312 199.8572,292.00463 200.20243,291.87202 C 201.18407,291.49499 201.05241,293.95206 200.06256,294.4823 C 198.80132,295.15792 197.65551,294.989 197.65551,294.12745 z M 201.3025,289.82925 C 201.37606,289.44695 201.69921,289.13416 202.02062,289.13416 C 202.34202,289.13416 202.66517,289.44695 202.73873,289.82925 C 202.83256,290.31695 202.6183,290.52434 202.02062,290.52434 C 201.42293,290.52434 201.20867,290.31695 201.3025,289.82925 z M 171.28439,309.48739 C 171.3897,309.21271 171.33946,304.34485 171.17273,298.66995 L 170.8696,288.35193 L 169.40173,288.11378 C 168.5944,287.98279 167.38904,287.95565 166.72314,288.05348 C 165.65697,288.2101 165.51241,288.38613 165.51241,289.5278 C 165.51241,290.90242 166.0137,291.53932 167.28082,291.77458 C 167.81791,291.8743 168.15501,292.39015 168.3747,293.44853 C 168.54935,294.28992 168.99023,295.48323 169.35442,296.10033 C 169.98696,297.17211 169.97565,297.2991 169.10187,298.93756 C 168.59878,299.88092 167.62998,301.01306 166.94899,301.45342 C 165.29397,302.52361 165.14632,303.72074 166.58611,304.39562 C 167.19598,304.68148 167.93392,305.02993 168.22596,305.16996 C 168.518,305.30998 169.00923,306.0251 169.31758,306.75912 C 169.86487,308.06193 169.85695,308.08798 168.985,307.8541 C 168.49374,307.72233 167.77295,307.61206 167.38325,307.60908 C 166.92383,307.60557 166.40556,306.97521 165.90924,305.81629 C 165.48824,304.83324 164.95887,304.02892 164.73286,304.02892 C 164.11426,304.02892 162.73462,305.53509 162.73462,306.21044 C 162.73462,306.53645 161.84496,307.38545 160.75761,308.0971 C 159.67025,308.80877 158.77739,309.52508 158.77347,309.68894 C 158.76954,309.85278 161.53981,309.98683 164.92962,309.98683 C 169.51355,309.98683 171.14199,309.85884 171.28439,309.48739 z M 159.40177,306.83746 C 159.96244,305.68199 160.65492,304.94252 161.51545,304.58037 C 163.13477,303.89887 163.01306,302.87157 161.21216,302.02045 C 159.64449,301.27955 159.17738,300.62626 159.16924,299.1633 C 159.16462,298.33379 159.35409,298.07102 159.95682,298.07102 C 160.85805,298.07102 162.33779,299.39043 162.33779,300.19402 C 162.33779,300.48785 162.69158,301.04873 163.124,301.44042 C 164.04965,302.27889 164.88652,301.81896 165.27833,300.25643 C 165.44116,299.60707 166.09514,299.04177 167.3014,298.50769 C 168.28176,298.07363 169.08387,297.54268 169.08387,297.32779 C 169.08387,296.81228 167.13541,295.29066 166.47528,295.29066 C 166.16921,295.29066 165.85252,294.58746 165.69993,293.56901 C 165.35502,291.26686 165.0076,290.77624 163.95834,291.10957 C 163.42953,291.27756 163.01037,291.82536 162.8689,292.53334 C 162.59622,293.89804 162.2181,294.23953 160.29292,294.85979 C 159.31533,295.17476 158.76758,295.62884 158.61074,296.25428 C 158.48284,296.76437 158.0167,297.27633 157.57488,297.39197 C 157.13307,297.50761 156.49996,298.25291 156.16798,299.04819 C 155.71119,300.14244 155.13337,300.67906 153.79231,301.25443 C 151.22314,302.35672 151.45458,304.03753 154.27665,304.77176 C 154.96707,304.9514 155.63832,305.5455 156.03523,306.32824 C 157.53694,309.28973 158.16572,309.38485 159.40177,306.83746 z M 189.91735,288.53837 C 189.78246,288.31992 189.50407,288.14117 189.29869,288.14117 C 189.09332,288.14117 188.92528,288.31992 188.92528,288.53837 C 188.92528,288.75683 189.20368,288.93556 189.54395,288.93556 C 189.88421,288.93556 190.05224,288.75683 189.91735,288.53837 z M 164.02431,288.27532 C 163.75149,288.16514 163.30506,288.16514 163.03224,288.27532 C 162.75942,288.3855 162.98263,288.47566 163.52827,288.47566 C 164.07391,288.47566 164.29713,288.3855 164.02431,288.27532 z M 192.89357,348.50478 C 192.89357,347.85211 194.62992,347.36715 198.55498,346.92358 C 200.57021,346.69584 203.7369,346.23294 205.59207,345.89493 C 217.74743,343.6802 237.37741,337.60361 236.98039,336.17846 C 236.89265,335.86351 236.5646,334.62276 236.25139,333.42126 C 235.46196,330.39288 234.73291,329.71472 232.74597,330.16054 C 230.74724,330.60899 230.19542,330.40499 230.19542,329.21762 C 230.19542,328.25675 230.98888,327.25687 232.4128,326.42337 C 233.15651,325.98804 233.15418,325.91677 232.2961,322.84863 C 230.97113,318.11108 228.73812,311.74625 228.01165,310.6365 C 227.65613,310.09342 226.81694,309.45775 226.14678,309.22392 C 224.96181,308.81046 224.93535,308.74726 225.1847,306.92638 C 225.32572,305.89657 225.57332,304.92425 225.73492,304.76566 C 225.89651,304.60707 226.74302,304.64163 227.61604,304.84246 C 228.48906,305.04328 229.7005,305.3048 230.30813,305.4236 C 231.57648,305.6716 231.82969,306.19013 232.75413,310.43259 C 233.49044,313.81167 238.0475,325.42502 239.30535,327.12792 C 240.17517,328.3055 240.34324,329.26194 239.74533,329.63181 C 239.30182,329.90616 238.13199,333.78728 238.13199,334.98432 C 238.13199,336.69975 239.11285,336.44223 248.25111,332.32764 C 255.17802,329.20873 261.93839,325.59705 266.54643,322.55347 C 268.83601,321.04123 279.01126,313.97323 281.2068,312.36999 C 288.2748,307.20876 304.3925,291.55035 309.62146,284.76503 C 311.1366,282.79892 313.85489,279.27212 315.66212,276.9277 C 324.0342,266.06697 329.83558,255.74005 334.57667,243.2583 C 335.19901,241.61987 336.25825,238.84944 336.93054,237.10179 C 339.51846,230.37432 341.43648,224.16451 342.88056,217.8379 C 343.35427,215.76256 343.88893,213.43898 344.06869,212.67438 C 346.29445,203.20739 348.2186,185.74062 347.85351,178.31713 C 347.74608,176.13257 347.56737,171.30666 347.45639,167.5929 C 347.34541,163.87915 347.07681,159.67882 346.85951,158.25886 C 346.64221,156.83888 346.27723,154.33657 346.04844,152.69814 C 344.43181,141.12119 340.93419,128.04284 336.29652,116.23359 C 328.29774,95.865717 319.79773,81.285177 307.52215,66.875327 C 302.90122,61.450997 294.753,53.399727 293.88427,53.399727 C 293.58703,53.399727 293.28733,53.891257 293.21827,54.492017 C 293.09826,55.535967 292.99613,55.584297 290.91015,55.584297 C 288.79804,55.584297 288.72337,55.547227 288.59661,54.435807 C 288.461,53.246777 289.13448,52.471767 290.02073,52.796967 C 290.69611,53.044787 292.59489,52.293377 292.43051,51.843327 C 292.14533,51.062517 285.64368,45.562427 279.99737,41.325467 C 273.53707,36.477697 263.92416,29.920827 259.12403,27.087997 C 254.4719,24.342487 243.10536,19.263117 238.03278,17.662937 C 236.49936,17.179197 236.00959,16.447727 237.23913,16.477587 C 237.62107,16.486867 239.0943,16.912547 240.51296,17.423547 C 241.93162,17.934547 244.61021,18.901347 246.46538,19.571987 C 256.41434,23.168537 276.60464,35.761967 288.43957,45.752827 C 292.06734,48.815327 306.49507,63.381787 309.37787,66.892437 C 317.30056,76.540677 317.95073,77.406837 322.20693,83.983637 C 328.28005,93.368007 329.55763,95.733047 333.90058,105.6307 C 335.21854,108.63436 340.11686,121.21149 340.11686,121.59189 C 340.11686,121.74795 340.63017,123.31454 341.25755,125.07319 C 343.53855,131.46717 344.12571,133.66878 345.71195,141.77532 C 348.89117,158.02291 349.80369,171.59418 348.83664,188.24697 C 348.14093,200.22729 348.04704,201.31413 347.48127,203.93613 C 347.17487,205.35609 346.53646,208.30525 346.06257,210.48981 C 345.58868,212.67438 344.96415,215.62355 344.67471,217.04351 C 343.74973,221.5814 338.79332,236.91061 336.45549,242.46391 C 332.68057,251.43091 327.62294,262.03402 326.41414,263.51517 C 326.14671,263.84285 325.30756,265.27275 324.54937,266.69272 C 322.71503,270.1281 314.73466,281.23367 310.00152,286.93766 C 303.54795,294.71495 288.19187,309.36321 281.18786,314.42319 C 278.02308,316.70956 266.29814,324.44012 264.12424,325.6737 C 263.03296,326.29294 260.89009,327.56472 259.3623,328.49987 C 256.32894,330.35658 252.30332,332.26785 246.46538,334.62306 C 244.39196,335.45955 241.62408,336.66744 240.31455,337.30727 C 237.44009,338.71169 232.19465,340.64763 228.4097,341.701 C 226.88191,342.12618 222.77474,343.3155 219.28265,344.34392 C 212.73045,346.27353 210.24836,346.76954 200.4333,348.11065 C 193.80733,349.01601 192.89357,349.06379 192.89357,348.50478 z M 152.21867,347.24491 C 150.43625,346.90228 145.99985,345.99928 137.93285,344.33712 C 130.4427,342.79382 118.77998,338.87352 108.36914,334.39962 C 103.96126,332.50539 101.67599,331.38949 92.297602,326.55182 C 75.078982,317.66993 53.920802,299.40926 40.888862,282.18327 C 38.146592,278.55847 31.856692,269.17229 28.906242,264.30209 C 23.660942,255.64385 13.815872,233.58491 12.512042,227.56914 C 12.370002,226.91377 11.829142,224.99304 11.310122,223.30084 C 10.173512,219.59503 8.5208214,212.43523 8.1696014,209.69543 C 8.0295814,208.60315 7.6765914,206.81577 7.3851814,205.72349 C 5.4804814,198.5841 4.5669414,174.01715 5.7826314,162.62799 C 6.8182014,152.92635 7.1439414,150.55673 7.9665914,146.74024 C 8.4139414,144.6649 9.1349314,141.2053 9.5687814,139.05224 C 10.002632,136.89918 10.437412,135.00833 10.534962,134.85037 C 10.632502,134.69239 11.175052,132.78987 11.740622,130.62255 C 15.628782,115.7227 20.915992,103.45497 31.095012,85.715187 C 31.617922,84.803877 35.321712,79.487667 38.417552,75.204827 C 43.123122,68.695057 52.294852,58.453667 59.315122,51.870037 C 73.531362,38.538037 80.879722,33.141087 94.281742,26.189087 C 105.14596,20.553517 111.17134,17.627047 113.34648,16.929567 C 116.44829,15.934927 120.67082,15.420347 120.67082,16.036987 C 120.67082,16.283757 120.4476,16.550937 120.17478,16.630737 C 113.09619,18.701197 105.29315,21.824377 100.7334,24.412207 C 100.35322,24.627967 97.763912,26.033907 94.979392,27.536507 C 79.425902,35.929557 69.989992,43.040417 56.327762,56.664187 C 52.289932,60.690657 45.078122,68.829857 41.271492,73.656597 C 35.755612,80.650657 24.295382,99.442887 24.739062,100.76614 C 24.830422,101.03862 25.514792,101.26157 26.259882,101.26157 C 27.565242,101.26157 27.628182,101.33208 27.987902,103.19746 C 28.315572,104.89666 28.269022,105.20084 27.607122,105.68528 C 26.538192,106.46762 26.096902,106.18658 25.600402,104.40728 C 24.963792,102.12587 23.786812,102.08941 22.725402,104.31821 C 21.066632,107.80138 17.607992,116.02074 16.991912,117.9437 C 16.641952,119.03598 15.878212,121.35957 15.294682,123.10721 C 14.711162,124.85487 14.050122,126.99971 13.825702,127.87354 C 13.601282,128.74736 13.174442,130.1362 12.877182,130.95983 C 11.685802,134.26079 12.198232,134.72952 18.606572,136.20059 C 24.613892,137.5796 24.923192,137.32585 22.203672,133.24958 C 20.311752,130.41381 20.269632,130.52836 24.040212,128.25575 C 26.308492,126.8886 26.465512,126.85108 27.459442,127.43875 C 29.010662,128.35592 35.089062,129.6765 38.924192,129.92954 C 42.699132,130.17862 43.289302,130.56006 43.289302,132.75083 C 43.289302,133.49296 43.861122,135.29085 44.560022,136.74616 C 45.258912,138.20145 45.839282,139.50683 45.849712,139.64698 C 45.869642,139.91462 38.910502,145.15146 38.534902,145.15146 C 38.415462,145.15146 37.338112,144.77544 36.140792,144.31587 C 33.006132,143.11269 26.367792,141.94827 20.900282,141.64258 L 16.170122,141.37812 L 15.612692,139.70042 C 15.104052,138.16955 13.179592,136.01601 12.320212,136.01601 C 11.239982,136.01601 10.067822,141.06489 7.9861714,154.68411 C 6.3871514,165.14572 6.0060814,185.64947 7.2110614,196.38944 C 7.5913514,199.77892 9.4269714,210.06309 10.578582,215.25614 C 12.304282,223.03802 17.336352,237.95449 20.744952,245.39215 C 22.633322,249.51261 28.944092,261.63476 30.696722,264.50815 C 39.342662,278.683 53.066112,296.08505 55.598622,296.08505 C 56.164442,296.08505 57.795172,294.77428 60.264212,292.33486 C 63.526722,289.11151 63.987862,288.49773 63.546742,287.96573 C 63.166532,287.50718 62.271632,287.34679 60.093462,287.34679 C 56.795242,287.34679 56.959612,287.50925 56.596652,283.89061 L 56.349582,281.42743 L 57.654182,280.75217 C 59.684042,279.70152 63.130422,276.71501 66.139642,273.39898 L 68.884732,270.37399 L 73.423882,270.52803 C 75.920422,270.61275 78.008942,270.72801 78.065042,270.78417 C 78.121152,270.84032 78.460582,272.31098 78.819342,274.0523 C 79.178102,275.79364 79.646632,277.43034 79.860522,277.68945 C 80.294502,278.21518 79.640142,279.80011 78.989102,279.80011 C 78.778092,279.80011 75.836182,282.5698 72.451512,285.95498 C 66.604772,291.80261 63.527542,295.6471 63.527542,297.10404 C 63.527542,297.63526 63.275982,297.71505 62.237852,297.51312 C 58.478012,296.78178 57.196222,296.76769 56.932802,297.45478 C 56.584852,298.36237 58.549562,300.34936 66.978802,307.61467 C 76.955652,316.2139 87.477732,322.90149 103.40879,330.76873 C 109.75028,333.90035 123.8281,339.36264 129.20263,340.77691 C 130.29391,341.06408 132.16892,341.59306 133.36932,341.95243 C 134.56973,342.31179 136.62332,342.87436 137.93285,343.20258 C 140.80298,343.92193 155.26363,346.52864 156.38408,346.52864 C 156.82614,346.52864 157.17902,346.79312 157.17902,347.12443 C 157.17902,347.81378 155.40245,347.85691 152.21867,347.24491 z M 66.866202,285.38817 C 68.719242,283.91421 73.211112,279.34004 74.022112,278.10116 C 74.577202,277.2532 74.577752,276.95836 74.027642,275.10424 C 73.692072,273.97321 73.198822,273.04782 72.931532,273.04782 C 72.664242,273.04782 69.963432,275.53699 66.929712,278.57932 L 61.413882,284.11082 L 62.065212,285.10579 C 62.424432,285.65454 63.209852,286.17536 63.816502,286.26707 C 64.421472,286.35854 65.025822,286.46016 65.159502,286.49289 C 65.293182,286.52563 66.061202,286.0285 66.866202,285.38817 z M 38.840792,138.83502 C 39.650562,138.41937 40.731752,137.63023 41.243452,137.0814 L 42.173812,136.0835 L 41.243452,135.49867 C 40.245172,134.87113 38.950482,134.55832 31.663482,133.18393 C 26.748392,132.25691 25.342832,132.36115 24.493502,133.71564 C 24.157202,134.25196 24.318772,134.75154 25.264292,136.0988 C 26.209632,137.44579 26.789752,137.8652 28.029662,138.09804 C 28.892642,138.26011 30.848732,138.64367 32.376522,138.9504 C 36.215822,139.72121 37.146732,139.70458 38.840792,138.83502 z M 136.53143,339.08126 C 135.56857,337.60668 133.52569,334.73304 131.9917,332.6954 C 127.63539,326.90878 127.8031,327.26207 128.40097,325.13114 C 129.6153,320.80305 130.59153,315.85743 130.59153,314.0336 C 130.59153,311.84411 130.85336,311.52612 133.21081,310.8526 C 134.10577,310.59691 135.87086,309.83604 137.13322,309.16179 L 139.42842,307.93587 L 141.08859,309.7458 C 142.00168,310.74125 143.40625,311.8307 144.20988,312.16678 C 145.0135,312.50286 145.671,312.97836 145.671,313.22344 C 145.671,313.46851 145.20952,315.91115 144.64548,318.65152 C 144.08144,321.39188 143.57822,324.46004 143.52722,325.46964 C 143.4056,327.8769 143.24523,328.07792 141.01501,328.61883 C 138.09252,329.32762 136.98887,329.86352 136.72265,330.70307 C 136.41335,331.67847 137.06112,332.66098 139.86155,335.46397 C 141.09245,336.69601 142.09955,337.83391 142.09955,337.99267 C 142.09955,338.15142 141.56383,338.89202 140.90906,339.63843 C 140.25429,340.38486 139.71858,341.16809 139.71858,341.37895 C 139.71858,341.5898 139.39537,341.76232 139.00034,341.76232 C 138.55108,341.76232 137.62647,340.75827 136.53143,339.08126 z M 137.51187,328.95283 C 138.34527,328.21698 138.69434,327.21732 139.48831,323.29282 C 140.01866,320.67134 140.64215,317.91053 140.87386,317.15769 C 141.33539,315.65812 140.97513,314.79597 138.99772,312.66789 C 136.85337,310.36012 135.69833,311.52239 134.55286,317.14058 C 134.08566,319.43203 133.43557,322.25012 133.10822,323.40302 C 132.52526,325.45606 132.53423,325.53541 133.54411,327.26023 C 134.47355,328.84766 135.46632,329.80121 136.2242,329.83443 C 136.37572,329.84107 136.95517,329.44435 137.51187,328.95283 z M 213.33022,333.99277 C 211.38805,332.65108 211.34044,332.56964 211.07935,330.14202 C 210.66698,326.30786 209.67195,320.66234 209.13711,319.12228 C 208.43177,317.09131 207.58242,316.25424 206.5023,316.52559 C 205.8562,316.6879 205.59207,316.58136 205.59207,316.15842 C 205.59207,315.10484 208.12442,310.38402 208.68958,310.38402 C 208.98999,310.38402 209.96595,311.0096 210.85839,311.7742 C 211.75083,312.5388 212.78389,313.16437 213.15408,313.16437 C 213.58384,313.16437 214.35483,312.15928 215.28685,310.38402 C 216.08968,308.85483 216.96002,307.60986 217.22094,307.61744 C 217.48186,307.62502 218.8771,308.50466 220.32147,309.57219 L 222.94761,311.51316 L 223.35657,315.21842 C 224.07878,321.7618 225.35675,325.60906 227.10943,326.51623 C 228.12379,327.04127 228.23361,327.26756 228.01436,328.38085 C 227.64527,330.25503 226.97564,331.83247 226.54914,331.83247 C 226.1427,331.83247 223.61989,329.89615 221.80209,328.18899 C 220.80476,327.25237 220.67155,326.84877 220.67155,324.76384 C 220.67155,320.46228 218.76575,314.45382 217.12207,313.57334 C 215.83122,312.88186 215.21624,313.10678 214.2882,314.60977 C 213.43023,315.99928 213.41308,316.2033 213.84472,319.88568 C 214.597,326.30341 215.05798,327.89886 216.55716,329.27331 L 217.89214,330.49724 L 217.00008,332.95187 C 216.50945,334.30193 215.92945,335.39682 215.71119,335.38498 C 215.49294,335.37314 214.4215,334.74665 213.33022,333.99277 z M 119.16287,328.97268 C 118.90097,328.71053 118.68668,328.24334 118.68668,327.93448 C 118.68668,327.62561 118.29864,326.68186 117.82438,325.83725 C 117.03959,324.4396 117.01751,324.2384 117.57871,323.5986 C 118.25219,322.83079 119.08351,318.63936 119.08351,316.01149 C 119.08351,314.898 118.82939,314.1016 118.30736,313.57909 C 117.53705,312.80808 117.54825,312.78722 119.79547,310.80436 C 121.04081,309.70553 122.28293,308.80395 122.55575,308.80086 C 123.12156,308.79445 123.14131,310.22299 122.68476,318.1293 C 122.38171,323.37738 122.54083,324.39844 123.81106,325.35648 C 124.35912,325.76984 124.18366,326.06339 122.45655,327.62254 C 120.33063,329.54171 119.90548,329.71598 119.16287,328.97268 z M 108.18957,324.5837 C 108.1045,324.31063 107.94293,323.28288 107.83051,322.29983 C 107.71809,321.31677 107.50517,320.11247 107.35736,319.62359 C 107.15603,318.95771 107.27411,318.67835 107.82809,318.50994 C 108.2348,318.38631 109.9041,317.62449 111.53765,316.81704 C 113.1712,316.00959 114.68389,315.27619 114.89918,315.18728 C 115.11447,315.09837 114.81554,315.59074 114.23488,316.28145 C 113.04663,317.69491 112.51653,320.23167 112.91549,322.59529 C 113.17407,324.12721 113.15821,324.15192 111.62004,324.61319 C 109.6077,325.21666 108.38347,325.20613 108.18957,324.5837 z M 243.22364,324.48341 C 243.11398,324.37365 243.10759,322.40821 243.20946,320.11575 L 243.39466,315.94765 L 241.96656,315.3504 C 241.1811,315.02191 239.99317,314.75315 239.32671,314.75315 C 238.43181,314.75315 238.02924,314.51948 237.78707,313.85946 C 235.49493,307.61234 235.51431,307.72842 236.01484,303.24466 L 236.34626,300.27584 L 238.00246,299.99371 C 240.06175,299.64291 241.61629,298.84964 242.86389,297.51296 C 244.22651,296.05307 244.86442,296.19345 244.94849,297.97172 C 245.14245,302.07415 245.11392,304.08163 244.85942,304.23906 C 244.70487,304.33466 244.49724,303.43301 244.39802,302.2354 C 244.29879,301.03778 244.08766,299.92783 243.92883,299.76885 C 243.76999,299.60987 243.07037,300.1322 242.37412,300.92959 C 241.67786,301.72696 240.53917,302.65988 239.84367,303.00272 C 239.14818,303.34557 238.47612,303.79292 238.35021,303.99685 C 238.03703,304.50405 239.56676,308.49401 240.55795,309.75527 C 241.51871,310.9778 243.08832,311.1076 243.67363,310.01294 C 243.89956,309.59038 244.08715,308.56265 244.09049,307.72907 C 244.09383,306.89551 244.26967,305.94538 244.48124,305.6177 C 244.70674,305.26845 244.86843,305.21561 244.87199,305.49002 C 244.88455,306.45692 246.07678,307.18496 247.25979,306.94814 C 249.50387,306.49891 250.25809,307.0171 252.00969,310.21154 L 253.65928,313.21994 L 253.03854,315.95163 C 252.69714,317.45405 252.41781,319.29917 252.41781,320.05188 C 252.41781,321.6035 251.96153,321.90264 249.59481,321.90264 C 247.70646,321.90264 245.74518,322.67917 244.71736,323.83379 C 243.95494,324.69025 243.58921,324.84932 243.22364,324.48341 z M 246.26697,319.51948 C 247.12316,319.08257 248.50582,318.72509 249.33954,318.72509 C 251.27722,318.72509 251.54007,318.06633 250.68533,315.35228 C 249.67828,312.15462 248.74089,311.17841 246.67745,311.17841 C 245.59985,311.17841 244.88622,311.37863 244.75634,311.7174 C 244.39116,312.66993 243.97878,319.42425 244.25818,319.87676 C 244.59674,320.42505 244.43653,320.45355 246.26697,319.51948 z M 87.138832,319.69109 C 83.185732,317.43918 82.536212,316.86072 83.368962,316.33365 C 84.347152,315.71452 85.450642,315.896 87.337242,316.98629 C 89.935602,318.48792 92.158882,319.2214 92.643082,318.73676 C 93.309332,318.0699 91.885362,315.68003 90.128342,314.51623 C 88.286482,313.29621 88.111222,312.54291 89.519802,311.90053 C 90.264852,311.56075 90.763542,311.56286 91.522612,311.90904 C 92.078522,312.16256 92.700372,312.36999 92.904502,312.36999 C 93.108632,312.36999 94.930592,309.93541 96.953312,306.95981 C 102.45131,298.87178 102.05834,299.63388 101.5957,297.95682 C 101.3734,297.15094 100.84218,296.30446 100.41522,296.07574 C 99.163662,295.40532 99.538262,294.767 101.87787,293.58339 C 103.60305,292.71062 104.19512,292.57178 104.63471,292.93694 C 104.9426,293.1927 105.19452,293.60757 105.19452,293.85887 C 105.19452,294.11018 105.81952,295.26569 106.58342,296.42668 C 107.34731,297.58765 107.97231,298.62853 107.97231,298.73973 C 107.97231,298.85094 107.01168,300.04181 105.83757,301.38613 C 103.82326,303.69243 98.892132,311.16454 97.199392,314.47549 C 96.529362,315.78604 96.492352,316.16459 96.918862,317.34516 C 97.189082,318.09314 97.331282,318.76988 97.234862,318.84903 C 96.655432,319.32467 91.502312,321.50493 90.963352,321.50249 C 90.605912,321.50086 88.884872,320.68573 87.138832,319.69109 z M 101.23739,316.86169 C 100.18392,315.5212 100.33276,314.35088 101.65056,313.61307 C 102.99862,312.85831 104.54235,313.28052 105.12648,314.56372 C 105.75443,315.94319 105.71992,316.21323 104.79769,317.13632 C 103.68226,318.25276 102.24338,318.14178 101.23739,316.86169 z M 257.83649,312.43801 C 256.43072,310.88322 257.32257,308.69595 259.3623,308.69595 C 260.72032,308.69595 261.54486,309.47884 261.54486,310.76829 C 261.54486,312.83651 259.16546,313.90786 257.83649,312.43801 z M 266.67562,310.90608 C 266.45277,310.31939 266.33621,308.93418 266.41662,307.82783 C 266.53162,306.2453 266.63001,306.00689 266.87791,306.70997 C 267.28945,307.87716 267.79382,307.8384 268.79649,306.56255 C 269.24649,305.98993 270.21966,305.26843 270.95907,304.95919 C 272.49935,304.31503 272.47674,303.71234 270.81553,301.13326 C 269.67742,299.36632 268.22287,298.66135 267.03177,299.29939 C 266.3101,299.68597 266.23835,300.03379 266.37627,302.47699 C 266.46146,303.98593 266.47439,305.2205 266.40502,305.2205 C 266.33564,305.2205 265.83838,304.93161 265.29999,304.57852 C 264.52838,304.07248 263.78885,303.9936 261.80747,304.20598 L 259.29382,304.47542 L 256.81617,300.08448 C 254.54628,296.06173 254.37143,295.58506 254.73092,294.39982 C 254.94675,293.68828 255.22911,292.23045 255.3584,291.1602 C 255.62704,288.93642 256.13655,288.14117 257.29268,288.14117 C 258.60981,288.14117 261.41006,286.26869 262.33634,284.76854 C 262.80965,284.00202 263.34706,283.37485 263.53059,283.37485 C 263.90831,283.37485 264.55188,285.23099 264.94219,287.44608 C 265.23918,289.1316 264.95817,289.31861 263.96784,288.09448 C 263.29233,287.25949 263.28034,287.26741 262.31377,289.18677 C 261.52037,290.76222 260.95532,291.30394 259.26135,292.11312 C 258.11802,292.65925 257.18193,293.25789 257.18116,293.44342 C 257.17954,293.83046 259.84604,298.34053 260.65578,299.32033 C 261.31688,300.12027 263.39986,300.47542 264.6556,300.00228 C 265.5631,299.66036 265.57744,299.5752 265.29907,296.18074 L 265.01436,292.70891 L 265.8434,293.45143 C 266.50771,294.04642 267.02243,294.14143 268.43371,293.9296 C 270.10209,293.67918 270.24273,293.73428 271.10086,294.97444 C 271.5991,295.6945 272.7057,297.0579 273.55997,298.00419 C 274.9846,299.58232 275.08699,299.84534 274.79684,301.18174 C 274.62285,301.9831 274.47179,303.78237 274.46114,305.18014 C 274.44036,307.9081 274.35153,308.02029 271.77509,308.57289 C 271.18143,308.70023 269.947,309.51729 269.03191,310.3886 C 268.11681,311.25991 267.30346,311.9728 267.22445,311.9728 C 267.14545,311.9728 266.89848,311.49277 266.67562,310.90608 z M 84.422662,310.88051 C 84.321672,310.71667 84.047432,309.54453 83.813232,308.27577 C 83.579032,307.00701 83.283442,305.80053 83.156362,305.59471 C 82.814012,305.04028 81.604942,305.13878 79.779632,305.8698 C 78.845192,306.24403 78.014742,306.37023 77.819342,306.1677 C 77.632872,305.97443 77.421312,304.83874 77.349212,303.64395 C 77.220402,301.50939 77.242282,301.45965 78.607022,300.78337 C 80.678332,299.75699 81.271192,299.8926 82.376892,301.64576 C 82.928012,302.51959 83.555612,303.23454 83.771572,303.23454 C 84.103432,303.23454 87.429072,299.06742 90.809492,294.41584 C 91.935132,292.86691 91.954192,291.18731 90.857722,290.16486 C 89.958552,289.32638 90.078052,288.14117 91.061762,288.14117 C 91.377902,288.14117 92.449712,287.79229 93.443562,287.36589 C 95.474652,286.49446 95.583582,286.56152 96.316212,289.13416 C 96.565062,290.00799 97.000982,291.28737 97.284922,291.97723 C 97.770932,293.15802 97.727832,293.31514 96.549492,294.65844 C 95.861062,295.44324 94.404982,297.38112 93.313762,298.96485 C 92.222552,300.54858 90.788572,302.61032 90.127152,303.54649 C 88.702902,305.56238 88.667182,305.88807 89.744452,307.03582 L 90.564342,307.90937 L 89.446832,308.69763 C 88.329322,309.4859 85.157032,311.17841 84.797092,311.17841 C 84.692152,311.17841 84.523662,311.04435 84.422662,310.88051 z M 107.39957,307.91248 C 106.36708,306.43702 106.79819,305.0759 108.60261,304.11419 C 110.5177,303.0935 112.89618,305.40297 111.89324,307.30936 C 111.26247,308.5083 110.78,308.78199 109.28451,308.78917 C 108.42029,308.79331 107.82087,308.51452 107.39957,307.91248 z M 67.793452,306.18521 C 67.237492,305.61973 67.492852,304.45566 68.263402,304.04289 C 68.685562,303.81675 69.757002,303.63173 70.644372,303.63173 C 72.090382,303.63173 72.257772,303.73233 72.257772,304.60128 C 72.257772,305.13452 72.094012,305.67212 71.893852,305.79593 C 71.243902,306.19799 68.099512,306.49651 67.793452,306.18521 z M 284.7446,305.5184 C 284.64109,305.24533 284.51276,304.31604 284.45944,303.45333 C 284.37401,302.07124 284.48941,301.83881 285.43005,301.49833 C 287.0255,300.92083 287.73552,301.71517 287.73552,304.07755 L 287.73552,306.01489 L 286.33417,306.01489 C 285.56343,306.01489 284.84812,305.79147 284.7446,305.5184 z M 207.57621,304.68679 C 207.57621,304.35935 209.14818,303.65007 211.6437,302.85152 C 213.88082,302.13565 216.29761,301.30339 217.01435,301.00206 C 217.73108,300.70073 218.53512,300.45418 218.8011,300.45418 C 220.91713,300.45418 237.67654,292.8168 245.67173,288.20906 C 251.23951,285.00026 259.9685,278.15831 266.06501,272.22442 C 272.72546,265.74164 278.62116,259.31872 281.35117,255.57129 C 286.47915,248.53225 292.43973,238.69897 291.90375,238.16251 C 291.78172,238.04036 291.12134,238.64541 290.43626,239.50708 C 287.18267,243.59924 282.10151,247.52351 277.66236,249.37256 C 272.12438,251.67931 263.34316,252.43315 258.37023,251.02872 C 252.08698,249.25423 245.45716,244.36917 241.89491,238.88917 C 236.64082,230.80652 234.62563,223.835 233.82681,210.97765 C 233.45797,205.04111 233.95186,190.81052 234.76045,184.07644 C 235.08833,181.34574 235.35606,178.62628 235.3554,178.03321 C 235.35376,176.57295 236.3302,176.12042 238.53437,176.55987 C 240.37384,176.92662 248.4899,177.92896 254.40195,178.51953 C 261.52765,179.23133 289.57675,178.71568 295.27526,177.76811 C 296.69392,177.53222 299.72966,177.04361 302.02134,176.68233 C 304.31303,176.32104 306.50054,175.86452 306.88249,175.66784 C 307.47482,175.36281 307.57694,174.71714 307.57694,171.27688 C 307.57694,169.05853 307.39449,166.24972 307.17149,165.03506 C 306.9485,163.82039 306.30518,160.2349 305.7419,157.06727 C 303.17322,142.6224 298.62448,128.83574 292.66157,117.42247 C 289.33779,111.06062 284.13754,102.38825 281.661,99.076997 C 278.21409,94.468337 270.62618,86.017467 266.86065,82.593467 C 258.16946,74.690507 246.73464,66.367337 239.6201,62.765637 C 236.60636,61.239947 235.85361,60.541627 237.23913,60.556827 C 238.17091,60.567057 244.43081,63.919707 248.0392,66.341067 C 255.58903,71.407297 256.74085,71.907867 254.8561,69.303647 C 254.23013,68.438717 253.49305,67.187557 253.21816,66.523297 C 252.94326,65.859027 252.56144,65.315537 252.36966,65.315537 C 252.17789,65.315537 252.02098,65.055257 252.02098,64.737147 C 252.02098,64.294667 252.69704,64.131337 254.89798,64.042057 L 257.77499,63.925357 L 257.64572,60.685177 L 257.51646,57.444987 L 260.31537,54.265777 C 261.85476,52.517217 263.60937,50.252387 264.2145,49.232827 L 265.31473,47.379077 L 270.76706,47.253647 L 276.2194,47.128207 L 276.55828,48.575897 C 276.74467,49.372127 277.28527,51.900317 277.75961,54.194117 C 278.23395,56.487907 278.73083,58.775887 278.86379,59.278497 C 279.08274,60.106217 279.00488,60.167057 278.03752,59.924027 C 276.56517,59.554157 274.7148,61.332487 274.37792,63.441167 C 274.16402,64.780067 274.0206,64.948497 273.25764,64.756837 C 271.84284,64.401417 270.68297,66.001917 270.27821,68.868147 C 269.89553,71.577937 269.51539,72.221637 267.76176,73.129317 C 266.3966,73.835917 263.12672,73.688817 259.47176,72.756387 C 258.22243,72.437657 257.29582,72.331667 257.41262,72.520837 C 257.52943,72.709997 259.62304,74.540557 262.0651,76.588717 C 269.73748,83.023597 275.12123,88.770537 283.16709,99.114257 C 290.05543,107.96989 297.92772,123.01535 301.95575,135.02302 C 303.77027,140.43215 304.70692,143.99541 306.18427,151.10937 C 308.82785,163.83916 308.96563,165.02106 308.96244,174.94098 C 308.95526,197.26707 305.58629,212.41538 295.8737,233.79346 C 290.87806,244.78922 283.15355,256.46663 274.77457,265.68976 C 267.29208,273.92609 259.76453,280.33148 248.32927,288.19277 C 239.76321,294.0816 224.07641,301.09213 213.24196,303.87351 C 207.17561,305.43084 207.57621,305.37334 207.57621,304.68679 z M 267.7949,248.82443 C 269.68127,248.81836 269.86135,248.43477 268.68221,246.93435 C 267.35162,245.24121 268.19621,245.383 270.0008,247.1557 C 271.6613,248.78685 272.358,249.06096 273.61566,248.57791 C 274.58302,248.20636 274.36232,247.7167 273.10271,247.43978 C 270.77407,246.92785 269.68214,244.67371 270.44966,241.96293 C 270.88143,240.43799 270.02336,240.85687 268.48935,242.91986 C 267.83459,243.80042 266.62922,245.25584 265.81076,246.15416 C 264.08776,248.04527 263.80119,249.44872 265.21552,249.06935 C 265.70659,248.93763 266.86732,248.82741 267.7949,248.82443 z M 263.14832,248.30988 C 263.48458,248.04376 264.27899,247.11107 264.91368,246.23725 C 265.54836,245.36342 266.3633,244.38037 266.72465,244.05268 C 267.08599,243.725 268.42034,242.02699 269.68985,240.27934 C 270.95937,238.53169 273.00693,235.94001 274.23999,234.52003 C 275.47305,233.10006 277.30181,230.77649 278.30391,229.35652 C 280.07428,226.84792 284.5609,222.11112 284.5609,222.75063 C 284.5609,223.15842 281.45205,227.22645 278.60195,230.5481 C 275.68503,233.94763 274.53877,235.6232 274.81928,236.0775 C 274.94537,236.28172 274.69298,236.56177 274.2584,236.69982 C 273.48622,236.94513 271.06874,239.5704 271.06874,240.16364 C 271.06874,240.32815 271.84222,240.35663 272.78759,240.22693 C 274.95853,239.92909 276.72086,240.77933 277.41642,242.46012 C 277.8441,243.49358 277.82246,243.94279 277.27817,245.32968 C 276.92326,246.23404 276.67559,247.0108 276.72781,247.05581 C 276.78002,247.10081 277.22055,246.98697 277.70676,246.80282 C 278.19296,246.61867 279.08583,245.5715 279.6909,244.47579 C 280.69545,242.65667 281.62508,241.77615 282.07046,242.22194 C 282.16604,242.3176 282.04491,242.76866 281.80129,243.22428 C 281.45736,243.8675 281.47422,244.05268 281.87669,244.05268 C 282.62587,244.05268 284.10931,242.4853 284.88407,240.87513 C 285.27666,240.0592 286.12669,239.19913 286.94187,238.79303 C 288.56882,237.98251 289.35347,237.04807 289.05683,236.27432 C 288.9283,235.93906 289.22378,235.57864 289.81006,235.35553 C 290.90323,234.93952 292.85001,230.94529 291.95959,230.94529 C 291.68796,230.94529 291.23102,231.16872 290.94418,231.44179 C 290.61064,231.75931 290.65597,231.4754 291.06995,230.65412 C 291.42596,229.94783 292.23407,229.10246 292.86574,228.7755 C 293.79053,228.29683 294.21435,227.57962 295.04158,225.09339 C 296.19342,221.63153 296.29252,220.78063 295.57288,220.53158 C 295.30006,220.43715 292.48754,220.59401 289.32284,220.88013 C 281.88233,221.55284 255.49712,221.95477 246.14247,221.53791 C 242.1454,221.35978 238.50689,221.35064 238.05689,221.51759 C 237.3441,221.78202 237.27298,222.03568 237.50479,223.4867 C 238.22229,227.97781 242.25457,236.53223 243.7939,236.82895 C 244.84018,237.03063 244.63071,235.82795 243.48917,235.07929 C 242.94353,234.72145 242.4971,234.27049 242.4971,234.07716 C 242.4971,233.51146 243.54675,233.673 244.08441,234.32144 C 244.94684,235.36155 245.99044,234.97197 247.4432,233.06759 C 248.21926,232.05029 248.77975,231.14342 248.68874,231.05234 C 248.59774,230.96125 247.94264,231.18725 247.23297,231.55457 C 246.11542,232.13301 245.73473,232.15375 244.3897,231.70944 C 242.46603,231.07399 241.70344,230.0314 241.70344,228.03684 C 241.70344,226.81492 241.9822,226.2177 243.05266,225.14627 C 244.90139,223.29583 246.45743,223.31121 248.34301,225.19853 C 249.63966,226.49637 249.72644,226.73276 249.50363,228.35984 C 249.21167,230.49189 249.70425,230.44346 251.38507,228.17485 C 252.81056,226.25087 255.51125,223.58215 255.77035,223.84149 C 255.96122,224.03253 253.75223,227.41748 252.68969,228.56213 C 251.86874,229.44651 247.65776,234.44238 245.90826,236.60753 L 244.38199,238.49643 L 245.29031,239.78508 C 246.53659,241.55319 250.38388,244.92116 250.98588,244.77106 C 251.85517,244.55429 259.03018,236.26217 264.97247,228.60681 C 267.28316,225.62999 269.87825,223.02494 269.87825,223.68222 C 269.87825,224.2294 268.27677,226.26544 259.85495,236.42528 C 256.1795,240.85925 253.07368,244.74429 252.95313,245.05872 C 252.81602,245.41638 253.08945,245.76569 253.68347,245.99175 C 254.2057,246.19048 254.87072,246.63982 255.1613,246.99025 C 255.90006,247.88123 256.96,247.83742 256.56274,246.93234 C 256.39494,246.55003 256.17894,245.57156 256.08274,244.75797 C 255.93591,243.51609 256.10054,243.08581 257.10851,242.0769 C 258.84316,240.34066 260.65905,240.41143 262.29741,242.27914 C 263.90246,244.10886 263.91492,245.59126 262.33851,247.16912 C 261.68375,247.82449 261.14803,248.46383 261.14803,248.58985 C 261.14803,248.999 262.52026,248.80693 263.14832,248.30988 z M 248.14945,240.70335 C 247.00496,239.51658 246.06856,238.44416 246.06856,238.32018 C 246.06856,237.30445 248.83919,239.55559 250.80189,242.16601 C 251.23708,242.74483 251.23299,242.8611 250.77742,242.8611 C 250.47653,242.8611 249.29394,241.89011 248.14945,240.70335 z M 263.1659,240.22343 C 261.67534,238.5285 261.03554,237.33564 261.90575,237.87394 C 262.64958,238.33409 265.57072,242.06671 265.18699,242.06671 C 264.96696,242.06671 264.05747,241.23723 263.1659,240.22343 z M 277.91919,240.18005 C 275.61398,237.38647 275.46781,236.91513 277.44244,238.64276 C 279.38267,240.34028 280.19579,241.25657 280.19579,241.74544 C 280.19579,242.50617 279.37026,241.93853 277.91919,240.18005 z M 250.57814,239.219 C 248.66786,238.29317 248.29977,235.23116 249.8737,233.35893 C 251.472,231.4577 254.0618,231.8256 256.35181,234.27917 L 257.3096,235.30537 L 256.55022,236.72686 C 255.3044,239.05896 254.52243,239.68631 252.89838,239.65667 C 252.08843,239.64189 251.04432,239.44493 250.57814,239.219 z M 254.71048,238.27085 C 256.67616,236.89277 255.1224,232.93126 252.61622,232.93126 C 251.47739,232.93126 249.64001,234.52615 249.64001,235.51469 C 249.64001,236.39665 250.7098,238.37832 251.31818,238.62332 C 252.33226,239.03171 253.85016,238.87399 254.71048,238.27085 z M 266.06399,239.27432 C 265.60305,239.09889 264.84412,238.46951 264.37747,237.87571 C 262.04166,234.90347 265.14706,230.50457 268.56549,231.94324 C 270.91978,232.93405 271.85335,235.87714 270.37429,237.64544 C 269.4114,238.79663 267.10194,239.6694 266.06399,239.27432 z M 269.0846,237.30039 C 271.05104,235.33214 269.00944,231.97828 266.44006,232.95605 C 265.07963,233.47377 264.73341,233.98381 264.72556,235.48174 C 264.71311,237.85878 267.40476,238.98177 269.0846,237.30039 z M 279.79277,238.54938 C 277.4813,237.31736 276.96828,233.7634 278.89117,232.30351 C 280.22064,231.29415 280.70665,231.68795 279.66324,232.92912 C 278.26335,234.59433 278.03354,235.57897 278.779,236.71774 C 279.62412,238.00874 281.01641,238.30661 282.53402,237.52111 C 283.39243,237.07679 283.76724,236.59398 283.76724,235.9325 C 283.76724,234.64099 284.17086,233.68297 284.60248,233.94996 C 285.71464,234.63796 284.43659,238.0592 282.78626,238.81184 C 281.44797,239.42216 281.42678,239.42031 279.79277,238.54938 z M 256.02908,231.78463 C 254.69765,230.28146 253.60829,228.94147 253.60829,228.80686 C 253.60829,228.07175 254.6927,228.8151 256.51452,230.79908 C 258.92891,233.42833 259.29948,233.99207 258.81179,234.29377 C 258.61273,234.4169 257.36051,233.2878 256.02908,231.78463 z M 270.32129,231.30391 C 269.14631,229.99991 268.31264,228.8052 268.46871,228.649 C 268.62477,228.49279 269.13688,228.90087 269.60674,229.55584 C 270.0766,230.2108 271.0442,231.35501 271.75696,232.0985 C 272.46971,232.842 273.05288,233.51226 273.05288,233.58798 C 273.05288,234.09519 272.17492,233.36106 270.32129,231.30391 z M 284.16363,230.8974 C 282.48727,229.16844 282.08694,228.27179 283.27565,228.90856 C 284.13262,229.36762 285.09981,230.45106 285.71435,231.64038 C 286.39172,232.95129 285.94968,232.73949 284.16363,230.8974 z M 257.86744,230.15273 C 256.74072,229.26564 256.13172,227.20969 256.5784,225.80102 C 256.72564,225.3367 257.54425,224.49437 258.39756,223.92916 C 259.79748,223.00188 260.06702,222.95043 261.15721,223.40242 C 262.56754,223.98713 263.92583,225.57046 263.92583,226.62973 C 263.92583,227.73873 263.29149,227.52285 262.75732,226.23206 C 261.76741,223.84001 258.8612,223.6137 257.61736,225.83181 C 257.1402,226.6827 257.1252,227.0742 257.53204,228.05732 C 258.30078,229.91492 259.5869,230.41713 261.57427,229.63576 L 263.20578,228.99429 L 262.62748,229.87049 C 261.80619,231.11486 259.27972,231.26465 257.86744,230.15273 z M 273.25129,230.46341 C 270.76515,229.58803 269.71299,227.75459 270.40384,225.50152 C 270.99367,223.5779 272.70723,222.72178 274.62011,223.39498 C 278.14448,224.63532 278.95161,227.4808 276.41211,229.71257 C 274.86513,231.07208 274.93372,231.05578 273.25129,230.46341 z M 276.04713,228.77878 C 277.23707,227.58774 277.27878,226.61391 276.1987,225.23955 C 274.57712,223.17613 271.06874,224.18275 271.06874,226.71143 C 271.06874,229.41552 274.13771,230.68996 276.04713,228.77878 z M 286.74345,230.5481 C 286.60436,230.32283 286.93775,230.1509 287.51369,230.1509 C 289.6038,230.1509 291.11628,227.3578 289.9724,225.61041 C 289.07305,224.23656 287.93893,224.00148 286.43498,224.87719 C 284.92263,225.75777 284.52784,227.64768 285.53488,229.18603 C 285.88228,229.71671 286.00436,230.1509 285.80617,230.1509 C 284.50093,230.1509 283.68252,226.25084 284.70507,224.9037 C 286.04858,223.1337 289.4095,223.24701 290.71051,225.10616 C 291.33179,225.99399 291.50846,228.45281 291.00328,229.18094 C 290.03089,230.5825 287.3049,231.45738 286.74345,230.5481 z M 239.7193,225.43585 C 239.7193,224.75412 241.6158,222.78272 241.95028,223.11677 C 242.37208,223.53803 241.12481,225.55002 240.3417,225.7116 C 239.99938,225.78223 239.7193,225.65815 239.7193,225.43585 z M 250.23305,224.98495 C 249.8368,224.5467 249.62946,224.07117 249.77228,223.92821 C 250.06166,223.63856 251.62415,224.9193 251.62415,225.44614 C 251.62415,226.02599 250.98175,225.81302 250.23305,224.98495 z M 291.52788,224.21649 C 290.89257,223.55276 290.49909,222.88326 290.65349,222.72873 C 291.03502,222.34683 293.02786,224.38772 292.83599,224.96386 C 292.74837,225.22697 292.18941,224.90762 291.52788,224.21649 z M 278.40786,224.19057 C 278.01161,223.75231 277.80427,223.27678 277.94709,223.13381 C 278.23647,222.84417 279.79896,224.12491 279.79896,224.65175 C 279.79896,225.2316 279.15656,225.01863 278.40786,224.19057 z M 261.45656,246.61192 C 262.47664,245.89676 262.70074,243.25927 261.80466,242.5149 C 260.69529,241.59336 258.99993,241.57044 257.86793,242.46169 C 254.97906,244.73618 258.43355,248.73127 261.45656,246.61192 z M 276.04465,245.62853 C 277.46617,244.44769 276.03627,241.27233 274.083,241.27233 C 272.7124,241.27233 271.06874,242.73295 271.06874,243.95093 C 271.06874,245.62856 272.19542,246.549 273.95911,246.31223 C 274.78734,246.20103 275.72583,245.89337 276.04465,245.62853 z M 247.47549,229.97036 C 248.53809,228.90679 248.70134,227.79716 247.99329,226.45075 C 247.37448,225.27402 246.88597,225.00061 245.38957,224.99347 C 242.6863,224.98056 241.43294,228.46103 243.54269,230.12207 C 244.92971,231.21411 246.28513,231.16182 247.47549,229.97036 z M 287.73552,219.83948 C 293.23877,219.35859 294.48411,219.15251 294.47634,218.72402 C 294.47344,218.56434 293.57601,217.45064 292.48204,216.24912 C 290.21792,213.76242 287.81822,209.26518 287.50144,206.91508 C 287.38365,206.04125 287.21448,204.95732 287.1255,204.50635 C 286.96471,203.69137 286.84172,203.68618 266.81376,203.64895 C 255.73128,203.62834 244.16378,203.55048 241.1082,203.47591 L 235.55261,203.34034 L 235.43585,206.71035 C 235.30397,210.51671 236.34679,218.584 237.0642,219.30733 C 237.3241,219.56937 239.59033,219.95722 242.10027,220.16923 C 247.86944,220.65652 281.13632,220.41615 287.73552,219.83948 z M 301.54659,215.15685 C 303.4204,209.14659 303.85554,207.37958 305.14121,200.55998 C 306.40418,193.86078 307.90799,180.30347 307.44006,179.83511 C 306.101,178.49481 297.07165,186.65392 293.95519,192.02031 C 289.3913,199.87911 288.87533,206.70484 292.36063,213.1144 C 293.85508,215.86272 297.63508,218.99085 299.49376,219.0174 C 300.21873,219.02776 300.51127,218.47761 301.54659,215.15685 z M 285.85059,201.77936 C 286.93291,201.29406 286.70556,200.7441 284.31278,198.05929 C 283.08699,196.6839 282.18411,195.45848 282.30637,195.3361 C 282.42863,195.21373 282.99681,195.6241 283.569,196.24802 C 284.14119,196.87195 285.17463,197.97749 285.86553,198.70479 L 287.12171,200.02715 L 287.82545,199.15728 C 288.77613,197.98216 288.71101,197.58103 287.56957,197.58103 C 286.44186,197.58103 285.35455,197.21165 285.35455,196.82854 C 285.35455,196.67988 286.0899,196.52889 286.98866,196.49302 C 289.04192,196.41106 290.11649,195.47727 290.11649,193.77495 C 290.11649,192.84385 289.81991,192.24166 289.07091,191.65195 C 287.71121,190.58142 287.09981,190.61387 285.49122,191.84193 C 284.57441,192.54185 284.16407,192.68369 284.16407,192.30068 C 284.16407,191.53119 285.34098,190.54639 286.65195,190.2189 C 287.78591,189.93562 290.11649,190.64546 290.11649,191.27412 C 290.11649,191.46606 290.38435,191.62312 290.71174,191.62312 C 291.55542,191.62312 291.46811,191.34527 290.06866,189.5767 C 288.48407,187.57414 288.91119,187.09599 290.71845,188.84928 C 291.78483,189.88381 292.21001,190.08375 292.57235,189.72108 C 292.93468,189.35841 292.84349,189.03844 292.17475,188.32594 C 290.95334,187.02461 291.09351,186.75686 292.65444,187.40965 C 293.96404,187.95735 294.03652,187.93744 295.23382,186.70099 C 296.72485,185.16122 296.78783,184.30599 295.47368,183.44413 C 293.59209,182.21013 294.52763,181.60154 296.62399,182.69582 C 297.9164,183.37043 298.38625,183.2589 297.46741,182.49563 C 296.78901,181.93209 296.65224,180.89889 297.25604,180.89889 C 297.47245,180.89889 297.87255,181.25636 298.14515,181.69327 C 298.80679,182.75371 298.95044,182.7221 301.23799,181.01271 C 303.44913,179.36042 303.7451,178.70461 302.12055,179.0571 C 301.52035,179.18734 297.5471,179.65915 293.29112,180.10558 C 289.03514,180.55201 285.303,181.00717 284.99749,181.11704 C 284.56294,181.27333 284.62773,181.51468 285.29511,182.22573 C 286.39925,183.40212 286.44959,184.26583 285.38064,183.69322 C 284.95848,183.46708 284.54725,183.28206 284.46679,183.28206 C 284.38633,183.28206 284.32995,184.2806 284.34149,185.50105 C 284.35915,187.36798 284.21385,187.84061 283.42566,188.48 C 282.33168,189.36743 279.5629,189.48772 278.51771,188.69322 C 276.62975,187.25809 276.33347,184.35903 277.89795,182.62887 C 278.32156,182.16038 278.5208,181.69054 278.3407,181.58476 C 278.16059,181.47899 276.67394,181.45243 275.03702,181.52574 C 267.59942,181.85886 254.71249,181.38402 248.64794,180.55342 C 247.12015,180.34417 243.97325,180.0484 241.65482,179.89615 C 238.3003,179.67585 237.37129,179.72969 237.1055,180.15981 C 236.92179,180.45708 236.69916,182.35361 236.61075,184.37433 L 236.45001,188.04838 L 237.45897,188.04838 C 238.78345,188.04838 240.90979,186.23719 240.90979,185.10902 C 240.90979,184.08841 239.7132,182.66532 238.54224,182.29334 C 237.34525,181.91308 237.56463,181.29609 238.89684,181.29609 C 240.15309,181.29609 241.53548,182.67252 241.9535,184.33957 C 242.58796,186.86978 240.61561,189.23996 237.87563,189.23996 C 235.93277,189.23996 235.55644,189.97187 236.98452,190.97306 C 237.84095,191.57348 237.711,192.41751 236.76213,192.41751 C 236.20898,192.41751 235.75102,193.25496 235.75102,194.26649 C 235.75102,195.28427 236.79106,194.67671 238.38491,192.72786 C 246.38677,182.94371 247.65587,181.52259 247.65587,182.3463 C 247.65587,183.20921 244.32437,187.51928 237.51368,195.46758 C 235.64813,197.64473 235.27883,199.16601 236.28238,200.53971 C 236.74945,201.17905 237.74117,201.30776 244.47829,201.60339 C 248.69379,201.78838 252.24935,202.04815 252.37953,202.18066 C 252.72639,202.53375 285.03198,202.14641 285.85059,201.77936 z M 277.41799,200.56913 C 277.41799,199.67921 279.33038,198.61313 280.84947,198.65623 C 282.29964,198.69738 284.69713,199.98493 283.84991,200.2676 C 283.57691,200.35868 282.79021,200.23664 282.1017,199.99641 C 281.05737,199.63202 280.59627,199.6919 279.32012,200.35769 C 277.491,201.31195 277.41799,201.32007 277.41799,200.56913 z M 261.14803,200.18623 C 261.14803,199.87144 261.3266,199.50341 261.54486,199.36839 C 262.52854,198.75988 261.88429,198.1613 260.39833,198.30314 C 258.49895,198.48444 257.3712,197.91432 256.36634,196.2648 C 255.28842,194.49535 255.36617,192.60786 256.56647,191.40647 C 257.44111,190.53101 258.76706,190.0787 258.76706,190.65578 C 258.76706,190.77911 258.23134,191.33121 257.57658,191.88267 C 256.07277,193.14919 255.94189,195.14162 257.27895,196.41337 C 259.19099,198.23201 260.80048,198.17035 261.98061,196.23324 C 262.99765,194.56384 262.92847,193.50258 261.708,192.05079 C 260.64256,190.78342 260.64476,190.66036 261.72549,191.07547 C 262.69018,191.44599 263.529,193.36507 263.529,195.20158 C 263.529,196.14754 263.68977,196.73407 263.91147,196.59692 C 264.12182,196.46679 266.89911,193.23898 270.08321,189.424 C 273.26732,185.60902 276.05024,182.48767 276.26748,182.48767 C 276.74764,182.48767 274.67953,185.55401 273.45527,186.65726 C 272.67586,187.35964 271.46557,189.26585 271.46557,189.79105 C 271.46557,189.89739 272.06293,189.88737 272.79304,189.76878 C 275.30069,189.36147 277.97076,191.57672 277.90172,194.00723 C 277.86056,195.45619 276.45365,197.39089 275.00409,197.99187 C 274.17041,198.33752 273.55279,198.33999 272.52896,198.00178 C 270.63574,197.37639 269.8186,196.32829 269.5813,194.221 C 269.35762,192.23471 269.13081,192.06354 268.15403,193.14387 C 267.09303,194.31735 267.36956,195.10137 269.67984,197.46983 C 270.88024,198.70045 271.86239,199.85449 271.86239,200.03436 C 271.86239,200.78948 271.15472,200.2191 269.30781,197.97537 C 268.23018,196.6662 267.05685,195.59505 266.70043,195.59505 C 266.344,195.59505 265.12224,196.75685 263.9854,198.17682 C 261.93849,200.73349 261.14803,201.29329 261.14803,200.18623 z M 274.81941,197.01886 C 277.09163,196.06859 277.70285,193.78926 276.1987,191.87528 C 274.96594,190.30663 272.97681,190.42823 271.22747,192.17919 C 270.4854,192.92194 269.87825,193.8335 269.87825,194.20487 C 269.87825,194.9577 272.32406,197.58103 273.02594,197.58103 C 273.27303,197.58103 274.08009,197.32806 274.81941,197.01886 z M 268.00722,200.13493 C 267.08167,199.72949 266.44818,199.68386 265.69963,199.96873 C 264.15512,200.55649 263.66896,200.44826 264.43037,199.68615 C 265.40585,198.70978 267.71615,198.81514 268.78477,199.88475 C 269.78293,200.88382 269.74484,200.89608 268.00722,200.13493 z M 274.64019,200.50882 C 274.64019,200.37146 275.22055,199.58397 275.92988,198.75885 C 276.63921,197.93373 277.88169,196.48217 278.69094,195.53317 C 279.50019,194.58415 280.73792,193.1821 281.44146,192.41751 C 282.145,191.65291 284.18323,189.15058 285.97086,186.85679 C 289.39939,182.45749 290.76491,181.01831 291.14737,181.40113 C 291.51516,181.76925 290.93834,182.56131 287.27072,186.72433 C 285.37816,188.87252 283.05672,191.6478 282.11195,192.89162 C 277.9338,198.39228 274.64019,201.75 274.64019,200.50882 z M 247.25904,199.87271 C 247.25904,199.53622 248.75073,197.58709 250.57391,195.54131 C 252.39709,193.49553 254.01628,191.41956 254.17211,190.92803 C 254.32794,190.43651 254.60613,190.03435 254.79032,190.03435 C 254.97451,190.03435 256.57987,188.33213 258.35779,186.25164 C 260.1357,184.17114 261.75918,182.57336 261.96551,182.701 C 262.55767,183.06731 261.93176,183.92174 257.31337,189.05163 C 254.9482,191.67876 252.0951,194.98539 250.97316,196.39971 C 248.36601,199.68629 247.25904,200.72139 247.25904,199.87271 z M 250.23525,199.73571 C 251.50812,198.77278 252.63933,198.66147 253.99926,199.36536 C 255.57993,200.18351 255.36345,200.51708 253.64171,199.91633 C 252.68857,199.58376 252.10246,199.58329 251.37613,199.91454 C 249.98015,200.55117 249.29854,200.44433 250.23525,199.73571 z M 255.57913,198.35952 C 253.77217,196.19931 253.71777,195.18754 255.5005,196.89707 C 256.80943,198.15226 258.17117,200.36138 257.63596,200.36138 C 257.42569,200.36138 256.50012,199.46054 255.57913,198.35952 z M 239.54425,199.35576 C 239.12059,199.03503 238.35111,198.77261 237.83431,198.77261 C 237.30893,198.77261 237.00279,198.59749 237.13992,198.37541 C 237.71939,197.43695 240.58917,198.15782 241.04906,199.35736 C 241.34297,200.12398 240.55788,200.12315 239.54425,199.35576 z M 241.73517,197.97018 C 239.58254,195.41494 239.82958,194.49213 242.05251,196.78482 C 244.10655,198.90331 244.74372,199.96418 243.96208,199.96418 C 243.66118,199.96418 242.65907,199.06689 241.73517,197.97018 z M 243.05652,196.52002 C 242.38483,195.89695 242.10499,195.39489 242.37853,195.30361 C 242.63472,195.21815 243.21263,195.51686 243.66278,195.96743 C 245.07648,197.38243 247.30889,196.76557 248.00472,194.76767 C 248.37564,193.70268 248.33034,193.2788 247.7364,192.25685 C 246.74993,190.55952 245.16379,190.40612 243.64632,191.86129 C 242.31225,193.14059 241.70258,192.88559 242.64678,191.44322 C 243.42094,190.26062 244.7589,189.84905 246.66542,190.20704 C 249.09595,190.66344 250.06998,194.11164 248.4225,196.42743 C 247.28341,198.02861 244.73032,198.07267 243.05652,196.52002 z M 284.16407,195.57161 C 284.16407,195.34027 284.34264,195.26145 284.5609,195.39646 C 284.77915,195.53147 284.95773,195.72076 284.95773,195.8171 C 284.95773,195.91344 284.77915,195.99225 284.5609,195.99225 C 284.34264,195.99225 284.16407,195.80296 284.16407,195.57161 z M 263.22898,190.65105 C 260.20924,186.95885 260.25288,186.18911 263.29773,189.43856 C 265.65314,191.95223 266.43265,193.22122 265.61235,193.20659 C 265.44866,193.20366 264.37614,192.05368 263.22898,190.65105 z M 276.87342,189.60967 C 274.56224,187.03671 274.3954,185.97437 276.53847,187.47681 C 277.3701,188.05985 279.17018,191.19329 278.85483,191.50893 C 278.77508,191.58877 277.88344,190.73409 276.87342,189.60967 z M 247.73849,189.12562 C 246.14562,187.50111 245.63789,186.4596 246.43882,186.4596 C 246.7802,186.4596 249.14482,189.18378 249.8003,190.33224 C 250.39663,191.37704 249.33939,190.75833 247.73849,189.12562 z M 265.21552,189.40502 C 264.50619,189.09452 263.92583,188.65216 263.92583,188.42197 C 263.92583,188.18805 264.42861,188.30074 265.06577,188.67747 C 266.39408,189.46284 267.91204,189.22201 269.09469,188.03827 C 270.04782,187.08426 270.16333,184.41052 269.28301,183.67925 C 268.95563,183.40729 268.693,182.98325 268.6994,182.73692 C 268.71693,182.06192 271.06874,184.79029 271.06874,185.48564 C 271.06874,187.0144 269.86197,188.8901 268.51638,189.45285 C 266.88411,190.13548 266.88431,190.13549 265.21552,189.40502 z M 252.02098,189.44876 C 252.02098,189.34513 252.57077,188.97579 253.24273,188.62798 C 255.74076,187.33501 256.06026,183.84032 253.77569,182.79844 C 252.9042,182.40101 252.50427,182.44982 251.29547,183.10122 C 249.16775,184.2478 248.83741,185.6082 250.18995,187.65392 C 251.02909,188.92311 251.1106,189.20538 250.55146,188.90586 C 247.57363,187.31071 247.63055,183.51874 250.65128,182.25544 C 252.67133,181.41063 254.01895,181.55792 255.2731,182.76058 C 257.52577,184.92075 256.08757,189.63715 253.17619,189.63715 C 252.54082,189.63715 252.02098,189.55237 252.02098,189.44876 z M 262.95588,186.74979 C 262.58653,185.44105 263.31072,183.42693 264.35099,182.86968 C 265.56148,182.22125 265.6931,182.44333 264.71558,183.48481 C 264.19446,184.04002 263.66591,185.22829 263.523,186.16587 C 263.27789,187.7739 263.25233,187.80021 262.95588,186.74979 z M 257.58765,183.494 C 256.83686,182.58853 257.28159,181.85196 258.09033,182.66144 C 258.82077,183.39256 258.97954,184.07644 258.41882,184.07644 C 258.22729,184.07644 257.85326,183.81435 257.58765,183.494 z M 272.45764,183.28206 C 272.32275,183.0636 272.40149,182.88486 272.63263,182.88486 C 272.86377,182.88486 273.05288,183.0636 273.05288,183.28206 C 273.05288,183.50051 272.97413,183.67925 272.87788,183.67925 C 272.78164,183.67925 272.59253,183.50051 272.45764,183.28206 z M 242.98602,182.48767 C 242.58823,181.85012 242.58971,181.69327 242.99352,181.69327 C 243.27026,181.69327 243.71972,182.05075 243.99232,182.48767 C 244.39011,183.12522 244.38863,183.28206 243.98482,183.28206 C 243.70809,183.28206 243.25863,182.92458 242.98602,182.48767 z M 282.56666,187.66128 C 283.76666,186.46018 283.99289,184.98434 283.12426,184.02365 C 281.37759,182.09181 279.42826,182.10564 278.42009,184.05703 C 277.75499,185.34437 277.93315,186.21702 279.13361,187.55188 C 280.12529,188.6546 281.52955,188.69935 282.56666,187.66128 z M 284.16407,182.09047 C 284.16407,181.45723 283.90246,181.29788 282.87438,181.30492 L 281.58469,181.31375 L 282.57676,182.09047 C 283.83894,183.07867 284.16407,183.07867 284.16407,182.09047 z M 263.85053,71.927667 C 266.0385,70.712417 267.0047,67.283987 265.68905,65.403917 C 265.17106,64.663687 264.69851,64.521147 262.76245,64.521147 C 261.49257,64.521147 259.89554,64.632857 259.21349,64.769397 C 258.1543,64.981427 257.9734,65.191977 257.9734,66.212797 C 257.9734,68.248457 258.85485,70.482377 260.05785,71.495567 C 261.33132,72.568107 262.46494,72.697267 263.85053,71.927667 z M 268.58551,61.096527 C 269.74585,59.868347 271.15385,58.080177 271.71439,57.122807 C 272.61917,55.577477 272.70292,55.117847 272.46054,53.027587 C 272.31038,51.732597 271.94037,50.348177 271.63829,49.951127 C 271.12906,49.281767 270.86435,49.463177 268.00348,52.442007 C 263.36196,57.274927 262.62669,58.417327 262.84955,60.449697 C 263.08388,62.586647 263.70297,63.329567 265.2494,63.329567 C 266.22444,63.329567 266.90818,62.871897 268.58551,61.096527 z M 142.49637,304.34889 C 132.66838,301.46416 117.40524,294.87419 110.89001,290.70261 C 109.73632,289.96392 107.84893,288.88159 106.69583,288.29745 C 105.54273,287.7133 102.91931,285.96459 100.86602,284.41142 C 98.812742,282.85825 95.979672,280.72025 94.570332,279.66031 C 91.264652,277.17416 80.534352,266.67773 77.074862,262.54617 C 71.984012,256.4663 66.384552,248.25916 62.357172,240.97443 L 59.886782,236.50601 L 58.280672,236.50601 C 57.397302,236.50601 55.546762,236.298 54.168352,236.04379 C 51.075352,235.47336 50.521812,235.8176 50.353462,238.41623 L 50.233802,240.26318 L 47.322062,241.38051 C 43.713462,242.76524 41.447552,244.16948 41.111472,245.22936 C 40.970332,245.67447 40.643672,246.04253 40.385552,246.04727 C 39.756702,246.05882 29.836132,243.66014 28.705862,243.22325 C 27.661912,242.81973 27.508812,241.32569 28.372232,239.96747 C 29.117802,238.79463 30.590802,233.39656 30.590802,231.83708 C 30.590802,230.21015 31.230242,229.86742 32.332272,230.90367 C 32.821252,231.36348 33.424642,231.73968 33.673122,231.73968 C 34.804282,231.73968 36.246832,230.67917 36.747682,229.47936 C 37.361372,228.00924 38.342702,227.75125 38.725782,228.95932 C 39.012952,229.86496 40.430732,230.02582 41.351292,229.25722 C 41.678342,228.98415 42.426962,228.00463 43.014892,227.0805 C 44.006192,225.52232 46.494912,223.79264 47.737812,223.79803 C 49.100152,223.80391 51.382782,224.75652 53.005692,225.99646 C 55.070682,227.57415 55.194152,227.61326 55.194152,226.68965 C 55.194152,225.53416 56.158012,226.82092 58.084372,230.5481 C 62.080772,238.28045 67.839262,248.00637 70.381462,251.31758 C 71.422922,252.67407 73.506522,255.48193 75.011682,257.55727 C 82.992362,268.56117 95.917672,280.06565 109.5242,288.27595 C 113.99941,290.97634 125.8661,297.00743 128.32943,297.83347 C 129.37697,298.18475 130.89483,298.80795 131.70247,299.21834 C 132.51012,299.62875 135.31378,300.62451 137.93285,301.43114 C 144.58506,303.4799 145.38004,303.77646 145.42925,304.22752 C 145.48941,304.77892 144.15026,304.83434 142.49637,304.34889 z M 38.783482,240.73966 C 41.152552,239.57286 43.649062,238.39859 44.331272,238.13015 C 45.766522,237.56542 47.162072,234.76624 46.441592,233.89731 C 45.503172,232.76553 44.077852,232.90988 39.810622,234.56883 C 34.173932,236.7602 33.562272,237.22466 32.783922,239.90453 C 32.434192,241.10867 32.254642,242.2665 32.384912,242.47749 C 32.873472,243.26873 34.601152,242.79949 38.783482,240.73966 z M 58.844862,234.36839 C 58.672042,233.40388 57.161882,230.94529 56.742262,230.94529 C 56.061072,230.94529 56.388362,233.22606 57.221722,234.28648 C 58.114532,235.42255 59.042132,235.46936 58.844862,234.36839 z M 54.164672,232.23617 C 53.760132,228.03119 52.615092,226.07966 50.552382,226.07966 C 49.171152,226.07966 47.928422,227.53142 47.054012,230.16646 C 46.257782,232.56588 46.417802,232.83406 49.241722,233.83293 C 51.354052,234.58009 52.296442,234.80885 53.518682,234.87115 C 54.398502,234.916 54.415722,234.84575 54.164672,232.23617 z M 118.9843,303.20272 C 118.53843,302.94279 118.28985,302.31455 118.28985,301.44764 C 118.28985,300.36923 118.57171,299.88223 119.68995,299.02852 C 120.81891,298.16663 121.25966,298.03538 121.96586,298.35079 C 122.7781,298.71355 122.73686,298.76161 121.39773,299.01307 C 119.37277,299.3933 118.79927,301.24857 120.70669,301.24857 C 121.68574,301.24857 122.10993,302.2575 121.46028,303.04099 C 120.89519,303.72252 119.97861,303.78239 118.9843,303.20272 z M 250.69358,302.90536 C 249.92808,302.05871 249.8253,300.0304 250.51303,299.34204 C 251.69572,298.15826 254.00512,299.37411 254.00512,301.18054 C 254.00512,302.13836 252.71289,303.63173 251.88407,303.63173 C 251.59051,303.63173 251.05479,303.30486 250.69358,302.90536 z M 207.49082,301.0307 C 207.14605,300.6856 208.3745,297.42048 209.70242,295.15246 C 211.7533,291.64969 216.7276,285.44692 220.03276,282.2709 L 223.43072,279.00572 L 230.08691,279.01181 C 236.77134,279.01791 238.89757,279.36752 236.92806,280.13668 C 228.15387,283.56328 215.9593,292.01321 209.93785,298.83886 C 208.74195,300.19448 207.64079,301.18081 207.49082,301.0307 z M 141.91219,297.87028 C 136.1318,291.40578 123.3877,282.73992 115.31364,279.78355 C 114.0041,279.30405 112.67119,278.66478 112.3516,278.36294 C 111.68987,277.73796 113.59056,277.6228 122.80451,277.72959 C 128.7472,277.79847 128.39515,277.64393 133.28584,282.33064 C 138.13915,286.98153 141.75416,291.47537 143.39183,294.89347 C 144.84463,297.92572 145.60681,300.85138 144.94396,300.85138 C 144.74257,300.85138 143.37827,299.50988 141.91219,297.87028 z M 70.458532,299.95768 C 70.355662,299.68461 70.405912,298.40315 70.570192,297.10998 C 70.830922,295.05751 71.018652,294.67572 72.047682,294.10518 C 72.696032,293.74571 75.084312,291.43724 77.354972,288.97524 L 81.483452,284.49888 L 81.244062,282.75076 C 81.021952,281.12879 81.076322,280.98464 81.997412,280.75325 C 82.543422,280.61608 83.923602,280.47957 85.064492,280.44988 C 87.134782,280.39601 87.138662,280.39823 87.051712,281.58749 C 87.003802,282.24285 86.944492,283.71749 86.919922,284.86446 C 86.877362,286.85158 86.787952,287.01943 85.022902,288.42619 C 82.430892,290.49201 79.677702,293.1379 77.543782,295.61379 C 75.953212,297.45925 75.777332,297.83968 76.143152,298.64331 C 76.442432,299.30077 76.434712,299.68926 76.116002,300.00826 C 75.489642,300.6352 70.697602,300.59237 70.458532,299.95768 z M 278.25938,294.72916 C 273.02174,287.51361 270.94943,285.58543 268.71226,285.84615 C 267.87155,285.94413 267.68273,285.68735 267.04102,283.57345 C 266.64313,282.26271 266.31515,280.96686 266.31219,280.69379 C 266.3083,280.33577 267.2318,280.19731 269.62343,280.19731 L 272.94007,280.19731 L 274.46086,282.67976 C 276.19426,285.50929 280.95573,291.36903 282.27053,292.2908 C 282.75434,292.62999 283.54412,292.9075 284.02561,292.9075 C 284.50709,292.9075 285.16013,293.16684 285.47681,293.4838 C 286.16826,294.17589 286.73301,296.8617 286.2751,297.28024 C 286.09618,297.44377 284.74999,297.66757 283.28356,297.77756 L 280.61732,297.97756 L 278.25938,294.72916 z M 296.46193,293.49934 C 294.39776,291.3677 293.45129,291.28829 291.91659,293.11798 C 290.40425,294.921 289.48972,294.79759 289.10377,292.73842 C 288.88691,291.5814 289.02135,291.1214 289.8721,290.1094 C 290.82404,288.97704 290.86038,288.8009 290.34498,287.8169 C 290.03792,287.23066 287.65683,284.65083 285.05367,282.08397 L 280.32065,277.41695 L 277.86743,277.41695 C 275.56874,277.41695 275.3886,277.34955 275.00779,276.34701 C 274.78426,275.75854 274.65475,274.73081 274.71999,274.06314 C 274.82875,272.95012 274.98702,272.82875 276.62433,272.60287 C 277.60648,272.46739 278.95933,272.22785 279.63066,272.07056 C 280.68569,271.82339 280.95485,271.93763 281.61481,272.9127 C 282.03475,273.53316 282.46763,274.47486 282.57676,275.00539 C 282.70639,275.63561 283.15046,276.07038 283.85779,276.2596 C 284.45322,276.41889 287.04253,278.53118 289.6118,280.95357 C 292.18106,283.37597 295.17605,285.9412 296.26733,286.65409 L 298.25147,287.95024 L 298.49092,290.72676 C 298.62262,292.25386 298.80119,293.76078 298.88775,294.07549 C 299.20159,295.21653 297.80313,294.8844 296.46193,293.49934 z M 139.79403,288.04188 C 138.68973,286.45807 136.45334,283.64296 134.82427,281.78608 C 133.1952,279.9292 131.94408,278.27588 132.044,278.11204 C 132.14392,277.9482 134.27725,277.81414 136.78473,277.81414 C 141.2481,277.81414 141.36505,277.83707 142.35685,278.90642 C 143.75894,280.41814 144.62943,282.19309 144.18628,282.63666 C 143.9873,282.83582 142.90202,283.10812 141.77455,283.24178 C 139.02412,283.56783 138.5811,284.16206 139.83787,285.83947 C 140.76711,287.07973 142.49637,290.24596 142.49637,290.70711 C 142.49637,291.48469 141.52987,290.53145 139.79403,288.04188 z M 212.73498,286.99498 C 212.73498,286.72284 212.90109,286.18951 213.10412,285.8098 C 213.66323,284.76413 213.02995,284.13325 211.17059,283.88363 C 209.17723,283.61602 208.82749,282.97725 209.68679,281.17362 C 210.77904,278.88105 211.77355,278.50468 215.888,278.82685 C 218.33545,279.01848 219.48106,279.26553 219.48106,279.60169 C 219.48106,279.87311 218.63284,280.97351 217.59613,282.04702 C 216.55941,283.12053 215.04154,284.78432 214.22309,285.74432 C 213.40463,286.70432 212.73498,287.26712 212.73498,286.99498 z M 199.69919,283.08903 C 199.21712,282.18743 199.55535,280.21463 200.34821,279.30361 C 200.83425,278.74514 201.60643,278.60852 204.27713,278.60852 C 208.25517,278.60852 208.60533,278.99207 207.14807,281.75312 L 206.18731,283.57345 L 203.13457,283.68905 C 200.52761,283.78776 200.02596,283.70015 199.69919,283.08903 z M 159.98193,283.0173 C 158.3902,282.80191 158.1137,282.59529 157.09945,280.86332 C 156.48243,279.80967 156.07988,278.78192 156.2049,278.57946 C 156.32992,278.37699 158.19443,278.21134 160.34827,278.21134 C 164.11648,278.21134 164.2957,278.25126 165.09541,279.26885 C 166.19041,280.6622 166.51082,282.05354 165.90497,282.78423 C 165.39614,283.39789 163.38062,283.47719 159.98193,283.0173 z M 169.24512,282.80769 C 168.80017,282.49574 168.19163,281.49902 167.89281,280.59275 C 167.18109,278.43424 167.52381,278.22527 171.78855,278.21742 C 176.01023,278.20964 176.62361,278.52808 176.62361,280.72762 C 176.62361,281.6593 176.40932,282.63607 176.14741,282.89822 C 175.45982,283.58644 170.25862,283.51822 169.24512,282.80769 z M 179.08868,282.87836 C 178.46271,282.12017 178.14536,279.67562 178.58594,279.00572 C 178.89901,278.5297 179.7515,278.43334 182.82667,278.52638 C 184.94355,278.59043 186.84501,278.74765 187.05211,278.87577 C 187.53819,279.17647 187.15782,282.03915 186.5314,282.79464 C 185.90261,283.55298 179.70322,283.62272 179.08868,282.87836 z M 189.06409,282.7668 C 188.76892,281.99689 189.18811,279.84451 189.76988,279.14288 C 190.22924,278.58889 195.76647,278.36515 197.02781,278.84962 C 197.74127,279.12365 197.85683,280.80716 197.2685,282.35601 C 196.89034,283.35157 196.79483,283.37485 193.08935,283.37485 C 190.05065,283.37485 189.25088,283.25404 189.06409,282.7668 z M 147.45301,282.67368 C 146.55271,282.01776 144.83497,278.89477 145.05658,278.31674 C 145.25878,277.78931 145.85821,277.73798 149.12831,277.96806 C 151.23735,278.11644 153.15261,278.39754 153.38445,278.59272 C 154.19478,279.27491 155.29444,281.74787 155.05971,282.36013 C 154.87017,282.85452 154.12807,282.97644 151.33826,282.97158 C 149.42167,282.96824 147.67331,282.83418 147.45301,282.67368 z M 299.1145,279.10714 L 296.00924,278.97123 L 293.16207,276.09162 C 289.0333,271.9158 286.18577,269.87027 284.50148,269.87027 C 282.52532,269.87027 281.825,269.17633 281.69556,267.08991 L 281.58469,265.30255 L 284.03223,265.10394 C 285.37838,264.99471 286.61268,264.77213 286.77511,264.60931 C 286.93754,264.44649 287.05895,263.05822 287.04491,261.52427 C 287.02372,259.20835 287.14301,258.66904 287.7482,258.34486 C 289.19139,257.57178 290.94917,257.91547 292.90621,259.35339 C 293.95339,260.1228 295.36125,260.94461 296.03479,261.17962 C 296.70833,261.41463 297.27479,261.81284 297.29359,262.06455 C 297.31239,262.31625 297.35703,263.14776 297.3928,263.91237 C 297.44651,265.06076 297.59585,265.2818 298.25147,265.1833 C 301.46483,264.70048 303.77639,265.70711 304.84076,268.05276 C 305.24479,268.94316 305.57929,270.27938 305.58408,271.02215 L 305.5928,272.37262 L 304.41476,270.7449 C 302.97787,268.75949 302.14236,268.2815 300.10893,268.2815 C 298.18365,268.2815 297.2594,269.44491 297.2594,271.86837 C 297.2594,274.6956 297.66116,275.03379 301.01982,275.03379 C 302.63617,275.03379 304.06901,274.85505 304.2039,274.63659 C 304.33879,274.41814 304.70647,274.2394 305.02098,274.2394 C 305.43536,274.2394 305.5928,274.73871 305.5928,276.05288 C 305.5928,278.5981 305.06482,279.42131 303.49549,279.32298 C 302.79384,279.27902 300.82239,279.18189 299.1145,279.10714 z M 296.06892,270.04914 C 296.06892,267.33499 295.43776,266.06144 293.05014,263.95784 C 290.73228,261.9157 289.2336,261.76767 288.3423,263.49285 C 287.35364,265.40645 288.17607,266.64024 293.09271,270.61931 C 295.76911,272.78534 296.06892,272.72791 296.06892,270.04914 z M 49.420762,278.17996 C 49.275222,277.94424 49.349762,277.00587 49.586412,276.09469 C 49.823072,275.1835 50.065542,273.99777 50.125252,273.45972 C 50.206242,272.72977 50.535992,272.41877 51.424282,272.23455 C 52.835522,271.94189 59.056452,267.68847 61.427132,265.39533 C 64.159922,262.75194 64.052892,260.20523 61.209012,260.20523 C 59.222362,260.20523 50.031542,266.43051 48.713752,268.66873 C 47.993682,269.89174 47.966042,269.9002 45.539122,269.6415 C 42.203382,269.2859 41.909242,268.95059 42.567622,266.25409 C 43.076812,264.16859 43.133572,264.10505 44.678202,263.89118 C 46.123332,263.69108 47.526252,262.92532 55.457462,258.00752 C 57.577882,256.69274 58.499682,255.16514 58.098712,253.63042 C 57.843662,252.65422 58.961782,252.28002 61.575232,252.46692 C 63.527672,252.60655 63.435002,252.31059 62.886702,256.65506 C 62.585532,259.04145 62.543402,259.00489 66.106932,259.44867 C 68.234832,259.71366 68.484892,259.83999 68.459562,260.63718 C 68.443972,261.12779 68.399322,262.68842 68.360352,264.10524 L 68.289492,266.68128 L 65.809312,267.93213 C 61.760012,269.97434 54.797322,275.09195 54.797322,276.02598 C 54.797322,276.3006 55.065182,276.7478 55.392562,277.01975 C 55.719952,277.29171 55.987812,277.76043 55.987812,278.06137 C 55.987812,278.74523 49.838362,278.85627 49.420762,278.17996 z M 178.07903,276.3731 C 177.96687,276.28734 155.92818,275.85043 138.13126,275.58114 C 128.8554,275.44079 120.94594,275.16048 120.55469,274.95824 C 119.95348,274.64745 119.86131,274.15241 119.95945,271.7612 C 120.06799,269.11665 120.14036,268.91571 121.06765,268.68423 C 121.61329,268.54801 128.39905,268.54124 136.14712,268.66918 C 143.89519,268.79713 162.02033,268.96541 176.42519,269.04316 C 190.83006,269.12089 209.66948,269.29411 218.29058,269.42808 L 233.96529,269.67167 L 234.0813,272.75593 C 234.17659,275.28935 234.08378,275.88381 233.56166,276.08434 C 233.05705,276.27816 178.3274,276.56299 178.07903,276.3731 z M 236.63317,276.28852 C 236.00899,275.89205 235.67656,271.14887 236.20385,270.16273 C 236.55041,269.51457 237.32575,269.46722 245.98713,269.56523 L 255.39402,269.67167 L 255.39402,272.83131 C 255.39402,275.86315 255.35389,276.00213 254.40195,276.26717 C 252.99701,276.65833 237.24517,276.67726 236.63317,276.28852 z M 98.937282,275.09912 C 98.195612,274.62792 98.150032,269.11144 98.883962,268.64634 C 99.677852,268.14326 116.17803,268.18515 117.12545,268.69266 C 117.75406,269.02939 117.89302,269.53748 117.89302,271.49914 C 117.89302,275.6425 118.41,275.4319 108.25598,275.4249 C 103.40747,275.42155 99.214062,275.27495 98.937282,275.09912 z M 309.94612,268.25302 C 309.51715,267.21643 309.5418,266.82185 310.11005,265.62913 C 310.65755,264.47994 310.68705,264.11454 310.27266,263.61478 C 309.61034,262.816 304.32653,258.84501 301.15094,256.75945 C 298.57603,255.06839 297.49458,254.90904 294.57959,255.79121 C 293.787,256.03107 293.56947,255.79919 292.6635,253.74875 C 291.41647,250.92639 291.53309,250.79162 295.85052,250.0655 L 298.8846,249.55521 L 300.37067,250.89903 C 302.63078,252.94278 311.1636,258.53726 313.21901,259.32295 C 314.76825,259.91516 315.1371,260.27656 315.70118,261.75494 C 316.06558,262.70997 317.06105,264.51975 317.91334,265.77668 C 318.78881,267.06778 319.31318,268.21194 319.11867,268.40663 C 318.92416,268.60132 317.87304,268.13067 316.70258,267.32479 C 315.5631,266.54023 314.3905,265.89833 314.0968,265.89833 C 313.80311,265.89833 313.09189,266.70265 312.51631,267.68571 C 311.28734,269.78471 310.63919,269.92778 309.94612,268.25302 z M 185.87487,267.57235 C 185.61581,267.40747 185.06038,266.47184 184.64059,265.49317 C 184.2208,264.5145 183.27204,263.11156 182.53224,262.37554 C 178.28572,258.15072 173.85769,259.50357 170.47277,266.05995 C 169.55215,267.84313 165.90924,267.71412 165.90924,265.89833 C 165.90924,264.72364 164.15944,262.2766 162.52948,261.17185 C 158.92104,258.72611 154.6907,260.1986 152.42626,264.68855 C 151.2955,266.93063 151.12393,267.08991 149.83955,267.08991 C 148.66001,267.08991 148.43064,266.93422 148.23048,265.99763 C 147.63958,263.23275 145.89546,260.97953 143.50486,259.89263 C 139.63118,258.13144 136.95582,259.70804 134.44159,265.23365 C 133.26315,267.82354 132.78578,266.91164 132.66263,261.83532 C 132.51961,255.9397 132.58751,255.8523 137.08535,256.14327 C 142.34178,256.4833 184.127,257.1996 203.52346,257.28217 C 216.53981,257.33758 221.57268,257.4843 221.77757,257.81436 C 222.27047,258.60837 221.8713,267.09043 221.34124,267.08578 C 221.08204,267.0835 220.36967,266.00552 219.75821,264.69026 C 217.70119,260.26561 213.9334,258.71083 210.6612,260.9364 C 209.60746,261.6531 208.80122,262.76684 207.78593,264.90833 C 206.43251,267.76303 206.31926,267.8843 205.00677,267.8843 C 203.75642,267.8843 203.60326,267.75323 203.22932,266.36323 C 202.65039,264.2113 200.94391,262.14573 198.73865,260.92764 C 196.87427,259.89783 196.81662,259.89162 194.93366,260.51761 C 192.678,261.26751 191.34182,262.56464 189.94636,265.35914 C 189.38537,266.48254 188.64367,267.51029 188.29813,267.643 C 187.45438,267.96708 186.44902,267.93776 185.87487,267.57235 z M 223.89054,267.54323 C 223.58757,267.34004 223.32833,266.66339 223.31446,266.03956 C 223.19892,260.84275 223.9499,137.64161 224.10037,137.10829 C 224.20823,136.72599 224.45626,136.4132 224.65155,136.4132 C 225.02192,136.4132 234.27337,142.60114 236.34626,144.23536 C 239.37913,146.62638 242.01977,148.63261 243.29076,149.51146 C 246.68536,151.8587 251.88519,155.8298 252.42338,156.48604 C 252.97093,157.15367 252.94219,157.18281 252.02098,156.89384 C 246.63771,155.2052 238.26151,154.48333 236.01888,155.51476 C 235.40231,155.79833 234.64422,156.52125 234.33424,157.12124 C 232.97132,159.75927 232.87293,163.42797 232.77168,215.38724 C 232.6966,253.92062 232.55575,266.87243 232.20798,267.22101 C 231.63787,267.79246 224.66496,268.06259 223.89054,267.54323 z M 122.70354,266.55272 C 122.37986,266.16235 122.25661,253.32463 122.25262,219.58456 C 122.24605,164.06536 122.26789,164.39514 118.32796,160.33156 C 116.20011,158.13695 114.40768,157.42116 110.83012,157.33741 L 107.7739,157.26586 L 107.37707,162.31471 C 107.15882,165.09157 106.78689,167.55507 106.55057,167.78914 C 105.79581,168.53671 104.81943,167.7604 104.37903,166.06259 C 102.91608,160.42258 101.5995,158.87585 100.84264,161.90801 C 100.33449,163.94384 99.945402,164.71029 99.312952,164.92131 C 98.627072,165.15015 98.738832,164.1341 99.675012,161.62963 L 100.50476,159.40989 L 99.476602,158.45614 C 98.911112,157.93158 98.433092,157.27044 98.414332,156.98694 C 98.395572,156.70344 98.215392,157.0077 98.013942,157.66306 C 97.812482,158.31843 97.760512,160.04986 97.898442,161.51066 C 98.209742,164.80756 97.810762,167.7915 97.058642,167.7915 C 96.757512,167.7915 96.420772,167.64515 96.310322,167.46629 C 96.199882,167.28742 96.055412,158.16741 95.989282,147.1996 C 95.883962,129.73007 95.795272,127.27245 95.273812,127.37374 C 94.946432,127.43732 94.654522,127.75452 94.625132,128.07864 C 94.595752,128.40274 94.551102,128.90267 94.525932,129.18959 C 94.495842,129.53244 94.038112,129.66858 93.190462,129.58678 C 92.116542,129.48314 91.899492,129.29685 91.893122,128.47329 C 91.888132,127.82787 91.628512,127.43474 91.145802,127.3417 C 90.532642,127.2235 90.449352,127.37153 90.658862,128.20707 C 90.797882,128.76145 90.732382,129.3259 90.513332,129.46141 C 89.787602,129.91035 90.100332,130.4553 91.083692,130.4553 C 92.420262,130.4553 92.679572,131.07595 91.645812,131.8007 C 90.923792,132.30689 90.865652,132.50655 91.290932,133.01945 C 91.570662,133.35682 92.291522,133.63285 92.892842,133.63285 C 94.167562,133.63285 94.995722,134.44975 94.645932,135.36212 C 94.412092,135.97207 92.230692,136.8035 90.851952,136.80818 C 90.118702,136.81067 89.718212,137.5981 89.718212,139.03728 C 89.718212,139.70682 90.025742,140.12464 90.710282,140.38514 C 91.255922,140.59278 91.702362,140.97354 91.702362,141.23125 C 91.702362,141.51596 91.998352,141.43173 92.456612,141.01662 C 93.343232,140.21351 94.041372,140.86873 93.278882,141.78834 C 92.894462,142.25195 93.044812,142.63807 94.060712,143.79619 C 95.210592,145.10703 95.270132,145.30333 94.754812,146.08444 C 94.346722,146.70299 93.655932,146.99366 92.252292,147.13743 C 90.424582,147.32464 90.313462,147.40184 90.313462,148.48432 C 90.313462,149.63136 90.543262,149.8506 92.595222,150.66123 C 94.167052,151.28218 94.057352,152.57975 92.396802,153.00816 C 91.492322,153.2415 91.068382,153.60733 90.977442,154.23295 C 90.823912,155.28922 91.536092,156.27288 92.454362,156.27288 C 92.814512,156.27288 93.442132,156.89168 93.849052,157.648 C 94.471382,158.80465 94.513712,159.20483 94.115522,160.16703 C 93.719862,161.12312 93.769832,161.64739 94.419842,163.35966 C 95.182602,165.36893 94.937632,166.2117 94.065132,164.57993 C 93.821522,164.12431 93.525302,163.8485 93.406892,163.96703 C 93.075702,164.29852 95.033302,168.90441 96.626202,171.54148 C 98.066362,173.92569 98.467882,175.52995 97.555572,175.25475 C 97.282752,175.17246 95.452382,171.99273 93.488082,168.18869 C 91.523782,164.38465 89.703022,161.20813 89.441952,161.12976 C 88.966162,160.98693 87.648512,162.84176 85.937032,166.06357 C 85.044032,167.74461 84.565322,168.53946 81.367932,173.65011 C 80.513712,175.01546 79.543062,176.13257 79.210922,176.13257 C 78.339752,176.13257 78.468152,175.17408 79.512792,173.87918 C 80.500772,172.65451 82.575302,169.50169 82.575302,169.22487 C 82.575302,169.13002 83.200312,168.10252 83.964202,166.94154 C 84.728102,165.78056 85.353102,164.69887 85.353102,164.53779 C 85.353102,164.29504 88.723492,158.47093 89.207862,157.8767 C 89.290152,157.77574 89.706502,157.91131 90.133092,158.17795 C 91.083432,158.772 91.217662,158.03923 90.370842,156.88006 C 89.515132,155.70873 88.772902,156.36616 86.949922,159.91013 C 86.012442,161.73263 84.974112,163.53656 84.642512,163.91886 C 83.222802,165.55566 82.900112,164.07685 84.213022,161.95057 C 84.886092,160.86052 84.973002,160.39891 84.642062,159.6719 C 84.064662,158.40347 85.340712,156.24014 86.489002,156.54071 C 87.078422,156.69498 87.441072,156.42968 87.927362,155.48842 C 88.684902,154.02215 88.225822,153.09534 86.742002,153.09534 C 85.479812,153.09534 84.701542,152.09378 85.353102,151.30796 C 85.624812,150.98028 86.249812,150.71218 86.742002,150.71218 C 87.935392,150.71218 88.613702,149.81847 88.457202,148.45233 C 88.334892,147.38474 88.245912,147.34034 86.417712,147.43501 C 83.823602,147.56933 82.972132,147.05317 82.972132,145.34629 C 82.972132,144.23302 83.190392,143.86731 84.151782,143.3697 C 85.155152,142.85036 85.297482,142.58919 85.104212,141.622 C 84.882442,140.5121 84.916382,140.48592 86.522282,140.52807 C 88.395042,140.57722 89.057362,139.93035 88.702012,138.39917 C 88.361722,136.93284 87.900392,136.63122 85.894562,136.56364 C 82.476952,136.4485 81.987012,134.30071 85.174182,133.40566 C 86.955922,132.9053 87.316592,132.27352 86.170872,131.6598 C 85.721102,131.41886 85.353102,130.95992 85.353102,130.63992 C 85.353102,130.31993 85.156892,130.05811 84.917072,130.05811 C 84.677262,130.05811 83.969382,129.50986 83.344022,128.8398 L 82.207002,127.6215 L 81.930842,128.7228 C 81.778962,129.32852 81.769452,137.91644 81.909702,147.80706 C 82.162252,165.61586 82.035692,168.0751 80.886342,167.6912 C 80.512892,167.56647 80.389472,165.35915 80.379282,158.62276 C 80.337052,130.72143 80.238322,127.2109 79.499892,127.35532 C 79.061542,127.44106 78.805442,127.85461 78.805442,128.47673 C 78.805442,129.36452 78.628242,129.47271 77.019712,129.56707 C 73.619962,129.76649 73.448252,129.87526 73.448252,131.82961 C 73.448252,133.74992 73.947462,134.3719 74.872182,133.60375 C 75.268452,133.27458 75.387372,132.7431 75.227642,132.01517 C 75.035802,131.14093 75.151792,130.8691 75.805242,130.66151 C 77.008522,130.27926 78.210192,130.79197 78.210192,131.68762 C 78.210192,132.1175 78.490742,132.89779 78.833642,133.42159 C 79.499812,134.43923 79.244082,135.38954 78.033452,136.39521 C 77.694152,136.67706 77.416542,137.42199 77.416542,138.05061 C 77.416542,138.67924 77.237962,139.19356 77.019712,139.19356 C 76.801452,139.19356 76.622882,138.81843 76.622882,138.35993 C 76.622882,137.22554 74.238472,134.98685 73.787752,135.69806 C 73.288742,136.4855 73.386092,139.76685 73.924452,140.3057 C 74.186352,140.56784 75.317322,140.78233 76.437692,140.78233 C 78.752932,140.78233 79.131762,140.99252 78.602072,141.98319 C 78.345292,142.46342 78.418622,143.06444 78.836222,143.90231 C 79.502562,145.23925 79.281632,146.00604 77.858762,147.29491 C 77.051552,148.02611 77.012222,148.02039 75.639452,146.97236 C 74.047912,145.75731 73.858432,144.67097 75.087732,143.80914 C 76.097222,143.10141 75.829032,141.97392 74.651192,141.97392 C 73.933612,141.97392 73.838192,142.24654 73.782342,144.45637 C 73.669082,148.93701 73.856322,160.38847 74.045942,160.57826 C 74.415542,160.9482 75.560372,157.61542 75.734872,155.66149 C 75.870042,154.14801 75.758192,153.53079 75.276192,153.1304 C 74.322282,152.33799 74.503252,151.35902 75.778022,150.41567 C 76.809472,149.65239 76.996972,149.62846 77.759092,150.16276 C 79.262092,151.21647 79.478212,152.09516 78.530862,153.30064 C 77.730482,154.31908 77.708322,154.53359 78.167432,156.81852 C 78.890192,160.4157 79.132192,163.35457 78.646472,162.63611 C 78.427962,162.3129 78.135582,161.37545 77.996742,160.55293 C 77.531012,157.79375 76.174172,158.32336 75.673082,161.45991 C 75.515662,162.44528 75.155272,163.15262 74.730832,163.3093 C 73.735782,163.67662 73.461172,164.22992 73.454332,165.88139 C 73.447962,167.41939 72.785932,168.24968 72.253512,167.38741 C 72.081712,167.10918 71.932622,158.69323 71.922192,148.68529 C 71.911762,138.67736 71.790942,129.88996 71.653712,129.15775 C 71.467282,128.16312 71.110712,127.71558 70.243662,127.38801 C 68.848012,126.86073 68.681982,125.53463 69.928042,124.86714 C 70.522942,124.54847 76.540552,124.39742 90.265492,124.35667 L 109.75804,124.2988 L 109.88382,125.39334 C 110.04981,126.83773 109.58884,126.97844 103.87176,127.22856 C 102.73363,127.27835 102.51345,128.26568 103.63971,128.26905 C 104.26841,128.27093 104.43053,129.05909 103.80562,129.07562 C 103.23138,129.09081 102.41672,129.65366 102.41672,130.03523 C 102.41672,130.2153 102.78414,130.45882 103.23321,130.57636 C 103.95576,130.76549 103.99,130.88709 103.53083,131.63327 C 103.07277,132.37764 103.12149,132.55974 103.94663,133.18722 C 105.08277,134.05119 104.95325,135.22013 103.64929,135.87081 C 102.35538,136.51649 102.0335,137.16011 102.29486,138.57906 C 102.5708,140.07712 103.09612,140.65333 104.50007,140.99785 L 105.59134,141.26565 L 105.59134,134.85502 C 105.59134,129.44347 105.68678,128.40775 106.2037,128.2092 C 106.5405,128.07984 106.94229,128.10136 107.09657,128.25701 C 107.25084,128.41267 107.37707,132.84359 107.37707,138.10349 C 107.37707,144.26688 107.52134,147.7151 107.78286,147.80238 C 108.00605,147.87686 111.39893,145.71023 115.3226,142.98765 C 125.09432,136.20719 124.16616,136.97148 123.38932,136.34514 C 122.80038,135.8703 122.71102,133.57616 122.49774,113.45394 C 122.28089,92.995627 122.16773,89.520347 121.63217,86.870577 C 121.28284,85.142237 119.1523,83.292047 115.99782,81.977627 C 113.1683,80.798597 112.70846,80.720967 109.85795,80.940977 C 106.57275,81.194557 102.3899,82.634617 98.547642,84.834887 C 96.893072,85.782367 96.464292,85.899287 96.464292,85.402967 C 96.464292,85.059247 96.625782,84.778017 96.823152,84.778017 C 97.020532,84.778017 98.761612,83.470307 100.69223,81.871987 C 104.6356,78.607357 117.84239,68.629037 124.37428,63.979137 C 128.16756,61.278797 128.86742,60.924537 130.3267,60.966147 C 131.23625,60.992067 139.55151,60.880607 148.80507,60.718437 C 164.45224,60.444227 165.66459,60.471347 166.1282,61.105967 C 166.4453,61.540007 166.7213,61.635147 166.88664,61.367367 C 167.31703,60.670337 169.48101,60.892537 170.69606,61.758527 C 171.79192,62.539567 171.87602,62.544077 172.89367,61.876677 C 173.47565,61.494997 174.50833,61.215227 175.1885,61.254967 L 176.42519,61.327197 L 175.31563,60.717337 C 174.09659,60.047297 173.33404,58.530837 173.71563,57.535487 C 173.9024,57.048347 174.25066,56.963787 175.19261,57.176897 C 175.87053,57.330277 176.87162,57.530027 177.41726,57.620797 L 178.40933,57.785847 L 177.42542,57.359237 C 175.89324,56.694927 175.03629,55.746797 175.03629,54.715877 C 175.03629,53.552027 175.86562,53.185937 177.08863,53.809917 C 177.69823,54.120927 177.55582,53.889097 176.66998,53.128397 C 175.61404,52.221627 175.3868,51.788387 175.60544,51.098847 C 175.95529,49.995557 176.31341,50.021837 179.00458,51.348287 C 181.44109,52.549227 181.9511,53.772237 180.19506,54.203127 L 179.20299,54.446557 L 180.4799,55.118307 C 181.69723,55.758707 181.75411,55.892767 181.69895,57.991297 C 181.66713,59.201987 181.49139,60.285137 181.30843,60.398317 C 181.12547,60.511497 181.0667,60.751357 181.17783,60.931347 C 181.40851,61.304937 185.04331,61.185377 185.69412,60.782777 C 185.93065,60.636467 186.6205,60.770637 187.22711,61.080957 C 187.96239,61.457087 188.63139,61.531587 189.23406,61.304447 C 190.49447,60.829417 222.22377,61.546797 222.73846,62.061957 C 223.54212,62.866367 222.56077,63.329567 220.05288,63.329567 C 217.16171,63.329567 216.83291,63.765847 218.53348,65.345597 C 219.10359,65.875207 220.39408,67.721947 221.40123,69.449457 C 223.04162,72.263127 223.26027,72.490747 223.49974,71.634027 C 223.64677,71.108017 223.78486,68.839987 223.80662,66.593957 C 223.8362,63.539267 223.98259,62.457857 224.38754,62.302317 C 224.9117,62.100987 228.63519,64.919577 241.6142,75.342487 C 244.94808,78.019787 249.01061,81.244587 250.64204,82.508727 C 253.4325,84.670947 254.4883,86.006307 252.91384,85.382067 C 248.73078,83.723547 239.41523,83.282927 236.73099,84.616607 C 233.8417,86.052177 233.78114,86.273407 233.36656,96.907467 C 233.16248,102.14216 232.99049,113.01451 232.98436,121.06826 L 232.97322,135.71142 L 231.97768,135.52094 C 230.56708,135.25103 231.13336,135.83305 235.485,139.12573 C 237.48648,140.64015 241.08383,143.4154 243.4791,145.29294 C 245.87437,147.17048 247.97579,148.56487 248.14892,148.39157 C 248.32205,148.21828 248.41587,143.62817 248.35741,138.19133 L 248.25111,128.30616 L 247.25904,128.07194 C 246.47745,127.88742 246.26697,127.58872 246.26697,126.66405 L 246.26697,125.49037 L 266.55286,125.3875 C 284.16369,125.29819 286.90374,125.363 287.33153,125.87893 C 288.04417,126.73839 287.53553,127.6554 286.19765,127.92322 L 285.03787,128.1554 L 285.25622,148.31008 C 285.48269,169.21485 285.44272,169.81288 283.9044,168.53501 C 283.1563,167.91356 280.66439,162.68928 280.33876,161.05963 C 280.21114,160.42096 279.86407,159.80521 279.5675,159.6913 C 279.00015,159.47339 277.81482,160.4208 277.81482,161.09217 C 277.81482,161.30855 277.38725,162.4129 276.86468,163.54627 C 276.3421,164.67963 275.70796,166.2629 275.45548,167.06464 C 275.203,167.86638 274.7377,168.73727 274.42148,168.99994 C 274.10526,169.26262 273.84913,169.67908 273.85231,169.9254 C 273.85548,170.17173 275.19478,171.85349 276.82852,173.66267 C 279.68045,176.82084 280.3938,178.11854 279.27796,178.11854 C 278.33598,178.11854 275.99064,175.1303 268.39112,164.24739 C 267.46407,162.91981 266.52,161.8336 266.29318,161.8336 C 265.87848,161.8336 263.52762,165.37263 258.78685,173.13381 C 257.37908,175.43849 255.99514,177.32415 255.71143,177.32415 C 254.6424,177.32415 254.60751,177.38873 261.92886,165.81891 C 262.82276,164.4063 263.49768,162.97641 263.42869,162.64136 C 263.35395,162.27844 262.83503,162.83496 262.14494,164.01817 C 260.78782,166.34502 259.08701,168.58586 258.67804,168.58588 C 258.37437,168.58589 258.06279,168.0718 255.66885,163.62097 C 254.84635,162.09177 253.9329,160.84061 253.63896,160.84061 C 253.33074,160.84061 252.48731,162.43787 251.64645,164.61395 C 250.47865,167.63609 250.01529,168.41256 249.31895,168.51421 C 248.48716,168.63564 248.44979,168.5067 248.4556,165.53526 C 248.46183,162.35429 248.89091,160.73902 249.38637,162.03138 C 249.52587,162.39524 249.64001,163.05071 249.64001,163.48796 C 249.64001,165.07325 250.65304,163.90606 251.79083,161.00984 C 252.42815,159.38757 253.00922,157.98508 253.08209,157.89319 C 253.42184,157.46483 255.39709,159.85963 256.22013,161.69778 C 257.62392,164.83295 258.02848,164.75507 257.89228,161.37595 C 257.78962,158.82891 257.67598,158.44749 256.98133,158.31849 C 256.54482,158.23743 255.29481,157.41919 254.20353,156.50018 C 253.11226,155.58116 250.79081,153.78645 249.04477,152.51193 C 247.29872,151.23741 245.14081,149.55143 244.24941,148.76533 C 242.72513,147.42109 241.21452,146.30562 234.95736,141.90391 C 233.5387,140.90594 231.48512,139.28827 230.39384,138.30911 C 229.30256,137.32995 227.85061,136.24111 227.16728,135.88949 C 225.18542,134.86965 223.84617,133.00596 223.84617,131.26785 C 223.84617,129.3271 223.11939,128.66525 221.91528,129.50941 C 221.21326,130.00157 221.12658,130.24551 221.49557,130.69052 C 221.83667,131.10189 221.89411,133.50064 221.71111,139.69089 C 221.57389,144.33263 221.35046,156.62043 221.21461,166.99712 L 220.9676,185.86381 L 219.59332,187.16179 C 218.83746,187.87567 217.63219,188.90778 216.91495,189.45535 C 215.70076,190.38232 215.53227,190.41128 214.47054,189.87566 C 213.84337,189.55927 212.08021,189.08476 210.55242,188.82121 C 206.81407,188.17633 206.67839,188.03432 206.99284,185.09538 C 207.19373,183.21772 207.07433,182.14536 206.45874,180.29852 C 206.02268,178.9903 205.53931,176.3113 205.38459,174.3452 C 205.05419,170.14671 203.86958,164.2279 203.01753,162.51836 C 202.68748,161.85616 202.41744,160.81231 202.41744,160.19869 C 202.41744,158.25283 200.82623,154.73185 198.811,152.21852 C 197.73897,150.88151 196.86185,149.66458 196.86185,149.51423 C 196.86185,149.36389 197.29561,148.63354 197.82577,147.89126 C 198.35593,147.14897 199.61625,145.14686 200.62649,143.44212 C 201.63673,141.73738 202.71449,140.24612 203.02152,140.12819 C 203.32855,140.01026 204.11984,140.29871 204.77994,140.76917 C 206.14814,141.74431 207.99983,142.01546 208.26039,141.27883 C 208.36921,140.97118 208.0756,140.78233 207.48841,140.78233 C 206.96497,140.78233 205.88444,140.18055 205.07438,139.43788 C 203.14401,137.66811 203.12408,136.36815 205.00095,134.64742 C 206.27536,133.47903 206.31759,133.37302 205.49698,133.40227 C 204.76135,133.4285 204.6,133.22381 204.6,132.26437 C 204.6,131.17374 204.82852,130.99715 207.97304,129.65795 C 212.43932,127.75582 213.59843,126.96948 213.44934,125.94284 C 213.29007,124.84608 211.65821,124.54535 207.23586,124.79773 L 203.72316,124.99819 L 203.48834,130.01061 C 203.1432,137.37801 201.59127,141.79591 197.94597,145.78812 C 194.98973,149.02569 193.75155,148.61069 196.18798,145.1989 C 198.33104,142.19791 198.30013,142.06909 195.9622,144.25778 C 194.73709,145.40467 193.49592,146.34305 193.20403,146.34305 C 192.33553,146.34305 190.90954,145.15734 190.90794,144.43385 C 190.90563,143.3866 189.46621,141.27884 188.55584,140.98963 C 187.23555,140.5702 187.62768,139.85488 189.71471,138.8756 C 192.25615,137.68308 194.02916,135.99283 194.33285,134.47299 C 194.6979,132.64606 195.30855,132.31457 197.32759,132.84731 C 198.27184,133.09646 199.46866,133.57272 199.98718,133.90568 C 201.19021,134.67813 201.44113,134.29934 201.76202,131.2264 C 201.97603,129.17694 201.53368,125.0692 201.04645,124.58152 C 200.95026,124.48523 200.08943,124.78543 199.1335,125.24861 C 197.19368,126.18853 191.75875,127.02407 191.1069,126.48258 C 190.87771,126.29219 190.44637,125.45485 190.14838,124.62182 C 189.50786,122.83131 187.56535,119.82924 186.38741,118.80941 C 185.92807,118.41172 184.43616,117.54588 183.07207,116.8853 C 180.70073,115.73696 180.5919,115.62054 180.59209,114.23222 C 180.59229,112.78754 181.8772,108.86155 182.65976,107.91456 C 183.31658,107.11972 185.43539,107.33756 187.70451,108.43322 C 189.80555,109.44774 190.6436,109.54257 189.56107,108.64333 C 188.64604,107.88322 184.99573,106.58797 181.98079,105.95358 C 178.8508,105.295 173.33044,105.46405 171.06801,106.28779 L 169.67911,106.79348 L 170.82765,107.00647 C 171.45935,107.12362 172.30585,107.66631 172.70877,108.21245 C 173.5495,109.35205 174.84724,114.24709 174.52881,115.07766 C 174.4115,115.38365 173.62947,115.94345 172.79097,116.32167 C 167.96225,118.49971 167.10301,119.3173 164.91717,123.81385 L 163.32986,127.07916 L 161.27618,127.19818 C 159.00857,127.32961 155.12563,126.36404 154.39936,125.48813 C 153.50101,124.40469 155.49525,118.52899 157.80056,115.46707 C 159.4664,113.25451 164.02472,109.71313 166.9486,108.35993 C 168.81805,107.49473 169.10459,107.24861 168.38904,107.1227 C 166.83236,106.84878 163.88303,108.69639 160.07561,112.33065 C 158.04597,114.26798 156.38536,116.00273 156.38536,116.18566 C 156.38536,116.36857 155.94365,117.16974 155.40379,117.96601 C 154.86392,118.76228 154.30492,120.06607 154.16156,120.8633 C 154.0182,121.66054 153.71192,122.55052 153.48094,122.84103 C 152.74538,123.76616 152.63429,132.07903 153.32808,134.27918 C 153.66376,135.34366 154.04472,136.85338 154.17468,137.6341 C 154.39197,138.93957 158.24547,145.01082 158.61929,144.63666 C 158.70914,144.54671 158.06111,143.24054 157.1792,141.73405 C 154.37737,136.94784 154.22269,134.79328 156.60927,133.79518 C 158.77041,132.89137 160.23142,133.06813 161.01301,134.32793 C 162.20387,136.24746 163.246,137.20759 164.13858,137.20759 C 165.21715,137.20759 167.09973,139.03284 167.09973,140.07858 C 167.09973,141.00238 165.902,142.69437 163.73537,144.83132 C 162.21176,146.33405 161.9231,146.40683 160.15523,145.73386 C 159.50261,145.48543 159.44972,145.52683 159.85761,145.96683 C 160.58951,146.75635 160.47067,147.93214 159.6592,147.92992 C 157.78154,147.92479 153.99247,142.56642 152.48024,137.77772 C 148.68004,125.74377 151.76401,115.66988 161.34572,108.81834 C 166.82913,104.89734 170.9501,103.62827 178.01251,103.68576 C 186.07916,103.7514 190.52962,105.69082 196.43835,111.7154 C 198.80595,114.12941 199.86099,115.61628 201.42537,118.74359 L 203.40952,122.71002 L 212.63577,122.81665 L 221.86203,122.92326 L 221.86203,124.53384 C 221.86203,125.85355 221.98744,126.12041 222.55648,126.01152 C 223.14173,125.89953 223.26887,125.34845 223.365,122.50696 L 223.47907,119.13528 L 219.43476,119.26228 C 214.67074,119.41186 213.52864,119.20215 213.52864,118.17779 C 213.52864,117.12931 214.6916,116.95726 219.28265,117.32649 C 221.4652,117.50202 223.33443,117.56954 223.4365,117.47652 C 223.89316,117.06038 223.3506,107.55142 222.80374,106.38676 C 221.92031,104.50531 218.54585,100.91255 216.31842,99.481887 C 215.22055,98.776737 214.32229,98.045187 214.32229,97.856207 C 214.32229,97.667247 215.34909,96.862817 216.60406,96.068607 C 220.76259,93.436847 223.11886,90.544537 223.56482,87.524297 C 223.9334,85.028147 223.26917,84.925347 221.94511,87.273597 C 219.38704,91.810417 212.52229,95.849707 207.30201,95.889737 C 205.19916,95.905857 205.40891,96.640547 207.84765,97.800917 C 211.35489,99.469687 214.71601,101.91459 217.21079,104.61174 C 219.82636,107.43946 221.1608,109.58566 222.22079,112.66943 C 223.0905,115.19962 222.84031,115.75913 220.83918,115.75913 C 219.37435,115.75913 219.07174,115.43701 218.12332,112.86808 C 217.23754,110.46883 214.83883,107.41495 212.42286,105.61065 C 210.17995,103.93559 203.94232,100.82841 199.03476,98.941547 C 190.54541,95.677587 186.20405,93.184417 182.19913,89.273167 C 180.78604,87.893117 179.49872,86.763997 179.33844,86.763997 C 179.17814,86.763997 178.39315,87.749977 177.59399,88.955057 C 175.16202,92.622357 172.26033,94.874327 166.03707,97.924287 C 162.51974,99.648087 160.03401,101.12992 159.40544,101.87761 C 158.3064,103.18495 157.58152,105.32649 157.57806,107.27627 C 157.57491,109.0524 156.70697,109.18663 154.12901,107.80968 C 150.26171,105.74408 147.18226,106.34417 143.05244,109.96818 C 141.93933,110.94495 140.5112,112.73578 139.87782,113.94906 C 138.70918,116.18764 137.73444,116.82149 137.73444,115.34286 C 137.73444,114.12662 140.12202,110.64791 142.43252,108.49775 C 146.02298,105.15646 149.97632,104.1777 153.21074,105.82929 C 155.35836,106.92594 155.87892,106.83959 156.20385,105.3328 C 156.96793,101.78957 159.53437,99.353637 164.71279,97.256537 C 167.82402,95.996577 172.00199,93.314407 173.70633,91.482827 C 174.39351,90.744347 175.68816,89.082767 176.58334,87.790437 C 177.87746,85.922127 178.21092,85.088007 178.21092,83.719197 C 178.21092,82.040647 178.24311,81.997807 179.50061,82.003087 C 181.78062,82.012677 182.48373,82.427567 184.1,84.717027 C 186.20646,87.700837 188.69189,90.049277 191.06774,91.300707 C 194.0357,92.864037 194.26984,92.604387 192.38289,89.842237 C 191.45015,88.476897 190.07951,85.885197 189.33701,84.082937 L 187.98703,80.806087 L 178.33703,80.806087 C 173.02954,80.806087 168.57164,80.761407 168.43061,80.706787 C 168.28957,80.652177 167.68131,82.092627 167.07893,83.907797 C 166.47654,85.722977 165.47586,87.953807 164.85518,88.865187 C 163.05615,91.506877 163.04561,91.530317 163.65639,91.530317 C 164.34624,91.530317 168.67218,88.113817 169.99141,86.527097 C 170.51878,85.892797 171.42543,84.614177 172.00619,83.685747 C 172.99336,82.107577 173.17805,81.997677 174.84286,81.997677 C 176.97391,81.997677 177.11072,82.518387 175.65102,85.073707 C 172.46672,90.648097 168.41532,93.487887 156.30639,98.633147 C 154.18953,99.532637 152.30622,100.26858 152.12127,100.26858 C 151.02617,100.26858 143.31695,105.15675 141.08157,107.2685 C 139.30026,108.95128 136.62382,112.72642 135.72635,114.82206 L 134.94134,116.65511 L 133.16326,116.4545 C 131.49597,116.2664 131.38518,116.31321 131.38518,117.20566 C 131.38518,117.98247 131.54932,118.12357 132.27805,117.97322 C 134.33512,117.54881 139.56194,117.36586 140.07402,117.70035 C 140.99589,118.3025 140.27719,119.20338 138.66183,119.47053 C 137.82438,119.60901 135.93383,119.72429 134.4606,119.72669 C 132.49388,119.72991 131.78201,119.87195 131.78201,120.26117 C 131.78201,120.67424 132.48137,120.75076 134.94968,120.60774 C 137.66666,120.45031 138.15407,120.51996 138.37541,121.09731 C 138.82388,122.26707 137.82815,122.70819 134.63947,122.75237 L 131.5836,122.79471 L 131.46043,124.24184 C 131.36038,125.41753 131.47202,125.68999 132.05568,125.69439 C 132.4508,125.69738 133.22051,125.81481 133.76615,125.95535 C 134.74521,126.20752 134.7486,126.19997 134.0249,125.37916 C 133.07737,124.3045 133.40358,123.83374 135.25058,123.61035 C 137.3787,123.35294 138.92492,123.96738 138.92492,125.07048 C 138.92492,125.56139 139.23742,126.22733 139.61937,126.55035 C 140.754,127.50993 145.98638,129.66091 147.18596,129.66091 C 147.79709,129.66091 148.61094,129.8906 148.99452,130.17134 C 149.81943,130.77509 150.33871,133.79597 149.6869,134.19919 C 149.19028,134.50639 146.08451,133.03747 143.5712,131.30668 C 142.65048,130.67262 141.23111,129.77941 140.41705,129.32175 C 138.93725,128.48982 138.93677,128.48982 138.19716,129.28442 C 137.77371,129.73936 137.1934,129.97778 136.83994,129.84203 C 136.39099,129.66959 136.14998,129.93527 135.95682,130.81554 C 135.8107,131.48142 135.78332,132.34303 135.89597,132.73023 C 136.00863,133.11744 136.30505,135.81625 136.5547,138.72758 C 136.97107,143.58326 136.95149,144.08408 136.31794,144.78478 C 135.93808,145.20492 135.23042,145.54866 134.74537,145.54866 C 133.86663,145.54866 133.86285,145.51798 133.69887,137.04988 C 133.53154,128.40805 133.32715,127.27775 131.93184,127.27775 C 131.55227,127.27775 131.38518,127.79979 131.38518,128.98568 C 131.38518,129.92504 131.1709,130.9081 130.90899,131.17025 C 130.53862,131.54096 130.53862,131.7528 130.90899,132.12351 C 132.21268,133.42841 131.49362,134.21119 124.24227,139.38087 C 114.07545,146.62909 108.3852,150.86064 108.56423,151.03984 C 108.65474,151.13043 109.80657,150.46818 111.12386,149.56818 C 112.44115,148.66819 113.58787,147.93182 113.67212,147.93182 C 113.75637,147.93182 116.03519,146.42618 118.73617,144.58597 C 126.16591,139.52396 130.18665,137.11951 130.81684,137.36155 C 131.2599,137.53173 131.38518,138.49473 131.38518,141.73036 C 131.38518,144.01315 131.27839,146.15942 131.14788,146.49986 C 131.01735,146.8403 130.04041,147.74457 128.97688,148.50934 C 126.52577,150.27191 124.85389,152.71247 125.18714,154.04147 C 125.46075,155.13261 129.41766,160.62954 129.93496,160.63711 C 130.30269,160.64249 128.14593,156.64079 126.96525,155.12704 C 126.55889,154.60605 126.22642,153.79211 126.22642,153.31828 C 126.22642,151.10127 134.14288,146.32405 136.41818,147.16802 C 137.16007,147.44321 137.32113,147.32234 137.53968,146.32636 C 138.00477,144.20686 144.79399,138.88163 146.2957,139.45843 C 146.9657,139.71577 152.81391,148.4363 152.81391,149.17804 C 152.81391,149.83983 148.04641,153.09534 147.07726,153.09534 C 146.71865,153.09534 145.88629,152.81637 145.22757,152.47542 C 143.22459,151.43868 143.13061,152.03555 145.08025,153.41106 C 146.40562,154.34612 147.17502,155.29488 147.85381,156.83116 C 148.59133,158.50036 149.07044,159.05397 150.08334,159.40739 C 150.79292,159.65498 151.6733,160.12914 152.03975,160.46107 C 152.64244,161.00701 152.76702,160.97139 153.34543,160.08783 C 153.69711,159.55061 154.39103,159.05337 154.88748,158.98285 C 155.54361,158.88966 155.75925,158.6285 155.67708,158.02658 C 155.51895,156.86831 157.88025,153.48641 159.64314,152.34629 C 160.86867,151.5537 161.04908,151.27064 160.72046,150.65602 C 160.22505,149.72951 160.70294,148.77387 162.35929,147.37887 C 163.73865,146.21714 164.28863,146.13595 166.16872,146.81642 C 167.92268,147.45125 168.32553,146.91638 166.93144,145.80375 C 165.94564,145.01697 165.86112,144.79204 166.26646,144.03395 C 166.84426,142.95334 167.6448,142.93423 169.09315,143.96649 C 171.24922,145.50317 175.82995,152.37659 175.82995,154.07512 C 175.82995,154.41007 175.50048,154.68411 175.0978,154.68411 C 174.31149,154.68411 173.05215,155.85211 173.05215,156.58139 C 173.05215,156.90528 173.38342,156.91036 174.27257,156.60012 C 174.94602,156.36514 176.90236,156.25595 178.63768,156.3565 C 180.36726,156.45671 181.78237,156.41009 181.78237,156.25288 C 181.78237,155.77582 179.65283,154.52485 178.80616,154.50454 C 177.71102,154.47828 177.94127,153.21427 179.66541,149.78743 C 181.06645,147.00277 181.14831,146.11427 179.89987,147.24249 C 179.2107,147.8653 178.03736,148.11347 176.34857,147.99359 C 175.08292,147.90375 170.39491,143.76756 169.44386,141.90163 C 168.55923,140.16602 167.87736,133.08305 168.32785,130.30904 C 168.59578,128.65915 168.41113,128.40818 167.16859,128.73341 C 166.5952,128.8835 166.30607,129.26865 166.30607,129.88239 C 166.30607,130.39016 166.1275,130.91608 165.90924,131.05109 C 165.30949,131.42209 165.43378,132.04407 166.10766,132.04407 C 166.7378,132.04407 166.7554,132.07966 166.89358,133.63285 C 166.94217,134.17899 167.02957,134.80457 167.08782,135.02302 C 167.46108,136.42306 165.72276,137.02828 164.73833,135.84103 C 164.4774,135.52632 164.02028,135.36242 163.72253,135.47677 C 162.96751,135.76677 161.42154,132.65922 161.77161,131.55522 C 161.91826,131.09275 162.79444,129.89644 163.71868,128.89676 C 164.95067,127.56419 165.47021,126.61754 165.66553,125.34939 C 165.98877,123.25069 166.7134,121.78789 168.35927,119.91162 C 170.33469,117.65967 172.33746,116.8346 176.31835,116.63276 C 180.77355,116.40686 183.29392,117.16745 185.70163,119.46442 C 187.51651,121.19582 189.71894,125.34993 189.71894,127.04164 C 189.71894,127.63606 190.1643,128.37344 190.86373,128.93704 C 192.754,130.46021 193.94865,133.57596 192.89282,134.22909 C 192.67416,134.36436 192.30512,133.97276 192.07273,133.35885 C 191.54851,131.97399 190.25412,130.5552 188.84578,129.82177 C 186.85827,128.78671 186.75191,128.95409 186.62569,133.31568 C 186.53247,136.53691 186.30259,137.87547 185.49606,139.89332 C 184.93914,141.28671 184.56525,142.50859 184.6652,142.60863 C 184.76515,142.70867 185.32982,142.60676 185.92002,142.38216 C 186.95976,141.98649 188.52845,142.39723 188.52845,143.06513 C 188.52845,143.21303 187.76952,144.12864 186.84193,145.09984 L 185.15541,146.86567 L 186.64796,145.97343 L 188.1405,145.08119 L 189.94614,146.14033 C 192.27674,147.50742 192.46441,148.09292 191.06018,149.61595 L 189.91735,150.85546 L 191.06215,149.98943 C 191.69178,149.51311 192.49536,149.13527 192.84788,149.14977 C 194.04455,149.199 197.02768,151.7444 198.19801,153.71484 C 199.62161,156.11172 202.1771,163.22061 203.25825,167.7915 C 204.22238,171.86764 204.72397,178.11854 204.08692,178.11854 C 203.84924,178.11854 203.54362,177.93853 203.40777,177.71852 C 202.56218,176.34907 196.92245,175.08143 194.86666,175.79874 C 193.36214,176.32371 192.49674,175.70772 192.49674,174.11184 C 192.49674,173.49086 192.21345,172.14762 191.86722,171.12687 C 191.10328,168.87465 191.47251,168.46846 193.95844,168.82635 C 195.50205,169.04858 195.6032,169.00656 195.39971,168.22772 C 195.27935,167.76701 195.40596,167.11861 195.68108,166.7868 C 196.47125,165.83383 195.73646,165.55503 194.4231,166.30948 C 192.29646,167.53114 191.71949,167.10414 191.68554,164.28357 L 191.66801,162.82658 L 190.86967,164.34089 C 189.6239,166.70396 188.75585,166.21344 188.60722,163.06243 C 188.54142,161.66732 188.67905,159.63224 188.91307,158.54002 C 189.60975,155.28854 189.12653,155.98984 187.6766,160.33456 C 186.44135,164.03595 186.22395,164.41535 185.33825,164.41535 C 184.44077,164.41535 184.36433,164.27073 184.39356,162.62799 C 184.43434,160.33539 186.24236,155.86456 188.20843,153.19463 C 189.05298,152.04773 189.56886,151.10937 189.35483,151.10937 C 188.3177,151.10937 184.83985,157.16576 183.58993,161.14846 C 182.92495,163.26735 182.42461,164.16915 181.67755,164.59526 C 180.40552,165.3208 178.93037,164.74774 177.91239,163.13257 C 177.2925,162.14905 176.98849,162.03219 175.0495,162.03219 L 172.88016,162.03219 L 171.03774,158.68388 C 169.34212,155.60235 166.91744,152.74821 166.41902,153.24708 C 166.30456,153.36165 167.05052,154.57335 168.07672,155.93974 C 170.36811,158.99079 171.19171,160.54086 170.91076,161.27366 C 170.62354,162.02282 167.79168,162.00676 166.32506,161.24764 C 164.86565,160.49225 164.8711,160.47701 164.30854,166.88375 C 163.47599,176.36545 163.33028,177.45928 162.87988,177.60811 C 162.6324,177.68989 162.14132,177.46795 161.78861,177.11491 C 160.68599,176.01128 160.93094,163.90809 162.19337,157.11597 C 162.38646,156.07713 162.31896,155.81566 161.89421,155.95696 C 161.1202,156.21446 160.46619,160.11345 159.89121,167.89819 C 159.62065,171.56141 159.27708,174.7565 159.12772,174.99839 C 158.93169,175.31586 158.0452,175.27874 155.94044,174.86493 L 153.02472,174.2917 L 152.55963,170.32844 C 152.01963,165.72674 151.42967,163.29115 150.7103,162.69357 C 150.29669,162.34998 150.27399,162.71904 150.59083,164.63654 C 150.83539,166.11669 150.84192,167.13963 150.60824,167.36652 C 150.38071,167.58742 149.38076,167.27897 148.05197,166.578 C 145.63562,165.30332 144.00684,164.52201 141.86061,163.60805 C 141.07442,163.27326 140.3393,162.64769 140.22701,162.21787 C 139.96853,161.22853 139.00822,161.2335 137.73444,162.23079 L 136.74236,163.00752 L 137.78505,163.01634 C 139.30978,163.02926 139.58435,163.63088 139.8737,167.5929 C 140.01729,169.55901 140.39191,172.24007 140.70619,173.5508 C 141.66464,177.54807 141.61946,177.68936 138.32968,180.98217 C 135.29097,184.02367 134.8995,184.79365 135.94871,185.66522 C 136.45072,186.08223 136.54395,186.0047 136.54395,185.17021 C 136.54395,184.44628 137.40432,183.37125 139.74996,181.16428 C 142.22289,178.83755 142.90065,177.97336 142.71405,177.38488 C 142.58099,176.96528 142.28029,175.12662 142.04582,173.299 C 141.81136,171.47139 141.4828,168.99301 141.3157,167.7915 C 140.96582,165.27582 141.17974,164.86463 142.64665,165.23314 C 144.41598,165.67762 144.87734,166.79604 144.87734,170.64069 C 144.87734,174.67377 145.39762,177.48341 146.43854,179.07167 L 147.17777,180.1996 L 147.86999,179.14217 C 148.53466,178.12681 148.53123,178.05586 147.78381,177.35889 C 147.24176,176.85342 146.85029,175.62247 146.49445,173.30455 C 145.89868,169.4237 146.01327,167.5929 146.85193,167.5929 C 147.59923,167.5929 147.89775,168.69358 148.39947,173.29864 C 148.62236,175.34451 148.87423,177.08798 148.95917,177.17301 C 149.04412,177.25802 149.71922,177.0252 150.45941,176.65561 C 151.28299,176.24437 152.7475,175.98362 154.23362,175.98362 C 156.48672,175.98362 157.14014,176.22384 163.28415,179.31101 L 169.90626,182.6384 L 173.16572,182.64078 C 174.95843,182.64208 177.22877,182.48987 178.21092,182.30253 C 179.82919,181.99386 179.94701,182.02209 179.46737,182.60347 C 178.87606,183.32023 175.28977,184.47363 173.65246,184.47363 C 172.97498,184.47363 172.65138,184.65378 172.76059,184.97013 C 172.88051,185.3175 173.90351,185.45407 176.16669,185.42486 C 177.94579,185.40189 179.4014,185.54599 179.4014,185.74508 C 179.4014,186.25155 176.30828,187.56642 174.42419,187.86087 C 173.22025,188.04902 172.31858,187.8678 170.56066,187.08435 C 167.734,185.82461 167.31146,185.80761 168.08198,186.98465 C 168.8279,188.12411 171.80713,189.65215 173.80607,189.9205 C 175.76989,190.18416 178.64097,188.79269 182.57603,185.67012 C 189.56424,180.12482 192.77772,177.80125 194.04406,177.37791 C 196.43852,176.57742 198.58389,176.82708 201.2698,178.21877 C 204.74301,180.01839 205.39447,181.2269 205.39093,185.86381 C 205.38853,189.0065 205.20543,189.94262 203.87595,193.60909 C 201.70278,199.60229 200.20379,204.16146 199.45749,207.04777 C 198.82742,209.48453 198.83253,209.60699 199.62013,210.94311 C 200.83676,213.00704 200.6971,213.46877 198.85618,213.46877 C 197.11287,213.46877 196.63393,212.8899 195.65211,209.59613 C 194.88254,207.01446 194.3789,207.55302 194.53782,210.78772 L 194.67929,213.66737 L 193.48881,213.66737 L 192.29832,213.66737 L 192.18173,210.78772 C 192.11761,209.2039 191.89779,207.90806 191.69326,207.90806 C 191.3129,207.90806 191.17634,208.35957 190.61203,211.4828 C 190.18456,213.84863 189.07772,214.01202 189.22176,211.68804 C 189.35272,209.57523 190.23144,206.9329 192.39409,202.14875 C 194.23117,198.08483 195.73948,193.94206 195.47747,193.67982 C 195.13529,193.33732 186.94114,210.41744 186.94114,211.47319 C 186.94114,213.20649 186.01708,213.86596 183.58835,213.86596 C 180.41382,213.86596 180.32578,213.41851 182.72873,209.49683 C 185.58254,204.83935 189.04749,198.36534 188.81237,198.13 C 188.7054,198.02294 187.8211,199.15146 186.84724,200.63783 C 185.87339,202.12421 183.89807,205.14587 182.45764,207.35265 C 181.01722,209.55942 179.19837,211.92769 178.41575,212.61546 C 177.12074,213.75355 176.75227,213.86596 174.31713,213.86596 C 171.66555,213.86596 169.87753,213.19167 169.87753,212.19171 C 169.87753,211.34197 163.08259,198.24966 160.0606,193.27673 C 158.81597,191.22859 159.19924,192.93921 160.68299,196.05459 C 164.85886,204.82254 167.42178,211.65864 166.97248,212.83059 C 166.53715,213.96606 165.11726,213.59212 164.63789,212.21573 L 164.20148,210.9627 L 163.56512,212.31503 C 162.86829,213.79586 161.57543,214.2651 160.79282,213.32124 C 160.413,212.86318 160.41275,212.23718 160.79164,210.40108 C 161.14384,208.69433 161.15701,207.85548 160.84047,207.29093 C 160.35381,206.42297 160.37608,206.37978 159.60072,209.69543 C 158.88701,212.7475 158.05363,213.64406 155.79404,213.79069 C 153.12606,213.96383 152.8783,213.49974 154.432,211.23942 C 155.86425,209.15581 156.7377,207.0372 156.76478,205.58114 C 156.77976,204.7753 156.64218,204.67957 155.78032,204.89608 C 154.88374,205.12132 154.69605,204.95539 153.99459,203.31744 C 153.56347,202.31075 153.21074,201.30286 153.21074,201.07769 C 153.21074,200.85252 152.16857,198.23097 150.89481,195.25202 C 147.34172,186.94241 147.08125,186.12189 147.12649,183.38135 C 147.14903,182.016 147.01622,180.89889 146.83136,180.89889 C 146.25932,180.89889 145.62325,184.01357 145.89701,185.47417 C 146.14202,186.78137 146.07528,186.89422 144.72267,187.45989 C 143.93391,187.78976 142.17281,188.21854 140.80912,188.41273 C 138.56872,188.73176 138.1736,188.67598 136.71073,187.83419 C 135.82031,187.3218 134.88382,186.65178 134.62965,186.34523 C 133.89999,185.46524 133.73978,166.3219 134.45708,165.72605 C 134.75567,165.47801 135.15765,164.98018 135.35037,164.61975 C 135.64717,164.06465 135.51873,163.99116 134.51061,164.13926 C 133.5523,164.28005 133.27755,164.14987 133.10019,163.47104 C 132.97905,163.00736 132.58826,162.62794 132.23176,162.62788 C 131.64186,162.62779 131.5836,164.20758 131.5836,180.20369 C 131.5836,210.01952 131.07647,266.22868 130.80348,266.67079 C 130.40241,267.32033 123.25361,267.21612 122.70354,266.55272 z M 176.21408,209.90083 C 177.07814,209.43797 179.79823,205.8249 179.79823,205.14003 C 179.79823,204.87766 178.96951,205.39314 177.95664,206.28553 C 175.93535,208.06637 174.65257,208.31837 173.49689,207.16163 C 172.48462,206.14842 170.01764,202.78482 165.62225,196.42494 C 163.59754,193.49529 161.94096,191.22351 161.94096,191.37653 C 161.94096,192.08628 166.41674,200.04294 169.67201,205.12013 C 172.66215,209.78381 174.25693,210.94923 176.21408,209.90083 z M 178.39936,203.50573 C 181.30558,200.82439 187.95392,190.12128 187.18889,189.35553 C 187.062,189.22854 186.82043,189.46816 186.65204,189.88804 C 185.45412,192.8752 176.85089,203.53893 175.63885,203.53893 C 175.36836,203.53893 174.5022,203.10093 173.71406,202.56558 C 171.78751,201.25699 171.4472,202.01194 173.18125,203.74758 C 175.03691,205.60495 176.18157,205.5519 178.39936,203.50573 z M 176.81895,198.5395 C 177.9269,197.81287 182.1792,192.93108 182.1792,192.38574 C 182.1792,191.61339 181.40984,192.11359 178.46481,194.80067 C 176.78881,196.32987 175.17998,197.58103 174.88963,197.58103 C 174.11116,197.58103 171.77013,195.78379 167.19893,191.6768 C 164.96182,189.66685 163.13145,188.20385 163.13145,188.42569 C 163.13145,189.16975 170.4524,196.90151 172.23698,198.04216 C 174.23714,199.32061 175.43043,199.45013 176.81895,198.5395 z M 189.71894,196.73976 C 189.71894,196.5213 189.54037,196.45302 189.32211,196.58804 C 189.10386,196.72305 188.92528,197.01226 188.92528,197.23071 C 188.92528,197.44917 189.10386,197.51744 189.32211,197.38243 C 189.54037,197.24741 189.71894,196.95822 189.71894,196.73976 z M 190.90942,194.30412 C 190.90942,193.64854 190.21073,194.39441 189.98499,195.29097 C 189.7664,196.15914 189.77869,196.16369 190.33392,195.41984 C 190.65045,194.99579 190.90942,194.49371 190.90942,194.30412 z M 188.52845,187.65119 C 188.52845,187.43272 188.44971,187.25399 188.35346,187.25399 C 188.25721,187.25399 188.0681,187.43272 187.93321,187.65119 C 187.79832,187.86964 187.87707,188.04838 188.10821,188.04838 C 188.33934,188.04838 188.52845,187.86964 188.52845,187.65119 z M 214.66881,185.60601 C 214.31679,184.38765 214.12819,184.11987 214.02947,184.69826 C 213.87486,185.60417 214.61603,187.88677 214.95472,187.54777 C 215.07208,187.43029 214.94342,186.5565 214.66881,185.60601 z M 142.34013,185.43985 C 142.74382,183.82993 142.26685,183.40475 141.56827,184.75181 C 141.20571,185.45094 140.90906,186.20496 140.90906,186.42741 C 140.90906,187.19582 142.10713,186.36905 142.34013,185.43985 z M 219.08423,184.98392 C 219.08423,183.23534 213.07622,178.04178 212.13883,178.98003 C 211.97486,179.14415 213.04989,182.53807 213.36611,182.85457 C 213.46001,182.94857 213.78959,182.68104 214.0985,182.26008 C 214.64276,181.5184 214.69907,181.53161 215.91556,182.68626 C 216.60602,183.34163 217.42745,184.36937 217.74095,184.97013 C 218.46814,186.36362 219.08423,186.36995 219.08423,184.98392 z M 212.48513,173.61937 C 214.96795,162.02006 215.53168,159.14157 216.07676,155.2799 C 216.41595,152.87688 216.95532,149.21277 217.27537,147.13743 C 218.89856,136.61169 219.47914,132.55862 219.48005,131.74618 C 219.4809,130.99235 219.26738,130.85249 218.11558,130.85249 C 217.36457,130.85249 216.63974,130.67375 216.50485,130.4553 C 216.07565,129.7602 214.92875,130.02707 214.37108,130.95179 C 213.94757,131.65404 213.94412,131.73912 214.35499,131.34898 C 215.19737,130.54909 215.90961,130.77442 215.90961,131.8408 C 215.90961,132.62031 216.09228,132.80911 216.77431,132.73448 C 217.57921,132.64641 217.63243,132.79093 217.54384,134.82443 C 217.45507,136.86198 215.38901,150.32825 214.13124,157.06727 C 213.82544,158.7057 213.28519,161.65486 212.93067,163.62097 C 212.57616,165.58708 211.83942,169.38294 211.29347,172.05621 C 210.31428,176.85092 210.34129,178.56812 211.37365,177.15498 C 211.64957,176.77729 212.14973,175.18627 212.48513,173.61937 z M 207.72661,166.49341 C 207.55947,163.33384 207.13492,159.49539 206.11887,151.95778 C 205.9678,150.83709 205.46822,149.74906 204.70547,148.87953 C 203.03683,146.97731 202.63899,147.21193 203.78678,149.4213 C 204.32586,150.45896 204.96043,152.6485 205.19693,154.28691 C 205.43343,155.92534 205.78914,158.15956 205.98739,159.25184 C 206.18563,160.34412 206.45432,162.6677 206.58446,164.41535 C 206.9219,168.94689 207.20074,170.60553 207.58514,170.36774 C 207.76963,170.25361 207.83329,168.51017 207.72661,166.49341 z M 157.57931,163.82792 C 156.96168,162.33547 155.84699,161.80643 156.40274,163.26953 C 156.61181,163.81991 156.99121,164.65989 157.24585,165.13612 C 157.90073,166.36091 158.17777,165.27406 157.57931,163.82792 z M 269.07575,161.01988 C 267.01611,157.26536 266.90395,157.15989 265.91935,158.05177 C 264.81743,159.0499 264.88959,159.78085 266.06779,159.55542 C 266.89472,159.3972 267.24497,159.75362 268.74349,162.27833 C 270.94843,165.99322 271.22642,164.94034 269.07575,161.01988 z M 260.96695,161.40217 C 261.69125,159.97151 261.9171,159.05102 261.74087,158.24792 C 261.28803,156.18425 263.28891,154.27515 263.81085,156.27288 C 264.13477,157.51269 264.59576,157.21951 265.32417,155.31043 C 266.12619,153.20842 265.89672,152.69814 264.14941,152.69814 C 262.70256,152.69814 261.72367,151.85374 262.08325,150.91582 C 262.20995,150.58536 262.77738,150.31498 263.34422,150.31498 C 264.76852,150.31498 265.90997,149.63116 265.90997,148.77789 C 265.90997,148.38478 265.37416,147.58528 264.71929,147.00125 C 263.69175,146.08487 263.41969,146.00745 262.73377,146.4362 C 261.69236,147.08717 260.55279,146.40647 260.55279,145.13342 C 260.55279,144.42678 260.85205,144.13136 261.82294,143.87954 C 263.31344,143.49297 263.76505,142.93578 263.16978,142.21786 C 262.5589,141.48112 263.09201,141.13006 264.0458,141.64098 C 265.0871,142.19878 265.90997,141.18695 265.90997,139.34872 C 265.90997,137.1898 265.59059,136.8104 263.77326,136.8104 C 261.87712,136.8104 260.35437,135.92205 260.35437,134.81588 C 260.35437,133.88645 261.4857,133.23565 263.10141,133.23565 C 264.12164,133.23565 264.29835,133.09432 264.21877,132.34197 C 264.13254,131.52678 264.31221,131.43757 266.26425,131.32626 C 268.59705,131.19324 269.80344,131.79966 268.58021,132.49041 C 267.52934,133.08384 268.14103,133.63285 269.85308,133.63285 C 272.84017,133.63285 272.8969,136.17472 269.92045,136.65112 C 267.87905,136.97785 267.65521,137.16957 267.34544,138.85662 C 267.00348,140.71906 267.86769,141.73289 269.49274,141.37564 C 270.09973,141.24219 270.70764,141.31325 270.84366,141.53353 C 271.13301,142.00214 269.8916,142.73738 269.22017,142.49507 C 268.54796,142.25247 268.18031,143.06741 268.45956,144.18106 C 268.74066,145.30208 269.3869,145.43268 270.06433,144.50539 C 270.44867,143.97929 270.69631,143.945 271.39777,144.32076 C 271.87157,144.57456 272.25922,145.03775 272.25922,145.35006 C 272.25922,146.09713 270.96735,146.77128 270.31228,146.36606 C 269.71289,145.99527 267.53545,146.9729 267.23911,147.74586 C 266.9118,148.59961 267.85673,149.91733 268.80093,149.92387 C 271.06376,149.93953 271.35475,151.88939 269.16127,152.33841 C 267.41031,152.69685 267.3425,152.81258 267.89739,154.49547 C 268.2438,155.54605 268.4967,155.82861 268.80997,155.51506 C 270.07023,154.25364 271.83576,156.33126 271.30438,158.4504 C 271.03759,159.51434 272.3468,162.62799 273.06094,162.62799 C 273.46781,162.62799 273.58273,156.2789 273.47791,139.59076 C 273.42345,130.92083 273.6668,128.40583 274.43915,129.65666 C 274.60139,129.91941 274.81932,133.46855 274.92342,137.54363 C 275.02753,141.61871 275.14032,144.98152 275.17407,145.01656 C 275.20782,145.05159 275.75861,144.66178 276.39805,144.15032 C 277.37148,143.3717 277.47893,143.12178 277.05834,142.61455 C 276.4848,141.92283 276.7904,141.17953 277.64833,141.17953 C 278.44482,141.17953 279.15924,139.46432 278.85992,138.27067 C 278.72442,137.73026 277.98847,136.91991 277.22225,136.46741 C 275.71462,135.57707 275.47679,134.81848 276.45143,134.00885 C 276.82964,133.69467 276.98674,133.15247 276.85351,132.62115 C 276.66431,131.86659 276.83462,131.71606 278.1177,131.50377 C 278.93326,131.36883 280.11098,131.25646 280.73484,131.25406 C 281.74861,131.25015 281.84256,131.35566 281.61905,132.24703 C 281.445,132.94113 281.63187,133.60033 282.23363,134.41499 C 282.93414,135.36336 283.00566,135.69734 282.6103,136.17415 C 282.34189,136.49786 281.73347,136.81813 281.25825,136.88585 C 279.97757,137.06837 279.80325,139.98815 281.00606,141.10977 C 281.58517,141.64979 281.7767,142.16277 281.60333,142.7095 C 281.42172,143.28223 281.5825,143.63985 282.16086,143.94967 C 283.42117,144.62479 283.1625,145.86107 281.56332,146.80548 C 279.61328,147.95709 279.7622,149.3837 281.90916,150.11853 C 283.21265,150.56467 283.45591,150.55413 283.65186,150.04303 C 283.93898,149.2941 283.4759,128.9615 283.16007,128.45 C 283.03174,128.24218 282.01674,128.07214 280.90452,128.07214 C 278.89956,128.07214 278.8885,128.079 279.60903,128.87591 C 280.1412,129.46449 280.21793,129.79763 279.89562,130.12023 C 279.21367,130.80281 278.11342,130.19921 278.39884,129.2991 C 278.53189,128.87949 278.49104,128.44357 278.30805,128.33037 C 277.74365,127.98123 277.07449,128.63803 277.14889,129.46811 C 277.19081,129.93572 276.9773,130.2567 276.62433,130.2567 C 276.25596,130.2567 276.02623,129.87824 276.02159,129.26372 C 276.01471,128.35338 275.86609,128.27073 274.23586,128.27073 C 272.62761,128.27073 272.46929,128.35489 272.57954,129.15115 C 272.67204,129.81917 272.44962,130.09482 271.65762,130.29379 C 270.3913,130.61191 269.46884,129.91182 270.19571,129.18428 C 271.05732,128.32188 270.69886,128.07214 268.59947,128.07214 C 266.6106,128.07214 266.5626,128.09707 267.40898,128.69045 C 268.52992,129.47631 268.52666,129.9943 267.39808,130.42235 C 266.19621,130.8782 265.39389,130.19058 265.70057,128.96751 C 265.91379,128.11717 265.82262,128.03001 264.83873,128.14365 C 263.97094,128.24388 263.73727,128.47705 263.73292,129.24713 C 263.72865,130.00436 263.43969,130.30651 262.44561,130.5932 C 260.91851,131.03362 259.93496,130.42636 260.06834,129.12541 C 260.14304,128.39673 259.95121,128.27073 258.76706,128.27073 C 257.55012,128.27073 257.37816,128.39368 257.37816,129.26372 C 257.37816,129.86789 257.1521,130.2567 256.80081,130.2567 C 256.48327,130.2567 256.11807,129.80986 255.98926,129.26372 C 255.72083,128.12557 254.53274,127.87357 254.72373,128.99529 C 254.79157,129.3938 254.63395,129.97689 254.37345,130.29107 C 253.74551,131.0484 252.70351,130.23988 253.02023,129.24107 C 253.32295,128.28643 252.82019,128.05673 251.05542,128.34337 L 249.56906,128.58479 L 249.79533,136.17304 C 249.91978,140.34657 250.02503,143.9893 250.02922,144.26798 C 250.03503,144.65437 250.32105,144.62756 251.23399,144.15503 C 252.23471,143.63706 252.36493,143.41157 252.02764,142.78077 C 251.80572,142.36572 251.62415,141.94585 251.62415,141.84773 C 251.62415,141.50168 253.82069,141.24819 254.92709,141.46655 C 255.84633,141.64797 256.00799,141.84516 255.82752,142.56487 C 255.6607,143.23014 255.84541,143.55055 256.59207,143.89106 C 258.22962,144.63787 257.89478,145.51054 255.20147,147.51526 L 254.21527,148.24932 L 255.70846,149.61829 C 257.24789,151.02965 257.39845,152.30095 256.02617,152.30095 C 255.36443,152.30095 254.40195,153.01473 254.40195,153.5055 C 254.40195,154.08768 257.66474,156.34352 258.00876,155.99918 C 258.50604,155.50144 258.44367,136.75182 257.94307,136.25054 C 257.81726,136.12457 256.97988,136.37666 256.08223,136.81075 C 254.68467,137.4866 254.43243,137.80132 254.32684,139.00087 C 254.15148,140.99311 253.43319,140.9074 253.28693,138.8768 C 253.19056,137.53884 252.97259,137.09703 252.27855,136.83291 C 251.79157,136.64759 251.15103,136.20399 250.85515,135.84714 C 250.39264,135.28934 250.44484,135.06232 251.22732,134.22863 C 251.9773,133.42959 252.0498,133.1532 251.63926,132.65809 C 251.2214,132.15413 251.31216,131.99213 252.2021,131.65346 C 253.59688,131.12268 256.6655,131.13538 256.99765,131.6733 C 257.14152,131.9063 256.92884,132.35326 256.52504,132.66656 C 255.82021,133.21341 255.83052,133.26981 256.78292,134.07725 L 257.77499,134.91832 L 257.89233,132.28961 C 257.98077,130.30833 258.1518,129.66091 258.58678,129.66091 C 259.08265,129.66091 259.16389,132.03705 259.16389,146.54164 C 259.16389,157.33784 259.30451,163.42237 259.55403,163.42237 C 259.76861,163.42237 260.40442,162.51328 260.96695,161.40217 z M 251.0413,129.94168 C 250.87143,129.54996 250.8438,129.118 250.97988,128.9818 C 251.38286,128.57845 251.7077,129.14502 251.52223,129.92772 C 251.3578,130.6216 251.33641,130.62222 251.0413,129.94168 z M 281.23746,129.74125 C 281.12985,129.56697 281.2086,129.16481 281.41245,128.84755 C 281.7365,128.34325 281.8297,128.34325 282.15375,128.84755 C 282.54728,129.46001 282.36415,130.05811 281.7831,130.05811 C 281.59061,130.05811 281.34507,129.91552 281.23746,129.74125 z M 276.99889,159.43408 C 277.45254,157.93918 277.93251,155.9215 278.0655,154.95033 C 278.2921,153.29561 278.23567,153.15021 277.1682,152.63811 C 275.78933,151.97663 275.60961,150.57344 276.88051,150.39209 C 278.1904,150.20518 279.26599,148.83173 278.74767,148.00787 C 278.5152,147.63836 277.98699,147.2735 277.57387,147.19708 C 277.16075,147.12065 276.42096,146.68734 275.92988,146.23416 L 275.03702,145.41018 L 274.99364,146.9689 C 274.80865,153.61563 274.78851,161.07076 274.9525,162.19725 C 275.13016,163.41765 275.20142,163.4835 275.66204,162.85298 C 275.94367,162.46749 276.54525,160.92898 276.99889,159.43408 z M 283.67923,157.33262 C 283.78375,152.19319 283.64141,151.41279 282.75533,152.26732 C 282.54799,152.46727 281.93191,152.6907 281.38627,152.7638 C 279.71121,152.98826 279.85193,155.58317 281.82546,160.86276 C 283.12024,164.32657 283.55379,163.50097 283.67923,157.33262 z M 105.59134,160.01985 L 105.59134,157.4117 L 104.50346,157.53738 C 103.90512,157.60651 103.36333,157.93938 103.29947,158.2771 C 103.15003,159.06749 104.71601,162.62799 105.21308,162.62799 C 105.42113,162.62799 105.59134,161.45432 105.59134,160.01985 z M 134.95664,161.23781 C 135.22834,160.91012 135.65519,160.64202 135.90518,160.64202 C 136.15517,160.64202 137.05341,160.1702 137.90127,159.59354 C 139.88639,158.24337 141.84531,157.78661 142.76473,158.45952 C 143.33785,158.87899 143.37038,159.07354 142.95181,159.57835 C 142.52814,160.08931 142.58491,160.2643 143.2984,160.64649 C 143.76769,160.89789 144.22565,161.02952 144.31608,160.939 C 144.40651,160.84848 144.278,159.7169 144.03049,158.42436 C 143.64849,156.4294 143.28155,155.76505 141.60216,154.02782 C 139.48649,151.83927 139.40398,150.91469 141.34985,151.20056 C 142.75484,151.40695 142.56532,151.19079 140.54912,150.28729 C 138.76689,149.48861 138.52809,149.59826 138.52809,151.21529 C 138.52809,152.30544 139.49444,153.52051 141.85215,155.39486 C 142.20647,155.67654 142.49637,156.08688 142.49637,156.30673 C 142.49637,156.52657 141.02315,157.40392 139.22254,158.25638 C 136.11127,159.72934 133.05546,161.82739 134.01519,161.83162 C 134.26128,161.83271 134.68493,161.56549 134.95664,161.23781 z M 91.839292,160.42629 C 91.710052,160.08918 91.519202,159.89856 91.415182,160.00267 C 91.311162,160.10679 91.343762,160.3826 91.487622,160.61559 C 91.878922,161.2493 92.107622,161.12619 91.839292,160.42629 z M 178.90689,159.28287 C 180.6552,158.72747 179.74655,158.33793 176.32599,158.17644 C 174.41625,158.08628 172.78365,158.06362 172.69798,158.12609 C 172.2296,158.46761 173.70839,159.42448 175.05706,159.65254 C 175.91637,159.79785 176.73693,160.10701 176.88051,160.33955 C 177.05153,160.61652 177.29231,160.55603 177.57857,160.16419 C 177.81891,159.83521 178.41666,159.43861 178.90689,159.28287 z M 211.30428,154.43 C 211.45307,152.2149 211.7341,149.84663 211.92878,149.16718 C 212.41642,147.46532 211.86645,147.61873 210.82391,149.47537 C 210.08654,150.78856 209.95718,151.63825 209.95718,155.16849 C 209.95718,159.19455 210.25227,160.63364 210.77776,159.17031 C 210.91856,158.77824 211.15549,156.64509 211.30428,154.43 z M 100.6363,151.95455 C 101.57494,149.82345 101.40826,148.45924 100.13496,147.85143 C 98.839722,147.23315 98.422442,145.20278 99.420242,144.37391 C 100.20555,143.72157 100.19751,143.20835 99.387952,142.31298 C 98.782262,141.64308 98.820942,141.52099 99.983202,140.43427 C 101.66042,138.86607 101.68038,137.18817 100.03575,136.01601 C 98.686622,135.05446 98.539492,134.23219 99.522102,133.14541 C 100.08792,132.51962 100.11671,132.26505 99.697682,131.59345 C 99.259902,130.89181 99.301872,130.76247 100.02914,130.57211 C 101.0986,130.29218 100.81498,129.43206 99.694392,129.55693 C 98.560802,129.68324 98.573022,128.56467 99.707042,128.39766 C 100.18102,128.32785 100.63728,128.06248 100.72096,127.80795 C 100.92353,127.19174 99.430862,126.74702 98.198832,127.05652 C 97.427902,127.25018 97.268442,127.47947 97.467682,128.10783 C 97.607832,128.54982 97.716892,134.48687 97.710022,141.30129 C 97.703152,148.1157 97.801002,154.11102 97.927472,154.62422 L 98.157412,155.55732 L 99.101882,154.42563 C 99.621352,153.8032 100.31183,152.69121 100.6363,151.95455 z M 104.76889,150.06282 C 105.50481,149.12639 105.92043,147.13743 105.38018,147.13743 C 105.26405,147.13743 104.54976,147.39642 103.79287,147.71296 C 102.58886,148.21649 102.41672,148.46491 102.41672,149.69892 C 102.41672,150.82687 102.56991,151.10937 103.18157,151.10937 C 103.60224,151.10937 104.31653,150.63842 104.76889,150.06282 z M 252.71321,149.44003 C 253.61414,148.69164 253.24378,147.69718 251.8091,147.0124 C 251.0378,146.64425 250.34688,146.34305 250.27371,146.34305 C 249.99371,146.34305 249.69367,149.1984 249.91344,149.77164 C 250.1613,150.41813 251.76432,150.22826 252.71321,149.44003 z M 105.59134,143.56269 C 105.59134,141.8384 105.52151,141.7708 104.37477,142.38508 C 103.43442,142.88881 103.40271,143.47257 104.26395,144.4251 C 105.25923,145.52589 105.59134,145.31011 105.59134,143.56269 z M 209.6215,144.05918 C 211.24738,142.28908 215.90961,134.73382 215.90961,133.86913 C 215.90961,133.14395 214.98603,134.33616 213.08403,137.5166 C 209.96089,142.73897 208.91092,143.95988 207.54287,143.95988 C 206.43448,143.95988 206.08593,144.3218 206.65028,144.88667 C 207.24665,145.48359 208.67976,145.08446 209.6215,144.05918 z M 179.31501,140.04931 C 179.42874,139.70747 179.23793,139.56434 178.78554,139.65212 C 178.39654,139.72759 177.99827,140.02984 177.90048,140.32377 C 177.78676,140.66561 177.97756,140.80875 178.42996,140.72097 C 178.81895,140.6455 179.21723,140.34325 179.31501,140.04931 z M 200.42723,137.68064 C 200.42199,137.10183 200.36799,137.09134 200.03647,137.60479 C 199.53425,138.38263 199.53425,138.90845 200.03647,138.59777 C 200.25473,138.46276 200.43057,138.05005 200.42723,137.68064 z M 174.16797,134.72057 C 174.2709,134.1856 174.02608,134.03004 173.08125,134.03004 C 171.78014,134.03004 171.56176,134.36537 172.34944,135.15377 C 173.00542,135.81036 174.00406,135.57246 174.16797,134.72057 z M 183.36969,135.02302 C 183.79086,134.51507 183.68103,134.42724 182.62462,134.42724 C 181.78777,134.42724 181.38555,134.62064 181.38555,135.02302 C 181.38555,135.35071 181.72083,135.61881 182.13061,135.61881 C 182.5404,135.61881 183.09798,135.35071 183.36969,135.02302 z M 183.75502,131.3758 C 184.03502,131.12219 182.86874,130.46834 182.12396,130.46138 C 181.76619,130.45803 181.0519,130.81766 180.53664,131.26053 L 179.59982,132.06578 L 181.58396,131.80543 C 182.67524,131.66224 183.65222,131.4689 183.75502,131.3758 z M 209.75596,131.65142 C 209.89498,131.42628 209.7357,131.35968 209.38255,131.49533 C 208.69508,131.75937 208.56929,132.04407 209.1401,132.04407 C 209.34548,132.04407 209.62262,131.86738 209.75596,131.65142 z M 174.63947,130.65389 C 174.36776,130.32621 173.74276,130.05811 173.25057,130.05811 C 172.75838,130.05811 172.13337,130.32621 171.86167,130.65389 C 171.43435,131.16925 171.62186,131.24968 173.25057,131.24968 C 174.87927,131.24968 175.06678,131.16925 174.63947,130.65389 z M 212.16552,130.01634 C 212.35783,129.70489 212.20161,129.7061 211.61448,130.02061 C 211.16379,130.26204 210.67426,130.65518 210.52664,130.89426 C 210.33433,131.2057 210.49055,131.20449 211.07768,130.88998 C 211.52837,130.64856 212.0179,130.25542 212.16552,130.01634 z M 88.641112,130.20942 C 88.776222,130.07418 88.643312,129.71985 88.345742,129.42201 C 88.045042,129.12103 87.903892,128.50091 88.027992,128.02595 C 88.189082,127.40938 88.096352,127.22239 87.695042,127.3545 C 86.953362,127.59866 86.733642,129.68243 87.404672,130.10822 C 88.040872,130.5119 88.316372,130.53445 88.641112,130.20942 z M 182.85199,127.12488 C 181.87754,126.2315 181.38555,125.43194 181.38555,124.74172 C 181.38555,123.66453 180.81216,123.33148 180.45204,124.1995 C 180.30878,124.5448 180.01161,124.42899 179.47617,123.8192 C 178.52916,122.7407 178.21092,123.00786 178.21092,124.88134 C 178.21092,125.67507 177.99961,126.53599 177.74134,126.79449 C 177.02371,127.51279 177.52429,127.70268 179.01063,127.27601 C 180.08091,126.96877 180.63866,127.04016 181.76214,127.62816 C 183.99141,128.79489 184.44505,128.58541 182.85199,127.12488 z M 171.91736,127.44752 C 172.75819,127.0123 173.62463,126.90088 174.77466,127.08006 L 176.42519,127.3372 L 175.23471,126.32878 C 174.57994,125.77414 173.88729,125.31392 173.69549,125.30607 C 173.50369,125.29821 172.65495,125.91736 171.80941,126.68196 C 170.10615,128.22217 170.12755,128.37392 171.91736,127.44752 z M 188.13163,126.64886 C 188.13163,125.94745 187.27735,126.0696 187.03208,126.80609 C 186.94569,127.06549 187.15774,127.27775 187.50332,127.27775 C 187.84889,127.27775 188.13163,126.99475 188.13163,126.64886 z M 200.2171,121.61774 C 199.23114,118.35045 194.35871,111.38628 192.36075,110.38865 C 191.70992,110.06367 191.1158,109.85946 191.04049,109.93484 C 190.96517,110.01023 192.00396,111.12247 193.34889,112.40651 C 195.4446,114.40731 200.03647,121.13324 200.03647,122.2021 C 200.03647,122.37223 200.13779,122.51142 200.26163,122.51142 C 200.38547,122.51142 200.36543,122.10926 200.2171,121.61774 z M 137.50009,104.79801 C 140.5193,101.77405 141.72214,100.87939 144.87734,99.310797 C 146.95077,98.280007 148.79226,97.294137 148.96953,97.119957 C 149.14681,96.945777 148.54157,96.683187 147.62454,96.536407 C 141.32444,95.528057 134.58267,89.541497 132.40701,83.023537 C 131.98555,81.760907 131.36154,82.862387 131.10859,85.315487 C 130.90535,87.286507 131.02752,87.859527 132.12803,90.097027 C 133.10064,92.074517 133.99437,93.143607 136.15165,94.910157 C 138.93463,97.189107 139.5193,98.307387 138.28833,98.996907 C 136.77894,99.842387 132.89722,104.13711 131.98333,105.97274 C 131.24623,107.45326 130.98835,108.603 130.98835,110.40881 C 130.98835,111.74948 131.11603,112.97416 131.27207,113.13036 C 131.42811,113.28654 132.08158,112.28859 132.72424,110.91269 C 133.58095,109.07851 134.85519,107.44706 137.50009,104.79801 z M 209.83717,92.492447 C 209.91448,92.257017 209.54439,91.866777 209.01475,91.625227 C 208.19549,91.251607 208.02273,91.297227 207.85715,91.930977 C 207.75011,92.340687 207.76969,92.783157 207.90066,92.914257 C 208.26719,93.281117 209.67918,92.973547 209.83717,92.492447 z M 156.90376,91.538527 C 158.49952,90.525597 160.5936,88.063347 160.19695,87.666337 C 160.12693,87.596257 159.37461,88.215827 158.52513,89.043177 C 157.67564,89.870517 156.3556,91.028297 155.59171,91.616007 C 153.71633,93.058877 154.58989,93.007287 156.90376,91.538527 z M 203.10363,92.481927 C 202.97177,92.349947 202.6295,92.335837 202.34304,92.450567 C 202.02648,92.577367 202.12051,92.671487 202.58279,92.690537 C 203.00111,92.707787 203.23549,92.613907 203.10363,92.481927 z M 143.25228,91.683387 C 142.79644,91.133627 142.85216,90.935387 143.64263,90.294717 L 144.56474,89.547347 L 143.23294,89.778817 C 141.20232,90.131737 140.90906,90.268357 140.90906,90.861367 C 140.90906,91.419557 142.25503,92.249237 143.23941,92.297817 C 143.69576,92.320347 143.69785,92.220757 143.25228,91.683387 z M 152.36478,90.868457 C 153.16343,90.350437 153.27338,90.026347 153.097,88.710117 C 152.84756,86.848707 153.19224,86.565187 154.98479,87.157327 C 156.69943,87.723727 157.73293,87.229457 158.3123,85.565937 C 159.51546,82.111357 155.28857,80.139317 152.27449,82.749007 C 151.86867,83.100367 151.02961,84.392327 150.40991,85.620017 C 149.78784,86.852397 148.43687,88.597827 147.39368,89.516917 C 145.86327,90.865277 145.61431,91.255747 146.08363,91.571567 C 146.87716,92.105577 151.20426,91.621187 152.36478,90.868457 z M 199.44123,91.133127 C 199.30634,90.914667 199.01741,90.735937 198.79915,90.735937 C 198.5809,90.735937 198.51269,90.914667 198.64758,91.133127 C 198.78247,91.351577 199.0714,91.530317 199.28966,91.530317 C 199.50791,91.530317 199.57612,91.351577 199.44123,91.133127 z M 204.24434,90.573187 C 204.36241,90.265217 204.18597,89.484747 203.85225,88.838817 C 203.51853,88.192887 203.07152,86.583117 202.85888,85.261557 C 202.19565,81.139487 201.00699,79.614507 198.45721,79.614507 C 197.1393,79.614507 195.27454,81.101447 195.27454,82.152357 C 195.27454,84.168677 196.73171,85.452417 198.75621,85.219637 C 199.59957,85.122667 199.64164,85.221467 199.40029,86.732177 C 199.09201,88.661837 199.55407,89.360267 201.8222,90.392957 C 203.74993,91.270677 203.97064,91.287087 204.24434,90.573187 z M 196.50381,89.183427 C 194.18016,87.010817 192.95345,82.523387 194.09801,80.382787 C 194.32395,79.960227 194.41686,79.614507 194.30449,79.614507 C 194.19212,79.614507 193.75147,80.298657 193.32528,81.134837 C 192.68126,82.398387 192.61516,82.943787 192.93393,84.363837 C 193.46944,86.749397 193.93643,87.567027 195.60585,89.041947 C 197.41508,90.640407 198.19318,90.762987 196.50381,89.183427 z M 214.91754,89.941537 C 215.20762,89.471747 214.81931,89.471747 213.72705,89.941537 C 212.96187,90.270657 212.96459,90.283907 213.80284,90.310817 C 214.28103,90.326177 214.78265,90.160007 214.91754,89.941537 z M 205.97848,88.538797 C 205.69229,88.193647 205.21736,87.072207 204.92308,86.046737 L 204.38803,84.182237 L 204.61328,85.969607 C 204.83662,87.741827 205.84637,89.819407 206.27557,89.389817 C 206.39836,89.266907 206.26467,88.883957 205.97848,88.538797 z M 147.82264,87.486887 C 148.60353,86.573737 149.23703,85.456637 149.23039,85.004427 C 149.21843,84.189647 149.21439,84.189397 148.78257,84.976627 C 148.54291,85.413537 147.61829,86.530647 146.72787,87.459077 C 145.61286,88.621707 145.3103,89.147157 145.75587,89.147157 C 146.11169,89.147157 147.04173,88.400037 147.82264,87.486887 z M 216.05008,86.981557 C 217.30196,85.820277 217.39128,84.461287 216.30643,83.080867 C 215.2564,81.744727 215.3004,81.571667 216.66373,81.675637 C 218.1884,81.791927 218.96901,81.077917 219.26781,79.293747 C 219.5329,77.710907 218.39454,73.227897 217.66578,72.984757 C 217.43888,72.909057 216.72864,73.945697 216.08746,75.288427 C 215.35338,76.825737 214.18621,78.388997 212.93548,79.510117 C 210.50555,81.688217 209.98935,82.556857 209.97125,84.498187 C 209.94184,87.650707 213.68168,89.178527 216.05008,86.981557 z M 142.8644,84.128677 C 144.14862,82.494537 143.9315,80.514367 142.08284,77.000987 C 141.20062,75.324347 140.34441,73.305057 140.18014,72.513687 C 139.80348,70.699137 139.03281,70.679017 138.07916,72.458827 C 137.04764,74.383977 137.14865,75.399527 138.52809,76.972067 C 139.92602,78.565687 139.99811,79.039627 138.92961,79.611997 C 137.82153,80.205567 137.55466,81.689157 138.29738,83.126737 C 139.45984,85.376767 141.52713,85.830297 142.8644,84.128677 z M 136.09828,83.439177 C 135.57213,82.283327 134.83657,81.987797 135.22911,83.089947 C 135.5433,83.972117 136.21224,84.845247 136.41694,84.640357 C 136.50314,84.554077 136.35974,84.013547 136.09828,83.439177 z M 164.37762,82.308327 C 164.65203,81.277677 164.72731,80.294627 164.54491,80.123767 C 164.36251,79.952907 164.13356,80.036527 164.03612,80.309597 C 163.76137,81.079607 162.81048,80.895737 162.3196,79.977687 C 162.07598,79.522057 161.77639,79.249637 161.65385,79.372297 C 161.5313,79.494947 161.61486,79.823057 161.83954,80.101397 C 162.06422,80.379757 162.37813,81.411807 162.53711,82.394857 C 163.03471,85.471727 163.54171,85.447887 164.37762,82.308327 z M 204.44623,82.677857 C 204.12215,82.353487 204.00476,82.397947 204.00476,82.845017 C 204.00476,83.634577 204.53837,84.168687 204.73558,83.576517 C 204.81925,83.325287 204.68904,82.920907 204.44623,82.677857 z M 150.44416,82.394857 C 150.91574,81.486567 150.9034,81.448367 150.29949,81.947007 C 149.93638,82.246827 149.63928,82.768147 149.63928,83.105487 C 149.63928,83.826667 149.75282,83.726437 150.44416,82.394857 z M 210.10266,80.060237 C 210.78655,79.322347 211.07822,78.800167 210.75084,78.899847 C 209.93365,79.148667 207.57256,82.303767 207.5921,83.120827 C 207.60197,83.533467 207.84494,83.333737 208.23362,82.593467 C 208.57772,81.938087 209.41879,80.798137 210.10266,80.060237 z M 203.79092,80.130997 C 202.46893,78.111517 201.59722,77.655477 199.0444,77.647837 C 197.73487,77.643917 196.39904,77.808037 196.07588,78.012567 C 195.69126,78.256007 196.2405,78.306737 197.66607,78.159477 C 200.13608,77.904307 202.65811,78.712567 203.07987,79.894467 C 203.42374,80.858117 204.07367,81.663897 204.31347,81.423877 C 204.42107,81.316187 204.18592,80.734387 203.79092,80.130997 z M 155.47669,79.616957 C 156.08559,79.618307 157.07485,79.875807 157.67506,80.189187 C 158.27526,80.502567 158.76633,80.611397 158.76633,80.431027 C 158.76633,79.812317 156.80986,78.820117 155.58986,78.820117 C 154.23579,78.820117 151.2266,80.200907 151.2266,80.822237 C 151.2266,81.040697 151.93377,80.858317 152.7981,80.416967 C 153.66243,79.975617 154.86779,79.615617 155.47669,79.616957 z M 134.83089,79.540037 C 134.70421,79.223177 134.61018,79.317297 134.59114,79.780007 C 134.57391,80.198707 134.6677,80.433307 134.79956,80.301327 C 134.93142,80.169337 134.94552,79.826757 134.83089,79.540037 z M 187.78586,78.881357 C 187.92307,78.738447 188.15321,77.521627 188.29727,76.177307 L 188.55922,73.733087 L 186.57631,73.717717 C 185.4857,73.709267 184.21736,73.500917 183.75776,73.254717 C 182.63924,72.655557 181.78237,73.373257 181.78237,74.909287 C 181.78237,76.262087 180.85035,76.789607 179.71457,76.079647 C 179.2505,75.789567 178.75687,75.736817 178.47745,75.947457 C 178.22173,76.140227 177.15619,76.325707 176.10958,76.359637 C 174.3312,76.417297 174.15333,76.330867 173.3918,75.038977 C 172.59634,73.689517 172.51644,73.656597 170.03674,73.656597 C 168.56447,73.656597 167.49656,73.827977 167.49656,74.064237 C 167.49656,74.288437 167.70794,75.587197 167.96629,76.950387 L 168.43603,79.428897 L 177.98621,79.285047 C 183.23881,79.205937 187.64865,79.024267 187.78586,78.881357 z M 169.97673,77.751937 C 170.35868,77.652037 170.98368,77.652037 171.36563,77.751937 C 171.74758,77.851837 171.43508,77.933587 170.67118,77.933587 C 169.90729,77.933587 169.59479,77.851837 169.97673,77.751937 z M 183.29528,77.754407 C 183.58174,77.639667 183.92401,77.653777 184.05587,77.785757 C 184.18773,77.917747 183.95335,78.011617 183.53503,77.994367 C 183.07275,77.975317 182.97872,77.881197 183.29528,77.754407 z M 192.50796,78.607987 C 192.91494,78.117157 192.91603,77.816917 192.51354,77.064167 C 192.10345,76.297197 192.12496,75.750397 192.63352,74.013927 C 192.97432,72.850257 193.18272,71.827647 193.09661,71.741467 C 192.71779,71.362297 191.57884,74.854967 191.40352,76.933457 C 191.20695,79.263647 191.54249,79.772377 192.50796,78.607987 z M 162.73074,76.139067 C 162.72861,75.756767 162.29192,74.508907 161.76032,73.366057 C 160.59999,70.871477 158.77199,69.538147 156.98061,69.879727 C 154.34477,70.382327 154.21006,70.345717 154.0704,69.088877 C 153.87454,67.326237 152.94308,66.507117 151.13457,66.507117 C 149.94351,66.507117 149.30598,66.779617 148.41827,67.668147 C 147.09892,68.988717 147.0032,69.627527 147.87256,71.310237 C 148.63097,72.778187 149.73222,73.214117 153.87397,73.685887 C 157.06238,74.049067 159.78109,74.958877 161.34572,76.186287 C 162.38378,77.000617 162.73548,76.988627 162.73074,76.139067 z M 214.71912,74.539387 C 214.71912,73.761367 214.58403,73.916397 213.75789,75.642567 L 213.09255,77.032747 L 213.90584,76.095067 C 214.35314,75.579327 214.71912,74.879277 214.71912,74.539387 z M 132.38938,73.949937 C 132.89435,71.558417 135.06214,68.083697 137.40178,65.915597 C 138.67602,64.734797 139.71858,63.559727 139.71858,63.304327 C 139.71858,62.970467 138.60901,62.884597 135.77014,62.998717 C 133.59849,63.086017 131.71638,63.262857 131.58768,63.391687 C 131.16101,63.818737 130.87592,70.292347 131.16485,72.992847 C 131.46195,75.769667 131.9282,76.134087 132.38938,73.949937 z M 202.61586,74.450987 C 201.5236,73.981197 201.13529,73.981197 201.42537,74.450987 C 201.56026,74.669447 202.06188,74.835627 202.54007,74.820257 C 203.37832,74.793347 203.38104,74.780107 202.61586,74.450987 z M 199.7167,72.465027 C 200.74412,72.465027 202.48464,72.658197 203.58452,72.894297 C 207.11882,73.652967 209.95146,71.844317 209.9557,68.826287 C 209.95724,67.725627 208.02649,65.712737 206.9692,65.712737 C 205.68662,65.712737 204.45095,66.688097 203.8753,68.154897 L 203.26334,69.714237 L 201.82119,68.940577 C 200.13501,68.036007 198.52311,68.312467 196.95902,69.774477 C 195.86788,70.794397 194.8008,72.652837 195.12182,72.974157 C 195.23867,73.091107 195.90002,73.024407 196.59148,72.825917 C 197.28294,72.627427 198.68929,72.465027 199.7167,72.465027 z M 215.3895,70.975547 C 215.28968,70.593247 215.20801,70.906037 215.20801,71.670637 C 215.20801,72.435237 215.28968,72.748027 215.3895,72.365727 C 215.48931,71.983427 215.48931,71.357847 215.3895,70.975547 z M 137.33761,70.829367 C 137.33761,70.610907 137.15903,70.542637 136.94078,70.677647 C 136.72252,70.812667 136.54395,71.101857 136.54395,71.320327 C 136.54395,71.538787 136.72252,71.607057 136.94078,71.472037 C 137.15903,71.337027 137.33761,71.047817 137.33761,70.829367 z M 212.33815,69.836387 C 212.33815,69.275527 212.16546,68.950227 211.94132,69.088877 C 211.72307,69.223897 211.5445,69.781197 211.5445,70.327337 C 211.5445,70.888187 211.71719,71.213497 211.94132,71.074847 C 212.15958,70.939837 212.33815,70.382517 212.33815,69.836387 z M 167.15384,69.525807 C 167.3925,69.001517 168.30092,68.250677 169.17254,67.857277 C 170.04417,67.463867 171.01936,66.741677 171.33963,66.252427 C 171.65991,65.763177 172.27261,65.307537 172.70119,65.239907 C 173.79496,65.067297 173.45704,64.332087 172.2585,64.276767 C 171.71286,64.251567 171.08785,64.178887 170.8696,64.115237 C 170.65134,64.051587 169.78064,63.982827 168.9347,63.962437 C 167.8351,63.935927 167.26947,63.698897 166.95056,63.130967 C 166.70522,62.694057 166.46416,62.266427 166.41487,62.180687 C 166.36558,62.094937 166.08886,62.221157 165.79994,62.461167 C 165.51101,62.701167 164.47991,63.009637 163.50859,63.146667 C 160.50552,63.570307 160.50089,63.584017 162.60673,65.819097 C 163.68363,66.962117 164.90575,68.478187 165.32255,69.188167 C 166.22701,70.728857 166.57684,70.793357 167.15384,69.525807 z M 190.35952,69.199717 C 190.72305,68.496087 192.00146,66.890977 193.20043,65.632827 C 194.98313,63.762127 195.25892,63.298647 194.71392,63.089307 C 193.68155,62.692787 188.46961,63.325777 187.56919,63.957037 C 187.12664,64.267297 186.37972,64.521147 185.90936,64.521147 C 185.43901,64.521147 184.83188,64.789257 184.56017,65.116937 C 183.88544,65.930697 184.63714,66.795307 186.84164,67.741137 C 187.9052,68.197447 188.68165,68.844677 188.92079,69.474247 C 189.4131,70.770317 189.56284,70.741747 190.35952,69.199717 z M 195.32516,68.592387 C 195.81876,67.962417 195.80472,67.948357 195.17533,68.442427 C 194.79338,68.742237 194.48088,69.055027 194.48088,69.137507 C 194.48088,69.464417 194.80675,69.254007 195.32516,68.592387 z M 211.35986,66.136587 C 211.01369,65.466557 210.56352,64.918347 210.35948,64.918347 C 210.15544,64.918347 210.38324,65.684517 210.8657,66.620957 C 211.34817,67.557397 211.79834,68.105617 211.86608,67.839207 C 211.93383,67.572807 211.70603,66.806627 211.35986,66.136587 z M 215.67874,68.251987 C 216.62352,67.889117 216.43346,66.945207 215.31269,66.434077 C 214.04127,65.854257 213.77561,66.140547 214.37113,67.448767 C 214.90544,68.622527 214.8318,68.577297 215.67874,68.251987 z M 141.01365,67.239767 C 141.50177,66.987357 142.16899,66.655407 142.49637,66.502107 C 143.27277,66.138547 143.50803,64.918347 142.80173,64.918347 C 142.50116,64.918347 141.64946,65.543917 140.90906,66.308517 C 139.50019,67.763437 139.52768,68.008187 141.01365,67.239767 z M 178.93666,66.557527 C 179.28801,66.334587 178.89327,66.146307 177.75377,65.993317 C 175.89222,65.743407 175.32193,65.942587 176.23827,66.522627 C 176.96522,66.982797 178.24049,66.999287 178.93666,66.557527 z M 149.24246,64.634857 C 149.24246,64.561097 148.70674,64.778037 148.05197,65.116937 C 147.3972,65.455847 146.86149,65.912627 146.86149,66.132017 C 146.86149,66.351397 147.3972,66.134457 148.05197,65.649927 C 148.70674,65.165387 149.24246,64.708597 149.24246,64.634857 z M 206.09566,63.466227 C 205.82699,63.357427 205.29128,63.350807 204.90517,63.451517 C 204.51907,63.552217 204.73889,63.641237 205.39366,63.649327 C 206.04842,63.657427 206.36432,63.575027 206.09566,63.466227 z M 179.59982,61.343607 C 179.73471,61.125147 179.47739,60.946407 179.028,60.946407 C 178.5786,60.946407 178.21092,61.125147 178.21092,61.343607 C 178.21092,61.562057 178.46824,61.740787 178.78274,61.740787 C 179.09724,61.740787 179.46493,61.562057 179.59982,61.343607 z M 322.09885,261.57087 C 321.76739,261.20429 321.21114,260.22148 320.86275,259.38689 C 320.27681,257.98325 320.27963,257.81379 320.90029,257.12733 C 321.35127,256.62855 321.76823,256.49554 322.17198,256.7217 C 322.74112,257.0405 324.24271,260.41994 324.2434,261.38358 C 324.24395,262.14913 322.74041,262.28045 322.09885,261.57087 z M 38.924192,260.37218 C 36.404252,260.10298 36.328122,259.87173 37.662462,256.53937 C 38.138792,255.34978 38.335042,254.31374 38.142972,254.00267 C 37.964402,253.71347 36.861762,253.38929 35.692652,253.28226 C 34.523552,253.17523 33.343792,252.90965 33.070972,252.69206 C 32.151392,251.9587 32.726492,248.27012 33.870772,247.56226 C 34.424442,247.21975 36.549992,247.58814 37.262992,248.15018 C 37.549742,248.3762 37.755652,249.20006 37.720572,249.98095 C 37.612762,252.38153 37.621792,252.39375 39.504742,252.39375 C 41.762182,252.39375 44.212432,251.4191 48.448072,248.83635 C 52.585632,246.31339 52.926672,245.90621 52.587592,243.89414 L 52.326592,242.34543 L 54.725492,242.56316 C 58.034992,242.86352 58.117512,242.94708 57.829372,245.70641 C 57.412452,249.69887 57.330032,249.84222 54.920292,250.76522 C 52.895362,251.54083 45.921952,255.4225 43.742722,256.98707 C 42.942912,257.56129 42.842882,257.88177 43.052962,259.19676 C 43.330082,260.93137 43.556202,260.86699 38.924192,260.37218 z M 180.4504,255.37294 C 179.62972,254.55151 179.34266,251.73347 179.26739,243.75969 C 179.21108,237.79339 179.28835,236.85087 179.88278,236.25368 C 180.44521,235.68864 180.73637,235.65 181.5693,236.02986 C 182.16376,236.30096 182.57603,236.81777 182.57603,237.29187 C 182.57603,238.25203 183.18486,238.3554 183.53047,237.45393 C 183.6863,237.04744 184.06465,236.88859 184.56499,237.01955 C 185.14057,237.1702 185.35383,237.02899 185.35383,236.49719 C 185.35383,236.09633 185.62169,235.50025 185.94907,235.17257 C 186.73795,234.38296 186.69968,234.12284 185.79462,234.12284 C 185.38229,234.12284 184.66912,233.81005 184.2098,233.42775 C 183.38061,232.7376 183.37977,232.71639 184.09218,230.44308 C 184.48682,229.18381 185.00716,227.95585 185.2485,227.71429 C 185.85202,227.11021 205.02372,227.70556 207.12317,228.39357 C 207.56239,228.53752 207.54403,228.75073 207.02396,229.54518 C 206.67293,230.08142 206.38573,230.96487 206.38573,231.50842 C 206.38573,232.05197 206.16923,232.9723 205.90461,233.55359 L 205.42349,234.6105 L 200.84505,234.46597 L 196.26661,234.32144 L 196.13498,235.71002 C 196.06258,236.47375 195.8164,237.32407 195.58791,237.59963 C 195.29632,237.95131 195.49814,237.93155 196.26495,237.53336 C 197.82318,236.7242 198.5524,237.1173 198.22879,238.59202 C 198.04568,239.42649 198.10126,239.70017 198.41449,239.50641 C 199.04823,239.11437 201.39647,239.96538 202.23255,240.89009 C 203.17851,241.93632 203.36929,241.89413 205.09511,240.25711 C 205.91408,239.48028 207.50093,238.23333 208.62145,237.48611 C 210.65617,236.12925 211.91398,234.51034 210.45772,235.12268 C 207.9074,236.19505 207.25868,235.59062 207.3591,232.23565 C 207.41188,230.47233 207.61754,229.94744 208.68936,228.84059 C 209.38666,228.1205 209.95718,227.15011 209.95718,226.68417 C 209.95718,226.10805 210.24283,225.79641 210.85005,225.7101 C 211.63738,225.59818 211.52012,225.42264 209.85797,224.22497 C 207.85959,222.785 207.60086,222.32505 208.57811,221.9497 C 210.02086,221.39556 221.86203,230.55003 221.86203,232.21957 C 221.86203,233.08527 220.95154,233.15175 220.27472,232.33547 C 219.63809,231.56767 219.08423,231.57348 219.08423,232.34793 C 219.08423,232.68248 218.81637,233.05907 218.48899,233.18482 C 217.60513,233.5243 217.76576,234.0815 218.8961,234.59699 C 220.63205,235.38867 219.75288,235.83114 216.2861,235.91054 C 214.44211,235.95278 212.41247,236.20033 211.77579,236.46066 L 210.6182,236.93401 L 211.47817,237.53691 C 212.17256,238.02372 212.33814,238.53701 212.33808,240.20257 C 212.33797,243.72555 210.90034,250.2363 209.27155,254.09036 C 208.60541,255.66661 207.48841,256.24626 206.01754,255.77899 C 204.93689,255.43569 204.98002,254.64181 206.24632,251.56854 C 207.49793,248.53094 208.75836,243.98853 208.47918,243.52167 C 208.36985,243.33884 207.72017,243.71399 207.03544,244.35533 C 203.34404,247.81284 201.94622,247.74561 197.65551,243.90421 C 195.27562,241.77354 194.45757,240.51058 194.73661,239.39778 C 194.88612,238.80152 194.78682,238.49197 194.44602,238.49197 C 193.50796,238.49197 190.90942,236.41285 190.90942,235.66229 C 190.90942,235.11004 191.30878,234.86269 192.51115,234.67026 C 193.53145,234.50695 194.26846,234.12292 194.54146,233.61234 C 194.9145,232.91467 194.87406,232.84972 194.22942,233.11115 C 193.82208,233.27634 192.10035,233.59525 190.40335,233.81982 C 187.64965,234.18425 187.34339,234.30858 187.55506,234.97612 C 187.88602,236.01985 187.00154,238.49197 186.29714,238.49197 C 185.864,238.49197 185.7654,238.82287 185.91251,239.78285 C 186.0213,240.49283 186.22048,243.39731 186.35511,246.23725 C 186.48975,249.07718 186.75338,252.20508 186.94094,253.18813 C 187.19856,254.53833 187.1481,255.11289 186.73464,255.53718 C 185.46375,256.84138 184.46403,254.06352 183.95952,247.82602 C 183.50094,242.1564 183.30232,240.87513 182.88201,240.87513 C 182.57925,240.87513 182.52356,243.0459 182.69441,248.18753 C 182.90576,254.54819 182.858,255.53043 182.32743,255.73421 C 181.41235,256.08569 181.103,256.02614 180.4504,255.37294 z M 208.7667,240.65309 C 208.7667,240.31252 208.58812,240.14433 208.36987,240.27934 C 208.15161,240.41435 207.97304,240.69301 207.97304,240.89858 C 207.97304,241.10414 208.15161,241.27233 208.36987,241.27233 C 208.58812,241.27233 208.7667,240.99367 208.7667,240.65309 z M 215.14841,234.12284 C 216.15389,234.12284 216.11872,233.46842 215.08343,232.91384 C 214.41229,232.55433 214.15401,232.60761 213.70715,233.19775 C 212.97038,234.17077 212.99228,234.65862 213.75951,234.36394 C 214.10474,234.23133 214.72974,234.12284 215.14841,234.12284 z M 196.46502,231.34249 C 196.46502,231.12402 196.15252,230.94802 195.77057,230.95138 C 195.17709,230.95657 195.16267,231.01343 195.67136,231.34249 C 196.42026,231.8269 196.46502,231.8269 196.46502,231.34249 z M 210.75084,229.15792 C 210.75084,228.83023 210.57227,228.56213 210.35401,228.56213 C 210.13575,228.56213 209.95718,228.83023 209.95718,229.15792 C 209.95718,229.48561 210.13575,229.75371 210.35401,229.75371 C 210.57227,229.75371 210.75084,229.48561 210.75084,229.15792 z M 215.09298,228.78843 C 215.46973,228.33406 215.40001,228.13248 214.74474,227.78147 C 214.01706,227.39167 213.92546,227.45518 213.92546,228.34956 C 213.92546,229.47344 214.38254,229.64524 215.09298,228.78843 z M 191.45075,255.37529 C 191.17751,254.66259 192.62337,249.73789 193.43005,248.63367 C 193.8463,248.06389 194.45891,247.92926 196.4322,247.9739 C 199.50124,248.04335 204.18995,249.07816 204.8069,249.82223 C 205.45005,250.59789 204.65189,252.87515 203.12799,254.61238 C 201.55485,256.40574 199.82991,256.46017 197.91455,254.77691 C 197.16881,254.12154 196.46017,253.58533 196.33979,253.58533 C 196.2194,253.58533 196.0644,254.07686 195.99534,254.67761 C 195.87819,255.69673 195.72994,255.77794 193.78199,255.89011 C 192.15922,255.98354 191.63998,255.86888 191.45075,255.37529 z M 158.12708,255.18217 C 157.66637,254.99583 157.17578,254.54697 157.03688,254.18468 C 156.80927,253.59099 156.68104,253.60731 155.73769,254.35004 C 154.69506,255.17093 152.27575,255.45944 151.37661,254.87013 C 150.97912,254.60961 149.24246,251.16601 149.24246,250.63837 C 149.24246,250.19817 151.48384,249.29566 152.81391,249.2003 C 156.32071,248.94887 158.7734,249.22326 159.49749,249.94802 C 160.39544,250.84681 160.93917,254.26935 160.30543,255.03366 C 159.80272,255.63994 159.33742,255.67167 158.12708,255.18217 z M 164.11966,255.16785 C 163.71624,254.5145 164.21304,252.37762 165.11091,250.90427 C 165.75689,249.84425 166.14565,249.61339 167.28475,249.61339 C 168.94534,249.61339 169.24034,250.35667 168.78237,253.38673 L 168.4822,255.3727 L 166.43754,255.49152 C 165.23715,255.56128 164.28006,255.42763 164.11966,255.16785 z M 170.48148,255.18821 C 170.15628,254.66155 170.64876,243.51565 171.10417,241.09517 C 171.58635,238.53244 172.67617,236.34024 173.54819,236.17898 C 174.13746,236.07001 174.24455,236.3708 174.25526,238.16495 C 174.26687,240.11051 174.3144,240.21778 174.8505,239.50834 C 175.17094,239.08429 175.43312,238.34446 175.43312,237.86427 C 175.43312,236.63018 176.74235,235.12262 177.54601,235.4313 C 178.12401,235.6533 178.19284,236.77391 178.17363,245.6482 L 178.15205,255.61573 L 176.69516,255.49422 C 174.90539,255.34494 174.75364,254.83315 174.68641,248.71971 C 174.66059,246.3713 174.48378,244.44987 174.2935,244.44987 C 174.10322,244.44987 173.81873,246.95219 173.6613,250.01059 L 173.37507,255.57129 L 172.04654,255.57129 C 171.31586,255.57129 170.61158,255.3989 170.48148,255.18821 z M 211.0435,255.07811 C 210.93067,254.7838 211.25869,252.94232 211.77243,250.98592 C 212.35309,248.77469 212.81024,245.58068 212.98065,242.54424 C 213.21038,238.45097 213.36875,237.59861 213.95821,237.28285 C 214.894,236.78157 215.81739,237.17824 216.14898,238.22397 C 216.9389,240.71506 216.02034,251.49368 214.80657,253.97634 C 214.23766,255.13997 213.88427,255.39274 212.68627,255.49296 C 211.75582,255.57079 211.17628,255.42445 211.0435,255.07811 z M 217.179,255.23968 C 216.76714,254.97153 216.74707,254.22974 217.07979,251.57379 C 217.30921,249.74243 217.49692,245.76863 217.49692,242.7431 C 217.49692,237.71996 217.55724,237.25329 218.19137,237.37056 C 218.57332,237.4412 219.24252,238.21394 219.67848,239.08776 C 220.81169,241.35911 221.00274,250.46371 219.97852,253.38673 C 219.27447,255.39603 218.35445,256.00497 217.179,255.23968 z M 140.92632,254.66863 C 139.48914,253.94069 138.82307,250.34352 138.76998,243.02327 C 138.72239,236.46209 138.93984,235.71161 140.88848,235.71161 C 141.53241,235.71161 142.34575,236.12434 142.92324,236.74416 C 144.20857,238.12371 147.77496,240.47794 148.57949,240.47794 C 149.58259,240.47794 151.66272,239.06225 152.17269,238.03249 C 152.49028,237.3912 153.04173,237.06235 153.94613,236.97495 C 155.00515,236.8726 155.20251,236.71916 154.96789,236.18057 C 154.80796,235.81341 154.59567,234.93358 154.49613,234.22539 C 154.30653,232.87644 154.26766,232.8674 151.62343,233.55767 C 151.29604,233.64314 150.50869,233.57333 149.87376,233.40254 C 148.93297,233.14948 148.61971,232.75 148.18092,231.2438 C 147.88479,230.22728 147.46678,229.28688 147.252,229.15401 C 147.03722,229.02115 146.86149,228.56551 146.86149,228.14149 C 146.86149,227.45692 147.15235,227.37055 149.4576,227.37055 C 150.88546,227.37055 153.412,227.08972 155.07213,226.74651 C 156.73226,226.40328 158.5253,226.23167 159.05669,226.36517 C 159.58806,226.49866 162.21439,226.61895 164.89298,226.63249 C 167.57156,226.64604 169.97704,226.78944 170.23848,226.95117 C 170.82673,227.31506 171.98833,231.63078 171.70026,232.38216 C 171.45158,233.03081 170.13909,233.09932 169.05778,232.52009 C 168.37944,232.15671 168.29021,232.2453 168.29021,233.28199 C 168.29021,233.92718 168.19647,234.69957 168.0819,234.99841 C 167.94569,235.35369 168.32344,235.67427 169.17318,235.92459 C 170.40535,236.28754 170.46982,236.40013 170.41584,238.09478 C 170.38454,239.07783 170.22616,241.08862 170.06389,242.56321 C 169.69041,245.95725 168.9553,246.10254 168.05437,242.9604 C 167.69422,241.70428 167.06422,240.35678 166.65439,239.96597 C 166.24456,239.57517 165.90924,238.88863 165.90924,238.44034 C 165.90924,237.99204 165.28124,236.89091 164.51368,235.99336 C 163.74612,235.09582 163.17951,234.17372 163.25455,233.94425 C 163.32959,233.71479 163.95999,233.47086 164.65546,233.40219 C 165.68063,233.30096 166.03237,233.00798 166.51404,231.85412 C 166.8408,231.07136 167.40139,230.21629 167.7598,229.95397 C 168.11822,229.69166 168.28918,229.27898 168.13972,229.03693 C 167.65021,228.24417 166.71934,229.01085 166.24423,230.59808 C 165.73637,232.29472 165.40639,232.45797 162.13937,232.62887 C 160.37872,232.72097 160.16808,232.82661 160.26929,233.5667 C 160.39464,234.48333 157.62055,237.30039 156.59256,237.30039 C 156.173,237.30039 156.0628,237.6082 156.20151,238.39267 C 156.35365,239.25311 155.92843,240.13768 154.19819,242.56011 C 152.99015,244.25146 151.58002,245.91186 151.06458,246.2499 C 150.20858,246.8113 149.95254,246.79801 148.1083,246.09661 C 146.99778,245.67426 145.33491,244.77349 144.41302,244.09491 C 142.23684,242.49305 141.30589,242.47455 141.30589,244.03313 C 141.30589,245.63819 141.9942,248.91172 142.96917,251.94358 C 143.64497,254.04509 143.69049,254.53061 143.23858,254.81715 C 142.5082,255.28025 142.07944,255.2527 140.92632,254.66863 z M 158.54004,232.97642 C 158.65959,232.7828 158.36543,232.52178 157.88634,232.39638 C 156.88634,232.13463 156.58972,232.29821 156.96429,232.90483 C 157.28148,233.41854 158.24015,233.46209 158.54004,232.97642 z M 155.39329,230.5481 C 155.52818,230.32964 155.36015,230.1509 155.01989,230.1509 C 154.67962,230.1509 154.40122,230.32964 154.40122,230.5481 C 154.40122,230.76656 154.56926,230.94529 154.77463,230.94529 C 154.98,230.94529 155.2584,230.76656 155.39329,230.5481 z M 145.10398,254.27997 C 144.78205,253.78819 144.16321,251.86678 143.72878,250.01014 C 143.08831,247.27298 143.03456,246.53704 143.44464,246.11955 C 144.31816,245.23023 145.51321,246.73641 147.03855,250.64912 C 147.81419,252.63873 148.4488,254.47078 148.4488,254.72035 C 148.4488,254.97355 147.83899,255.17411 147.06905,255.17411 C 146.07588,255.17411 145.5253,254.92358 145.10398,254.27997 z M 188.55978,254.54522 C 188.57882,254.0825 188.67286,253.98839 188.79953,254.30524 C 188.91416,254.59196 188.90007,254.93455 188.76821,255.06653 C 188.63634,255.19851 188.54255,254.96392 188.55978,254.54522 z M 136.04272,254.21848 C 135.71217,253.88762 135.1425,251.98727 134.7768,249.99546 C 134.22673,246.99953 134.18487,245.77905 134.53446,242.92948 C 134.76687,241.03499 135.13857,238.83404 135.36045,238.03848 C 136.12856,235.28442 138.04314,234.93302 137.53593,237.63918 C 137.07712,240.0871 137.31182,246.50675 137.98149,249.82649 C 138.90618,254.41039 138.89717,254.5585 137.68512,254.69917 C 137.11236,254.76565 136.37327,254.54933 136.04272,254.21848 z M 314.45267,253.87213 C 310.18487,250.42972 301.85896,245.98455 299.96152,246.13534 C 298.84921,246.22373 298.58766,246.05297 297.98838,244.84707 C 296.88383,242.62442 297.03709,242.26211 299.47727,241.32745 C 302.18642,240.28976 302.67804,240.27401 303.17793,241.20892 C 303.72737,242.23652 309.03093,245.83206 312.15692,247.29624 C 314.06181,248.18847 315.3124,248.51223 316.7304,248.48026 C 318.68005,248.43629 318.68308,248.43824 319.66039,250.36864 C 320.57831,252.18175 320.59687,252.33824 319.96104,252.90363 C 319.29404,253.49674 316.51353,254.77691 315.89232,254.77691 C 315.71746,254.77691 315.06962,254.36976 314.45267,253.87213 z M 326.53439,253.74416 C 326.14916,252.8979 326.19406,252.37794 326.78302,250.86451 C 327.17833,249.84871 327.59183,248.43671 327.70189,247.72673 C 327.92629,246.27926 327.63365,246.16287 325.61067,246.89506 C 324.51696,247.29093 324.18454,247.24271 323.20153,246.54569 C 322.2072,245.84063 317.90542,243.607 309.86419,239.62046 C 308.37864,238.88398 306.96594,238.49197 305.79743,238.49197 C 304.09501,238.49197 303.95023,238.40077 302.85385,236.63766 C 302.21965,235.61778 301.78436,234.56525 301.88656,234.29871 C 302.07112,233.81728 304.98675,232.53406 305.89603,232.53406 C 306.15734,232.53406 307.67186,233.40868 309.26163,234.47764 C 313.77692,237.51373 320.44053,240.47695 324.59037,241.29413 C 326.96478,241.7617 327.1032,241.85539 328.015,243.61212 C 328.53761,244.61903 329.33028,245.97907 329.77648,246.63444 C 330.22268,247.28981 330.58893,248.06116 330.59036,248.34855 C 330.59491,249.25746 327.88626,254.77691 327.43567,254.77691 C 327.19853,254.77691 326.79295,254.31218 326.53439,253.74416 z M 132.84849,254.1232 C 132.43109,253.70542 132.52396,248.02462 132.94818,248.02462 C 133.30049,248.02462 133.62922,249.72685 133.86104,252.75157 C 133.95894,254.02897 133.44709,254.72234 132.84849,254.1232 z M 82.575302,250.16631 C 75.612562,248.83848 72.018142,247.0334 67.675222,242.68364 C 65.918712,240.92436 63.737992,238.38768 62.829182,237.04655 C 60.915462,234.22253 56.000402,223.51288 55.016172,220.02246 C 54.646572,218.71173 54.260082,217.3409 54.157312,216.97618 C 54.043732,216.57311 54.666912,215.52817 55.746432,214.31157 C 59.442432,210.14625 60.732422,206.68962 60.743552,200.9214 C 60.750342,197.40077 59.701332,192.59157 58.324892,189.83297 C 56.870772,186.9187 53.092722,182.36897 50.489592,180.39729 C 49.115892,179.35682 47.824102,178.60936 47.618952,178.73626 C 47.150382,179.02612 47.193722,189.08286 47.676212,192.02031 C 47.873562,193.22182 48.215902,195.72414 48.436982,197.58103 C 48.954552,201.92816 50.526382,209.86663 51.807752,214.60497 C 52.890942,218.61047 53.055292,219.82788 52.428092,219.20011 C 51.523002,218.29418 48.988912,208.39684 47.502982,199.96418 C 45.914222,190.94797 45.303952,171.10285 46.385372,163.62097 C 46.669552,161.65486 47.175322,158.08011 47.509322,155.67709 C 48.803222,146.36779 52.205112,133.9695 55.955552,124.89459 C 59.421012,116.50923 62.356682,111.05782 67.078102,104.24052 C 71.713792,97.547027 71.957532,97.091027 70.899792,97.091027 C 69.966882,97.091027 67.491082,100.33288 67.032812,102.15453 C 66.797272,103.09079 66.415422,103.97382 66.184262,104.11682 C 65.231902,104.70596 62.775572,100.83704 61.374832,96.541627 C 61.167982,95.907297 60.866302,95.829917 59.389782,96.032487 C 57.971672,96.227047 57.396802,96.100287 56.291152,95.349287 C 52.877892,93.030857 49.303152,91.133127 48.349202,91.133127 C 47.774572,91.133127 47.159962,90.909697 46.983382,90.636627 C 46.488272,89.870937 45.728552,80.689727 46.100742,79.969867 C 46.282052,79.619167 47.821892,78.841967 49.522582,78.242747 C 51.223282,77.643537 53.840462,76.619227 55.338542,75.966507 C 58.407142,74.629517 59.304462,74.847377 58.128432,76.643857 C 57.418232,77.728767 57.418972,77.731497 58.743212,78.915797 C 59.994082,80.034477 60.200472,80.086637 62.393532,79.838287 C 63.672012,79.693517 64.718032,79.690407 64.718032,79.831387 C 64.718032,79.972377 64.405532,80.621017 64.023582,81.272807 C 63.342382,82.435257 63.347222,82.472607 64.277312,83.229947 C 64.927762,83.759607 65.488452,83.909617 66.063032,83.707697 C 69.508652,82.496867 71.855122,85.052227 71.866792,90.028077 C 71.872502,92.461407 72.438582,94.310027 73.260962,94.580907 C 73.485332,94.654817 75.345432,92.738537 77.394512,90.322507 C 84.541472,81.895687 95.889022,71.946047 103.01196,67.860887 C 104.10324,67.235017 106.24611,65.898847 107.7739,64.891627 C 113.52279,61.101567 117.12265,59.220547 117.62371,59.744857 C 117.98434,60.122227 117.95514,60.318417 117.49619,60.601727 C 117.16881,60.803807 113.77593,62.816127 109.95646,65.073547 C 100.18444,70.849087 98.659802,71.804227 97.137182,73.104397 C 96.397762,73.735797 94.667522,75.056707 93.292222,76.039767 C 90.615422,77.953127 82.175902,86.363447 78.345752,90.934527 C 76.052562,93.671337 72.449982,98.444267 68.348512,104.17953 C 67.200812,105.78442 65.402102,108.64422 64.351382,110.53464 C 63.300662,112.42506 61.920702,114.86545 61.284802,115.95773 C 58.603772,120.56297 54.134832,131.63764 53.030442,136.4132 C 52.752592,137.61472 51.786452,141.48822 50.883492,145.02099 C 49.980522,148.55376 49.241722,151.98282 49.241722,152.64111 C 49.241722,153.29941 49.058102,154.32143 48.833672,154.91227 C 48.088272,156.87462 46.622772,173.16756 47.065952,174.5652 C 47.244262,175.12751 47.841892,175.31074 49.952792,175.45035 C 51.416882,175.54717 56.364792,175.90817 60.948162,176.25257 C 74.105502,177.24121 79.644492,177.32468 91.049262,176.70619 C 96.910352,176.38834 101.84546,176.04188 102.0162,175.93626 C 102.18693,175.83064 105.07013,175.46921 108.4233,175.13307 C 111.77648,174.79693 115.33587,174.41787 116.33306,174.29071 C 118.81808,173.97381 119.32946,174.57491 119.6628,178.20456 C 119.80893,179.79567 120.13573,182.16991 120.38904,183.48065 C 121.1357,187.34435 120.94215,208.33633 120.11253,213.46877 C 119.14886,219.43045 117.73514,224.13735 115.22402,229.7448 C 110.87036,239.46668 102.78685,247.23868 94.733472,249.44572 C 92.650142,250.01666 84.365352,250.50769 82.575302,250.16631 z M 90.313462,248.04065 C 93.014742,247.60066 96.653672,246.56362 98.071662,245.82967 C 99.773522,244.94879 99.600732,244.05268 97.729022,244.05268 C 96.565842,244.05268 95.952202,243.77713 95.075402,242.8611 C 94.265672,242.01515 93.560302,241.66952 92.643602,241.66952 C 91.933422,241.66952 91.242002,241.49078 91.107112,241.27233 C 90.684082,240.58721 90.115042,240.83895 90.115042,241.71121 C 90.115042,242.17106 90.650762,243.34181 91.305532,244.31289 C 92.440822,245.99663 92.761422,246.83304 92.271512,246.83304 C 91.539432,246.83304 90.446192,245.83124 89.670232,244.44934 C 89.179732,243.57581 88.644882,242.8611 88.481682,242.8611 C 88.318472,242.8611 87.803222,243.39768 87.336672,244.05349 C 86.477112,245.26174 85.049292,246.26415 84.694152,245.90868 C 84.587362,245.8018 84.955922,245.02476 85.513172,244.18193 C 87.543732,241.11071 87.174452,238.54943 85.001522,240.63314 C 84.407112,241.20315 83.657782,241.66952 83.336342,241.66952 C 82.371572,241.66952 80.987992,242.85286 80.987992,243.67801 C 80.987992,244.10253 80.816382,244.44987 80.606622,244.44987 C 80.396872,244.44987 79.880092,244.8207 79.458232,245.27394 C 78.781452,246.00104 78.581202,246.03609 77.756252,245.57184 C 77.242022,245.28244 76.762382,245.01648 76.690382,244.98083 C 76.187852,244.73195 78.228892,242.68825 79.480632,242.18695 C 80.372432,241.82979 81.257572,241.10827 81.587612,240.46947 C 81.900632,239.86359 83.054492,238.81498 84.151752,238.13921 C 85.249002,237.46344 86.146762,236.81065 86.146762,236.68854 C 86.146762,236.26228 84.933872,234.12284 84.692212,234.12284 C 84.558182,234.12284 84.232712,234.41826 83.968952,234.77932 C 83.391932,235.56915 82.575302,235.17075 82.575302,234.0994 C 82.575302,233.07177 82.017702,233.12416 81.269282,234.22213 C 80.663832,235.11036 80.656422,235.11097 80.055532,234.32144 C 79.478442,233.56318 79.438472,233.60383 79.176682,235.21512 C 78.886842,236.99908 77.817712,237.61958 77.807952,236.00951 C 77.800132,234.72064 77.377562,233.32845 76.994162,233.32845 C 76.812772,233.32845 76.610382,234.25277 76.544412,235.3825 C 76.381932,238.16493 75.589942,238.31528 75.229642,235.63208 C 75.074182,234.47432 74.802322,233.26147 74.625502,232.93687 C 74.251862,232.25094 74.017592,233.01596 73.544202,236.46799 C 73.382312,237.6486 73.071272,238.59081 72.853012,238.56182 C 72.423042,238.50468 71.676342,230.41093 72.018672,229.51802 C 72.133362,229.21885 72.814442,228.73088 73.532182,228.43364 C 74.679312,227.95855 75.101142,227.98333 77.019712,228.63844 C 79.909592,229.62521 83.935102,230.5481 85.349382,230.5481 C 87.456182,230.5481 88.466932,228.44224 87.090702,226.92013 C 86.254572,225.99536 86.601292,225.1587 87.962372,224.81677 C 89.509352,224.42815 90.295772,225.34823 90.174522,227.40493 C 90.035692,229.76008 90.925102,230.94529 92.831302,230.94529 C 94.461922,230.94529 97.771852,229.95884 99.032772,229.09708 C 100.11132,228.35996 102.40237,228.42601 103.27834,229.21948 C 103.90963,229.79132 104.00403,230.54053 104.00403,234.97879 C 104.00403,239.03786 103.89273,240.08074 103.45951,240.08074 C 103.12625,240.08074 102.80909,239.42579 102.64207,238.39267 C 102.4003,236.89721 102.31991,236.79524 101.93758,237.49899 C 101.29663,238.67878 101.2165,238.72045 100.81391,238.08328 C 100.61086,237.76192 100.44199,236.57117 100.43865,235.43716 C 100.43531,234.30316 100.27431,233.27743 100.08086,233.15777 C 99.650312,232.89142 99.254802,234.26057 99.247512,236.04261 C 99.241662,237.47208 98.343882,237.65928 98.135372,236.27449 C 97.845972,234.35251 97.602572,233.71105 97.246322,233.93144 C 97.034462,234.0625 96.861122,234.69539 96.861122,235.33786 C 96.861122,236.11141 96.660052,236.50601 96.265882,236.50601 C 95.914952,236.50601 95.668152,236.13921 95.664562,235.61231 C 95.661222,235.12079 95.492252,234.45553 95.289082,234.13397 C 94.973202,233.63403 94.887832,233.64843 94.699912,234.23328 C 93.993832,236.43081 94.054232,236.37282 93.429132,235.45326 L 92.848492,234.59911 L 91.878592,235.4988 C 90.451982,236.82216 90.624092,237.93258 92.396802,238.84229 C 93.215262,239.2623 94.285522,240.07025 94.775152,240.63774 C 95.420172,241.3853 96.051042,241.66952 97.065422,241.66952 C 98.165292,241.66952 98.560232,241.87773 98.907522,242.64066 C 99.483802,243.90662 100.34202,244.20708 101.38135,243.50674 C 103.78301,241.88843 111.9406,233.08578 111.9406,232.11252 C 111.9406,231.85141 112.46417,230.72181 113.1041,229.60232 C 114.31957,227.47594 117.48689,218.92815 117.49279,217.75834 C 117.49466,217.3869 117.18369,216.90816 116.80174,216.69447 C 116.22776,216.37335 116.08363,215.61195 115.97089,212.30517 C 115.89401,210.0505 115.67753,208.40149 115.47485,208.52686 C 115.27706,208.64922 115.11522,209.61012 115.11522,210.66221 C 115.11522,213.13114 114.7167,215.10338 114.27325,214.82906 C 114.08157,214.71049 113.92474,214.18773 113.92474,213.66737 C 113.92474,212.43119 113.13993,211.95892 112.86084,213.02715 C 112.56192,214.17129 112.08205,213.7522 111.76712,212.07194 C 111.47842,210.5316 110.75011,210.55316 110.75011,212.10204 C 110.75011,212.69906 110.5214,213.07158 110.15487,213.07158 C 109.82749,213.07158 109.55963,212.81402 109.55963,212.49923 C 109.55963,211.66116 108.81807,211.34225 108.15335,211.89444 C 107.70692,212.26528 107.44639,212.26722 107.00792,211.90298 C 106.55468,211.52649 106.35484,211.59144 106.01585,212.22543 C 105.27297,213.6148 105.54061,214.17685 107.778,215.92588 C 108.98067,216.86604 110.06132,217.94009 110.17946,218.31265 C 110.44769,219.15854 112.75645,220.61826 113.82611,220.61826 C 115.02173,220.61826 115.25401,222.42184 114.15151,223.1449 C 113.40471,223.63467 113.19406,223.61585 112.42244,222.99045 C 111.93917,222.59876 111.54377,221.92534 111.54377,221.49396 C 111.54377,220.67667 110.01097,219.42667 109.00879,219.42667 C 108.69048,219.42667 107.86984,218.95487 107.18516,218.37822 C 106.46208,217.76922 105.79434,217.47787 105.59209,217.68313 C 104.98103,218.30328 106.6269,222.32438 107.94333,223.42754 C 109.35921,224.61404 109.4656,224.98739 108.38784,224.98739 C 107.96088,224.98739 107.04008,224.27395 106.33729,223.39861 C 105.63571,222.52478 104.89576,221.80984 104.69296,221.80984 C 104.49016,221.80984 103.51275,222.52478 102.52095,223.39861 C 100.05302,225.57297 98.323052,225.54466 100.68334,223.36855 C 101.97621,222.17656 103.19007,219.61547 103.20166,218.05518 L 103.21038,216.88229 L 101.70554,218.35308 C 100.87788,219.16201 99.814842,219.82387 99.343242,219.82387 C 97.960122,219.82387 96.702052,220.57493 95.982162,221.83043 C 95.612872,222.47447 95.021472,223.00141 94.667932,223.00141 C 93.478632,223.00141 94.247842,221.68344 96.054322,220.62595 C 97.158902,219.97934 97.910472,219.2218 98.050332,218.61407 C 98.191182,218.002 99.119092,217.07401 100.5441,216.12008 C 102.88108,214.55566 103.23524,213.80803 102.38904,212.22543 C 102.03526,211.56376 101.86284,211.516 101.35403,211.93866 C 100.8502,212.35718 100.6567,212.32695 100.24668,211.76571 C 99.587502,210.86339 99.323382,210.90817 99.170482,211.94819 C 98.982862,213.22447 98.259802,213.24443 97.671132,211.98958 C 97.386652,211.38317 97.103642,211.06575 97.042222,211.2842 C 96.980802,211.50267 96.822242,212.17292 96.689862,212.77368 C 96.415342,214.01952 95.670642,214.25607 95.670642,213.09743 C 95.670642,212.67474 95.460102,211.82574 95.202772,211.21077 C 94.757202,210.1459 94.722232,210.21121 94.468912,212.58143 C 94.073592,216.2804 93.339832,216.58745 93.013422,213.1905 C 92.637062,209.27367 91.823622,209.88137 91.741912,214.14041 C 91.665702,218.11286 91.026712,216.57275 90.770242,211.79847 C 90.394422,204.80273 90.702322,204.58206 97.573762,206.92225 C 101.89274,208.39318 102.72463,208.3671 103.59811,206.73349 C 104.17364,205.6571 104.14642,205.57956 102.72724,204.25262 C 101.5001,203.10524 101.4799,203.03726 102.20784,202.50449 C 102.62441,202.19961 103.46054,201.95016 104.06592,201.95016 C 105.37428,201.95016 105.95585,202.8524 106.32856,205.46036 C 106.53452,206.90153 106.82047,207.41324 107.68881,207.8945 C 108.74439,208.47952 108.91866,208.43488 112.05542,206.77573 C 114.07389,205.70808 115.70002,205.10086 116.31017,205.18695 C 117.29318,205.32565 117.29784,205.34667 117.31125,209.69543 C 117.32679,214.73349 117.37242,215.181 117.84102,214.89111 C 118.2569,214.63385 118.58984,210.68099 118.91819,202.10209 C 119.15889,195.81326 119.14739,195.68558 118.26612,194.86379 C 117.48263,194.13319 117.3237,193.43599 117.01102,189.35806 C 116.81412,186.79 116.57487,184.61065 116.47936,184.51505 C 116.06073,184.09602 115.8935,184.99884 115.64905,188.99769 C 115.36253,193.68484 114.75191,193.96748 114.69658,189.43856 C 114.66084,186.51278 114.19398,184.55534 113.79662,185.66522 C 113.6793,185.9929 113.46508,187.65951 113.32058,189.3688 C 113.17607,191.07809 112.94039,192.36155 112.79684,192.22094 C 112.65329,192.08033 112.35727,190.87516 112.13901,189.54279 C 111.74291,187.12475 110.75011,185.85542 110.75011,187.76703 C 110.75011,189.51863 110.2577,191.26019 109.80455,191.1113 C 109.56071,191.03118 109.27193,190.17521 109.1628,189.20912 C 108.92374,187.09279 108.24711,187.04641 107.97231,189.1275 C 107.80266,190.41236 107.64445,190.61212 106.88072,190.50582 C 106.22723,190.41486 105.88412,190.65377 105.60216,191.39605 C 105.11263,192.68481 105.33668,193.24161 106.68884,194.09659 C 107.28562,194.47395 108.57748,195.41373 109.55963,196.18497 C 112.51795,198.50804 113.67373,199.16676 114.79418,199.16831 C 116.28574,199.17039 116.60105,199.93374 115.46992,200.80424 C 114.94745,201.20632 114.37898,201.53927 114.20665,201.54413 C 114.03431,201.54899 113.19316,200.83802 112.33743,199.96418 C 111.3773,198.98377 110.41655,198.37541 109.82832,198.37541 C 109.30405,198.37541 108.18511,197.82657 107.34178,197.15576 C 106.46034,196.45463 105.74583,196.12415 105.66115,196.37841 C 105.38326,197.21288 105.9729,198.64898 107.02632,199.70338 C 107.91176,200.58964 107.96674,200.75857 107.36974,200.75857 C 106.9788,200.75857 105.9619,200.02516 105.10997,199.12876 L 103.56099,197.49895 L 101.99038,199.20179 C 100.78564,200.50796 100.31095,200.79571 99.952602,200.43703 C 99.594252,200.07836 99.746412,199.69677 100.60579,198.79894 C 101.28392,198.09047 101.63247,197.38408 101.48881,197.00935 C 101.27587,196.45393 101.10651,196.45944 99.842132,197.06293 C 98.534402,197.68713 98.385782,197.68853 97.780262,197.08246 C 96.931372,196.23279 97.465772,195.56068 99.735852,194.62297 C 100.66469,194.23929 101.69251,193.78436 102.01989,193.61203 C 102.93613,193.12971 102.59709,191.14981 101.4387,190.21803 C 100.88533,189.7729 100.43258,189.17711 100.43258,188.89404 C 100.43258,187.91491 99.440022,188.70954 99.312672,189.79062 C 99.139422,191.26131 98.298962,190.8943 98.051612,189.23996 C 97.815182,187.6587 96.861122,187.11492 96.861122,188.56142 C 96.861122,190.13468 96.394632,192.02031 96.005412,192.02031 C 95.533892,192.02031 95.382982,191.48847 95.075612,188.74347 C 94.897042,187.1488 94.648862,186.4596 94.253182,186.4596 C 93.817222,186.4596 93.679062,187.12391 93.654272,189.33926 C 93.623312,192.10535 93.600542,192.17192 93.076922,191.02733 C 92.777112,190.37196 92.521322,189.29954 92.508492,188.64417 C 92.477072,187.03836 92.084152,185.66522 91.656072,185.66522 C 91.463272,185.66522 91.305532,187.82496 91.305532,190.46463 C 91.305532,194.12676 91.187982,195.22523 90.809492,195.10023 C 89.883602,194.79442 89.308812,184.78989 90.129002,183.25594 C 90.700702,182.18673 92.694812,182.26194 95.325062,183.4519 C 97.981242,184.65361 100.84339,185.10386 101.9745,184.49794 C 103.07316,183.90942 103.1001,182.06349 102.01989,181.38826 C 100.96995,180.73196 101.01895,180.25877 102.2183,179.47219 C 103.12611,178.87682 103.29191,178.87503 104.17028,179.45109 C 104.88426,179.91934 105.21529,180.61792 105.46236,182.17783 C 105.74438,183.95834 105.93511,184.29501 106.72538,184.40725 C 108.20348,184.6172 109.22146,184.2214 112.14302,182.30074 C 114.92796,180.4699 116.17269,180.13024 117.01338,180.97171 C 117.73976,181.69875 117.90415,181.20763 117.57796,179.28506 L 117.27896,177.52275 L 115.07567,177.40569 C 113.86387,177.34131 110.92165,177.47719 108.53742,177.70764 C 93.207342,179.18942 89.092482,179.36016 74.440322,179.12244 C 66.364872,178.99143 58.864812,178.71384 57.773532,178.50559 C 53.415952,177.67404 51.622692,177.57729 51.622692,178.17374 C 51.622692,178.48368 52.799082,179.8939 54.236892,181.30756 C 58.566282,185.56424 60.063942,187.80385 61.533482,192.21891 C 62.622922,195.49201 62.888592,196.97893 63.043462,200.67005 C 63.215652,204.7736 63.291862,205.13004 63.952282,204.92024 C 64.392682,204.78034 65.776442,205.31702 67.508912,206.29965 C 70.593842,208.04938 72.901592,208.39849 74.015152,207.28389 C 74.873132,206.42513 74.796502,205.23305 73.845082,204.63833 C 72.841912,204.01126 72.831862,203.2873 73.819002,202.75851 C 75.565292,201.82306 77.019712,202.78779 77.019712,204.88157 C 77.019712,207.9905 79.457522,208.46237 84.204632,206.27226 C 88.141932,204.45578 88.287272,204.64748 88.466582,211.89365 C 88.584262,216.64968 88.517922,217.44071 88.001322,217.44071 C 87.659892,217.44071 87.191702,216.81262 86.920882,215.99128 C 86.529272,214.80361 86.376832,214.66015 86.076732,215.1969 C 85.406392,216.39584 84.998372,215.87569 84.727182,213.47649 C 84.433832,210.88126 83.765792,210.5999 83.765792,213.07158 C 83.765792,213.91962 83.585952,214.72472 83.366162,214.86068 C 82.952722,215.11643 82.811292,214.83807 82.398402,212.95603 C 82.133402,211.74808 81.384822,211.85073 81.384822,213.09502 C 81.384822,214.22423 80.719782,214.03524 80.254112,212.77368 C 79.858442,211.70176 79.845862,211.69807 79.579522,212.57508 C 79.271012,213.59095 78.977662,213.68088 78.273042,212.9756 C 77.880632,212.58283 77.704132,212.60305 77.406092,213.0749 C 76.652912,214.26732 76.894412,214.71529 79.301472,216.59066 C 81.201472,218.07098 81.559022,219.42667 80.049442,219.42667 C 79.533232,219.42667 78.656842,219.0692 78.101912,218.63228 C 76.809622,217.61484 76.622882,217.63301 76.622882,218.77627 C 76.622882,219.29237 77.158602,220.38937 77.813372,221.21405 C 78.468132,222.03873 79.003852,222.9585 79.003852,223.258 C 79.003852,224.11308 77.528972,223.05587 76.567982,221.51194 C 75.574782,219.91628 75.095242,219.89927 73.650632,221.4085 C 72.295792,222.82395 72.024782,222.74517 72.843472,221.17384 C 73.173412,220.54059 73.444462,219.70968 73.445812,219.32737 C 73.448812,218.4757 72.532392,218.41828 71.860942,219.22808 C 71.589242,219.55576 70.950772,219.82387 70.442132,219.82387 C 69.004222,219.82387 67.495832,220.6699 67.495832,221.4764 C 67.495832,221.97191 67.204992,222.20703 66.592062,222.20703 C 66.094982,222.20703 65.295832,222.48217 64.816182,222.81843 C 64.026642,223.37196 63.848032,223.36685 62.929542,222.76449 C 62.003032,222.15686 61.964252,222.02627 62.482552,221.25939 C 62.873532,220.68091 63.383772,220.45719 64.122612,220.54029 C 65.244082,220.66643 69.479972,219.11096 69.479972,218.57302 C 69.479972,218.00394 71.935222,215.45474 72.483332,215.45474 C 73.309062,215.45474 73.928012,213.95649 73.641562,212.65109 C 73.369452,211.41107 72.495742,211.08356 72.114262,212.0786 C 71.782362,212.94433 71.067282,212.80869 71.067282,211.87999 C 71.067282,210.46453 70.382412,211.03961 70.121242,212.67438 C 69.772322,214.85842 68.686312,214.87616 68.686312,212.69783 C 68.686312,211.83689 68.516772,211.02761 68.309542,210.89942 C 67.962432,210.68469 67.674982,211.753 67.404442,214.26316 C 67.197322,216.18489 66.502492,215.22853 66.394442,212.87298 C 66.334312,211.56224 66.181222,210.22171 66.054222,209.89403 C 65.668502,208.89874 65.174982,210.60784 65.136672,213.07158 C 65.067052,217.54937 63.548242,217.17431 63.528202,212.67438 C 63.515572,209.83788 63.223352,208.30525 62.695162,208.30525 C 62.089252,208.30525 61.826942,210.27178 62.348882,210.90127 C 62.700762,211.32565 62.771832,212.30157 62.591942,214.23893 C 62.158842,218.90317 61.388372,219.68739 61.038062,215.82056 C 60.917752,214.49256 60.709962,213.29656 60.576302,213.16277 C 60.107402,212.69344 55.987812,217.17533 55.987812,218.1548 C 55.987812,219.84502 57.978112,224.91726 61.054032,231.06597 C 63.814802,236.58469 64.348072,237.37402 67.278562,240.27934 C 70.635642,243.60759 74.061402,245.75591 76.821292,246.26366 C 77.694322,246.42428 78.783782,246.79993 79.242322,247.09845 C 80.850782,248.14557 86.642892,248.6385 90.313462,248.04065 z M 81.817332,222.57515 C 80.595392,221.55682 81.226112,220.61357 82.666492,221.30521 C 83.161982,221.54314 83.899992,221.84549 84.306522,221.97712 C 84.911092,222.17286 84.956432,222.32405 84.555552,222.80752 C 83.890892,223.60912 82.963612,223.53044 81.817332,222.57515 z M 83.964202,201.15577 C 83.829312,200.93731 83.384762,200.75857 82.976312,200.75857 C 82.512182,200.75857 82.186122,200.4284 82.106872,199.87816 C 82.034302,199.37429 81.470912,198.742 80.789582,198.39975 C 80.134812,198.07086 78.933272,197.39462 78.119492,196.897 C 77.305712,196.39939 76.457492,195.99225 76.234562,195.99225 C 75.415372,195.99225 75.862542,197.84865 77.003582,199.1848 C 77.649482,199.94115 78.185202,200.69403 78.194072,200.85787 C 78.231612,201.55127 76.921802,201.06903 75.766762,199.96418 C 74.290682,198.55227 74.240862,198.54527 72.943142,199.567 C 71.379562,200.79804 70.991612,200.50826 72.071322,198.91578 C 73.081472,197.42586 73.382962,195.59505 72.618152,195.59505 C 72.106172,195.59505 70.219452,196.9651 68.743502,198.40865 C 67.107652,200.00859 66.111352,200.41891 64.942432,199.97407 C 63.887702,199.57269 63.756642,199.2751 64.165252,198.2093 C 64.327062,197.78724 64.906562,197.58103 65.930782,197.58103 C 67.207312,197.58103 67.628082,197.35447 68.516252,196.18896 C 69.099692,195.42331 70.267562,194.40844 71.111512,193.93367 C 72.646122,193.07039 73.329652,191.99786 72.845232,191.21332 C 72.703652,190.98403 72.245832,190.90506 71.827852,191.03784 C 71.253442,191.22032 70.967342,191.01452 70.656022,190.19494 C 70.195772,188.98328 69.622022,189.27615 69.414372,190.82873 C 69.222662,192.26212 68.521722,191.89087 68.289492,190.23294 C 68.007272,188.21821 67.462942,188.33786 66.905012,190.53727 C 66.076972,193.80141 65.548372,193.65319 65.223372,190.06573 C 65.076622,188.44581 64.832842,187.65119 64.482632,187.65119 C 64.114332,187.65119 63.926092,188.4406 63.843302,190.33224 C 63.757732,192.28739 63.578002,193.0133 63.179492,193.0133 C 62.768952,193.0133 62.620902,192.28085 62.584252,190.0686 C 62.551702,188.10346 62.370462,187.06846 62.039442,186.95725 C 61.766622,186.86559 61.543402,187.07359 61.543402,187.41949 C 61.543402,187.76538 61.275542,188.04838 60.948162,188.04838 C 60.505972,188.04838 60.352922,187.58208 60.352922,186.23489 C 60.352922,182.23192 61.702082,181.81811 66.744442,184.27454 C 70.830322,186.26501 72.765562,186.54483 73.460262,185.24557 C 73.809402,184.59259 73.726472,184.13942 73.046842,182.98648 L 72.196672,181.54423 L 73.120092,180.83319 C 74.232332,179.97677 74.302162,179.96919 75.177482,180.60983 C 75.631902,180.9424 75.948102,181.89284 76.102502,183.39019 C 76.396562,186.24201 76.637552,186.26426 81.384822,183.87784 C 85.410692,181.85406 86.291072,181.71603 87.084312,182.98416 C 87.720862,184.00178 88.291502,194.65444 87.728142,195.00294 C 87.068662,195.41089 86.769832,194.14938 86.559012,190.06755 C 86.400652,187.00127 86.200092,185.87911 85.785942,185.74199 C 85.318302,185.58717 85.269622,186.21235 85.488762,189.55925 C 85.642852,191.91286 85.598452,193.65591 85.380962,193.79045 C 84.757752,194.17598 84.408442,193.15126 84.181442,190.27153 C 84.048642,188.58686 83.771402,187.45193 83.468172,187.35172 C 83.104572,187.23156 82.972132,187.89475 82.972132,189.83574 C 82.972132,193.13854 82.082022,193.26397 81.781652,190.00351 C 81.527262,187.24222 80.825892,187.21538 80.668742,189.96093 C 80.536892,192.26441 79.756032,192.65512 79.396782,190.59737 C 79.122432,189.02594 78.438052,189.13089 78.281352,190.76842 C 78.176972,191.85931 78.016592,192.06229 77.388892,191.89799 C 76.968022,191.78783 76.533632,191.84352 76.423572,192.02176 C 76.018482,192.67782 76.680602,193.44062 78.585492,194.5124 C 79.842772,195.2198 80.582832,195.91923 80.663812,196.4766 C 80.813062,197.50384 82.911542,198.82323 84.914342,199.14908 C 86.654092,199.43213 86.981352,200.43142 85.548322,201.08495 C 84.304172,201.65235 84.271722,201.6538 83.964202,201.15577 z M 92.055092,200.98548 C 91.270062,200.66146 91.088482,200.37753 91.293752,199.79501 C 91.501892,199.20432 91.987752,199.01213 93.426102,198.95146 C 94.450642,198.90825 95.375372,199.01294 95.481052,199.18409 C 96.205272,200.35698 93.710482,201.66875 92.055092,200.98548 z M 118.65878,189.53785 C 118.64345,189.04633 118.49445,188.29506 118.32769,187.86838 C 118.07051,187.21035 117.98465,187.29191 117.76211,188.40566 C 117.6178,189.12785 117.59876,189.87911 117.7198,190.07515 C 118.13479,190.74723 118.68667,190.43144 118.65878,189.53785 z M 65.495602,98.180047 C 65.802872,97.217717 66.734622,96.018107 68.117912,94.803907 C 69.372702,93.702497 70.263442,92.590657 70.263202,92.126107 C 70.261852,89.518317 68.577632,88.121527 65.996672,88.587727 C 64.326942,88.889327 63.070962,89.455427 62.640752,90.100297 C 62.114592,90.889037 62.323762,95.434897 62.975482,97.375037 C 64.096422,100.71199 64.632502,100.88323 65.495602,98.180047 z M 61.070272,89.393757 C 61.998382,88.464787 61.517932,87.847727 57.401402,84.681757 C 53.632902,81.783437 53.667752,81.791207 50.113372,83.059157 C 47.905592,83.846747 48.042862,84.590207 50.685102,86.155587 C 51.803042,86.817887 53.587412,88.036697 54.650382,88.864037 C 56.393022,90.220387 56.771292,90.352767 58.497612,90.210367 C 59.565852,90.122257 60.703092,89.761277 61.070272,89.393757 z M 323.20143,238.95137 C 322.99575,238.80793 322.43092,238.17377 321.94625,237.54213 C 320.95067,236.24466 321.17966,235.68838 323.12355,234.68224 C 325.57918,233.41122 324.55786,232.47298 317.14885,229.19357 C 312.81069,227.27339 311.03872,226.99612 309.19714,227.94931 C 307.90925,228.61593 307.45913,228.37763 306.01418,226.26426 C 304.93637,224.68787 305.1365,224.35356 308.19087,222.62819 L 310.32759,221.42118 L 312.02768,222.54774 C 312.96274,223.16734 315.15636,224.25961 316.9024,224.97502 C 318.64845,225.69042 320.91931,226.70082 321.94877,227.22034 C 323.98334,228.24711 325.43471,228.40519 326.6838,227.73609 C 327.6092,227.24036 328.70286,228.01548 329.64154,229.83235 C 330.47223,231.44021 330.36882,231.61843 328.18371,232.34488 C 327.07687,232.71285 326.07619,233.26192 325.95998,233.56503 C 325.84377,233.86814 326.12437,234.75344 326.58352,235.53237 C 327.69323,237.41492 327.63623,238.03299 326.32707,238.3133 C 325.72687,238.44181 324.86221,238.69662 324.4056,238.87956 C 323.94899,239.0625 323.40711,239.09481 323.20143,238.95137 z M 146.70891,237.74548 C 146.01402,237.0195 145.33947,236.66715 144.8765,236.78834 C 144.35345,236.92523 143.95784,236.62016 143.49388,235.72213 C 143.13642,235.03025 142.23003,234.1016 141.47968,233.65848 C 140.72933,233.21535 140.1154,232.60617 140.1154,232.30475 C 140.1154,231.86396 139.92078,231.84547 139.12083,232.21028 C 138.57381,232.45975 138.17081,232.85808 138.22527,233.09546 C 138.36482,233.7037 137.71753,233.79745 136.44474,233.35336 C 135.14077,232.89837 135.06826,232.20972 136.17592,230.80026 C 137.24012,229.44611 136.99797,229.47937 135.16235,230.93949 C 133.59838,232.18351 132.9725,232.18759 132.9725,230.95378 C 132.9725,230.1435 142.94972,221.80984 143.91979,221.80984 C 144.87379,221.80984 144.54426,222.70399 143.01108,224.27556 C 141.73965,225.57881 141.65107,225.78177 142.35372,225.78177 C 142.84192,225.78177 143.84141,226.58376 144.85985,227.79267 C 146.21775,229.40454 146.51084,230.01908 146.33689,230.88963 C 146.21753,231.48696 146.27428,232.22575 146.46299,232.53137 C 146.65808,232.84732 146.65095,233.37724 146.44645,233.7597 C 146.17498,234.26741 146.27188,234.48079 146.8416,234.62992 C 147.30882,234.75221 147.78419,235.4548 148.08924,236.47388 C 148.75725,238.70556 148.15709,239.25845 146.70891,237.74548 z M 140.27136,227.93385 C 140.69803,226.82095 140.5306,226.55794 139.71858,227.06553 C 139.28207,227.33838 138.92492,227.78675 138.92492,228.06189 C 138.92492,228.7805 139.98544,228.67966 140.27136,227.93385 z M 205.66368,236.8039 C 205.74517,236.22957 206.10955,235.86486 206.68335,235.78329 C 207.66463,235.6438 207.89198,236.42826 207.10002,237.22095 C 206.30806,238.01364 205.52432,237.78607 205.66368,236.8039 z M 173.60975,234.06187 C 173.24142,233.46536 176.0457,232.42067 178.00322,232.42514 C 180.02993,232.42979 183.31928,233.5113 182.82164,234.00941 C 182.4444,234.38699 173.84075,234.43599 173.60975,234.06187 z M 173.3029,231.03365 C 171.95547,228.39403 171.85966,225.52849 173.05415,223.59398 C 174.07968,221.93311 175.35346,221.41264 178.39273,221.41264 C 180.70682,221.41264 181.00129,221.51152 181.91141,222.59414 C 183.19189,224.11729 183.91404,226.33097 183.57349,227.68906 C 183.31718,228.71122 183.27998,228.7255 182.75302,228.00419 C 182.2279,227.28537 182.18772,227.28336 181.92723,227.96281 C 181.75223,228.41927 181.89149,228.85124 182.31314,229.15985 C 184.17642,230.52356 182.38141,231.58431 177.71942,231.87447 L 173.85488,232.11499 L 173.3029,231.03365 z M 217.59505,226.63247 C 213.56303,223.43448 213.65804,223.55834 214.51222,222.61361 C 215.08593,221.97908 215.73378,221.80984 217.58895,221.80984 C 219.6572,221.80984 220.07801,221.94903 221.0989,222.97087 C 221.92047,223.79319 222.25715,224.51739 222.25301,225.45333 C 222.24675,226.86784 221.52055,228.62854 220.86996,228.8066 C 220.6517,228.86633 219.178,227.88798 217.59505,226.63247 z M 133.05186,227.6883 C 132.42436,227.06022 132.41578,221.95562 133.04158,221.56851 C 133.29783,221.40999 134.38574,221.30031 135.45914,221.32478 C 137.51212,221.37159 139.32175,222.24032 139.32175,223.17909 C 139.32175,223.6801 134.31819,228.16493 133.75924,228.16493 C 133.63209,228.16493 133.31377,227.95046 133.05186,227.6883 z M 24.838812,225.4568 C 22.657372,224.19607 20.816782,222.8747 20.748622,222.52041 C 20.680452,222.16612 21.247332,221.05979 22.008362,220.06187 C 22.769392,219.06395 23.619062,217.61911 23.896512,216.85111 C 24.494782,215.19511 25.260762,215.07921 27.218412,216.34842 C 28.686992,217.30056 28.970702,218.01028 28.027542,218.37254 C 27.256222,218.66879 25.320732,222.5354 25.590952,223.24022 C 25.897842,224.04073 27.019682,223.9276 29.452172,222.85084 C 30.626292,222.33112 33.560622,221.25491 35.972912,220.45927 C 38.385212,219.66363 40.743252,218.74321 41.213022,218.41386 C 42.376352,217.59828 42.796452,215.25419 41.947542,214.31529 C 41.207612,213.49692 41.104932,212.67438 41.742712,212.67438 C 42.645902,212.67438 46.065572,214.88274 46.048122,215.45474 C 46.010022,216.70408 44.174932,221.58836 43.645572,221.84939 C 43.340492,221.99982 42.108742,222.34129 40.908332,222.60821 C 35.975562,223.70507 31.781582,225.43532 30.430082,226.93109 C 30.014312,227.39125 29.478592,227.76353 29.239602,227.75839 C 29.000612,227.75324 27.020252,226.71753 24.838812,225.4568 z M 54.078382,223.79537 C 53.596512,222.63478 53.278362,221.60903 53.371382,221.51592 C 53.616652,221.27042 55.236932,225.05752 55.083602,225.51793 C 55.012612,225.7311 54.560262,224.95596 54.078382,223.79537 z M 325.6796,224.70341 C 325.42695,224.45054 323.8469,221.08597 323.8469,220.80087 C 323.8469,220.73838 324.3702,220.88497 325.00978,221.12661 C 325.99364,221.49831 326.45424,221.421 328.00154,220.62446 C 331.19933,218.97826 330.65625,218.61858 321.38993,216.24564 C 315.75103,214.80162 314.84158,214.78054 312.97187,216.05053 C 312.16783,216.59667 311.29469,217.04351 311.03156,217.0435 C 310.31136,217.04348 308.271,214.30145 308.51589,213.66269 C 308.63338,213.35624 309.474,212.60634 310.38394,211.99625 C 313.98957,209.5788 313.72541,209.6687 315.18062,210.36383 C 317.55612,211.49855 322.99468,212.92256 326.31454,213.27909 L 328.58377,213.52279 L 330.35589,216.1909 C 331.33056,217.65836 332.49692,219.19317 332.94781,219.6016 C 333.3987,220.01002 333.7676,220.58759 333.7676,220.88511 C 333.7676,221.18261 332.13493,222.22733 330.13944,223.20671 C 326.29941,225.09137 326.12551,225.14973 325.6796,224.70341 z M 146.73024,222.73766 C 146.58796,222.59524 146.67043,222.23885 146.91352,221.94568 C 147.26551,221.52116 149.80975,221.41264 159.41016,221.41264 C 169.86088,221.41264 171.46484,221.49191 171.46484,222.00843 C 171.46484,222.33612 171.24162,222.61191 170.9688,222.6213 C 164.55482,222.84217 146.91924,222.92682 146.73024,222.73766 z M 193.3896,222.70392 C 185.90815,222.60657 184.56017,222.49923 184.56017,222.00083 C 184.56017,221.49593 186.07399,221.41264 195.25111,221.41264 C 202.66708,221.41264 206.02559,221.54792 206.21473,221.85425 C 206.63351,222.53246 205.56452,222.99843 203.80634,222.90403 C 202.93332,222.85716 198.24579,222.76711 193.3896,222.70392 z M 316.05384,220.02246 C 315.69597,219.089 316.15947,218.33194 317.51997,217.62775 C 318.95584,216.88455 320.08384,217.06169 321.62076,218.27174 C 323.00207,219.35928 322.69962,219.67483 321.07963,218.83633 C 319.22009,217.87385 317.72668,218.16734 317.5705,219.52598 C 317.43534,220.70168 316.43925,221.02777 316.05384,220.02246 z M 141.10748,219.82387 C 136.96062,219.71464 133.34452,219.48067 133.0717,219.30393 C 132.79888,219.1272 132.57567,218.28875 132.57567,217.44071 C 132.57567,216.59267 132.79888,215.75583 133.0717,215.58107 C 133.86629,215.07208 221.12053,215.40079 221.73968,215.91511 C 222.30342,216.38341 222.43667,218.92882 221.93851,219.7136 C 221.69866,220.09146 213.53878,220.17953 185.13877,220.11079 C 165.06842,220.06221 145.25433,219.9331 141.10748,219.82387 z M 19.975642,213.76801 C 18.154802,212.84714 17.742762,211.63673 18.917852,210.66059 C 20.094882,209.68285 21.929512,206.6748 21.705382,206.0902 C 21.582532,205.76977 20.317192,204.77658 18.893502,203.88311 C 17.469812,202.98963 16.315972,202.14453 16.329402,202.00509 C 16.342832,201.86565 17.291882,200.41103 18.438402,198.77261 L 20.522972,195.79366 L 22.665182,195.91303 C 25.341022,196.06215 33.008892,195.31458 34.464252,194.76272 C 35.062052,194.53603 35.927332,193.99791 36.387122,193.5669 C 37.214472,192.7913 37.243082,192.79107 39.164912,193.54426 C 41.642942,194.51542 41.789672,195.33662 39.891492,197.6107 L 38.438612,199.35128 L 35.804402,199.23557 C 34.355582,199.17193 32.009462,199.39656 30.590802,199.73475 C 29.172132,200.07294 27.386412,200.3562 26.622512,200.36423 C 24.677692,200.38467 21.997912,201.68571 21.651692,202.77758 C 21.422762,203.49953 21.631662,203.89642 22.704612,204.77799 C 23.440802,205.38286 24.449142,205.98157 24.945382,206.10844 C 26.190492,206.4268 35.743562,204.81486 36.840842,204.10127 C 37.331922,203.78191 37.733702,203.25102 37.733702,202.92151 C 37.733702,201.92577 38.757382,201.84884 40.457222,202.71682 C 41.342712,203.16898 42.347772,203.53893 42.690702,203.53893 C 43.884082,203.53893 43.745772,204.69998 42.331572,206.55381 C 41.548792,207.57994 40.908332,208.68423 40.908332,209.00781 C 40.908332,209.46885 40.629312,209.53065 39.618642,209.29344 C 37.412922,208.77578 34.551412,209.08144 27.107172,210.62993 C 25.242222,211.01786 24.075352,211.88598 23.331842,213.43869 C 22.705022,214.74771 22.041552,214.81282 19.975642,213.76801 z M 212.57901,213.03403 C 211.99785,212.57646 211.14301,211.45936 210.67937,210.55157 C 209.93928,209.10251 209.84447,208.29502 209.90265,203.93613 C 209.98723,197.59914 209.75546,197.81497 216.09586,198.16857 C 218.70824,198.31426 221.10853,198.58071 221.42984,198.76069 C 221.87889,199.01223 222.04996,200.18975 222.16937,203.85117 C 222.34688,209.29393 222.1115,210.0499 219.50561,212.40634 C 218.06905,213.70538 217.65735,213.86596 215.76357,213.86596 C 214.20453,213.86596 213.35318,213.64356 212.57901,213.03403 z M 214.32229,209.32168 C 214.32229,209.22534 214.14372,209.03606 213.92546,208.90104 C 213.70721,208.76603 213.52864,208.84485 213.52864,209.07619 C 213.52864,209.30755 213.70721,209.49683 213.92546,209.49683 C 214.14372,209.49683 214.32229,209.41802 214.32229,209.32168 z M 213.45225,205.06886 C 213.37684,204.05068 213.07219,203.25941 212.6548,202.99764 C 211.7578,202.43507 211.29197,202.95438 211.96524,203.76637 C 212.42087,204.31588 212.39142,204.4705 211.76417,204.82184 C 211.06886,205.21132 211.08056,205.27297 211.98133,205.96615 C 213.36988,207.03471 213.58799,206.90166 213.45225,205.06886 z M 218.09216,205.91665 C 218.09216,205.06526 216.93911,205.18824 216.77187,206.05746 C 216.66974,206.58827 216.83135,206.75003 217.36168,206.64781 C 217.76344,206.57037 218.09216,206.24135 218.09216,205.91665 z M 218.88582,203.53893 C 218.75093,203.32047 218.11538,203.14173 217.4735,203.14173 C 216.83161,203.14173 216.30643,203.32047 216.30643,203.53893 C 216.30643,203.75738 216.94198,203.93613 217.71875,203.93613 C 218.55925,203.93613 219.03177,203.77531 218.88582,203.53893 z M 135.6659,212.39361 C 133.71982,210.35549 132.99084,208.09104 132.98121,204.05411 C 132.9717,200.0656 133.45425,198.4454 134.72705,198.1924 C 135.18071,198.10223 137.1106,197.93675 139.01569,197.82466 C 143.26596,197.57461 143.68686,197.85944 143.68686,200.98554 C 143.68686,202.60632 143.54369,203.14173 143.11029,203.14173 C 142.79317,203.14173 142.05785,203.35875 141.47623,203.62401 C 140.48587,204.07565 140.43194,204.23428 140.6267,206.12307 C 140.74108,207.23231 140.66396,208.44519 140.45532,208.81836 C 140.16944,209.32967 140.22749,209.49683 140.69093,209.49683 C 141.10385,209.49683 141.30589,209.12134 141.30589,208.35389 C 141.30589,207.05856 142.19146,206.11718 143.08657,206.46098 C 144.12539,206.85999 143.79878,209.13584 142.39371,211.28875 C 141.12588,213.23136 141.05769,213.27245 138.91288,213.38659 C 136.95885,213.49056 136.61207,213.38452 135.6659,212.39361 z M 138.47606,206.18344 C 138.99617,205.55616 138.67786,205.1277 137.69172,205.1277 C 136.87691,205.1277 136.3866,205.74311 136.74236,206.31929 C 137.08862,206.88006 137.95472,206.81219 138.47606,206.18344 z M 138.23047,203.34034 C 138.08288,202.74942 135.6459,202.85941 135.44386,203.4661 C 135.3155,203.85153 135.6721,203.95599 136.79969,203.8633 C 137.64118,203.79412 138.28503,203.55879 138.23047,203.34034 z M 220.67155,213.12021 C 220.67155,212.62479 221.69056,211.84076 221.97041,212.12087 C 222.35384,212.50466 221.8202,213.46877 221.22433,213.46877 C 220.9203,213.46877 220.67155,213.31192 220.67155,213.12021 z M 132.9725,212.47579 C 132.9725,212.1481 133.13197,211.87999 133.32687,211.87999 C 133.52177,211.87999 133.78403,212.1481 133.90966,212.47579 C 134.04879,212.8387 133.91028,213.07158 133.55529,213.07158 C 133.23475,213.07158 132.9725,212.80347 132.9725,212.47579 z M 145.76126,205.82279 C 145.86493,198.87489 145.90236,198.57401 146.66307,198.57401 C 147.09958,198.57401 147.66709,198.43736 147.92419,198.27034 C 148.20868,198.08554 148.46683,198.24102 148.58371,198.66754 C 148.91666,199.88259 148.737,212.27719 148.38644,212.27719 C 148.20248,212.27719 148.05197,210.96363 148.05197,209.35816 C 148.05197,205.03092 147.5904,200.35455 147.18786,200.60356 C 146.9938,200.72361 146.87306,201.38849 146.91956,202.08108 C 146.96606,202.77367 146.97201,205.52986 146.9328,208.20595 C 146.87328,212.26695 146.76157,213.07158 146.25729,213.07158 C 145.73437,213.07158 145.66765,212.09649 145.76126,205.82279 z M 205.40074,208.60315 C 205.25245,206.14551 205.19019,203.0623 205.26239,201.75156 C 205.38726,199.48463 205.44688,199.36227 206.48493,199.24272 C 207.08514,199.17359 207.59526,199.17359 207.61855,199.24272 C 207.64183,199.31184 207.73487,202.38281 207.82531,206.0671 C 207.96801,211.88064 207.91166,212.7358 207.39886,212.53884 C 207.07387,212.41401 206.70243,212.48282 206.57343,212.69173 C 205.94076,213.71635 205.6476,212.69422 205.40074,208.60315 z M 330.59298,209.52419 C 329.5895,208.94142 323.80901,208.19229 320.81321,208.25677 L 317.97792,208.3178 L 316.58065,206.3711 C 315.81214,205.30041 314.46512,203.84666 313.58725,203.14053 C 312.70938,202.43441 311.89864,201.61543 311.7856,201.32058 C 311.66853,201.01523 312.74201,199.57202 314.27975,197.96741 L 316.97944,195.15034 L 323.57675,195.64897 C 330.10161,196.14212 330.19806,196.13764 332.35797,195.24158 L 334.54188,194.33556 L 335.67809,195.14537 C 338.11045,196.87895 338.11857,197.09048 335.83059,199.11647 C 334.68729,200.12886 333.75541,201.26086 333.75974,201.63205 C 333.76407,202.00323 334.40116,202.7906 335.1755,203.38177 C 337.22856,204.94915 337.5567,205.75289 336.49419,206.61164 C 336.01741,206.99698 334.96402,207.89317 334.15333,208.60315 C 332.66681,209.90501 331.68574,210.1588 330.59298,209.52419 z M 332.29582,203.8983 C 332.98032,202.80904 332.27433,201.15439 330.87648,200.57175 C 329.86058,200.14831 322.59475,199.1698 320.46646,199.1698 C 319.62276,199.1698 315.11668,202.31821 315.11668,202.90771 C 315.11668,203.70176 316.22183,203.98643 320.64489,204.33173 C 326.93742,204.82296 331.82911,204.64098 332.29582,203.8983 z M 141.78929,204.27195 C 141.99526,203.65348 142.88305,203.54517 142.91416,204.13472 C 142.92569,204.35318 142.63727,204.59367 142.27322,204.66914 C 141.85944,204.75494 141.67803,204.60604 141.78929,204.27195 z M 204.89652,196.30916 C 204.56132,195.9049 204.53537,195.342 204.80661,194.35875 C 205.57443,191.57536 205.37186,191.63733 213.81993,191.60112 C 218.01787,191.58313 221.63397,191.68063 221.8557,191.8178 C 222.31838,192.10402 222.4103,195.85443 221.96124,196.12408 C 221.79755,196.22237 217.99703,196.43208 213.51566,196.59011 C 206.68096,196.83112 205.29176,196.78584 204.89652,196.30916 z M 133.83688,195.50697 C 133.21988,194.8894 133.23799,192.3475 133.86536,191.50985 C 134.28795,190.94562 135.2959,190.83742 140.67284,190.7791 C 146.43661,190.71659 147.03161,190.77543 147.52964,191.45716 C 148.26249,192.46031 149.04037,195.13534 148.69868,195.47734 C 148.18695,195.98955 134.34657,196.01713 133.83688,195.50697 z M 12.269882,192.30746 C 11.469232,191.60339 10.290962,190.58049 9.6515014,190.03435 C 8.6305914,189.16243 8.4537114,188.6835 8.2007114,186.10612 C 7.9790114,183.8476 8.0379114,183.04545 8.4561714,182.62679 C 8.9162414,182.1663 9.1139014,182.16624 9.7426214,182.62639 C 10.319622,183.04869 10.537512,183.8789 10.718542,186.34486 C 11.048592,190.84073 12.575312,192.34606 13.755472,189.33926 C 14.853232,186.54238 14.651742,186.64555 18.729382,186.7924 C 25.680832,187.04274 34.925202,185.54527 35.880542,184.01413 C 36.131762,183.61149 36.699332,183.28206 37.141802,183.28206 C 38.125512,183.28206 40.908332,185.11751 40.908332,185.76634 C 40.908332,186.02467 39.998562,187.15809 38.886612,188.28506 C 36.938772,190.25921 36.815922,190.31905 35.524952,189.92248 C 34.544232,189.62121 32.394652,189.68969 27.506482,190.17794 C 21.013912,190.82644 17.787672,191.6112 15.754682,193.03647 C 14.558992,193.87473 13.893902,193.7356 12.269882,192.30746 z M 315.21588,189.79503 C 314.2883,189.01659 313.52936,188.16081 313.52936,187.8933 C 313.52936,187.62578 314.34374,186.83235 315.33909,186.13013 C 317.01126,184.95038 317.2601,184.88656 318.61292,185.29046 C 319.49864,185.5549 322.5069,185.67604 326.22787,185.5971 C 331.90841,185.47659 332.47711,185.39637 333.66569,184.54782 C 334.40731,184.01836 335.16402,183.75522 335.45142,183.92685 C 336.64826,184.64158 338.91269,186.69385 338.91922,187.06978 C 338.92315,187.29615 337.89958,188.16118 336.64461,188.99208 C 334.51825,190.39991 334.24123,190.48009 332.57712,190.16927 C 331.59497,189.98583 328.46995,189.84011 325.63263,189.84543 C 321.51584,189.85317 320.21734,189.99357 319.20387,190.54052 C 317.46753,191.47762 317.15015,191.41829 315.21588,189.79503 z M 342.12208,186.5589 C 340.36378,184.98908 340.23398,183.9477 341.73708,183.4702 C 342.53188,183.21771 345.65157,185.46406 345.6653,186.29874 C 345.67238,186.7292 344.4211,188.04838 344.00572,188.04838 C 343.88729,188.04838 343.03965,187.37811 342.12208,186.5589 z M 182.22476,182.57287 C 181.64828,181.49472 180.96993,175.60447 181.37498,175.19405 C 182.05911,174.50085 182.45562,175.38291 182.99413,178.79591 C 183.29727,180.71715 183.55042,182.45291 183.5567,182.65317 C 183.57923,183.3724 182.62139,183.31467 182.22476,182.57287 z M 16.503392,181.59531 C 14.163042,179.89052 14.175212,179.34915 16.615232,176.62071 L 18.487542,174.52709 L 20.670092,175.36762 C 22.605682,176.11303 23.451092,176.18842 28.141322,176.03385 C 33.251472,175.86545 33.462972,175.82398 34.406512,174.80548 L 35.383022,173.75138 L 37.277742,174.71239 C 40.423182,176.30778 40.445652,176.49263 37.825012,179.21526 L 35.523432,181.6064 L 34.346812,180.96499 C 32.521262,179.96984 23.678482,179.79896 21.288212,180.71266 C 20.299672,181.09053 19.287892,181.6445 19.039822,181.94369 C 18.425142,182.68501 17.900402,182.61294 16.503392,181.59531 z M 316.10875,181.08995 C 313.27923,179.4399 313.26998,179.40612 315.12942,177.50975 L 316.79966,175.80633 L 322.80346,176.02202 C 329.45306,176.26091 332.9181,175.79128 334.2356,174.47255 L 335.02942,173.678 L 334.12674,172.71626 C 333.63026,172.1873 332.49881,171.55904 331.61241,171.32014 C 329.46403,170.74111 319.24229,171.05429 317.82899,171.74245 C 316.89517,172.19713 316.57356,172.14715 315.08034,171.31533 C 314.15024,170.79719 313.31795,170.15387 313.2308,169.88571 C 313.14366,169.61757 313.57697,168.92559 314.19372,168.348 C 316.43211,166.25172 316.58433,166.2124 320.87069,166.62338 C 325.44048,167.06154 330.28036,166.75127 331.93274,165.91426 C 332.56048,165.59627 333.4745,164.87018 333.96388,164.30071 C 334.80608,163.32069 334.9393,163.291 336.45464,163.74542 C 337.33517,164.00948 338.47309,164.5639 338.98335,164.97746 L 339.9111,165.72939 L 337.37084,168.06793 C 334.28343,170.91019 334.30315,171.58468 337.54275,173.948 C 338.75847,174.83489 339.67665,175.79998 339.62111,176.13257 C 339.56639,176.46025 338.49702,177.69057 337.24474,178.86661 L 334.96786,181.00487 L 333.07804,180.45539 C 331.87799,180.10647 329.20619,179.90591 325.75789,179.90591 C 320.37457,179.90591 320.31769,179.91537 319.18851,180.99819 C 317.86181,182.27042 318.11986,182.26273 316.10875,181.08995 z M 173.33492,181.04952 C 173.1794,180.89386 173.05215,179.57929 173.05215,178.12826 C 173.05215,175.24181 173.63908,173.97201 174.86411,174.20815 C 175.5509,174.34053 175.63154,174.71027 175.63154,177.72679 C 175.63154,181.03978 175.6143,181.0995 174.62462,181.21502 C 174.07081,181.27966 173.49044,181.2052 173.33492,181.04952 z M 169.66022,180.39705 C 169.54265,180.0904 169.49881,178.34957 169.56279,176.52853 C 169.68434,173.06869 170.06212,172.40214 171.23571,173.57681 C 171.76093,174.1025 171.86943,174.88115 171.7778,177.46718 C 171.67109,180.4791 171.60205,180.70899 170.76862,180.82745 C 170.26863,180.89851 169.77968,180.70865 169.66022,180.39705 z M 177.50696,180.03541 C 177.02559,179.5536 177.34406,174.96855 177.90852,174.25424 C 178.18765,173.90101 178.50695,173.88003 179.06384,174.17835 C 179.72625,174.53319 179.81716,174.9546 179.71663,177.20424 C 179.61622,179.45078 179.48124,179.86157 178.75555,180.129 C 178.2717,180.3073 177.73869,180.26734 177.50696,180.03541 z M 185.96035,180.12277 C 185.83167,179.91436 185.8399,179.29112 185.97865,178.73777 C 186.25213,177.64713 185.54164,171.57168 184.8956,169.47653 C 184.67615,168.76486 184.16551,168.00523 183.76083,167.78845 C 182.62379,167.17936 182.50253,167.30998 183.2066,168.38551 C 183.57228,168.94412 183.87935,170.28757 183.9102,171.46376 C 183.96258,173.46131 183.92239,173.54705 182.97286,173.46316 C 181.1917,173.30582 176.84126,172.6161 176.00064,172.3578 C 175.48397,172.19903 174.98751,172.33667 174.66236,172.72881 C 173.88464,173.66677 173.21353,173.49608 171.46598,171.91582 C 169.69612,170.31538 169.51115,169.38186 170.53718,167.22827 C 171.36111,165.49886 170.89392,164.78854 168.68704,164.41535 C 167.04612,164.13787 165.95901,163.28675 166.67767,162.84218 C 166.90324,162.70265 168.56371,162.78712 170.3676,163.02992 C 172.83291,163.36172 174.55752,163.90913 177.31234,165.23422 C 180.95348,166.98567 182.1792,167.33635 182.1792,166.62669 C 182.1792,165.90336 183.70436,165.7881 185.40969,166.38255 C 186.36111,166.7142 187.52547,166.98816 187.99715,166.99133 C 189.51076,167.00153 190.75913,168.99952 191.0237,171.83524 C 191.3683,175.52892 190.89912,177.0663 188.86555,178.9069 C 187.10974,180.4961 186.37956,180.80169 185.96035,180.12277 z M 165.18172,178.83881 C 164.85346,177.9253 164.96085,166.45608 165.30654,165.50764 C 165.55913,164.81464 167.1445,164.88814 168.22087,165.64274 C 169.01253,166.19775 169.0894,166.49038 168.85484,168.05598 C 168.70803,169.03588 168.47629,172.01362 168.33986,174.67317 L 168.0918,179.50872 L 166.80185,179.6332 C 165.7542,179.73429 165.44988,179.58509 165.18172,178.83881 z M 9.8494314,175.52246 C 8.2958414,174.4658 7.9684814,173.38451 8.9542614,172.56564 C 9.4329114,172.16802 9.8322514,172.31057 11.136812,173.34477 C 12.807272,174.669 13.051182,175.25856 12.257332,176.05313 C 11.617042,176.69402 11.550332,176.67931 9.8494314,175.52246 z M 38.031332,173.133 C 36.842002,172.47849 36.711232,172.15135 37.373822,171.48815 C 37.687632,171.17404 37.617932,170.76424 37.121782,170.00632 C 36.557332,169.14408 36.482542,168.44417 36.699172,166.05144 L 36.962372,163.14421 L 33.292592,162.90623 C 29.235212,162.64313 27.696312,163.0576 27.494392,164.46786 C 27.406902,165.0789 27.916972,165.72634 29.368992,166.8473 C 33.413642,169.9698 33.319242,169.87461 31.499472,168.99565 C 29.192322,167.88129 28.758252,167.96412 27.643642,169.73139 C 26.698112,171.23059 26.618872,171.26825 24.833972,171.06688 C 23.796842,170.94988 22.310302,171.0866 21.419222,171.38095 L 19.841172,171.90224 L 17.449042,169.54897 C 14.443292,166.59206 14.249682,166.23514 14.745762,164.56539 C 14.964992,163.8275 15.205632,162.15135 15.280532,160.84061 C 15.432942,158.17329 15.833442,157.98305 18.018252,159.54021 C 19.018152,160.25285 19.081852,160.41598 18.562992,160.93531 C 18.119702,161.37901 18.026902,162.12227 18.185042,163.96236 C 18.300322,165.3038 18.571342,166.62474 18.787302,166.89781 C 19.021152,167.19351 20.117612,167.39431 21.498372,167.39431 C 23.439472,167.39431 23.888602,167.26001 24.257992,166.56915 C 24.647692,165.84032 24.429282,165.48753 22.387022,163.54693 C 21.115332,162.33854 20.431992,161.47898 20.868502,161.6368 C 22.736522,162.31214 22.965132,162.2749 23.724872,161.1716 C 24.151082,160.55264 24.736892,159.45164 25.026652,158.72492 C 25.456932,157.64579 25.706022,157.4519 26.385632,157.66701 C 28.099372,158.20948 30.861592,158.60945 33.052502,158.63237 C 35.168642,158.6545 35.427162,158.76579 37.028832,160.34412 C 37.971022,161.27256 39.247472,162.44894 39.865392,162.95831 C 40.829412,163.75296 40.947932,164.06307 40.700322,165.14287 C 40.365842,166.6015 40.260682,171.10834 40.527322,172.55654 C 40.752942,173.78194 39.666492,174.03286 38.031332,173.133 z M 314.62226,162.3187 C 313.58643,161.72421 312.73821,161.05066 312.73732,160.82193 C 312.73643,160.59319 313.45764,159.70044 314.34001,158.83804 C 316.55218,156.67592 316.38357,155.73996 313.43016,153.78752 C 312.17519,152.9579 311.15214,152.06061 311.15673,151.79354 C 311.16131,151.52647 311.87993,150.19086 312.75366,148.8255 C 314.1054,146.71319 314.51448,146.34305 315.49724,146.34305 C 316.55471,146.34305 319.34961,145.94481 327.39953,144.64713 C 329.43166,144.31955 330.70645,143.87601 331.47411,143.22946 C 332.74082,142.16262 333.80379,142.2562 335.48886,143.58289 C 336.88455,144.68175 336.82612,145.11885 335.0573,146.81127 C 332.91913,148.85707 332.46258,148.99391 327.55019,149.06121 C 321.40202,149.14544 318.02229,149.90027 316.58519,151.51014 C 315.21628,153.04363 315.31987,153.81461 317.02907,154.81376 C 318.27872,155.54427 318.65092,155.55847 324.56751,155.10145 C 328.2038,154.82057 331.20385,154.39424 331.78346,154.07603 C 334.61267,152.52277 334.40274,152.55047 336.31688,153.47794 C 337.31559,153.96186 338.13272,154.57198 338.13272,154.83378 C 338.13272,155.09557 337.27836,156.15205 336.23415,157.1815 L 334.33559,159.05324 L 331.373,159.07556 C 329.74358,159.08784 326.55997,159.23643 324.2983,159.40575 L 320.18617,159.71362 L 318.41072,161.56799 C 317.43422,162.5879 316.60608,163.41724 316.57042,163.41099 C 316.53475,163.40472 315.65808,162.91319 314.62226,162.3187 z M 248.71408,160.77441 C 248.29267,160.35261 248.40808,157.46447 248.84635,157.46447 C 249.06461,157.46447 249.24318,158.26879 249.24318,159.25184 C 249.24318,161.07034 249.18294,161.2437 248.71408,160.77441 z M 149.74921,156.54318 C 149.93684,155.38585 149.85831,155.22807 149.10668,155.25229 C 148.46287,155.27305 148.28436,155.08278 148.3873,154.48552 C 148.58779,153.32224 149.17686,152.74199 151.47548,151.44354 C 152.60892,150.80327 153.63015,150.03459 153.74487,149.73537 C 153.85959,149.43614 153.16326,148.05893 152.19747,146.67489 C 151.23169,145.29087 150.43958,144.02965 150.43722,143.87219 C 150.43486,143.71474 149.86475,142.77908 149.1703,141.79295 C 147.90442,139.99538 147.8995,139.04942 149.16017,139.84536 C 149.53049,140.07916 151.25527,142.375 152.99301,144.9472 C 154.73075,147.51942 156.21399,149.43941 156.28911,149.21384 C 156.36423,148.98828 155.8809,147.91752 155.21504,146.83437 C 153.86794,144.64303 153.78174,144.34695 154.50043,144.37964 C 154.77325,144.39204 155.84469,145.44735 156.8814,146.72476 C 159.28403,149.68521 159.31315,150.61989 157.07981,153.09371 C 156.15223,154.12117 154.83793,155.61429 154.15915,156.41174 C 153.09578,157.66102 152.69047,157.86166 151.23022,157.86166 L 149.53544,157.86166 L 149.74921,156.54318 z M 155.98854,151.70516 C 156.6217,150.94154 155.97571,150.9335 154.9731,151.69253 C 154.32597,152.18244 154.30608,152.27771 154.84867,152.28832 C 155.20389,152.29526 155.71683,152.03284 155.98854,151.70516 z M 32.033212,153.4637 C 29.679412,151.6105 31.411872,148.34284 34.559082,148.69955 C 35.476582,148.80355 36.940052,150.64685 36.940052,151.69847 C 36.940052,152.81105 35.243082,154.28691 33.963842,154.28691 C 33.477062,154.28691 32.608282,153.91647 32.033212,153.4637 z M 17.991502,152.48591 C 17.326142,152.01852 17.098642,151.46527 17.098642,150.31461 C 17.098642,149.28127 17.393982,148.43206 17.991502,147.74734 C 18.789452,146.83295 19.027282,146.76598 20.228732,147.11737 C 23.032592,147.93742 23.828832,149.80935 22.158202,151.65344 C 20.991902,152.94084 19.160122,153.3068 17.991502,152.48591 z M 176.0945,150.84457 C 175.59141,150.34101 175.83303,149.91779 176.62361,149.91779 C 177.06453,149.91779 177.41726,150.18259 177.41726,150.51357 C 177.41726,151.11827 176.57781,151.32832 176.0945,150.84457 z M 317.18912,141.75279 C 315.45324,140.53582 316.33511,138.00197 318.49453,138.00197 C 320.23925,138.00197 321.2882,139.35941 320.71321,140.87315 C 320.12313,142.4266 318.66823,142.78976 317.18912,141.75279 z M 138.34923,141.47742 C 137.93464,140.14042 137.75773,136.84287 138.08957,136.63759 C 138.51976,136.37147 140.90906,139.11904 140.90906,139.87984 C 140.90906,140.48558 139.49,141.97392 138.91247,141.97392 C 138.68736,141.97392 138.4339,141.75049 138.34923,141.47742 z M 150.67243,139.23898 C 149.11038,137.51135 145.74856,137.35176 143.29007,138.88851 C 142.12092,139.61933 141.47079,138.98812 139.56962,135.27633 C 137.32605,130.89604 137.1625,129.74462 139.04302,131.56897 C 140.71642,133.19238 141.10821,133.18453 140.11106,131.54758 C 138.94724,129.63703 139.10224,129.01493 140.46622,130.1221 C 141.09569,130.63305 142.80121,131.76604 144.25627,132.63986 C 150.20464,136.21211 150.47604,136.41943 151.07152,137.84594 C 151.81828,139.63483 151.62869,140.29661 150.67243,139.23898 z M 326.77597,138.1843 C 326.24388,137.37149 326.20282,136.98277 326.56497,136.18718 C 327.1039,135.00329 327.87225,134.65295 329.19892,134.98624 C 330.3021,135.26337 330.82451,136.62736 330.43002,138.20058 C 330.06999,139.63637 327.71967,139.6259 326.77597,138.1843 z M 311.54522,137.80338 C 310.99958,137.49117 310.14576,137.2294 309.64783,137.22167 C 309.14991,137.21393 308.64037,136.94115 308.51552,136.6155 C 308.30899,136.0768 310.69645,131.97333 311.50876,131.47084 C 311.6964,131.35476 314.22265,130.5306 317.12265,129.63937 C 324.69616,127.31186 325.83104,126.63624 325.83104,124.45507 C 325.83104,123.56589 324.4197,122.90638 322.53137,122.91314 C 321.07316,122.91837 314.24923,124.90693 312.28212,125.89986 C 311.54944,126.2697 310.36799,127.12514 309.65668,127.80082 C 308.38353,129.01021 308.33408,129.02153 306.48205,128.52752 C 305.44732,128.2515 304.4464,127.87273 304.25778,127.68578 C 303.94049,127.37132 306.49971,122.73372 307.24493,122.27273 C 307.42424,122.16181 308.64658,121.89767 309.96124,121.68576 C 312.61618,121.2578 319.13203,119.17703 320.67227,118.2653 C 322.02944,117.46194 323.09782,115.94038 322.81773,115.2098 C 322.21464,113.63673 318.42304,113.49595 315.53196,114.93928 C 314.75792,115.32571 313.23414,115.86023 312.1458,116.12708 C 309.04913,116.88637 306.48472,118.13163 305.7703,119.22297 C 305.20049,120.09341 304.90979,120.19444 303.51418,120.00707 C 301.03012,119.67358 300.7376,119.14519 301.61316,116.57308 C 302.46058,114.08367 303.22711,113.37597 305.07605,113.37597 C 306.3345,113.37597 312.10023,111.31063 315.19517,109.75121 C 316.00224,109.34456 317.25132,108.27854 317.97091,107.3823 C 319.25053,105.78851 319.32077,105.75826 321.17108,106.00394 C 324.73304,106.47688 324.95872,106.93219 323.05324,109.80123 C 322.40034,110.78429 321.86539,111.79013 321.86445,112.03646 C 321.86171,112.76011 322.89695,113.4194 325.53634,114.37487 C 326.98046,114.89764 328.06663,115.53648 328.14076,115.90667 C 328.2107,116.25593 327.61238,117.60476 326.81115,118.90405 C 326.00992,120.20334 325.47987,121.46965 325.63326,121.71807 C 325.78665,121.96649 327.09927,122.74315 328.55019,123.44398 C 330.48367,124.3779 331.22214,124.95433 331.31523,125.60232 C 331.43629,126.44505 328.94436,131.11185 328.03783,131.74009 C 327.80625,131.90059 326.69458,132.03464 325.56746,132.03799 C 324.20093,132.04205 322.32376,132.50028 319.93331,133.41335 C 314.88679,135.34096 314.06905,135.82877 313.59303,137.19552 C 313.12107,138.55062 312.94336,138.60337 311.54522,137.80338 z M 187.73899,137.41124 C 186.98565,136.50269 187.50737,135.68546 188.69559,135.91281 C 189.53479,136.07338 189.71894,135.95733 189.71894,135.26793 C 189.71894,134.80554 189.47974,134.42724 189.1874,134.42724 C 188.89504,134.42724 188.45683,133.99003 188.21359,133.45568 C 187.85156,132.66038 187.90513,132.31874 188.50886,131.57246 C 189.22426,130.68818 189.27029,130.68243 190.04166,131.38114 C 192.13524,133.27756 191.99746,135.99581 189.7401,137.3305 C 188.36006,138.14646 188.34897,138.14691 187.73899,137.41124 z M 42.639322,126.11759 C 40.920532,125.06856 33.991292,122.88349 31.582872,122.63102 C 29.909642,122.45564 29.480272,122.55445 28.842772,123.26162 C 27.725032,124.50153 27.143512,124.29713 26.289222,122.36409 C 25.867232,121.40922 25.323152,120.50499 25.080172,120.35467 C 24.404342,119.93661 24.554502,118.94001 25.332822,118.67776 C 25.714772,118.54906 26.786202,118.09188 27.713792,117.66181 C 29.081302,117.02776 29.399812,116.67994 29.397702,115.823 C 29.396262,115.24174 29.040292,114.22994 28.606652,113.57456 C 27.499132,111.90073 27.616472,111.10107 29.102692,110.19406 C 31.075112,108.99036 32.115002,109.15585 32.793602,110.78145 C 33.612932,112.74419 33.520602,113.24119 32.190552,114.02759 C 29.132602,115.83562 30.669382,117.15497 39.280392,120.1143 C 43.339822,121.5094 44.993042,121.31803 46.596422,119.26739 L 47.558712,118.03669 L 49.109242,120.37336 C 49.962032,121.65852 50.797112,122.93251 50.964962,123.20444 C 51.176272,123.54679 50.466612,124.08305 48.657902,124.94783 C 47.221162,125.63475 45.950652,126.35063 45.834542,126.53866 C 45.477152,127.11746 43.947232,126.91585 42.639322,126.11759 z M 139.47711,124.32974 C 139.00756,123.10499 139.7608,122.90862 144.92836,122.90862 C 150.05555,122.90862 150.09043,122.91481 149.9645,123.8023 C 149.84153,124.66899 149.68459,124.69935 144.77026,124.80722 C 140.58743,124.89902 139.66341,124.81566 139.47711,124.32974 z M 249.81705,123.6684 C 249.67041,123.4309 249.72122,123.06565 249.92996,122.85672 C 250.42096,122.36526 283.0065,122.38549 283.49811,122.87756 C 284.601,123.98147 282.97003,124.1002 266.70363,124.1002 C 255.16367,124.1002 250.00218,123.96821 249.81705,123.6684 z M 75.145332,123.08616 C 74.569202,122.66019 74.533832,122.47006 74.951812,122.04607 C 75.353882,121.63823 78.536122,121.52629 89.826092,121.52284 C 102.82236,121.51886 104.20093,121.5804 104.31553,122.16965 C 104.42787,122.74732 103.62196,122.84733 97.179402,123.05525 C 79.716822,123.61884 75.873062,123.62424 75.145332,123.08616 z M 216.74464,121.77787 C 216.43149,121.56423 216.30079,121.11308 216.44391,120.73979 C 216.66154,120.17211 217.10084,120.11743 219.57715,120.34977 C 222.51383,120.6253 223.49428,120.99968 222.64884,121.52268 C 221.88653,121.99424 217.34926,122.19036 216.74464,121.77787 z M 256.82688,120.81421 C 256.64743,120.32772 256.47575,118.67851 256.44539,117.14931 C 256.41503,115.62012 256.27746,111.85231 256.13969,108.77641 C 255.80078,101.21 255.67643,101.40065 260.85619,101.5458 L 264.88693,101.65876 L 265.17896,103.04893 C 265.33958,103.81353 265.49471,107.60996 265.5237,111.48543 C 265.55543,115.72635 265.73544,118.63012 265.97585,118.77884 C 266.20736,118.92205 266.34242,118.63147 266.29711,118.08763 C 266.25412,117.57155 266.23871,113.79799 266.26287,109.70193 C 266.30024,103.36637 266.39566,102.25455 266.90204,102.25455 C 267.41461,102.25455 267.49728,103.57853 267.49728,111.7872 C 267.49728,120.49264 267.31235,122.22984 266.52191,120.9497 C 266.38718,120.7315 265.89521,120.7863 265.32345,121.08321 C 264.77913,121.36586 262.77376,121.61142 260.75335,121.64282 C 257.36822,121.69542 257.13367,121.64593 256.82688,120.81421 z M 263.44963,119.65163 C 263.7861,119.31485 263.92583,116.99233 263.92583,111.73613 C 263.92583,102.85955 263.90576,102.81143 260.38774,103.25032 C 259.16898,103.40237 258.03958,103.73204 257.87796,103.98294 C 257.41473,104.70206 257.91239,118.9803 258.42211,119.59504 C 258.97848,120.26604 262.79289,120.30898 263.44963,119.65163 z M 269.23304,121.42269 C 268.60925,121.00184 268.1092,103.33662 268.69031,102.2498 C 269.06777,101.54386 269.52649,101.46016 273.01825,101.46016 C 275.66958,101.46016 277.04966,101.61962 277.31529,101.95666 C 277.94113,102.75072 278.31688,120.91531 277.71138,121.1045 C 276.62931,121.44261 269.65075,121.70451 269.23304,121.42269 z M 276.59216,119.57127 C 276.91396,119.18317 276.97546,117.88855 276.79499,115.30144 C 276.65254,113.25938 276.53575,109.83855 276.53547,107.6996 C 276.5349,103.465 276.0807,102.38446 274.48183,102.81408 C 274.02329,102.93728 273.15705,103.04053 272.55684,103.04352 C 271.95664,103.0465 271.10842,103.40641 270.67191,103.84332 C 269.77753,104.73853 269.6768,106.83481 270.14082,114.89546 C 270.36413,118.77478 270.48838,119.3707 271.04359,119.22537 C 271.3977,119.13269 271.9124,119.29792 272.18738,119.59256 C 272.84977,120.3023 275.99863,120.28709 276.59216,119.57127 z M 271.36636,115.62735 C 270.89446,114.47374 270.9878,112.73889 271.49447,113.24602 C 271.72863,113.4804 271.86256,114.27578 271.79209,115.01354 C 271.69285,116.05264 271.59691,116.19096 271.36636,115.62735 z M 82.376892,120.62714 C 81.067362,120.54723 79.861202,120.34787 79.696552,120.18413 C 79.531892,120.0204 79.286962,116.18719 79.152252,111.66588 C 78.965412,105.3944 79.024392,103.30416 79.401012,102.84994 C 79.775052,102.39883 80.790782,102.25455 83.592552,102.25455 C 85.626372,102.25455 87.368082,102.3886 87.463012,102.55244 C 87.557952,102.71629 87.760042,106.72463 87.912122,111.45987 C 88.180552,119.81847 88.165402,120.08184 87.392182,120.49602 C 86.954152,120.73067 86.182242,120.88885 85.676812,120.84755 C 85.171392,120.80624 83.686422,120.70705 82.376892,120.62714 z M 86.668622,118.38046 C 87.217542,117.6392 86.710362,104.72164 86.103592,103.98986 C 85.693812,103.49565 85.108512,103.40126 83.490382,103.56841 C 82.343542,103.68689 81.200242,103.91062 80.949702,104.06561 C 80.266432,104.48829 80.682562,118.50226 81.391412,118.94076 C 82.090542,119.37324 86.261352,118.93042 86.668622,118.38046 z M 254.6665,120.65785 C 254.521,120.51222 254.41327,116.44595 254.4271,111.6217 C 254.45818,100.78269 255.01774,101.40563 255.41587,112.72248 C 255.6868,120.42327 255.57845,121.57064 254.6665,120.65785 z M 89.420592,120.24807 C 88.761232,120.00082 88.698972,102.83818 89.355962,102.43175 C 90.317642,101.83686 90.554682,103.27859 90.769502,111.02916 C 90.949622,117.52773 90.887332,119.26407 90.455402,119.78468 C 90.159082,120.14184 89.693412,120.35038 89.420592,120.24807 z M 92.285912,120.10935 C 92.144602,119.88047 91.928422,115.86368 91.805532,111.18312 C 91.592752,103.0796 91.618122,102.65827 92.336662,102.36448 C 93.379012,101.9383 99.188842,102.04238 99.641382,102.49533 C 99.844182,102.69832 100.13292,106.56292 100.28302,111.08336 C 100.49591,117.49485 100.44441,119.43681 100.04883,119.91389 C 99.662422,120.37991 98.708942,120.52546 96.042302,120.52546 C 94.031302,120.52546 92.433572,120.34847 92.285912,120.10935 z M 98.950672,118.38645 C 99.250362,117.94973 98.970222,106.46655 98.617832,104.74306 C 98.389692,103.6272 97.081432,103.27674 94.821602,103.72611 L 93.091252,104.0702 L 93.153482,107.03501 C 93.187712,108.66566 93.232862,111.75521 93.253822,113.90068 C 93.304832,119.12214 93.509472,119.46157 96.392502,119.10669 C 97.632392,118.95408 98.783572,118.62997 98.950672,118.38645 z M 77.260582,119.49998 C 76.926842,118.62948 77.033472,105.46093 77.384142,104.24052 C 77.655392,103.2965 77.681812,103.31608 77.920052,104.63771 C 78.126512,105.78307 78.395492,117.93055 78.252052,119.63178 C 78.192832,120.33424 77.547532,120.24847 77.260582,119.49998 z M 101.51402,119.05785 C 101.16455,117.63737 101.2243,103.44613 101.57975,103.44613 C 101.77787,103.44613 102.05492,105.72503 102.19542,108.51035 C 102.65231,117.5685 102.64512,119.44044 102.15277,119.61287 C 101.89847,119.70193 101.61103,119.45217 101.51402,119.05785 z M 47.687712,114.39093 C 46.723872,113.66767 44.100032,112.12841 41.856952,110.97038 C 37.821032,108.88674 37.761762,108.87042 36.156942,109.40055 C 34.288112,110.01789 34.319782,110.04042 32.571472,106.84971 C 31.706342,105.27081 31.395942,104.3119 31.630192,103.94184 C 31.822422,103.63818 32.961842,103.05547 34.162252,102.64694 L 36.344812,101.90415 L 37.733702,103.19518 C 40.036982,105.33615 48.878632,110.19842 50.468532,110.19842 C 50.817412,110.19842 51.426072,109.84095 51.821112,109.40404 C 52.216152,108.96713 52.752852,108.60965 53.013782,108.60965 C 53.482492,108.60965 55.987812,112.30066 55.987812,112.9912 C 55.987812,113.4676 54.634352,114.17036 53.716832,114.17036 C 53.312122,114.17036 52.280472,114.52783 51.424282,114.96474 C 50.568092,115.40165 49.771402,115.74717 49.653852,115.73255 C 49.536312,115.71793 48.651552,115.1142 47.687712,114.39093 z M 214.90931,112.84297 C 212.5938,108.88103 209.56239,107.02088 205.42126,107.02088 C 203.51817,107.02088 203.05658,107.19951 201.23429,108.64128 C 198.64706,110.68825 197.86809,110.52078 198.1543,107.97913 C 198.38369,105.94219 197.8363,103.73302 196.88977,102.87563 C 196.54127,102.55995 193.93704,101.10174 191.1026,99.635157 C 188.26816,98.168577 184.75902,96.185817 183.30452,95.229017 C 180.71953,93.528567 177.81409,90.729927 177.81409,89.940397 C 177.81409,89.253327 178.85128,89.510377 179.63752,90.392307 C 181.59888,92.592357 186.08126,95.662397 190.75385,98.005977 C 196.50528,100.89069 198.92233,103.00183 199.40168,105.55934 C 199.7153,107.23263 199.68984,107.22069 201.23671,106.42003 C 202.84398,105.58812 206.6585,105.25638 208.59283,105.78029 C 211.18928,106.48353 214.37512,108.95489 215.58159,111.2017 C 217.90868,115.53542 217.32116,116.96976 214.90931,112.84297 z M 297.75544,111.93062 C 297.10534,111.65589 297.1369,110.78229 297.8734,108.66556 C 298.20475,107.71325 298.37263,106.60857 298.24647,106.2107 C 298.02471,105.51135 297.61625,105.36341 294.35072,104.79974 C 293.51483,104.65545 292.74841,104.32216 292.64755,104.05909 C 292.54669,103.79602 292.69883,102.17264 292.98565,100.45156 L 293.50712,97.322347 L 296.07771,95.795007 C 297.49154,94.954977 299.36259,93.944167 300.23562,93.548767 C 301.10864,93.153387 302.74873,92.095747 303.88026,91.198457 C 305.65285,89.792847 305.97434,89.321777 306.20308,87.795057 C 306.34909,86.820447 306.69211,85.937197 306.96535,85.832247 C 307.74479,85.532877 311.62592,85.891507 312.03471,86.300677 C 312.26068,86.526847 312.16069,87.382117 311.7755,88.517697 C 311.43059,89.534537 311.14839,90.887867 311.14839,91.525117 C 311.14839,92.448607 310.79162,92.929417 309.39037,93.894397 C 308.42346,94.560257 307.5208,95.105057 307.38446,95.105057 C 306.76451,95.105057 303.33916,96.884357 300.82412,98.512827 C 297.28706,100.80305 296.69153,102.53489 298.93506,104.00625 C 300.15719,104.80777 302.60737,104.17774 306.9817,101.9372 C 311.18707,99.783197 312.26064,99.018747 313.16065,97.537427 C 313.84585,96.409667 314.09819,96.296637 315.93059,96.296637 C 317.03942,96.296637 318.28786,96.479417 318.70489,96.702807 C 319.44882,97.101317 319.44785,97.148187 318.65365,99.185277 C 317.63815,101.78999 317.08065,102.31437 314.1246,103.44526 C 312.81507,103.94624 309.84797,105.32792 307.53104,106.51567 C 303.74033,108.45895 303.24355,108.841 302.57068,110.33051 C 301.86502,111.89262 301.7224,111.99015 300.0372,112.06302 C 299.05505,112.10549 298.02826,112.04591 297.75544,111.93062 z M 52.813182,105.05774 C 51.521792,103.48902 38.952422,97.091027 37.161932,97.091027 C 35.530062,97.091027 34.982552,96.615337 33.177732,93.629457 L 31.685592,91.160877 L 33.625482,88.099477 C 35.701772,84.822837 36.334882,84.289677 36.717342,85.495777 C 36.870422,85.978537 36.446972,87.163627 35.560532,88.733357 C 34.169592,91.196437 33.943392,92.086057 34.403122,93.285207 C 34.746252,94.180207 35.605082,94.064217 37.103192,92.920487 C 37.818562,92.374347 38.689362,91.927507 39.038302,91.927507 C 39.387242,91.927507 41.334682,93.005197 43.365952,94.322367 C 45.397222,95.639537 48.519552,97.467417 50.304462,98.384327 C 53.454182,100.00233 53.602512,100.03731 55.340902,99.571917 C 56.326032,99.308197 57.337442,99.044277 57.588482,98.985407 C 58.110432,98.863037 61.291682,103.82941 60.927092,104.19747 C 60.726612,104.39986 58.110922,105.17033 54.598912,106.06147 C 54.047542,106.20138 53.502392,105.89496 52.813182,105.05774 z M 76.000222,100.62137 C 75.447862,99.726807 76.969152,99.485597 83.368962,99.453067 C 86.970182,99.434767 92.713672,99.387337 96.132272,99.347687 C 99.550872,99.308037 102.47474,99.401937 102.62975,99.556357 C 102.78476,99.710777 102.80585,100.11294 102.67661,100.45005 C 102.47139,100.98533 100.78427,101.06296 89.357262,101.06296 C 80.185222,101.06296 76.191362,100.93092 76.000222,100.62137 z M 253.60829,99.916257 C 253.60829,99.172657 279.70781,98.930927 279.8964,99.672787 C 279.96181,99.930097 275.35049,100.10684 266.80283,100.17464 C 259.02261,100.23634 253.60829,100.13032 253.60829,99.916257 z M 75.826942,97.951617 C 75.002812,97.675067 75.558902,97.025987 79.896712,93.201297 C 82.352092,91.036367 84.960462,88.702157 85.693092,88.014157 C 87.911032,85.931337 89.361702,84.778017 89.763632,84.778017 C 89.973372,84.778017 92.596672,87.056927 95.593172,89.842237 C 98.589682,92.627567 101.75261,95.471947 102.62191,96.163087 C 103.4912,96.854227 104.10508,97.517687 103.98607,97.637437 C 103.7548,97.870167 76.490672,98.174347 75.826942,97.951617 z M 89.758212,89.122617 C 89.450762,88.352287 89.366552,88.733107 89.346542,90.984177 C 89.332702,92.540687 89.455312,94.417417 89.619012,95.154707 C 89.853962,96.212977 89.940642,95.821007 90.030682,93.293157 C 90.093402,91.531997 89.970792,89.655257 89.758212,89.122617 z M 253.47602,97.620617 C 253.33051,97.474977 253.21146,97.228837 253.21146,97.073627 C 253.21146,96.583427 265.14415,85.771007 265.68513,85.771007 C 266.27702,85.771007 277.41799,96.429917 277.41799,96.996187 C 277.41799,97.201387 275.7834,97.485397 273.78557,97.627337 C 269.02373,97.965657 253.81571,97.960627 253.47602,97.620617 z M 266.71999,88.607467 C 266.43362,88.320827 266.3068,89.295127 266.3068,91.781877 C 266.3068,96.444787 266.86751,97.007497 267.01762,92.495237 C 267.08544,90.456527 266.96246,88.850157 266.71999,88.607467 z M 288.53697,94.806107 C 287.5591,94.722037 286.52646,94.460057 286.24222,94.223937 C 285.54277,93.642917 286.02032,89.216547 286.89291,88.192667 C 287.24722,87.776917 289.03513,86.436397 290.86605,85.213717 C 292.69697,83.991027 294.8609,82.543807 295.67478,81.997677 C 297.56692,80.727997 300.07494,78.769357 303.16114,76.151197 C 305.32445,74.315957 305.72099,74.122237 306.61674,74.463127 C 307.17326,74.674907 308.22738,74.848187 308.95921,74.848187 C 309.69105,74.848187 310.57229,74.956677 310.91752,75.089277 C 312.47334,75.686847 311.39461,76.790747 305.30406,80.833697 C 298.34167,85.455387 293.45864,89.006647 292.37073,90.239677 C 291.97365,90.689737 291.52713,91.909007 291.37848,92.949177 C 291.08149,95.027317 291.08481,95.025157 288.53697,94.806107 z M 257.12089,86.457737 C 256.10636,85.643117 254.14206,84.123707 252.75577,83.081267 C 251.36949,82.038827 249.15059,80.251457 247.8249,79.109337 C 246.49921,77.967207 241.54369,73.753917 236.81265,69.746477 C 232.0816,65.739017 228.31069,62.298337 228.43285,62.100497 C 228.555,61.902657 229.13549,61.746097 229.72281,61.752567 C 230.50766,61.761217 232.26302,63.035707 236.34626,66.561567 C 240.70498,70.325287 255.54853,82.821747 259.68666,86.211307 C 260.48327,86.863817 260.40148,87.706647 259.52783,87.847917 C 259.21854,87.897917 258.13541,87.272347 257.12089,86.457737 z M 279.63543,85.572417 C 279.50711,84.698587 279.30126,83.293047 279.17797,82.448997 C 278.95424,80.917277 279.64215,79.614507 280.67468,79.614507 C 281.11877,79.614507 284.85002,76.337257 292.57065,69.165987 L 297.20735,64.859207 L 300.40801,65.138657 C 302.16836,65.292357 303.60866,65.542307 303.60866,65.694097 C 303.60866,65.845887 301.06399,68.093037 297.95385,70.687747 C 290.86277,76.603677 286.97049,80.195017 285.9498,81.763687 C 285.49163,82.467837 285.15614,83.654817 285.15614,84.571707 C 285.15614,86.151197 285.14514,86.162557 283.172,86.622457 C 279.98073,87.366297 279.8951,87.340867 279.63543,85.572417 z M 94.083322,84.189657 C 94.083322,83.663007 97.383762,80.809987 103.9405,75.668757 C 105.17585,74.700097 109.19197,71.482827 112.86522,68.519267 C 116.53846,65.555697 120.10487,62.728807 120.79058,62.237287 C 122.17858,61.242337 123.84545,61.050557 123.84545,61.885807 C 123.84545,62.409497 109.71559,73.831097 102.2809,79.317097 C 100.28218,80.791947 97.902242,82.623997 96.992162,83.388337 C 95.248632,84.852627 94.083322,85.173647 94.083322,84.189657 z M 70.075212,79.904737 C 67.538222,77.292177 66.900592,76.396217 66.900592,75.443977 C 66.900592,74.261897 66.884752,74.253407 64.915922,74.379417 C 62.333362,74.544697 60.934712,73.979447 59.957752,72.375627 C 58.929872,70.688177 58.950132,68.655917 60.014452,66.690407 C 60.483062,65.824997 61.509862,63.865787 62.296222,62.336587 C 63.161212,60.654467 63.961082,59.576307 64.321202,59.607057 C 64.648592,59.635017 65.987882,59.857467 67.297422,60.101397 C 68.606952,60.345327 70.347682,60.643267 71.165712,60.763497 C 72.450312,60.952317 72.850222,61.290957 74.099832,63.248117 C 74.895582,64.494427 76.804242,66.813197 78.341312,68.400937 C 80.581392,70.714877 81.437342,71.335977 82.654682,71.530817 C 84.332022,71.799287 84.717322,72.505227 84.489482,74.892517 C 84.364562,76.201437 84.304542,76.244047 82.302032,76.445687 C 81.169582,76.559707 80.098142,76.797827 79.921062,76.974847 C 79.743982,77.151847 79.509812,78.396767 79.400682,79.741357 L 79.202262,82.186047 L 77.614952,82.491617 C 73.153462,83.350497 73.555132,83.488307 70.075212,79.904737 z M 77.714162,77.921987 C 79.108302,76.823857 77.412652,73.628107 72.711232,68.493077 C 71.133272,66.769607 71.053362,66.733277 70.475792,67.476717 C 70.146352,67.900767 69.876802,68.654337 69.876802,69.151317 C 69.876802,69.648297 69.577832,70.682437 69.212422,71.449397 L 68.548052,72.843897 L 70.870522,75.335517 C 72.147882,76.705907 73.444372,78.036817 73.751602,78.293117 C 74.362582,78.802777 76.897342,78.565367 77.714162,77.921987 z M 67.797052,70.776957 C 69.488912,68.969197 69.742022,66.400907 68.346972,65.196947 C 67.596122,64.548957 65.327482,63.726767 64.290332,63.726767 C 62.605552,63.726767 61.172012,67.066437 61.962972,69.148737 C 62.686172,71.052667 63.505262,71.670637 65.305602,71.670637 C 66.509582,71.670637 67.188612,71.427067 67.797052,70.776957 z M 272.55684,78.788297 C 272.00987,78.469427 271.86239,77.843317 271.86239,75.840067 C 271.86239,73.322967 271.87677,73.289857 273.25366,72.635877 C 274.78636,71.907897 279.89531,66.667627 281.8887,63.778887 C 282.86595,62.362707 283.14413,61.559467 283.09756,60.288447 L 283.03706,58.637487 L 285.80663,58.359097 C 287.32988,58.205977 288.62851,58.144597 288.69246,58.222677 C 288.7564,58.300757 288.72362,60.025677 288.61959,62.055817 L 288.43047,65.746997 L 286.99172,66.484207 C 284.81229,67.600937 276.62433,76.158637 276.62433,77.319737 C 276.62433,77.839107 276.41005,78.478537 276.14814,78.740677 C 275.57115,79.318207 273.51262,79.345507 272.55684,78.788297 z M 87.432782,69.393657 C 85.948522,69.259987 85.650552,69.062777 84.987112,67.774977 C 83.733072,65.340787 76.604492,57.007937 75.714022,56.935327 C 75.450002,56.913797 74.787552,56.869117 74.241912,56.836027 C 73.298772,56.778837 73.244012,56.641877 73.131692,54.059067 C 72.956372,50.027737 73.287172,49.830637 77.835082,51.256567 C 79.278842,51.709247 79.739222,52.081767 80.123112,53.107987 C 80.387432,53.814587 82.208032,56.445407 84.168882,58.954267 C 86.129742,61.463117 87.734072,63.630957 87.734072,63.771697 C 87.734072,64.227057 90.012412,64.987347 90.970232,64.851607 C 91.757252,64.740087 91.919682,64.457477 92.023402,63.019277 C 92.175542,60.909617 90.974922,58.178557 88.318342,54.591307 C 87.266762,53.171337 85.999372,51.451807 85.501922,50.770117 C 84.779672,49.780367 84.386262,49.571087 83.549082,49.731277 L 82.500702,49.931867 L 82.784612,47.197377 C 83.101582,44.144497 83.456782,43.469887 84.747232,43.469887 C 87.147482,43.469887 87.853952,44.154267 90.511872,49.054197 C 91.930532,51.669547 93.938562,54.968357 94.974162,56.384907 C 96.748362,58.811747 96.948832,58.960447 98.446412,58.960447 L 100.03575,58.960447 L 100.10189,60.946407 C 100.13826,62.038697 100.1829,63.245167 100.2011,63.627467 C 100.246,64.571347 99.002052,64.690627 96.348062,63.996927 C 95.150152,63.683817 93.954192,63.561167 93.690382,63.724357 C 93.385842,63.912747 93.242432,64.873657 93.297582,66.356377 C 93.345352,67.640797 93.363112,68.915097 93.337052,69.188167 C 93.289872,69.682597 91.379292,69.749087 87.432782,69.393657 z M 248.31725,60.681607 C 248.17175,60.535967 248.03911,59.955077 248.02251,59.390727 C 248.0059,58.826387 247.76941,57.746977 247.49698,56.992037 L 247.00164,55.619437 L 249.84974,52.805487 C 251.48654,51.188317 253.49473,48.646917 254.57153,46.830007 C 256.3869,43.766867 256.43862,43.591677 256.23349,41.200197 L 256.02177,38.731917 L 257.49362,38.322757 C 258.30314,38.097717 259.1978,37.912607 259.48176,37.911387 C 260.16809,37.908447 260.98321,39.997057 261.3123,42.601847 C 261.57716,44.698307 261.56569,44.728227 259.63686,46.970977 C 257.08525,49.937867 253.63594,54.819327 253.00852,56.351387 C 252.73398,57.021757 252.59786,58.148047 252.70602,58.854217 C 252.87614,59.964907 252.75938,60.192707 251.84076,60.542287 C 250.63486,61.001187 248.71248,61.077197 248.31725,60.681607 z M 188.3536,60.237107 C 183.87603,60.120047 182.97286,59.823987 182.97286,58.473297 C 182.97286,57.693927 183.22263,57.688957 208.46908,57.965207 C 235.19901,58.257697 235.4565,58.277187 234.81157,59.959397 C 234.57752,60.569897 232.88897,60.611917 213.6262,60.486687 C 202.11412,60.411847 190.74146,60.299547 188.3536,60.237107 z M 119.95899,59.677857 C 119.25784,58.976057 119.37501,57.853237 120.19524,57.413847 C 120.63044,57.180727 130.88022,57.014557 146.39316,56.989127 C 169.85507,56.950687 171.89636,56.999977 172.13049,57.610697 C 172.27036,57.975527 172.20303,58.562527 171.98086,58.915127 C 171.6176,59.491647 169.30295,59.562577 149.00087,59.619287 C 136.58405,59.653967 125.07771,59.789137 123.43124,59.919647 C 121.34178,60.085277 120.29308,60.012247 119.95899,59.677857 z M 106.58342,57.763907 C 105.27388,57.592507 104.06692,57.535027 103.90127,57.636197 C 103.03477,58.165397 101.78248,56.862937 98.614982,52.138127 C 96.694932,49.274087 94.722202,46.528617 94.231132,46.037097 C 93.443002,45.248247 93.365032,44.870547 93.566432,42.817187 C 93.691912,41.537747 93.948842,40.189897 94.137372,39.821957 C 94.625122,38.870067 94.561732,36.814937 94.034572,36.488827 C 93.789492,36.337237 92.762702,36.003247 91.752802,35.746647 C 90.243222,35.363087 89.895602,35.103547 89.798382,34.287447 C 89.733352,33.741487 89.870542,32.793547 90.103252,32.180917 C 90.436692,31.303087 90.714032,31.111277 91.411982,31.275737 C 95.497842,32.238517 103.39127,34.403387 103.99494,34.726747 C 104.40763,34.947827 105.89598,37.407627 107.30238,40.192977 C 108.70878,42.978327 110.50629,46.236237 111.29686,47.432767 C 112.933,49.909077 113.05782,51.072577 111.97174,53.723287 C 111.55235,54.746837 111.04729,56.120497 110.84937,56.775877 C 110.4406,58.129497 110.05632,58.218497 106.58342,57.763907 z M 107.41794,53.179567 C 107.88355,51.322727 107.23789,49.384347 104.73237,45.116957 C 101.52258,39.650087 100.51975,38.398117 98.929112,37.871937 C 97.603622,37.433457 96.464292,37.862587 96.464292,38.800307 C 96.464292,39.369657 100.21573,45.927207 102.54406,49.427797 C 105.8384,54.380737 106.90991,55.205567 107.41794,53.179567 z M 206.98097,56.571087 C 204.49244,56.428397 203.71033,56.274537 204.40159,56.063707 C 205.88372,55.611647 221.86407,55.899947 221.86011,56.378677 C 221.85655,56.808957 213.10336,56.922147 206.98097,56.571087 z M 224.44803,56.583047 C 223.81062,56.356457 223.9238,56.265627 225.04327,56.105277 C 227.10999,55.809257 229.77911,55.934047 229.89496,56.332127 C 230.02038,56.763067 225.53561,56.969667 224.44803,56.583047 z M 195.67136,56.180087 C 195.67136,55.961627 195.8394,55.782887 196.04477,55.782887 C 196.25015,55.782887 196.52854,55.961627 196.66343,56.180087 C 196.79832,56.398537 196.63029,56.577277 196.29003,56.577277 C 195.94976,56.577277 195.67136,56.398537 195.67136,56.180087 z M 200.4333,56.180087 C 200.4333,55.961627 200.70116,55.782887 201.02855,55.782887 C 201.35593,55.782887 201.62379,55.961627 201.62379,56.180087 C 201.62379,56.398537 201.35593,56.577277 201.02855,56.577277 C 200.70116,56.577277 200.4333,56.398537 200.4333,56.180087 z M 124.82402,55.363837 C 124.6786,55.128327 124.65301,54.842187 124.76714,54.727947 C 125.01414,54.480717 171.91996,54.517257 172.16734,54.764877 C 173.0361,55.634437 170.18282,55.755797 148.46039,55.773237 C 132.16062,55.786337 125.0084,55.662447 124.82402,55.363837 z M 182.7324,54.029067 C 182.61384,53.719837 182.5748,52.960207 182.64565,52.340997 L 182.77444,51.215157 L 195.86978,51.196827 C 203.07221,51.186737 212.89371,51.276117 217.69533,51.395427 L 226.42556,51.612357 L 226.56245,52.583087 C 226.84624,54.595457 226.89263,54.591307 204.11487,54.591307 C 186.2273,54.591307 182.91456,54.504207 182.7324,54.029067 z M 235.39229,52.283677 C 234.75219,51.014487 233.92559,49.724447 233.55539,49.416937 C 232.96148,48.923567 232.77322,48.984757 231.95473,49.937197 C 230.64982,51.455637 229.65971,51.289897 227.40063,49.174837 C 225.52556,47.419317 225.43348,47.235477 225.43348,45.246907 C 225.43348,42.353847 226.33776,41.272537 228.71572,41.322077 C 229.68628,41.342307 231.27622,41.744467 232.24892,42.215767 C 234.36416,43.240687 234.79539,43.273697 235.11683,42.435247 C 235.28704,41.991307 234.42304,40.871307 232.27053,38.745567 C 229.60025,36.108507 229.11565,35.415007 228.70798,33.647287 C 228.19208,31.410207 228.64163,29.170907 229.60664,29.170907 C 229.89487,29.170907 230.51532,29.793837 230.98543,30.555177 C 232.08789,32.340637 237.73513,37.508837 238.58557,37.510617 C 238.94417,37.511377 239.35508,37.205457 239.49871,36.830827 C 239.6905,36.330557 239.0213,35.444767 236.97886,33.495427 C 233.25998,29.946057 231.78274,27.580517 231.78274,25.174787 C 231.78274,22.620977 232.74587,21.507017 235.66202,20.688037 C 238.92348,19.772077 240.75503,19.879507 243.31024,21.136637 C 246.10971,22.513957 252.77624,27.233317 252.79808,27.853267 C 252.80719,28.111617 252.41285,28.446847 251.92177,28.598207 C 250.88728,28.917067 246.88713,32.218497 246.58712,33.001047 C 246.47547,33.292267 247.01561,34.410347 247.78744,35.485667 C 250.22701,38.884497 250.83049,40.416477 250.83049,43.210577 C 250.83049,45.429527 250.66188,46.015807 249.5408,47.694827 C 248.68759,48.972677 247.64675,49.923177 246.46538,50.503317 C 241.72358,52.831917 237.7226,54.591307 237.16906,54.591307 C 236.82021,54.591307 236.05463,53.596987 235.39229,52.283677 z M 244.44873,50.245347 C 246.88414,48.509587 246.81244,44.658437 244.27301,40.807147 C 242.54194,38.181807 241.65585,37.658967 240.71017,38.704887 C 240.04086,39.445147 240.06181,39.529747 241.24973,40.883967 C 242.69534,42.531927 243.07763,43.755417 242.72869,45.617147 C 242.26328,48.100277 241.5958,48.112217 239.46075,45.675647 C 238.40255,44.467987 237.21864,43.477657 236.82985,43.474897 C 235.73031,43.467097 235.55419,44.611047 236.4742,45.784767 C 236.93173,46.368457 237.98298,47.885677 238.81031,49.156347 C 240.26317,51.387747 240.36473,51.460347 241.78407,51.281897 C 242.59231,51.180287 243.7914,50.713837 244.44873,50.245347 z M 230.66021,48.770437 C 231.80323,47.735067 231.53301,46.750337 229.80648,45.659427 C 227.34825,44.106197 225.88307,44.426817 226.38016,46.409207 C 226.66321,47.537997 228.5071,49.427797 229.32543,49.427797 C 229.66043,49.427797 230.26108,49.131977 230.66021,48.770437 z M 246.11213,30.836417 C 247.33732,29.740717 247.34787,29.700597 246.72684,28.498547 C 245.59071,26.299487 241.38192,22.859927 238.96758,22.157407 C 235.30327,21.091177 234.23569,22.765917 236.78162,25.586567 C 238.43395,27.417177 243.93132,31.951267 244.49852,31.951267 C 244.70039,31.951267 245.42651,31.449587 246.11213,30.836417 z M 133.07774,53.103867 C 130.01947,52.994557 129.349,52.852977 129.02562,52.248187 C 128.75683,51.745487 128.79331,51.311077 129.14472,50.830067 C 129.62146,50.177497 130.95893,50.156707 151.84776,50.477297 L 174.04422,50.817977 L 174.16857,52.108847 L 174.29292,53.399727 L 155.51764,53.317287 C 145.19124,53.271947 135.09328,53.175907 133.07774,53.103867 z M 119.2772,51.009717 C 118.62503,50.579457 117.77719,50.226237 117.3931,50.224797 C 116.32258,50.220787 115.56286,49.071387 114.35478,45.628017 C 113.74673,43.894907 112.62106,41.225737 111.85329,39.696547 C 111.08552,38.167357 110.32412,36.469347 110.16129,35.923207 C 109.99846,35.377067 109.50475,34.535797 109.06415,34.053727 C 108.23467,33.146157 108.24871,32.165167 109.1241,29.865997 C 109.65571,28.469767 110.39221,28.489087 112.52104,29.955107 C 114.12636,31.060617 114.26613,31.306517 114.69708,33.783527 C 114.95038,35.239387 115.56501,37.254767 116.06293,38.262147 C 116.56086,39.269517 117.37926,41.217777 117.88161,42.591617 C 118.56207,44.452587 119.23873,45.469167 120.5353,46.578467 C 122.23466,48.032367 122.26485,48.099807 121.81793,49.442697 C 121.08362,51.649127 120.65089,51.916027 119.2772,51.009717 z M 178.50854,50.380477 C 177.32087,49.748297 177.08523,48.609287 177.98714,47.860087 C 179.24402,46.816007 181.3096,49.292747 180.13664,50.437457 C 179.69198,50.871397 179.41248,50.861627 178.50854,50.380477 z M 184.90998,49.725687 C 184.81629,48.736327 185.04904,48.030857 185.83249,46.929607 C 186.27161,46.312347 186.52644,45.702757 186.39878,45.574977 C 185.97808,45.153897 184.8608,46.409017 184.12323,48.131287 C 183.23472,50.205997 182.09987,50.400077 181.18713,48.633407 C 180.62994,47.554927 180.63079,47.327077 181.19603,46.233027 C 181.53952,45.568187 182.25839,44.824537 182.79353,44.580497 C 183.32867,44.336437 183.76652,44.003447 183.76652,43.840507 C 183.76652,43.214287 181.92163,44.028867 180.66237,45.211087 L 179.34396,46.448847 L 178.36032,45.310797 C 177.131,43.888497 177.28155,42.940357 178.77827,42.678567 C 180.57624,42.364077 180.54814,41.484407 178.74002,41.481307 C 177.89016,41.479847 176.69348,41.130417 176.02836,40.689537 C 175.3736,40.255497 174.70888,39.899197 174.55121,39.897757 C 174.39355,39.896327 174.88462,41.131827 175.64249,42.643327 C 176.40036,44.154817 177.02043,45.763457 177.02043,46.218057 C 177.02043,47.443787 175.94275,47.223507 175.23471,45.853047 C 174.58011,44.586017 173.55801,44.160427 174.04235,45.356557 C 175.41361,48.743007 175.28453,49.427797 173.2749,49.427797 C 172.18146,49.427797 171.69267,49.166127 170.98068,48.199627 L 170.07594,46.971457 L 169.87564,48.100327 C 169.72342,48.958257 169.42586,49.258197 168.63584,49.350057 C 167.17846,49.519507 166.30607,48.487097 166.30607,46.592957 C 166.30607,44.722907 166.75925,43.732047 168.41567,41.980417 C 169.85886,40.454277 170.35355,40.384227 171.2208,41.583217 L 171.86722,42.476897 L 171.76523,41.497187 C 171.69969,40.867477 171.23795,40.299887 170.47277,39.908417 C 168.42792,38.862257 168.34143,38.172047 170.16805,37.476927 C 170.924,37.189257 171.41776,37.252797 172.14807,37.731767 C 172.68319,38.082707 173.2033,38.287487 173.30387,38.186827 C 173.40444,38.086157 172.99207,36.994287 172.38749,35.760437 C 171.4395,33.825737 171.35873,33.404127 171.80048,32.696137 C 172.23364,32.001887 172.20715,31.758437 171.62885,31.118827 C 171.25273,30.702847 171.10661,30.341877 171.30413,30.316687 C 172.13332,30.210897 172.51719,30.094457 173.64739,29.605947 C 174.30216,29.322937 176.2705,28.997247 178.02148,28.882207 C 181.03573,28.684147 181.27162,28.729067 182.45605,29.726597 C 183.2501,30.395367 183.80326,30.624327 183.97051,30.353457 C 184.14333,30.073567 184.39421,30.059817 184.69959,30.313487 C 185.19405,30.724227 188.13163,30.016147 188.13163,29.486227 C 188.13163,29.092987 185.79505,28.536187 181.68317,27.949587 C 177.8943,27.409057 172.65486,27.895197 169.87753,29.044947 C 168.61439,29.567857 168.55151,29.666487 169.18308,30.134287 C 169.56502,30.417197 169.87753,30.852387 169.87753,31.101377 C 169.87753,31.818817 168.07204,31.627617 167.05382,30.802347 C 166.19315,30.104777 166.1675,29.973647 166.69769,28.982067 C 167.38047,27.705087 169.65573,26.310917 173.33027,24.917937 C 176.63703,23.664377 176.73979,23.576657 176.2985,22.384007 C 175.77832,20.978117 176.13356,20.432647 177.56938,20.432647 C 179.05766,20.432647 179.79823,21.036777 179.79823,22.250837 C 179.79823,23.424597 180.41386,23.855517 183.41702,24.783957 C 187.01121,25.895117 190.48156,28.946207 189.8941,30.478527 C 189.4388,31.666107 186.11379,32.463507 185.5338,31.524207 C 185.36426,31.249637 184.94581,31.402087 184.3619,31.951127 C 183.73021,32.545127 183.37074,33.469797 183.18119,34.988337 C 183.0313,36.189107 182.65285,37.784367 182.3402,38.533357 C 182.02753,39.282337 181.88641,39.895147 182.02657,39.895147 C 182.16674,39.895147 182.97323,39.269557 183.81877,38.504967 C 185.43131,37.046797 186.92092,36.729017 187.7059,37.675727 C 188.07927,38.126027 187.84312,38.561577 186.50848,39.884157 C 185.28469,41.096897 184.96286,41.648657 185.28894,41.975037 C 185.61501,42.301407 185.92588,42.242707 186.46698,41.752567 C 187.51567,40.802637 188.34446,40.926087 189.33022,42.179007 C 190.07935,43.131167 190.17165,43.668327 190.04977,46.366317 C 189.95072,48.558747 189.73744,49.570517 189.31841,49.835677 C 188.41924,50.404687 184.96612,50.318527 184.90998,49.725687 z M 179.88324,34.846587 C 179.94561,34.151437 179.81807,33.572837 179.59982,33.560807 C 179.38156,33.548767 179.18647,34.261737 179.16627,35.145157 C 179.12409,36.990367 179.71289,36.745177 179.88324,34.846587 z M 180.95565,31.666467 C 181.04659,31.604647 180.73408,31.554077 180.2612,31.554077 C 179.73265,31.554077 179.4014,31.802347 179.4014,32.198507 C 179.4014,32.750127 179.50141,32.766307 180.09585,32.310897 C 180.4778,32.018277 180.86471,31.728287 180.95565,31.666467 z M 176.12757,31.851977 C 176.03663,31.578907 175.72413,31.355477 175.43312,31.355477 C 175.14212,31.355477 174.82961,31.578907 174.73867,31.851977 C 174.64031,32.147317 174.92165,32.348467 175.43312,32.348467 C 175.94459,32.348467 176.22593,32.147317 176.12757,31.851977 z M 194.41697,49.129897 C 194.12631,48.410117 193.96049,43.364317 193.93076,34.334427 L 193.88564,20.631257 L 194.7425,20.509057 C 195.53699,20.395737 195.61547,20.598117 195.82065,23.289407 C 195.94237,24.885807 196.14773,31.344257 196.27701,37.641497 C 196.45199,46.164227 196.3922,49.235617 196.04313,49.656617 C 195.34941,50.493267 194.91006,50.350957 194.41697,49.129897 z M 206.56277,49.790377 C 206.19139,49.188917 206.81986,48.660507 208.6178,48.062557 C 209.81944,47.662907 210.34066,47.174817 211.00219,45.829697 C 211.46782,44.882907 212.24654,43.785897 212.73268,43.391877 C 213.68518,42.619877 215.90961,42.409487 215.90961,43.091407 C 215.90961,43.670107 212.67627,49.560887 212.1625,49.918207 C 211.50302,50.376847 206.85945,50.270847 206.56277,49.790377 z M 199.88857,49.217707 C 199.41389,47.979577 199.62654,45.166817 200.2329,44.663107 C 201.03403,43.997627 202.70406,45.076617 203.05808,46.488437 C 203.53804,48.402507 200.55938,50.967437 199.88857,49.217707 z M 203.2111,49.277827 C 203.2111,48.976887 203.47896,48.508167 203.80634,48.236207 C 205.1667,47.106177 204.07296,44.710507 201.45824,43.093027 C 199.8547,42.101077 199.40491,41.151437 200.17401,40.381647 C 200.59874,39.956517 200.93157,39.921527 201.52532,40.239587 C 202.63756,40.835387 202.88221,40.384387 202.18198,39.029037 C 201.85163,38.389617 201.4787,36.937707 201.35324,35.802547 C 201.22779,34.667407 200.77209,33.150857 200.34058,32.432457 C 199.66232,31.303257 199.62256,30.965497 200.0471,29.939617 C 200.77944,28.169977 204.07869,25.392707 206.13225,24.817217 C 208.44151,24.170067 210.04847,24.687677 212.60232,26.901277 C 214.86527,28.862727 215.04747,29.085617 215.36553,30.281687 C 215.69205,31.509607 215.36917,31.731657 214.25751,31.043627 C 212.52049,29.968547 209.64747,29.460997 206.37287,29.650727 C 201.55848,29.929687 201.6844,30.585647 206.5498,30.572347 C 209.9223,30.563117 210.80367,30.686537 211.43359,31.256177 C 211.85634,31.638477 212.41139,31.951267 212.66702,31.951267 C 213.40368,31.951267 213.21441,33.325167 212.09069,36.134737 C 210.99775,38.867367 211.06854,39.589357 212.35081,38.787827 C 213.65187,37.974547 215.41944,38.180667 215.73718,39.182697 C 215.93571,39.808797 215.8017,40.210567 215.26788,40.589697 C 214.85694,40.881557 213.76662,41.646597 212.84496,42.289797 C 211.92331,42.932987 210.82225,44.139997 210.39817,44.972027 C 209.8755,45.997467 208.99364,46.829917 207.66072,47.556047 C 206.57921,48.145227 205.47088,48.896757 205.19778,49.226127 C 204.5763,49.975657 203.2111,50.011177 203.2111,49.277827 z M 207.60101,45.442567 C 208.42602,45.000627 210.15689,41.948607 209.7905,41.581877 C 209.66837,41.459637 208.85971,41.679507 207.99347,42.070487 C 206.98818,42.524227 205.98195,42.693967 205.21163,42.539757 C 203.73822,42.244807 203.72228,42.423407 205.0508,44.342227 C 206.17564,45.966857 206.42301,46.073597 207.60101,45.442567 z M 204.32218,35.656697 C 204.19554,33.259797 203.59848,32.545947 202.9455,34.010687 C 202.65469,34.663007 202.71669,35.301847 203.17748,36.401017 C 203.52336,37.226057 203.94919,37.902917 204.12377,37.905137 C 204.29835,37.907357 204.38764,36.895557 204.32218,35.656697 z M 208.96511,33.142857 C 208.83022,32.924397 208.37325,32.745657 207.94962,32.745657 C 207.52599,32.745657 207.17938,32.924397 207.17938,33.142857 C 207.17938,33.361307 207.63636,33.540047 208.19488,33.540047 C 208.77082,33.540047 209.10421,33.368117 208.96511,33.142857 z M 213.99707,48.971867 C 214.13276,48.059007 215.30071,47.097167 215.73982,47.536677 C 215.88563,47.682617 215.89079,48.257187 215.75129,48.813497 C 215.42086,50.131247 213.80304,50.277297 213.99707,48.971867 z M 220.15527,49.291947 C 219.8287,48.440127 219.34346,23.021437 219.63183,21.871447 C 219.95211,20.594147 220.97162,20.504277 221.27805,21.726327 C 221.66473,23.268407 222.11219,48.397877 221.766,49.129897 C 221.37672,49.953037 220.44467,50.046817 220.15527,49.291947 z M 141.427,49.026327 C 139.77807,48.361607 139.72314,44.264277 141.36316,44.264277 C 143.16725,44.264277 145.71868,48.253447 144.43502,49.067147 C 143.75007,49.501327 142.56542,49.485257 141.427,49.026327 z M 134.65116,48.544977 C 134.36131,48.195407 134.20672,43.524887 134.17889,34.276367 C 134.141,21.681957 134.19415,20.505667 134.81185,20.268417 C 135.18273,20.125967 135.66943,20.192837 135.8934,20.417017 C 136.15553,20.679387 136.30863,25.811627 136.32308,34.821197 C 136.34313,47.316797 136.27779,48.831017 135.7138,48.941227 C 135.36635,49.009117 134.88816,48.830807 134.65116,48.544977 z M 152.3031,48.784107 C 151.74256,48.223057 152.04745,47.522727 153.64129,45.710377 C 155.92035,43.118827 156.45277,43.246587 156.30509,46.349547 L 156.18695,48.831997 L 154.38645,48.949617 C 153.39617,49.014297 152.45867,48.939827 152.3031,48.784107 z M 160.55449,48.162697 C 160.43126,47.656987 160.38031,41.255537 160.44125,33.937237 L 160.55206,20.631257 L 161.54413,20.631257 C 162.429,20.631257 162.55904,20.829897 162.74749,22.469457 C 162.86369,23.480467 162.86369,29.825647 162.74749,36.569837 L 162.5362,48.831997 L 161.65737,48.957077 C 161.01345,49.048737 160.71864,48.836377 160.55449,48.162697 z M 192.07653,47.541117 C 191.926,37.951047 191.99228,36.293477 192.49207,37.148887 C 192.99118,38.003137 193.46599,45.784637 193.12878,47.583747 C 192.77486,49.472057 192.10641,49.444977 192.07653,47.541117 z M 217.75068,48.755007 C 217.61111,48.615307 217.50235,43.123997 217.50899,36.552097 C 217.51702,28.594297 217.65031,24.824907 217.90803,25.266977 C 218.12088,25.632067 218.26591,26.525757 218.23034,27.252947 C 218.19477,27.980147 218.29907,33.067787 218.46211,38.558817 C 218.73726,47.825157 218.61221,49.617327 217.75068,48.755007 z M 124.58997,47.746697 C 122.81403,46.965087 122.74791,46.873917 122.5307,44.906627 C 122.30709,42.881457 120.01349,35.107787 118.78731,32.219227 C 118.18711,30.805297 118.18958,30.626037 118.82285,29.637457 C 119.19713,29.053167 120.12543,27.368657 120.88573,25.894067 C 121.79075,24.138827 122.50619,23.213987 122.95757,23.215847 C 123.77393,23.219207 129.87533,27.177977 130.08863,27.842687 C 130.25,28.345597 127.94882,31.156887 127.37579,31.156887 C 127.18014,31.156887 127.02007,30.818047 127.02007,30.403907 C 127.02007,29.665557 123.70589,27.184947 122.71943,27.184947 C 121.69843,27.184947 122.16521,29.752877 124.84931,38.902157 C 126.03433,42.941537 126.30605,43.377217 128.11135,44.132537 C 128.82068,44.429317 129.40104,44.754317 129.40104,44.854767 C 129.40104,44.955217 129.00831,45.846507 128.52831,46.835407 C 127.55224,48.846307 127.24831,48.916637 124.58997,47.746697 z M 145.22842,46.169327 C 144.40212,44.897777 143.19812,43.703187 142.09955,43.064897 C 140.6274,42.209557 140.31382,41.823647 140.31382,40.867387 C 140.31382,39.237497 141.25578,39.206347 143.2008,40.771917 C 144.91331,42.150337 147.25831,45.979897 147.25831,47.398127 C 147.25831,48.740647 146.66661,48.382467 145.22842,46.169327 z M 158.54252,42.682547 C 158.58511,39.628037 158.74218,37.006567 158.89156,36.857047 C 159.04094,36.707537 159.16316,39.206667 159.16316,42.410697 C 159.16316,45.614737 159.00609,48.236207 158.81412,48.236207 C 158.62215,48.236207 158.49994,45.737057 158.54252,42.682547 z M 137.99167,44.164977 C 137.86299,42.144257 137.70782,36.127077 137.64686,30.793487 C 137.56131,23.308927 137.64921,21.058107 138.03206,20.929837 C 138.41295,20.802217 138.52833,22.039067 138.52914,26.258157 C 138.52971,29.280137 138.64734,35.372107 138.79053,39.795847 C 138.96759,45.265507 138.91887,47.839017 138.63827,47.839017 C 138.39926,47.839017 138.1272,46.293147 137.99167,44.164977 z M 223.30644,45.015857 C 223.13536,43.353887 223.13632,41.298407 223.30858,40.448127 L 223.62177,38.902157 L 223.85823,41.285327 C 223.98828,42.596057 223.98732,44.651537 223.85609,45.853047 L 223.6175,48.037617 L 223.30644,45.015857 z M 150.53585,46.548137 C 150.64333,46.056617 151.0199,44.993267 151.37267,44.185137 L 152.01407,42.715827 L 150.2938,43.353997 C 148.67355,43.955047 148.48391,43.948107 147.03178,43.234527 C 144.18786,41.837007 141.5232,35.874527 142.6549,33.440747 C 142.88593,32.943897 142.80835,32.745657 142.38287,32.745657 C 142.05549,32.745657 141.68985,32.490627 141.57035,32.178907 C 141.30056,31.475217 142.30662,30.528227 142.68057,31.133867 C 142.8406,31.393027 143.36225,31.230757 144.08249,30.697777 C 145.13799,29.916697 145.57064,29.866357 149.50281,30.067237 C 153.33691,30.263097 153.8517,30.378987 154.51178,31.194897 C 154.95242,31.739587 155.15713,32.432007 155.02222,32.921457 C 154.89834,33.370917 154.59933,34.989807 154.35775,36.518997 C 154.11618,38.048197 153.74481,39.627447 153.53248,40.028457 C 153.00484,41.024987 153.30991,41.205437 154.55912,40.635737 C 155.32352,40.287137 155.73279,40.274677 156.04823,40.590397 C 156.36366,40.906127 155.87132,41.623747 154.2569,43.201367 C 153.03242,44.397937 151.85411,45.841547 151.63841,46.409387 C 151.15441,47.683557 150.26302,47.795747 150.53585,46.548137 z M 150.82977,40.117177 C 150.82977,40.020847 150.6512,39.831557 150.43294,39.696547 C 150.21468,39.561527 150.03611,39.640347 150.03611,39.871707 C 150.03611,40.103047 150.21468,40.292337 150.43294,40.292337 C 150.6512,40.292337 150.82977,40.213517 150.82977,40.117177 z M 153.38931,35.481377 C 153.92437,34.980997 153.06842,34.227437 152.16161,34.400537 C 151.74768,34.479557 151.36734,34.947087 151.29335,35.467857 C 151.17896,36.273007 151.28306,36.357777 152.08701,36.114237 C 152.59593,35.960067 153.18197,35.675277 153.38931,35.481377 z M 148.05197,34.797827 C 148.05197,34.280647 147.58023,33.936697 147.19649,34.174087 C 146.78608,34.427957 147.13996,35.128817 147.67856,35.128817 C 147.88394,35.128817 148.05197,34.979877 148.05197,34.797827 z M 147.95475,32.447767 C 148.0565,32.138507 147.74034,31.951267 147.11639,31.951267 C 146.07729,31.951267 145.49281,32.434917 145.96308,32.905607 C 146.38069,33.323597 147.77179,33.003817 147.95475,32.447767 z M 132.44339,46.779827 C 132.02814,46.364197 132.1462,37.382757 132.57567,36.717587 C 132.83437,36.316917 132.96233,37.910317 132.96642,41.583217 C 132.96976,44.586987 132.91297,47.044627 132.84022,47.044627 C 132.76747,47.044627 132.58889,46.925467 132.44339,46.779827 z M 163.52827,45.677897 C 163.52827,45.144647 163.70685,44.597877 163.9251,44.462867 C 164.15662,44.319657 164.32193,44.723537 164.32193,45.432407 C 164.32193,46.100677 164.14336,46.647437 163.9251,46.647437 C 163.70685,46.647437 163.52827,46.211147 163.52827,45.677897 z M 147.8705,45.880487 C 147.59944,45.441507 148.22543,44.967477 148.59186,45.334257 C 148.96916,45.711907 148.89885,46.250237 148.47222,46.250237 C 148.26685,46.250237 147.99607,46.083857 147.8705,45.880487 z M 197.68683,45.621357 C 197.70587,45.158647 197.79991,45.064527 197.92658,45.381377 C 198.04121,45.668107 198.02712,46.010677 197.89526,46.142667 C 197.76339,46.274657 197.6696,46.040057 197.68683,45.621357 z M 197.52323,43.602287 C 197.37773,43.456647 197.27123,38.943537 197.28657,33.573137 C 197.30191,28.202757 197.45286,24.163487 197.62201,24.596987 C 197.93087,25.388527 198.24112,43.867077 197.94555,43.867077 C 197.85878,43.867077 197.66873,43.747917 197.52323,43.602287 z M 163.89015,42.443797 C 163.72143,40.686287 163.62315,22.852297 163.77921,22.313547 C 163.89088,21.928087 164.15367,21.718747 164.3632,21.848367 C 164.75868,22.093007 164.54112,42.191307 164.13863,42.594167 C 164.02119,42.711717 163.90937,42.644057 163.89015,42.443797 z M 127.69055,40.231237 C 126.67034,39.659767 126.88678,39.225437 128.21056,39.187767 C 128.95186,39.166677 129.40104,39.352627 129.40104,39.680617 C 129.40104,40.399367 128.50542,40.687677 127.69055,40.231237 z M 125.88925,37.568637 C 125.51096,36.900337 125.48146,36.509967 125.78621,36.204937 C 126.39564,35.594947 126.70405,36.067277 126.55112,37.376367 L 126.41927,38.504967 L 125.88925,37.568637 z M 223.05252,36.320397 C 223.05252,36.101947 223.23109,35.923207 223.44934,35.923207 C 223.6676,35.923207 223.84617,36.101947 223.84617,36.320397 C 223.84617,36.538857 223.6676,36.717587 223.44934,36.717587 C 223.23109,36.717587 223.05252,36.538857 223.05252,36.320397 z M 132.37725,35.128817 C 132.24236,34.910357 132.32111,34.731627 132.55225,34.731627 C 132.78338,34.731627 132.9725,34.910357 132.9725,35.128817 C 132.9725,35.347267 132.89375,35.526017 132.7975,35.526017 C 132.70126,35.526017 132.51214,35.347267 132.37725,35.128817 z M 158.36951,34.556477 C 158.36951,34.023227 158.54808,33.476457 158.76633,33.341447 C 158.99785,33.198237 159.16316,33.602117 159.16316,34.310987 C 159.16316,34.979257 158.98459,35.526017 158.76633,35.526017 C 158.54808,35.526017 158.36951,35.089717 158.36951,34.556477 z M 223.11517,34.334427 C 223.11517,33.788287 223.20524,33.564867 223.31533,33.837947 C 223.42541,34.111017 223.42541,34.557857 223.31533,34.830927 C 223.20524,35.103997 223.11517,34.880577 223.11517,34.334427 z M 258.54676,33.868197 C 258.20169,32.779997 259.01368,32.140347 261.18041,31.793567 C 263.11276,31.484277 263.529,31.694107 263.529,32.977517 C 263.529,34.097647 262.31023,34.731627 260.15687,34.731627 C 259.13345,34.731627 258.75643,34.529447 258.54676,33.868197 z M 132.01209,29.612967 C 131.7781,27.236187 132.05521,22.559667 132.40904,22.913837 C 132.76156,23.266667 133.01012,32.348467 132.66726,32.348467 C 132.45503,32.348467 132.1602,31.117487 132.01209,29.612967 z M 191.94046,30.663007 C 191.76186,29.845227 191.76123,28.683427 191.93905,28.081247 L 192.26237,26.986347 L 192.4047,28.277227 C 192.48298,28.987207 192.48361,30.148997 192.40611,30.858987 L 192.26519,32.149867 L 191.94046,30.663007 z M 139.98313,30.494897 C 139.5389,30.050257 139.67607,29.679617 140.76362,28.385957 C 141.8824,27.055137 145.44697,25.077867 147.54799,24.622667 C 149.42627,24.215717 152.92138,25.075517 154.73534,26.390747 C 157.27247,28.230327 157.45938,30.627197 154.9705,29.406327 C 153.77731,28.821017 150.12957,28.534267 145.82559,28.687437 C 143.98971,28.752767 143.04572,29.014897 141.93889,29.766707 C 140.30514,30.876417 140.34826,30.860367 139.98313,30.494897 z M 158.36951,26.986347 C 158.36951,26.221747 158.54808,25.596167 158.76633,25.596167 C 158.98459,25.596167 159.16316,26.221747 159.16316,26.986347 C 159.16316,27.750947 158.98459,28.376527 158.76633,28.376527 C 158.54808,28.376527 158.36951,27.750947 158.36951,26.986347 z M 104.99277,27.179547 C 104.56422,26.485497 106.51566,23.411607 107.38481,23.411607 C 108.00325,23.411607 108.15362,23.653077 108.09043,24.544717 C 107.93452,26.744937 105.82982,28.535167 104.99277,27.179547 z M 192.13124,23.775697 C 192.15028,23.312987 192.24431,23.218877 192.37099,23.535727 C 192.48562,23.822447 192.47152,24.165037 192.33966,24.297017 C 192.2078,24.428997 192.11401,24.194417 192.13124,23.775697 z M 158.36951,23.014417 C 158.36951,22.422307 158.54038,22.080247 158.76633,22.220027 C 158.98459,22.355037 159.16316,22.712507 159.16316,23.014417 C 159.16316,23.316317 158.98459,23.673787 158.76633,23.808797 C 158.54038,23.948577 158.36951,23.606507 158.36951,23.014417 z M 207.03587,23.409817 C 206.63676,23.010337 206.39387,22.273717 206.46339,21.673607 C 206.56377,20.807087 206.78497,20.631257 207.77463,20.631257 C 209.2431,20.631257 209.5667,21.832257 208.46511,23.193917 C 207.76464,24.059757 207.69563,24.070177 207.03587,23.409817 z M 147.62553,22.505307 C 147.0438,21.481327 146.83844,21.410587 144.64932,21.480127 C 141.78254,21.571197 140.51223,21.308067 140.51223,20.623177 C 140.51223,20.216817 142.11276,20.100917 147.95276,20.084397 C 152.04506,20.072827 155.63939,20.215847 155.94017,20.402207 C 157.06998,21.102207 155.91257,21.663137 153.51689,21.576607 C 151.32471,21.497417 151.0492,21.581967 150.34465,22.550047 C 149.35579,23.908777 148.41406,23.893287 147.62553,22.505307 z M 166.75127,21.662567 C 165.50297,20.871177 166.85,20.432647 170.52926,20.432647 C 173.37633,20.432647 174.26807,20.555147 174.14376,20.929147 C 174.053,21.202217 173.45776,21.538537 172.821,21.676537 C 171.05117,22.060087 167.36492,22.051597 166.75127,21.662567 z M 211.43215,21.667167 C 209.27446,21.320027 209.59787,20.652067 211.99278,20.509237 C 214.16655,20.379587 215.37695,20.965197 214.31898,21.634697 C 213.99342,21.840707 213.54848,21.986637 213.33022,21.958987 C 213.11197,21.931327 212.25783,21.800007 211.43215,21.667167 z M 182.0612,21.373727 C 181.32297,20.634817 182.08,20.432647 185.58531,20.432647 C 188.45074,20.432647 189.34775,20.555057 189.22395,20.929147 C 189.04443,21.471607 182.56104,21.874027 182.0612,21.373727 z M 200.03647,21.028437 C 200.03647,20.559957 200.58763,20.432647 202.61586,20.432647 C 204.64409,20.432647 205.19524,20.559957 205.19524,21.028437 C 205.19524,21.496927 204.64409,21.624237 202.61586,21.624237 C 200.58763,21.624237 200.03647,21.496927 200.03647,21.028437 z M 143.95346,18.419877 C 133.0076,18.241377 130.0642,18.083617 129.80356,17.661517 C 129.36468,16.950727 129.69742,16.176157 130.51977,15.994317 C 130.88662,15.913207 136.81181,15.962227 143.68686,16.103267 C 154.20391,16.319017 171.16405,16.438397 218.96327,16.633137 C 225.56733,16.660037 226.60282,16.893877 226.0861,18.241657 C 225.86121,18.828247 222.86591,18.873967 191.80697,18.764847 C 173.08898,18.699087 151.5549,18.543857 143.95346,18.419877 z M 170.8696,14.824397 C 162.79414,14.689017 150.6512,14.522197 143.88527,14.453677 C 129.09415,14.303917 123.84545,14.104367 123.84545,13.691827 C 123.84545,13.405947 127.73239,12.104427 130.98835,11.300057 C 144.23349,8.0279174 153.99182,6.5120074 168.0555,5.5418474 C 178.99904,4.7869074 182.25204,4.7866174 188.92528,5.5399274 C 191.87173,5.8725274 195.97891,6.3328474 198.05233,6.5628574 C 201.97463,6.9979574 206.34215,7.7348074 210.75084,8.7052674 C 212.1695,9.0175374 215.11595,9.6360274 217.29851,10.079667 C 220.96867,10.825687 228.93993,13.101127 231.48007,14.127877 C 232.0775,14.369367 232.46162,14.736477 232.33367,14.943707 C 232.08933,15.339417 197.59729,15.272467 170.8696,14.824397 z"
- id="path2486"
- style="fill:#000000;fill-opacity:1" />
-</svg>
diff --git a/notFinishedCode/Report/ping.png b/notFinishedCode/Report/ping.png
deleted file mode 100644
index b7d0e3b..0000000
--- a/notFinishedCode/Report/ping.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/protocolCommunicationHandler.png b/notFinishedCode/Report/protocolCommunicationHandler.png
deleted file mode 100644
index 984ff1d..0000000
--- a/notFinishedCode/Report/protocolCommunicationHandler.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/protocolCommunicationcControllerCaller.png b/notFinishedCode/Report/protocolCommunicationcControllerCaller.png
deleted file mode 100644
index 7a1cb70..0000000
--- a/notFinishedCode/Report/protocolCommunicationcControllerCaller.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/protocolCommunicationcControllerReceiver.png b/notFinishedCode/Report/protocolCommunicationcControllerReceiver.png
deleted file mode 100644
index 17462b9..0000000
--- a/notFinishedCode/Report/protocolCommunicationcControllerReceiver.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/protocolRedesign.png b/notFinishedCode/Report/protocolRedesign.png
deleted file mode 100644
index 70af9c0..0000000
--- a/notFinishedCode/Report/protocolRedesign.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/resultsImage.png b/notFinishedCode/Report/resultsImage.png
deleted file mode 100644
index 3eb4d7a..0000000
--- a/notFinishedCode/Report/resultsImage.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/resultterminal.png b/notFinishedCode/Report/resultterminal.png
deleted file mode 100644
index 9e53f7a..0000000
--- a/notFinishedCode/Report/resultterminal.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/serialPort.png b/notFinishedCode/Report/serialPort.png
deleted file mode 100644
index 4ed398b..0000000
--- a/notFinishedCode/Report/serialPort.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/serverClass.png b/notFinishedCode/Report/serverClass.png
deleted file mode 100644
index a6914a4..0000000
--- a/notFinishedCode/Report/serverClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/sshTunnel.png b/notFinishedCode/Report/sshTunnel.png
deleted file mode 100644
index 3b8e8ae..0000000
--- a/notFinishedCode/Report/sshTunnel.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/sshTunnelClass.png b/notFinishedCode/Report/sshTunnelClass.png
deleted file mode 100644
index de522f0..0000000
--- a/notFinishedCode/Report/sshTunnelClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/terminalCommand.png b/notFinishedCode/Report/terminalCommand.png
deleted file mode 100644
index 98bc2ec..0000000
--- a/notFinishedCode/Report/terminalCommand.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/test.aux b/notFinishedCode/Report/test.aux
deleted file mode 100644
index f5bf6ae..0000000
--- a/notFinishedCode/Report/test.aux
+++ /dev/null
@@ -1,150 +0,0 @@
-\relax
-\ifx\hyper@anchor\@undefined
-\global \let \oldcontentsline\contentsline
-\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
-\global \let \oldnewlabel\newlabel
-\gdef \newlabel#1#2{\newlabelxx{#1}#2}
-\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
-\AtEndDocument{\let \contentsline\oldcontentsline
-\let \newlabel\oldnewlabel}
-\else
-\global \let \hyper@last\relax
-\fi
-
-\select@language{english}
-\@writefile{toc}{\select@language{english}}
-\@writefile{lof}{\select@language{english}}
-\@writefile{lot}{\select@language{english}}
-\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction and Motivation}{4}{section.1}}
-\citation{network}
-\citation{network}
-\@writefile{toc}{\contentsline {section}{\numberline {2}Requirements}{5}{section.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces }}{5}{figure.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Logical and algorithmic requirements}{5}{subsection.2.1}}
-\citation{python}
-\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{6}{figure.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Software requirements}{6}{subsection.2.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces }}{7}{figure.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Hardware requirements}{8}{subsection.2.3}}
-\@writefile{toc}{\contentsline {section}{\numberline {3}Database design}{9}{section.3}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{11}{figure.4}}
-\citation{wiki}
-\@writefile{toc}{\contentsline {section}{\numberline {4}Software design}{12}{section.4}}
-\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces }}{12}{figure.5}}
-\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{14}{figure.6}}
-\citation{mysqlManual}
-\citation{wiki}
-\citation{wiki}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Database access}{15}{subsection.4.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces }}{15}{figure.7}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{15}{subsection.4.2}}
-\citation{socket}
-\citation{wiki}
-\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces }}{16}{figure.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Client and Server class}{16}{subsection.4.3}}
-\citation{wiki}
-\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces }}{17}{figure.9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces }}{17}{figure.10}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Ping class}{17}{subsection.4.4}}
-\citation{wiki}
-\citation{wiki}
-\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces }}{18}{figure.11}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Data logging}{18}{subsection.4.5}}
-\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces }}{18}{figure.12}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}SSH Tunnel Class}{18}{subsection.4.6}}
-\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces }}{18}{figure.13}}
-\citation{wiki}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.7}USB Cell phone detection class}{19}{subsection.4.7}}
-\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces }}{19}{figure.14}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.8}Truth table class}{19}{subsection.4.8}}
-\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces }}{19}{figure.15}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.9}Init Test class}{19}{subsection.4.9}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces }}{20}{figure.16}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.10}Controller class}{20}{subsection.4.10}}
-\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces }}{20}{figure.17}}
-\citation{beagleDataSheet}
-\@writefile{toc}{\contentsline {section}{\numberline {5}Hardware design}{21}{section.5}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}BeagleBoard}{21}{subsection.5.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {18}{\ignorespaces }}{21}{figure.18}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Cell phones}{21}{subsection.5.2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{22}{subsection.5.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Server}{22}{subsection.5.4}}
-\@writefile{toc}{\contentsline {section}{\numberline {6}Communication protocol}{23}{section.6}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Communication between the handler and controller}{23}{subsection.6.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {19}{\ignorespaces }}{25}{figure.19}}
-\citation{spin}
-\citation{spin}
-\citation{wiki}
-\@writefile{lof}{\contentsline {figure}{\numberline {20}{\ignorespaces }}{26}{figure.20}}
-\@writefile{lof}{\contentsline {figure}{\numberline {21}{\ignorespaces }}{26}{figure.21}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{26}{subsection.6.2}}
-\citation{sshTunnel}
-\@writefile{toc}{\contentsline {section}{\numberline {7}Security and safety of the system}{28}{section.7}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{28}{subsection.7.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {22}{\ignorespaces }}{28}{figure.22}}
-\citation{https}
-\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Security on the web site}{29}{subsection.7.2}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Configuring the http secure protocol https}{29}{subsubsection.7.2.1}}
-\citation{https}
-\citation{https}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.2}Password protecting the web site using .htaccess}{32}{subsubsection.7.2.2}}
-\citation{htaccess}
-\@writefile{toc}{\contentsline {section}{\numberline {8}Web page}{34}{section.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{34}{subsection.8.1}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Results on the web page}{34}{subsection.8.2}}
-\citation{pChart}
-\@writefile{lof}{\contentsline {figure}{\numberline {23}{\ignorespaces }}{35}{figure.23}}
-\@writefile{toc}{\contentsline {section}{\numberline {9}Employing the test software system}{36}{section.9}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}Required software and libraries}{36}{subsection.9.1}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.1}Python installation}{36}{subsubsection.9.1.1}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.2}Apache Web server installation}{36}{subsubsection.9.1.2}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.3}SSH}{36}{subsubsection.9.1.3}}
-\citation{pjsip}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.4}MySQL database and MySQLdb library}{37}{subsubsection.9.1.4}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.5}Serial port library}{37}{subsubsection.9.1.5}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.6}PJSUA library}{37}{subsubsection.9.1.6}}
-\citation{wiki}
-\citation{pChart}
-\citation{proctitle}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.7}pChart library}{38}{subsubsection.9.1.7}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.1.8}proctitle library}{38}{subsubsection.9.1.8}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Configuring hardware}{38}{subsection.9.2}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.2.1}Configuring the cell phones}{40}{subsubsection.9.2.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {24}{\ignorespaces }}{40}{figure.24}}
-\@writefile{lof}{\contentsline {figure}{\numberline {25}{\ignorespaces }}{40}{figure.25}}
-\@writefile{lof}{\contentsline {figure}{\numberline {26}{\ignorespaces }}{40}{figure.26}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.3}Location of the files}{41}{subsection.9.3}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.4}Setting up the parameters}{42}{subsection.9.4}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.5}Test descriptions}{42}{subsection.9.5}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.5.1}Smart test}{42}{subsubsection.9.5.1}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.5.2}SIP test}{43}{subsubsection.9.5.2}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.5.3}GSM test}{43}{subsubsection.9.5.3}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.5.4}All test}{43}{subsubsection.9.5.4}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.5.5}Manual test}{43}{subsubsection.9.5.5}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.6}Result descriptions}{44}{subsection.9.6}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.7}Using the software}{45}{subsection.9.7}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.7.1}Web site guide}{45}{subsubsection.9.7.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {27}{\ignorespaces }}{45}{figure.27}}
-\@writefile{lof}{\contentsline {figure}{\numberline {28}{\ignorespaces }}{46}{figure.28}}
-\@writefile{lof}{\contentsline {figure}{\numberline {29}{\ignorespaces }}{46}{figure.29}}
-\@writefile{lof}{\contentsline {figure}{\numberline {30}{\ignorespaces }}{47}{figure.30}}
-\@writefile{lof}{\contentsline {figure}{\numberline {31}{\ignorespaces }}{47}{figure.31}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {9.7.2}Terminal guide}{47}{subsubsection.9.7.2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {32}{\ignorespaces }}{48}{figure.32}}
-\@writefile{lof}{\contentsline {figure}{\numberline {33}{\ignorespaces }}{48}{figure.33}}
-\@writefile{lof}{\contentsline {figure}{\numberline {34}{\ignorespaces }}{48}{figure.34}}
-\@writefile{toc}{\contentsline {section}{\numberline {10}Conclusion}{49}{section.10}}
-\bibcite{network}{1}
-\bibcite{python}{2}
-\bibcite{mysqlManual}{3}
-\bibcite{wiki}{4}
-\bibcite{socket}{5}
-\bibcite{spin}{6}
-\bibcite{sshTunnel}{7}
-\bibcite{https}{8}
-\bibcite{htaccess}{9}
-\bibcite{pChart}{10}
-\bibcite{beagleDataSheet}{11}
-\bibcite{proctitle}{12}
-\bibcite{pjsip}{13}
-\newlabel{LastPage}{{}{50}{}{page.50}{}}
diff --git a/notFinishedCode/Report/test.log b/notFinishedCode/Report/test.log
deleted file mode 100644
index e88ead4..0000000
--- a/notFinishedCode/Report/test.log
+++ /dev/null
@@ -1,641 +0,0 @@
-This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2011.9.27) 8 NOV 2011 12:30
-entering extended mode
- %&-line parsing enabled.
-**test.tex
-(./test.tex
-LaTeX2e <2009/09/24>
-Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
-yphenation, loaded.
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrartcl.cls
-Document Class: scrartcl 2009/07/24 v3.04a KOMA-Script document class (article)
-
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrkbase.sty
-Package: scrkbase 2009/07/24 v3.04a KOMA-Script package (KOMA-Script-dependent
-basics and keyval usage)
-
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrbase.sty
-Package: scrbase 2009/07/24 v3.04a KOMA-Script package (KOMA-Script-independent
- basics and keyval usage)
-
-(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty
-Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
-\KV@toks@=\toks14
-)
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrlfile.sty
-Package: scrlfile 2009/03/25 v3.03 KOMA-Script package (loading files)
-
-Package scrlfile, 2009/03/25 v3.03 KOMA-Script package (loading files)
- Copyright (C) Markus Kohm
-
-))) (/usr/share/texmf-texlive/tex/latex/koma-script/tocbasic.sty
-Package: tocbasic 2009/06/08 v3.03b KOMA-Script package (handling toc-files)
-)
-Package tocbasic Info: omitting babel extension for `toc'
-(tocbasic) because of feature `nobabel' available
-(tocbasic) for `toc' on input line 115.
-Package tocbasic Info: omitting babel extension for `lof'
-(tocbasic) because of feature `nobabel' available
-(tocbasic) for `lof' on input line 116.
-Package tocbasic Info: omitting babel extension for `lot'
-(tocbasic) because of feature `nobabel' available
-(tocbasic) for `lot' on input line 117.
-Class scrartcl Info: You've used standard option `oneside'.
-(scrartcl) This is correct!
-(scrartcl) Internaly I'm using `twoside=false'.
-(scrartcl) If you'd like to set the option with \KOMAoptions,
-(scrartcl) you'd have to use `twoside=false' there
-(scrartcl) instead of `oneside', too.
-Class scrartcl Info: File `scrsize11pt.clo' used instead of
-(scrartcl) file `scrsize11.clo' to setup font sizes on input line 117
-1.
-
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrsize11pt.clo
-File: scrsize11pt.clo 2009/07/24 v3.04a KOMA-Script font size class option (11p
-t)
-)
-(/usr/share/texmf-texlive/tex/latex/koma-script/typearea.sty
-Package: typearea 2009/07/24 v3.04a KOMA-Script package (type area)
-
-Package typearea, 2009/07/24 v3.04a KOMA-Script package (type area)
- Copyright (C) Frank Neukam, 1992-1994
- Copyright (C) Markus Kohm, 1994-
-
-\ta@bcor=\skip41
-\ta@div=\count79
-Package typearea Info: You've used standard option `a4paper'.
-(typearea) This is correct!
-(typearea) Internaly I'm using `paper=a4'.
-(typearea) If you'd like to set the option with \KOMAoptions,
-(typearea) you'd have to use `paper=a4' there
-(typearea) instead of `a4paper', too.
-Package typearea Info: You've used standard option `oneside'.
-(typearea) This is correct!
-(typearea) Internaly I'm using `twoside=false'.
-(typearea) If you'd like to set the option with \KOMAoptions,
-(typearea) you'd have to use `twoside=false' there
-(typearea) instead of `oneside', too.
-\ta@hblk=\skip42
-\ta@vblk=\skip43
-\ta@temp=\skip44
-Package typearea Info: These are the values describing the layout:
-(typearea) DIV = 10
-(typearea) BCOR = 0.0pt
-(typearea) \paperwidth = 597.50793pt
-(typearea) \textwidth = 418.25555pt
-(typearea) DIV departure = -6%
-(typearea) \evensidemargin = 17.3562pt
-(typearea) \oddsidemargin = 17.3562pt
-(typearea) \paperheight = 845.04694pt
-(typearea) \textheight = 514.20023pt
-(typearea) \topmargin = 12.2347pt
-(typearea) \headheight = 17.0pt
-(typearea) \headsep = 20.40001pt
-(typearea) \topskip = 11.0pt
-(typearea) \footskip = 47.60002pt
-(typearea) \baselineskip = 13.6pt
-(typearea) on input line 1115.
-)
-\c@part=\count80
-\c@section=\count81
-\c@subsection=\count82
-\c@subsubsection=\count83
-\c@paragraph=\count84
-\c@subparagraph=\count85
-\abovecaptionskip=\skip45
-\belowcaptionskip=\skip46
-\c@pti@nb@sid@b@x=\box26
-\c@figure=\count86
-\c@table=\count87
-\bibindent=\dimen102
-) (/usr/share/texmf-texlive/tex/latex/graphics/lscape.sty
-Package: lscape 2000/10/22 v3.01 Landscape Pages (DPC)
-
-(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
-Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
-
-(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty
-Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
-)
-(/etc/texmf/tex/latex/config/graphics.cfg
-File: graphics.cfg 2009/08/28 v1.8 graphics configuration of TeX Live
-)
-Package graphics Info: Driver file: pdftex.def on input line 91.
-
-(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def
-File: pdftex.def 2010/03/12 v0.04p Graphics/color for pdfTeX
-\Gread@gobject=\count88
-)))
-(/usr/share/texmf-texlive/tex/generic/babel/babel.sty
-Package: babel 2008/07/06 v3.8l The Babel package
-
-(/usr/share/texmf-texlive/tex/generic/babel/english.ldf
-Language: english 2005/03/30 v3.3o English support from the babel system
-
-(/usr/share/texmf-texlive/tex/generic/babel/babel.def
-File: babel.def 2008/07/06 v3.8l Babel common definitions
-\babel@savecnt=\count89
-\U@D=\dimen103
-)
-\l@british = a dialect from \language\l@english
-\l@UKenglish = a dialect from \language\l@english
-\l@canadian = a dialect from \language\l@american
-\l@australian = a dialect from \language\l@british
-\l@newzealand = a dialect from \language\l@british
-))
-(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
-Package: inputenc 2008/03/30 v1.1d Input encoding file
-\inpenc@prehook=\toks15
-\inpenc@posthook=\toks16
-
-(/usr/share/texmf-texlive/tex/latex/base/latin2.def
-File: latin2.def 2008/03/30 v1.1d Input encoding file
-)) (./titlepic.sty
-Package: titlepic 2009/08/03 1.1 Package to display a picture on the title page
-
-)
-(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
-Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
-\Gin@req@height=\dimen104
-\Gin@req@width=\dimen105
-)
-(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty
-\Urlmuskip=\muskip10
-Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
-)
-(/usr/share/texmf-texlive/tex/latex/lastpage/lastpage.sty
-Package: lastpage 1994/06/25 v0.1b LaTeX2e package for refs to last page number
- (JPG)
-)
-(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
-Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
-
-(/usr/share/texmf-texlive/tex/latex/base/t1enc.def
-File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
-LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
-))
-(/usr/share/texmf-texlive/tex/latex/koma-script/scrpage2.sty
-Package: scrpage2 2008/12/08 v2.3 LaTeX2e KOMA-Script package
-LaTeX Info: Redefining \pagemark on input line 176.
-)
-(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty
-Package: hyperref 2009/10/09 v6.79a Hypertext links for LaTeX
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/ifpdf.sty
-Package: ifpdf 2009/04/10 v2.0 Provides the ifpdf switch (HO)
-Package ifpdf Info: pdfTeX in pdf mode detected.
-)
-(/usr/share/texmf-texlive/tex/generic/oberdiek/ifvtex.sty
-Package: ifvtex 2008/11/04 v1.4 Switches for detecting VTeX and its modes (HO)
-Package ifvtex Info: VTeX not detected.
-)
-(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty
-Package: ifxetex 2009/01/23 v0.5 Provides ifxetex conditional
-)
-(/usr/share/texmf-texlive/tex/latex/oberdiek/hycolor.sty
-Package: hycolor 2009/10/02 v1.5 Code for color options of hyperref/bookmark (H
-O)
-
-(/usr/share/texmf-texlive/tex/latex/oberdiek/xcolor-patch.sty
-Package: xcolor-patch 2009/10/02 xcolor patch
-))
-\@linkdim=\dimen106
-\Hy@linkcounter=\count90
-\Hy@pagecounter=\count91
-
-(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def
-File: pd1enc.def 2009/10/09 v6.79a Hyperref: PDFDocEncoding definition (HO)
-)
-(/usr/share/texmf-texlive/tex/generic/oberdiek/etexcmds.sty
-Package: etexcmds 2007/12/12 v1.2 Prefix for e-TeX command names (HO)
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/infwarerr.sty
-Package: infwarerr 2007/09/09 v1.2 Providing info/warning/message (HO)
-)
-Package etexcmds Info: Could not find \expanded.
-(etexcmds) That can mean that you are not using pdfTeX 1.50 or
-(etexcmds) that some package has redefined \expanded.
-(etexcmds) In the latter case, load this package earlier.
-)
-(/usr/share/texmf-texlive/tex/latex/latexconfig/hyperref.cfg
-File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
-)
-(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty
-Package: kvoptions 2009/08/13 v3.4 Keyval support for LaTeX options (HO)
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/kvsetkeys.sty
-Package: kvsetkeys 2009/07/30 v1.5 Key value parser with default handler suppor
-t (HO)
-))
-Package hyperref Info: Hyper figures OFF on input line 2975.
-Package hyperref Info: Link nesting OFF on input line 2980.
-Package hyperref Info: Hyper index ON on input line 2983.
-Package hyperref Info: Plain pages OFF on input line 2990.
-Package hyperref Info: Backreferencing OFF on input line 2995.
-
-Implicit mode ON; LaTeX internals redefined
-Package hyperref Info: Bookmarks ON on input line 3191.
-LaTeX Info: Redefining \url on input line 3428.
-(/usr/share/texmf-texlive/tex/generic/oberdiek/bitset.sty
-Package: bitset 2007/09/28 v1.0 Data type bit set (HO)
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/intcalc.sty
-Package: intcalc 2007/09/27 v1.1 Expandable integer calculations (HO)
-)
-(/usr/share/texmf-texlive/tex/generic/oberdiek/bigintcalc.sty
-Package: bigintcalc 2007/11/11 v1.1 Expandable big integer calculations (HO)
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/pdftexcmds.sty
-Package: pdftexcmds 2009/09/23 v0.6 LuaTeX support for pdfTeX utility functions
- (HO)
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/ifluatex.sty
-Package: ifluatex 2009/04/17 v1.2 Provides the ifluatex switch (HO)
-Package ifluatex Info: LuaTeX not detected.
-)
-(/usr/share/texmf-texlive/tex/generic/oberdiek/ltxcmds.sty
-Package: ltxcmds 2009/08/05 v1.0 Some LaTeX kernel commands for general use (HO
-)
-)
-Package pdftexcmds Info: LuaTeX not detected.
-Package pdftexcmds Info: \pdf@primitive is available.
-Package pdftexcmds Info: \pdf@ifprimitive is available.
-)))
-\Fld@menulength=\count92
-\Field@Width=\dimen107
-\Fld@charsize=\dimen108
-\Field@toks=\toks17
-Package hyperref Info: Hyper figures OFF on input line 4377.
-Package hyperref Info: Link nesting OFF on input line 4382.
-Package hyperref Info: Hyper index ON on input line 4385.
-Package hyperref Info: backreferencing OFF on input line 4392.
-Package hyperref Info: Link coloring OFF on input line 4397.
-Package hyperref Info: Link coloring with OCG OFF on input line 4402.
-Package hyperref Info: PDF/A mode OFF on input line 4407.
-
-(/usr/share/texmf-texlive/tex/generic/oberdiek/atbegshi.sty
-Package: atbegshi 2008/07/31 v1.9 At begin shipout hook (HO)
-)
-\Hy@abspage=\count93
-\c@Item=\count94
-\c@Hfootnote=\count95
-)
-*hyperref using driver hpdftex*
-(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def
-File: hpdftex.def 2009/10/09 v6.79a Hyperref driver for pdfTeX
-\Fld@listcount=\count96
-)
-Package hyperref Info: Option `colorlinks' set `true' on input line 36.
-
-(/usr/share/texmf-texlive/tex/latex/graphics/color.sty
-Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
-
-(/etc/texmf/tex/latex/config/color.cfg
-File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
-)
-Package color Info: Driver file: pdftex.def on input line 130.
-)
-(/usr/share/texmf-texlive/tex/latex/listings/listings.sty
-\lst@mode=\count97
-\lst@gtempboxa=\box27
-\lst@token=\toks18
-\lst@length=\count98
-\lst@currlwidth=\dimen109
-\lst@column=\count99
-\lst@pos=\count100
-\lst@lostspace=\dimen110
-\lst@width=\dimen111
-\lst@newlines=\count101
-\lst@lineno=\count102
-\lst@maxwidth=\dimen112
-
-(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty
-File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz)
-\c@lstnumber=\count103
-\lst@skipnumbers=\count104
-\lst@framebox=\box28
-)
-(/usr/share/texmf-texlive/tex/latex/listings/listings.cfg
-File: listings.cfg 2007/02/22 1.4 listings configuration
-))
-Package: listings 2007/02/22 1.4 (Carsten Heinz)
-
-(/usr/share/texmf-texlive/tex/latex/fancyvrb/fancyvrb.sty
-Package: fancyvrb 2008/02/07
-
-Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
-<2008/02/07> (tvz)
-\FV@CodeLineNo=\count105
-\FV@InFile=\read1
-\FV@TabBox=\box29
-\c@FancyVerbLine=\count106
-\FV@StepNumber=\count107
-\FV@OutFile=\write3
-) (./test.aux)
-\openout1 = `test.aux'.
-
-LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 96.
-LaTeX Font Info: ... okay on input line 96.
-
-(/usr/share/texmf/tex/context/base/supp-pdf.mkii
-[Loading MPS to PDF converter (version 2006.09.02).]
-\scratchcounter=\count108
-\scratchdimen=\dimen113
-\scratchbox=\box30
-\nofMPsegments=\count109
-\nofMParguments=\count110
-\everyMPshowfont=\toks19
-\MPscratchCnt=\count111
-\MPscratchDim=\dimen114
-\MPnumerator=\count112
-\everyMPtoPDFconversion=\toks20
-)
-Package hyperref Info: Link coloring ON on input line 96.
- (/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty
-Package: nameref 2007/05/29 v2.31 Cross-referencing by name of section
-
-(/usr/share/texmf-texlive/tex/latex/oberdiek/refcount.sty
-Package: refcount 2008/08/11 v3.1 Data extraction from references (HO)
-)
-\c@section@level=\count113
-)
-LaTeX Info: Redefining \ref on input line 96.
-LaTeX Info: Redefining \pageref on input line 96.
- (./test.out)
-(./test.out)
-\@outlinefile=\write4
-\openout4 = `test.out'.
-
-\AtBeginShipoutBox=\box31
-\c@lstlisting=\count114
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <12> on input line 113.
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <8> on input line 113.
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <6> on input line 113.
- <uniLogo2.png, id=235, 770.88pt x 721.69624pt>
-File: uniLogo2.png Graphic file (type png)
- <use uniLogo2.png>
-[1
-
-{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./uniLogo2.png (PNG copy)>
-]
-LaTeX Font Info: Try loading font information for T1+cmss on input line 115.
-
- (/usr/share/texmf-texlive/tex/latex/base/t1cmss.fd
-File: t1cmss.fd 1999/05/25 v2.5h Standard LaTeX font definitions
-) (./test.toc
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 2.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 3.
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <10.95> on input line 4.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 7.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 8.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 19.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 24.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 27.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 32.
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 35.
- [2]
-Class scrartcl Info: You've told me to use the font selection of the element
-(scrartcl) `sectioning' that is an alias of element `disposition'
-(scrartcl) on input line 59.
-)
-\tf@toc=\write5
-\openout5 = `test.toc'.
-
-
-[3] [4
-
-] <BigPicture_new1.png, id=318, 874.26625pt x 665.48625pt>
-File: BigPicture_new1.png Graphic file (type png)
-
-<use BigPicture_new1.png>
-<activity_diagram.png, id=322, 550.84535pt x 679.45181pt>
-File: activity_diagram.png Graphic file (type png)
-
-<use activity_diagram.png> [5
-
- <./BigPicture_new1.png>] [6 <./activity_diagram.png>] <test_Use_case.png, id=3
-39, 806.92015pt x 846.75401pt>
-File: test_Use_case.png Graphic file (type png)
-
-<use test_Use_case.png> [7 <./test_Use_case.png>] [8]
-LaTeX Font Info: Try loading font information for T1+cmtt on input line 188.
-
-
-(/usr/share/texmf-texlive/tex/latex/base/t1cmtt.fd
-File: t1cmtt.fd 1999/05/25 v2.5h Standard LaTeX font definitions
-) [9] [10]
-<DBRelationship.png, id=362, 1638.12pt x 700.6175pt>
-File: DBRelationship.png Graphic file (type png)
- <use DBRelationship.png>
-[11
-
- <./DBRelationship.png>]
-LaTeX Font Info: Try loading font information for OMS+cmr on input line 234.
-
- (/usr/share/texmf-texlive/tex/latex/base/omscmr.fd
-File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
-)
-LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available
-(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 234.
-<activityControllerEdited.png, id=369, 945.5325pt x 639.38875pt>
-File: activityControllerEdited.png Graphic file (type png)
-
-<use activityControllerEdited.png>
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <9> on input line 258.
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <5> on input line 258.
- [12
-
- <./activityControllerEdited.png (PNG copy)>] [13] <classDiagram.png, id=388, 1
-673.25125pt x 808.01875pt>
-File: classDiagram.png Graphic file (type png)
-
-<use classDiagram.png> [14
-
- <./classDiagram.png>]
-<dbClass.png, id=396, 458.71375pt x 462.72874pt>
-File: dbClass.png Graphic file (type png)
- <use dbClass.png>
-<serialPort.png, id=398, 518.64352pt x 371.26941pt>
-File: serialPort.png Graphic file (type png)
- <use serialPort.png>
-[15
-
- <./dbClass.png>] <serverClass.png, id=411, 302.12875pt x 181.67876pt>
-File: serverClass.png Graphic file (type png)
-
-<use serverClass.png> <ClientClass.png, id=412, 507.30705pt x 256.48764pt>
-File: ClientClass.png Graphic file (type png)
-
-<use ClientClass.png> [16 <./serialPort.png (PNG copy)>]
-<ping.png, id=424, 419.44942pt x 97.77705pt>
-File: ping.png Graphic file (type png)
- <use ping.png> [17 <./serverClass.png (PNG copy)> <./ClientClass.png (PNG copy
-)>]
-<logging.png, id=432, 333.00882pt x 167.21294pt>
-File: logging.png Graphic file (type png)
- <use logging.png>
-<sshTunnelClass.png, id=433, 486.05118pt x 235.23177pt>
-File: sshTunnelClass.png Graphic file (type png)
-
-<use sshTunnelClass.png> <usbDetectClass.png, id=434, 401.5pt x 178.6675pt>
-File: usbDetectClass.png Graphic file (type png)
-
-<use usbDetectClass.png> [18 <./ping.png (PNG copy)> <./logging.png (PNG copy)>
- <./sshTunnelClass.png (PNG copy)>]
-<trueTable.png, id=443, 329.23pt x 111.41624pt>
-File: trueTable.png Graphic file (type png)
- <use trueTable.png>
-<initTestClass.png, id=445, 419.5675pt x 160.6pt>
-File: initTestClass.png Graphic file (type png)
- <use initTestClass.png>
-<controllerclass.png, id=446, 375.4025pt x 400.49625pt>
-File: controllerclass.png Graphic file (type png)
-
-<use controllerclass.png> [19 <./usbDetectClass.png (PNG copy)> <./trueTable.pn
-g (PNG copy)>] [20 <./initTestClass.png> <./controllerclass.png (PNG copy)>]
-<bb.jpg, id=461, 521.95pt x 516.93124pt>
-File: bb.jpg Graphic file (type jpg)
- <use bb.jpg> [21
-
- <./bb.jpg>] [22]
-[23
-
-] [24]
-<protocolCommunicationHandler.png, id=490, 2486.93823pt x 792.13588pt>
-File: protocolCommunicationHandler.png Graphic file (type png)
-
-<use protocolCommunicationHandler.png> [25
-
- <./protocolCommunicationHandler.png (PNG copy)>]
-<protocolCommunicationcControllerReceiver.png, id=497, 1808.16705pt x 766.62883
-pt>
-File: protocolCommunicationcControllerReceiver.png Graphic file (type png)
- <use protocolCommunicationcControllerReceiver.png>
-<protocolCommunicationcControllerCaller.png, id=498, 1808.16705pt x 766.62883pt
->
-File: protocolCommunicationcControllerCaller.png Graphic file (type png)
- <use protocolCommunicationcControllerCaller.png> [26
-
- <./protocolCommunicationcControllerReceiver.png (PNG copy)> <./protocolCommuni
-cationcControllerCaller.png (PNG copy)>] [27] <sshTunnel.png, id=536, 696.6025p
-t x 152.57pt>
-File: sshTunnel.png Graphic file (type png)
-
-<use sshTunnel.png> [28
-
- <./sshTunnel.png (PNG copy)>] [29] [30]
-LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <9> not available
-(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 710.
- [31] [32]
-[33] [34] <resultsImage.png, id=699, 702.625pt x 431.6125pt>
-File: resultsImage.png Graphic file (type png)
-
-<use resultsImage.png> [35 <./resultsImage.png (PNG copy)>] [36] [37] [38]
-[39] <First.png, id=772, 451.6875pt x 916.42375pt>
-File: First.png Graphic file (type png)
- <use First.png>
-<Second.png, id=773, 451.6875pt x 916.42375pt>
-File: Second.png Graphic file (type png)
- <use Second.png>
-<Third.png, id=774, 451.6875pt x 916.42375pt>
-File: Third.png Graphic file (type png)
- <use Third.png> [40 <./First.png> <./Second.png> <./Third.png>] [41
-
-] [42] [43] [44]
-<website1.png, id=874, 1272.755pt x 806.01125pt>
-File: website1.png Graphic file (type png)
- <use website1.png>
-<website2.png, id=875, 1264.725pt x 657.45625pt>
-File: website2.png Graphic file (type png)
- <use website2.png> [45
-
- <./website1.png (PNG copy)>] <webpageReport.png, id=882, 1074.0125pt x 613.291
-24pt>
-File: webpageReport.png Graphic file (type png)
-
-<use webpageReport.png> <website3.png, id=883, 1230.5975pt x 659.46375pt>
-File: website3.png Graphic file (type png)
-
-<use website3.png> <website4.png, id=884, 1003.75pt x 702.625pt>
-File: website4.png Graphic file (type png)
-
-<use website4.png> [46 <./website2.png (PNG copy)> <./webpageReport.png (PNG co
-py)>] <terminalCommand.png, id=891, 814.04124pt x 335.2525pt>
-File: terminalCommand.png Graphic file (type png)
-
-<use terminalCommand.png>
-<resultterminal.png, id=892, 631.35875pt x 177.66376pt>
-File: resultterminal.png Graphic file (type png)
-
-<use resultterminal.png> [47 <./website3.png (PNG copy)> <./website4.png (PNG c
-opy)>] <devconf.png, id=900, 687.56876pt x 306.14375pt>
-File: devconf.png Graphic file (type png)
- <use devconf.png>
-[48 <./terminalCommand.png (PNG copy)> <./resultterminal.png (PNG copy)> <./dev
-conf.png (PNG copy)>] [49
-
-] AED: lastpage setting LastPage [50] (./test.aux) )
-Here is how much of TeX's memory you used:
- 8696 strings out of 495061
- 126228 string characters out of 1182621
- 768145 words of memory out of 3000000
- 11294 multiletter control sequences out of 15000+50000
- 18496 words of font info for 43 fonts, out of 3000000 for 9000
- 28 hyphenation exceptions out of 8191
- 43i,11n,45p,760b,1784s stack positions out of 5000i,500n,10000p,200000b,50000s
- </home/refik/.texmf-var/fo
-nts/pk/ljfour/jknappen/ec/ecbx0900.600pk> </home/refik/.texmf-var/fonts/pk/ljfo
-ur/jknappen/ec/ecrm0900.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen
-/ec/ecrm0600.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm080
-0.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ectt1095.600pk> </
-home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecti1095.600pk> </home/refik/
-.texmf-var/fonts/pk/ljfour/jknappen/ec/ecsx1200.600pk> </home/refik/.texmf-var/
-fonts/pk/ljfour/jknappen/ec/ecrm1095.600pk> </home/refik/.texmf-var/fonts/pk/lj
-four/jknappen/ec/ecsx1095.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknapp
-en/ec/ecsx1440.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecsl1
-095.600pk> </home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1200.600pk>
-</home/refik/.texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1728.600pk></usr/share/
-texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texmf-texli
-ve/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-texlive/fonts/ty
-pe1/public/amsfonts/cm/cmsy9.pfb>
-Output written on test.pdf (50 pages, 5058627 bytes).
-PDF statistics:
- 1657 PDF objects out of 1728 (max. 8388607)
- 418 named destinations out of 1000 (max. 500000)
- 640 words of extra memory for PDF output out of 10000 (max. 10000000)
-
diff --git a/notFinishedCode/Report/test.out b/notFinishedCode/Report/test.out
deleted file mode 100644
index b4daec0..0000000
--- a/notFinishedCode/Report/test.out
+++ /dev/null
@@ -1,58 +0,0 @@
-\BOOKMARK [1][-]{section.1}{Introduction and Motivation}{}
-\BOOKMARK [1][-]{section.2}{Requirements}{}
-\BOOKMARK [2][-]{subsection.2.1}{Logical and algorithmic requirements}{section.2}
-\BOOKMARK [2][-]{subsection.2.2}{Software requirements}{section.2}
-\BOOKMARK [2][-]{subsection.2.3}{Hardware requirements}{section.2}
-\BOOKMARK [1][-]{section.3}{Database design}{}
-\BOOKMARK [1][-]{section.4}{Software design}{}
-\BOOKMARK [2][-]{subsection.4.1}{Database access}{section.4}
-\BOOKMARK [2][-]{subsection.4.2}{Controlling the cell phones}{section.4}
-\BOOKMARK [2][-]{subsection.4.3}{Client and Server class}{section.4}
-\BOOKMARK [2][-]{subsection.4.4}{Ping class}{section.4}
-\BOOKMARK [2][-]{subsection.4.5}{Data logging}{section.4}
-\BOOKMARK [2][-]{subsection.4.6}{SSH Tunnel Class}{section.4}
-\BOOKMARK [2][-]{subsection.4.7}{USB Cell phone detection class}{section.4}
-\BOOKMARK [2][-]{subsection.4.8}{Truth table class}{section.4}
-\BOOKMARK [2][-]{subsection.4.9}{Init Test class}{section.4}
-\BOOKMARK [2][-]{subsection.4.10}{Controller class}{section.4}
-\BOOKMARK [1][-]{section.5}{Hardware design}{}
-\BOOKMARK [2][-]{subsection.5.1}{BeagleBoard}{section.5}
-\BOOKMARK [2][-]{subsection.5.2}{Cell phones}{section.5}
-\BOOKMARK [2][-]{subsection.5.3}{Cables for the cell phones}{section.5}
-\BOOKMARK [2][-]{subsection.5.4}{Server}{section.5}
-\BOOKMARK [1][-]{section.6}{Communication protocol}{}
-\BOOKMARK [2][-]{subsection.6.1}{Communication between the handler and controller}{section.6}
-\BOOKMARK [2][-]{subsection.6.2}{Verification of the protocol}{section.6}
-\BOOKMARK [1][-]{section.7}{Security and safety of the system}{}
-\BOOKMARK [2][-]{subsection.7.1}{Encryption of the communication channels}{section.7}
-\BOOKMARK [2][-]{subsection.7.2}{Security on the web site}{section.7}
-\BOOKMARK [3][-]{subsubsection.7.2.1}{Configuring the http secure protocol https}{subsection.7.2}
-\BOOKMARK [3][-]{subsubsection.7.2.2}{Password protecting the web site using .htaccess}{subsection.7.2}
-\BOOKMARK [1][-]{section.8}{Web page}{}
-\BOOKMARK [2][-]{subsection.8.1}{Communication between the web page and the test software}{section.8}
-\BOOKMARK [2][-]{subsection.8.2}{Results on the web page}{section.8}
-\BOOKMARK [1][-]{section.9}{Employing the test software system}{}
-\BOOKMARK [2][-]{subsection.9.1}{Required software and libraries}{section.9}
-\BOOKMARK [3][-]{subsubsection.9.1.1}{Python installation}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.2}{Apache Web server installation}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.3}{SSH}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.4}{MySQL database and MySQLdb library}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.5}{Serial port library}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.6}{PJSUA library}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.7}{pChart library}{subsection.9.1}
-\BOOKMARK [3][-]{subsubsection.9.1.8}{proctitle library}{subsection.9.1}
-\BOOKMARK [2][-]{subsection.9.2}{Configuring hardware}{section.9}
-\BOOKMARK [3][-]{subsubsection.9.2.1}{Configuring the cell phones}{subsection.9.2}
-\BOOKMARK [2][-]{subsection.9.3}{Location of the files}{section.9}
-\BOOKMARK [2][-]{subsection.9.4}{Setting up the parameters}{section.9}
-\BOOKMARK [2][-]{subsection.9.5}{Test descriptions}{section.9}
-\BOOKMARK [3][-]{subsubsection.9.5.1}{Smart test}{subsection.9.5}
-\BOOKMARK [3][-]{subsubsection.9.5.2}{SIP test}{subsection.9.5}
-\BOOKMARK [3][-]{subsubsection.9.5.3}{GSM test}{subsection.9.5}
-\BOOKMARK [3][-]{subsubsection.9.5.4}{All test}{subsection.9.5}
-\BOOKMARK [3][-]{subsubsection.9.5.5}{Manual test}{subsection.9.5}
-\BOOKMARK [2][-]{subsection.9.6}{Result descriptions}{section.9}
-\BOOKMARK [2][-]{subsection.9.7}{Using the software}{section.9}
-\BOOKMARK [3][-]{subsubsection.9.7.1}{Web site guide}{subsection.9.7}
-\BOOKMARK [3][-]{subsubsection.9.7.2}{Terminal guide}{subsection.9.7}
-\BOOKMARK [1][-]{section.10}{Conclusion}{}
diff --git a/notFinishedCode/Report/test.tex b/notFinishedCode/Report/test.tex
deleted file mode 100644
index 6e15c02..0000000
--- a/notFinishedCode/Report/test.tex
+++ /dev/null
@@ -1,1376 +0,0 @@
-\documentclass[a4paper, titlepage, oneside, headsepline, footsepline]{scrartcl}
-%PACKAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{lscape} %for the landscape pages it is used
-\usepackage[english]{babel} %what language are we using
-\usepackage[latin2]{inputenc} %what alphabet
-
-\usepackage[tt]{titlepic} %used for adding the title image
-\usepackage{graphicx} %used for adding images
-\usepackage{url} %used for the url in bibliography
-\usepackage{lastpage} %give me the total number of pages, used in footer: \pageref{LastPage}
-
-\usepackage[T1]{fontenc} %used for fonts
-\usepackage{scrpage2} %used for making headers, footers and correct margins
-%\usepackage{hyperref} %used for the linking of table of content
-
-%information for the PDF
-\usepackage[pdftex, %used for adding pdf information
- pdfauthor={Refik Hadzialic, Triatmoko},
- pdftitle={Software for self-testing of the Telecommunication network of University of Freiburg},
- pdfsubject={Telecommunication network testing software},
- pdfkeywords={telecommunication;network;networking;linux;ubuntu;university;Freiburg;python;tcp/ip;security;gsm;sip;voip},
- pdfproducer={Latex with hyperref, or other system},
- pdfcreator={pdflatex, or other tool}]{hyperref} %used for the linking of table of content
-
-
-
-
-
-\hypersetup{ %setting up the look of the links
- colorlinks,
- citecolor=black,
- filecolor=black,
- linkcolor=black,
- urlcolor=black
-}
-
-\usepackage{color} %used for highlighting source code
-\usepackage{listings} %used to make a box with source code
-\usepackage{fancyvrb}
-\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
-\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE LOOK OF THE PAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pagestyle{scrheadings}
-
-\renewenvironment{abstract}
- {\begin{center}\large\textbf{}\noindent\end{center}}{\vspace{2\baselineskip}}
-
-% Disable single lines at the start of a paragraph (Schusterjungen)
-\clubpenalty = 10000
-% Disable single lines at the end of a paragraph (Hurenkinder)
-\widowpenalty = 10000 \displaywidowpenalty = 10000
-
-\setlength{\parskip}{0.01\baselineskip}
-\textheight = 620pt
-
-\ohead{Software for self-testing of the Telecommunication network of University of Freiburg} %make the header
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE THE STUFF FOR CODE
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\lstset{ %
-%language=Python, % choose the language of the code
-columns=fullflexible,
-keywordstyle=\color[rgb]{0.608,0.561,0.008},
-commentstyle=\color[rgb]{0.25,0.5,0.35},
-stringstyle=\color[rgb]{0.25,0.35,0.85},
-basicstyle=\footnotesize,%\scriptsize % the size of the fonts that are used for the code
-%numbers=left, % where to put the line-numbers
-numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
-stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
-numbersep=8pt, % how far the line-numbers are from the code
-backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
-showspaces=false, % show spaces adding particular underscores
-showstringspaces=false, % underline spaces within strings
-showtabs=false, % show tabs within strings adding particular underscores
-frame=single, % adds a frame around the code
-tabsize=2, % sets default tabsize to 2 spaces
-captionpos=b, % sets the caption-position to bottom
-breaklines=true, % sets automatic line breaking
-breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
-escapeinside={\%}{)} % if you want to add a comment within your code
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\newcommand{\titleOfProject}{Software For Self-Testing Of The Telecommunication Network Of University Of Freiburg}
-
-
-
-%begin of the document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-
-
-
-%make the title page
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titlepic{\includegraphics[width=90mm]{uniLogo2.png}}
-\title{Team Project \\ ``\titleOfProject''} % type title between braces
-\date{\today} % type date between braces
-\author{Refik Had\v{z}iali\'{c}\\ Triatmoko } % type author(s) between braces
-\department{\vspace{1\baselineskip} \large Albert-Ludwigs-Universit\"{a}t Freiburg \\
-Lehrstuhl f\"{u}r Komunikationsysteme\\
-Prof. Dr. Gerhard Schneider\\ \vspace{1\baselineskip} Supervisors: \\ Konrad Meier \\ Dennis Wehrle \\ \vspace{1\baselineskip} Sommersemester 2011}
-
-\maketitle
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%add the table of contents
-\tableofcontents
-
-%new page to start with
-\clearpage
-
-
-
-
-% first chapter
-\section{Introduction and Motivation} % chapter 1
-In the following report, the authors will try to give you a brief insight into our team project. The goal of our project was to develop a mechanism for automatic testing of our University Telecommunication network. The Telecommunication network of University of Freiburg consists of: our own internal GSM and telephone network systems; GSM redirecting device (if one initiates a call to one of the four external GSM networks, it redirects the calls to: T-mobile, 02, Vodaphone or E-Plus); a SIP gateway for land-line calls inside of Germany (sipgate.de) and international calls. Since we did not have access to internal servers, our strategy was to exploit the existing systems from an external perspective and infer the results out of our findings.
-Before we had started working on our project, we had to analyze the overall network to come up with the test cases that contain the highest information content. The next step in our procedure was to implement our ideas into a working piece of software.
-Gradually we implemented a bit-by-bit of the final software. In the following chapters we will describe in more detail our approach to the problem and how each subsystem works.
-This particular report and our wiki page should be a sufficient guide and manual for understanding, running and continuing the development of our test software.
-Certainly, we had a lot of fun while working on the project due the fact that we lost one team member.
-We would like to thank the whole department for the free coffee and their support, especially
-Konrad Meier, Dennis Wehrle, Richard M. Zahoransky and Larissa Linz, without their support this project would not
-end up this way.
-\clearpage
-\section{Requirements} % chapter 2
-At the start of the project the requirements were not completely known but as the time had passed we redefined our requirements and goals.
-The first and the most important part at the start was to identify the key goals of our team project. The basic goal of our team project was to build a
-test software system which could tell an operator user what part of the system is not properly working in our University telecommunication network.
-Konrad and Dennis suggested us to analyze figure 1 and depending on it to build our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{BigPicture_new1.png}
- \caption[]{Overview of the Freiburg University telecommunication network \cite{network}}
-\end{figure}
-Our first attempt was to see what could we test without having access to the system. We installed numerous communication programs to see what others have done.
-After gaining access to the communication software, we had decided to build most of the test software ourselves. Libraries, which were used,
-were only the ones we could not develop ourselves because of the time-span of our team project.
-\subsection{Logical and algorithmic requirements}
-Despite the software and hardware requirements, the logic in our team project may be considered as the most important part.
-Controlling the software and hardware in a specific manner was one of the requirements in our team project.
-Moreover, we were required to draw a use case diagram and a simple test case diagram so that we could better understand all the problems we had to deal with
-but also to easier follow the development of our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{activity_diagram.png}
- \caption[]{Simple algorithmic overview of a test case}
-\end{figure}
-\subsection{Software requirements}
-Afterwards, as we had defined our logical approach to the problems, we had to choose the programming language to realize our ideas. Since we had the freedom of choice, between the three suggested programming languages
-Java, C++ and Python, we made a joint decision to use Python as the main programming language in our team project. One of the requirements was to finish the team project in time,
-therefore our decision to use Python is justified. Using Python we could work faster and integrate our subsystems more effectively \cite{python}.
-Our programming language of choice is multi-platform, therefore our test software would be easy portable to other operating systems.
-\par Likewise we had to decide how our test software will work. One of the requirements by Dennis and Konrad was to make the software capable of being run from the terminal.
-The next requirement was to make an appealing GUI so that even an user without advanced Linux experience could handle the software and read out the results.
-\par In addition it was required to log all the past tests. Later on a machine learning algorithm or some other intelligence could be applied to deduce some error behavior of the system
-(e.g. an intelligent algorithm could find that part of the system fail in a combined manner). To accomplish the logging of all the tests we had to use a database system.
-We decided to use MySQL since it is open source and well supported.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{test_Use_case.png}
- \caption[]{Test case diagram}
-\end{figure}
-\subsection{Hardware requirements}
-Likewise the software requirements, we had hardware requirements as well. We were required to identify the hardware we will need to perform the tests.
-It was important to find old and cheap cell phones that could support \emph{AT Modem} commands because our budget was limited.
-\par A problem we had to deal with at the start was that the base stations are located at different geographical points which were not near to each other.
-No one should go everyday to the rooms where our cell phones are located only to change or charge the batteries.
-In the cable subsection we describe our approach to the charging battery problem. As we defined our requirements we continued with the process of developing the test software.
-During the development time we refined our requirements. In the next chapters we will explain our database, software and hardware design ideas.
-\newpage
-\section{Database design}
-As we mentioned in the software requirements section, we decided to use MySQL as our database system for storing the test information and results.
-It was not difficult to decide what database to use, since MySQL is one of the most supported database and one can find a library to use it with major programming languages.
-The key point in the design of our database was the simplicity and speed of accessing the data. We had decided to use seven tables. In the following paragraphs we will explain each table separately and its usage.
-The database design can be seen in figure 4.
-
-\par The \emph{PingResultTable} table has six attributes (\emph{taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2}), all of integer type.
-The \emph{taskNo} attribute identifies the test number but not a single test (e.g. an operator user has selected three different tests to be executed, all of the three tests will have the same \emph{taskNo} to identify them together as belonging to one test group and \emph{taskId} identifies each single test and will be explained later).
-\emph{sipServer} represents the Asterisk server ping result. \emph{sipGate} is used to represent the SIP Gate server for the landline calls (\url{http://www.sipgate.de}). \emph{uniSip} represents the ping results for our local University telephone network SIP server.
-\emph{gsmBox1} and \emph{gsmBox2} are the two single-chip Linux computers (BeagleBoard), that control two cell phones each one (i.e. they are also known under the name of \emph{nanoBTSx controller}).
-\emph{taskNo} is the primary and unique key in the table \emph{PingResultTable}. Rest of the attributes (i.e. \emph{sipServer, sipGate, uniSip, gsmBox1, gsmBox2}) are used to insert the ping results, if the assigned servers are reachable or not.
-Before any test attempt is made, our test software first tries to ping the servers. These results are then stored in the \emph{PingResultTable}.
-
-\par The \emph{ErrorCodeTable} table defines all the possible test results in the system, in other words it represents a list with error codes with their appropriate descriptions and meanings. It consists of two attributes (\emph{errorcode} and \emph{description}), the first is of integer type and the second of varchar type (the description message is allowed to be only 100 characters long).
-The \emph{ErrorCodeTable} table is used by the main test software (i.e. controller) to report the operator user what kind of error had appeared in the system.
-
-\par The \emph{DeviceAddressTable} is the table containing the location and identification data for each server and device. The table consists of seven attributes, \emph{deviceName, portName, number, lastChange, username, password, server}.
-\emph{deviceName} is the attribute with the name of the device or server (e.g. GSMRZ1 or landline), it is of varchar type. \emph{portName} is the attribute field with the location address for a cell phone (e.g. \emph{/dev/ttyUSB1}) or 'localhost' instead of NULL value for a server, it is of the varchar type.
-\emph{number} represents the number of the used service (i.e. number of the cell phone, SIP, etc.) and is of varchar type.
-\emph{lastChange} is a time value and represents the date and time the given entry was modified (we had plans in future versions of our test software that if an device gets a new IP address assigned it automatically changes it in the database).
-\emph{username} is the field with the username stored in for a server/service, like SIP and landline. \emph{password} attribute stores the password information for the given service. The \emph{server} attribute stores information about the location of the server, IP or DNS address of the server. All three fields, \emph{username}, \emph{password} and \emph{server} are of varchar type.
-The information stored in the given table is used by the test software to obtain usernames, passwords and addresses of the used services for the tests.
-
-\par The \emph{ResultTable} table is used by the test system to store final results for the performed tests. Our given table consists of two fields, \emph{taskID} and \emph{result} and both are of integer type. For each test entry with unique \emph{taskID} an error code is assigned in the \emph{result} field,
-depending on the test results. Error codes found in the \emph{ErrorCodeTable} table can be only assigned to this field.
-
-\par The \emph{TempTaskTable} table represents the table with the tasks the system has to execute next time the test software is started. The given table gets new data every time an operator user submits one or more test cases from the website to be executed. \emph{TempTaskTable} includes four attributes, \emph{taskID, taskNo, from, to}. Former two are of integer type and later two of varchar type.
-\emph{taskID} and \emph{taskNo} identify the test task to be executed, \emph{taskID} is the unique primary key. \emph{from} and \emph{to} fields have to match the names given in \emph{DeviceAddressTable.deviceName}, these two attributes specify the caller and callee devices/services. Consequently, after the tasks get executed, the test tasks are removed and the given table is empty again until next tests are added to it.
-However, all the test tasks even after deleting them from \emph{TempTaskTable} are kept in the \emph{TaskTable}. The reason why the authors of this project divided it into two tables was because of the database row selection speed. We had made the assumption that with time the database size will grow and therefore the database speed will not be the same as during the development period.
-
-\par The \emph{TaskTable} table, as mentioned before contains all the tests ever performed from the web site. It is made out of five attributes, \emph{taskID, taskNo, from, to, timestamp}. The first four fields are the same as in \emph{TempTaskTable}, however the last one, \emph{timestamp}, is used to record the exact time when the test was performed.
-\par The \emph{GSMListPrefix} table contains the data about the GSM networks and their prefixes. It consists of two
-attributes, both of varchar type, \emph{providerName} and \emph{prefix}.
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{DBRelationship.png}
- \caption[]{Database relationship diagram}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-
-
-\section{Software design} % section 2.1
-Software design was the next step after we analyzed the problem and developed a plan how to proceed further. Good analysis and planning with poor algorithmic implementation is valueless.
-During the work on the project, we had spent most of our time for software design.
-We kept in mind that our software should satisfy major paradigms of software engineering,
-like compatibility, extensibility, modularity, reliability, security, fault-tolerance and usability.
-The software engineering design concepts were achieved following way:
-\begin{itemize}
-\item Compatibility - we used Python and MySQL which are multi-platform and work on major OS
-\item Extensibility - new parts of code can be easily added by just modifying the classes
-\item Mudalarity - the components are independent black boxes, they are tested and validated independently
-\item Reliability - we use mutex locks to perform tests and database transaction operations to insert data into the database
-\item Security - all communication channels, as well as the access to the web site, are encrypted with asymmetric key cryptography
-\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging all events
-\item Usability - we tried to create a simple user interface and easily to use for everyone
-\end{itemize}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{activityControllerEdited.png}
- \caption[]{Working principle of the test software}
-\end{figure}
-
-\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site. When the test software
-is started manually it is database dependent as well and therefore could not be used if the
-database is being maintained or not working. If it is started from the web site it
-connects to the database to get its tasks which have to be performed. After receiving
-the tasks it makes a simple network test by pinging all the servers. The ping results
-are stored in the database (in case the test was started from the web site). Then it
-proceeds with the tests by connecting itself to the handlers and sending them commands
-to perform the tests\footnote{Before it connects to the handlers, it uses the ping
-results to see is the service/device physically connected to the network.}.
-At the higher level, these commands can be seen as requests for being the
-callee and caller. Meanwhile the handlers send their test results to the main
-test software which in return decides if the test result was successful or not.
-The result is written to the database (in case the software was started from the website),
-otherwise the results are displayed in the terminal window and the user who started
-it manually can see the test results. We will proceed with introducing the classes.
-The software class diagram can be seen in the following figure. More details for the
-classes, like the input/output can be found on our project's wiki page \cite{wiki}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{classDiagram.png}
- \caption[]{Class diagram (some classes were excluded)}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-\newpage
-\subsection{Database access} % subsection 2.1.1
-Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
-The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{dbClass.png}
- \caption[]{Class diagram for the dbClass}
-\end{figure}
-The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
-\subsection{Controlling the cell phones}
-Our first version of the developed program code for controlling the cell phones used predefined timed values
-to send commands instead of using a state controlled approach to confirm that every command was successfully received and executed by the cell phone.
-It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
-our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than the timed approach.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=80mm]{serialPort.png}
- \caption[]{GSM class diagram for controlling the cell phones}
-\end{figure}
-One can easily apply the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
-A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state). We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
-be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
-\subsection{Client and Server class}
-Our socket communication code is based on the example given in the Python socket manual \cite{socket}.
-We extended it into two classes, a client and a server class. We had used the TCP protocol to base our two classes on\footnote{TCP is reliable compared to UDP (i.e. transmitted packets get also delivered),
-packets are ordered when received and data are received in a stream (i.e. multiple packets can be read at once).}.
-The Server class can be seen in the following figure. The server class is implemented to accept only local connections\footnote{More details are given in the section 7.1}.
-First we determine our IP address and then create the socket to listen only for the same IP address (with a different IP address than the selected one a connection cannot be even established).
-One has to define the port on which the server object should listen.
-When receiving data one can easily define the timeout to be raised if data are not received in the timeout range or set it to \emph{0} to infinitely wait for the buffer to be filled with received data. While testing the server class we had the problem to listen on the same port if the application was forcibly\footnote{Manually closed using CTRL+C and run again.} restarted in less than 60 seconds. We got the error message: \emph{"Address already in use"}.
-This is not known as error behavior but rather an option to help the server to catch lost live packets (i.e. packets that are still in the network looking for it is goal destination).
-We solved the problem by changing the socket options with the \emph{SO\_REUSEADDR} parameter. This enabled us to get around the error when we tried to restart our server application.
-Before solving the problem without using the socket parameter, we had another solution to get around this problem by killing the application running the port, this old method is obsolete now.
-\begin{figure}[ht!]
- \centering
- \includegraphics[scale=0.8]{serverClass.png}
- \caption[]{Server class, used by the server application}
-\end{figure}
-In the process of testing the client class we did not have any major problems. The only major flow we had to debug was when one of the sides disconnects that we get out of the waiting loop if the timeout variable was set to \emph{0} (i.e. infinite waiting loop).
-The client class can be seen in the following figure. To initialize the client object one needs to define the IP address and the port of the server application listening on it.
-\begin{figure}[hb!]
- \centering
- \includegraphics[scale=0.5]{ClientClass.png}
- \caption[]{Client class, used by the client application}
-\end{figure}
-Once an instance of it is created and loaded with the IP address and the port, one needs to call the \emph{connect()} method.
-The method will produce an integer based on its connection state. Output information and the programming code can be found on our project wiki page \cite{wiki}.
-\subsection{Ping class}
-Before making any test and establishing a connection we were required to ensure that the server is online. The best way to assess the liveness property was to ping the server computer running the required service. Once the class is properly defined, we could easily set the number of ping tries.
-A ping timeout response was set up to 2 seconds. For more details and insights, one can read more about it on our wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=70mm]{ping.png}
- \caption[]{Ping class, used by test software}
-\end{figure}
-\subsection{Data logging}
-If errors appear it is important to reconstruct the events that led to the misbehavior of the software. One of the best ways to reconstruct the events was to log
-events for different blocks of programming code.
-We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
-How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{logging.png}
- \caption[]{Logging class}
-\end{figure}
-\subsection{SSH Tunnel Class}
-Since security played an important role in our team project. We decided to encrypt all of our data that was not processed on our server computer.
-The simplest solution to this problem was to build an SSH Class that could open and close a local forwarding port.
-All data sent through the created port is encrypted until it gets to its destination location.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{sshTunnelClass.png}
- \caption[]{SSH Tunnel class}
-\end{figure}
-\subsection{USB Cell phone detection class}
-Since we had used cables to connect the cell phones with the computer, usually the devices
-got their own port addresses. They were automatically assigned by the operating system,
-either after the cables were plugged into the USB port or after a system reboot.
-One of the problems we had to deal with was assigning the right cell phone
-(i.e. with the appropriate GSM network) to the corresponding port address.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{usbDetectClass.png}
- \caption[]{USB cable detection class}
-\end{figure}
-The operating system randomly assigned the port names after every reboot.
-We were looking for a solution to prevent this misaddressing of the devices.
-Our solution was to recognize every device and update the port address in the database.
-The principle how we identify the cell phones is by their calling numbers in the database.
-More details can be found on our project wiki page \cite{wiki}.
-\subsection{Truth table class}
-The truth table class was built to identify the broken and working parts of the system.
-It requires the list with test results to be present to be operable.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{trueTable.png}
- \caption[]{Truth table class}
-\end{figure}
-Then the class tries to identify the broken parts of our telecommunication network.
-The class can easily identify how many nanoBTSs are installed in the network and
-derive a decision which part of the network is broken.
-All the test results are stored in a list and can be easily read by calling the
-\emph{initTrueTable(x)} function. More details can be found on our project wiki page \cite{wiki}.
-\subsection{Init Test class}
-The main purpose of the class is to get device data from the database and to process it.
-The processed data get forwarded to the controller class and in the end the class
-fetches the results from the test. This class contains the \emph{smart test} functionality.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{initTestClass.png}
- \caption[]{Init test class}
-\end{figure}
-It selects automatically the important tests to perform. In the next step it
-tries to identify the problem in the network.
-More details can be found in the \emph{smart test} description.
-\subsection{Controller class}
-The controller class is used to assign jobs to handlers (in other words, which one is
-going to be the caller and callee). Simultaneously, it defines the port addresses for
-the communication between the handlers and the main test software (controller).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{controllerclass.png}
- \caption[]{Controller class}
-\end{figure}
-If the callee or the caller are nanoBTS controller boxes (i.e. BeagleBoards outside
-the Rechenzentrum), it will first create an SSH connection to make a tunnel before
-the local socket connection is created. Then the controller class sends all the
-required data regarding the test tasks to the handlers.
-
-\clearpage
-\section{Hardware design}
-In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
-Since one of the project goals was to reduce the costs as much as it was possible, we had tried to use some of the leftovers found in our lab.
-
-\subsection{BeagleBoard}
-``The BeagleBoard is an OMAP3530 platform designed specifically to address the Open
-Source Community.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{bb.jpg}
- \caption[]{BeagleBoard, a Linux-on-chip board where our controller software runs the GSM device }
-\end{figure}
-It has been equipped with a minimum set of features to allow the
-user to experience the power of the OMAP3530 and is not intended as a full development
-platform as many of the features and interfaces supplied by the OMAP3530 are not
-accessible from the BeagleBoard'' \cite{beagleDataSheet}.
-We run on it a special precompiled version of Ubuntu for the ARM processor type. The Linux system boots up from an SD Card.
-The board has an USB hub and network port attached to it. In our project it is connected to our
-internal university LAN network and to a cell phone. We positioned the two BeagleBoards in rooms where
-we had LAN access and GSM signal coverage of our two local base stations.
-
-\subsection{Cell phones}
-Our first attempt was to control a Nokia cell phone 3310 with the supplied USB connection cable.
-The protocols used by old versions of Nokia cell phones, as the 3310, use the F-Bus protocol. It was not easy to work with.
-After performing various experiments we succeeded to send and to read SMS messages. Later on we found out that it was not possible to
-send commands for receiving and making the calls. In the meantime we found two Siemens phones, one M45 and S55.
-The first one, Siemens M45, had a cable supplied with it and it was not difficult to control it with the standard set of AT modem commands.
-At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
-
-\subsection{Cables for the cell phones}
-Due to the fact that we had used 5 cell phones on a single computer, the best solution was to order 5 USB cables.
-Konrad bought 5 cables for 5 Siemens S55 cell phones. All of the cables have an USB2Serial chip converter inside of them.
-Once they were plugged into the USB port, Ubuntu automatically recognized the cables and installed the drivers.
-The virtual serial ports were created and could be found on \emph{/dev/ttyUSBx}, where $x$ is the automatically assigned number for the port.
-Some of the cables had the capability to charge the Siemens S55 phones.
-Konrad had opened several cables to solder the power supplies to some contacts and the problem was solved for all of the cables.
-\subsection{Server}
-We were given an old Pentium 3 computer where we installed Ubuntu Linux. Configured the Apache web server and MySQL.
-Afterwards we installed the Python on it and all the required libraries\footnote{Required libraries are mentioned in section 9.1.}.
-\clearpage
-
-\section{Communication protocol}
-A communication protocol represents a set of well defined rules by whose help two or more computing systems exchange information in-between.
-When defining these rules, it is important to define a limited state space for every possible event, no matter did we get the appropriate
-response from the other side. Our approach to this problem was to build a simple synchronous protocol, where every expected message is
-confirmed or otherwise the connection between two sides is immediately terminated. Since designing protocols is a demanding and challenging
-topic which requires years of experience and verification, we do not expect that we had developed the best possible and an optimum
-protocol\footnote{Design concepts and paradigms for the protocol design have been used from the
-``Network Protocol Design and Evaluation'' course, lectured by Dr. Stefan R\"{u}hrup}.
-In the following paragraphs we will try to clarify how our protocol works. Before we start to go into detail how the protocol works,
-it is important to remember that we differentiate two sides, handler and the controller side. The handler side represent the device
-that physically handles the call (e.g. the BeagleBoard) whereas the controller (i.e. the main test software), is the test software
-controlling the handler side and assigning the task to it.
-
-\subsection{Communication between the handler and controller}
-The handler side is always in the waiting mode, by waiting we denote the mode where the socket is already created and it is waiting
-for a connection to be accepted at the defined port. The controller initiates a socket connection to the two handlers.
-Subsequently, after the connection has been established, it is waiting for a message to be received. The first message
-has to be 13 characters long and include the following content \emph{HELLO HANDLER}. Thereupon, after the message has
-been validated, the handler side sends the controller side a response, \emph{HELLO CONTROLLER}.
-We call this first message exchange the initialization. Now the controller side has to decide which of the two handler's
-will be the caller/callee whereas the other handler will be the opposite. Let's assume the controller sends to the first
-handler the message \emph{RECEIVER} and to the second one the message \emph{CALLER|\#}, replace the callee number with the \# sign.
-In the meantime, both handlers initialize the software required to make the call and to receive the call. Asynchronously they
-respond back to the controller their successful initialization. The successful initialization is reported by sending \emph{RECEIVER READY}
-and \emph{CALLER READY}. After receiving the mentioned messages, the controller first sends the callee handler the
-message \emph{RECEIVE START} and then to the caller handler, the message \emph{CALLER START}. As a result of these messages,
-the handlers enter the receiving, respectively calling state. In the given states two timeout timers gets activated.
-These timers are responsible for the case if the physical connection between the callee and the caller are not successfully
-established or terminated\footnote{The client and server classes responsible for the communication have timeout timers as well
-for the case if the connection between the controller and handlers are broken.}. Afterwards, depending if the physical connection
-between the handlers (i.e. the callee and the caller) was successfully established or not, the handlers report their
-corresponding state with a message to the controller. The message is of the form \emph{CALL OK}, meaning the handler successfully
-established a physical connection with the other handler, or of the form \emph{CALL NOT OK}, meaning a physical connection was
-not successfully established on the given handler. The controller considers only a test successful if both handlers report
-with \emph{CALL OK}. The test software ends the established connection with the handlers by sending them the \emph{TERMINATE CONNECTION}
-command. After the handlers have terminated the connection, they enter the waiting for a new connection state and the process starts
-from beginning again. If the states are not entered in the specified order the connection is immediately terminated and
-the state machine is in the waiting for a new connection state\footnote{It cannot be seen in the protocol flowchart but one should
-keep in mind it works like a well defined state machine.}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{protocolCommunicationHandler.png}
- \caption[]{Flowchart of the protocol on the handler side without the state representation}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerReceiver.png}
- \caption[]{Flowchart of the protocol on the controller side for the caller without the state representation}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerCaller.png}
- \caption[]{Flowchart of the protocol on the controller side for the receiver without the state representation}
-\end{figure}
-
-\subsection{Verification of the protocol}
-``SPIN is a model checker - a software tool for verifying models of physical
-systems, in particular, computerized systems. First, a model is written that
-describes the behavior of the system; then, correctness properties that express
-requirements on the system's behavior are specified; finally, the model
-checker is run to check if the correctness properties hold for the model, and,
-if not, to provide a counterexample: a computation that does not satisfy a
-correctness property.'' \cite{spin}. We modeled our simple protocol in SPIN using
-the programming language PROMELA \cite{spin}. Since PROMELA is similar to C it was
-not possible to ensure 100\% matching with Python but we had made the assumptions of it.
-We modeled both sides, server and client side. As well as the server side being a caller
-and a callee. It was important to find out if our protocol is deadlock or delayed state free.
-For more details our model can be found on our wiki project page with the PROMELA source code \cite{wiki}.
-We had built in a 50\% random probability that the call test will not be successful, to make the model even more
-realistic. Our protocol idea was deadlock free and the verification results prove it.
-After we had modeled the basic idea we had written the code that implements our idea. The Python code
-resembles some kind of a state machine which remembers the last state and what the next state should be in case
-of receiving corresponding message. Otherwise it enters the exit state and then the start state.
-
-\begin{lstlisting}
-(Spin Version 6.1.0 -- 2 May 2011)
- + Partial Order Reduction
-Full statespace search for:
- never claim - (none specified)
- assertion violations +
- cycle checks - (disabled by -DSAFETY)
- invalid end states +
-State-vector 44 byte, depth reached 65, errors: 0
- 40 states, stored
- 3 states, matched
- 43 transitions (= stored+matched)
- 90 atomic steps
-hash conflicts: 0 (resolved)
- 2.195 memory usage (Mbyte)
-unreached in proctype Server1
- (0 of 36 states)
-unreached in proctype Server2
- (0 of 36 states)
-unreached in proctype Client
- (0 of 67 states)
-pan: elapsed time 0 seconds
-\end{lstlisting}
-
-\clearpage
-\newpage
-
-
-\section{Security and safety of the system}
-Safety and security of the software plays a major role in our project.
-It is of vital importance that only as few as possible people have access to our test system since the resulting data could be exploited to plan an attack
-(e.g. assume the University alarm system uses the SIP gateway to connect to the outside world and to alarm the police, if one knows that the SIP gateway is not working properly, a burglar could plan to rob the University building just at that moment). Therefore the choice to go Open Source is justified due to the fact that one should know how every single detail of the system works.
-All the time, while we were working on the project, we were made aware of this issue by Dennis and Konrad.
-We decided to use asymmetric key cryptography, where each side has two keys (private and public). In the next sections we will explain in more details how we applied the methods.
-\subsection{Encryption of the communication channels}
-At first we thought to encrypt the data before sending them but since none of us was an expert on encryption standards the idea was rejected. Alongside the fact that none of us had been an expert in the field of cryptography, we were neither experts in the field of Internet programming. One could find maybe a way to disable our server software with various hacking methods (e.g.
-trying to open the port until the system runs out of memory and in our case the system which we used on the handler side was a BeagleBoard with ARM architecture running on a single chip TI OMAP processor, refer to the picture in figure).
-We had to eliminate even the slightest possible threat in return for spending more time for debugging the test software system. Despite we were aware of all these facts, we had to choose one of the plenty implemented encryption standards on Linux.
-Dennis and Konrad suggested using the SSH Tunneling method.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{sshTunnel.png}
- \caption[]{SSH Tunnel, all the communication inside the tunnel is encrypted }
-\end{figure}
-
-Using the SSH Tunnel port forwarding method we could hide the real port we had used for our socket connection. On the other hand we could force the socket to accept only local connections (i.e. from the machine where the handler software was running).
-The SSH Tunnel port forwarding method creates an encrypted tunnel between the two computers and then it creates two ports, one on the local and remote computer. All the data sent through the port on the local machine appear on the port at the remote machine. \newline The first problem we faced was that SSH required the username and password every time we tried to make an SSH connection. We could avoid this problem by copying the public key from our server (where our test software runs) to the BeagleBoard \cite{sshTunnel}.
-This can be performed by executing the following commands in the terminal shell.
-One has to create first the private and public keys on the local machine(i.e. server computer, where the test software runs):
-
-\begin{lstlisting}
-refik@ubuntu:$ [Note: You are on local-host here]
-
-refik@ubuntu:$ ssh-keygen
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/refik/.ssh/id_rsa):[Enter key]
-Enter passphrase (empty for no passphrase): [Press enter key]
-Enter same passphrase again: [Press enter key]
-Your identification has been saved in /home/refik/.ssh/id_rsa.
-Your public key has been saved in /home/refik/.ssh/id_rsa.pub.
-The key fingerprint is:
-33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 refik@ubuntu
-\end{lstlisting}
-
-Then one needs to copy the public key to the remote machine (BeagleBoard) using ssh-copy-id:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
-refik@remote-host's password:
-Now try logging into the machine, with "ssh 'remote-host'", and check in:
-
-.ssh/authorized_keys
-
-to make sure we haven't added extra keys that you weren't expecting.
-\end{lstlisting}
-
-After we have created the public and private keys, and coppied the public key on the machine to which we want to connect, we can test if we can make an SSH connection to the remote machine:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh remote-host
-[Note: SSH did not ask for password.]
-
-refik@remote-host:$ [Note: You are on remote-host here]
-\end{lstlisting}
-The test was successful. We tested it with our SSH Tunnel port forwarding class and it worked perfectly.
-\subsection{Security on the web site}
-Aside from having secured the data communication channels between various parts of our software
-(the handlers and the controller), it was crucial to ensure all the communication between
-test user's browser and our server. Therefore we had used the \emph{https} protocol and
-the \emph{.htaccess} file to password protect the web site so only the privileged users
-have access to our test system.
-\subsubsection{Configuring the http secure protocol https}
-Securing the communication channels without making certain the web site is safe would be worthless.
-We decided to use the \emph{https} protocol instead of the \emph{http} since a person in the middle
-could sniff our data (e.g. a person is connected with his/her smart-phone over an unprotected wireless network) \cite{https}.
-At the same time the web site should be accessible only by the authorized personel. Our first approach to this
-problem was to build an PHP page with \emph{MD5} hashed passwords, however we got a suggestion by Konrad and Dennis to
-use a safer encryption method implemented in the Apache web server software, \emph{.htaccess}. By using
-these two techniques we protected the web site of some vulnerabilities known to us. If the web site
-will be only accessed from our local university network, we can additionally add an IP filter mask as well.
-In the following paragraph we will explain our procedure how to generate the keys and to enable the https protocol.
-\par First we want to generate a server key by typing the following command:
-\begin{lstlisting}
-openssl genrsa -des3 -out server.key 4096
-\end{lstlisting}
-\par This will generate a 4096 bit long private server key, one is asked to enter two times a password for the \emph{server.key}.
-Using the generated private server key, we will create a certificate signing request, \emph{server.csr}. We were prompted with a series of questions
-like country, state, organization name and etc which we had to enter to resume.
-\begin{lstlisting}
-openssl req -new -key server.key -out server.csr
-\end{lstlisting}
-\par In the next step we had to sign the certificate signing request and enter the amount of days for how long it should be valid.
-In our case we entered the duration of one year, one can make it for longer periods as well (i.e. the amount of 365 has to be changed).
-\begin{lstlisting}
-openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-\end{lstlisting}
-\par We were asked to enter the password again for \emph{server.key}. After we have completed this step we had to make
-a version of the \emph{server.key} which did not require a password, \emph{server.key.insecure} and we will rename the files appropriately.
-\begin{lstlisting}
-openssl rsa -in server.key -out server.key.insecure
-mv server.key server.key.secure
-mv server.key.insecure server.key
-\end{lstlisting}
-\par The generated files are very sensitive, since they are our keys. After these steps were completed, we had generated 4 files: \emph{server.crt}, \emph{server.csr}, \emph{server.key} and \\ \emph{server.key.secure}. Now we need to enable the SSL engine on the Apache web server.
-We coppied \emph{server.key} and \emph{server.crt} into \emph{/etc/appache2/ssl}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2$ sudo mkdir ssl
-cp server.key /etc/apache2/ssl
-cp server.crt /etc/apache2/ssl
-\end{lstlisting}
-\par Then we enabled SSL by typing in \emph{a2enmod ssl}, ``it is simply a general purpose utility to establish a symlink between a module in \emph{/etc/apache2/mods-available} to \\ \emph{/etc/apache2/mods-enabled} (or give a message to the effect that a given module does not exist or that it is already symlink-ed for loading)'' \cite{https}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo a2enmod ssl
-Enabling module ssl.
-See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
-Run '/etc/init.d/apache2 restart' to activate new configuration!
-\end{lstlisting}
-\par In the next procedure we had to establish a symlink from the 'available' default-ssl file to the 'enabled' file \cite{https}. Then we created a folder where our secured PHP files will be located (e.g. https://some-domain-name.com/test-software).
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
-refik@ubuntu:/etc/apache2/ssl$ cd /var/
-refik@ubuntu:/var$ sudo mkdir www-ssl
-\end{lstlisting}
-\par We had backed up our old configuration files for the virtual hosts, for the case if we damage the Apache configuration files. Then we edited the \emph{default-ssl} file.
-\begin{lstlisting}
-refik@ubuntu:/var$ cd /etc/apache2/sites-available
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default default_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default-ssl default-ssl_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par Only the beginning of the file is listed here and we have modified the line starting with \emph{DocumentRoot}
-and \emph{<Directory /var/www/>} from \emph{DocumentRoot /var/www} to \emph{DocumentRoot /var/www-ssl}
-and from \emph{<Directory /var/www/>} to \emph{<Directory /var/www-ssl/>}
-(i.e. we had to redefine the location of our SSL directory).
-\begin{lstlisting}
-<IfModule mod_ssl.c>
-<VirtualHost _default_:443>
- ServerAdmin webmaster@localhost
-
- DocumentRoot /var/www-ssl
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-\par One should keep in mind that the port 443 should be free for Apache to use it. In the proceeding step we had to ensure that Apache listens on the given port for a \emph{https} connection.
-One could test that by going into the \emph{/etc/apache2/ports.conf}.
-\begin{lstlisting}
-<IfModule mod_ssl.c>
- # If you add NameVirtualHost *:443 here, you will also have to change
- # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
- # to <VirtualHost *:443>
- # Server Name Indication for SSL named virtual hosts is currently not
- # supported by MSIE on Windows XP.
- Listen 443
-</IfModule>
-\end{lstlisting}
-\par In our case it was set up correctly, since the command: \emph{Listen 443} was present.
-In our last configuration step we had to edit \emph{default-ssl} file to define the correct locations of our keys and to ensure the SSL engine was turned on.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par The following part of the file had to be found and modified according to our locations:
-\begin{lstlisting}
-SSLEngine on
-
- # A self-signed (snakeoil) certificate can be created by installing
- # the ssl-cert package. See
- # /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
- # If both key and certificate are stored in the same file, only the
- # SSLCertificateFile directive is needed.
- SSLCertificateFile /etc/apache2/ssl/server.crt
- SSLCertificateKeyFile /etc/apache2/ssl/server.key
-
- # Server Certificate Chain:
- # Point SSLCertificateChainFile at a file containing the
-\end{lstlisting}
-\par Finally we had configured our server and can proceed with the restart of the apache web server. We created a test web site \emph{/var/www-ssl/index.php} and navigated our browser to \emph{https://localhost}. The test was successful!
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
- * Restarting web server apache2 [Sat Oct 08 21:52:51 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
- ... waiting [Sat Oct 08 21:52:52 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence [ OK ]
-refik@ubuntu:/etc/apache2/sites-available$
-\end{lstlisting}
-\subsubsection{Password protecting the web site using .htaccess}
-Aside from using a secure communication protocol on the web, \emph{https}, it is important
-to ensure that only permissioned users gain access to the web site. We had achieved it using
-the \emph{.htaccess} file. However, to enable the use of Apache \emph{.htaccess} files,
-we will have to reconfigure the Apache configuration files again. \emph{root} access will
-be required. First we have to edit the \emph{/etc/apache2/sites-available/default-ssl} file.
-Find the following lines and modify the \emph{AllowOverride None} to \emph{AllowOverride All}
-like in the given configuration segment:
-\begin{lstlisting}
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride All
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-This will tell Apache web server that it is okay to allow \emph{.htaccess} files
-to over-ride previous directives. We must reload the Apache web server before the
-changes can take effect. We can do it by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 reload
-\end{lstlisting}
-The next step is to go to the directory where our test software web page is located
-(e.g. \emph{/var/www-ssl/testsoftware}) and to create a file called \emph{.htaccess}.
-Please insert the following code segment inside the created \emph{.htaccess} file where
-\emph{/var/www-ssl/testsoftware/.htpasswd} is your full path address to \emph{.htpasswd}:
-\begin{lstlisting}
-AuthUserFile /var/www-ssl/testsoftware/.htpasswd
-AuthName "Authorization Required"
-AuthType Basic
-require valid-user
-\end{lstlisting}
-Then in the next step, create another file called \emph{.htpasswd}. After you have created it,
-we will add the usernames that should have access to the web site. We do that by typing the
-following command, where you can replace \emph{konrad} with any other combination of letters
-which will represent your username:
-\begin{lstlisting}
-refik@ubuntu:/var/www-ssl/testsoftware$ sudo htpasswd -c .htpasswd konrad
-\end{lstlisting}
-Afterwards, you will be required to type twice the same password for the username
-you want to create, in this case \emph{konrad}. ``The -c flag is used only when you
-are creating a new file. After the first time, you will omit the -c flag,
-when you are adding new users to an already-existing password file. Otherwise you
-will overwrite the file!'' \cite{htaccess}. You can add as many users as you wish,
-do not forget to remove the -c flag when you do it.
-In the last step, we have to modify the \emph{/etc/apache2/apache2.conf} file and
-to add at the end of it the following code segment where \emph{/vaw/www-ssl/testsoftware}
-is the full path to your web page directory where you put the \emph{.htpasswd} file:
-\begin{lstlisting}
-<Directory /vaw/www-ssl/testsoftware>
-AllowOverride All
-</Directory>
-\end{lstlisting}
-We are done with editing. All we have to do now is to restart the Apache web server. We
-can do that by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 restart
-\end{lstlisting}
-You can test it now by opening a new browser tab and navigating to \emph{https://localhost/\\testsoftware}
-(keep in mind to replace \emph{testsoftware} with your name of the folder where the web page
-is located). If you configured everything properly, you should get a dialog where you can
-enter your created username and password and try to login.
-
-\newpage
-\section{Web page}
-One of the requests of our team project was to build a test system that could be started from the web site.
-Since we used the Open Source platform to base our project on, it was certain we will use it for the web site as well.
-The dynamic parts of the web site were programmed using PHP and JavaScript. The GUI was done using CSS.
-The web site opens TCP/IP sessions between itself and the Python test software. Due reasons explained in the section above,
-a test user needs first to enter his username and password to access the web site. Then a test user can manually select what type of tests he wants to perform or he can select already defined test,
-like the simple, smart or full test. (Describe here these three type of tests).
-Data about the performing tests are inserted into the database only in the case if the mutex lock for the web site can be obtained\footnote{The mutex lock will be explained in the next subsection.}.
-This way we can avoid inserting data about the test in case there is already a test user on the website performing some tests on the system.
-\subsection{Communication between the web page and the test software}
-Our first idea was that the PHP file starts the test software.
-However, parts of our test software open new terminal windows and
-since PHP has restrictions for starting GUI applications our approach was condemned for a failure at the start.
-We had to deal with this problem and our solution to it was to write a little Python script that will run in background and start our
-test software when required. Once a person starts the test over the web site, it automatically connects to the Python script over an TCP/IP socket.
-Before being able to start the test software one needs first to obtain the mutex lock on the web site and to check if there is a mutex lock for the test software running.
-Using this approach we can ensure that only one user at the time can be on the web site and run only one instance of the test software.
-In the next step we send the Python script a message to start the test software. The test software obtains a mutex lock as well.
-When the test software is started the web page checks if a software lock is obtained.
-Once it is obtained we can proceed with creating a new socket connection between the web site and the test software.
-Our TCP/IP communication between the web site and the test software is not encrypted since both the web page and the test software run on the same server computer.
-The mutex locks are freed after the tests are performed. Our test software has a timeout timer in case that the web site hangs or somehow the socket connection breaks
-where it automatically shuts down.
-\subsection{Results on the web page}
-All the performed test results are displayed on the web site. The results are displayed in real time after each selected test case is performed.
-After all the test cases have been performed a topological picture is generated which represents the current state of the system, this can bee seen in the following figure.
-Afterwards, when the result picture is generated, the test user can easily see what is wrong in the system. Various icons represent different subsystems.
-Reading the test results is as simple as looking at the icons and identifying if they have: a green plus signs (i.e. working properly), a red minus sign (i.e. not working properly) and a yellow exclamation mark (i.e. it was not tested).
-
-\begin{itemize}
-\item Triangles represent BTS stations
-\item Cell phones represent the external networks (E-Plus, Vodaphone, T-Mobile and O2)
-\item Telephone represents the landline and a telephone with a mortarboard the University telephone network
-\item Servers represent the OpenBSC and LsfKs-Asterisk
-\item Two monitors represent the SIP system
-\end{itemize}
-
-\par The inference mechanism works as following: if a test case works, we can conclude that the subsystems connected in-between the two ends are working properly as well.
-We use the pChart library\footnote{It is under the GNU GPLv3 license and our project is nonprofit!} to generate the topological picture of our telecommunication system \cite{pChart}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{resultsImage.png}
- \caption[]{Result image showing working, defected and not tested subsystems}
-\end{figure}
-\par On the right side of the result picture the test user can immediately identify the network operability in percentage\footnote{The test user has to take into account that this percentage is only valid if a full test is performed.}. Bellow the network operability statistics are the ping results statistics located.
-If one of the fields is red it means the subsystem is not online or cannot be seen by our server computer where the test software is located.
-\newpage
-\section{Employing the test software system}
-In this section the reader can find out how to install and how to use the test system.
-Our goal was to make a multi-platform test software, however we tested it only under Ubuntu
-11.04 32 bit Linux OS and the given instruction manual is only tested under that OS. The
-test software performed well, both on PC and MAC computers.
-One should keep in mind that some of the libraries we had used do not work
-under the 64 bit version of Linux OS.
-
-\subsection{Required software and libraries}
-In the next subsections, we will guide you how to install all the required software and
-libraries to flawlessly run our test software on your employed server.
-You will be required to have \emph{root} access privileges and to open a new
-terminal window where the commands will be typed in.
-
-\subsubsection{Python installation}
-Python was our programming language of choice\footnote{We had explained earlier why we
-have decided to use Python.}. The required version of Python is 2.7. One can easily
-install python by typing the following commands:
-\begin{lstlisting}
-sudo apt-get update
-sudo apt-get install python2.7
-\end{lstlisting}
-It will take a short amount of time to be installed. You will be required to enter
-the \emph{root} password.
-
-\subsubsection{Apache Web server installation}
-We had decided to use the Apache web server because of its wide support on the Internet
-and safety reasons. If there are any bugs or security flaws, the patches are
-easily installed with the Ubuntu update manager. The Apache web server can be easily
-installed by typing the following command:
-\begin{lstlisting}
-sudo apt-get install apache2
-\end{lstlisting}
-You might be required to follow other installation instructions printed on the
-terminal screen.
-After the installation has completed successfully, one can test if it works by going
-to the following web address: \emph{http://localhost}. For configuring the \emph{https}
-please go to the section 7.2.
-
-\subsubsection{SSH}
-Secure Shell (SSH) is a network protocol for secure data communication between two
-computers inside of a network. All computers are required to have SSH installed on it.
-You can easily install it by typing the following command:
-\begin{lstlisting}
-sudo apt-get install ssh
-\end{lstlisting}
-
-\subsubsection{MySQL database and MySQLdb library}
-The MySQLdb library is required to perform various operations on the MySQL database within
-Python. We used the MySQLdb library instead of the native MySQL C API \emph{\_mysql} library
-to make the code cleaner and more portable.
-We suggest you to install first the MySQL database on the server computer. If you
-have installed MySQL you can skip the next part. To star the installation process one can
-type the following commands:
-\begin{lstlisting}
-sudo apt-get install mysql-server
-\end{lstlisting}
-You will be required to enter the Linux \emph{root} password. At some point during
-the installation process, you will be required to enter the password for the MySQL
-database. After you have performed the above step, we can proceed with the
-MySQLdb library installation. By typing:
-\begin{lstlisting}
-sudo apt-get install python-mysqldb
-\end{lstlisting}
-If the \emph{python-mysqldb} name has changed, one can easily find the correct name of the
-file by issuing the following command:
-\begin{lstlisting}
-apt-cache search MySQLdb
-\end{lstlisting}
-By typing in the commands given above, you should have successfully installed the MySQLdb
-library.
-
-\subsubsection{Serial port library}
-The serial port library is required for the cell phones to communicate with the
-server computer and the BeagleBoards. The required library for Python can be installed
-by typing the following command:
-\begin{lstlisting}
-sudo apt-get install python-serial
-\end{lstlisting}
-The installation should not produce any errors or warnings.
-
-\subsubsection{PJSUA library}
-\emph{PJSUA} is an open source command line SIP user agent (soft-phone). We use the library
-for the SIP handler. First, one needs to download the library
-from \url{http://www.pjsip.org/download.htm} \cite{pjsip}. Then extract it to some folder.
-Then we will build the library using make. This can be accomplished by typing the following
-commands:
-\begin{lstlisting}
-cd your-pjsip-root-dir
-./configure && make dep && make
-cd pjsip-apps/src/python
-sudo make
-\end{lstlisting}
-
-If you get an error similar to this one:
-\begin{lstlisting}
-_pjsua.h:25:20: fatal error: Python.h: No such file or directory
-compilation terminated.
-error: command 'gcc' failed with exit status 1
-\end{lstlisting}
-Then you will be required to install python-dev as well, that matches your version of
-python (e.g. python2.7-dev). You can do it by typing:
-\begin{lstlisting}
-sudo apt-get install python2.7-dev
-\end{lstlisting}
-After you have successfully installed python2.7-dev, repeat the the commands given above.
-Now you should have a properly installed PJSUA library. One can easily test if the installation
-was successful by compiling a simple python code, \emph{python test.py}, with the following
-source code:
-\begin{lstlisting}
-import pjsua
-\end{lstlisting}
-If you do not get any errors, you have successfully installed the library. More detail can
-be found on our project wiki page \cite{wiki}.
-
-\subsubsection{pChart library}
-The pChart library is within our installation files and does not require to be installed
-individually. The library is only required if one uses the web interface and
-requires the generated resulting image. The library is open source and does not require
-any licensing. However, if one needs to learn how the library works,
-information can be found on the pChart web page \cite{pChart}.
-
-\subsubsection{proctitle library}
-We had used this library to rename the currently executed process name.
-``The library allows a process to change its title (as displayed by system
-tools such as ps and top). Changing the title is mostly useful in
-multi-process systems, for example when a master process is forked:
-changing the children's title allows to identify the task each process is
-busy with.'' \cite{proctitle}. The library can be easily installed by typing:
-\begin{lstlisting}
-sudo easy_install setproctitle
-\end{lstlisting}
-
-
-\subsection{Configuring hardware}
-Before proceeding with the next steps, please connect all the cell phones
-to the USB hub using the suitable cables. Then make sure the cables are
-recognized by the operating system. This can be performed by typing the following command:
-\begin{lstlisting}
-dmesg | grep ttyU
-\end{lstlisting}
-The given command should produce a result similar to:
-\begin{lstlisting}
-[ 5178.753600] usb 1-1.2: pl2303 converter now attached to ttyUSB0
-\end{lstlisting}
-
-We have two different ways to configure the cell phones, manually and automatic.
-Both options can be accessed either using the website or the terminal window.
-Using the manual configuration from the terminal, the user configures everything him/herself.
-The user will be presented with a few questions like the port address, cell phone number and IMEI.
-After the user enters all the required parameters, the software will check
-if the given port address is accessible and it will look for a response from the devices.
-Then you will be asked to enter the IMEI and the cell phone number of the device.
-If the entered IMEI matches the device IMEI then the software will update the database
-with the entered information. You can run, both the manual and automatic configuration
-by typing:
-\begin{lstlisting}
-python gsmselftest.py --devconf
-\end{lstlisting}
-In the automatic configuration, the software will automatically try to detect every
-cell phone that is connected to the USB hub. This configuration option can detect
-up to nine cell phones, that are connected to the server computer. We had set a limit to
-nine cell phones because we required only five (four for the external GSM networks
-and one for our internal GSM BST). The only limitation of the automatic cell phone configuration
-is that it only supports cell phones where we could read out the number using the \emph{AT Modem}
-commands since some cell phone manufacturers do not use the standardized \emph{AT Modem} commands.
-\newpage
-\subsubsection{Configuring the cell phones}
-It is important to write in the Siemens S55 cell phones their numbers if you want to use
-automatic device configuration. You can do that by following the next few steps:
-
-\par Open the phone book on the S55 and choose \emph{<Special books>} and press the select button.
-\par In the second step, press select on \emph{<OwnNumber>}.
-\par In the third and last step, enter your cell phone number and save it!
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{First.png}
- \caption[]{First step in configuring the phone}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Second.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Third.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\clearpage
-\subsection{Location of the files}
-For proper operation of the software, it is important that each file is at its correct path
-located. In the given section you can find out the correct path locations.
-If you are not an expert, please do not change these locations.
-The following files have to be located in the \emph{/var/www-ssl/testsoftware/} folder:
-\begin{lstlisting}
-drwxr-xr-x 7 root root 4096 2011-10-28 12:45 .
-drwxr-xr-x 3 root root 4096 2011-10-20 17:06 ..
--rw-r--r-- 1 root root 109 2011-10-26 16:55 .htaccess
--rw-r--r-- 1 root root 20 2011-10-26 17:11 .htpasswd
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 class
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 css
--rw-r--r-- 1 root root 7547 2011-10-20 17:06 delayedLoading.js
--rw-r--r-- 1 root root 3431 2011-10-25 14:38 devconf.html
--rw-r--r-- 1 root root 2024 2011-10-25 23:47 devconfigAuto.php
--rw-r--r-- 1 root root 1811 2011-10-26 13:44 devconfigManual.php
--rw-r--r-- 1 root root 2195 2011-10-25 23:45 devconfig.php
--rw-r--r-- 1 root root 3526 2011-10-27 14:51 devconf.php
--rwxr-xr-x 1 root root 725 2011-10-20 17:06 execute.php
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 fonts
--rw-r--r-- 1 root root 2259 2011-10-28 12:43 index.html
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 icons
-drwxr-xr-x 2 root root 4096 2011-10-25 14:10 Images
--rw-r--r-- 1 root root 2038 2011-10-20 17:06 insertData.php
--rw-r--r-- 1 root root 636 2011-10-26 13:43 insertdevice.php
--rw-r--r-- 1 root root 10819 2011-10-20 17:06 loader.gif
--rw-r--r-- 1 root root 2268 2011-10-26 16:07 main.php
--rw-r--r-- 1 root root 5416 2011-10-20 17:06 moocheck.js
--rw-r--r-- 1 root root 75836 2011-10-20 17:06 mootools.js
--rw-r--r-- 1 root root 677 2011-10-20 17:06 mutexFunctions.php
--rw-r--r-- 1 root root 9063 2011-10-25 17:20 mutexSmartTest.php
--rwxr-xr-x 1 root root 9143 2011-10-28 12:45 mutexTry.php
--rw-r--r-- 1 root root 13304 2011-10-20 17:06 networkResult.php
--rw-r--r-- 1 root root 8294 2011-10-21 19:02 post.php
--rw-r--r-- 1 root root 19218 2011-10-21 17:36 startTest2.php
--rw-r--r-- 1 root root 18852 2011-10-20 17:06 startTest.php
--rw-r--r-- 1 root root 18787 2011-10-25 16:43 TaskTest.html
--rw-r--r-- 1 root root 3685 2011-10-20 17:06 testCase.php
--rw-r--r-- 1 root root 2545 2011-10-20 17:06 wait.gif
-\end{lstlisting}
-The \emph{startSoftware.py} file is required to be in the \emph{/etc/init.d/} folder,
-since it is required to be start with the computer boot however if that does not work,
-one should start it manually. This part of the software is
-responsible for starting the testing software from the web page\footnote{The web page
-communicates with this script via a socket connection and sends a signal to start
-the main test software.}.
-The main test software python files should be located in \emph{/home/gsmselftest/SoftwareTesting/}.
-\begin{lstlisting}
-drwxr-xr-x 2 gsmselftest gsmselftest 4096 2011-11-03 14:29 .
-drwxr-xr-x 30 gsmselftest gsmselftest 4096 2011-11-02 18:28 ..
--rwxr--r-- 1 gsmselftest gsmselftest 2909 2011-10-20 17:54 ClientClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3628 2011-10-20 17:54 ClientClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 9814 2011-11-02 16:19 ControllerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 9247 2011-11-02 16:20 ControllerClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 15129 2011-11-02 15:32 DbClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 11712 2011-11-02 15:32 DbClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8512 2011-11-02 13:30 GSMClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7337 2011-11-02 13:42 GSMClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8063 2011-11-02 13:24 GSMHandler.py
--rwxr-xr-x 1 gsmselftest gsmselftest 20346 2011-11-02 18:32 gsmselftest.py
--rwxr--r-- 1 gsmselftest gsmselftest 698 2011-11-02 18:36 help.txt
--rwxr-xr-x 1 gsmselftest gsmselftest 8661 2011-11-02 16:35 initTestClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7497 2011-11-02 16:37 initTestClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 645 2011-10-20 17:54 LogFileClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1509 2011-10-20 17:54 LogFileClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 817 2011-10-20 17:54 PingClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1263 2011-10-20 17:54 PingClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 3982 2011-10-20 17:54 ServerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4596 2011-10-20 17:57 ServerClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 4129 2011-10-20 23:17 ServerClassSoftware.py
--rw-r--r-- 1 gsmselftest gsmselftest 4802 2011-10-20 23:17 ServerClassSoftware.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 5252 2011-10-22 03:58 SIPHandler.py
--rwxr--r-- 1 gsmselftest gsmselftest 1267 2011-11-02 14:07 SSHTunnelBoxClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1852 2011-11-02 14:19 SSHTunnelBoxClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 323 2011-11-02 18:44 startSoftware.py
--rwxr-xr-x 1 gsmselftest gsmselftest 6378 2011-11-02 16:13 trueTableClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4583 2011-11-02 16:16 trueTableClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 2248 2011-10-28 14:04 usbDetectClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3590 2011-10-28 14:05 usbDetectClass.pyc
-\end{lstlisting}
-
-\subsection{Setting up the parameters}
-After configuring the hardware, \emph{https} and \emph{.htaccess} on the web server,
-it is important to modify the files for proper operations. In the given section you
-can find out how to configure the rest of the files (e.g. database passwords, etc.).
-The following files you have to modify to have a working database access:
-\emph{initTestClass.py, GsmSelfTest.py, UsbDetectClass.py} and \emph{truthtableClass.py}.
-\subsection{Test descriptions}
-In the following section we will describe the tests that can be performed and what kind
-of problems they can identify. There are five types of tests:
-\begin{itemize}
-\item Smart test
-\item SIP test
-\item GSM test
-\item Everything test
-\item Manual test
-\end{itemize}
-Each test will be described in the next subsections.
-\subsubsection{Smart test}
-\par The \emph{smart} test is not called smart without a reason. It tries automatically to identify
-problems inside of the telecommunication network. The user is not required to define what kind
-of tests have to be performed. In the first part the test software communicates with the
-database to see what systems are available. In the next step it performs a call from the
-University telephone system to a random local cell phone\footnote{Local cell phone or
-local GSM network means our University GSM Network or RZ GSM.}
-inside of our University GSM network.
-While executing this task, automatically the Asterisk server, OpenBSC and a random nanoBTS
-(or the one cell phone in RZ) are tested. The next task to be performed in the smart test,
-a randomly selected cell phone inside of our local GSM network will try to call: a random
-cell phone within the external (O2, Vodaphone,E-Plus or T-Mobile) or local GSM network.
-This might test the external network and will test it with high probability, however the
-probability exists to make a local to local GSM test call. In the third task, we perform
-a test where we call from the landline a random cell phone inside of our local GSM network.
-In the fourth or last task, we call from SIP to the service we did not test yet (e.g.
-if we did not test the external GSM network using the second test task, then in this last
-task we will exploit it). After the smart test had been completed you will be presented
-with the results.
-\subsubsection{SIP test}
-The \emph{SIP} test option will perform test in such a way that all the SIP subsystems are
-tested (SIP and University telephone network). It will try to identify if there are any
-problems on the Asterisk server and our University telephone network, including incoming and
-outgoing calls from the SIP side.
-\subsubsection{GSM test}
-In the \emph{GSM} test both GSM networks get tested, the local and the external GSM network.
-We test the nanoBTS controller boxes (i.e. BeagleBoards) as well. Using this test, both incoming
-and outgoing calls are performed, we can detect possible errors on the OpenBSC and the nanoBTS.
-\subsubsection{All test}
-The \emph{All} test selects all the given tests and executes them step-by-step. It is the test
-that takes the greatest amount of time. While the test are performed, results are
-immediately printed in the terminal window or on the web site.
-\subsubsection{Manual test}
-The \emph{Manual} test as the name itself says, is the test where you can manually select
-what kind of tests you want to be performed.
-\newpage
-\subsection{Result descriptions}
-In the following table one can see the messages returned by the test software!
-These messages should guide the test user operator to debug the system.
-
-\begin{table}[h]\footnotesize
- \begin{center}
- %\caption[]{Table of error descriptions}
- \begin{tabular}{| l | c | l | }
- \hline
- \textbf{Number} & \textbf{Code} & \textbf{Code number description} \\ \hline
- 1 & 200 & Call was OK \\ \hline
- 2 & 604 & General Handler Error: Destination handler did not respond. Timeout \\ \hline
- 3 & 998 & General Handler Error: Could not connect to the destination handler! \\ \hline
- 4 & 605 & General Handler Error: Caller handler did not respond. Timeout \\ \hline
- 5 & 999 & General Handler Error: Could not connect to the caller handler! \\ \hline
- 6 & 486 & Call Failed \\ \hline
- 7 & 333 & Could not establish a connection to the database! \\ \hline
- 8 & 100 & Missing account detail \\ \hline
- 9 & 402 & Payment Required (E-Plus Card) \\ \hline
- 10 & 801 & Connection to caller established, but the device does not respond \\ \hline
- 11 & 802 & Connection to destination established, but the device does not respond \\ \hline
- 12 & 501 & Destination server Internal Error \\ \hline
- 13 & 502 & Caller server Internal Error \\ \hline
- %\hline
-
- \end{tabular}
- \end{center}
-\end{table}
-
-The errors can be described the following way:
-
-\begin{itemize}
-\item \emph{200}, Connection between the caller and callee was properly established
-\item \emph{604}, Callee handler has a problem during executing the test, a connection error between caller and callee
-\item \emph{998}, Controller cannot establish a connection and send messages to the callee handler but the callee handler is alive
-\item \emph{605}, Caller handler has a problem during executing the test, a connection error between caller and callee
-\item \emph{999}, Controller cannot establish a connection and send messages to the caller handler but the caller handler is alive
-\item \emph{486}, Call test failled, the connection between the caller and callee could not be established
-\item \emph{500}, Caller handler cannot be reached from the server
-\item \emph{501}, Callee handler cannot be reached from the server
-\item \emph{333}, Cannot login to the MySQL database
-\item \emph{100}, Software cannot sign in to the SIP account(SIP at Asterisk, Landline at sipgate.de, SIP at University telephone network), due to missing or incorrect information in the device address table
-\item \emph{402}, Payment required for the E-Plus SIM card
-\item \emph{801}, Caller device on the handler times out or is not properly connected
-\item \emph{802}, Callee device on the handler times out or is not properly connected
-\end{itemize}
-
-\clearpage
-\newpage
-\subsection{Using the software}
-In this section, you will be taught step by step how to use our test software. There are two options to run our test software, from the web site or the terminal.
-The first is easier, but the second is easy as well however requires terminal skills.
-
-\subsubsection{Web site guide}
-Once you enter the address in the address bar of your browser (e.g. \emph{https://localhost/\\testsoftware}).
-You will be required to enter your username and password for the web page\footnote{The username and password creation process is explained in section 7.2.2.}.
-If you entered the correct username and password you should see the same image as in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website1.png}
- \caption[]{Web page of test software}
-\end{figure}
-Here you can choose what kind of test you want to perform or maybe if you want to configure the devices (manually or automatically).
-If you press the ``Smart test'' button, you have to wait a few moments and the results should appear in a short amount of time.
-However, if you pressed the ``Choose the test'' button, you will be presented with a new page, given in figure 28.
-You will have to select the tests you want to perform manually or to press on the left side one of the given buttons for different
-tests. You can choose between ``SIP Test'', ``GSM Test'', ``Check all'' and ``Uncheck all''. ``Check all'' will select all the possible
-tests, whereas ``Uncheck all'' will deselect all of them. After you finished the procedure of selecting the tests, you should press the
-``Submit'' on the left side. Wait a few moments and the results will start to appear in real time. After the table on the left is filled
-(i.e. after all the tests have been completed) a result image will be generated on the right side, can be seen in figure 20. However, if
-your pressed the ``Device configuration'' button, then you will end up on a page as given in figure 30.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website2.png}
- \caption[]{Manually selecting the tests}
-\end{figure}
-
-If you press the ``Automatic configuration'' button, the test software will try automatically to match your cell phones with
-their port addresses and numbers. However, if the automatic matching does not work, you will have to manually configure it.
-You can do it by entering all the required information on the web site, as in figure 31. Once you correctly filled in the required
-information, you should press the ``Submit'' button.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{webpageReport.png}
- \caption[]{Result web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website3.png}
- \caption[]{Device configuration web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website4.png}
- \caption[]{Manual device configuration page}
-\end{figure}
-%\clearpage
-\newpage
-\subsubsection{Terminal guide}
-In the following text, we will guide you and show you step-by-step how to use the test software from the terminal. All you have to
-do is just type the command for starting the test software in the folder where it is located, \emph{./gsmselftest.py ---option} (keep
-in mind there are two dashes before \emph{option}).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{terminalCommand.png}
- \caption[]{Test software terminal options}
-\end{figure}
-You can perform the tests manually by typing what you want to test or by choosing one of the predefined tests. For example, you
-want to test manually does the SIP work with the University telephone network, you would type the following: \emph{./gsmselftest.py --db sip unisip}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{resultterminal.png}
- \caption[]{Example results from the terminal screen}
-\end{figure}
-After the tests have been performed the results will be displayed. Green result text means the test was performed successfully and red result
-text means that something is not working properly.
-
-If you need to configure the cell phones manually or automatically, you can do it by typing: \emph{./gsmselftest.py --devconf} (keep
-in mind there are two dashes before \emph{devconf}). Then you can press ``a'' on the keyboard for automatic configuration or ``m'' for
-manual configuration. One should keep in mind that the terminal test software can be started even through \emph{ssh}, however with an
-additional command \emph{-X}\footnote{For example: ssh -X username@address}.
-\begin{figure}[htb]
- \centering
- \includegraphics[width=100mm]{devconf.png}
- \caption[]{Test software device configuration from terminal screen}
-\end{figure}
-
-\clearpage
-\newpage
-\section{Conclusion}
-As a result of our successfully finished team project, we had felt how it is to work
-in a team. We had learnt how to confront various software and hardware issues. The problems
-were broken into smaller fragments and the solutions were derived in a step-by-step approach.
-\par While designing the software, we kept in mind that every single step should be well thought-out,
-documented, tested and validated. At the end we joined all the ``black-boxes'' together
-into one big piece of software. We fulfilled our stated requirements and goals.
-\par Despite the fact that our test software will be used by well educated engineers, we may
-conclude that all the way along we thought about the usage-simplicity, safety and security
-of our product. Our team members were enthusiastic about the idea that our team project will
-contribute to a better performance and quality of the overall telecommunication network,
-for all of the University staff and our colleagues, the students.
-\newpage
-
-
-
-%bibliography start
-\begin{thebibliography}{9}
-
-\bibitem{network} \emph{Projects based on RZ-GSM}, accessed on 10.06.2011, available at
-\url{http://lab.ks.uni-freiburg.de/projects/gsm/wiki}.
-
-\bibitem{python} \emph{Python Programming Language - Official Website}, accessed on 10.06.2011, available at
-\url{http://www.python.org/}.
-
-\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
-\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
-
-\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
-\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
-
-\bibitem{socket} \emph{17.2. socket - Low-level networking interface}, accessed on 20.06.2011, available at
-\url{http://docs.python.org/library/socket.html}.
-
-\bibitem{spin} M. Ben-Ari \emph{Principles of the Spin Model Checker},
-Springer Verlag, Weizmann Institute of Science, Israel, ISBN: 978-1-84628-769-5, 2008.
-
-\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
-\url{http://goo.gl/fX68N}.
-
-\bibitem{https} P. Bramscher, \emph{Creating Certificate Authorities and self-signed SSL certificates}, accessed on 05.09.2011, available at
-\url{http://www.tc.umn.edu/~brams006/selfsign.html}.
-
-\bibitem{htaccess} \emph{EnablingUseOfApacheHtaccessFiles}, accessed on 18.08.2011, available at
-\url{https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles}.
-
-\bibitem{pChart} \emph{pChart}, accessed on 15.08.2011, available at
-\url{http://www.pchart.net/}.
-
-\bibitem{beagleDataSheet} \emph{BeagleBoard System Reference Manual}, accessed on 20.06.2011, available at
-\url{http://beagleboard.org/static/BBSRM_latest.pdf}.
-
-\bibitem{proctitle} \emph{setproctitle 1.1.2}, accessed on 20.10.2011, available at
-\url{http://pypi.python.org/pypi/setproctitle}.
-
-\bibitem{pjsip} \emph{Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication}, accessed on 20.10.2011, available at
-\url{http://www.pjsip.org/}.
-
-%bibliography end
-\end{thebibliography}
-
-%end of the document
-\end{document} \ No newline at end of file
diff --git a/notFinishedCode/Report/test.tex.backup b/notFinishedCode/Report/test.tex.backup
deleted file mode 100644
index ee7caec..0000000
--- a/notFinishedCode/Report/test.tex.backup
+++ /dev/null
@@ -1,1360 +0,0 @@
-\documentclass[a4paper, titlepage, oneside, headsepline, footsepline]{scrartcl}
-%PACKAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{lscape} %for the landscape pages it is used
-\usepackage[english]{babel} %what language are we using
-\usepackage[latin2]{inputenc} %what alphabet
-
-\usepackage[tt]{titlepic} %used for adding the title image
-\usepackage{graphicx} %used for adding images
-\usepackage{url} %used for the url in bibliography
-\usepackage{lastpage} %give me the total number of pages, used in footer: \pageref{LastPage}
-
-\usepackage[T1]{fontenc} %used for fonts
-\usepackage{scrpage2} %used for making headers, footers and correct margins
-%\usepackage{hyperref} %used for the linking of table of content
-
-%information for the PDF
-\usepackage[pdftex, %used for adding pdf information
- pdfauthor={Refik Hadzialic, Triatmoko},
- pdftitle={Software for self-testing of the Telecommunication network of University of Freiburg},
- pdfsubject={Telecommunication network testing software},
- pdfkeywords={telecommunication;network;networking;linux;ubuntu;university;Freiburg;python;tcp/ip;security;gsm;sip;voip},
- pdfproducer={Latex with hyperref, or other system},
- pdfcreator={pdflatex, or other tool}]{hyperref} %used for the linking of table of content
-
-
-
-
-
-\hypersetup{ %setting up the look of the links
- colorlinks,
- citecolor=black,
- filecolor=black,
- linkcolor=black,
- urlcolor=black
-}
-
-\usepackage{color} %used for highlighting source code
-\usepackage{listings} %used to make a box with source code
-\usepackage{fancyvrb}
-\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
-\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE LOOK OF THE PAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pagestyle{scrheadings}
-
-\renewenvironment{abstract}
- {\begin{center}\large\textbf{}\noindent\end{center}}{\vspace{2\baselineskip}}
-
-% Disable single lines at the start of a paragraph (Schusterjungen)
-\clubpenalty = 10000
-% Disable single lines at the end of a paragraph (Hurenkinder)
-\widowpenalty = 10000 \displaywidowpenalty = 10000
-
-\setlength{\parskip}{0.01\baselineskip}
-\textheight = 620pt
-
-\ohead{Software for self-testing of the Telecommunication network of University of Freiburg} %make the header
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE THE STUFF FOR CODE
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\lstset{ %
-%language=Python, % choose the language of the code
-columns=fullflexible,
-keywordstyle=\color[rgb]{0.608,0.561,0.008},
-commentstyle=\color[rgb]{0.25,0.5,0.35},
-stringstyle=\color[rgb]{0.25,0.35,0.85},
-basicstyle=\footnotesize,%\scriptsize % the size of the fonts that are used for the code
-%numbers=left, % where to put the line-numbers
-numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
-stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
-numbersep=8pt, % how far the line-numbers are from the code
-backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
-showspaces=false, % show spaces adding particular underscores
-showstringspaces=false, % underline spaces within strings
-showtabs=false, % show tabs within strings adding particular underscores
-frame=single, % adds a frame around the code
-tabsize=2, % sets default tabsize to 2 spaces
-captionpos=b, % sets the caption-position to bottom
-breaklines=true, % sets automatic line breaking
-breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
-escapeinside={\%}{)} % if you want to add a comment within your code
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\newcommand{\titleOfProject}{Software For Self-Testing Of The Telecommunication Network Of University Of Freiburg}
-
-
-
-%begin of the document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-
-
-
-%make the title page
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titlepic{\includegraphics[width=90mm]{uniLogo2.png}}
-\title{Team Project \\ ``\titleOfProject''} % type title between braces
-\date{\today} % type date between braces
-\author{Refik Had\v{z}iali\'{c}\\ Triatmoko } % type author(s) between braces
-\department{\vspace{1\baselineskip} \large Albert-Ludwigs-Universit\"{a}t Freiburg \\
-Lehrstuhl f\"{u}r Komunikationsysteme\\
-Prof. Dr. Gerhard Schneider\\ \vspace{1\baselineskip} Supervisors: \\ Konrad Meier \\ Dennis Wehrle \\ \vspace{1\baselineskip} Sommersemester 2011}
-
-\maketitle
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%add the table of contents
-\tableofcontents
-
-%new page to start with
-\clearpage
-
-
-
-
-% first chapter
-\section{Introduction and Motivation} % chapter 1
-In the following report, the authors will try to give you a brief insight into our team project. The goal of our project was to develop a mechanism for automatic testing of our University Telecommunication network. The Telecommunication network of University of Freiburg consists of: our own internal GSM and telephone network systems; GSM redirecting device (if one initiates a call to one of the four external GSM networks, it redirects the calls to: T-mobile, 02, Vodaphone or E-Plus); a SIP gateway for land-line calls inside of Germany (sipgate.de) and international calls. Since we did not have access to internal servers, our strategy was to exploit the existing systems from an external perspective and infer the results out of our findings.
-Before we had started working on our project, we had to analyze the overall network to come up with the test cases that contain the highest information content. The next step in our procedure was to implement our ideas into a working piece of software.
-Gradually we implemented a bit-by-bit of the final software. In the following chapters we will describe in more detail our approach to the problem and how each subsystem works.
-This particular report and our wiki page should be a sufficient guide and manual for understanding, running and continuing the development of our test software.
-Certainly, we had a lot of fun while working on the project due the fact that we lost one team member.
-We would like to thank the whole department for the free coffee and their support, especially
-Konrad Meier, Dennis Wehrle, Richard M. Zahoransky and Larissa Linz, without their support this project would not
-end up this way.
-\clearpage
-\section{Requirements} % chapter 2
-At the start of the project the requirements were not completely known but as the time had passed we redefined our requirements and goals.
-The first and the most important part at the start was to identify the key goals of our team project. The basic goal of our team project was to build a
-test software system which could tell an operator user what part of the system is not properly working in our University telecommunication network.
-Konrad and Dennis suggested us to analyze figure 1 and depending on it to build our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{BigPicture_new1.png}
- \caption[]{Overview of the Freiburg University telecommunication network \cite{network}}
-\end{figure}
-Our first attempt was to see what could we test without having access to the system. We installed numerous communication programs to see what others have done.
-After gaining access to the communication software, we had decided to build most of the test software ourselves. Libraries, which were used,
-were only the ones we could not develop ourselves because of the time-span of our team project.
-\subsection{Logical and algorithmic requirements}
-Despite the software and hardware requirements, the logic in our team project may be considered as the most important part.
-Controlling the software and hardware in a specific manner was one of the requirements in our team project.
-Moreover, we were required to draw a use case diagram and a simple test case diagram so that we could better understand all the problems we had to deal with
-but also to easier follow the development of our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{activity_diagram.png}
- \caption[]{Simple algorithmic overview of a test case}
-\end{figure}
-\subsection{Software requirements}
-Afterwards, as we had defined our logical approach to the problems, we had to choose the programming language to realize our ideas. Since we had the freedom of choice, between the three suggested programming languages
-Java, C++ and Python, we made a joint decision to use Python as the main programming language in our team project. One of the requirements was to finish the team project in time,
-therefore our decision to use Python is justified. Using Python we could work faster and integrate our subsystems more effectively \cite{python}.
-Our programming language of choice is multi-platform, therefore our test software would be easy portable to other operating systems.
-\par Likewise we had to decide how our test software will work. One of the requirements by Dennis and Konrad was to make the software capable of being run from the terminal.
-The next requirement was to make an appealing GUI so that even an user without advanced Linux experience could handle the software and read out the results.
-\par In addition it was required to log all the past tests. Later on a machine learning algorithm or some other intelligence could be applied to deduce some error behavior of the system
-(e.g. an intelligent algorithm could find that part of the system fail in a combined manner). To accomplish the logging of all the tests we had to use a database system.
-We decided to use MySQL since it is open source and well supported.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{test_Use_case.png}
- \caption[]{Test case diagram}
-\end{figure}
-\subsection{Hardware requirements}
-Likewise the software requirements, we had hardware requirements as well. We were required to identify the hardware we will need to perform the tests.
-It was important to find old and cheap cell phones that could support \emph{AT Modem} commands because our budget was limited.
-\par A problem we had to deal with at the start was that the base stations are located at different geographical points which were not near to each other.
-No one should go everyday to the rooms where our cell phones are located only to change or charge the batteries.
-In the cable subsection we describe our approach to the charging battery problem. As we defined our requirements we continued with the process of developing the test software.
-During the development time we refined our requirements. In the next chapters we will explain our database, software and hardware design ideas.
-\newpage
-\section{Database design}
-As we mentioned in the software requirements section, we decided to use MySQL as our database system for storing the test information and results.
-It was not difficult to decide what database to use, since MySQL is one of the most supported database and one can find a library to use it with major programming languages.
-The key point in the design of our database was the simplicity and speed of accessing the data. We had decided to use seven tables. In the following paragraphs we will explain each table separately and its usage.
-The database design can be seen in figure 4.
-
-\par The \emph{PingResultTable} table has six attributes (\emph{taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2}), all of integer type.
-The \emph{taskNo} attribute identifies the test number but not a single test (e.g. an operator user has selected three different tests to be executed, all of the three tests will have the same \emph{taskNo} to identify them together as belonging to one test group and \emph{taskId} identifies each single test and will be explained later).
-\emph{sipServer} represents the Asterisk server ping result. \emph{sipGate} is used to represent the SIP Gate server for the landline calls (\url{http://www.sipgate.de}). \emph{uniSip} represents the ping results for our local University telephone network SIP server.
-\emph{gsmBox1} and \emph{gsmBox2} are the two single-chip Linux computers (BeagleBoard), that control two cell phones each one (i.e. they are also known under the name of \emph{nanoBTSx controller}).
-\emph{taskNo} is the primary and unique key in the table \emph{PingResultTable}. Rest of the attributes (i.e. \emph{sipServer, sipGate, uniSip, gsmBox1, gsmBox2}) are used to insert the ping results, if the assigned servers are reachable or not.
-Before any test attempt is made, our test software first tries to ping the servers. These results are then stored in the \emph{PingResultTable}.
-
-\par The \emph{ErrorCodeTable} table defines all the possible test results in the system, in other words it represents a list with error codes with their appropriate descriptions and meanings. It consists of two attributes (\emph{errorcode} and \emph{description}), the first is of integer type and the second of varchar type (the description message is allowed to be only 100 characters long).
-The \emph{ErrorCodeTable} table is used by the main test software (i.e. controller) to report the operator user what kind of error had appeared in the system.
-
-\par The \emph{DeviceAddressTable} is the table containing the location and identification data for each server and device. The table consists of seven attributes, \emph{deviceName, portName, number, lastChange, username, password, server}.
-\emph{deviceName} is the attribute with the name of the device or server (e.g. GSMRZ1 or landline), it is of varchar type. \emph{portName} is the attribute field with the location address for a cell phone (e.g. \emph{/dev/ttyUSB1}) or 'localhost' instead of NULL value for a server, it is of the varchar type.
-\emph{number} represents the number of the used service (i.e. number of the cell phone, SIP, etc.) and is of varchar type.
-\emph{lastChange} is a time value and represents the date and time the given entry was modified (we had plans in future versions of our test software that if an device gets a new IP address assigned it automatically changes it in the database).
-\emph{username} is the field with the username stored in for a server/service, like SIP and landline. \emph{password} attribute stores the password information for the given service. The \emph{server} attribute stores information about the location of the server, IP or DNS address of the server. All three fields, \emph{username}, \emph{password} and \emph{server} are of varchar type.
-The information stored in the given table is used by the test software to obtain usernames, passwords and addresses of the used services for the tests.
-
-\par The \emph{ResultTable} table is used by the test system to store final results for the performed tests. Our given table consists of two fields, \emph{taskID} and \emph{result} and both are of integer type. For each test entry with unique \emph{taskID} an error code is assigned in the \emph{result} field,
-depending on the test results. Error codes found in the \emph{ErrorCodeTable} table can be only assigned to this field.
-
-\par The \emph{TempTaskTable} table represents the table with the tasks the system has to execute next time the test software is started. The given table gets new data every time an operator user submits one or more test cases from the website to be executed. \emph{TempTaskTable} includes four attributes, \emph{taskID, taskNo, from, to}. Former two are of integer type and later two of varchar type.
-\emph{taskID} and \emph{taskNo} identify the test task to be executed, \emph{taskID} is the unique primary key. \emph{from} and \emph{to} fields have to match the names given in \emph{DeviceAddressTable.deviceName}, these two attributes specify the caller and callee devices/services. Consequently, after the tasks get executed, the test tasks are removed and the given table is empty again until next tests are added to it.
-However, all the test tasks even after deleting them from \emph{TempTaskTable} are kept in the \emph{TaskTable}. The reason why the authors of this project divided it into two tables was because of the database row selection speed. We had made the assumption that with time the database size will grow and therefore the database speed will not be the same as during the development period.
-
-\par The \emph{TaskTable} table, as mentioned before contains all the tests ever performed from the web site. It is made out of five attributes, \emph{taskID, taskNo, from, to, timestamp}. The first four fields are the same as in \emph{TempTaskTable}, however the last one, \emph{timestamp}, is used to record the exact time when the test was performed.
-\par The \emph{GSMListPrefix} table contains the data about the GSM networks and their prefixes. It consists of two
-attributes, both of varchar type, \emph{providerName} and \emph{prefix}.
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{DBRelationship.png}
- \caption[]{Database relationship diagram}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-
-
-\section{Software design} % section 2.1
-Software design was the next step after we analyzed the problem and developed a plan how to proceed further. Good analysis and planning with poor algorithmic implementation is valueless.
-During the work on the project, we had spent most of our time for software design.
-We kept in mind that our software should satisfy major paradigms of software engineering,
-like compatibility, extensibility, modularity, reliability, security, fault-tolerance and usability.
-The software engineering design concepts were achieved following way:
-\begin{itemize}
-\item Compatibility - we used Python and MySQL which are multi-platform and work on major OS
-\item Extensibility - new parts of code can be easily added by just modifying the classes
-\item Mudalarity - the components are independent black boxes, they are tested and validated independently
-\item Reliability - we use mutex locks to perform tests and database transaction operations to insert data into the database
-\item Security - all communication channels, as well as the access to the web site, are encrypted with asymmetric key cryptography
-\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging all events
-\item Usability - we tried to create a simple user interface and easily to use for everyone
-\end{itemize}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{activityControllerEdited.png}
- \caption[]{Working principle of the test software}
-\end{figure}
-
-\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site. When the test software
-is started manually it is database dependent as well and therefore could not be used if the
-database is being maintained or not working. If it is started from the web site it
-connects to the database to get its tasks which have to be performed. After receiving
-the tasks it makes a simple network test by pinging all the servers. The ping results
-are stored in the database (in case the test was started from the web site). Then it
-proceeds with the tests by connecting itself to the handlers and sending them commands
-to perform the tests\footnote{Before it connects to the handlers, it uses the ping
-results to see is the service/device physically connected to the network.}.
-At the higher level, these commands can be seen as requests for being the
-callee and caller. Meanwhile the handlers send their test results to the main
-test software which in return decides if the test result was successful or not.
-The result is written to the database (in case the software was started from the website),
-otherwise the results are displayed in the terminal window and the user who started
-it manually can see the test results. We will proceed with introducing the classes.
-The software class diagram can be seen in the following figure. More details for the
-classes, like the input/output can be found on our project's wiki page \cite{wiki}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{classDiagram.png}
- \caption[]{Class diagram (some classes were excluded)}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-\newpage
-\subsection{Database access} % subsection 2.1.1
-Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
-The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{dbClass.png}
- \caption[]{Class diagram for the dbClass}
-\end{figure}
-The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
-\subsection{Controlling the cell phones}
-Our first version of the developed program code for controlling the cell phones used predefined timed values
-to send commands instead of using a state controlled approach to confirm that every command was successfully received and executed by the cell phone.
-It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
-our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than the timed approach.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=80mm]{serialPort.png}
- \caption[]{GSM class diagram for controlling the cell phones}
-\end{figure}
-One can easily apply the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
-A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state). We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
-be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
-\subsection{Client and Server class}
-Our socket communication code is based on the example given in the Python socket manual \cite{socket}.
-We extended it into two classes, a client and a server class. We had used the TCP protocol to base our two classes on\footnote{TCP is reliable compared to UDP (i.e. transmitted packets get also delivered),
-packets are ordered when received and data are received in a stream (i.e. multiple packets can be read at once).}.
-The Server class can be seen in the following figure. The server class is implemented to accept only local connections\footnote{More details are given in the section 7.1}.
-First we determine our IP address and then create the socket to listen only for the same IP address (with a different IP address than the selected one a connection cannot be even established).
-One has to define the port on which the server object should listen.
-When receiving data one can easily define the timeout to be raised if data are not received in the timeout range or set it to \emph{0} to infinitely wait for the buffer to be filled with received data. While testing the server class we had the problem to listen on the same port if the application was forcibly\footnote{Manually closed using CTRL+C and run again.} restarted in less than 60 seconds. We got the error message: \emph{"Address already in use"}.
-This is not known as error behavior but rather an option to help the server to catch lost live packets (i.e. packets that are still in the network looking for it is goal destination).
-We solved the problem by changing the socket options with the \emph{SO\_REUSEADDR} parameter. This enabled us to get around the error when we tried to restart our server application.
-Before solving the problem without using the socket parameter, we had another solution to get around this problem by killing the application running the port, this old method is obsolete now.
-\begin{figure}[ht!]
- \centering
- \includegraphics[scale=0.8]{serverClass.png}
- \caption[]{Server class, used by the server application}
-\end{figure}
-In the process of testing the client class we did not have any major problems. The only major flow we had to debug was when one of the sides disconnects that we get out of the waiting loop if the timeout variable was set to \emph{0} (i.e. infinite waiting loop).
-The client class can be seen in the following figure. To initialize the client object one needs to define the IP address and the port of the server application listening on it.
-\begin{figure}[hb!]
- \centering
- \includegraphics[scale=0.5]{ClientClass.png}
- \caption[]{Client class, used by the client application}
-\end{figure}
-Once an instance of it is created and loaded with the IP address and the port, one needs to call the \emph{connect()} method.
-The method will produce an integer based on its connection state. Output information and the programming code can be found on our project wiki page \cite{wiki}.
-\subsection{Ping class}
-Before making any test and establishing a connection we were required to ensure that the server is online. The best way to assess the liveness property was to ping the server computer running the required service. Once the class is properly defined, we could easily set the number of ping tries.
-A ping timeout response was set up to 2 seconds. For more details and insights, one can read more about it on our wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=70mm]{ping.png}
- \caption[]{Ping class, used by test software}
-\end{figure}
-\subsection{Data logging}
-If errors appear it is important to reconstruct the events that led to the misbehavior of the software. One of the best ways to reconstruct the events was to log
-events for different blocks of programming code.
-We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
-How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{logging.png}
- \caption[]{Logging class}
-\end{figure}
-\subsection{SSH Tunnel Class}
-Since security played an important role in our team project. We decided to encrypt all of our data that was not processed on our server computer.
-The simplest solution to this problem was to build an SSH Class that could open and close a local forwarding port.
-All data sent through the created port is encrypted until it gets to its destination location.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{sshTunnelClass.png}
- \caption[]{SSH Tunnel class}
-\end{figure}
-\subsection{USB Cell phone detection class}
-Since we had used cables to connect the cell phones with the computer, usually the devices
-got their own port addresses. They were automatically assigned by the operating system,
-either after the cables were plugged into the USB port or after a system reboot.
-One of the problems we had to deal with was assigning the right cell phone
-(i.e. with the appropriate GSM network) to the corresponding port address.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{usbDetectClass.png}
- \caption[]{USB cable detection class}
-\end{figure}
-The operating system randomly assigned the port names after every reboot.
-We were looking for a solution to prevent this misaddressing of the devices.
-Our solution was to recognize every device and update the port address in the database.
-The principle how we identify the cell phones is by their calling numbers in the database.
-More details can be found on our project wiki page \cite{wiki}.
-\subsection{Truth table class}
-The truth table class was built to identify the broken and working parts of the system.
-It requires the list with test results to be present to be operable.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{trueTable.png}
- \caption[]{Truth table class}
-\end{figure}
-Then the class tries to identify the broken parts of our telecommunication network.
-The class can easily identify how many nanoBTSs are installed in the network and
-derive a decision which part of the network is broken.
-All the test results are stored in a list and can be easily read by calling the
-\emph{initTrueTable(x)} function. More details can be found on our project wiki page \cite{wiki}.
-\subsection{Init Test class}
-The main purpose of the class is to get device data from the database and to process it.
-The processed data get forwarded to the controller class and in the end the class
-fetches the results from the test. This class contains the \emph{smart test} functionality.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{initTestClass.png}
- \caption[]{Init test class}
-\end{figure}
-It selects automatically the important tests to perform. In the next step it
-tries to identify the problem in the network.
-More details can be found in the \emph{smart test} description.
-\subsection{Controller class}
-The controller class is used to assign jobs to handlers (in other words, which one is
-going to be the caller and callee). Simultaneously, it defines the port addresses for
-the communication between the handlers and the main test software (controller).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{controllerclass.png}
- \caption[]{Controller class}
-\end{figure}
-If the callee or the caller are nanoBTS controller boxes (i.e. BeagleBoards outside
-the Rechenzentrum), it will first create an SSH connection to make a tunnel before
-the local socket connection is created. Then the controller class sends all the
-required data regarding the test tasks to the handlers.
-
-\clearpage
-\section{Hardware design}
-In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
-Since one of the project goals was to reduce the costs as much as it was possible, we had tried to use some of the leftovers found in our lab.
-
-\subsection{BeagleBoard}
-``The BeagleBoard is an OMAP3530 platform designed specifically to address the Open
-Source Community.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{bb.jpg}
- \caption[]{BeagleBoard, a Linux-on-chip board where our controller software runs the GSM device }
-\end{figure}
-It has been equipped with a minimum set of features to allow the
-user to experience the power of the OMAP3530 and is not intended as a full development
-platform as many of the features and interfaces supplied by the OMAP3530 are not
-accessible from the BeagleBoard'' \cite{beagleDataSheet}.
-We run on it a special precompiled version of Ubuntu for the ARM processor type. The Linux system boots up from an SD Card.
-The board has an USB hub and network port attached to it. In our project it is connected to our
-internal university LAN network and to a cell phone. We positioned the two BeagleBoards in rooms where
-we had LAN access and GSM signal coverage of our two local base stations.
-
-\subsection{Cell phones}
-Our first attempt was to control a Nokia cell phone 3310 with the supplied USB connection cable.
-The protocols used by old versions of Nokia cell phones, as the 3310, use the F-Bus protocol. It was not easy to work with.
-After performing various experiments we succeeded to send and to read SMS messages. Later on we found out that it was not possible to
-send commands for receiving and making the calls. In the meantime we found two Siemens phones, one M45 and S55.
-The first one, Siemens M45, had a cable supplied with it and it was not difficult to control it with the standard set of AT modem commands.
-At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
-
-\subsection{Cables for the cell phones}
-Due to the fact that we had used 5 cell phones on a single computer, the best solution was to order 5 USB cables.
-Konrad bought 5 cables for 5 Siemens S55 cell phones. All of the cables have an USB2Serial chip converter inside of them.
-Once they were plugged into the USB port, Ubuntu automatically recognized the cables and installed the drivers.
-The virtual serial ports were created and could be found on \emph{/dev/ttyUSBx}, where $x$ is the automatically assigned number for the port.
-Some of the cables had the capability to charge the Siemens S55 phones.
-Konrad had opened several cables to solder the power supplies to some contacts and the problem was solved for all of the cables.
-\subsection{Server}
-We were given an old Pentium 3 computer where we installed Ubuntu Linux. Configured the Apache web server and MySQL.
-Afterwards we installed the Python on it and all the required libraries\footnote{Required libraries are mentioned in section 9.1.}.
-\clearpage
-
-\section{Communication protocol}
-A communication protocol represents a set of well defined rules by whose help two or more computing systems exchange information in-between.
-When defining these rules, it is important to define a limited state space for every possible event, no matter did we get the appropriate
-response from the other side. Our approach to this problem was to build a simple synchronous protocol, where every expected message is
-confirmed or otherwise the connection between two sides is immediately terminated. Since designing protocols is a demanding and challenging
-topic which requires years of experience and verification, we do not expect that we had developed the best possible and an optimum
-protocol\footnote{Design concepts and paradigms for the protocol design have been used from the
-``Network Protocol Design and Evaluation'' course, lectured by Dr. Stefan R\"{u}hrup}.
-In the following paragraphs we will try to clarify how our protocol works. Before we start to go into detail how the protocol works,
-it is important to remember that we differentiate two sides, handler and the controller side. The handler side represent the device
-that physically handles the call (e.g. the BeagleBoard) whereas the controller (i.e. the main test software), is the test software
-controlling the handler side and assigning the task to it.
-
-\subsection{Communication between the handler and controller}
-The handler side is always in the waiting mode, by waiting we denote the mode where the socket is already created and it is waiting
-for a connection to be accepted at the defined port. The controller initiates a socket connection to the two handlers.
-Subsequently, after the connection has been established, it is waiting for a message to be received. The first message
-has to be 13 characters long and include the following content \emph{HELLO HANDLER}. Thereupon, after the message has
-been validated, the handler side sends the controller side a response, \emph{HELLO CONTROLLER}.
-We call this first message exchange the initialization. Now the controller side has to decide which of the two handler's
-will be the caller/callee whereas the other handler will be the opposite. Let's assume the controller sends to the first
-handler the message \emph{RECEIVER} and to the second one the message \emph{CALLER|\#}, replace the callee number with the \# sign.
-In the meantime, both handlers initialize the software required to make the call and to receive the call. Asynchronously they
-respond back to the controller their successful initialization. The successful initialization is reported by sending \emph{RECEIVER READY}
-and \emph{CALLER READY}. After receiving the mentioned messages, the controller first sends the callee handler the
-message \emph{RECEIVE START} and then to the caller handler, the message \emph{CALLER START}. As a result of these messages,
-the handlers enter the receiving, respectively calling state. In the given states two timeout timers gets activated.
-These timers are responsible for the case if the physical connection between the callee and the caller are not successfully
-established or terminated\footnote{The client and server classes responsible for the communication have timeout timers as well
-for the case if the connection between the controller and handlers are broken.}. Afterwards, depending if the physical connection
-between the handlers (i.e. the callee and the caller) was successfully established or not, the handlers report their
-corresponding state with a message to the controller. The message is of the form \emph{CALL OK}, meaning the handler successfully
-established a physical connection with the other handler, or of the form \emph{CALL NOT OK}, meaning a physical connection was
-not successfully established on the given handler. The controller considers only a test successful if both handlers report
-with \emph{CALL OK}. The test software ends the established connection with the handlers by sending them the \emph{TERMINATE CONNECTION}
-command. After the handlers have terminated the connection, they enter the waiting for a new connection state and the process starts
-from beginning again. If the states are not entered in the specified order the connection is immediately terminated and
-the state machine is in the waiting for a new connection state\footnote{It cannot be seen in the protocol flowchart but one should
-keep in mind it works like a well defined state machine.}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{protocolCommunicationHandler.png}
- \caption[]{Flowchart of the protocol on the handler side without the state representation}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerReceiver.png}
- \caption[]{Flowchart of the protocol on the controller side for the caller without the state representation}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerCaller.png}
- \caption[]{Flowchart of the protocol on the controller side for the receiver without the state representation}
-\end{figure}
-
-\subsection{Verification of the protocol}
-``SPIN is a model checker - a software tool for verifying models of physical
-systems, in particular, computerized systems. First, a model is written that
-describes the behavior of the system; then, correctness properties that express
-requirements on the system's behavior are specified; finally, the model
-checker is run to check if the correctness properties hold for the model, and,
-if not, to provide a counterexample: a computation that does not satisfy a
-correctness property.'' \cite{spin}. We modeled our simple protocol in SPIN using
-the programming language PROMELA \cite{spin}. Since PROMELA is similar to C it was
-not possible to ensure 100\% matching with Python but we had made the assumptions of it.
-We modeled both sides, server and client side. As well as the server side being a caller
-and a callee. It was important to find out if our protocol is deadlock or delayed state free.
-For more details our model can be found on our wiki project page with the PROMELA source code \cite{wiki}.
-We had built in a 50\% random probability that the call test will not be successful, to make the model even more
-realistic. Our protocol idea was deadlock free and the verification results prove it.
-After we had modeled the basic idea we had written the code that implements our idea. The Python code
-resembles some kind of a state machine which remembers the last state and what the next state should be in case
-of receiving corresponding message. Otherwise it enters the exit state and then the start state.
-
-\begin{lstlisting}
-(Spin Version 6.1.0 -- 2 May 2011)
- + Partial Order Reduction
-Full statespace search for:
- never claim - (none specified)
- assertion violations +
- cycle checks - (disabled by -DSAFETY)
- invalid end states +
-State-vector 44 byte, depth reached 65, errors: 0
- 40 states, stored
- 3 states, matched
- 43 transitions (= stored+matched)
- 90 atomic steps
-hash conflicts: 0 (resolved)
- 2.195 memory usage (Mbyte)
-unreached in proctype Server1
- (0 of 36 states)
-unreached in proctype Server2
- (0 of 36 states)
-unreached in proctype Client
- (0 of 67 states)
-pan: elapsed time 0 seconds
-\end{lstlisting}
-
-\clearpage
-\newpage
-
-
-\section{Security and safety of the system}
-Safety and security of the software plays a major role in our project.
-It is of vital importance that only as few as possible people have access to our test system since the resulting data could be exploited to plan an attack
-(e.g. assume the University alarm system uses the SIP gateway to connect to the outside world and to alarm the police, if one knows that the SIP gateway is not working properly, a burglar could plan to rob the University building just at that moment). Therefore the choice to go Open Source is justified due to the fact that one should know how every single detail of the system works.
-All the time, while we were working on the project, we were made aware of this issue by Dennis and Konrad.
-We decided to use asymmetric key cryptography, where each side has two keys (private and public). In the next sections we will explain in more details how we applied the methods.
-\subsection{Encryption of the communication channels}
-At first we thought to encrypt the data before sending them but since none of us was an expert on encryption standards the idea was rejected. Alongside the fact that none of us had been an expert in the field of cryptography, we were neither experts in the field of Internet programming. One could find maybe a way to disable our server software with various hacking methods (e.g.
-trying to open the port until the system runs out of memory and in our case the system which we used on the handler side was a BeagleBoard with ARM architecture running on a single chip TI OMAP processor, refer to the picture in figure).
-We had to eliminate even the slightest possible threat in return for spending more time for debugging the test software system. Despite we were aware of all these facts, we had to choose one of the plenty implemented encryption standards on Linux.
-Dennis and Konrad suggested using the SSH Tunneling method.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{sshTunnel.png}
- \caption[]{SSH Tunnel, all the communication inside the tunnel is encrypted }
-\end{figure}
-
-Using the SSH Tunnel port forwarding method we could hide the real port we had used for our socket connection. On the other hand we could force the socket to accept only local connections (i.e. from the machine where the handler software was running).
-The SSH Tunnel port forwarding method creates an encrypted tunnel between the two computers and then it creates two ports, one on the local and remote computer. All the data sent through the port on the local machine appear on the port at the remote machine. \newline The first problem we faced was that SSH required the username and password every time we tried to make an SSH connection. We could avoid this problem by copying the public key from our server (where our test software runs) to the BeagleBoard \cite{sshTunnel}.
-This can be performed by executing the following commands in the terminal shell.
-One has to create first the private and public keys on the local machine(i.e. server computer, where the test software runs):
-
-\begin{lstlisting}
-refik@ubuntu:$ [Note: You are on local-host here]
-
-refik@ubuntu:$ ssh-keygen
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/refik/.ssh/id_rsa):[Enter key]
-Enter passphrase (empty for no passphrase): [Press enter key]
-Enter same passphrase again: [Press enter key]
-Your identification has been saved in /home/refik/.ssh/id_rsa.
-Your public key has been saved in /home/refik/.ssh/id_rsa.pub.
-The key fingerprint is:
-33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 refik@ubuntu
-\end{lstlisting}
-
-Then one needs to copy the public key to the remote machine (BeagleBoard) using ssh-copy-id:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
-refik@remote-host's password:
-Now try logging into the machine, with "ssh 'remote-host'", and check in:
-
-.ssh/authorized_keys
-
-to make sure we haven't added extra keys that you weren't expecting.
-\end{lstlisting}
-
-After we have created the public and private keys, and coppied the public key on the machine to which we want to connect, we can test if we can make an SSH connection to the remote machine:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh remote-host
-[Note: SSH did not ask for password.]
-
-refik@remote-host:$ [Note: You are on remote-host here]
-\end{lstlisting}
-The test was successful. We tested it with our SSH Tunnel port forwarding class and it worked perfectly.
-\subsection{Security on the web site}
-Aside from having secured the data communication channels between various parts of our software
-(the handlers and the controller), it was crucial to ensure all the communication between
-test user's browser and our server. Therefore we had used the \emph{https} protocol and
-the \emph{.htaccess} file to password protect the web site so only the privileged users
-have access to our test system.
-\subsubsection{Configuring the http secure protocol https}
-Securing the communication channels without making certain the web site is safe would be worthless.
-We decided to use the \emph{https} protocol instead of the \emph{http} since a person in the middle
-could sniff our data (e.g. a person is connected with his/her smart-phone over an unprotected wireless network) \cite{https}.
-At the same time the web site should be accessible only by the authorized personel. Our first approach to this
-problem was to build an PHP page with \emph{MD5} hashed passwords, however we got a suggestion by Konrad and Dennis to
-use a safer encryption method implemented in the Apache web server software, \emph{.htaccess}. By using
-these two techniques we protected the web site of some vulnerabilities known to us. If the web site
-will be only accessed from our local university network, we can additionally add an IP filter mask as well.
-In the following paragraph we will explain our procedure how to generate the keys and to enable the https protocol.
-\par First we want to generate a server key by typing the following command:
-\begin{lstlisting}
-openssl genrsa -des3 -out server.key 4096
-\end{lstlisting}
-\par This will generate a 4096 bit long private server key, one is asked to enter two times a password for the \emph{server.key}.
-Using the generated private server key, we will create a certificate signing request, \emph{server.csr}. We were prompted with a series of questions
-like country, state, organization name and etc which we had to enter to resume.
-\begin{lstlisting}
-openssl req -new -key server.key -out server.csr
-\end{lstlisting}
-\par In the next step we had to sign the certificate signing request and enter the amount of days for how long it should be valid.
-In our case we entered the duration of one year, one can make it for longer periods as well (i.e. the amount of 365 has to be changed).
-\begin{lstlisting}
-openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-\end{lstlisting}
-\par We were asked to enter the password again for \emph{server.key}. After we have completed this step we had to make
-a version of the \emph{server.key} which did not require a password, \emph{server.key.insecure} and we will rename the files appropriately.
-\begin{lstlisting}
-openssl rsa -in server.key -out server.key.insecure
-mv server.key server.key.secure
-mv server.key.insecure server.key
-\end{lstlisting}
-\par The generated files are very sensitive, since they are our keys. After these steps were completed, we had generated 4 files: \emph{server.crt}, \emph{server.csr}, \emph{server.key} and \\ \emph{server.key.secure}. Now we need to enable the SSL engine on the Apache web server.
-We coppied \emph{server.key} and \emph{server.crt} into \emph{/etc/appache2/ssl}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2$ sudo mkdir ssl
-cp server.key /etc/apache2/ssl
-cp server.crt /etc/apache2/ssl
-\end{lstlisting}
-\par Then we enabled SSL by typing in \emph{a2enmod ssl}, ``it is simply a general purpose utility to establish a symlink between a module in \emph{/etc/apache2/mods-available} to \\ \emph{/etc/apache2/mods-enabled} (or give a message to the effect that a given module does not exist or that it is already symlink-ed for loading)'' \cite{https}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo a2enmod ssl
-Enabling module ssl.
-See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
-Run '/etc/init.d/apache2 restart' to activate new configuration!
-\end{lstlisting}
-\par In the next procedure we had to establish a symlink from the 'available' default-ssl file to the 'enabled' file \cite{https}. Then we created a folder where our secured PHP files will be located (e.g. https://some-domain-name.com/test-software).
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
-refik@ubuntu:/etc/apache2/ssl$ cd /var/
-refik@ubuntu:/var$ sudo mkdir www-ssl
-\end{lstlisting}
-\par We had backed up our old configuration files for the virtual hosts, for the case if we damage the Apache configuration files. Then we edited the \emph{default-ssl} file.
-\begin{lstlisting}
-refik@ubuntu:/var$ cd /etc/apache2/sites-available
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default default_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default-ssl default-ssl_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par Only the beginning of the file is listed here and we have modified the line starting with \emph{DocumentRoot}
-and \emph{<Directory /var/www/>} from \emph{DocumentRoot /var/www} to \emph{DocumentRoot /var/www-ssl}
-and from \emph{<Directory /var/www/>} to \emph{<Directory /var/www-ssl/>}
-(i.e. we had to redefine the location of our SSL directory).
-\begin{lstlisting}
-<IfModule mod_ssl.c>
-<VirtualHost _default_:443>
- ServerAdmin webmaster@localhost
-
- DocumentRoot /var/www-ssl
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-\par One should keep in mind that the port 443 should be free for Apache to use it. In the proceeding step we had to ensure that Apache listens on the given port for a \emph{https} connection.
-One could test that by going into the \emph{/etc/apache2/ports.conf}.
-\begin{lstlisting}
-<IfModule mod_ssl.c>
- # If you add NameVirtualHost *:443 here, you will also have to change
- # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
- # to <VirtualHost *:443>
- # Server Name Indication for SSL named virtual hosts is currently not
- # supported by MSIE on Windows XP.
- Listen 443
-</IfModule>
-\end{lstlisting}
-\par In our case it was set up correctly, since the command: \emph{Listen 443} was present.
-In our last configuration step we had to edit \emph{default-ssl} file to define the correct locations of our keys and to ensure the SSL engine was turned on.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par The following part of the file had to be found and modified according to our locations:
-\begin{lstlisting}
-SSLEngine on
-
- # A self-signed (snakeoil) certificate can be created by installing
- # the ssl-cert package. See
- # /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
- # If both key and certificate are stored in the same file, only the
- # SSLCertificateFile directive is needed.
- SSLCertificateFile /etc/apache2/ssl/server.crt
- SSLCertificateKeyFile /etc/apache2/ssl/server.key
-
- # Server Certificate Chain:
- # Point SSLCertificateChainFile at a file containing the
-\end{lstlisting}
-\par Finally we had configured our server and can proceed with the restart of the apache web server. We created a test web site \emph{/var/www-ssl/index.php} and navigated our browser to \emph{https://localhost}. The test was successful!
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
- * Restarting web server apache2 [Sat Oct 08 21:52:51 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
- ... waiting [Sat Oct 08 21:52:52 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence [ OK ]
-refik@ubuntu:/etc/apache2/sites-available$
-\end{lstlisting}
-\subsubsection{Password protecting the web site using .htaccess}
-Aside from using a secure communication protocol on the web, \emph{https}, it is important
-to ensure that only permissioned users gain access to the web site. We had achieved it using
-the \emph{.htaccess} file. However, to enable the use of Apache \emph{.htaccess} files,
-we will have to reconfigure the Apache configuration files again. \emph{root} access will
-be required. First we have to edit the \emph{/etc/apache2/sites-available/default-ssl} file.
-Find the following lines and modify the \emph{AllowOverride None} to \emph{AllowOverride All}
-like in the given configuration segment:
-\begin{lstlisting}
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride All
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-This will tell Apache web server that it is okay to allow \emph{.htaccess} files
-to over-ride previous directives. We must reload the Apache web server before the
-changes can take effect. We can do it by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 reload
-\end{lstlisting}
-The next step is to go to the directory where our test software web page is located
-(e.g. \emph{/var/www-ssl/testsoftware}) and to create a file called \emph{.htaccess}.
-Please insert the following code segment inside the created \emph{.htaccess} file where
-\emph{/var/www-ssl/testsoftware/.htpasswd} is your full path address to \emph{.htpasswd}:
-\begin{lstlisting}
-AuthUserFile /var/www-ssl/testsoftware/.htpasswd
-AuthName "Authorization Required"
-AuthType Basic
-require valid-user
-\end{lstlisting}
-Then in the next step, create another file called \emph{.htpasswd}. After you have created it,
-we will add the usernames that should have access to the web site. We do that by typing the
-following command, where you can replace \emph{konrad} with any other combination of letters
-which will represent your username:
-\begin{lstlisting}
-refik@ubuntu:/var/www-ssl/testsoftware$ sudo htpasswd -c .htpasswd konrad
-\end{lstlisting}
-Afterwards, you will be required to type twice the same password for the username
-you want to create, in this case \emph{konrad}. ``The -c flag is used only when you
-are creating a new file. After the first time, you will omit the -c flag,
-when you are adding new users to an already-existing password file. Otherwise you
-will overwrite the file!'' \cite{htaccess}. You can add as many users as you wish,
-do not forget to remove the -c flag when you do it.
-In the last step, we have to modify the \emph{/etc/apache2/apache2.conf} file and
-to add at the end of it the following code segment where \emph{/vaw/www-ssl/testsoftware}
-is the full path to your web page directory where you put the \emph{.htpasswd} file:
-\begin{lstlisting}
-<Directory /vaw/www-ssl/testsoftware>
-AllowOverride All
-</Directory>
-\end{lstlisting}
-We are done with editing. All we have to do now is to restart the Apache web server. We
-can do that by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 restart
-\end{lstlisting}
-You can test it now by opening a new browser tab and navigating to \emph{https://localhost/\\testsoftware}
-(keep in mind to replace \emph{testsoftware} with your name of the folder where the web page
-is located). If you configured everything properly, you should get a dialog where you can
-enter your created username and password and try to login.
-
-\newpage
-\section{Web page}
-One of the requests of our team project was to build a test system that could be started from the web site.
-Since we used the Open Source platform to base our project on, it was certain we will use it for the web site as well.
-The dynamic parts of the web site were programmed using PHP and JavaScript. The GUI was done using CSS.
-The web site opens TCP/IP sessions between itself and the Python test software. Due reasons explained in the section above,
-a test user needs first to enter his username and password to access the web site. Then a test user can manually select what type of tests he wants to perform or he can select already defined test,
-like the simple, smart or full test. (Describe here these three type of tests).
-Data about the performing tests are inserted into the database only in the case if the mutex lock for the web site can be obtained\footnote{The mutex lock will be explained in the next subsection.}.
-This way we can avoid inserting data about the test in case there is already a test user on the website performing some tests on the system.
-\subsection{Communication between the web page and the test software}
-Our first idea was that the PHP file starts the test software.
-However, parts of our test software open new terminal windows and
-since PHP has restrictions for starting GUI applications our approach was condemned for a failure at the start.
-We had to deal with this problem and our solution to it was to write a little Python script that will run in background and start our
-test software when required. Once a person starts the test over the web site, it automatically connects to the Python script over an TCP/IP socket.
-Before being able to start the test software one needs first to obtain the mutex lock on the web site and to check if there is a mutex lock for the test software running.
-Using this approach we can ensure that only one user at the time can be on the web site and run only one instance of the test software.
-In the next step we send the Python script a message to start the test software. The test software obtains a mutex lock as well.
-When the test software is started the web page checks if a software lock is obtained.
-Once it is obtained we can proceed with creating a new socket connection between the web site and the test software.
-Our TCP/IP communication between the web site and the test software is not encrypted since both the web page and the test software run on the same server computer.
-The mutex locks are freed after the tests are performed. Our test software has a timeout timer in case that the web site hangs or somehow the socket connection breaks
-where it automatically shuts down.
-\subsection{Results on the web page}
-All the performed test results are displayed on the web site. The results are displayed in real time after each selected test case is performed.
-After all the test cases have been performed a topological picture is generated which represents the current state of the system, this can bee seen in the following figure.
-Afterwards, when the result picture is generated, the test user can easily see what is wrong in the system. Various icons represent different subsystems.
-Reading the test results is as simple as looking at the icons and identifying if they have: a green plus signs (i.e. working properly), a red minus sign (i.e. not working properly) and a yellow exclamation mark (i.e. it was not tested).
-
-\begin{itemize}
-\item Triangles represent BTS stations
-\item Cell phones represent the external networks (E-Plus, Vodaphone, T-Mobile and O2)
-\item Telephone represents the landline and a telephone with a mortarboard the University telephone network
-\item Servers represent the OpenBSC and LsfKs-Asterisk
-\item Two monitors represent the SIP system
-\end{itemize}
-
-\par The inference mechanism works as following: if a test case works, we can conclude that the subsystems connected in-between the two ends are working properly as well.
-We use the pChart library\footnote{It is under the GNU GPLv3 license and our project is nonprofit!} to generate the topological picture of our telecommunication system \cite{pChart}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{resultsImage.png}
- \caption[]{Result image showing working, defected and not tested subsystems}
-\end{figure}
-\par On the right side of the result picture the test user can immediately identify the network operability in percentage\footnote{The test user has to take into account that this percentage is only valid if a full test is performed.}. Bellow the network operability statistics are the ping results statistics located.
-If one of the fields is red it means the subsystem is not online or cannot be seen by our server computer where the test software is located.
-\newpage
-\section{Employing the test software system}
-In this section the reader can find out how to install and how to use the test system.
-Our goal was to make a multi-platform test software, however we tested it only under Ubuntu
-11.04 32 bit Linux OS and the given instruction manual is only tested under that OS. The
-test software performed well, both on PC and MAC computers.
-One should keep in mind that some of the libraries we had used do not work
-under the 64 bit version of Linux OS.
-
-\subsection{Required software and libraries}
-In the next subsections, we will guide you how to install all the required software and
-libraries to flawlessly run our test software on your employed server.
-You will be required to have \emph{root} access privileges and to open a new
-terminal window where the commands will be typed in.
-
-\subsubsection{Python installation}
-Python was our programming language of choice\footnote{We had explained earlier why we
-have decided to use Python.}. The required version of Python is 2.7. One can easily
-install python by typing the following commands:
-\begin{lstlisting}
-sudo apt-get update
-sudo apt-get install python2.7
-\end{lstlisting}
-It will take a short amount of time to be installed. You will be required to enter
-the \emph{root} password.
-
-\subsubsection{Apache Web server installation}
-We had decided to use the Apache web server because of its wide support on the Internet
-and safety reasons. If there are any bugs or security flaws, the patches are
-easily installed with the Ubuntu update manager. The Apache web server can be easily
-installed by typing the following command:
-\begin{lstlisting}
-sudo apt-get install apache2
-\end{lstlisting}
-You might be required to follow other installation instructions printed on the
-terminal screen.
-After the installation has completed successfully, one can test if it works by going
-to the following web address: \emph{http://localhost}. For configuring the \emph{https}
-please go to the section 7.2.
-
-\subsubsection{SSH}
-Secure Shell (SSH) is a network protocol for secure data communication between two
-computers inside of a network. All computers are required to have SSH installed on it.
-You can easily install it by typing the following command:
-\begin{lstlisting}
-sudo apt-get install ssh
-\end{lstlisting}
-
-\subsubsection{MySQL database and MySQLdb library}
-The MySQLdb library is required to perform various operations on the MySQL database within
-Python. We used the MySQLdb library instead of the native MySQL C API \emph{\_mysql} library
-to make the code cleaner and more portable.
-We suggest you to install first the MySQL database on the server computer. If you
-have installed MySQL you can skip the next part. To star the installation process one can
-type the following commands:
-\begin{lstlisting}
-sudo apt-get install mysql-server
-\end{lstlisting}
-You will be required to enter the Linux \emph{root} password. At some point during
-the installation process, you will be required to enter the password for the MySQL
-database. After you have performed the above step, we can proceed with the
-MySQLdb library installation. By typing:
-\begin{lstlisting}
-sudo apt-get install python-mysqldb
-\end{lstlisting}
-If the \emph{python-mysqldb} name has changed, one can easily find the correct name of the
-file by issuing the following command:
-\begin{lstlisting}
-apt-cache search MySQLdb
-\end{lstlisting}
-By typing in the commands given above, you should have successfully installed the MySQLdb
-library.
-
-\subsubsection{Serial port library}
-The serial port library is required for the cell phones to communicate with the
-server computer and the BeagleBoards. The required library for Python can be installed
-by typing the following command:
-\begin{lstlisting}
-sudo apt-get install python-serial
-\end{lstlisting}
-The installation should not produce any errors or warnings.
-
-\subsubsection{PJSUA library}
-\emph{PJSUA} is an open source command line SIP user agent (soft-phone). We use the library
-for the SIP handler. First, one needs to download the library
-from \url{http://www.pjsip.org/download.htm} \cite{pjsip}. Then extract it to some folder.
-Then we will build the library using make. This can be accomplished by typing the following
-commands:
-\begin{lstlisting}
-cd your-pjsip-root-dir
-./configure && make dep && make
-cd pjsip-apps/src/python
-sudo make
-\end{lstlisting}
-
-If you get an error similar to this one:
-\begin{lstlisting}
-_pjsua.h:25:20: fatal error: Python.h: No such file or directory
-compilation terminated.
-error: command 'gcc' failed with exit status 1
-\end{lstlisting}
-Then you will be required to install python-dev as well, that matches your version of
-python (e.g. python2.7-dev). You can do it by typing:
-\begin{lstlisting}
-sudo apt-get install python2.7-dev
-\end{lstlisting}
-After you have successfully installed python2.7-dev, repeat the the commands given above.
-Now you should have a properly installed PJSUA library. One can easily test if the installation
-was successful by compiling a simple python code, \emph{python test.py}, with the following
-source code:
-\begin{lstlisting}
-import pjsua
-\end{lstlisting}
-If you do not get any errors, you have successfully installed the library. More detail can
-be found on our project wiki page \cite{wiki}.
-
-\subsubsection{pChart library}
-The pChart library is within our installation files and does not require to be installed
-individually. The library is only required if one uses the web interface and
-requires the generated resulting image. The library is open source and does not require
-any licensing. However, if one needs to learn how the library works,
-information can be found on the pChart web page \cite{pChart}.
-
-\subsubsection{proctitle library}
-We had used this library to rename the currently executed process name.
-``The library allows a process to change its title (as displayed by system
-tools such as ps and top). Changing the title is mostly useful in
-multi-process systems, for example when a master process is forked:
-changing the children's title allows to identify the task each process is
-busy with.'' \cite{proctitle}. The library can be easily installed by typing:
-\begin{lstlisting}
-sudo easy_install setproctitle
-\end{lstlisting}
-
-
-\subsection{Configuring hardware}
-Before proceeding with the next steps, please connect all the cell phones
-to the USB hub using the suitable cables. Then make sure the cables are
-recognized by the operating system. This can be performed by typing the following command:
-\begin{lstlisting}
-dmesg | grep ttyU
-\end{lstlisting}
-The given command should produce a result similar to:
-\begin{lstlisting}
-[ 5178.753600] usb 1-1.2: pl2303 converter now attached to ttyUSB0
-\end{lstlisting}
-
-We have two different ways to configure the cell phones, manually and automatic.
-Both options can be accessed either using the website or the terminal window.
-Using the manual configuration from the terminal, the user configures everything him/herself.
-The user will be presented with a few questions like the port address, cell phone number and IMEI.
-After the user enters all the required parameters, the software will check
-if the given port address is accessible and it will look for a response from the devices.
-Then you will be asked to enter the IMEI and the cell phone number of the device.
-If the entered IMEI matches the device IMEI then the software will update the database
-with the entered information. You can run, both the manual and automatic configuration
-by typing:
-\begin{lstlisting}
-python gsmselftest.py --devconf
-\end{lstlisting}
-In the automatic configuration, the software will automatically try to detect every
-cell phone that is connected to the USB hub. This configuration option can detect
-up to nine cell phones, that are connected to the server computer. We had set a limit to
-nine cell phones because we required only five (four for the external GSM networks
-and one for our internal GSM BST). The only limitation of the automatic cell phone configuration
-is that it only supports cell phones where we could read out the number using the \emph{AT Modem}
-commands since some cell phone manufacturers do not use the standardized \emph{AT Modem} commands.
-\newpage
-\subsubsection{Configuring the cell phones}
-It is important to write in the Siemens S55 cell phones their numbers if you want to use
-automatic device configuration. You can do that by following the next few steps:
-
-\par Open the phone book on the S55 and choose \emph{<Special books>} and press the select button.
-\par In the second step, press select on \emph{<OwnNumber>}.
-\par In the third and last step, enter your cell phone number and save it!
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{First.png}
- \caption[]{First step in configuring the phone}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Second.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Third.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\clearpage
-\subsection{Location of the files}
-For proper operation of the software, it is important that each file is at its correct path
-located. In the given section you can find out the correct path locations.
-If you are not an expert, please do not change these locations.
-The following files have to be located in the \emph{/var/www-ssl/testsoftware/} folder:
-\begin{lstlisting}
-drwxr-xr-x 7 root root 4096 2011-10-28 12:45 .
-drwxr-xr-x 3 root root 4096 2011-10-20 17:06 ..
--rw-r--r-- 1 root root 109 2011-10-26 16:55 .htaccess
--rw-r--r-- 1 root root 20 2011-10-26 17:11 .htpasswd
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 class
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 css
--rw-r--r-- 1 root root 7547 2011-10-20 17:06 delayedLoading.js
--rw-r--r-- 1 root root 3431 2011-10-25 14:38 devconf.html
--rw-r--r-- 1 root root 2024 2011-10-25 23:47 devconfigAuto.php
--rw-r--r-- 1 root root 1811 2011-10-26 13:44 devconfigManual.php
--rw-r--r-- 1 root root 2195 2011-10-25 23:45 devconfig.php
--rw-r--r-- 1 root root 3526 2011-10-27 14:51 devconf.php
--rwxr-xr-x 1 root root 725 2011-10-20 17:06 execute.php
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 fonts
--rw-r--r-- 1 root root 2259 2011-10-28 12:43 index.html
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 icons
-drwxr-xr-x 2 root root 4096 2011-10-25 14:10 Images
--rw-r--r-- 1 root root 2038 2011-10-20 17:06 insertData.php
--rw-r--r-- 1 root root 636 2011-10-26 13:43 insertdevice.php
--rw-r--r-- 1 root root 10819 2011-10-20 17:06 loader.gif
--rw-r--r-- 1 root root 2268 2011-10-26 16:07 main.php
--rw-r--r-- 1 root root 5416 2011-10-20 17:06 moocheck.js
--rw-r--r-- 1 root root 75836 2011-10-20 17:06 mootools.js
--rw-r--r-- 1 root root 677 2011-10-20 17:06 mutexFunctions.php
--rw-r--r-- 1 root root 9063 2011-10-25 17:20 mutexSmartTest.php
--rwxr-xr-x 1 root root 9143 2011-10-28 12:45 mutexTry.php
--rw-r--r-- 1 root root 13304 2011-10-20 17:06 networkResult.php
--rw-r--r-- 1 root root 8294 2011-10-21 19:02 post.php
--rw-r--r-- 1 root root 19218 2011-10-21 17:36 startTest2.php
--rw-r--r-- 1 root root 18852 2011-10-20 17:06 startTest.php
--rw-r--r-- 1 root root 18787 2011-10-25 16:43 TaskTest.html
--rw-r--r-- 1 root root 3685 2011-10-20 17:06 testCase.php
--rw-r--r-- 1 root root 2545 2011-10-20 17:06 wait.gif
-\end{lstlisting}
-The \emph{startSoftware.py} file is required to be in the \emph{/etc/init.d/} folder,
-since it is required to be start with the computer boot however if that does not work,
-one should start it manually. This part of the software is
-responsible for starting the testing software from the web page\footnote{The web page
-communicates with this script via a socket connection and sends a signal to start
-the main test software.}.
-The main test software python files should be located in \emph{/home/gsmselftest/SoftwareTesting/}.
-\begin{lstlisting}
-drwxr-xr-x 2 gsmselftest gsmselftest 4096 2011-11-03 14:29 .
-drwxr-xr-x 30 gsmselftest gsmselftest 4096 2011-11-02 18:28 ..
--rwxr--r-- 1 gsmselftest gsmselftest 2909 2011-10-20 17:54 ClientClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3628 2011-10-20 17:54 ClientClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 9814 2011-11-02 16:19 ControllerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 9247 2011-11-02 16:20 ControllerClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 15129 2011-11-02 15:32 DbClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 11712 2011-11-02 15:32 DbClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8512 2011-11-02 13:30 GSMClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7337 2011-11-02 13:42 GSMClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8063 2011-11-02 13:24 GSMHandler.py
--rwxr-xr-x 1 gsmselftest gsmselftest 20346 2011-11-02 18:32 gsmselftest.py
--rwxr--r-- 1 gsmselftest gsmselftest 698 2011-11-02 18:36 help.txt
--rwxr-xr-x 1 gsmselftest gsmselftest 8661 2011-11-02 16:35 initTestClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7497 2011-11-02 16:37 initTestClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 645 2011-10-20 17:54 LogFileClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1509 2011-10-20 17:54 LogFileClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 817 2011-10-20 17:54 PingClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1263 2011-10-20 17:54 PingClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 3982 2011-10-20 17:54 ServerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4596 2011-10-20 17:57 ServerClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 4129 2011-10-20 23:17 ServerClassSoftware.py
--rw-r--r-- 1 gsmselftest gsmselftest 4802 2011-10-20 23:17 ServerClassSoftware.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 5252 2011-10-22 03:58 SIPHandler.py
--rwxr--r-- 1 gsmselftest gsmselftest 1267 2011-11-02 14:07 SSHTunnelBoxClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1852 2011-11-02 14:19 SSHTunnelBoxClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 323 2011-11-02 18:44 startSoftware.py
--rwxr-xr-x 1 gsmselftest gsmselftest 6378 2011-11-02 16:13 trueTableClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4583 2011-11-02 16:16 trueTableClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 2248 2011-10-28 14:04 usbDetectClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3590 2011-10-28 14:05 usbDetectClass.pyc
-\end{lstlisting}
-
-\subsection{Setting up the parameters}
-After configuring the hardware, \emph{https} and \emph{.htaccess} on the web server,
-it is important to modify the files for proper operations. In the given section you
-can find out how to configure the rest of the files (e.g. database passwords, etc.).
-The following files you have to modify to have a working database access:
-\emph{initTestClass.py, GsmSelfTest.py, UsbDetectClass.py} and \emph{truthtableClass.py}.
-\subsection{Test descriptions}
-In the following section we will describe the tests that can be performed and what kind
-of problems they can identify. There are five types of tests:
-\begin{itemize}
-\item Smart test
-\item SIP test
-\item GSM test
-\item Everything test
-\item Manual test
-\end{itemize}
-Each test will be described in the next subsections.
-\subsubsection{Smart test}
-\par The \emph{smart} test is not called smart without a reason. It tries automatically to identify
-problems inside of the telecommunication network. The user is not required to define what kind
-of tests have to be performed. In the first part the test software communicates with the
-database to see what systems are available. In the next step it performs a call from the
-University telephone system to a random local cell phone\footnote{Local cell phone or
-local GSM network means our University GSM Network or RZ GSM.}
-inside of our University GSM network.
-While executing this task, automatically the Asterisk server, OpenBSC and a random nanoBTS
-(or the one cell phone in RZ) are tested. The next task to be performed in the smart test,
-a randomly selected cell phone inside of our local GSM network will try to call: a random
-cell phone within the external (O2, Vodaphone,E-Plus or T-Mobile) or local GSM network.
-This might test the external network and will test it with high probability, however the
-probability exists to make a local to local GSM test call. In the third task, we perform
-a test where we call from the landline a random cell phone inside of our local GSM network.
-In the fourth or last task, we call from SIP to the service we did not test yet (e.g.
-if we did not test the external GSM network using the second test task, then in this last
-task we will exploit it). After the smart test had been completed you will be presented
-with the results.
-\subsubsection{SIP test}
-The \emph{SIP} test option will perform test in such a way that all the SIP subsystems are
-tested (SIP and University telephone network). It will try to identify if there are any
-problems on the Asterisk server and our University telephone network, including incoming and
-outgoing calls from the SIP side.
-\subsubsection{GSM test}
-In the \emph{GSM} test both GSM networks get tested, the local and the external GSM network.
-We test the nanoBTS controller boxes (i.e. BeagleBoards) as well. Using this test, both incoming
-and outgoing calls are performed, we can detect possible errors on the OpenBSC and the nanoBTS.
-\subsubsection{All test}
-The \emph{All} test selects all the given tests and executes them step-by-step. It is the test
-that takes the greatest amount of time. While the test are performed, results are
-immediately printed in the terminal window or on the web site.
-\subsubsection{Manual test}
-The \emph{Manual} test as the name itself says, is the test where you can manually select
-what kind of tests you want to be performed.
-\newpage
-\subsection{Result descriptions}
-In the following table one can see the messages returned by the test software!
-These messages should guide the test user operator to debug the system.
-
-\begin{table}[h]\footnotesize
- \begin{center}
- %\caption[]{Table of error descriptions}
- \begin{tabular}{| l | c | l | }
- \hline
- \textbf{Number} & \textbf{Code} & \textbf{Code number description} \\ \hline
- 1 & 200 & Call was OK \\ \hline
- 2 & 604 & General Handler Error: Destination handler did not respond. Timeout \\ \hline
- 3 & 998 & General Handler Error: Could not connect to the destination handler! \\ \hline
- 4 & 605 & General Handler Error: Caller handler did not respond. Timeout \\ \hline
- 5 & 999 & General Handler Error: Could not connect to the caller handler! \\ \hline
- 6 & 486 & Call Failed \\ \hline
- 7 & 333 & Could not establish a connection to the database! \\ \hline
- 8 & 100 & Missing account detail \\ \hline
- 9 & 402 & Payment Required (E-Plus Card) \\ \hline
- 10 & 801 & Connection to caller established, but the device does not respond \\ \hline
- 11 & 802 & Connection to destination established, but the device does not respond \\ \hline
- 12 & 501 & Destination server Internal Error \\ \hline
- 13 & 502 & Caller server Internal Error \\ \hline
- %\hline
-
- \end{tabular}
- \end{center}
-\end{table}
-
-
-
-\clearpage
-\newpage
-\subsection{Using the software}
-In this section, you will be taught step by step how to use our test software. There are two options to run our test software, from the web site or the terminal.
-The first is easier, but the second is easy as well however requires terminal skills.
-
-\subsubsection{Web site guide}
-Once you enter the address in the address bar of your browser (e.g. \emph{https://localhost/\\testsoftware}).
-You will be required to enter your username and password for the web page\footnote{The username and password creation process is explained in section 7.2.2.}.
-If you entered the correct username and password you should see the same image as in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website1.png}
- \caption[]{Web page of test software}
-\end{figure}
-Here you can choose what kind of test you want to perform or maybe if you want to configure the devices (manually or automatically).
-If you press the ``Smart test'' button, you have to wait a few moments and the results should appear in a short amount of time.
-However, if you pressed the ``Choose the test'' button, you will be presented with a new page, given in figure 28.
-You will have to select the tests you want to perform manually or to press on the left side one of the given buttons for different
-tests. You can choose between ``SIP Test'', ``GSM Test'', ``Check all'' and ``Uncheck all''. ``Check all'' will select all the possible
-tests, whereas ``Uncheck all'' will deselect all of them. After you finished the procedure of selecting the tests, you should press the
-``Submit'' on the left side. Wait a few moments and the results will start to appear in real time. After the table on the left is filled
-(i.e. after all the tests have been completed) a result image will be generated on the right side, can be seen in figure 20. However, if
-your pressed the ``Device configuration'' button, then you will end up on a page as given in figure 30.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website2.png}
- \caption[]{Manually selecting the tests}
-\end{figure}
-
-If you press the ``Automatic configuration'' button, the test software will try automatically to match your cell phones with
-their port addresses and numbers. However, if the automatic matching does not work, you will have to manually configure it.
-You can do it by entering all the required information on the web site, as in figure 31. Once you correctly filled in the required
-information, you should press the ``Submit'' button.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{webpageReport.png}
- \caption[]{Result web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website3.png}
- \caption[]{Device configuration web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website4.png}
- \caption[]{Manual device configuration page}
-\end{figure}
-%\clearpage
-\newpage
-\subsubsection{Terminal guide}
-In the following text, we will guide you and show you step-by-step how to use the test software from the terminal. All you have to
-do is just type the command for starting the test software in the folder where it is located, \emph{./gsmselftest.py ---option} (keep
-in mind there are two dashes before \emph{option}).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{terminalCommand.png}
- \caption[]{Test software terminal options}
-\end{figure}
-You can perform the tests manually by typing what you want to test or by choosing one of the predefined tests. For example, you
-want to test manually does the SIP work with the University telephone network, you would type the following: \emph{./gsmselftest.py --db sip unisip}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{resultterminal.png}
- \caption[]{Example results from the terminal screen}
-\end{figure}
-After the tests have been performed the results will be displayed. Green result text means the test was performed successfully and red result
-text means that something is not working properly.
-
-If you need to configure the cell phones manually or automatically, you can do it by typing: \emph{./gsmselftest.py --devconf} (keep
-in mind there are two dashes before \emph{devconf}). Then you can press ``a'' on the keyboard for automatic configuration or ``m'' for
-manual configuration. One should keep in mind that the terminal test software can be started even through \emph{ssh}, however with an
-additional command \emph{-X}\footnote{For example: ssh -X username@address}.
-\begin{figure}[htb]
- \centering
- \includegraphics[width=100mm]{devconf.png}
- \caption[]{Test software device configuration from terminal screen}
-\end{figure}
-
-\clearpage
-\newpage
-\section{Conclusion}
-As a result of our successfully finished team project, we had felt how it is to work
-in a team. We had learnt how to confront various software and hardware issues. The problems
-were broken into smaller fragments and the solutions were derived in a step-by-step approach.
-\par While designing the software, we kept in mind that every single step should be well thought-out,
-documented, tested and validated. At the end we joined all the ``black-boxes'' together
-into one big piece of software. We fulfilled our stated requirements and goals.
-\par Despite the fact that our test software will be used by well educated engineers, we may
-conclude that all the way along we thought about the usage-simplicity, safety and security
-of our product. Our team members were enthusiastic about the idea that our team project will
-contribute to a better performance and quality of the overall telecommunication network,
-for all of the University staff and our colleagues, the students.
-\newpage
-
-
-
-%bibliography start
-\begin{thebibliography}{9}
-
-\bibitem{network} \emph{Projects based on RZ-GSM}, accessed on 10.06.2011, available at
-\url{http://lab.ks.uni-freiburg.de/projects/gsm/wiki}.
-
-\bibitem{python} \emph{Python Programming Language - Official Website}, accessed on 10.06.2011, available at
-\url{http://www.python.org/}.
-
-\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
-\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
-
-\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
-\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
-
-\bibitem{socket} \emph{17.2. socket - Low-level networking interface}, accessed on 20.06.2011, available at
-\url{http://docs.python.org/library/socket.html}.
-
-\bibitem{spin} M. Ben-Ari \emph{Principles of the Spin Model Checker},
-Springer Verlag, Weizmann Institute of Science, Israel, ISBN: 978-1-84628-769-5, 2008.
-
-\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
-\url{http://goo.gl/fX68N}.
-
-\bibitem{https} P. Bramscher, \emph{Creating Certificate Authorities and self-signed SSL certificates}, accessed on 05.09.2011, available at
-\url{http://www.tc.umn.edu/~brams006/selfsign.html}.
-
-\bibitem{htaccess} \emph{EnablingUseOfApacheHtaccessFiles}, accessed on 18.08.2011, available at
-\url{https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles}.
-
-\bibitem{pChart} \emph{pChart}, accessed on 15.08.2011, available at
-\url{http://www.pchart.net/}.
-
-\bibitem{beagleDataSheet} \emph{BeagleBoard System Reference Manual}, accessed on 20.06.2011, available at
-\url{http://beagleboard.org/static/BBSRM_latest.pdf}.
-
-\bibitem{proctitle} \emph{setproctitle 1.1.2}, accessed on 20.10.2011, available at
-\url{http://pypi.python.org/pypi/setproctitle}.
-
-\bibitem{pjsip} \emph{Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication}, accessed on 20.10.2011, available at
-\url{http://www.pjsip.org/}.
-
-%bibliography end
-\end{thebibliography}
-
-%end of the document
-\end{document} \ No newline at end of file
diff --git a/notFinishedCode/Report/test.tex.bak b/notFinishedCode/Report/test.tex.bak
deleted file mode 100644
index c6faea2..0000000
--- a/notFinishedCode/Report/test.tex.bak
+++ /dev/null
@@ -1,1326 +0,0 @@
-\documentclass[a4paper, titlepage, oneside, headsepline, footsepline]{scrartcl}
-%PACKAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{lscape} %for the landscape pages it is used
-\usepackage[english]{babel} %what language are we using
-\usepackage[latin2]{inputenc} %what alphabet
-
-\usepackage[tt]{titlepic} %used for adding the title image
-\usepackage{graphicx} %used for adding images
-\usepackage{url} %used for the url in bibliography
-\usepackage{lastpage} %give me the total number of pages, used in footer: \pageref{LastPage}
-
-\usepackage[T1]{fontenc} %used for fonts
-\usepackage{scrpage2} %used for making headers, footers and correct margins
-%\usepackage{hyperref} %used for the linking of table of content
-
-%information for the PDF
-\usepackage[pdftex, %used for adding pdf information
- pdfauthor={Refik Hadzialic, Tri Atmoko},
- pdftitle={Software for self-testing of the Telecommunication network of University of Freiburg},
- pdfsubject={Telecommunication network testing software},
- pdfkeywords={telecommunication;network;networking;linux;ubuntu;university;freiburg;python;tcp/ip;security;gsm;sip;voip},
- pdfproducer={Latex with hyperref, or other system},
- pdfcreator={pdflatex, or other tool}]{hyperref} %used for the linking of table of content
-
-
-
-
-
-\hypersetup{ %setting up the look of the links
- colorlinks,
- citecolor=black,
- filecolor=black,
- linkcolor=black,
- urlcolor=black
-}
-
-\usepackage{color} %used for highlighting source code
-\usepackage{listings} %used to make a box with source code
-\usepackage{fancyvrb}
-\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
-\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE LOOK OF THE PAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pagestyle{scrheadings}
-
-\renewenvironment{abstract}
- {\begin{center}\large\textbf{}\noindent\end{center}}{\vspace{2\baselineskip}}
-
-% Disable single lines at the start of a paragraph (Schusterjungen)
-\clubpenalty = 10000
-% Disable single lines at the end of a paragraph (Hurenkinder)
-\widowpenalty = 10000 \displaywidowpenalty = 10000
-
-\setlength{\parskip}{0.01\baselineskip}
-\textheight = 620pt
-
-\ohead{Software for self-testing of the Telecommunication network of University of Freiburg} %make the header
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE THE STUFF FOR CODE
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\lstset{ %
-%language=Python, % choose the language of the code
-columns=fullflexible,
-keywordstyle=\color[rgb]{0.608,0.561,0.008},
-commentstyle=\color[rgb]{0.25,0.5,0.35},
-stringstyle=\color[rgb]{0.25,0.35,0.85},
-basicstyle=\footnotesize,%\scriptsize % the size of the fonts that are used for the code
-%numbers=left, % where to put the line-numbers
-numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
-stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
-numbersep=8pt, % how far the line-numbers are from the code
-backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
-showspaces=false, % show spaces adding particular underscores
-showstringspaces=false, % underline spaces within strings
-showtabs=false, % show tabs within strings adding particular underscores
-frame=single, % adds a frame around the code
-tabsize=2, % sets default tabsize to 2 spaces
-captionpos=b, % sets the caption-position to bottom
-breaklines=true, % sets automatic line breaking
-breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
-escapeinside={\%}{)} % if you want to add a comment within your code
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\newcommand{\titleOfProject}{Software For Self-Testing Of The Telecommunication Network Of University Of Freiburg}
-
-
-
-%begin of the document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-
-
-
-%make the title page
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titlepic{\includegraphics[width=90mm]{uniLogo2.png}}
-\title{Team Project \\ ``\titleOfProject''} % type title between braces
-\date{\today} % type date between braces
-\author{Refik Had\v{z}iali\'{c}\\ Tri Atmoko } % type author(s) between braces
-\department{\vspace{1\baselineskip} \large Albert-Ludwigs-Universit\"{a}t Freiburg \\
-Lehrstuhl f\"{u}r Komunikationsysteme\\
-Prof. Dr. Gerhard Schneider\\ \vspace{1\baselineskip} Supervisors: \\ Konrad Meier \\ Dennis Wehrle \\ \vspace{1\baselineskip} Sommersemester 2011}
-
-\maketitle
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%add the table of contents
-\tableofcontents
-
-%new page to start with
-\clearpage
-
-
-
-
-% first chapter
-\section{Introduction and Motivation} % chapter 1
-In the following report, the authors will try to give you a brief insight into our team project. The goal of our project was to develop a mechanism for automatic testing of our University Telecommunication network. The Telecommunication network of University of Freiburg consists of: our own internal GSM and telephone network systems; GSM redirecting device (if one initiates a call to one of the four external GSM networks, it redirects the calls to: T-mobile, 02, Vodaphone or E-Plus); a SIP gateway for land-line calls inside of Germany (sipgate.de) and international calls. Since we did not have access to internal servers, our strategy was to exploit the existing systems from an external perspective and infer the results out of our findings.
-Before we had started working on our project, we had to analyze the overall network to come up with the test cases that contain the highest information content. The next step in our procedure was to implement our ideas into a working piece of software.
-Gradually we implemented a bit-by-bit of the final software. In the following chapters we will describe in more detail our approach to the problem and how each subsystem works.
-This particular report and our wiki page should be a sufficient guide and manual for understanding, running and continuing the development of our test software.
-Certainly, we had a lot of fun while working on the project due the fact that we lost one team member.
-We would like to thank the whole department for the free coffee and their support, especially
-Konrad Maier, Dennis Wehrle and Richard M. Zahoransky, without their support this project would not
-end up this way.
-\clearpage
-\section{Requirements} % chapter 2
-At the start of the project the requirements were not completely known but as the time had passed we redefined our requirements and goals.
-The first and the most important part at the start was to identify the key goals of our team project. The basic goal of our team project was to build a
-test software system which could tell an operator user what part of the system is not properly working in our University telecommunication network.
-Konrad and Dennis suggested us to analyze figure 1 and depending on it to build our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{BigPicture_new1.png}
- \caption[]{Overview of the Freiburg University telecommunication network \cite{network}}
-\end{figure}
-Our first attempt was to see what could we test without having access to the system. We installed numerous communication programs to see what others have done.
-After gaining access to the communication software, we had decided to build most of the test software ourselves. Libraries, which were used,
-were only the ones we could not develop ourselves because of the time-span of our team project.
-\subsection{Logical and algorithmic requirements}
-Despite the software and hardware requirements, the logic in our team project may be considered as the most important part.
-Controlling the software and hardware in a specific manner was one of the requirements in our team project.
-Moreover, we were required to draw a use case diagram and a simple test case diagram so that we could better understand all the problems we had to deal with
-but also to easier follow the development of our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{activity_diagram.png}
- \caption[]{Simple algorithmic overview of a test case}
-\end{figure}
-\subsection{Software requirements}
-Afterwards, as we had defined our logical approach to the problems, we had to choose the programming language to realize our ideas. Since we had the freedom of choice, between the three suggested programming languages
-Java, C++ and Python, we made a joint decision to use Python as the main programming language in our team project. One of the requirements was to finish the team project in time,
-therefore our decision to use Python is justified. Using Python we could work faster and integrate our subsystems more effectively \cite{python}.
-Our programming language of choice is multi-platform, therefore our test software would be easy portable to other operating systems.
-\par Likewise we had to decide how our test software will work. One of the requirements by Dennis and Konrad was to make the software capable of being run from the terminal.
-The next requirement was to make an appealing GUI so that even an user without advanced Linux experience could handle the software and read out the results.
-\par In addition it was required to log all the past tests. Later on a machine learning algorithm or some other intelligence could be applied to deduce some error behavior of the system
-(e.g. an intelligent algorithm could find that part of the system fail in a combined manner). To accomplish the logging of all the tests we had to use a database system.
-We decided to use MySQL since it is open source and well supported. However, one should keep in mind the test results are only stored in the database in case the test was started from the web site.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{test_Use_case.png}
- \caption[]{Test case diagram}
-\end{figure}
-\subsection{Hardware requirements}
-Likewise the software requirements, we had hardware requirements as well. We were required to identify the hardware we will need to perform the tests.
-It was important to find old and cheap cell phones that could support \emph{AT Modem} commands because our budget was limited.
-\par A problem we had to deal with at the start was that the base stations are located at different geographical points which were not near to each other.
-No one should go everyday to the rooms where our cell phones are located only to change or charge the batteries.
-In the cable subsection we describe our approach to the charging battery problem. As we defined our requirements we continued with the process of developing the test software.
-During the development time we refined our requirements. In the next chapters we will explain our database, software and hardware design ideas.
-\newpage
-\section{Database design}
-As we mentioned in the software requirements section, we decided to use MySQL as our database system for storing the test information and results.
-It was not difficult to decide what database to use, since MySQL is one of the most supported database and one can find a library to use it with major programming languages.
-The key point in the design of our database was the simplicity and speed of accessing the data. We had decided to use seven tables. In the following paragraphs we will explain each table separately and its usage.
-The database design can be seen in figure 4.
-
-\par The \emph{PingResultTable} table has six attributes (\emph{taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2}), all of integer type.
-The \emph{taskNo} attribute identifies the test number but not a single test (e.g. an operator user has selected three different tests to be executed, all of the three tests will have the same \emph{taskNo} to identify them together as belonging to one test group and \emph{taskId} identifies each single test and will be explained later).
-\emph{sipServer} represents the Asterisk server ping result. \emph{sipGate} is used to represent the SIP Gate server for the landline calls (\url{http://www.sipgate.de}). \emph{uniSip} represents the ping results for our local University telephone network SIP server.
-\emph{gsmBox1} and \emph{gsmBox2} are the two single-chip Linux computers (BeagleBoard), that control two cell phones each one (i.e. they are also known under the name of \emph{nanoBTSx controller}).
-\emph{taskNo} is the primary and unique key in the table \emph{PingResultTable}. Rest of the attributes (i.e. \emph{sipServer, sipGate, uniSip, gsmBox1, gsmBox2}) are used to insert the ping results, if the assigned servers are reachable or not.
-Before any test attempt is made, our test software first tries to ping the servers. These results are then stored in the \emph{PingResultTable}.
-
-\par The \emph{ErrorCodeTable} table defines all the possible test results in the system, in other words it represents a list with error codes with their appropriate descriptions and meanings. It consists of two attributes (\emph{errorcode} and \emph{description}), the first is of integer type and the second of varchar type (the description message is allowed to be only 100 characters long).
-The \emph{ErrorCodeTable} table is used by the main test software (i.e. controller) to report the operator user what kind of error had appeared in the system.
-
-\par The \emph{DeviceAddressTable} is the table containing the location and identification data for each server and device. The table consists of seven attributes, \emph{deviceName, portName, number, lastChange, username, password, server}.
-\emph{deviceName} is the attribute with the name of the device or server (e.g. GSMRZ1 or landline), it is of varchar type. \emph{portName} is the attribute field with the location address for a cell phone (e.g. \emph{/dev/ttyUSB1}) or 'localhost' instead of NULL value for a server, it is of the varchar type.
-\emph{number} represents the number of the used service (i.e. number of the cell phone, SIP, etc.) and is of varchar type.
-\emph{lastChange} is a time value and represents the date and time the given entry was modified (we had plans in future versions of our test software that if an device gets a new IP address assigned it automatically changes it in the database).
-\emph{username} is the field with the username stored in for a server/service, like SIP and landline. \emph{password} attribute stores the password information for the given service. The \emph{server} attribute stores information about the location of the server, IP or DNS address of the server. All three fields, \emph{username}, \emph{password} and \emph{server} are of varchar type.
-The information stored in the given table is used by the test software to obtain usernames, passwords and addresses of the used services for the tests.
-
-\par The \emph{ResultTable} table is used by the test system to store final results for the performed tests. Our given table consists of two fields, \emph{taskID} and \emph{result} and both are of integer type. For each test entry with unique \emph{taskID} an error code is assigned in the \emph{result} field,
-depending on the test results. Error codes found in the \emph{ErrorCodeTable} table can be only assigned to this field.
-
-\par The \emph{TempTaskTable} table represents the table with the tasks the system has to execute next time the test software is started. The given table gets new data every time an operator user submits one or more test cases from the website to be executed. \emph{TempTaskTable} includes four attributes, \emph{taskID, taskNo, from, to}. Former two are of integer type and later two of varchar type.
-\emph{taskID} and \emph{taskNo} identify the test task to be executed, \emph{taskID} is the unique primary key. \emph{from} and \emph{to} fields have to match the names given in \emph{DeviceAddressTable.deviceName}, these two attributes specify the caller and callee devices/services. Consequently, after the tasks get executed, the test tasks are removed and the given table is empty again until next tests are added to it.
-However, all the test tasks even after deleting them from \emph{TempTaskTable} are kept in the \emph{TaskTable}. The reason why the authors of this project divided it into two tables was because of the database row selection speed. We had made the assumption that with time the database size will grow and therefore the database speed will not be the same as during the development period.
-
-\par The \emph{TaskTable} table, as mentioned before contains all the tests ever performed from the web site. It is made out of five attributes, \emph{taskID, taskNo, from, to, timestamp}. The first four fields are the same as in \emph{TempTaskTable}, however the last one, \emph{timestamp}, is used to record the exact time when the test was performed.
-\par The \emph{GSMListPrefix} table contains the data about the GSM networks and their prefixes. It consists of two
-attributes, both of varchar type, \emph{providerName} and \emph{prefix}.
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{DBRelationship.png}
- \caption[]{Database relationship diagram}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-
-
-\section{Software design} % section 2.1
-Software design was the next step after we analyzed the problem and developed a plan how to proceed further. Good analysis and planning with poor algorithmic implementation is valueless.
-During the work on the project, we had spent most of our time for software design.
-We kept in mind that our software should satisfy major paradigms of software engineering,
-like compatibility, extensibility, modularity, relliability, security, fault-tolerance and usability.
-The software engineering design concepts were achieved following way:
-\begin{itemize}
-\item Compatibility - we used Python and MySQL which are multiplatform and work on major OS
-\item Extensibility - new parts of code can be easily added by just modifying the classes
-\item Mudalarity - the components are independent black boxes, they are tested and validated independently
-\item Reliability - we use mutex locks to perform tests and database transaction operations to insert data into the database
-\item Security - all communication channels, as well as the access to the web site, are encrypted with asymmetric key cryptography
-\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging all events
-\item Usability - we tried to create a simple user interface and easily to use for everyone
-\end{itemize}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{activityControllerEdited.png}
- \caption[]{Working principle of the test software}
-\end{figure}
-
-\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site. When the test software
-is started manually it is database dependent as well and thefore could not be used if the
-database is being maintained or not working. If it is started from the web site it
-connects to the database to get its tasks which have to be performed. After receiving
-the tasks it makes a simple network test by pinging all the servers. The ping results
-are stored in the database (in case the test was started from the web site). Then it
-proceeds with the tests by connecting itself to the handlers and sending them commands
-to perform the tests\footnote{Before it connects to the handlers, it uses the ping
-results to see is the service/device physically connected to the network.}.
-At the higher level, these commands can be seen as requests for being the
-callee and caller. Meanwhile the handlers send their test results to the main
-test software which in return decides if the test result was successful or not.
-The result is written to the database (in case the software was started from the website),
-otherwise the results are displayed in the terminal window and the user who started
-it manually can see the test results. We will proceed with introducing the classes.
-The software class diagram can be seen in the following figure. More details for the
-classes, like the input/output can be found on our project's wiki page \cite{wiki}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{classDiagram.png}
- \caption[]{Class diagram (some classes were excluded)}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-\newpage
-\subsection{Database access} % subsection 2.1.1
-Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
-The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{dbClass.png}
- \caption[]{Class diagram for the dbClass}
-\end{figure}
-The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
-\subsection{Controlling the cell phones}
-Our first version of the developed program code for controlling the cell phones used predefined timed values
-to send commands instead of using a state controlled approach to confirm that every command was successfully received and executed by the cell phone.
-It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
-our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than the timed approach.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=80mm]{serialPort.png}
- \caption[]{GSM class diagram for controlling the cell phones}
-\end{figure}
-One can easily apply the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
-A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state). We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
-be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
-\subsection{Client and Server class}
-Our socket communication code is based on the example given in the Python socket manual \cite{socket}.
-We extended it into two classes, a client and a server class. We had used the TCP protocol to base our two classes on\footnote{TCP is reliable compared to UDP (i.e. transmitted packets get also delivered),
-packets are ordered when received and data are received in a stream (i.e. multiple packets can be read at once).}.
-The Server class can be seen in the following figure. The server class is implemented to accept only local connections\footnote{More details are given in the section 7.1}.
-First we determine our IP address and then create the socket to listen only for the same IP address (with a different IP address than the selected one a connection cannot be even established).
-One has to define the port on which the server object should listen.
-When receiving data one can easily define the timeout to be raised if data are not received in the timeout range or set it to \emph{0} to infinitely wait for the buffer to be filled with received data. While testing the server class we had the problem to listen on the same port if the application was forcibly\footnote{Manually closed using CTRL+C and run again.} restarted in less than 60 seconds. We got the error message: \emph{"Address already in use"}.
-This is not known as error behavior but rather an option to help the server to catch lost live packets (i.e. packets that are still in the network looking for it is goal destination).
-We solved the problem by changing the socket options with the \emph{SO\_REUSEADDR} parameter. This enabled us to get around the error when we tried to restart our server application.
-Before solving the problem without using the socket parameter, we had another solution to get around this problem by killing the application running the port, this old method is obsolete now.
-\begin{figure}[ht!]
- \centering
- \includegraphics[scale=0.8]{serverClass.png}
- \caption[]{Server class, used by the server application}
-\end{figure}
-In the process of testing the client class we did not have any major problems. The only major flow we had to debug was when one of the sides disconnects that we get out of the waiting loop if the timeout variable was set to \emph{0} (i.e. infinite waiting loop).
-The client class can be seen in the following figure. To initialize the client object one needs to define the IP address and the port of the server application listening on it.
-\begin{figure}[hb!]
- \centering
- \includegraphics[scale=0.5]{ClientClass.png}
- \caption[]{Client class, used by the client application}
-\end{figure}
-Once an instance of it is created and loaded with the IP address and the port, one needs to call the \emph{connect()} method.
-The method will produce an integer based on its connection state. Output information and the programming code can be found on our project wiki page \cite{wiki}.
-\subsection{Ping class}
-Before making any test and establishing a connection we were required to ensure that the server is online. The best way to assess the liveness property was to ping the server computer running the required service. Once the class is properly defined, we could easily set the number of ping tries.
-A ping timeout response was set up to 2 seconds. For more details and insights, one can read more about it on our wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=70mm]{ping.png}
- \caption[]{Ping class, used by test software}
-\end{figure}
-\subsection{Data logging}
-If errors appear it is important to reconstruct the events that led to the misbehaviour of the software. One of the best ways to reconstruct the events was to log
-events for different blocks of programming code.
-We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
-How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{logging.png}
- \caption[]{Logging class}
-\end{figure}
-\subsection{SSH Tunnel Class}
-Since security played an important role in our team project. We decided to encrypt all of our data that was not processed on our server computer.
-The simplest solution to this problem was to build an SSH Class that could open and close a local forwarding port.
-All data sent through the created port is encrypted until it gets to its destination location.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{sshTunnelClass.png}
- \caption[]{SSH Tunnel class}
-\end{figure}
-\subsection{USB Cell phone detection class}
-Since we had used cables to connect the cell phones with the computer, usually the devices
-got their own port addresses. They were automatically assigned by the operating system,
-either after the cables were plugged into the USB port or after a system reboot.
-One of the problems we had to deal with was assigning the right cell phone
-(i.e. with the appropriate GSM network) to the corresponding port address.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{usbDetectClass.png}
- \caption[]{USB cable detection class}
-\end{figure}
-The operating system randomly assigned the port names after every reboot.
-We were looking for a solution to prevent this misaddressing of the devices.
-Our solution was to recognize every device and update the port address in the database.
-The principle how we identify the cell phones is by their calling numbers in the database.
-More details can be found on our project wiki page \cite{wiki}.
-\subsection{Truth table class}
-The truth table class was built to identify the broken and working parts of the system.
-It requires the list with test results to be present to be operable.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{trueTable.png}
- \caption[]{Truth table class}
-\end{figure}
-Then the class tries to identify the broken parts of our telecommunication network.
-The class can easily identify how many nanoBTSs are installed in the network and
-derive a decision which part of the network is broken.
-All the test results are stored in a list and can be easily read by calling the
-\emph{initTrueTable(x)} function. More details can be found on our project wiki page \cite{wiki}.
-\subsection{Init Test class}
-The main purpose of the class is to get device data from the database and to process it.
-The processed data get forwarded to the controller class and in the end the class
-fetches the results from the test. This class contains the \emph{smart test} functionality.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{initTestClass.png}
- \caption[]{Init test class}
-\end{figure}
-It selects automatically the important tests to perform. In the next step it
-tries to identify the problem in the network.
-More details can be found in the \emph{smart test} description.
-\subsection{Controller class}
-The controller class is used to assign jobs to handlers (in other words, which one is
-going to be the caller and callee). Simultaneously, it defines the port addresses for
-the communication between the handlers and the main test software (controller).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{controllerclass.png}
- \caption[]{Controller class}
-\end{figure}
-If the callee or the caller are nanoBTS controller boxes (i.e. BeagleBoards outside
-the Rechenzentrum), it will first create an SSH connection to make a tunnel before
-the local socket connection is created. Then the controller class sends all the
-required data regarding the test tasks to the handlers.
-
-\clearpage
-\section{Hardware design}
-In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
-Since one of the project goals was to reduce the costs as much as it was possible, we had tried to use some of the leftovers found in our lab.
-
-\subsection{BeagleBoard}
-``The BeagleBoard is an OMAP3530 platform designed specifically to address the Open
-Source Community.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{bb.jpg}
- \caption[]{BeagleBoard, a Linux-on-chip board where our controller software runs the GSM device }
-\end{figure}
-It has been equipped with a minimum set of features to allow the
-user to experience the power of the OMAP3530 and is not intended as a full development
-platform as many of the features and interfaces supplied by the OMAP3530 are not
-accessible from the BeagleBoard'' \cite{beagleDataSheet}.
-We run on it a special precompiled version of Ubuntu for the ARM processor type. The Linux system boots up from an SD Card.
-The board has an USB hub and network port attached to it. In our project it is connected to our
-internal university LAN network and to a cell phone. We positioned the two BeagleBoards in rooms where
-we had LAN access and GSM signal coverage of our two local base stations.
-
-\subsection{Cell phones}
-Our first attempt was to control a Nokia cell phone 3310 with the supplied USB connection cable.
-The protocols used by old versions of Nokia cell phones, as the 3310, use the F-Bus protocol. It was not easy to work with.
-After performing various experiments we succeeded to send and to read SMS messages. Later on we found out that it was not possible to
-send commands for receiving and making the calls. In the meantime we found two Siemens phones, one M45 and S55.
-The first one, Siemens M45, had a cable supplied with it and it was not difficult to control it with the standard set of AT modem commands.
-At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
-
-\subsection{Cables for the cell phones}
-Due to the fact that we had used 5 cell phones on a single computer, the best solution was to order 5 USB cables.
-Konrad bought 5 cables for 5 Siemens S55 cell phones. All of the cables have an USB2Serial chip converter inside of them.
-Once they were plugged into the USB port, Ubuntu automatically recognized the cables and installed the drivers.
-The virtual serial ports were created and could be found on \emph{/dev/ttyUSBx}, where $x$ is the automatically assigned number for the port.
-Some of the cables had the capability to charge the Siemens S55 phones.
-Konrad had opened several cables to solder the power supplies to some contacts and the problem was solved for all of the cables.
-\subsection{Server}
-We were given an old Pentium 3 computer where we installed Ubuntu Linux. Configured the Apache web server and MySQL.
-Afterwards we installed the Python on it and all the required libraries\footnote{Required libraries are mentioned in section 9.1.}.
-\clearpage
-
-\section{Communication protocol}
-A communication protocol represents a set of well defined rules by whose help two or more computing systems exchange information inbetween.
-When defining these rules, it is important to define a limited state space for every possible event, no matter did we get the appropriate
-response from the other side. Our approch to this problem was to build a simple synchronous protocol, where every expected message is
-confirmed or otherwise the connection between two sides is immediatelly terminated. Since designing protocols is a demanding and challenging
-topic which requires years of experience and verification, we do not expect that we had developed the best possible and an optimum
-protocol\footnote{Design concepts and paradigms for the protocol design have been used from the
-``Network Protocol Design and Evaluation'' course, lectured by Dr. Stefan R\"{u}hrup}.
-In the following paragraphs we will try to clarify how our protocol works. Before we start to go into detail how the protocol works,
-it is important to remember that we differentiate two sides, handler and the controller side. The handler side represent the device
-that physically handles the call (e.g. the BeagleBoard) whereas the controller (i.e. the main test software), is the test software
-controlling the handler side and assigning the task to it.
-
-\subsection{Communication between the handler and controller}
-The handler side is always in the waiting mode, by waiting we denote the mode where the socket is already created and it is waiting
-for a connection to be accepted at the defined port. The controller initiates a socket connection to the two handlers.
-Subsequently, after the connection has been established, it is waiting for a message to be received. The first message
-has to be 13 characters long and include the following content \emph{HELLO HANDLER}. Thereupon, after the message has
-been validated, the handler side sends the controller side a response, \emph{HELLO CONTROLLER}.
-We call this first message exchange the initialization. Now the controller side has to decide which of the two handler's
-will be the caller/callee whereas the other handler will be the opposite. Let's assume the controller sends to the first
-handler the message \emph{RECEIVER} and to the second one the message \emph{CALLER|\#}, replace the callee number with the \# sign.
-In the meantime, both handlers initialize the software required to make the call and to receive the call. Asynchronously they
-respond back to the controller their successful initialization. The successful initialization is reported by sending \emph{RECEIVER READY}
-and \emph{CALLER READY}. After receiving the mentioned messages, the controller first sends the callee handler the
-message \emph{RECEIVE START} and then to the caller handler, the message \emph{CALLER START}. As a result of these messages,
-the handlers enter the receiving, respectively calling state. In the given states two timeout timers gets activated.
-These timers are responsible for the case if the physical connection between the callee and the caller are not successfully
-established or terminated\footnote{The client and server classes responsible for the communication have timeout timers as well
-for the case if the connection between the controller and handlers are broken.}. Afterwards, depending if the physical connection
-between the handlers (i.e. the callee and the caller) was successfully established or not, the handlers report their
-coresponding state with a message to the controller. The message is of the form \emph{CALL OK}, meaning the handler successfully
-established a physical connection with the other handler, or of the form \emph{CALL NOT OK}, meaning a physical connection was
-not successfully established on the given handler. The controller considers only a test successful if both handlers report
-with \emph{CALL OK}. The test software ends the established connection with the handlers by sending them the \emph{TERMINATE CONNECTION}
-command. After the handlers have terminated the connection, they enter the waiting for a new connection state and the process starts
-from begining again. If the states are not entered in the specified order the connection is immediatelly terminated and
-the state machine is in the waiting for a new connection state\footnote{It cannot be seen in the protocol flowchart but one should
-keep in mind it works like a well defined state machine.}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{protocolCommunicationHandler.png}
- \caption[]{Flowchart of the protocol on the handler side without the state representation}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerReceiver.png}
- \caption[]{Flowchart of the protocol on the controller side for the caller without the state representation}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerCaller.png}
- \caption[]{Flowchart of the protocol on the controller side for the receiver without the state representation}
-\end{figure}
-
-\subsection{Verification of the protocol}
-``SPIN is a model checker - a software tool for verifying models of physical
-systems, in particular, computerized systems. First, a model is written that
-describes the behavior of the system; then, correctness properties that express
-requirements on the system's behavior are specified; finally, the model
-checker is run to check if the correctness properties hold for the model, and,
-if not, to provide a counterexample: a computation that does not satisfy a
-correctness property.'' \cite{spin}. We modeled our simple protocol in SPIN using
-the programming language PROMELA \cite{spin}. Since PROMELA is similar to C it was
-not possible to ensure 100\% matching with Python but we had made the assumptions of it.
-We modeled both sides, server and client side. As well as the server side being a caller
-and a callee. It was important to find out if our protocol is deadlock or delayed state free.
-For more details our model can be found on our wiki project page with the PROMELA source code \cite{wiki}.
-We had built in a 50\% random probability that the call test will not be successful, to make the model even more
-realistic. Our protocol idea was deadlock free and the verification results prove it.
-After we had modeled the basic idea we had written the code that implements our idea. The Python code
-resembles some kind of a state machine which remembers the last state and what the next state should be in case
-of receiving corresponding message. Otherwise it enters the exit state and then the start state.
-
-\begin{lstlisting}
-(Spin Version 6.1.0 -- 2 May 2011)
- + Partial Order Reduction
-Full statespace search for:
- never claim - (none specified)
- assertion violations +
- cycle checks - (disabled by -DSAFETY)
- invalid end states +
-State-vector 44 byte, depth reached 65, errors: 0
- 40 states, stored
- 3 states, matched
- 43 transitions (= stored+matched)
- 90 atomic steps
-hash conflicts: 0 (resolved)
- 2.195 memory usage (Mbyte)
-unreached in proctype Server1
- (0 of 36 states)
-unreached in proctype Server2
- (0 of 36 states)
-unreached in proctype Client
- (0 of 67 states)
-pan: elapsed time 0 seconds
-\end{lstlisting}
-
-\clearpage
-\newpage
-
-
-\section{Security and safety of the system}
-Safety and security of the software plays a major role in our project.
-It is of vital importance that only as few as possible people have access to our test system since the resulting data could be exploited to plan an attack
-(e.g. assume the University alarm system uses the SIP gateway to connect to the outside world and to alarm the police, if one knows that the SIP gateway is not working properly, a burglar could plan to rob the University building just at that moment). Therefore the choice to go Open Source is justified due to the fact that one should know how every single detail of the system works.
-All the time, while we were working on the project, we were made aware of this issue by Denis and Konrad.
-We decided to use asymmetric key cryptography, where each side has two keys (private and public). In the next sections we will explain in more details how we applied the methods.
-\subsection{Encryption of the communication channels}
-At first we thought to encrypt the data before sending them but since none of us was an expert on encryption standards the idea was rejected. Alongside the fact that none of us had been an expert in the field of cryptography, we were neither experts in the field of Internet programming. One could find maybe a way to disable our server software with various hacking methods (e.g.
-trying to open the port until the system runs out of memory and in our case the system which we used on the handler side was a BeagleBoard with ARM architecture running on a single chip TI OMAP processor, refer to the picture in figure).
-We had to eliminate even the slightest possible threat in return for spending more time for debugging the test software system. Despite we were aware of all these facts, we had to choose one of the plenty implemented encryption standards on Linux.
-Denis and Konrad suggested using the SSH Tunneling method.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{sshTunnel.png}
- \caption[]{SSH Tunnel, all the communication inside the tunnel is encrypted }
-\end{figure}
-
-Using the SSH Tunnel port forwarding method we could hide the real port we had used for our socket connection. On the other hand we could force the socket to accept only local connections (i.e. from the machine where the handler software was running).
-The SSH Tunnel port forwarding method creates an encrypted tunnel between the two computers and then it creates two ports, one on the local and remote computer. All the data sent through the port on the local machine appear on the port at the remote machine. \newline The first problem we faced was that SSH required the username and password every time we tried to make an SSH connection. We could avoid this problem by copying the public key from our server (where our test software runs) to the BeagleBoard \cite{sshTunnel}.
-This can be performed by executing the following commands in the terminal shell.
-One has to create first the private and public keys on the local machine(i.e. server computer, where the test software runs):
-
-\begin{lstlisting}
-refik@ubuntu:$ [Note: You are on local-host here]
-
-refik@ubuntu:$ ssh-keygen
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/refik/.ssh/id_rsa):[Enter key]
-Enter passphrase (empty for no passphrase): [Press enter key]
-Enter same passphrase again: [Press enter key]
-Your identification has been saved in /home/refik/.ssh/id_rsa.
-Your public key has been saved in /home/refik/.ssh/id_rsa.pub.
-The key fingerprint is:
-33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 refik@ubuntu
-\end{lstlisting}
-
-Then one needs to copy the public key to the remote machine (BeagleBoard) using ssh-copy-id:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
-refik@remote-host's password:
-Now try logging into the machine, with "ssh 'remote-host'", and check in:
-
-.ssh/authorized_keys
-
-to make sure we haven't added extra keys that you weren't expecting.
-\end{lstlisting}
-
-After we have created the public and private keys, and coppied the public key on the machine to which we want to connect, we can test if we can make an SSH connection to the remote machine:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh remote-host
-[Note: SSH did not ask for password.]
-
-refik@remote-host:$ [Note: You are on remote-host here]
-\end{lstlisting}
-The test was successful. We tested it with our SSH Tunnel port forwarding class and it worked perfectly.
-\subsection{Security on the web site}
-Aside from having secured the data communication channels between various parts of our software
-(the handlers and the controller), it was crucial to ensure all the communication between
-test user's browser and our server. Therefore we had used the \emph{https} protocol and
-the \emph{.htaccess} file to password protect the web site so only the privileged users
-have access to our test system.
-\subsubsection{Configuring the http secure protocol https}
-Securing the communication channels without making certain the web site is safe would be worthless.
-We decided to use the \emph{https} protocol instead of the \emph{http} since a person in the middle
-could sniff our data (e.g. a person is connected with his/her smart-phone over an unprotected wireless network) \cite{https}.
-At the same time the web site should be accessible only by the authorized personel. Our first approach to this
-problem was to build an PHP page with \emph{MD5} hashed passwords, however we got a suggestion by Konrad and Denis to
-use a safer encryption method implemented in the Apache web server software, \emph{.htaccess}. By using
-these two techniques we protected the web site of some vulnerabilities known to us. If the web site
-will be only accessed from our local university network, we can additionally add an IP filter mask as well.
-In the following paragraph we will explain our procedure how to generate the keys and to enable the https protocol.
-\par First we want to generate a server key by typing the following command:
-\begin{lstlisting}
-openssl genrsa -des3 -out server.key 4096
-\end{lstlisting}
-\par This will generate a 4096 bit long private server key, one is asked to enter two times a password for the \emph{server.key}.
-Using the generated private server key, we will create a certificate signing request, \emph{server.csr}. We were prompted with a series of questions
-like country, state, organization name and etc which we had to enter to resume.
-\begin{lstlisting}
-openssl req -new -key server.key -out server.csr
-\end{lstlisting}
-\par In the next step we had to sign the certificate signing request and enter the amount of days for how long it should be valid.
-In our case we entered the duration of one year, one can make it for longer periods as well (i.e. the amount of 365 has to be changed).
-\begin{lstlisting}
-openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-\end{lstlisting}
-\par We were asked to enter the password again for \emph{server.key}. After we have completed this step we had to make
-a version of the \emph{server.key} which did not require a password, \emph{server.key.insecure} and we will rename the files appropriately.
-\begin{lstlisting}
-openssl rsa -in server.key -out server.key.insecure
-mv server.key server.key.secure
-mv server.key.insecure server.key
-\end{lstlisting}
-\par The generated files are very sensitive, since they are our keys. After these steps were completed, we had generated 4 files: \emph{server.crt}, \emph{server.csr}, \emph{server.key} and \\ \emph{server.key.secure}. Now we need to enable the SSL engine on the Apache web server.
-We coppied \emph{server.key} and \emph{server.crt} into \emph{/etc/appache2/ssl}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2$ sudo mkdir ssl
-cp server.key /etc/apache2/ssl
-cp server.crt /etc/apache2/ssl
-\end{lstlisting}
-\par Then we enabled SSL by typing in \emph{a2enmod ssl}, ``it is simply a general purpose utility to establish a symlink between a module in \emph{/etc/apache2/mods-available} to \\ \emph{/etc/apache2/mods-enabled} (or give a message to the effect that a given module does not exist or that it is already symlinked for loading)'' \cite{https}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo a2enmod ssl
-Enabling module ssl.
-See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
-Run '/etc/init.d/apache2 restart' to activate new configuration!
-\end{lstlisting}
-\par In the next procedure we had to establish a symlink from the 'available' default-ssl file to the 'enabled' file \cite{https}. Then we created a folder where our secured PHP files will be located (e.g. https://some-domain-name.com/test-software).
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
-refik@ubuntu:/etc/apache2/ssl$ cd /var/
-refik@ubuntu:/var$ sudo mkdir www-ssl
-\end{lstlisting}
-\par We had backed up our old configuration files for the virtual hosts, for the case if we damage the Apache configuration files. Then we edited the \emph{default-ssl} file.
-\begin{lstlisting}
-refik@ubuntu:/var$ cd /etc/apache2/sites-available
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default default_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default-ssl default-ssl_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par Only the beginning of the file is listed here and we have modified the line starting with \emph{DocumentRoot}
-and \emph{<Directory /var/www/>} from \emph{DocumentRoot /var/www} to \emph{DocumentRoot /var/www-ssl}
-and from \emph{<Directory /var/www/>} to \emph{<Directory /var/www-ssl/>}
-(i.e. we had to redefine the location of our SSL directory).
-\begin{lstlisting}
-<IfModule mod_ssl.c>
-<VirtualHost _default_:443>
- ServerAdmin webmaster@localhost
-
- DocumentRoot /var/www-ssl
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-\par One should keep in mind that the port 443 should be free for Apache to use it. In the proceeding step we had to ensure that Apache listens on the given port for a \emph{https} connection.
-One could test that by going into the \emph{/etc/apache2/ports.conf}.
-\begin{lstlisting}
-<IfModule mod_ssl.c>
- # If you add NameVirtualHost *:443 here, you will also have to change
- # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
- # to <VirtualHost *:443>
- # Server Name Indication for SSL named virtual hosts is currently not
- # supported by MSIE on Windows XP.
- Listen 443
-</IfModule>
-\end{lstlisting}
-\par In our case it was set up correctly, since the command: \emph{Listen 443} was present.
-In our last configuration step we had to edit \emph{default-ssl} file to define the correct locations of our keys and to ensure the SSL engine was turned on.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par The following part of the file had to be found and modified according to our locations:
-\begin{lstlisting}
-SSLEngine on
-
- # A self-signed (snakeoil) certificate can be created by installing
- # the ssl-cert package. See
- # /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
- # If both key and certificate are stored in the same file, only the
- # SSLCertificateFile directive is needed.
- SSLCertificateFile /etc/apache2/ssl/server.crt
- SSLCertificateKeyFile /etc/apache2/ssl/server.key
-
- # Server Certificate Chain:
- # Point SSLCertificateChainFile at a file containing the
-\end{lstlisting}
-\par Finally we had configured our server and can proceed with the restart of the apache web server. We created a test web site \emph{/var/www-ssl/index.php} and navigated our browser to \emph{https://localhost}. The test was successful!
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
- * Restarting web server apache2 [Sat Oct 08 21:52:51 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
- ... waiting [Sat Oct 08 21:52:52 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence [ OK ]
-refik@ubuntu:/etc/apache2/sites-available$
-\end{lstlisting}
-\subsubsection{Password protecting the web site using .htaccess}
-Aside from using a secure communication protocol on the web, \emph{https}, it is important
-to ensure that only permissioned users gain access to the web site. We had achieved it using
-the \emph{.htaccess} file. However, to enable the use of Apache \emph{.htaccess} files,
-we will have to reconfigure the Apache configuration files again. \emph{root} access will
-be required. First we have to edit the \emph{/etc/apache2/sites-available/default-ssl} file.
-Find the following lines and modify the \emph{AllowOverride None} to \emph{AllowOverride All}
-like in the given configuration segment:
-\begin{lstlisting}
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride All
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-This will tell Apache web server that it is okay to allow \emph{.htaccess} files
-to over-ride previous directives. We must reload the Apache web server before the
-changes can take effect. We can do it by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 reload
-\end{lstlisting}
-The next step is to go to the directory where our test software web page is located
-(e.g. \emph{/var/www-ssl/testsoftware}) and to create a file called \emph{.htaccess}.
-Please insert the following code segment inside the created \emph{.htaccess} file where
-\emph{/var/www-ssl/testsoftware/.htpasswd} is your full path address to \emph{.htpasswd}:
-\begin{lstlisting}
-AuthUserFile /var/www-ssl/testsoftware/.htpasswd
-AuthName "Authorization Required"
-AuthType Basic
-require valid-user
-\end{lstlisting}
-Then in the next step, create another file called \emph{.htpasswd}. After you have created it,
-we will add the usernames that should have access to the web site. We do that by typing the
-following command, where you can replace \emph{konrad} with any other combination of letters
-which will represent your username:
-\begin{lstlisting}
-refik@ubuntu:/var/www-ssl/testsoftware$ sudo htpasswd -c .htpasswd konrad
-\end{lstlisting}
-Afterwards, you will be required to type twice the same password for the username
-you want to create, in this case \emph{konrad}. ``The -c flag is used only when you
-are creating a new file. After the first time, you will omit the -c flag,
-when you are adding new users to an already-existing password file. Otherwise you
-will overwrite the file!'' \cite{htaccess}. You can add as many users as you wish,
-do not forget to remove the -c flag when you do it.
-In the last step, we have to modify the \emph{/etc/apache2/apache2.conf} file and
-to add at the end of it the following code segment where \emph{/vaw/www-ssl/testsoftware}
-is the full path to your web page directory where you put the \emph{.htpasswd} file:
-\begin{lstlisting}
-<Directory /vaw/www-ssl/testsoftware>
-AllowOverride All
-</Directory>
-\end{lstlisting}
-We are done with editing. All we have to do now is to restart the Apache web server. We
-can do that by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 restart
-\end{lstlisting}
-You can test it now by opening a new browser tab and navigating to \emph{https://localhost/\\testsoftware}
-(keep in mind to replace \emph{testsoftware} with your name of the folder where the web page
-is located). If you configured everything properly, you should get a dialog where you can
-enter your created username and password and try to login.
-
-\newpage
-\section{Web page}
-One of the requests of our team project was to build a test system that could be started from the web site.
-Since we used the Open Source platform to base our project on, it was certain we will use it for the web site as well.
-The dynamic parts of the web site were programmed using PHP and JavaScript. The GUI was done using CSS.
-The web site opens TCP/IP sessions between itself and the Python test software. Due reasons explained in the section above,
-a test user needs first to enter his username and password to acccess the web site. Then a test user can manually select what type of tests he wants to perform or he can select already defined test,
-like the simple, smart or full test. (Describe here these three type of tests).
-Data about the performing tests are inserted into the database only in the case if the mutex lock for the web site can be obtained\footnote{The mutex lock will be explained in the next subsection.}.
-This way we can avoid inserting data about the test in case there is already a test user on the website performing some tests on the system.
-\subsection{Communication between the web page and the test software}
-Our first idea was that the PHP file starts the test software.
-However, parts of our test software open new terminal windows and
-since PHP has restrictions for starting GUI applications our approach was condemned for a failure at the start.
-We had to deal with this problem and our solution to it was to write a little Python script that will run in background and start our
-test software when required. Once a person starts the test over the web site, it automatically connects to the Python script over an TCP/IP socket.
-Before being able to start the test software one needs first to obtain the mutex lock on the web site and to check if there is a mutex lock for the test software running.
-Using this approach we can ensure that only one user at the time can be on the web site and run only one instance of the test software.
-In the next step we send the Python script a message to start the test software. The test software obtains a mutex lock as well.
-When the test software is started the web page checks if a software lock is obtained.
-Once it is obtained we can proceed with creating a new socket connection between the web site and the test software.
-Our TCP/IP communication between the web site and the test software is not encrypted since both the web page and the test software run on the same server computer.
-The mutex locks are freed after the tests are performed. Our test software has a timeout timer in case that the web site hangs or somehow the socket connection breaks
-where it automatically shuts down.
-\subsection{Results on the web page}
-All the performed test results are displayed on the web site. The results are displayed in real time after each selected test case is performed.
-After all the test cases have been performed a topological picture is generated which represents the current state of the system, this can bee seen in the following figure.
-Afterwards, when the result picture is generated, the test user can easily see what is wrong in the system. Various icons represent different subsystems.
-Reading the test results is as simple as looking at the icons and identifying if they have: a green plus signs (i.e. working properly), a red minus sign (i.e. not working properly) and a yellow exclamation mark (i.e. it was not tested).
-
-\begin{itemize}
-\item Triangles represent BTS stations
-\item Cellphones represent the external networks (E-Plus, Vodaphone, T-Mobile and O2)
-\item Telephone represents the landline and a telephone with a mortarboard the University telephone network
-\item Servers represent the OpenBSC and LsfKs-Asterisk
-\item Two monitors represent the SIP system
-\end{itemize}
-
-\par The inference mechanism works as following: if a test case works, we can conclude that the subsystems connected inbetween the two ends are working properly as well.
-We use the pChart library\footnote{It is under the GNU GPLv3 license and our project is nonprofit!} to generate the topological picture of our telecommunication system \cite{pChart}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{resultsImage.png}
- \caption[]{Result image showing working, defected and not tested subsystems}
-\end{figure}
-\par On the right side of the result picture the test user can immediatelly identify the network operability in percentage\footnote{The test user has to take into account that this percantage is only valid if a full test is performed.}. Bellow the network operability statistics are the ping results statistics located.
-If one of the fields is red it means the subsystem is not online or cannot be seen by our server computer where the test software is located.
-\newpage
-\section{Employing the test software system}
-In this section the reader can find out how to install and how to use the test system.
-Our goal was to make a multiplatform test software, however we tested it only under Ubuntu
-11.04 32 bit Linux OS and the given instruction manual is only tested under that OS. The
-test software performed well, both on PC and MAC computers.
-One should keep in mind that some of the libraries we had used do not work
-under the 64 bit version of Linux OS.
-
-\subsection{Required software and libraries}
-In the next subsections, we will guide you how to install all the required software and
-libraries to flawlessly run our test software on your employed server.
-You will be required to have \emph{root} access privileges and to open a new
-terminal window where the commands will be typed in.
-
-\subsubsection{Python installation}
-Python was our programming language of choice\footnote{We had explained earlier why we
-have decided to use Python.}. The required version of Python is 2.7. One can easily
-install python by typing the following commands:
-\begin{lstlisting}
-sudo apt-get update
-sudo apt-get install python2.7
-\end{lstlisting}
-It will take a short amount of time to be installed. You will be required to enter
-the \emph{root} password.
-
-\subsubsection{Apache Web server installation}
-We had decided to use the Apache web server because of its wide support on the internet
-and safety reasons. If there are any bugs or security flaws, the patches are
-easily installed with the Ubuntu update manager. The Apache web server can be easily
-installed by typing the following command:
-\begin{lstlisting}
-sudo apt-get install apache2
-\end{lstlisting}
-You might be required to follow other installation instructions printed on the
-terminal screen.
-After the installation has completed successfully, one can test if it works by going
-to the following web address: \emph{http://localhost}. For configuring the \emph{https}
-please go to the section 7.2.
-
-\subsubsection{SSH}
-Secure Shell (SSH) is a network protocol for secure data communication between two
-computers inside of a network. All computers are required to have SSH installed on it.
-You can easily install it by typing the following command:
-\begin{lstlisting}
-sudo apt-get install ssh
-\end{lstlisting}
-
-\subsubsection{MySQL database and MySQLdb library}
-The MySQLdb library is required to perform various operations on the MySQL database within
-Python. We used the MySQLdb library instead of the native MySQL C API \emph{\_mysql} library
-to make the code cleaner and more portable.
-We suggest you to install first the MySQL database on the server computer. If you
-have installed MySQL you can skip the next part. To star the installation process one can
-type the following commands:
-\begin{lstlisting}
-sudo apt-get install mysql-server
-\end{lstlisting}
-You will be required to enter the Linux \emph{root} password. At some point during
-the installation process, you will be required to enter the password for the MySQL
-database. After you have performed the above step, we can proceed with the
-MySQLdb library installation. By typing:
-\begin{lstlisting}
-sudo apt-get install python-mysqldb
-\end{lstlisting}
-If the \emph{python-mysqldb} name has changed, one can easily find the correct name of the
-file by issuing the following command:
-\begin{lstlisting}
-apt-cache search MySQLdb
-\end{lstlisting}
-By typing in the commands given above, you should have successfully installed the MySQLdb
-library.
-
-\subsubsection{Serial port library}
-The serial port library is required for the cell phones to communicate with the
-server computer and the BeagleBoards. The required library for Python can be installed
-by typing the following command:
-\begin{lstlisting}
-sudo apt-get install python-serial
-\end{lstlisting}
-The installation should not produce any errors or warnings.
-
-\subsubsection{PJSUA library}
-\emph{PJSUA} is an open source command line SIP user agent (softphone). We use the library
-for the SIP handler. First, one needs to download the library
-from \url{http://www.pjsip.org/download.htm} \cite{pjsip}. Then extract it to some folder.
-Then we will build the library using make. This can be accomplished by typing the following
-commands:
-\begin{lstlisting}
-cd your-pjsip-root-dir
-./configure && make dep && make
-cd pjsip-apps/src/python
-sudo make
-\end{lstlisting}
-
-If you get an error similar to this one:
-\begin{lstlisting}
-_pjsua.h:25:20: fatal error: Python.h: No such file or directory
-compilation terminated.
-error: command 'gcc' failed with exit status 1
-\end{lstlisting}
-Then you will be required to install python-dev as well, that matches your version of
-python (e.g. python2.7-dev). You can do it by typing:
-\begin{lstlisting}
-sudo apt-get install python2.7-dev
-\end{lstlisting}
-After you have successfully installed python2.7-dev, repeat the the commands given above.
-Now you should have a properly installed PJSUA library. One can easily test if the installation
-was successful by copiling a simple python code, \emph{python test.py}, with the following
-source code:
-\begin{lstlisting}
-import pjsua
-\end{lstlisting}
-If you do not get any errors, you have successfully installed the library. More detail can
-be found on our project wiki page \cite{wiki}.
-
-\subsubsection{pChart library}
-The pChart library is within our installation files and does not require to be installed
-individually. The library is only required if one uses the web interface and
-requires the generated resulting image. The library is open source and does not require
-any licensing. However, if one needs to learn how the library works,
-information can be found on the pChart web page \cite{pChart}.
-
-\subsubsection{proctitle library}
-We had used this library to rename the currently executed process name.
-``The library allows a process to change its title (as displayed by system
-tools such as ps and top). Changing the title is mostly useful in
-multi-process systems, for example when a master process is forked:
-changing the children's title allows to identify the task each process is
-busy with.'' \cite{proctitle}. The library can be easily installed by typing:
-\begin{lstlisting}
-sudo easy_install setproctitle
-\end{lstlisting}
-
-
-\subsection{Configuring hardware}
-Before proceeding with the next steps, please connect all the cell phones
-to the USB hub using the suitable cables. Then make sure the cables are
-recognized by the operating system. This can be performed by typing the following command:
-\begin{lstlisting}
-dmesg | grep ttyU
-\end{lstlisting}
-The given command should produce a result similar to:
-\begin{lstlisting}
-[ 5178.753600] usb 1-1.2: pl2303 converter now attached to ttyUSB0
-\end{lstlisting}
-
-We have two different ways to configure the cell phones, manually and automatic.
-Both options can be accessed either using the website or the terminal window.
-Using the manual configuration from the terminal, the user configures everything him/herself.
-The user will be presented with a few questions like the port address, cell phone number and IMEI.
-After the user enters all the required parameters, the software will check
-if the given port address is accessible and it will look for a response from the devices.
-Then you will be asked to enter the IMEI and the cell phone number of the device.
-If the entered IMEI matches the device IMEI then the software will update the database
-with the entered information. You can run, both the manual and automatic configuration
-by typing:
-\begin{lstlisting}
-python gsmselftest.py --devconf
-\end{lstlisting}
-In the automatic configuration, the software will automatically try to detect every
-cell phone that is connected to the USB hub. This configuration option can detect
-up to nine cell phones, that are connected to the server computer. We had set a limit to
-nine cell phones because we required only five (four for the external GSM networks
-and one for our internal GSM BST). The only limitation of the automatic cell phone congiguration
-is that it only supports cell phones where we could read out the number using the \emph{AT Modem}
-commands since some cell phone manufacturers do not use the standardized \emph{AT Modem} commands.
-\subsection{Location of the files}
-For proper operation of the software, it is important that each file is at its correct path
-located. In the given section you can find out the correct path locations.
-If you are not an expert, please do not change these locations.
-The following files have to be located in the \emph{/var/www-ssl/testsoftware/} folder:
-\begin{lstlisting}
-drwxr-xr-x 7 root root 4096 2011-10-28 12:45 .
-drwxr-xr-x 3 root root 4096 2011-10-20 17:06 ..
--rw-r--r-- 1 root root 109 2011-10-26 16:55 .htaccess
--rw-r--r-- 1 root root 20 2011-10-26 17:11 .htpasswd
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 class
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 css
--rw-r--r-- 1 root root 7547 2011-10-20 17:06 delayedLoading.js
--rw-r--r-- 1 root root 3431 2011-10-25 14:38 devconf.html
--rw-r--r-- 1 root root 2024 2011-10-25 23:47 devconfigAuto.php
--rw-r--r-- 1 root root 1811 2011-10-26 13:44 devconfigManual.php
--rw-r--r-- 1 root root 2195 2011-10-25 23:45 devconfig.php
--rw-r--r-- 1 root root 3526 2011-10-27 14:51 devconf.php
--rwxr-xr-x 1 root root 725 2011-10-20 17:06 execute.php
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 fonts
--rw-r--r-- 1 root root 2259 2011-10-28 12:43 index.html
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 icons
-drwxr-xr-x 2 root root 4096 2011-10-25 14:10 Images
--rw-r--r-- 1 root root 2038 2011-10-20 17:06 insertData.php
--rw-r--r-- 1 root root 636 2011-10-26 13:43 insertdevice.php
--rw-r--r-- 1 root root 10819 2011-10-20 17:06 loader.gif
--rw-r--r-- 1 root root 2268 2011-10-26 16:07 main.php
--rw-r--r-- 1 root root 5416 2011-10-20 17:06 moocheck.js
--rw-r--r-- 1 root root 75836 2011-10-20 17:06 mootools.js
--rw-r--r-- 1 root root 677 2011-10-20 17:06 mutexFunctions.php
--rw-r--r-- 1 root root 9063 2011-10-25 17:20 mutexSmartTest.php
--rwxr-xr-x 1 root root 9143 2011-10-28 12:45 mutexTry.php
--rw-r--r-- 1 root root 13304 2011-10-20 17:06 networkResult.php
--rw-r--r-- 1 root root 8294 2011-10-21 19:02 post.php
--rw-r--r-- 1 root root 19218 2011-10-21 17:36 startTest2.php
--rw-r--r-- 1 root root 18852 2011-10-20 17:06 startTest.php
--rw-r--r-- 1 root root 18787 2011-10-25 16:43 TaskTest.html
--rw-r--r-- 1 root root 3685 2011-10-20 17:06 testCase.php
--rw-r--r-- 1 root root 2545 2011-10-20 17:06 wait.gif
-\end{lstlisting}
-The \emph{startSoftware.py} file is required to be in the \emph{/etc/init.d/} folder,
-since it is required to be start with the computer boot however if that does not work,
-one should start it manually. This part of the software is
-responsible for starting the testing software from the web page\footnote{The web page
-communicates with this script via a socket connection and sends a signal to start
-the main test software.}.
-The main test software python files should be located in \emph{/home/gsmselftest/SoftwareTesting/}.
-\begin{lstlisting}
-drwxr-xr-x 2 gsmselftest gsmselftest 4096 2011-11-03 14:29 .
-drwxr-xr-x 30 gsmselftest gsmselftest 4096 2011-11-02 18:28 ..
--rwxr--r-- 1 gsmselftest gsmselftest 2909 2011-10-20 17:54 ClientClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3628 2011-10-20 17:54 ClientClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 9814 2011-11-02 16:19 ControllerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 9247 2011-11-02 16:20 ControllerClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 15129 2011-11-02 15:32 DbClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 11712 2011-11-02 15:32 DbClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8512 2011-11-02 13:30 GSMClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7337 2011-11-02 13:42 GSMClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8063 2011-11-02 13:24 GSMHandler.py
--rwxr-xr-x 1 gsmselftest gsmselftest 20346 2011-11-02 18:32 gsmselftest.py
--rwxr--r-- 1 gsmselftest gsmselftest 698 2011-11-02 18:36 help.txt
--rwxr-xr-x 1 gsmselftest gsmselftest 8661 2011-11-02 16:35 initTestClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7497 2011-11-02 16:37 initTestClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 645 2011-10-20 17:54 LogFileClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1509 2011-10-20 17:54 LogFileClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 817 2011-10-20 17:54 PingClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1263 2011-10-20 17:54 PingClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 3982 2011-10-20 17:54 ServerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4596 2011-10-20 17:57 ServerClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 4129 2011-10-20 23:17 ServerClassSoftware.py
--rw-r--r-- 1 gsmselftest gsmselftest 4802 2011-10-20 23:17 ServerClassSoftware.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 5252 2011-10-22 03:58 SIPHandler.py
--rwxr--r-- 1 gsmselftest gsmselftest 1267 2011-11-02 14:07 SSHTunnelBoxClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1852 2011-11-02 14:19 SSHTunnelBoxClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 323 2011-11-02 18:44 startSoftware.py
--rwxr-xr-x 1 gsmselftest gsmselftest 6378 2011-11-02 16:13 trueTableClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4583 2011-11-02 16:16 trueTableClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 2248 2011-10-28 14:04 usbDetectClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3590 2011-10-28 14:05 usbDetectClass.pyc
-\end{lstlisting}
-
-\subsection{Setting up the parameters}
-After configuring the hardware, \emph{https} and \emph{.htaccess} on the web server,
-it is important to modify the files for proper operations. In the given section you
-can find out how to configure the rest of the files (e.g. database passwords, etc.).
-The following files you have to modify to have a working database access:
-\emph{initTestClass.py, GsmSelfTest.py, UsbDetectClass.py} and \emph{truthtableClass.py}.
-\subsection{Test descriptions}
-In the following section we will describe the tests that can be performed and what kind
-of problems they can identify. There are five types of tests:
-\begin{itemize}
-\item Smart test
-\item SIP test
-\item GSM test
-\item Everything test
-\item Manual test
-\end{itemize}
-Each test will be described in the next subsections.
-\subsubsection{Smart test}
-\par The \emph{smart} test is not called smart without a reason. It tries automatically to identify
-problems inside of the telecommunication network. The user is not required to define what kind
-of tests have to be performed. In the first part the test software communicates with the
-database to see what systems are available. In the next step it performs a call from the
-University telephone system to a random local cell phone\footnote{Local cell phone or
-local GSM network means our University GSM Network or RZ GSM.}
-inside of our University GSM network.
-While executing this task, automatically the Asterisk server, OpenBSC and a random nanoBTS
-(or the one cell phone in RZ) are tested. The next task to be performed in the smart test,
-a randomly selected cell phone inside of our local GSM network will try to call: a random
-cell phone within the external (O2, Vodaphone,E-Plus or T-Mobile) or local GSM network.
-This might test the external network and will test it with high probability, however the
-probability exists to make a local to local GSM test call. In the third task, we perform
-a test where we call from the landline a random cell phone inside of our local GSM network.
-In the fourth or last task, we call from SIP to the service we did not test yet (e.g.
-if we did not test the external GSM network using the second test task, then in this last
-task we will exploit it). After the smart test had been completed you will be presented
-with the results.
-\subsubsection{SIP test}
-The \emph{SIP} test option will perform test in such a way that all the SIP subsystems are
-tested (SIP and University telephone network). It will try to identify if there are any
-problems on the Asterisk server and our University telephone network, including incoming and
-outgoing calls from the SIP side.
-\subsubsection{GSM test}
-In the \emph{GSM} test both GSM networks get tested, the local and the external GSM netwrok.
-We test the nanoBTS controller boxes (i.e. BeagleBoards) as well. Using this test, both incoming
-and outgoing calls are performed, we can detect possible errors on the OpenBSC and the nanoBTS.
-\subsubsection{All test}
-The \emph{All} test selects all the given tests and executes them step-by-step. It is the test
-that takes the greatest amount of time. While the test are performed, results are
-immediatelly printed in the terminal window or on the web site.
-\subsubsection{Manual test}
-The \emph{Manual} test as the name itself says, is the test where you can manually select
-what kind of tests you want to be performed.
-\subsection{Result descriptions}
-In the following table one can see the messages returned by the test software!
-These messages should guide the test user operator to debug the system.
-
-\begin{table}[h]\footnotesize
- \begin{center}
- %\caption[]{Table of error descriptions}
- \begin{tabular}{| l | c | l | }
- \hline
- \textbf{Number} & \textbf{Code} & \textbf{Code number description} \\ \hline
- 1 & 200 & Call was OK \\ \hline
- 2 & 604 & General Handler Error: Destination handler did not respond. Timeout \\ \hline
- 3 & 998 & General Handler Error: Could not connect to the destination handler! \\ \hline
- 4 & 605 & General Handler Error: Caller handler did not respond. Timeout \\ \hline
- 5 & 999 & General Handler Error: Could not connect to the caller handler! \\ \hline
- 6 & 486 & Call Failed \\ \hline
- 7 & 333 & Could not establish a connection to the database! \\ \hline
- 8 & 100 & Missing account detail \\ \hline
- 9 & 402 & Payment Required (E-Plus Card) \\ \hline
- %\hline
-
- \end{tabular}
- \end{center}
-\end{table}
-
-\subsection{Using the software}
-In this section, you will be taught step by step how to use our test software. There are two options to run our test software, from the web site or the terminal.
-The first is easier, but the second is easy as well however requires terminal skills.
-
-\subsubsection{Web site guide}
-Once you enter the address in the address bar of your browser (e.g. \emph{https://localhost/\\testsoftware}).
-You will be required to enter your username and password for the web page\footnote{The username and password creation process is explained in section 7.2.2.}.
-If you entered the correct username and password you should see the same image as in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{website1.png}
- \caption[]{Web page of test software}
-\end{figure}
-Here you can choose what kind of test you want to perform or maybe if you want to configure the devices (manually or automatically).
-If you press the ``Smart test'' button, you have to wait a few moments and the results should appear in a short amount of time.
-However, if you pressed the ``Choose the test'' button, you will be presented with a new page, given in figure 25.
-You will have to select the tests you want to perform manually or to press on the left side one of the given buttons for different
-tests. You can choose between ``SIP Test'', ``GSM Test'', ``Check all'' and ``Uncheck all''. ``Check all'' will select all the possible
-tests, whereas ``Uncheck all'' will deselect all of them. After you finished the procedure of selecting the tests, you should press the
-``Submit'' on the left side. Wait a few moments and the results will start to appear in real time. After the table on the left is filled
-(i.e. after all the tests have been completed) a result image will be generated on the right side, can be seen in figure 26. However, if
-your pressed the ``Device configuration'' button, then you will end up on a page as given in figure 27.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{website2.png}
- \caption[]{Manually selecting the tests}
-\end{figure}
-
-If you press the ``Automatic configuration'' button, the test software will try automatically to match your cell phones with
-their port addresses and numbers. However, if the automatical matching does not work, you will have to manually configure it.
-You can do it by entering all the required information on the web site, as in figure 28. Once you correctly filled in the required
-information, you should press the ``Submit'' button.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{webpageReport.png}
- \caption[]{Result web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{website3.png}
- \caption[]{Device configuration web page}
-\end{figure}
-
-\begin{figure}[!t]
- \centering
- \includegraphics[width=140mm]{website4.png}
- \caption[]{Manual device configuration page}
-\end{figure}
-
-
-\subsubsection{Terminal guide}
-In the following text, we will guide you and show you step-by-step how to use the test software from the terminal. All you have to
-do is just type the command for starting the test software in the folder where it is located, \emph{./gsmselftest.py ---option} (keep
-in mind there are two dashes before \emph{option}).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{terminalCommand.png}
- \caption[]{Test software terminal options}
-\end{figure}
-You can perform the tests manually by typing what you want to test or by choosing one of the predefined tests. For example, you
-want to test manually does the SIP work with the University telephone network, you would type the following: \emph{./gsmselftest.py --db sip unisip}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{resultterminal.png}
- \caption[]{Example results from the terminal screen}
-\end{figure}
-After the tests have been performed the results will be displayed. Green result text means the test was performed successfully and red result
-text means that something is not working properly.
-
-If you need to configure the cell phones manually or automatically, you can do it by typing: \emph{./gsmselftest.py --devconf} (keep
-in mind there are two dashes before \emph{devconf}). Then you can press ``a'' on the keyboard for automatic configuration or ``m'' for
-manual configuration. One should keep in mind that the terminal test software can be started even through \emph{ssh}, however with an
-additional command \emph{-X}\footnote{For example: ssh -X username@address}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{devconf.png}
- \caption[]{Test software device configuration from terminal screen}
-\end{figure}
-
-\clearpage
-\newpage
-\section{Conclusion}
-As a result of our successfully finished team project, we had felt how it is to work
-in a team. We had learnt how to confront various sofware and hardware issues. The problems
-were broken into smaller fragments and the solutions were derived in a step-by-step approach.
-\par While designing the software, we kept in mind that every single step should be well thought-out,
-documented, tested and validated. At the end we joined all the ``black-boxes'' together
-into one big piece of software. We fulfilled our stated requirements and goals.
-\par Despite the fact that our test software will be used by well educated engineers, we may
-conclude that all the way along we thought about the usage-simplicity, safety and security
-of our product. Our team members were enthusiastic about the idea that our team project will
-contribute to a better perferomance and quality of the overall telecommunication network,
-for all of the University staff and our colleagues, the students.
-\newpage
-
-
-
-%bibliography start
-\begin{thebibliography}{9}
-
-\bibitem{network} \emph{Projects based on RZ-GSM}, accessed on 10.06.2011, available at
-\url{http://lab.ks.uni-freiburg.de/projects/gsm/wiki}.
-
-\bibitem{python} \emph{Python Programming Language - Official Website}, accessed on 10.06.2011, available at
-\url{http://www.python.org/}.
-
-\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
-\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
-
-\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
-\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
-
-\bibitem{socket} \emph{17.2. socket - Low-level networking interface}, accessed on 20.06.2011, available at
-\url{http://docs.python.org/library/socket.html}.
-
-\bibitem{spin} M. Ben-Ari \emph{Principles of the Spin Model Checker},
-Springer Verlag, Weizmann Institute of Science, Israel, ISBN: 978-1-84628-769-5, 2008.
-
-\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
-\url{http://goo.gl/fX68N}.
-
-\bibitem{https} P. Bramscher, \emph{Creating Certificate Authorities and self-signed SSL certificates}, accessed on 05.09.2011, available at
-\url{http://www.tc.umn.edu/~brams006/selfsign.html}.
-
-\bibitem{htaccess} \emph{EnablingUseOfApacheHtaccessFiles}, accessed on 18.08.2011, available at
-\url{https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles}.
-
-\bibitem{pChart} \emph{pChart}, accessed on 15.08.2011, available at
-\url{http://www.pchart.net/}.
-
-\bibitem{beagleDataSheet} \emph{BeagleBoard System Reference Manual}, accessed on 20.06.2011, available at
-\url{http://beagleboard.org/static/BBSRM_latest.pdf}.
-
-\bibitem{proctitle} \emph{setproctitle 1.1.2}, accessed on 20.10.2011, available at
-\url{http://pypi.python.org/pypi/setproctitle}.
-
-\bibitem{pjsip} \emph{Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication}, accessed on 20.10.2011, available at
-\url{http://www.pjsip.org/}.
-
-%bibliography end
-\end{thebibliography}
-
-%end of the document
-\end{document} \ No newline at end of file
diff --git a/notFinishedCode/Report/test.tex~ b/notFinishedCode/Report/test.tex~
deleted file mode 100644
index 866b72b..0000000
--- a/notFinishedCode/Report/test.tex~
+++ /dev/null
@@ -1,1397 +0,0 @@
-\documentclass[a4paper, titlepage, oneside, headsepline, footsepline]{scrartcl}
-%PACKAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usepackage{lscape} %for the landscape pages it is used
-\usepackage[english]{babel} %what language are we using
-\usepackage[latin2]{inputenc} %what alphabet
-
-\usepackage[tt]{titlepic} %used for adding the title image
-\usepackage{graphicx} %used for adding images
-\usepackage{url} %used for the url in bibliography
-\usepackage{lastpage} %give me the total number of pages, used in footer: \pageref{LastPage}
-
-\usepackage[T1]{fontenc} %used for fonts
-\usepackage{scrpage2} %used for making headers, footers and correct margins
-%\usepackage{hyperref} %used for the linking of table of content
-
-%information for the PDF
-\usepackage[pdftex, %used for adding pdf information
- pdfauthor={Refik Hadzialic, Triatmoko},
- pdftitle={Software for self-testing of the Telecommunication network of University of Freiburg},
- pdfsubject={Telecommunication network testing software},
- pdfkeywords={telecommunication;network;networking;linux;ubuntu;university;Freiburg;python;tcp/ip;security;gsm;sip;voip},
- pdfproducer={Latex with hyperref, or other system},
- pdfcreator={pdflatex, or other tool}]{hyperref} %used for the linking of table of content
-
-
-
-
-
-\hypersetup{ %setting up the look of the links
- colorlinks,
- citecolor=black,
- filecolor=black,
- linkcolor=black,
- urlcolor=black
-}
-
-\usepackage{color} %used for highlighting source code
-\usepackage{listings} %used to make a box with source code
-\usepackage{fancyvrb}
-\DefineVerbatimEnvironment{code}{Verbatim}{fontsize=\small}
-\DefineVerbatimEnvironment{example}{Verbatim}{fontsize=\small}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE LOOK OF THE PAGES
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\pagestyle{scrheadings}
-
-\renewenvironment{abstract}
- {\begin{center}\large\textbf{}\noindent\end{center}}{\vspace{2\baselineskip}}
-
-% Disable single lines at the start of a paragraph (Schusterjungen)
-\clubpenalty = 10000
-% Disable single lines at the end of a paragraph (Hurenkinder)
-\widowpenalty = 10000 \displaywidowpenalty = 10000
-
-\setlength{\parskip}{0.01\baselineskip}
-\textheight = 620pt
-
-\ohead{Software for self-testing of the Telecommunication network of University of Freiburg} %make the header
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%DEFINE THE STUFF FOR CODE
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\lstset{ %
-%language=Python, % choose the language of the code
-columns=fullflexible,
-keywordstyle=\color[rgb]{0.608,0.561,0.008},
-commentstyle=\color[rgb]{0.25,0.5,0.35},
-stringstyle=\color[rgb]{0.25,0.35,0.85},
-basicstyle=\footnotesize,%\scriptsize % the size of the fonts that are used for the code
-%numbers=left, % where to put the line-numbers
-numberstyle=\footnotesize, % the size of the fonts that are used for the line-numbers
-stepnumber=1, % the step between two line-numbers. If it is 1 each line will be numbered
-numbersep=8pt, % how far the line-numbers are from the code
-backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color}
-showspaces=false, % show spaces adding particular underscores
-showstringspaces=false, % underline spaces within strings
-showtabs=false, % show tabs within strings adding particular underscores
-frame=single, % adds a frame around the code
-tabsize=2, % sets default tabsize to 2 spaces
-captionpos=b, % sets the caption-position to bottom
-breaklines=true, % sets automatic line breaking
-breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
-escapeinside={\%}{)} % if you want to add a comment within your code
-}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-\newcommand{\titleOfProject}{Software For Self-Testing Of The Telecommunication Network Of University Of Freiburg}
-
-
-
-%begin of the document
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}
-
-
-
-
-%make the title page
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\titlepic{\includegraphics[width=90mm]{uniLogo2.png}}
-\title{Team Project \\ ``\titleOfProject''} % type title between braces
-\date{\today} % type date between braces
-\author{Refik Had\v{z}iali\'{c}\\ Triatmoko } % type author(s) between braces
-\department{\vspace{1\baselineskip} \large Albert-Ludwigs-Universit\"{a}t Freiburg \\
-Lehrstuhl f\"{u}r Komunikationsysteme\\
-Prof. Dr. Gerhard Schneider\\ \vspace{1\baselineskip} Supervisors: \\ Konrad Meier \\ Dennis Wehrle \\ \vspace{1\baselineskip} Sommersemester 2011}
-
-\maketitle
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%add the table of contents
-\tableofcontents
-
-%new page to start with
-\clearpage
-
-
-
-
-% first chapter
-\section{Introduction and Motivation} % chapter 1
-In the following report, the authors will try to give you a brief insight into our team project. The goal of our project was to develop a mechanism for automatic testing of our University Telecommunication network. The Telecommunication network of University of Freiburg consists of: our own internal GSM and telephone network systems; GSM redirecting device (if one initiates a call to one of the four external GSM networks, it redirects the calls to: T-mobile, 02, Vodaphone or E-Plus); a SIP gateway for land-line calls inside of Germany (sipgate.de) and international calls. Since we did not have access to internal servers, our strategy was to exploit the existing systems from an external perspective and infer the results out of our findings.
-Before we had started working on our project, we had to analyze the overall network to come up with the test cases that contain the highest information content. The next step in our procedure was to implement our ideas into a working piece of software.
-Gradually we implemented a bit-by-bit of the final software. In the following chapters we will describe in more detail our approach to the problem and how each subsystem works.
-This particular report and our wiki page should be a sufficient guide and manual for understanding, running and continuing the development of our test software.
-Certainly, we had a lot of fun while working on the project due the fact that we lost one team member.
-We would like to thank the whole department for the free coffee and their support, especially
-Konrad Meier, Dennis Wehrle, Richard M. Zahoransky and Larissa Linz, without their support this project would not
-end up this way.
-\clearpage
-\section{Requirements} % chapter 2
-At the start of the project the requirements were not completely known but as the time had passed we redefined our requirements and goals.
-The first and the most important part at the start was to identify the key goals of our team project. The basic goal of our team project was to build a
-test software system which could tell an operator user what part of the system is not properly working in our University telecommunication network.
-Konrad and Dennis suggested us to analyze figure 1 and depending on it to build our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{BigPicture_new1.png}
- \caption[]{Overview of the Freiburg University telecommunication network \cite{network}}
-\end{figure}
-Our first attempt was to see what could we test without having access to the system. We installed numerous communication programs to see what others have done.
-After gaining access to the communication software, we had decided to build most of the test software ourselves. Libraries, which were used,
-were only the ones we could not develop ourselves because of the time-span of our team project.
-\subsection{Logical and algorithmic requirements}
-Despite the software and hardware requirements, the logic in our team project may be considered as the most important part.
-Controlling the software and hardware in a specific manner was one of the requirements in our team project.
-Moreover, we were required to draw a use case diagram and a simple test case diagram so that we could better understand all the problems we had to deal with
-but also to easier follow the development of our test software.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{activity_diagram.png}
- \caption[]{Simple algorithmic overview of a test case}
-\end{figure}
-\subsection{Software requirements}
-Afterwards, as we had defined our logical approach to the problems, we had to choose the programming language to realize our ideas. Since we had the freedom of choice, between the three suggested programming languages
-Java, C++ and Python, we made a joint decision to use Python as the main programming language in our team project. One of the requirements was to finish the team project in time,
-therefore our decision to use Python is justified. Using Python we could work faster and integrate our subsystems more effectively \cite{python}.
-Our programming language of choice is multi-platform, therefore our test software would be easy portable to other operating systems.
-\par Likewise we had to decide how our test software will work. One of the requirements by Dennis and Konrad was to make the software capable of being run from the terminal.
-The next requirement was to make an appealing GUI so that even an user without advanced Linux experience could handle the software and read out the results.
-\par In addition it was required to log all the past tests. Later on a machine learning algorithm or some other intelligence could be applied to deduce some error behavior of the system
-(e.g. an intelligent algorithm could find that part of the system fail in a combined manner). To accomplish the logging of all the tests we had to use a database system.
-We decided to use MySQL since it is open source and well supported.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{test_Use_case.png}
- \caption[]{Test case diagram}
-\end{figure}
-\subsection{Hardware requirements}
-Likewise the software requirements, we had hardware requirements as well. We were required to identify the hardware we will need to perform the tests.
-It was important to find old and cheap cell phones that could support \emph{AT Modem} commands because our budget was limited.
-\par A problem we had to deal with at the start was that the base stations are located at different geographical points which were not near to each other.
-No one should go everyday to the rooms where our cell phones are located only to change or charge the batteries.
-In the cable subsection we describe our approach to the charging battery problem. As we defined our requirements we continued with the process of developing the test software.
-During the development time we refined our requirements. In the next chapters we will explain our database, software and hardware design ideas.
-\newpage
-\section{Database design}
-As we mentioned in the software requirements section, we decided to use MySQL as our database system for storing the test information and results.
-It was not difficult to decide what database to use, since MySQL is one of the most supported database and one can find a library to use it with major programming languages.
-The key point in the design of our database was the simplicity and speed of accessing the data. We had decided to use seven tables. In the following paragraphs we will explain each table separately and its usage.
-The database design can be seen in figure 4.
-
-\par The \emph{PingResultTable} table has six attributes (\emph{taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2}), all of integer type.
-The \emph{taskNo} attribute identifies the test number but not a single test (e.g. an operator user has selected three different tests to be executed, all of the three tests will have the same \emph{taskNo} to identify them together as belonging to one test group and \emph{taskId} identifies each single test and will be explained later).
-\emph{sipServer} represents the Asterisk server ping result. \emph{sipGate} is used to represent the SIP Gate server for the landline calls (\url{http://www.sipgate.de}). \emph{uniSip} represents the ping results for our local University telephone network SIP server.
-\emph{gsmBox1} and \emph{gsmBox2} are the two single-chip Linux computers (BeagleBoard), that control two cell phones each one (i.e. they are also known under the name of \emph{nanoBTSx controller}).
-\emph{taskNo} is the primary and unique key in the table \emph{PingResultTable}. Rest of the attributes (i.e. \emph{sipServer, sipGate, uniSip, gsmBox1, gsmBox2}) are used to insert the ping results, if the assigned servers are reachable or not.
-Before any test attempt is made, our test software first tries to ping the servers. These results are then stored in the \emph{PingResultTable}.
-
-\par The \emph{ErrorCodeTable} table defines all the possible test results in the system, in other words it represents a list with error codes with their appropriate descriptions and meanings. It consists of two attributes (\emph{errorcode} and \emph{description}), the first is of integer type and the second of varchar type (the description message is allowed to be only 100 characters long).
-The \emph{ErrorCodeTable} table is used by the main test software (i.e. controller) to report the operator user what kind of error had appeared in the system.
-
-\par The \emph{DeviceAddressTable} is the table containing the location and identification data for each server and device. The table consists of seven attributes, \emph{deviceName, portName, number, lastChange, username, password, server}.
-\emph{deviceName} is the attribute with the name of the device or server (e.g. GSMRZ1 or landline), it is of varchar type. \emph{portName} is the attribute field with the location address for a cell phone (e.g. \emph{/dev/ttyUSB1}) or 'localhost' instead of NULL value for a server, it is of the varchar type.
-\emph{number} represents the number of the used service (i.e. number of the cell phone, SIP, etc.) and is of varchar type.
-\emph{lastChange} is a time value and represents the date and time the given entry was modified (we had plans in future versions of our test software that if an device gets a new IP address assigned it automatically changes it in the database).
-\emph{username} is the field with the username stored in for a server/service, like SIP and landline. \emph{password} attribute stores the password information for the given service. The \emph{server} attribute stores information about the location of the server, IP or DNS address of the server. All three fields, \emph{username}, \emph{password} and \emph{server} are of varchar type.
-The information stored in the given table is used by the test software to obtain usernames, passwords and addresses of the used services for the tests.
-
-\par The \emph{ResultTable} table is used by the test system to store final results for the performed tests. Our given table consists of two fields, \emph{taskID} and \emph{result} and both are of integer type. For each test entry with unique \emph{taskID} an error code is assigned in the \emph{result} field,
-depending on the test results. Error codes found in the \emph{ErrorCodeTable} table can be only assigned to this field.
-
-\par The \emph{TempTaskTable} table represents the table with the tasks the system has to execute next time the test software is started. The given table gets new data every time an operator user submits one or more test cases from the website to be executed. \emph{TempTaskTable} includes four attributes, \emph{taskID, taskNo, from, to}. Former two are of integer type and later two of varchar type.
-\emph{taskID} and \emph{taskNo} identify the test task to be executed, \emph{taskID} is the unique primary key. \emph{from} and \emph{to} fields have to match the names given in \emph{DeviceAddressTable.deviceName}, these two attributes specify the caller and callee devices/services. Consequently, after the tasks get executed, the test tasks are removed and the given table is empty again until next tests are added to it.
-However, all the test tasks even after deleting them from \emph{TempTaskTable} are kept in the \emph{TaskTable}. The reason why the authors of this project divided it into two tables was because of the database row selection speed. We had made the assumption that with time the database size will grow and therefore the database speed will not be the same as during the development period.
-
-\par The \emph{TaskTable} table, as mentioned before contains all the tests ever performed from the web site. It is made out of five attributes, \emph{taskID, taskNo, from, to, timestamp}. The first four fields are the same as in \emph{TempTaskTable}, however the last one, \emph{timestamp}, is used to record the exact time when the test was performed.
-\par The \emph{GSMListPrefix} table contains the data about the GSM networks and their prefixes. It consists of two
-attributes, both of varchar type, \emph{providerName} and \emph{prefix}.
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{DBRelationship.png}
- \caption[]{Database relationship diagram}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-
-
-\section{Software design} % section 2.1
-Software design was the next step after we analyzed the problem and developed a plan how to proceed further. Good analysis and planning with poor algorithmic implementation is valueless.
-During the work on the project, we had spent most of our time for software design.
-We kept in mind that our software should satisfy major paradigms of software engineering,
-like compatibility, extensibility, modularity, reliability, security, fault-tolerance and usability.
-The software engineering design concepts were achieved following way:
-\begin{itemize}
-\item Compatibility - we used Python and MySQL which are multi-platform and work on major OS
-\item Extensibility - new parts of code can be easily added by just modifying the classes
-\item Mudalarity - the components are independent black boxes, they are tested and validated independently
-\item Reliability - we use mutex locks to perform tests and database transaction operations to insert data into the database
-\item Security - all communication channels, as well as the access to the web site, are encrypted with asymmetric key cryptography
-\item Fault-tolerance - the classes were designed to continue operating even if error events appear and handlers are logging all events
-\item Usability - we tried to create a simple user interface and easily to use for everyone
-\end{itemize}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=140mm]{activityControllerEdited.png}
- \caption[]{Working principle of the test software}
-\end{figure}
-
-\par The basic principle how the test software works can be seen in figure 5. The test software is
-started either manually from the terminal or using the web site. When the test software
-is started manually it is database dependent as well and therefore could not be used if the
-database is being maintained or not working. If it is started from the web site it
-connects to the database to get its tasks which have to be performed. After receiving
-the tasks it makes a simple network test by pinging all the servers. The ping results
-are stored in the database (in case the test was started from the web site). Then it
-proceeds with the tests by connecting itself to the handlers and sending them commands
-to perform the tests\footnote{Before it connects to the handlers, it uses the ping
-results to see is the service/device physically connected to the network.}.
-At the higher level, these commands can be seen as requests for being the
-callee and caller. Meanwhile the handlers send their test results to the main
-test software which in return decides if the test result was successful or not.
-The result is written to the database (in case the software was started from the website),
-otherwise the results are displayed in the terminal window and the user who started
-it manually can see the test results. We will proceed with introducing the classes.
-The software class diagram can be seen in the following figure. More details for the
-classes, like the input/output can be found on our project's wiki page \cite{wiki}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{classDiagram.png}
- \caption[]{Class diagram (some classes were excluded)}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-\newpage
-\subsection{Database access} % subsection 2.1.1
-Accessing the database is of critical value to our project, therefore we had developed our own class that limits the access to the database. In the process of developing our own class we used the MySQLdb library in Python \cite{mysqlManual}.
-The database class has two working modes, a normal working mode and a debugging mode. The difference between these two modes is in the output information. In case the error handling function raises an error and it is unknown, if the debug mode is set a complete back-trace of the error will be printed out. A developer can change the mode by setting the variable \emph{debugMode=1}. The class diagram can be seen in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{dbClass.png}
- \caption[]{Class diagram for the dbClass}
-\end{figure}
-The method names are self-explanatory and do not require extra explanations. All the outputs produced by the class can be found on the project wiki page \cite{wiki}.
-\subsection{Controlling the cell phones}
-Our first version of the developed program code for controlling the cell phones used predefined timed values
-to send commands instead of using a state controlled approach to confirm that every command was successfully received and executed by the cell phone.
-It meant we had to make an enormous number of assumptions. In comparison to our second approach, to build a state controlled cell phone control class,
-our first approach was inferior and slower. The state controlled method connected two cell phones, on the same base station, up to 15 times faster than the timed approach.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=80mm]{serialPort.png}
- \caption[]{GSM class diagram for controlling the cell phones}
-\end{figure}
-One can easily apply the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
-A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state). We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
-be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
-\subsection{Client and Server class}
-Our socket communication code is based on the example given in the Python socket manual \cite{socket}.
-We extended it into two classes, a client and a server class. We had used the TCP protocol to base our two classes on\footnote{TCP is reliable compared to UDP (i.e. transmitted packets get also delivered),
-packets are ordered when received and data are received in a stream (i.e. multiple packets can be read at once).}.
-The Server class can be seen in the following figure. The server class is implemented to accept only local connections\footnote{More details are given in the section 7.1}.
-First we determine our IP address and then create the socket to listen only for the same IP address (with a different IP address than the selected one a connection cannot be even established).
-One has to define the port on which the server object should listen.
-When receiving data one can easily define the timeout to be raised if data are not received in the timeout range or set it to \emph{0} to infinitely wait for the buffer to be filled with received data. While testing the server class we had the problem to listen on the same port if the application was forcibly\footnote{Manually closed using CTRL+C and run again.} restarted in less than 60 seconds. We got the error message: \emph{"Address already in use"}.
-This is not known as error behavior but rather an option to help the server to catch lost live packets (i.e. packets that are still in the network looking for it is goal destination).
-We solved the problem by changing the socket options with the \emph{SO\_REUSEADDR} parameter. This enabled us to get around the error when we tried to restart our server application.
-Before solving the problem without using the socket parameter, we had another solution to get around this problem by killing the application running the port, this old method is obsolete now.
-\begin{figure}[ht!]
- \centering
- \includegraphics[scale=0.8]{serverClass.png}
- \caption[]{Server class, used by the server application}
-\end{figure}
-In the process of testing the client class we did not have any major problems. The only major flow we had to debug was when one of the sides disconnects that we get out of the waiting loop if the timeout variable was set to \emph{0} (i.e. infinite waiting loop).
-The client class can be seen in the following figure. To initialize the client object one needs to define the IP address and the port of the server application listening on it.
-\begin{figure}[hb!]
- \centering
- \includegraphics[scale=0.5]{ClientClass.png}
- \caption[]{Client class, used by the client application}
-\end{figure}
-Once an instance of it is created and loaded with the IP address and the port, one needs to call the \emph{connect()} method.
-The method will produce an integer based on its connection state. Output information and the programming code can be found on our project wiki page \cite{wiki}.
-\subsection{Ping class}
-Before making any test and establishing a connection we were required to ensure that the server is online. The best way to assess the liveness property was to ping the server computer running the required service. Once the class is properly defined, we could easily set the number of ping tries.
-A ping timeout response was set up to 2 seconds. For more details and insights, one can read more about it on our wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=70mm]{ping.png}
- \caption[]{Ping class, used by test software}
-\end{figure}
-\subsection{Data logging}
-If errors appear it is important to reconstruct the events that led to the misbehavior of the software. One of the best ways to reconstruct the events was to log
-events for different blocks of programming code.
-We had used the logging class to follow our handler code run on the BeagleBoard. In case there is an error we could look inside of the log files and track the error.
-How the class works and what kind of outputs it produces can be found on our project wiki page \cite{wiki}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{logging.png}
- \caption[]{Logging class}
-\end{figure}
-\subsection{SSH Tunnel Class}
-Since security played an important role in our team project. We decided to encrypt all of our data that was not processed on our server computer.
-The simplest solution to this problem was to build an SSH Class that could open and close a local forwarding port.
-All data sent through the created port is encrypted until it gets to its destination location.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{sshTunnelClass.png}
- \caption[]{SSH Tunnel class}
-\end{figure}
-\subsection{USB Cell phone detection class}
-Since we had used cables to connect the cell phones with the computer, usually the devices
-got their own port addresses. They were automatically assigned by the operating system,
-either after the cables were plugged into the USB port or after a system reboot.
-One of the problems we had to deal with was assigning the right cell phone
-(i.e. with the appropriate GSM network) to the corresponding port address.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{usbDetectClass.png}
- \caption[]{USB cable detection class}
-\end{figure}
-The operating system randomly assigned the port names after every reboot.
-We were looking for a solution to prevent this misaddressing of the devices.
-Our solution was to recognize every device and update the port address in the database.
-The principle how we identify the cell phones is by their calling numbers in the database.
-More details can be found on our project wiki page \cite{wiki}.
-\subsection{Truth table class}
-The truth table class was built to identify the broken and working parts of the system.
-It requires the list with test results to be present to be operable.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{trueTable.png}
- \caption[]{Truth table class}
-\end{figure}
-Then the class tries to identify the broken parts of our telecommunication network.
-The class can easily identify how many nanoBTSs are installed in the network and
-derive a decision which part of the network is broken.
-All the test results are stored in a list and can be easily read by calling the
-\emph{initTrueTable(x)} function. More details can be found on our project wiki page \cite{wiki}.
-\subsection{Init Test class}
-The main purpose of the class is to get device data from the database and to process it.
-The processed data get forwarded to the controller class and in the end the class
-fetches the results from the test. This class contains the \emph{smart test} functionality.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{initTestClass.png}
- \caption[]{Init test class}
-\end{figure}
-It selects automatically the important tests to perform. In the next step it
-tries to identify the problem in the network.
-More details can be found in the \emph{smart test} description.
-\subsection{Controller class}
-The controller class is used to assign jobs to handlers (in other words, which one is
-going to be the caller and callee). Simultaneously, it defines the port addresses for
-the communication between the handlers and the main test software (controller).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{controllerclass.png}
- \caption[]{Controller class}
-\end{figure}
-If the callee or the caller are nanoBTS controller boxes (i.e. BeagleBoards outside
-the Rechenzentrum), it will first create an SSH connection to make a tunnel before
-the local socket connection is created. Then the controller class sends all the
-required data regarding the test tasks to the handlers.
-
-\clearpage
-\section{Hardware design}
-In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
-Since one of the project goals was to reduce the costs as much as it was possible, we had tried to use some of the leftovers found in our lab.
-
-\subsection{BeagleBoard}
-``The BeagleBoard is an OMAP3530 platform designed specifically to address the Open
-Source Community.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=60mm]{bb.jpg}
- \caption[]{BeagleBoard, a Linux-on-chip board where our controller software runs the GSM device }
-\end{figure}
-It has been equipped with a minimum set of features to allow the
-user to experience the power of the OMAP3530 and is not intended as a full development
-platform as many of the features and interfaces supplied by the OMAP3530 are not
-accessible from the BeagleBoard'' \cite{beagleDataSheet}.
-We run on it a special precompiled version of Ubuntu for the ARM processor type. The Linux system boots up from an SD Card.
-The board has an USB hub and network port attached to it. In our project it is connected to our
-internal university LAN network and to a cell phone. We positioned the two BeagleBoards in rooms where
-we had LAN access and GSM signal coverage of our two local base stations.
-
-\subsection{Cell phones}
-Our first attempt was to control a Nokia cell phone 3310 with the supplied USB connection cable.
-The protocols used by old versions of Nokia cell phones, as the 3310, use the F-Bus protocol. It was not easy to work with.
-After performing various experiments we succeeded to send and to read SMS messages. Later on we found out that it was not possible to
-send commands for receiving and making the calls. In the meantime we found two Siemens phones, one M45 and S55.
-The first one, Siemens M45, had a cable supplied with it and it was not difficult to control it with the standard set of AT modem commands.
-At the start we did not have a cable supplied for the Siemens S55 phone. We controlled it over the Bluetooth port.
-
-\subsection{Cables for the cell phones}
-Due to the fact that we had used 5 cell phones on a single computer, the best solution was to order 5 USB cables.
-Konrad bought 5 cables for 5 Siemens S55 cell phones. All of the cables have an USB2Serial chip converter inside of them.
-Once they were plugged into the USB port, Ubuntu automatically recognized the cables and installed the drivers.
-The virtual serial ports were created and could be found on \emph{/dev/ttyUSBx}, where $x$ is the automatically assigned number for the port.
-Some of the cables had the capability to charge the Siemens S55 phones.
-Konrad had opened several cables to solder the power supplies to some contacts and the problem was solved for all of the cables.
-\subsection{Server}
-We were given an old Pentium 3 computer where we installed Ubuntu Linux. Configured the Apache web server and MySQL.
-Afterwards we installed the Python on it and all the required libraries\footnote{Required libraries are mentioned in section 9.1.}.
-\clearpage
-
-\section{Communication protocol}
-A communication protocol represents a set of well defined rules by whose help two or more computing systems exchange information in-between.
-When defining these rules, it is important to define a limited state space for every possible event, no matter did we get the appropriate
-response from the other side. Our approach to this problem was to build a simple synchronous protocol, where every expected message is
-confirmed or otherwise the connection between two sides is immediately terminated. Since designing protocols is a demanding and challenging
-topic which requires years of experience and verification, we do not expect that we had developed the best possible and an optimum
-protocol\footnote{Design concepts and paradigms for the protocol design have been used from the
-``Network Protocol Design and Evaluation'' course, lectured by Dr. Stefan R\"{u}hrup}.
-In the following paragraphs we will try to clarify how our protocol works. Before we start to go into detail how the protocol works,
-it is important to remember that we differentiate two sides, handler and the controller side. The handler side represent the device
-that physically handles the call (e.g. the BeagleBoard) whereas the controller (i.e. the main test software), is the test software
-controlling the handler side and assigning the task to it.
-
-\subsection{Communication between the handler and controller}
-The handler side is always in the waiting mode, by waiting we denote the mode where the socket is already created and it is waiting
-for a connection to be accepted at the defined port. The controller initiates a socket connection to the two handlers.
-Subsequently, after the connection has been established, it is waiting for a message to be received. The first message
-has to be 13 characters long and include the following content \emph{HELLO HANDLER}. Thereupon, after the message has
-been validated, the handler side sends the controller side a response, \emph{HELLO CONTROLLER}.
-We call this first message exchange the initialization. Now the controller side has to decide which of the two handler's
-will be the caller/callee whereas the other handler will be the opposite. Let's assume the controller sends to the first
-handler the message \emph{RECEIVER} and to the second one the message \emph{CALLER|\#}, replace the callee number with the \# sign.
-In the meantime, both handlers initialize the software required to make the call and to receive the call. Asynchronously they
-respond back to the controller their successful initialization. The successful initialization is reported by sending \emph{RECEIVER READY}
-and \emph{CALLER READY}. After receiving the mentioned messages, the controller first sends the callee handler the
-message \emph{RECEIVE START} and then to the caller handler, the message \emph{CALLER START}. As a result of these messages,
-the handlers enter the receiving, respectively calling state. In the given states two timeout timers gets activated.
-These timers are responsible for the case if the physical connection between the callee and the caller are not successfully
-established or terminated\footnote{The client and server classes responsible for the communication have timeout timers as well
-for the case if the connection between the controller and handlers are broken.}. Afterwards, depending if the physical connection
-between the handlers (i.e. the callee and the caller) was successfully established or not, the handlers report their
-corresponding state with a message to the controller. The message is of the form \emph{CALL OK}, meaning the handler successfully
-established a physical connection with the other handler, or of the form \emph{CALL NOT OK}, meaning a physical connection was
-not successfully established on the given handler. The controller considers only a test successful if both handlers report
-with \emph{CALL OK}. The test software ends the established connection with the handlers by sending them the \emph{TERMINATE CONNECTION}
-command. After the handlers have terminated the connection, they enter the waiting for a new connection state and the process starts
-from beginning again. If the states are not entered in the specified order the connection is immediately terminated and
-the state machine is in the waiting for a new connection state\footnote{It cannot be seen in the protocol flowchart but one should
-keep in mind it works like a well defined state machine.}.
-
-\begin{landscape}
-\begin{center}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=218mm]{protocolCommunicationHandler.png}
- \caption[]{Flowchart of the protocol on the handler side without the state representation}
-\end{figure}
-\end{center}
-\end{landscape}
-
-
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerReceiver.png}
- \caption[]{Flowchart of the protocol on the controller side for the caller without the state representation}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=147mm]{protocolCommunicationcControllerCaller.png}
- \caption[]{Flowchart of the protocol on the controller side for the receiver without the state representation}
-\end{figure}
-
-\subsection{Verification of the protocol}
-``SPIN is a model checker - a software tool for verifying models of physical
-systems, in particular, computerized systems. First, a model is written that
-describes the behavior of the system; then, correctness properties that express
-requirements on the system's behavior are specified; finally, the model
-checker is run to check if the correctness properties hold for the model, and,
-if not, to provide a counterexample: a computation that does not satisfy a
-correctness property.'' \cite{spin}. We modeled our simple protocol in SPIN using
-the programming language PROMELA \cite{spin}. Since PROMELA is similar to C it was
-not possible to ensure 100\% matching with Python but we had made the assumptions of it.
-We modeled both sides, server and client side. As well as the server side being a caller
-and a callee. It was important to find out if our protocol is deadlock or delayed state free.
-For more details our model can be found on our wiki project page with the PROMELA source code \cite{wiki}.
-We had built in a 50\% random probability that the call test will not be successful, to make the model even more
-realistic. Our protocol idea was deadlock free and the verification results prove it.
-After we had modeled the basic idea we had written the code that implements our idea. The Python code
-resembles some kind of a state machine which remembers the last state and what the next state should be in case
-of receiving corresponding message. Otherwise it enters the exit state and then the start state.
-
-\begin{lstlisting}
-(Spin Version 6.1.0 -- 2 May 2011)
- + Partial Order Reduction
-Full statespace search for:
- never claim - (none specified)
- assertion violations +
- cycle checks - (disabled by -DSAFETY)
- invalid end states +
-State-vector 44 byte, depth reached 65, errors: 0
- 40 states, stored
- 3 states, matched
- 43 transitions (= stored+matched)
- 90 atomic steps
-hash conflicts: 0 (resolved)
- 2.195 memory usage (Mbyte)
-unreached in proctype Server1
- (0 of 36 states)
-unreached in proctype Server2
- (0 of 36 states)
-unreached in proctype Client
- (0 of 67 states)
-pan: elapsed time 0 seconds
-\end{lstlisting}
-
-\clearpage
-\newpage
-
-
-\section{Security and safety of the system}
-Safety and security of the software plays a major role in our project.
-It is of vital importance that only as few as possible people have access to our test system since the resulting data could be exploited to plan an attack
-(e.g. assume the University alarm system uses the SIP gateway to connect to the outside world and to alarm the police, if one knows that the SIP gateway is not working properly, a burglar could plan to rob the University building just at that moment). Therefore the choice to go Open Source is justified due to the fact that one should know how every single detail of the system works.
-All the time, while we were working on the project, we were made aware of this issue by Dennis and Konrad.
-We decided to use asymmetric key cryptography, where each side has two keys (private and public). In the next sections we will explain in more details how we applied the methods.
-\subsection{Encryption of the communication channels}
-At first we thought to encrypt the data before sending them but since none of us was an expert on encryption standards the idea was rejected. Alongside the fact that none of us had been an expert in the field of cryptography, we were neither experts in the field of Internet programming. One could find maybe a way to disable our server software with various hacking methods (e.g.
-trying to open the port until the system runs out of memory and in our case the system which we used on the handler side was a BeagleBoard with ARM architecture running on a single chip TI OMAP processor, refer to the picture in figure).
-We had to eliminate even the slightest possible threat in return for spending more time for debugging the test software system. Despite we were aware of all these facts, we had to choose one of the plenty implemented encryption standards on Linux.
-Dennis and Konrad suggested using the SSH Tunneling method.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{sshTunnel.png}
- \caption[]{SSH Tunnel, all the communication inside the tunnel is encrypted }
-\end{figure}
-
-Using the SSH Tunnel port forwarding method we could hide the real port we had used for our socket connection. On the other hand we could force the socket to accept only local connections (i.e. from the machine where the handler software was running).
-The SSH Tunnel port forwarding method creates an encrypted tunnel between the two computers and then it creates two ports, one on the local and remote computer. All the data sent through the port on the local machine appear on the port at the remote machine. \newline The first problem we faced was that SSH required the username and password every time we tried to make an SSH connection. We could avoid this problem by copying the public key from our server (where our test software runs) to the BeagleBoard \cite{sshTunnel}.
-This can be performed by executing the following commands in the terminal shell.
-One has to create first the private and public keys on the local machine(i.e. server computer, where the test software runs):
-
-\begin{lstlisting}
-refik@ubuntu:$ [Note: You are on local-host here]
-
-refik@ubuntu:$ ssh-keygen
-Generating public/private rsa key pair.
-Enter file in which to save the key (/home/refik/.ssh/id_rsa):[Enter key]
-Enter passphrase (empty for no passphrase): [Press enter key]
-Enter same passphrase again: [Press enter key]
-Your identification has been saved in /home/refik/.ssh/id_rsa.
-Your public key has been saved in /home/refik/.ssh/id_rsa.pub.
-The key fingerprint is:
-33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 refik@ubuntu
-\end{lstlisting}
-
-Then one needs to copy the public key to the remote machine (BeagleBoard) using ssh-copy-id:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
-refik@remote-host's password:
-Now try logging into the machine, with "ssh 'remote-host'", and check in:
-
-.ssh/authorized_keys
-
-to make sure we haven't added extra keys that you weren't expecting.
-\end{lstlisting}
-
-After we have created the public and private keys, and coppied the public key on the machine to which we want to connect, we can test if we can make an SSH connection to the remote machine:
-
-\begin{lstlisting}
-refik@ubuntu:$ ssh remote-host
-[Note: SSH did not ask for password.]
-
-refik@remote-host:$ [Note: You are on remote-host here]
-\end{lstlisting}
-The test was successful. We tested it with our SSH Tunnel port forwarding class and it worked perfectly.
-\subsection{Security on the web site}
-Aside from having secured the data communication channels between various parts of our software
-(the handlers and the controller), it was crucial to ensure all the communication between
-test user's browser and our server. Therefore we had used the \emph{https} protocol and
-the \emph{.htaccess} file to password protect the web site so only the privileged users
-have access to our test system.
-\subsubsection{Configuring the http secure protocol https}
-Securing the communication channels without making certain the web site is safe would be worthless.
-We decided to use the \emph{https} protocol instead of the \emph{http} since a person in the middle
-could sniff our data (e.g. a person is connected with his/her smart-phone over an unprotected wireless network) \cite{https}.
-At the same time the web site should be accessible only by the authorized personel. Our first approach to this
-problem was to build an PHP page with \emph{MD5} hashed passwords, however we got a suggestion by Konrad and Dennis to
-use a safer encryption method implemented in the Apache web server software, \emph{.htaccess}. By using
-these two techniques we protected the web site of some vulnerabilities known to us. If the web site
-will be only accessed from our local university network, we can additionally add an IP filter mask as well.
-In the following paragraph we will explain our procedure how to generate the keys and to enable the https protocol.
-\par First we want to generate a server key by typing the following command:
-\begin{lstlisting}
-openssl genrsa -des3 -out server.key 4096
-\end{lstlisting}
-\par This will generate a 4096 bit long private server key, one is asked to enter two times a password for the \emph{server.key}.
-Using the generated private server key, we will create a certificate signing request, \emph{server.csr}. We were prompted with a series of questions
-like country, state, organization name and etc which we had to enter to resume.
-\begin{lstlisting}
-openssl req -new -key server.key -out server.csr
-\end{lstlisting}
-\par In the next step we had to sign the certificate signing request and enter the amount of days for how long it should be valid.
-In our case we entered the duration of one year, one can make it for longer periods as well (i.e. the amount of 365 has to be changed).
-\begin{lstlisting}
-openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-\end{lstlisting}
-\par We were asked to enter the password again for \emph{server.key}. After we have completed this step we had to make
-a version of the \emph{server.key} which did not require a password, \emph{server.key.insecure} and we will rename the files appropriately.
-\begin{lstlisting}
-openssl rsa -in server.key -out server.key.insecure
-mv server.key server.key.secure
-mv server.key.insecure server.key
-\end{lstlisting}
-\par The generated files are very sensitive, since they are our keys. After these steps were completed, we had generated 4 files: \emph{server.crt}, \emph{server.csr}, \emph{server.key} and \\ \emph{server.key.secure}. Now we need to enable the SSL engine on the Apache web server.
-We coppied \emph{server.key} and \emph{server.crt} into \emph{/etc/appache2/ssl}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2$ sudo mkdir ssl
-cp server.key /etc/apache2/ssl
-cp server.crt /etc/apache2/ssl
-\end{lstlisting}
-\par Then we enabled SSL by typing in \emph{a2enmod ssl}, ``it is simply a general purpose utility to establish a symlink between a module in \emph{/etc/apache2/mods-available} to \\ \emph{/etc/apache2/mods-enabled} (or give a message to the effect that a given module does not exist or that it is already symlink-ed for loading)'' \cite{https}.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo a2enmod ssl
-Enabling module ssl.
-See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
-Run '/etc/init.d/apache2 restart' to activate new configuration!
-\end{lstlisting}
-\par In the next procedure we had to establish a symlink from the 'available' default-ssl file to the 'enabled' file \cite{https}. Then we created a folder where our secured PHP files will be located (e.g. https://some-domain-name.com/test-software).
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/ssl$ sudo ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
-refik@ubuntu:/etc/apache2/ssl$ cd /var/
-refik@ubuntu:/var$ sudo mkdir www-ssl
-\end{lstlisting}
-\par We had backed up our old configuration files for the virtual hosts, for the case if we damage the Apache configuration files. Then we edited the \emph{default-ssl} file.
-\begin{lstlisting}
-refik@ubuntu:/var$ cd /etc/apache2/sites-available
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default default_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo cp default-ssl default-ssl_original
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par Only the beginning of the file is listed here and we have modified the line starting with \emph{DocumentRoot}
-and \emph{<Directory /var/www/>} from \emph{DocumentRoot /var/www} to \emph{DocumentRoot /var/www-ssl}
-and from \emph{<Directory /var/www/>} to \emph{<Directory /var/www-ssl/>}
-(i.e. we had to redefine the location of our SSL directory).
-\begin{lstlisting}
-<IfModule mod_ssl.c>
-<VirtualHost _default_:443>
- ServerAdmin webmaster@localhost
-
- DocumentRoot /var/www-ssl
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- </Directory>
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-\par One should keep in mind that the port 443 should be free for Apache to use it. In the proceeding step we had to ensure that Apache listens on the given port for a \emph{https} connection.
-One could test that by going into the \emph{/etc/apache2/ports.conf}.
-\begin{lstlisting}
-<IfModule mod_ssl.c>
- # If you add NameVirtualHost *:443 here, you will also have to change
- # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
- # to <VirtualHost *:443>
- # Server Name Indication for SSL named virtual hosts is currently not
- # supported by MSIE on Windows XP.
- Listen 443
-</IfModule>
-\end{lstlisting}
-\par In our case it was set up correctly, since the command: \emph{Listen 443} was present.
-In our last configuration step we had to edit \emph{default-ssl} file to define the correct locations of our keys and to ensure the SSL engine was turned on.
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo vim default-ssl
-\end{lstlisting}
-\par The following part of the file had to be found and modified according to our locations:
-\begin{lstlisting}
-SSLEngine on
-
- # A self-signed (snakeoil) certificate can be created by installing
- # the ssl-cert package. See
- # /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
- # If both key and certificate are stored in the same file, only the
- # SSLCertificateFile directive is needed.
- SSLCertificateFile /etc/apache2/ssl/server.crt
- SSLCertificateKeyFile /etc/apache2/ssl/server.key
-
- # Server Certificate Chain:
- # Point SSLCertificateChainFile at a file containing the
-\end{lstlisting}
-\par Finally we had configured our server and can proceed with the restart of the apache web server. We created a test web site \emph{/var/www-ssl/index.php} and navigated our browser to \emph{https://localhost}. The test was successful!
-\begin{lstlisting}
-refik@ubuntu:/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
- * Restarting web server apache2 [Sat Oct 08 21:52:51 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
- ... waiting [Sat Oct 08 21:52:52 2011] [warn] _default_ VirtualHost overlap on port 443, the first has precedence [ OK ]
-refik@ubuntu:/etc/apache2/sites-available$
-\end{lstlisting}
-\subsubsection{Password protecting the web site using .htaccess}
-Aside from using a secure communication protocol on the web, \emph{https}, it is important
-to ensure that only permissioned users gain access to the web site. We had achieved it using
-the \emph{.htaccess} file. However, to enable the use of Apache \emph{.htaccess} files,
-we will have to reconfigure the Apache configuration files again. \emph{root} access will
-be required. First we have to edit the \emph{/etc/apache2/sites-available/default-ssl} file.
-Find the following lines and modify the \emph{AllowOverride None} to \emph{AllowOverride All}
-like in the given configuration segment:
-\begin{lstlisting}
- <Directory /var/www-ssl/>
- Options Indexes FollowSymLinks MultiViews
- AllowOverride All
- Order allow,deny
- allow from all
- </Directory>
-\end{lstlisting}
-This will tell Apache web server that it is okay to allow \emph{.htaccess} files
-to over-ride previous directives. We must reload the Apache web server before the
-changes can take effect. We can do it by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 reload
-\end{lstlisting}
-The next step is to go to the directory where our test software web page is located
-(e.g. \emph{/var/www-ssl/testsoftware}) and to create a file called \emph{.htaccess}.
-Please insert the following code segment inside the created \emph{.htaccess} file where
-\emph{/var/www-ssl/testsoftware/.htpasswd} is your full path address to \emph{.htpasswd}:
-\begin{lstlisting}
-AuthUserFile /var/www-ssl/testsoftware/.htpasswd
-AuthName "Authorization Required"
-AuthType Basic
-require valid-user
-\end{lstlisting}
-Then in the next step, create another file called \emph{.htpasswd}. After you have created it,
-we will add the usernames that should have access to the web site. We do that by typing the
-following command, where you can replace \emph{konrad} with any other combination of letters
-which will represent your username:
-\begin{lstlisting}
-refik@ubuntu:/var/www-ssl/testsoftware$ sudo htpasswd -c .htpasswd konrad
-\end{lstlisting}
-Afterwards, you will be required to type twice the same password for the username
-you want to create, in this case \emph{konrad}. ``The -c flag is used only when you
-are creating a new file. After the first time, you will omit the -c flag,
-when you are adding new users to an already-existing password file. Otherwise you
-will overwrite the file!'' \cite{htaccess}. You can add as many users as you wish,
-do not forget to remove the -c flag when you do it.
-In the last step, we have to modify the \emph{/etc/apache2/apache2.conf} file and
-to add at the end of it the following code segment where \emph{/vaw/www-ssl/testsoftware}
-is the full path to your web page directory where you put the \emph{.htpasswd} file:
-\begin{lstlisting}
-<Directory /vaw/www-ssl/testsoftware>
-AllowOverride All
-</Directory>
-\end{lstlisting}
-We are done with editing. All we have to do now is to restart the Apache web server. We
-can do that by typing:
-\begin{lstlisting}
-sudo /etc/init.d/apache2 restart
-\end{lstlisting}
-You can test it now by opening a new browser tab and navigating to \emph{https://localhost/\\testsoftware}
-(keep in mind to replace \emph{testsoftware} with your name of the folder where the web page
-is located). If you configured everything properly, you should get a dialog where you can
-enter your created username and password and try to login.
-
-\newpage
-\section{Web page}
-One of the requests of our team project was to build a test system that could be started from the web site.
-Since we used the Open Source platform to base our project on, it was certain we will use it for the web site as well.
-The dynamic parts of the web site were programmed using PHP and JavaScript. The GUI was done using CSS.
-The web site opens TCP/IP sessions between itself and the Python test software. Due reasons explained in the section above,
-a test user needs first to enter his username and password to access the web site. Then a test user can manually select what type of tests he wants to perform or he can select already defined test,
-like the simple, smart or full test. (Describe here these three type of tests).
-Data about the performing tests are inserted into the database only in the case if the mutex lock for the web site can be obtained\footnote{The mutex lock will be explained in the next subsection.}.
-This way we can avoid inserting data about the test in case there is already a test user on the website performing some tests on the system.
-\subsection{Communication between the web page and the test software}
-Our first idea was that the PHP file starts the test software.
-However, parts of our test software open new terminal windows and
-since PHP has restrictions for starting GUI applications our approach was condemned for a failure at the start.
-We had to deal with this problem and our solution to it was to write a little Python script that will run in background and start our
-test software when required. Once a person starts the test over the web site, it automatically connects to the Python script over an TCP/IP socket.
-Before being able to start the test software one needs first to obtain the mutex lock on the web site and to check if there is a mutex lock for the test software running.
-Using this approach we can ensure that only one user at the time can be on the web site and run only one instance of the test software.
-In the next step we send the Python script a message to start the test software. The test software obtains a mutex lock as well.
-When the test software is started the web page checks if a software lock is obtained.
-Once it is obtained we can proceed with creating a new socket connection between the web site and the test software.
-Our TCP/IP communication between the web site and the test software is not encrypted since both the web page and the test software run on the same server computer.
-The mutex locks are freed after the tests are performed. Our test software has a timeout timer in case that the web site hangs or somehow the socket connection breaks
-where it automatically shuts down.
-\subsection{Results on the web page}
-All the performed test results are displayed on the web site. The results are displayed in real time after each selected test case is performed.
-After all the test cases have been performed a topological picture is generated which represents the current state of the system, this can bee seen in the following figure.
-Afterwards, when the result picture is generated, the test user can easily see what is wrong in the system. Various icons represent different subsystems.
-Reading the test results is as simple as looking at the icons and identifying if they have: a green plus signs (i.e. working properly), a red minus sign (i.e. not working properly) and a yellow exclamation mark (i.e. it was not tested).
-
-\begin{itemize}
-\item Triangles represent BTS stations
-\item Cell phones represent the external networks (E-Plus, Vodaphone, T-Mobile and O2)
-\item Telephone represents the landline and a telephone with a mortarboard the University telephone network
-\item Servers represent the OpenBSC and LsfKs-Asterisk
-\item Two monitors represent the SIP system
-\end{itemize}
-
-\par The inference mechanism works as following: if a test case works, we can conclude that the subsystems connected in-between the two ends are working properly as well.
-We use the pChart library\footnote{It is under the GNU GPLv3 license and our project is nonprofit!} to generate the topological picture of our telecommunication system \cite{pChart}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{resultsImage.png}
- \caption[]{Result image showing working, defected and not tested subsystems}
-\end{figure}
-\par On the right side of the result picture the test user can immediately identify the network operability in percentage\footnote{The test user has to take into account that this percentage is only valid if a full test is performed.}. Bellow the network operability statistics are the ping results statistics located.
-If one of the fields is red it means the subsystem is not online or cannot be seen by our server computer where the test software is located.
-\newpage
-\section{Employing the test software system}
-In this section the reader can find out how to install and how to use the test system.
-Our goal was to make a multi-platform test software, however we tested it only under Ubuntu
-11.04 32 bit Linux OS and the given instruction manual is only tested under that OS. The
-test software performed well, both on PC and MAC computers.
-One should keep in mind that some of the libraries we had used do not work
-under the 64 bit version of Linux OS.
-
-\subsection{Required software and libraries}
-In the next subsections, we will guide you how to install all the required software and
-libraries to flawlessly run our test software on your employed server.
-You will be required to have \emph{root} access privileges and to open a new
-terminal window where the commands will be typed in.
-
-\subsubsection{Python installation}
-Python was our programming language of choice\footnote{We had explained earlier why we
-have decided to use Python.}. The required version of Python is 2.7. One can easily
-install python by typing the following commands:
-\begin{lstlisting}
-sudo apt-get update
-sudo apt-get install python2.7
-\end{lstlisting}
-It will take a short amount of time to be installed. You will be required to enter
-the \emph{root} password.
-
-\subsubsection{Apache Web server installation}
-We had decided to use the Apache web server because of its wide support on the Internet
-and safety reasons. If there are any bugs or security flaws, the patches are
-easily installed with the Ubuntu update manager. The Apache web server can be easily
-installed by typing the following command:
-\begin{lstlisting}
-sudo apt-get install apache2
-\end{lstlisting}
-You might be required to follow other installation instructions printed on the
-terminal screen.
-After the installation has completed successfully, one can test if it works by going
-to the following web address: \emph{http://localhost}. For configuring the \emph{https}
-please go to the section 7.2.
-
-\subsubsection{SSH}
-Secure Shell (SSH) is a network protocol for secure data communication between two
-computers inside of a network. All computers are required to have SSH installed on it.
-You can easily install it by typing the following command:
-\begin{lstlisting}
-sudo apt-get install ssh
-\end{lstlisting}
-
-\subsubsection{MySQL database and MySQLdb library}
-The MySQLdb library is required to perform various operations on the MySQL database within
-Python. We used the MySQLdb library instead of the native MySQL C API \emph{\_mysql} library
-to make the code cleaner and more portable.
-We suggest you to install first the MySQL database on the server computer. If you
-have installed MySQL you can skip the next part. To star the installation process one can
-type the following commands:
-\begin{lstlisting}
-sudo apt-get install mysql-server
-\end{lstlisting}
-You will be required to enter the Linux \emph{root} password. At some point during
-the installation process, you will be required to enter the password for the MySQL
-database. After you have performed the above step, we can proceed with the
-MySQLdb library installation. By typing:
-\begin{lstlisting}
-sudo apt-get install python-mysqldb
-\end{lstlisting}
-If the \emph{python-mysqldb} name has changed, one can easily find the correct name of the
-file by issuing the following command:
-\begin{lstlisting}
-apt-cache search MySQLdb
-\end{lstlisting}
-By typing in the commands given above, you should have successfully installed the MySQLdb
-library.
-
-\subsubsection{Serial port library}
-The serial port library is required for the cell phones to communicate with the
-server computer and the BeagleBoards. The required library for Python can be installed
-by typing the following command:
-\begin{lstlisting}
-sudo apt-get install python-serial
-\end{lstlisting}
-The installation should not produce any errors or warnings.
-
-\subsubsection{PJSUA library}
-\emph{PJSUA} is an open source command line SIP user agent (soft-phone). We use the library
-for the SIP handler. First, one needs to download the library
-from \url{http://www.pjsip.org/download.htm} \cite{pjsip}. Then extract it to some folder.
-Then we will build the library using make. This can be accomplished by typing the following
-commands:
-\begin{lstlisting}
-cd your-pjsip-root-dir
-./configure && make dep && make
-cd pjsip-apps/src/python
-sudo make
-\end{lstlisting}
-
-If you get an error similar to this one:
-\begin{lstlisting}
-_pjsua.h:25:20: fatal error: Python.h: No such file or directory
-compilation terminated.
-error: command 'gcc' failed with exit status 1
-\end{lstlisting}
-Then you will be required to install python-dev as well, that matches your version of
-python (e.g. python2.7-dev). You can do it by typing:
-\begin{lstlisting}
-sudo apt-get install python2.7-dev
-\end{lstlisting}
-After you have successfully installed python2.7-dev, repeat the the commands given above.
-Now you should have a properly installed PJSUA library. One can easily test if the installation
-was successful by compiling a simple python code, \emph{python test.py}, with the following
-source code:
-\begin{lstlisting}
-import pjsua
-\end{lstlisting}
-If you do not get any errors, you have successfully installed the library. More detail can
-be found on our project wiki page \cite{wiki}.
-
-\subsubsection{pChart library}
-The pChart library is within our installation files and does not require to be installed
-individually. The library is only required if one uses the web interface and
-requires the generated resulting image. The library is open source and does not require
-any licensing. However, if one needs to learn how the library works,
-information can be found on the pChart web page \cite{pChart}.
-
-\subsubsection{proctitle library}
-We had used this library to rename the currently executed process name.
-``The library allows a process to change its title (as displayed by system
-tools such as ps and top). Changing the title is mostly useful in
-multi-process systems, for example when a master process is forked:
-changing the children's title allows to identify the task each process is
-busy with.'' \cite{proctitle}. The library can be easily installed by typing:
-\begin{lstlisting}
-sudo easy_install setproctitle
-\end{lstlisting}
-
-
-\subsection{Configuring hardware}
-Before proceeding with the next steps, please connect all the cell phones
-to the USB hub using the suitable cables. Then make sure the cables are
-recognized by the operating system. This can be performed by typing the following command:
-\begin{lstlisting}
-dmesg | grep ttyU
-\end{lstlisting}
-The given command should produce a result similar to:
-\begin{lstlisting}
-[ 5178.753600] usb 1-1.2: pl2303 converter now attached to ttyUSB0
-\end{lstlisting}
-
-We have two different ways to configure the cell phones, manually and automatic.
-Both options can be accessed either using the website or the terminal window.
-Using the manual configuration from the terminal, the user configures everything him/herself.
-The user will be presented with a few questions like the port address, cell phone number and IMEI.
-After the user enters all the required parameters, the software will check
-if the given port address is accessible and it will look for a response from the devices.
-Then you will be asked to enter the IMEI and the cell phone number of the device.
-If the entered IMEI matches the device IMEI then the software will update the database
-with the entered information. You can run, both the manual and automatic configuration
-by typing:
-\begin{lstlisting}
-python gsmselftest.py --devconf
-\end{lstlisting}
-In the automatic configuration, the software will automatically try to detect every
-cell phone that is connected to the USB hub. This configuration option can detect
-up to nine cell phones, that are connected to the server computer. We had set a limit to
-nine cell phones because we required only five (four for the external GSM networks
-and one for our internal GSM BST). The only limitation of the automatic cell phone configuration
-is that it only supports cell phones where we could read out the number using the \emph{AT Modem}
-commands since some cell phone manufacturers do not use the standardized \emph{AT Modem} commands.
-\newpage
-\subsubsection{Configuring the cell phones}
-It is important to write in the Siemens S55 cell phones their numbers if you want to use
-automatic device configuration. You can do that by following the next few steps:
-
-\par Open the phone book on the S55 and choose \emph{<Special books>} and press the select button.
-\par In the second step, press select on \emph{<OwnNumber>}.
-\par In the third and last step, enter your cell phone number and save it!
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{First.png}
- \caption[]{First step in configuring the phone}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Second.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=20mm]{Third.png}
- \caption[]{Second step in configuring the phone}
-\end{figure}
-\clearpage
-\subsection{Location of the files}
-For proper operation of the software, it is important that each file is at its correct path
-located. In the given section you can find out the correct path locations.
-If you are not an expert, please do not change these locations.
-The following files have to be located in the \emph{/var/www-ssl/testsoftware/} folder:
-\begin{lstlisting}
-drwxr-xr-x 7 root root 4096 2011-10-28 12:45 .
-drwxr-xr-x 3 root root 4096 2011-10-20 17:06 ..
--rw-r--r-- 1 root root 109 2011-10-26 16:55 .htaccess
--rw-r--r-- 1 root root 20 2011-10-26 17:11 .htpasswd
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 class
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 css
--rw-r--r-- 1 root root 7547 2011-10-20 17:06 delayedLoading.js
--rw-r--r-- 1 root root 3431 2011-10-25 14:38 devconf.html
--rw-r--r-- 1 root root 2024 2011-10-25 23:47 devconfigAuto.php
--rw-r--r-- 1 root root 1811 2011-10-26 13:44 devconfigManual.php
--rw-r--r-- 1 root root 2195 2011-10-25 23:45 devconfig.php
--rw-r--r-- 1 root root 3526 2011-10-27 14:51 devconf.php
--rwxr-xr-x 1 root root 725 2011-10-20 17:06 execute.php
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 fonts
--rw-r--r-- 1 root root 2259 2011-10-28 12:43 index.html
-drwxr-xr-x 2 root root 4096 2011-10-20 17:06 icons
-drwxr-xr-x 2 root root 4096 2011-10-25 14:10 Images
--rw-r--r-- 1 root root 2038 2011-10-20 17:06 insertData.php
--rw-r--r-- 1 root root 636 2011-10-26 13:43 insertdevice.php
--rw-r--r-- 1 root root 10819 2011-10-20 17:06 loader.gif
--rw-r--r-- 1 root root 2268 2011-10-26 16:07 main.php
--rw-r--r-- 1 root root 5416 2011-10-20 17:06 moocheck.js
--rw-r--r-- 1 root root 75836 2011-10-20 17:06 mootools.js
--rw-r--r-- 1 root root 677 2011-10-20 17:06 mutexFunctions.php
--rw-r--r-- 1 root root 9063 2011-10-25 17:20 mutexSmartTest.php
--rwxr-xr-x 1 root root 9143 2011-10-28 12:45 mutexTry.php
--rw-r--r-- 1 root root 13304 2011-10-20 17:06 networkResult.php
--rw-r--r-- 1 root root 8294 2011-10-21 19:02 post.php
--rw-r--r-- 1 root root 19218 2011-10-21 17:36 startTest2.php
--rw-r--r-- 1 root root 18852 2011-10-20 17:06 startTest.php
--rw-r--r-- 1 root root 18787 2011-10-25 16:43 TaskTest.html
--rw-r--r-- 1 root root 3685 2011-10-20 17:06 testCase.php
--rw-r--r-- 1 root root 2545 2011-10-20 17:06 wait.gif
-\end{lstlisting}
-The \emph{startSoftware.py} file is required to be in the \emph{/etc/init.d/} folder,
-since it is required to be start with the computer boot however if that does not work,
-one should start it manually. This part of the software is
-responsible for starting the testing software from the web page\footnote{The web page
-communicates with this script via a socket connection and sends a signal to start
-the main test software.}.
-The main test software python files should be located in \emph{/home/gsmselftest/SoftwareTesting/}.
-\begin{lstlisting}
-drwxr-xr-x 2 gsmselftest gsmselftest 4096 2011-11-03 14:29 .
-drwxr-xr-x 30 gsmselftest gsmselftest 4096 2011-11-02 18:28 ..
--rwxr--r-- 1 gsmselftest gsmselftest 2909 2011-10-20 17:54 ClientClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3628 2011-10-20 17:54 ClientClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 9814 2011-11-02 16:19 ControllerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 9247 2011-11-02 16:20 ControllerClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 15129 2011-11-02 15:32 DbClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 11712 2011-11-02 15:32 DbClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8512 2011-11-02 13:30 GSMClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7337 2011-11-02 13:42 GSMClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 8063 2011-11-02 13:24 GSMHandler.py
--rwxr-xr-x 1 gsmselftest gsmselftest 20346 2011-11-02 18:32 gsmselftest.py
--rwxr--r-- 1 gsmselftest gsmselftest 698 2011-11-02 18:36 help.txt
--rwxr-xr-x 1 gsmselftest gsmselftest 8661 2011-11-02 16:35 initTestClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 7497 2011-11-02 16:37 initTestClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 645 2011-10-20 17:54 LogFileClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1509 2011-10-20 17:54 LogFileClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 817 2011-10-20 17:54 PingClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1263 2011-10-20 17:54 PingClass.pyc
--rwxr--r-- 1 gsmselftest gsmselftest 3982 2011-10-20 17:54 ServerClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4596 2011-10-20 17:57 ServerClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 4129 2011-10-20 23:17 ServerClassSoftware.py
--rw-r--r-- 1 gsmselftest gsmselftest 4802 2011-10-20 23:17 ServerClassSoftware.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 5252 2011-10-22 03:58 SIPHandler.py
--rwxr--r-- 1 gsmselftest gsmselftest 1267 2011-11-02 14:07 SSHTunnelBoxClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 1852 2011-11-02 14:19 SSHTunnelBoxClass.pyc
--rw-r--r-- 1 gsmselftest gsmselftest 323 2011-11-02 18:44 startSoftware.py
--rwxr-xr-x 1 gsmselftest gsmselftest 6378 2011-11-02 16:13 trueTableClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 4583 2011-11-02 16:16 trueTableClass.pyc
--rwxr-xr-x 1 gsmselftest gsmselftest 2248 2011-10-28 14:04 usbDetectClass.py
--rw-r--r-- 1 gsmselftest gsmselftest 3590 2011-10-28 14:05 usbDetectClass.pyc
-\end{lstlisting}
-
-\subsection{Setting up the parameters}
-After configuring the hardware, \emph{https} and \emph{.htaccess} on the web server,
-it is important to modify the files for proper operations. In the given section you
-can find out how to configure the rest of the files (e.g. database passwords, etc.).
-The following files you have to modify to have a working database access:
-\emph{initTestClass.py, GsmSelfTest.py, UsbDetectClass.py} and \emph{truthtableClass.py}.
-\subsection{Test descriptions}
-In the following section we will describe the tests that can be performed and what kind
-of problems they can identify. There are five types of tests:
-\begin{itemize}
-\item Smart test
-\item SIP test
-\item GSM test
-\item Everything test
-\item Manual test
-\end{itemize}
-Each test will be described in the next subsections.
-\subsubsection{Smart test}
-\par The \emph{smart} test is not called smart without a reason. It tries automatically to identify
-problems inside of the telecommunication network. The user is not required to define what kind
-of tests have to be performed. In the first part the test software communicates with the
-database to see what systems are available. In the next step it performs a call from the
-University telephone system to a random local cell phone\footnote{Local cell phone or
-local GSM network means our University GSM Network or RZ GSM.}
-inside of our University GSM network.
-While executing this task, automatically the Asterisk server, OpenBSC and a random nanoBTS
-(or the one cell phone in RZ) are tested. The next task to be performed in the smart test,
-a randomly selected cell phone inside of our local GSM network will try to call: a random
-cell phone within the external (O2, Vodaphone,E-Plus or T-Mobile) or local GSM network.
-This might test the external network and will test it with high probability, however the
-probability exists to make a local to local GSM test call. In the third task, we perform
-a test where we call from the landline a random cell phone inside of our local GSM network.
-In the fourth or last task, we call from SIP to the service we did not test yet (e.g.
-if we did not test the external GSM network using the second test task, then in this last
-task we will exploit it). After the smart test had been completed you will be presented
-with the results.
-\subsubsection{SIP test}
-The \emph{SIP} test option will perform test in such a way that all the SIP subsystems are
-tested (SIP and University telephone network). It will try to identify if there are any
-problems on the Asterisk server and our University telephone network, including incoming and
-outgoing calls from the SIP side.
-\subsubsection{GSM test}
-In the \emph{GSM} test both GSM networks get tested, the local and the external GSM network.
-We test the nanoBTS controller boxes (i.e. BeagleBoards) as well. Using this test, both incoming
-and outgoing calls are performed, we can detect possible errors on the OpenBSC and the nanoBTS.
-\subsubsection{All test}
-The \emph{All} test selects all the given tests and executes them step-by-step. It is the test
-that takes the greatest amount of time. While the test are performed, results are
-immediately printed in the terminal window or on the web site.
-\subsubsection{Manual test}
-The \emph{Manual} test as the name itself says, is the test where you can manually select
-what kind of tests you want to be performed.
-\newpage
-\subsection{Result descriptions}
-In the following table one can see the messages returned by the test software!
-These messages should guide the test user operator to debug the system.
-
-\begin{table}[h]\footnotesize
- \begin{center}
- %\caption[]{Table of error descriptions}
- \begin{tabular}{| l | c | l | }
- \hline
- \textbf{Number} & \textbf{Code} & \textbf{Code number description} \\ \hline
- 1 & 200 & Call was OK \\ \hline
- 2 & 604 & General Handler Error: Destination handler did not respond. Timeout \\ \hline
- 3 & 998 & General Handler Error: Could not connect to the destination handler! \\ \hline
- 4 & 605 & General Handler Error: Caller handler did not respond. Timeout \\ \hline
- 5 & 999 & General Handler Error: Could not connect to the caller handler! \\ \hline
- 6 & 486 & Call Failed \\ \hline
- 7 & 333 & Could not establish a connection to the database! \\ \hline
- 8 & 100 & Missing account detail \\ \hline
- 9 & 402 & Payment Required (E-Plus Card) \\ \hline
- 10 & 801 & Connection to caller established, but the device does not respond \\ \hline
- 11 & 802 & Connection to destination established, but the device does not respond \\ \hline
- 12 & 501 & Destination server Internal Error \\ \hline
- 13 & 502 & Caller server Internal Error \\ \hline
- %\hline
-
- \end{tabular}
- \end{center}
-\end{table}
-
-The errors can be described the following way:
-
-\begin{itemize}
-\item \emph{200}, Connection between the caller and callee was properly established
-\item \emph{604}, Callee handler has a problem , a connection error between caller and callee
-\item \emph{998}, Controller software cannot establish a connection and send messages to the callee handler but the destination handler is alive
-\item \emph{605}, Caller handler has a problem during executing the test, a connection error between caller and callee
-\end{itemize}
-605, 'General Handler Error: Caller handler did not respond. Timeout'
-Means that The caller handler having problem during the test task. Probably the connection between controller and caller handler having problem.
-
-
-999, 'General Handler Error: Could not connect to the caller handler!'
-Means that controller can’t make connection and send message to caller handler but the caller handler reachable from the server.
-
-486, 'Call Failed’
-The test task is failed. The connection between caller and destination are broken.
-
-500, 'Caller server Internal Error'
-Means that the caller handler unreachable from the server.
-
-501, 'Destination server Internal Error'
-Means that the destination handler unreachable from the server.
-
-333, 'Could not establish a connection to the database!’
-Could not login to the database MySql.
-
-100, 'Missing account detail'
-Means can’t sign to the existing account at SIP server (SIP at asterisk, Landline at sipgate.de, SIP at University telephone network) due missing or incorrect information in the device address table.
-
-402, 'Payment Required (Eplus Card)'),
-Error respond code for E-Plus card.
-
-801, 'Connection to caller establishment, but device error'
-The device on the caller handler doesn’t connect properly or die.
-
-802, 'Connection to destination establishment, but device error');
-The device on the Destination handler doesn’t connect properly or die.
-
-\clearpage
-\newpage
-\subsection{Using the software}
-In this section, you will be taught step by step how to use our test software. There are two options to run our test software, from the web site or the terminal.
-The first is easier, but the second is easy as well however requires terminal skills.
-
-\subsubsection{Web site guide}
-Once you enter the address in the address bar of your browser (e.g. \emph{https://localhost/\\testsoftware}).
-You will be required to enter your username and password for the web page\footnote{The username and password creation process is explained in section 7.2.2.}.
-If you entered the correct username and password you should see the same image as in the following figure.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website1.png}
- \caption[]{Web page of test software}
-\end{figure}
-Here you can choose what kind of test you want to perform or maybe if you want to configure the devices (manually or automatically).
-If you press the ``Smart test'' button, you have to wait a few moments and the results should appear in a short amount of time.
-However, if you pressed the ``Choose the test'' button, you will be presented with a new page, given in figure 28.
-You will have to select the tests you want to perform manually or to press on the left side one of the given buttons for different
-tests. You can choose between ``SIP Test'', ``GSM Test'', ``Check all'' and ``Uncheck all''. ``Check all'' will select all the possible
-tests, whereas ``Uncheck all'' will deselect all of them. After you finished the procedure of selecting the tests, you should press the
-``Submit'' on the left side. Wait a few moments and the results will start to appear in real time. After the table on the left is filled
-(i.e. after all the tests have been completed) a result image will be generated on the right side, can be seen in figure 20. However, if
-your pressed the ``Device configuration'' button, then you will end up on a page as given in figure 30.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website2.png}
- \caption[]{Manually selecting the tests}
-\end{figure}
-
-If you press the ``Automatic configuration'' button, the test software will try automatically to match your cell phones with
-their port addresses and numbers. However, if the automatic matching does not work, you will have to manually configure it.
-You can do it by entering all the required information on the web site, as in figure 31. Once you correctly filled in the required
-information, you should press the ``Submit'' button.
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{webpageReport.png}
- \caption[]{Result web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website3.png}
- \caption[]{Device configuration web page}
-\end{figure}
-
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=120mm]{website4.png}
- \caption[]{Manual device configuration page}
-\end{figure}
-%\clearpage
-\newpage
-\subsubsection{Terminal guide}
-In the following text, we will guide you and show you step-by-step how to use the test software from the terminal. All you have to
-do is just type the command for starting the test software in the folder where it is located, \emph{./gsmselftest.py ---option} (keep
-in mind there are two dashes before \emph{option}).
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{terminalCommand.png}
- \caption[]{Test software terminal options}
-\end{figure}
-You can perform the tests manually by typing what you want to test or by choosing one of the predefined tests. For example, you
-want to test manually does the SIP work with the University telephone network, you would type the following: \emph{./gsmselftest.py --db sip unisip}.
-\begin{figure}[ht!]
- \centering
- \includegraphics[width=100mm]{resultterminal.png}
- \caption[]{Example results from the terminal screen}
-\end{figure}
-After the tests have been performed the results will be displayed. Green result text means the test was performed successfully and red result
-text means that something is not working properly.
-
-If you need to configure the cell phones manually or automatically, you can do it by typing: \emph{./gsmselftest.py --devconf} (keep
-in mind there are two dashes before \emph{devconf}). Then you can press ``a'' on the keyboard for automatic configuration or ``m'' for
-manual configuration. One should keep in mind that the terminal test software can be started even through \emph{ssh}, however with an
-additional command \emph{-X}\footnote{For example: ssh -X username@address}.
-\begin{figure}[htb]
- \centering
- \includegraphics[width=100mm]{devconf.png}
- \caption[]{Test software device configuration from terminal screen}
-\end{figure}
-
-\clearpage
-\newpage
-\section{Conclusion}
-As a result of our successfully finished team project, we had felt how it is to work
-in a team. We had learnt how to confront various software and hardware issues. The problems
-were broken into smaller fragments and the solutions were derived in a step-by-step approach.
-\par While designing the software, we kept in mind that every single step should be well thought-out,
-documented, tested and validated. At the end we joined all the ``black-boxes'' together
-into one big piece of software. We fulfilled our stated requirements and goals.
-\par Despite the fact that our test software will be used by well educated engineers, we may
-conclude that all the way along we thought about the usage-simplicity, safety and security
-of our product. Our team members were enthusiastic about the idea that our team project will
-contribute to a better performance and quality of the overall telecommunication network,
-for all of the University staff and our colleagues, the students.
-\newpage
-
-
-
-%bibliography start
-\begin{thebibliography}{9}
-
-\bibitem{network} \emph{Projects based on RZ-GSM}, accessed on 10.06.2011, available at
-\url{http://lab.ks.uni-freiburg.de/projects/gsm/wiki}.
-
-\bibitem{python} \emph{Python Programming Language - Official Website}, accessed on 10.06.2011, available at
-\url{http://www.python.org/}.
-
-\bibitem{mysqlManual} \emph{MySQLdb User's Guide}, accessed on 05.06.2011, available at \\
-\url{http://mysql-python.sourceforge.net/MySQLdb.html}.
-
-\bibitem{wiki} \emph{[2011] GSM Selftest - Wiki - Lehrstuhl f\"{u}r Kommunikationssysteme}, accessed on 20.09.2011, available at \\
-\url{http://lab.ks.uni-freiburg.de/projects/gsm-selftest/wiki}.
-
-\bibitem{socket} \emph{17.2. socket - Low-level networking interface}, accessed on 20.06.2011, available at
-\url{http://docs.python.org/library/socket.html}.
-
-\bibitem{spin} M. Ben-Ari \emph{Principles of the Spin Model Checker},
-Springer Verlag, Weizmann Institute of Science, Israel, ISBN: 978-1-84628-769-5, 2008.
-
-\bibitem{sshTunnel} R. Natarajan, \emph{3 Steps to perform SSH login without password using ssh-keygen \& ssh-copy-id}, accessed on 18.08.2011, available at
-\url{http://goo.gl/fX68N}.
-
-\bibitem{https} P. Bramscher, \emph{Creating Certificate Authorities and self-signed SSL certificates}, accessed on 05.09.2011, available at
-\url{http://www.tc.umn.edu/~brams006/selfsign.html}.
-
-\bibitem{htaccess} \emph{EnablingUseOfApacheHtaccessFiles}, accessed on 18.08.2011, available at
-\url{https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles}.
-
-\bibitem{pChart} \emph{pChart}, accessed on 15.08.2011, available at
-\url{http://www.pchart.net/}.
-
-\bibitem{beagleDataSheet} \emph{BeagleBoard System Reference Manual}, accessed on 20.06.2011, available at
-\url{http://beagleboard.org/static/BBSRM_latest.pdf}.
-
-\bibitem{proctitle} \emph{setproctitle 1.1.2}, accessed on 20.10.2011, available at
-\url{http://pypi.python.org/pypi/setproctitle}.
-
-\bibitem{pjsip} \emph{Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication}, accessed on 20.10.2011, available at
-\url{http://www.pjsip.org/}.
-
-%bibliography end
-\end{thebibliography}
-
-%end of the document
-\end{document} \ No newline at end of file
diff --git a/notFinishedCode/Report/test.toc b/notFinishedCode/Report/test.toc
deleted file mode 100644
index b7618eb..0000000
--- a/notFinishedCode/Report/test.toc
+++ /dev/null
@@ -1,59 +0,0 @@
-\select@language {english}
-\contentsline {section}{\numberline {1}Introduction and Motivation}{4}{section.1}
-\contentsline {section}{\numberline {2}Requirements}{5}{section.2}
-\contentsline {subsection}{\numberline {2.1}Logical and algorithmic requirements}{5}{subsection.2.1}
-\contentsline {subsection}{\numberline {2.2}Software requirements}{6}{subsection.2.2}
-\contentsline {subsection}{\numberline {2.3}Hardware requirements}{8}{subsection.2.3}
-\contentsline {section}{\numberline {3}Database design}{9}{section.3}
-\contentsline {section}{\numberline {4}Software design}{12}{section.4}
-\contentsline {subsection}{\numberline {4.1}Database access}{15}{subsection.4.1}
-\contentsline {subsection}{\numberline {4.2}Controlling the cell phones}{15}{subsection.4.2}
-\contentsline {subsection}{\numberline {4.3}Client and Server class}{16}{subsection.4.3}
-\contentsline {subsection}{\numberline {4.4}Ping class}{17}{subsection.4.4}
-\contentsline {subsection}{\numberline {4.5}Data logging}{18}{subsection.4.5}
-\contentsline {subsection}{\numberline {4.6}SSH Tunnel Class}{18}{subsection.4.6}
-\contentsline {subsection}{\numberline {4.7}USB Cell phone detection class}{19}{subsection.4.7}
-\contentsline {subsection}{\numberline {4.8}Truth table class}{19}{subsection.4.8}
-\contentsline {subsection}{\numberline {4.9}Init Test class}{19}{subsection.4.9}
-\contentsline {subsection}{\numberline {4.10}Controller class}{20}{subsection.4.10}
-\contentsline {section}{\numberline {5}Hardware design}{21}{section.5}
-\contentsline {subsection}{\numberline {5.1}BeagleBoard}{21}{subsection.5.1}
-\contentsline {subsection}{\numberline {5.2}Cell phones}{21}{subsection.5.2}
-\contentsline {subsection}{\numberline {5.3}Cables for the cell phones}{22}{subsection.5.3}
-\contentsline {subsection}{\numberline {5.4}Server}{22}{subsection.5.4}
-\contentsline {section}{\numberline {6}Communication protocol}{23}{section.6}
-\contentsline {subsection}{\numberline {6.1}Communication between the handler and controller}{23}{subsection.6.1}
-\contentsline {subsection}{\numberline {6.2}Verification of the protocol}{26}{subsection.6.2}
-\contentsline {section}{\numberline {7}Security and safety of the system}{28}{section.7}
-\contentsline {subsection}{\numberline {7.1}Encryption of the communication channels}{28}{subsection.7.1}
-\contentsline {subsection}{\numberline {7.2}Security on the web site}{29}{subsection.7.2}
-\contentsline {subsubsection}{\numberline {7.2.1}Configuring the http secure protocol https}{29}{subsubsection.7.2.1}
-\contentsline {subsubsection}{\numberline {7.2.2}Password protecting the web site using .htaccess}{32}{subsubsection.7.2.2}
-\contentsline {section}{\numberline {8}Web page}{34}{section.8}
-\contentsline {subsection}{\numberline {8.1}Communication between the web page and the test software}{34}{subsection.8.1}
-\contentsline {subsection}{\numberline {8.2}Results on the web page}{34}{subsection.8.2}
-\contentsline {section}{\numberline {9}Employing the test software system}{36}{section.9}
-\contentsline {subsection}{\numberline {9.1}Required software and libraries}{36}{subsection.9.1}
-\contentsline {subsubsection}{\numberline {9.1.1}Python installation}{36}{subsubsection.9.1.1}
-\contentsline {subsubsection}{\numberline {9.1.2}Apache Web server installation}{36}{subsubsection.9.1.2}
-\contentsline {subsubsection}{\numberline {9.1.3}SSH}{36}{subsubsection.9.1.3}
-\contentsline {subsubsection}{\numberline {9.1.4}MySQL database and MySQLdb library}{37}{subsubsection.9.1.4}
-\contentsline {subsubsection}{\numberline {9.1.5}Serial port library}{37}{subsubsection.9.1.5}
-\contentsline {subsubsection}{\numberline {9.1.6}PJSUA library}{37}{subsubsection.9.1.6}
-\contentsline {subsubsection}{\numberline {9.1.7}pChart library}{38}{subsubsection.9.1.7}
-\contentsline {subsubsection}{\numberline {9.1.8}proctitle library}{38}{subsubsection.9.1.8}
-\contentsline {subsection}{\numberline {9.2}Configuring hardware}{38}{subsection.9.2}
-\contentsline {subsubsection}{\numberline {9.2.1}Configuring the cell phones}{40}{subsubsection.9.2.1}
-\contentsline {subsection}{\numberline {9.3}Location of the files}{41}{subsection.9.3}
-\contentsline {subsection}{\numberline {9.4}Setting up the parameters}{42}{subsection.9.4}
-\contentsline {subsection}{\numberline {9.5}Test descriptions}{42}{subsection.9.5}
-\contentsline {subsubsection}{\numberline {9.5.1}Smart test}{42}{subsubsection.9.5.1}
-\contentsline {subsubsection}{\numberline {9.5.2}SIP test}{43}{subsubsection.9.5.2}
-\contentsline {subsubsection}{\numberline {9.5.3}GSM test}{43}{subsubsection.9.5.3}
-\contentsline {subsubsection}{\numberline {9.5.4}All test}{43}{subsubsection.9.5.4}
-\contentsline {subsubsection}{\numberline {9.5.5}Manual test}{43}{subsubsection.9.5.5}
-\contentsline {subsection}{\numberline {9.6}Result descriptions}{44}{subsection.9.6}
-\contentsline {subsection}{\numberline {9.7}Using the software}{45}{subsection.9.7}
-\contentsline {subsubsection}{\numberline {9.7.1}Web site guide}{45}{subsubsection.9.7.1}
-\contentsline {subsubsection}{\numberline {9.7.2}Terminal guide}{47}{subsubsection.9.7.2}
-\contentsline {section}{\numberline {10}Conclusion}{49}{section.10}
diff --git a/notFinishedCode/Report/test_Use_case.png b/notFinishedCode/Report/test_Use_case.png
deleted file mode 100644
index 637cd44..0000000
--- a/notFinishedCode/Report/test_Use_case.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/titlepic.sty b/notFinishedCode/Report/titlepic.sty
deleted file mode 100644
index befca4e..0000000
--- a/notFinishedCode/Report/titlepic.sty
+++ /dev/null
@@ -1,76 +0,0 @@
-% titlepic.sty is a LaTeX package to show a picture on the cover produced by \maketitle.
-% By Thomas ten Cate <ttencate@gmail.com>. Free software, no warranty of any kind.
-%
-% Version history:
-% 1.1: now more self-contained, comes with a PDF manual
-% 1.0: first release
-%
-% -----------------------------------------------------------------------------
-
-% No idea whether it works on older LaTeXes.
-\NeedsTeXFormat{LaTeX2e}
-
-% Package identification and version number.
-\ProvidesPackage{titlepic}[2009/08/03 1.1 Package to display a picture on the title page]
-
-% Declare the options.
-\DeclareOption{tt}{\gdef\@tptopspace{}\gdef\@tpsepspace{\vskip 3em}}
-\DeclareOption{tc}{\gdef\@tptopspace{}\gdef\@tpsepspace{\vfil}}
-\DeclareOption{cc}{\gdef\@tptopspace{\null\vfil}\gdef\@tpsepspace{\vskip 3em}}
-\ExecuteOptions{cc}
-\ProcessOptions
-
-% Define the sole command introduced by this package.
-% Very similar to the definition of \title, etc.
-\def\titlepic#1{\gdef\@titlepic{#1}}
-\def\@titlepic{\@empty} % default: no picture
-
-\def\department#1{\gdef\@department{#1}}
-\def\@department{\@empty} % default: no picture
-
-% If a title page was requested from the document class (article/report/book),
-% override \maketitle to show our picture.
-\if@titlepage
-\renewcommand\maketitle{
- \begin{titlepage}%
- \let\footnotesize\small
- \let\footnoterule\relax
- \let \footnote \thanks
- \@tptopspace%
- \begin{center}%
- {\LARGE \@title \par}%
- \vskip 3em%
- {\large
- \lineskip .75em%
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par%
- }%
- \vskip 1.5em%
- {\large \@date \par}% % Set date in \large size.
- \end{center}\par
-
- \@tpsepspace%
- {\centering\@titlepic\par}
- \begin{center}
- \@department
- \end{center}
-
- \vfil
- \@thanks
- \end{titlepage}%
- \setcounter{footnote}{0}%
- \global\let\thanks\relax
- \global\let\maketitle\relax
- \global\let\@thanks\@empty
- \global\let\@author\@empty
- \global\let\@date\@empty
- \global\let\@title\@empty
- \global\let\@titlepic\@empty
- \global\let\title\relax
- \global\let\author\relax
- \global\let\date\relax
- \global\let\and\relax
- \global\let\titlepic\relax
-}
-\fi
diff --git a/notFinishedCode/Report/trueTable.png b/notFinishedCode/Report/trueTable.png
deleted file mode 100644
index 4753844..0000000
--- a/notFinishedCode/Report/trueTable.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/uniLogo1.jpg b/notFinishedCode/Report/uniLogo1.jpg
deleted file mode 100644
index ba54fa9..0000000
--- a/notFinishedCode/Report/uniLogo1.jpg
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/uniLogo2.png b/notFinishedCode/Report/uniLogo2.png
deleted file mode 100644
index 5dc939e..0000000
--- a/notFinishedCode/Report/uniLogo2.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/usbDetectClass.png b/notFinishedCode/Report/usbDetectClass.png
deleted file mode 100644
index 7233a53..0000000
--- a/notFinishedCode/Report/usbDetectClass.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/webpageReport.png b/notFinishedCode/Report/webpageReport.png
deleted file mode 100644
index 75b9cf9..0000000
--- a/notFinishedCode/Report/webpageReport.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/website1.png b/notFinishedCode/Report/website1.png
deleted file mode 100644
index d5aab85..0000000
--- a/notFinishedCode/Report/website1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/website2.png b/notFinishedCode/Report/website2.png
deleted file mode 100644
index 2424706..0000000
--- a/notFinishedCode/Report/website2.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/website3.png b/notFinishedCode/Report/website3.png
deleted file mode 100644
index 8be2732..0000000
--- a/notFinishedCode/Report/website3.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/website4.png b/notFinishedCode/Report/website4.png
deleted file mode 100644
index 8e8ad6b..0000000
--- a/notFinishedCode/Report/website4.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/Report/website6.png b/notFinishedCode/Report/website6.png
deleted file mode 100644
index 09d9884..0000000
--- a/notFinishedCode/Report/website6.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/SSHTunnelClass.py b/notFinishedCode/SSHTunnelClass.py
deleted file mode 100644
index 115fcdd..0000000
--- a/notFinishedCode/SSHTunnelClass.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh', '-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-x = SSHTunneling(50000, 80, '132.230.4.202', 'rz-gsm-testing', 'r')
-print x.startTunneling()
-print 'Tunnel started '
-sleep(50)
-print x.killTunneling()
-print 'kill tunnel'
diff --git a/notFinishedCode/ServerClass.py b/notFinishedCode/ServerClass.py
deleted file mode 100644
index 635e395..0000000
--- a/notFinishedCode/ServerClass.py
+++ /dev/null
@@ -1,162 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-import fcntl
-import struct
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- ifname = 'eth0' #define here the interface you want to find the ip address
-
- #code for getting our public addresss so I can make the SSH tunneling work
- s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- publicAddress = socket.inet_ntoa(fcntl.ioctl(
- s.fileno(),0x8915, # SIOCGIFADDR
- struct.pack('256s', ifname[:15]))[20:24])
-
- self.host = publicAddress #None #'127.0.0.1' #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/ServerClass.pyc b/notFinishedCode/ServerClass.pyc
deleted file mode 100644
index 940d50e..0000000
--- a/notFinishedCode/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/ServerClassSoftware.py b/notFinishedCode/ServerClassSoftware.py
deleted file mode 100644
index 206411e..0000000
--- a/notFinishedCode/ServerClassSoftware.py
+++ /dev/null
@@ -1,162 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandlerSoftware:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self, timeoutVar):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
-
- try:
-
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- self.s.settimeout(timeoutVar)
-
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
-
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- try:
- self.connection, self.address = self.s.accept()
- self.s.settimeout(0)
- self.connected = 1
- self.onceConnected = 1
- return 1
- except socket.timeout:
- return 'TIMEOUT'
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/classPing.py b/notFinishedCode/classPing.py
deleted file mode 100644
index e13b32b..0000000
--- a/notFinishedCode/classPing.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/notFinishedCode/clientController.py b/notFinishedCode/clientController.py
deleted file mode 100644
index 55a867c..0000000
--- a/notFinishedCode/clientController.py
+++ /dev/null
@@ -1,181 +0,0 @@
-import ClientClass
-from time import sleep
-
-########SET VARIABLES########
-addressOfHandler1 = '132.230.4.64'
-portOfHandler1 = 50008
-
-addressOfHandler2 = 'localhost'
-portOfHandler2 = 50008
-#############################
-def connectToHandlers():
- global lastState
- lastState = 0
-#########################################33333####
- global whoIsWho
- whoIsWho = 2
-##################################################
- global handler1
- global handler2
-
- handler1 = ClientClass.Connection(addressOfHandler1, portOfHandler1)
- handler2 = ClientClass.Connection(addressOfHandler2, portOfHandler2)
-
-
- tryConn1 = handler1.connect()
- tryConn2 = handler2.connect()
-
- if tryConn1 == 1 and tryConn2 == 1:
- return 1
-
- else:
- if tryConn1 == 1 and tryConn2 == 0:
- return 2
- elif tryConn1 == 0 and tryConn2 == 1:
- return 3
- elif tryConn1 == 0 and tryConn2 == 0:
- return 4
-
- return 5
-
-
-def initTalk():
- print 'in init'
-
- global lastState
- lastState = 1
- sendMessage1 = handler1.sendData('HELLO HANDLER')
- sendMessage2 = handler2.sendData('HELLO HANDLER')
-
- if sendMessage1 == 1 and sendMessage2 == 1:
- return 1
- else:
- return 0
-
-def receiveMessage(timeout, whoIsWho):
-
- if whoIsWho == 1:
- message1 = str(handler1.receiveData(timeout))
- message2 = str(handler2.receiveData(timeout))
- else:
- message1 = str(handler2.receiveData(timeout))
- message2 = str(handler1.receiveData(timeout))
-
- if message1 != '' and message2 !='':
- print 'in receive', message1, message2
-
- if message1 == 'HELLO CONTROLLER' and message2 == 'HELLO CONTROLLER' and lastState == 1:
- outcome = assignJobs(0,455)
-
- elif message1 == 'RECEIVER READY' and message2 == 'CALLER READY' and lastState == 2:
- outcome = startJobs(whoIsWho)
-
- elif message1 == 'CALL OK' and message2 == 'CALL OK' and lastState == 3:
- outcome = terminateConnection()
- #write to db here
- print 'TEST WAS OK'
-
-
- elif message1 == 'CALL NOT OK' and message2 == 'CALL NOT OK' and lastState == 3:
- outcome = terminateConnection()
- #write to db here
- print 'BOTH SIDES FAILED'
-
- elif message1 == 'CALL NOT OK' and message2 == 'CALL OK' and lastState == 3:
- outcome = terminateConnection()
- #write to db here
- print 'ONE SIDE FAILED ', whoIsWho
-
- elif message1 == 'CALL OK' and message2 == 'CALL NOT OK' and lastState == 3:
- outcome = terminateConnection()
- #write to db here
- print 'ONE SIDE FAILED', whoIsWho
-
- else:
- #abort test since they are not initialized
- outcome = other()
-
-def assignJobs(whoIsWho, number):
- print 'in assign jobs'
- global lastState
- lastState = 2
- if whoIsWho == 1:
- sendMessage1 = handler1.sendData('RECEIVER')
- sendMessage2 = handler2.sendData('CALLER|' + str(number))
- else:
- sendMessage1 = handler1.sendData('CALLER|' + str(number))
- sendMessage2 = handler2.sendData('RECEIVER')
-
- if sendMessage1 == 1 and sendMessage2 == 1:
- return 1
- else:
- return 0
-
-def startJobs(whoIsWho):
- print 'in start jobs'
- global lastState
- lastState = 3
- if whoIsWho == 1:
- sendMessage1 = handler1.sendData('RECEIVE START')
- sendMessage2 = handler2.sendData('CALL START')
- else:
- sendMessage2 = handler2.sendData('RECEIVE START')
- sendMessage1 = handler1.sendData('CALL START')
-
- if sendMessage1 == 1 and sendMessage2 == 1:
- return 1
- else:
- return 0
-
-def terminateConnection():
- print 'in terminate connection'
-
- global lastState
- lastState = 4
- sendMessage1 = handler1.sendData('TERMINATE CONNECTION')
- sendMessage2 = handler2.sendData('TERMINATE CONNECTION')
-
- if sendMessage1 == 1 and sendMessage2 == 1:
- return 1
- elif sendMessage1 == 1 and sendMessage2 == 0:
- return 2
- elif sendMessage1 == 0 and sendMessage2 == 1:
- return 3
- elif sendMessage1 == 0 and sendMessage2 == 0:
- return 4
- else:
- return 5
-
-def other():
- print 'in other state'
-
- global lastState
- lastState = 5
-
- sendMessage1 = handler1.sendData('TERMINATE CONNECTION')
- sendMessage2 = handler2.sendData('TERMINATE CONNECTION')
-
- close1 = handler1.closeConnection()
- close2 = handler2.closeConnection()
-
- if sendMessage1 == 1 and sendMessage2 == 1:
- return 1
- elif sendMessage1 == 1 and sendMessage2 == 0:
- return 2
- elif sendMessage1 == 0 and sendMessage2 == 1:
- return 3
- elif sendMessage1 == 0 and sendMessage2 == 0:
- return 4
- else:
- return 5
-
-while 1:
- # print 'I am here'
- if connectToHandlers() == 1:
- print 'connection initialized'
- if initTalk() == 1:
- receiveMessage(10,2)
- receiveMessage(10,2)
- receiveMessage(10,2)
- receiveMessage(10,2)
- lastState = 0
diff --git a/notFinishedCode/dbClass.py b/notFinishedCode/dbClass.py
deleted file mode 100644
index 552d140..0000000
--- a/notFinishedCode/dbClass.py
+++ /dev/null
@@ -1,372 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.lockSet = 0
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- columns.append(str(0))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP`,`number` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
- def GSMPrefix(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP`,`number` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall() #get the mysql response
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- GSMListPrefix = columns
-
- return GSMListPrefix
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- columns.append(str(0))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
-
- def lockMutex(self, seconds):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #resource is free which means software is not started yet
- successful = self.cur.execute("SELECT GET_LOCK('SoftwareStarted', %i)"%(int(seconds)))
-
- output1 = self.cur.fetchone()
- if output1[0] == 1:
- #I got the lock now
- self.lockSet = 1
- return 1
- elif output1[0] == 0:
- return 7 #if the attempt timed out (for example, because another client has previously locked the name)
- else:
- return 6 # if an error occurred (such as running out of memory or the thread was killed with
- elif output[0] ==0:
- return 4 #software is already running and somebody has allocated the mutex
- else:
- #means some not so good bug
- return 5 # if an error occurs (such as an incorrect argument).
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def releaseMutex(self):
- if self.connectionCreated == 1:
- try:
- if self.lockSet == 1:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #the lock seems to be free
- self.lockSet = 0
- return 4
-
- elif output[0] == 0:
-
- #try to release the lock
- successful = self.cur.execute("SELECT RELEASE_LOCK('SoftwareStarted')")
- output1 = self.cur.fetchone()
- if output1[0] == 1:
- #the lock was released successfully
- return 1
-
- elif output1[0] == 0:
- # if the lock was not established by this thread (in which case the lock is not released)
- return 5
- else:
- # and NULL if the named lock did not exist. The lock does not exist if it was never obtained by a call to GET_LOCK() or if it has previously been released.
- return 6
- else:
- #some serious problem
- #and NULL if an error occurs (such as an incorrect argument).
- return 5
-
- else:
- return 7 #the lock wasn't set
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
diff --git a/notFinishedCode/dbClass.pyc b/notFinishedCode/dbClass.pyc
deleted file mode 100644
index 09a766a..0000000
--- a/notFinishedCode/dbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/dbDemo.py b/notFinishedCode/dbDemo.py
deleted file mode 100644
index 713768d..0000000
--- a/notFinishedCode/dbDemo.py
+++ /dev/null
@@ -1,77 +0,0 @@
-import dbClass
-from time import sleep
-user = 'root'
-passw = 'randompasswordSQL'
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-x = dbClass.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print "do i have anything to do", x.anyTasksToDo()
-print 'mutex says' , x.lockMutex(10)
-print 'release mutex says ', x.releaseMutex()
-sleep(45)
-
-for item in x.tasksList:
- item = x.tasksList[index]
- tempItem = item
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- testDone = item[4]
- print "call from to ", taskID , callFrom , callTo, taskNo, testDone
- if testDone == str(0):
- print item[0]
- tempItem[4]=str(1)
- print "delete a task from temp table", x.deleteTempTask(taskID)
- x.tasksList[index]=tempItem
-
-print "found", x.searchTaskList('S1IP2','GSM1')
-#if variable == 0:
-# print x.insertTaskIn2('gsm4','sip8',2)
-
-print "remove a task ",x.removeTaskFromList('2')
-
-#print x.cleanTasksList()
-
-for item in x.tasksList:
- device = item[3]
- print "device name", device
- deviceAN= x.deviceAddress(str(device))
- print "device's IP and number", deviceAN[0], deviceAN[1]
-
-print "update task result ", x.updateTaskResult(1,3)
-
-print "update ping Table", x.updatePingResult(1,5,4,3,2,1)
-
-print "delete a task from temp table", x.deleteTempTask(2)
-print "add a result to the table", x.addResult(4,34)
-
-#new task to do
-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#just made for Tri :)---------------------------------------------------------------
-#print x.cleanTasksList()
-#print "do i have any task from SIP1 to GSM1 to do", x.anyTasksFromTo('SIP2', 'GSMu1', 2)
-#for item in x.tasksList:
-# taskID = item[0]
-# callFrom = item[1]
-# callTo = item[2]
-# print "call from to ", taskID , callFrom , callTo
-
-#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-#print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-#-----------------------------------------------------------------------------------
-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-for item in x.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- print "call from to ", taskID , callFrom , callTo, taskNo
-
-print "close connection to the DB", x.closeDBConn()
-
-del x
diff --git a/notFinishedCode/dbTest.py b/notFinishedCode/dbTest.py
deleted file mode 100644
index c980764..0000000
--- a/notFinishedCode/dbTest.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import dbClass
-user = 'root'
-passw = 'randompasswordSQL'
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-x = dbClass.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", x.connectDB()
-print "do i have anything to do", x.anyTasksToDo()
-
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-print 'i am inserting into the table something', x.insertTaskIn2('gsm4','sip8',2)
-for index in range(len(x.tasksList)):
- item = x.tasksList[index]
- tempItem = item
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- testDone = item[4]
- print "call from to ", taskID , callFrom , callTo, taskNo, testDone
- if testDone == str(0):
- print item[0]
- tempItem[4]=str(1)
- print "delete a task from temp table", x.deleteTempTask(taskID)
- x.tasksList[index]=tempItem
- #del x.tasksList[index-1]
-print '\n\n\n\n'
-#new task to do
-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-#just made for Tri :)---------------------------------------------------------------
-#print x.cleanTasksList()
-#print "do i have any task from SIP1 to GSM1 to do", x.anyTasksFromTo('SIP2', 'GSMu1', 2)
-#for item in x.tasksList:
-# taskID = item[0]
-# callFrom = item[1]
-# callTo = item[2]
-# print "call from to ", taskID , callFrom , callTo
-#-----------------------------------------------------------------------------------
-#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
-for item in x.tasksList[:]:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
- testDone = item[4]
- print "call from to ", taskID , callFrom , callTo, taskNo, testDone
-print "close connection to the DB", x.closeDBConn()
-
-del x
diff --git a/notFinishedCode/gsmselftesting.sql b/notFinishedCode/gsmselftesting.sql
deleted file mode 100644
index acd1be9..0000000
--- a/notFinishedCode/gsmselftesting.sql
+++ /dev/null
@@ -1,134 +0,0 @@
--- phpMyAdmin SQL Dump
--- version 3.3.10deb1
--- http://www.phpmyadmin.net
---
--- Host: localhost
--- Generation Time: Jul 26, 2011 at 03:04 PM
--- Server version: 5.1.54
--- PHP Version: 5.3.5-1ubuntu7.2
-
-SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
---
--- Database: `gsmselftesting`
---
-
--- --------------------------------------------------------
-
---
--- Table structure for table `DeviceAddressTable`
---
-
-CREATE TABLE IF NOT EXISTS `DeviceAddressTable` (
- `deviceName` varchar(10) NOT NULL,
- `deviceIP` varchar(60) NOT NULL,
- `number` varchar(20) NOT NULL,
- `lastChange` datetime NOT NULL,
- PRIMARY KEY (`deviceName`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `DeviceAddressTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `ErrorCodeTable`
---
-
-CREATE TABLE IF NOT EXISTS `ErrorCodeTable` (
- `errorcode` int(4) NOT NULL,
- `description` varchar(100) NOT NULL,
- PRIMARY KEY (`errorcode`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ErrorCodeTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `PingResultTable`
---
-
-CREATE TABLE IF NOT EXISTS `PingResultTable` (
- `taskNo` int(11) NOT NULL,
- `sipServer` int(3) NOT NULL,
- `sipGate` int(3) NOT NULL,
- `sipLoc` int(3) NOT NULL,
- `gsmBox1` int(3) NOT NULL,
- `gsmBox2` int(3) NOT NULL,
- PRIMARY KEY (`taskNo`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `PingResultTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `ResultTable`
---
-
-CREATE TABLE IF NOT EXISTS `ResultTable` (
- `taskID` int(11) NOT NULL,
- `result` int(3) NOT NULL,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `ResultTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `TaskTable`
---
-
-CREATE TABLE IF NOT EXISTS `TaskTable` (
- `taskID` int(11) NOT NULL AUTO_INCREMENT,
- `taskNo` int(11) NOT NULL,
- `from` varchar(10) NOT NULL,
- `to` varchar(10) NOT NULL,
- `status` int(2) NOT NULL,
- `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
-
---
--- Dumping data for table `TaskTable`
---
-
-
--- --------------------------------------------------------
-
---
--- Table structure for table `TempTaskTable`
---
-
-CREATE TABLE IF NOT EXISTS `TempTaskTable` (
- `taskID` int(11) NOT NULL,
- `taskNo` int(11) NOT NULL,
- `from` varchar(10) NOT NULL,
- `to` varchar(10) NOT NULL,
- PRIMARY KEY (`taskID`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-
---
--- Dumping data for table `TempTaskTable`
---
-
diff --git a/notFinishedCode/handler.log b/notFinishedCode/handler.log
deleted file mode 100644
index 5b3d15c..0000000
--- a/notFinishedCode/handler.log
+++ /dev/null
@@ -1,933 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-07-25 09:54:27.700436 ------------------
-On: 2011-07-25 09:54:27.700479 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:54:41.129069 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56085)
-On: 2011-07-25 09:54:41.131507 Event: other appeared
-On: 2011-07-25 09:54:41.131715 Event: other appeared
-On: 2011-07-25 09:54:41.131852 Event: other appeared
-On: 2011-07-25 09:54:41.131976 Event: other appeared
-On: 2011-07-25 09:54:41.263723 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:55:39.876305 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56111)
-On: 2011-07-25 09:55:39.876406 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:55:39.893228 Event: CALLER READY SENT
-On: 2011-07-25 09:55:44.535022 Event: CALLER STATUS SENT
-On: 2011-07-25 09:55:44.535170 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:55:44.667716 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:12.359336 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56114)
-On: 2011-07-25 09:57:12.359614 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:12.373833 Event: CALLER READY SENT
-On: 2011-07-25 09:57:15.903042 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:15.903185 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:16.035484 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:19.032294 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56347)
-On: 2011-07-25 09:57:19.032555 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:19.044929 Event: CALLER READY SENT
-On: 2011-07-25 09:57:22.591147 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:22.591246 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:22.723652 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:25.720185 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56617)
-On: 2011-07-25 09:57:25.720465 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:25.731199 Event: CALLER READY SENT
-On: 2011-07-25 09:57:29.807017 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:29.807165 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:29.939746 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:32.928309 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56850)
-On: 2011-07-25 09:57:32.928560 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:32.939380 Event: CALLER READY SENT
-On: 2011-07-25 09:57:41.767025 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:41.767136 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:41.899645 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:44.776110 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56862)
-On: 2011-07-25 09:57:44.776374 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:44.787079 Event: CALLER READY SENT
-On: 2011-07-25 09:57:48.331031 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:48.331177 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:48.463485 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:51.456198 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57120)
-On: 2011-07-25 09:57:51.456465 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:51.467032 Event: CALLER READY SENT
-On: 2011-07-25 09:57:56.043026 Event: CALLER STATUS SENT
-On: 2011-07-25 09:57:56.043146 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:57:56.175688 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:57:59.168136 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59108)
-On: 2011-07-25 09:57:59.168568 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:57:59.179226 Event: CALLER READY SENT
-On: 2011-07-25 09:58:02.771013 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:02.771132 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:02.903629 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:05.904280 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59362)
-On: 2011-07-25 09:58:05.904538 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:05.915255 Event: CALLER READY SENT
-On: 2011-07-25 09:58:09.439023 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:09.439138 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:09.571565 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:12.592045 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59646)
-On: 2011-07-25 09:58:12.592319 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:12.603168 Event: CALLER READY SENT
-On: 2011-07-25 09:58:16.195016 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:16.195135 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:16.327654 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:19.344225 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59930)
-On: 2011-07-25 09:58:19.344480 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:19.354851 Event: CALLER READY SENT
-On: 2011-07-25 09:58:22.955018 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:22.955134 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:23.087611 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:26.088307 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60196)
-On: 2011-07-25 09:58:26.088559 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:26.099235 Event: CALLER READY SENT
-On: 2011-07-25 09:58:29.675019 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:29.675157 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:29.807693 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:32.800256 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60424)
-On: 2011-07-25 09:58:32.800518 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:32.811122 Event: CALLER READY SENT
-On: 2011-07-25 09:58:37.495020 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:37.495142 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:58:37.627653 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:58:40.624288 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60672)
-On: 2011-07-25 09:58:40.624816 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:58:40.634948 Event: CALLER READY SENT
-On: 2011-07-25 09:58:45.843042 Event: CALLER STATUS SENT
-On: 2011-07-25 09:58:45.843122 Event: other appeared
-On: 2011-07-25 09:58:45.975734 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:59:09.191504 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60674)
-On: 2011-07-25 09:59:09.191704 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:59:09.202494 Event: CALLER READY SENT
-On: 2011-07-25 09:59:13.799014 Event: CALLER STATUS SENT
-On: 2011-07-25 09:59:13.799131 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:59:13.931734 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 09:59:16.928201 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60926)
-On: 2011-07-25 09:59:16.928454 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 09:59:16.938911 Event: CALLER READY SENT
-On: 2011-07-25 09:59:20.459031 Event: CALLER STATUS SENT
-On: 2011-07-25 09:59:20.459144 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 09:59:20.591607 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:03.639259 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 32998)
-On: 2011-07-25 10:00:03.639347 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:03.650089 Event: CALLER READY SENT
-On: 2011-07-25 10:00:07.239024 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:07.239195 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:07.371677 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:10.376231 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33276)
-On: 2011-07-25 10:00:10.376483 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:10.386958 Event: CALLER READY SENT
-On: 2011-07-25 10:00:15.059021 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:15.059168 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:15.191588 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:18.192253 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33557)
-On: 2011-07-25 10:00:18.192511 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:18.203090 Event: CALLER READY SENT
-On: 2011-07-25 10:00:21.747040 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:21.747150 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:21.879375 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:24.872159 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33865)
-On: 2011-07-25 10:00:24.872412 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:24.882881 Event: CALLER READY SENT
-On: 2011-07-25 10:00:28.455012 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:28.455132 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:28.587744 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:31.600232 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34177)
-On: 2011-07-25 10:00:31.600515 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:31.611038 Event: CALLER READY SENT
-On: 2011-07-25 10:00:36.279018 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:36.279175 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:36.411606 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:39.432193 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34488)
-On: 2011-07-25 10:00:39.432446 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:39.443020 Event: CALLER READY SENT
-On: 2011-07-25 10:00:42.987032 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:42.987148 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:43.119732 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:46.120248 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34750)
-On: 2011-07-25 10:00:46.120506 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:46.131029 Event: CALLER READY SENT
-On: 2011-07-25 10:00:49.675026 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:49.675415 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:49.807519 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:00:52.832223 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35076)
-On: 2011-07-25 10:00:52.832478 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:00:52.843314 Event: CALLER READY SENT
-On: 2011-07-25 10:00:56.983043 Event: CALLER STATUS SENT
-On: 2011-07-25 10:00:56.983262 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:00:57.115712 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:00.144877 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35398)
-On: 2011-07-25 10:01:00.145190 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:00.155184 Event: CALLER READY SENT
-On: 2011-07-25 10:01:03.751024 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:03.751228 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:03.883702 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:06.760154 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35400)
-On: 2011-07-25 10:01:06.760439 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:06.771200 Event: CALLER READY SENT
-On: 2011-07-25 10:01:10.375026 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:10.375172 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:10.507671 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:13.512260 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35672)
-On: 2011-07-25 10:01:13.512520 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:13.523430 Event: CALLER READY SENT
-On: 2011-07-25 10:01:17.131156 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:17.131251 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:17.263722 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:20.264169 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35944)
-On: 2011-07-25 10:01:20.264425 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:20.274911 Event: CALLER READY SENT
-On: 2011-07-25 10:01:23.815027 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:23.815173 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:23.947692 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:26.944218 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36252)
-On: 2011-07-25 10:01:26.944499 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:26.953616 Event: CALLER READY SENT
-On: 2011-07-25 10:01:31.523015 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:31.523124 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:31.655898 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:01:34.648087 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36513)
-On: 2011-07-25 10:01:34.648346 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:01:34.658785 Event: CALLER READY SENT
-On: 2011-07-25 10:01:38.271027 Event: CALLER STATUS SENT
-On: 2011-07-25 10:01:38.271177 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:01:38.403743 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:07:15.743964 ------------------
-On: 2011-07-25 10:07:15.744110 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:07:18.588096 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55130)
-On: 2011-07-25 10:07:18.588188 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:07:18.600341 Event: CALLER READY SENT
-On: 2011-07-25 10:07:23.371041 Event: CALLER STATUS SENT
-On: 2011-07-25 10:07:23.371323 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:07:23.503727 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:07:26.504076 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55418)
-On: 2011-07-25 10:07:26.504502 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:07:26.516372 Event: CALLER READY SENT
-On: 2011-07-25 10:07:30.091039 Event: CALLER STATUS SENT
-On: 2011-07-25 10:07:30.091150 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:07:30.223758 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:07:33.216247 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55678)
-On: 2011-07-25 10:07:33.216512 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:07:33.227442 Event: CALLER READY SENT
-On: 2011-07-25 10:07:36.855028 Event: CALLER STATUS SENT
-On: 2011-07-25 10:07:36.855106 Event: other appeared
-On: 2011-07-25 10:07:36.987729 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:08:12.648729 ------------------
-On: 2011-07-25 10:08:12.648866 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:18.696932 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41602)
-On: 2011-07-25 10:08:18.697018 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:18.709386 Event: CALLER READY SENT
-On: 2011-07-25 10:08:22.891045 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:22.891177 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:23.023630 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:26.024269 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41870)
-On: 2011-07-25 10:08:26.024536 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:26.036648 Event: CALLER READY SENT
-On: 2011-07-25 10:08:30.731024 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:30.731177 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:30.863734 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:33.888276 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42208)
-On: 2011-07-25 10:08:33.888526 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:33.900703 Event: CALLER READY SENT
-On: 2011-07-25 10:08:37.475022 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:37.475137 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:37.607681 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:40.608465 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42484)
-On: 2011-07-25 10:08:40.608714 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:40.619808 Event: CALLER READY SENT
-On: 2011-07-25 10:08:44.139025 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:44.139167 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:44.271496 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:47.264307 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42743)
-On: 2011-07-25 10:08:47.264557 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:47.275506 Event: CALLER READY SENT
-On: 2011-07-25 10:08:50.823034 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:50.823158 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:50.955695 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:08:53.952267 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43013)
-On: 2011-07-25 10:08:53.952518 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:08:53.963485 Event: CALLER READY SENT
-On: 2011-07-25 10:08:57.559023 Event: CALLER STATUS SENT
-On: 2011-07-25 10:08:57.559448 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:08:57.691815 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:12:26.893240 ------------------
-On: 2011-07-25 10:12:26.893400 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:12:33.022476 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43336)
-On: 2011-07-25 10:12:33.022563 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:12:33.034903 Event: CALLER READY SENT
-On: 2011-07-25 10:12:36.551019 Event: CALLER STATUS SENT
-On: 2011-07-25 10:12:36.551142 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:12:36.551182 Event: other appeared
-On: 2011-07-25 10:12:36.683623 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:12:39.568121 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43346)
-On: 2011-07-25 10:12:39.568371 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:12:39.580707 Event: CALLER READY SENT
-On: 2011-07-25 10:12:43.171032 Event: CALLER STATUS SENT
-On: 2011-07-25 10:12:43.171142 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:12:43.171185 Event: other appeared
-On: 2011-07-25 10:12:43.303673 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:12:46.192190 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43357)
-On: 2011-07-25 10:12:46.192433 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:12:46.204904 Event: CALLER READY SENT
-On: 2011-07-25 10:12:55.039017 Event: CALLER STATUS SENT
-On: 2011-07-25 10:12:55.039139 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:12:55.039199 Event: other appeared
-On: 2011-07-25 10:12:55.171713 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:12:58.048107 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57534)
-On: 2011-07-25 10:12:58.048367 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:12:58.060537 Event: CALLER READY SENT
-On: 2011-07-25 10:13:01.695045 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:01.695162 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:01.695205 Event: other appeared
-On: 2011-07-25 10:13:01.827657 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:04.712288 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57545)
-On: 2011-07-25 10:13:04.712836 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:04.723591 Event: CALLER READY SENT
-On: 2011-07-25 10:13:08.267018 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:08.267419 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:08.267468 Event: other appeared
-On: 2011-07-25 10:13:08.399730 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:11.280271 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57555)
-On: 2011-07-25 10:13:11.280513 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:11.291693 Event: CALLER READY SENT
-On: 2011-07-25 10:13:14.807019 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:14.807137 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:14.807182 Event: other appeared
-On: 2011-07-25 10:13:14.939730 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:17.824281 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57576)
-On: 2011-07-25 10:13:17.824522 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:17.835704 Event: CALLER READY SENT
-On: 2011-07-25 10:13:22.507020 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:22.507445 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:22.507492 Event: other appeared
-On: 2011-07-25 10:13:22.639442 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:25.520156 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57596)
-On: 2011-07-25 10:13:25.520426 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:25.531549 Event: CALLER READY SENT
-On: 2011-07-25 10:13:29.687021 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:29.734058 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:29.734243 Event: other appeared
-On: 2011-07-25 10:13:29.863746 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:32.752185 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57617)
-On: 2011-07-25 10:13:32.752688 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:32.762263 Event: CALLER READY SENT
-On: 2011-07-25 10:13:36.355013 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:36.355145 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:13:36.355195 Event: other appeared
-On: 2011-07-25 10:13:36.487700 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:13:39.368321 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57627)
-On: 2011-07-25 10:13:39.368867 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:13:39.378466 Event: CALLER READY SENT
-On: 2011-07-25 10:13:42.951017 Event: CALLER STATUS SENT
-On: 2011-07-25 10:13:42.951097 Event: other appeared
-On: 2011-07-25 10:13:42.951120 Event: other appeared
-On: 2011-07-25 10:13:43.083752 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:15:12.025646 ------------------
-On: 2011-07-25 10:15:12.025782 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:15:17.401765 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57634)
-On: 2011-07-25 10:15:17.401866 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:15:17.413943 Event: CALLER READY SENT
-On: 2011-07-25 10:15:20.999026 Event: CALLER STATUS SENT
-On: 2011-07-25 10:15:20.999156 Event: TERMINATED THE CONNECTION AFTER TEST
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:19:37.525033 ------------------
-On: 2011-07-25 10:19:37.525166 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:19:47.196167 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58564)
-On: 2011-07-25 10:19:47.196271 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:19:47.210025 Event: CALLER READY SENT
-On: 2011-07-25 10:19:51.567034 Event: CALLER STATUS SENT
-On: 2011-07-25 10:19:51.567163 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:19:51.567207 Event: other appeared
-On: 2011-07-25 10:19:51.567230 Event: other appeared
-On: 2011-07-25 10:19:51.567250 Event: other appeared
-On: 2011-07-25 10:19:51.567269 Event: other appeared
-On: 2011-07-25 10:19:51.699579 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:19:54.584233 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58574)
-On: 2011-07-25 10:19:54.584482 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:19:54.597233 Event: CALLER READY SENT
-On: 2011-07-25 10:19:59.275016 Event: CALLER STATUS SENT
-On: 2011-07-25 10:19:59.275132 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:19:59.275179 Event: other appeared
-On: 2011-07-25 10:19:59.275201 Event: other appeared
-On: 2011-07-25 10:19:59.275220 Event: other appeared
-On: 2011-07-25 10:19:59.275239 Event: other appeared
-On: 2011-07-25 10:19:59.407625 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:02.296205 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58584)
-On: 2011-07-25 10:20:02.296447 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:02.307921 Event: CALLER READY SENT
-On: 2011-07-25 10:20:05.879036 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:05.879150 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:05.879193 Event: other appeared
-On: 2011-07-25 10:20:05.879214 Event: other appeared
-On: 2011-07-25 10:20:05.879232 Event: other appeared
-On: 2011-07-25 10:20:05.879250 Event: other appeared
-On: 2011-07-25 10:20:06.011706 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:08.896305 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58594)
-On: 2011-07-25 10:20:08.896558 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:08.906941 Event: CALLER READY SENT
-On: 2011-07-25 10:20:12.455021 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:12.455445 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:12.455491 Event: other appeared
-On: 2011-07-25 10:20:12.455512 Event: other appeared
-On: 2011-07-25 10:20:12.455530 Event: other appeared
-On: 2011-07-25 10:20:12.455548 Event: other appeared
-On: 2011-07-25 10:20:12.587526 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:15.472257 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58604)
-On: 2011-07-25 10:20:15.472506 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:15.483189 Event: CALLER READY SENT
-On: 2011-07-25 10:20:20.063017 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:20.063125 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:20.063169 Event: other appeared
-On: 2011-07-25 10:20:20.063190 Event: other appeared
-On: 2011-07-25 10:20:20.063208 Event: other appeared
-On: 2011-07-25 10:20:20.063225 Event: other appeared
-On: 2011-07-25 10:20:20.196788 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:23.080269 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58614)
-On: 2011-07-25 10:20:23.080517 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:23.091146 Event: CALLER READY SENT
-On: 2011-07-25 10:20:26.611029 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:26.611444 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:26.611494 Event: other appeared
-On: 2011-07-25 10:20:26.611516 Event: other appeared
-On: 2011-07-25 10:20:26.611543 Event: other appeared
-On: 2011-07-25 10:20:26.611560 Event: other appeared
-On: 2011-07-25 10:20:26.743577 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:29.624240 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58624)
-On: 2011-07-25 10:20:29.624538 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:29.634716 Event: CALLER READY SENT
-On: 2011-07-25 10:20:34.287034 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:34.287153 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:34.287197 Event: other appeared
-On: 2011-07-25 10:20:34.287217 Event: other appeared
-On: 2011-07-25 10:20:34.287236 Event: other appeared
-On: 2011-07-25 10:20:34.287253 Event: other appeared
-On: 2011-07-25 10:20:34.419660 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:37.304233 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58634)
-On: 2011-07-25 10:20:37.304485 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:37.315090 Event: CALLER READY SENT
-On: 2011-07-25 10:20:40.919046 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:40.919193 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:40.919236 Event: other appeared
-On: 2011-07-25 10:20:40.919257 Event: other appeared
-On: 2011-07-25 10:20:40.919275 Event: other appeared
-On: 2011-07-25 10:20:40.919292 Event: other appeared
-On: 2011-07-25 10:20:41.051726 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:20:43.936309 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58644)
-On: 2011-07-25 10:20:43.936553 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:20:43.947350 Event: CALLER READY SENT
-On: 2011-07-25 10:20:48.567025 Event: CALLER STATUS SENT
-On: 2011-07-25 10:20:48.567180 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:20:48.567224 Event: other appeared
-On: 2011-07-25 10:20:48.567245 Event: other appeared
-On: 2011-07-25 10:20:48.567263 Event: other appeared
-On: 2011-07-25 10:20:48.567281 Event: other appeared
-On: 2011-07-25 10:20:48.699685 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:24:40.021812 ------------------
-On: 2011-07-25 10:24:40.021959 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:24:46.053415 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53195)
-On: 2011-07-25 10:24:46.053510 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:24:46.066398 Event: CALLER READY SENT
-On: 2011-07-25 10:24:50.819046 Event: CALLER STATUS SENT
-On: 2011-07-25 10:24:50.819174 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:24:50.819219 Event: other appeared
-On: 2011-07-25 10:24:50.819242 Event: other appeared
-On: 2011-07-25 10:24:50.819262 Event: other appeared
-On: 2011-07-25 10:24:50.819281 Event: other appeared
-On: 2011-07-25 10:24:50.951694 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:24:53.840209 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53205)
-On: 2011-07-25 10:24:53.840460 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:24:53.852670 Event: CALLER READY SENT
-On: 2011-07-25 10:24:57.975017 Event: CALLER STATUS SENT
-On: 2011-07-25 10:24:57.975140 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:24:57.975184 Event: other appeared
-On: 2011-07-25 10:24:57.975205 Event: other appeared
-On: 2011-07-25 10:24:57.975224 Event: other appeared
-On: 2011-07-25 10:24:57.975242 Event: other appeared
-On: 2011-07-25 10:24:58.107767 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:00.992190 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53215)
-On: 2011-07-25 10:25:00.992629 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:01.003982 Event: CALLER READY SENT
-On: 2011-07-25 10:25:04.579029 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:04.579145 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:25:04.579191 Event: other appeared
-On: 2011-07-25 10:25:04.579214 Event: other appeared
-On: 2011-07-25 10:25:04.579234 Event: other appeared
-On: 2011-07-25 10:25:04.579253 Event: other appeared
-On: 2011-07-25 10:25:04.711715 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:08.015657 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53226)
-On: 2011-07-25 10:25:08.015963 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:08.026092 Event: CALLER READY SENT
-On: 2011-07-25 10:25:11.659162 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:11.659290 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:25:11.659337 Event: other appeared
-On: 2011-07-25 10:25:11.659359 Event: other appeared
-On: 2011-07-25 10:25:11.659379 Event: other appeared
-On: 2011-07-25 10:25:11.659398 Event: other appeared
-On: 2011-07-25 10:25:11.791685 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:16.066310 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53244)
-On: 2011-07-25 10:25:16.066414 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:16.077363 Event: CALLER READY SENT
-On: 2011-07-25 10:25:19.599027 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:19.599104 Event: other appeared
-On: 2011-07-25 10:25:19.599128 Event: other appeared
-On: 2011-07-25 10:25:19.599147 Event: other appeared
-On: 2011-07-25 10:25:19.599165 Event: other appeared
-On: 2011-07-25 10:25:19.731761 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:24.418143 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53250)
-On: 2011-07-25 10:25:24.418308 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:24.428809 Event: CALLER READY SENT
-On: 2011-07-25 10:25:27.975021 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:27.975144 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:25:27.975190 Event: other appeared
-On: 2011-07-25 10:25:27.975213 Event: other appeared
-On: 2011-07-25 10:25:27.975233 Event: other appeared
-On: 2011-07-25 10:25:27.975253 Event: other appeared
-On: 2011-07-25 10:25:28.107694 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:30.992193 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53264)
-On: 2011-07-25 10:25:30.992437 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:31.002684 Event: CALLER READY SENT
-On: 2011-07-25 10:25:35.679037 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:35.679163 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:25:35.679217 Event: other appeared
-On: 2011-07-25 10:25:35.679239 Event: other appeared
-On: 2011-07-25 10:25:35.679258 Event: other appeared
-On: 2011-07-25 10:25:35.679276 Event: other appeared
-On: 2011-07-25 10:25:35.811693 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:25:37.595701 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53281)
-On: 2011-07-25 10:25:37.595798 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:25:37.606205 Event: CALLER READY SENT
-On: 2011-07-25 10:25:41.239028 Event: CALLER STATUS SENT
-On: 2011-07-25 10:25:41.239146 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:25:41.239193 Event: other appeared
-On: 2011-07-25 10:25:41.239216 Event: other appeared
-On: 2011-07-25 10:25:41.239236 Event: other appeared
-On: 2011-07-25 10:25:41.239255 Event: other appeared
-On: 2011-07-25 10:25:41.371743 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:35:31.610245 ------------------
-On: 2011-07-25 10:35:31.610396 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:35:42.324838 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47651)
-On: 2011-07-25 10:35:42.325034 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:35:42.337899 Event: CALLER READY SENT
-On: 2011-07-25 10:35:45.959026 Event: CALLER STATUS SENT
-On: 2011-07-25 10:35:45.959159 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:35:46.091674 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:35:49.096396 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47909)
-On: 2011-07-25 10:35:49.096921 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:35:49.109285 Event: CALLER READY SENT
-On: 2011-07-25 10:35:52.659023 Event: CALLER STATUS SENT
-On: 2011-07-25 10:35:52.659143 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:35:52.791473 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:35:55.792347 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48207)
-On: 2011-07-25 10:35:55.792904 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:35:55.805444 Event: CALLER READY SENT
-On: 2011-07-25 10:35:59.379042 Event: CALLER STATUS SENT
-On: 2011-07-25 10:35:59.379256 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:35:59.511722 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:36:02.512244 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48471)
-On: 2011-07-25 10:36:02.512326 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:36:02.524006 Event: CALLER READY SENT
-On: 2011-07-25 10:36:11.931067 Event: CALLER STATUS SENT
-On: 2011-07-25 10:36:11.931185 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:36:12.064400 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:36:14.944218 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48481)
-On: 2011-07-25 10:36:14.944463 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:36:14.955580 Event: CALLER READY SENT
-On: 2011-07-25 10:36:19.587018 Event: CALLER STATUS SENT
-On: 2011-07-25 10:36:19.587135 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:36:19.719724 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:44:49.971583 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52076)
-On: 2011-07-25 10:44:49.971658 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:44:54.971975 Event: other appeared
-On: 2011-07-25 10:44:55.103794 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:44:57.984220 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52086)
-On: 2011-07-25 10:44:57.984481 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:45:02.985857 Event: other appeared
-On: 2011-07-25 10:45:03.116389 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:45:05.992219 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52096)
-On: 2011-07-25 10:45:05.992656 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:45:10.993085 Event: other appeared
-On: 2011-07-25 10:45:11.124294 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:45:42.349737 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52122)
-On: 2011-07-25 10:45:42.349818 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:45:47.350379 Event: other appeared
-On: 2011-07-25 10:45:47.480066 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:46:07.515004 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52138)
-On: 2011-07-25 10:46:07.515177 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:46:07.526104 Event: RECEIVER READY SENT
-On: 2011-07-25 10:46:10.287026 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:46:11.059351 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:46:11.191747 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:46:14.216294 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52508)
-On: 2011-07-25 10:46:14.216562 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:46:14.226853 Event: RECEIVER READY SENT
-On: 2011-07-25 10:46:17.347029 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:46:17.731563 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:46:17.864091 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:46:20.864223 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52760)
-On: 2011-07-25 10:46:20.864304 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:46:20.875322 Event: RECEIVER READY SENT
-On: 2011-07-25 10:46:24.435058 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:46:25.411569 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:46:25.543680 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:46:28.536191 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53022)
-On: 2011-07-25 10:46:28.536438 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:46:28.547329 Event: RECEIVER READY SENT
-On: 2011-07-25 10:46:31.471025 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:46:32.099500 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:46:32.232250 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:46:35.224205 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53238)
-On: 2011-07-25 10:46:35.224459 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:46:35.233716 Event: RECEIVER READY SENT
-On: 2011-07-25 10:46:38.527047 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:46:38.763784 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:46:38.895950 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:53:33.146804 ------------------
-On: 2011-07-25 10:53:33.146925 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:38.063054 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 36661)
-On: 2011-07-25 10:53:38.196386 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:38.239563 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37177)
-On: 2011-07-25 10:53:38.371639 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:38.447586 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37832)
-On: 2011-07-25 10:53:38.579652 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:38.631703 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38366)
-On: 2011-07-25 10:53:38.763624 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:38.815703 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38934)
-On: 2011-07-25 10:53:38.947628 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.019644 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39602)
-On: 2011-07-25 10:53:39.151631 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.203581 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40132)
-On: 2011-07-25 10:53:39.335640 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.383736 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40682)
-On: 2011-07-25 10:53:39.515647 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.587733 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41340)
-On: 2011-07-25 10:53:39.719621 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.771605 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41864)
-On: 2011-07-25 10:53:39.903666 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:39.955317 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42398)
-On: 2011-07-25 10:53:40.089397 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:40.159611 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43040)
-On: 2011-07-25 10:53:40.291627 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:40.343458 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43704)
-On: 2011-07-25 10:53:40.475619 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:40.523747 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44214)
-On: 2011-07-25 10:53:40.655626 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:40.727742 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44864)
-On: 2011-07-25 10:53:40.859616 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:40.911250 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45408)
-On: 2011-07-25 10:53:41.043602 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:41.095726 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45972)
-On: 2011-07-25 10:53:41.227593 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:41.299634 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46638)
-On: 2011-07-25 10:53:41.431614 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:41.483487 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47182)
-On: 2011-07-25 10:53:41.615626 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:41.663788 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47722)
-On: 2011-07-25 10:53:41.795641 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:41.867296 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48376)
-On: 2011-07-25 10:53:41.999615 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:42.047510 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48936)
-On: 2011-07-25 10:53:42.179594 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:42.231640 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49482)
-On: 2011-07-25 10:53:42.363618 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:42.443640 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50162)
-On: 2011-07-25 10:53:42.575624 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:42.623330 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50732)
-On: 2011-07-25 10:53:42.755580 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:42.807655 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51246)
-On: 2011-07-25 10:53:42.939606 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:43.015439 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 51922)
-On: 2011-07-25 10:53:43.147603 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:43.199190 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52422)
-On: 2011-07-25 10:53:43.331731 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:43.379657 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52970)
-On: 2011-07-25 10:53:43.511724 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:43.587229 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53628)
-On: 2011-07-25 10:53:43.719599 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:52.932120 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54001)
-On: 2011-07-25 10:53:52.932272 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:53:52.945158 Event: RECEIVER READY SENT
-On: 2011-07-25 10:53:56.351024 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:53:56.546648 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:53:56.675784 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:53:59.688220 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54299)
-On: 2011-07-25 10:53:59.688463 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:53:59.700776 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:08.291023 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:08.562678 Event: $connection could not be terminated after the test: 3
-On: 2011-07-25 10:54:08.691980 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:11.568218 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54309)
-On: 2011-07-25 10:54:11.568468 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:11.581019 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:15.199031 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:16.172343 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:16.303664 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:19.304206 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54567)
-On: 2011-07-25 10:54:19.304454 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:19.316601 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:22.231030 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:22.867944 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:23.000340 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:26.000259 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54827)
-On: 2011-07-25 10:54:26.000530 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:26.011365 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:29.311032 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:29.516665 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:29.647937 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:32.648127 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55089)
-On: 2011-07-25 10:54:32.648385 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:32.659619 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:36.371042 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:37.227925 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:37.360624 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:40.376192 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55391)
-On: 2011-07-25 10:54:40.376438 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:40.387217 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:43.455016 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:43.891995 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:44.024075 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:47.048222 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55707)
-On: 2011-07-25 10:54:47.048469 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:47.059765 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:50.491022 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:51.665809 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:51.795768 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:54:54.816219 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56014)
-On: 2011-07-25 10:54:54.816464 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:54:54.827336 Event: RECEIVER READY SENT
-On: 2011-07-25 10:54:57.551027 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:54:58.353404 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:54:58.484508 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:55:01.480281 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56272)
-On: 2011-07-25 10:55:01.480699 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:55:01.491323 Event: RECEIVER READY SENT
-On: 2011-07-25 10:55:09.371038 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:55:10.307230 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:55:10.439675 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:55:13.320192 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56282)
-On: 2011-07-25 10:55:13.320454 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:55:13.331420 Event: RECEIVER READY SENT
-On: 2011-07-25 10:55:16.395037 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:55:16.885654 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:55:17.015982 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:55:20.024191 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56586)
-On: 2011-07-25 10:55:20.024447 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:55:20.035668 Event: RECEIVER READY SENT
-On: 2011-07-25 10:55:23.431027 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:55:23.550044 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:55:23.679814 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 10:56:35.582743 ------------------
-On: 2011-07-25 10:56:35.582871 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:56:38.737565 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37025)
-On: 2011-07-25 10:56:38.738130 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:56:38.750238 Event: RECEIVER READY SENT
-On: 2011-07-25 10:56:42.315048 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:56:43.373522 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:56:43.503661 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:56:46.504164 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37275)
-On: 2011-07-25 10:56:46.504421 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:56:46.516755 Event: RECEIVER READY SENT
-On: 2011-07-25 10:56:49.359024 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:56:50.022068 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:56:50.152228 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:56:53.160233 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37540)
-On: 2011-07-25 10:56:53.160492 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:56:53.172863 Event: RECEIVER READY SENT
-On: 2011-07-25 10:56:56.415017 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:56:56.678551 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:56:56.807947 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:56:59.832204 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37878)
-On: 2011-07-25 10:56:59.832447 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:56:59.844259 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:02.311031 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:02.443734 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:05.606888 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37880)
-On: 2011-07-25 10:57:05.607173 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:05.618024 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:09.375024 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:09.507761 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:10.236166 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37884)
-On: 2011-07-25 10:57:10.368355 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:13.384213 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38202)
-On: 2011-07-25 10:57:13.384458 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:13.395211 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:16.451037 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:16.921519 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:57:17.052188 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:20.072416 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38527)
-On: 2011-07-25 10:57:20.072662 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:20.083268 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:23.491029 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:23.623660 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:23.675910 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38647)
-On: 2011-07-25 10:57:23.807771 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:26.784175 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38892)
-On: 2011-07-25 10:57:26.784419 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:26.794620 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:29.379025 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:30.297408 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:57:30.427637 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:33.424186 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39154)
-On: 2011-07-25 10:57:33.424431 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:33.434887 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:36.431035 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:36.938150 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 10:57:37.068164 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 10:57:40.064312 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39431)
-On: 2011-07-25 10:57:40.064645 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 10:57:40.075120 Event: RECEIVER READY SENT
-On: 2011-07-25 10:57:43.515072 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 10:57:43.647770 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 11:04:54.601550 ------------------
-On: 2011-07-25 11:04:54.601689 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:00.360367 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53331)
-On: 2011-07-25 11:05:00.360464 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:00.371750 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:04.159023 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:04.940637 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:05:05.072363 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:08.072290 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53579)
-On: 2011-07-25 11:05:08.072824 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:08.083196 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:10.755041 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:11.589027 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:05:11.720396 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:14.744157 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53895)
-On: 2011-07-25 11:05:14.744423 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:14.755270 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:17.795042 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:18.284906 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:05:18.416148 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:21.416153 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54165)
-On: 2011-07-25 11:05:21.416452 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:21.427260 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:24.855041 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:24.987843 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:38.149374 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54177)
-On: 2011-07-25 11:05:38.149687 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:38.160211 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:41.795035 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:42.731398 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:05:42.863691 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:05:45.856246 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54427)
-On: 2011-07-25 11:05:45.856488 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:05:45.867225 Event: RECEIVER READY SENT
-On: 2011-07-25 11:05:48.391038 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:05:49.372119 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:05:49.503647 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:10:45.325520 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33465)
-On: 2011-07-25 11:10:45.325604 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:10:45.336612 Event: RECEIVER READY SENT
-On: 2011-07-25 11:10:48.515025 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:10:48.860236 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:10:48.992043 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:10:51.992220 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33729)
-On: 2011-07-25 11:10:51.992638 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:10:52.003475 Event: RECEIVER READY SENT
-On: 2011-07-25 11:10:55.579043 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:10:56.516693 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:10:56.647476 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:10:59.664303 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34041)
-On: 2011-07-25 11:10:59.664597 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:10:59.675161 Event: RECEIVER READY SENT
-On: 2011-07-25 11:11:02.659094 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:11:02.915780 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:11:10.868162 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34043)
-On: 2011-07-25 11:11:10.868286 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:11:10.877516 Event: RECEIVER READY SENT
-On: 2011-07-25 11:11:14.419035 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:11:14.551770 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:11:18.131279 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34045)
-On: 2011-07-25 11:11:18.131541 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:11:18.142183 Event: RECEIVER READY SENT
-On: 2011-07-25 11:11:21.459018 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:11:21.650423 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:11:21.779805 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:11:26.509951 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34402)
-On: 2011-07-25 11:11:26.510042 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:11:26.520547 Event: RECEIVER READY SENT
-On: 2011-07-25 11:11:29.723020 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:11:29.855913 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:16:30.698262 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48670)
-On: 2011-07-25 11:16:30.698524 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:16:30.709595 Event: RECEIVER READY SENT
-On: 2011-07-25 11:16:33.343021 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:16:34.208916 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:16:34.340623 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:16:37.336284 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48906)
-On: 2011-07-25 11:16:37.336525 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:16:37.347207 Event: RECEIVER READY SENT
-On: 2011-07-25 11:16:40.415044 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:16:40.904954 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:16:41.036062 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:16:44.032231 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49140)
-On: 2011-07-25 11:16:44.032476 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:16:44.043258 Event: RECEIVER READY SENT
-On: 2011-07-25 11:16:47.475051 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:16:47.607759 Event: LISTEN ON PORT: 50008
-
-
-------------------STARTED THE LOGGING 2011-07-25 11:47:51.530448 ------------------
-On: 2011-07-25 11:47:51.530577 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:47:57.900900 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54627)
-On: 2011-07-25 11:47:57.901246 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:47:57.911578 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:01.175020 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:01.414866 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:01.547922 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:04.544165 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54905)
-On: 2011-07-25 11:48:04.544407 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:04.555390 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:07.055035 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:08.086678 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:08.215717 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:11.248252 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55201)
-On: 2011-07-25 11:48:11.248499 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:11.259345 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:14.095028 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:14.813695 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:14.944424 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:17.968342 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41331)
-On: 2011-07-25 11:48:17.968591 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:17.979488 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:21.155017 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:21.477980 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:21.607875 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:24.608252 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41589)
-On: 2011-07-25 11:48:24.608499 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:24.619483 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:28.239041 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:29.236060 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:29.367692 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:32.368276 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41849)
-On: 2011-07-25 11:48:32.368522 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:32.379212 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:35.275033 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:35.884411 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:36.016537 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:39.016299 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42115)
-On: 2011-07-25 11:48:39.016542 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:39.027908 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:42.331024 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:42.580363 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:42.712036 Event: LISTEN ON PORT: 50008
-On: 2011-07-25 11:48:45.712196 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42365)
-On: 2011-07-25 11:48:45.712443 Event: TALK INITIALIZATION SENT
-On: 2011-07-25 11:48:45.723237 Event: RECEIVER READY SENT
-On: 2011-07-25 11:48:49.415017 Event: RECEIVE STATUS REPORTED
-On: 2011-07-25 11:48:50.283534 Event: TERMINATED THE CONNECTION AFTER TEST
-On: 2011-07-25 11:48:50.416441 Event: LISTEN ON PORT: 50008
diff --git a/notFinishedCode/pChart2.1.2/GPLv3.txt b/notFinishedCode/pChart2.1.2/GPLv3.txt
deleted file mode 100644
index f2d137d..0000000
--- a/notFinishedCode/pChart2.1.2/GPLv3.txt
+++ /dev/null
@@ -1,675 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
diff --git a/notFinishedCode/pChart2.1.2/change.log b/notFinishedCode/pChart2.1.2/change.log
deleted file mode 100644
index 68382e1..0000000
--- a/notFinishedCode/pChart2.1.2/change.log
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/class/pBarcode128.class.php b/notFinishedCode/pChart2.1.2/class/pBarcode128.class.php
deleted file mode 100644
index 07f5db8..0000000
--- a/notFinishedCode/pChart2.1.2/class/pBarcode128.class.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
- /*
- pBarcode128 - class to create barcodes (128B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode128
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
-
- /* Class creator */
- function pBarcode128($BasePath="")
- {
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/128B.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."128B.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[1]]["ID"] = $Values[0];
- $this->Codes[$Values[1]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Asc"] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode128($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- function encode128($Value,$Format="")
- {
- $this->Result = "11010010000";
- $this->CRC = 104;
- $TextString = "";
-
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( isset($this->Codes[$CharCode]) )
- {
- $this->Result = $this->Result.$this->Codes[$CharCode]["Code"];
- $this->CRC = $this->CRC + $i*$this->Codes[$CharCode]["ID"];
- $TextString = $TextString.chr($CharCode);
- }
- }
- $this->CRC = $this->CRC - floor($this->CRC/103)*103;
-
- $this->Result = $this->Result.$this->Reverse[$this->CRC]["Code"];
- $this->Result = $this->Result."1100011101011";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode128($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pBarcode39.class.php b/notFinishedCode/pChart2.1.2/class/pBarcode39.class.php
deleted file mode 100644
index 8d57b71..0000000
--- a/notFinishedCode/pChart2.1.2/class/pBarcode39.class.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
- /*
- pBarcode39 - class to create barcodes (39B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode39
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
- var $MOD43;
-
- /* Class creator */
- function pBarcode39($BasePath="",$EnableMOD43=FALSE)
- {
- $this->MOD43 = $EnableMOD43;
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/39.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."data/39.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[0]] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode39($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- /* Create the encoded string */
- function encode39($Value)
- {
- $this->Result = "100101101101"."0";
- $TextString = "";
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( $CharCode >= 97 && $CharCode <= 122 ) { $CharCode = $CharCode - 32; }
-
- if ( isset($this->Codes[chr($CharCode)]) )
- {
- $this->Result = $this->Result.$this->Codes[chr($CharCode)]."0";
- $TextString = $TextString.chr($CharCode);
- }
- }
-
- if ( $this->MOD43 )
- {
- $Checksum = $this->checksum($TextString);
- $this->Result = $this->Result.$this->Codes[$Checksum]."0";
- }
-
- $this->Result = $this->Result."100101101101";
- $TextString = "*".$TextString."*";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode39($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function checksum( $string )
- {
- $checksum = 0;
- $length = strlen( $string );
- $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';
-
- for( $i=0; $i < $length; ++$i )
- $checksum += strpos( $charset, $string[$i] );
-
- return substr( $charset, ($checksum % 43), 1 );
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pBubble.class.php b/notFinishedCode/pChart2.1.2/class/pBubble.class.php
deleted file mode 100644
index 483a1f3..0000000
--- a/notFinishedCode/pChart2.1.2/class/pBubble.class.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
- /*
- pBubble - class to draw bubble charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pBubble class definition */
- class pBubble
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pBubble($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function bubbleScale($DataSeries,$WeightSeries)
- {
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- /* Parse each data series to find the new min & max boundaries to scale */
- $NewPositiveSerie = ""; $NewNegativeSerie = ""; $MaxValues = 0; $LastPositive = 0; $LastNegative = 0;
- foreach($DataSeries as $Key => $SerieName)
- {
- $SerieWeightName = $WeightSeries[$Key];
-
- $this->pDataObject->setSerieDrawable($SerieWeightName,FALSE);
-
- if ( count($this->pDataObject->Data["Series"][$SerieName]["Data"]) > $MaxValues ) { $MaxValues = count($this->pDataObject->Data["Series"][$SerieName]["Data"]); }
-
- foreach($this->pDataObject->Data["Series"][$SerieName]["Data"] as $Key => $Value)
- {
- if ( $Value >= 0 )
- {
- $BubbleBounds = $Value + $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewPositiveSerie[$Key]) )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
- elseif ( $NewPositiveSerie[$Key] < $BubbleBounds )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
-
- $LastPositive = $BubbleBounds;
- }
- else
- {
- $BubbleBounds = $Value - $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewNegativeSerie[$Key]) )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
- elseif ( $NewNegativeSerie[$Key] > $BubbleBounds )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
-
- $LastNegative = $BubbleBounds;
- }
- }
- }
-
- /* Check for missing values and all the fake positive serie */
- if ( $NewPositiveSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewPositiveSerie[$i])) { $NewPositiveSerie[$i] = $LastPositive; } }
-
- $this->pDataObject->addPoints($NewPositiveSerie,"BubbleFakePositiveSerie");
- }
-
- /* Check for missing values and all the fake negative serie */
- if ( $NewNegativeSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewNegativeSerie[$i])) { $NewNegativeSerie[$i] = $LastNegative; } }
-
- $this->pDataObject->addPoints($NewNegativeSerie,"BubbleFakeNegativeSerie");
- }
- }
-
- function resetSeriesColors()
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $ID = 0;
- foreach($Data["Series"] as $SerieName => $SeriesParameters)
- {
- if ( $SeriesParameters["isDrawable"] )
- {
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["R"] = $Palette[$ID]["R"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["G"] = $Palette[$ID]["G"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["B"] = $Palette[$ID]["B"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["Alpha"] = $Palette[$ID]["Alpha"];
- $ID++;
- }
- }
- }
-
- /* Prepare the scale */
- function drawBubbleChart($DataSeries,$WeightSeries,$Format="")
- {
- $ForceAlpha = isset($Format["ForceAlpha"]) ? $Format["ForceAlpha"] : VOID;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $DrawSquare = isset($Format["DrawSquare"]) ? $Format["DrawSquare"] : FALSE;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( isset($Data["Series"]["BubbleFakePositiveSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakePositiveSerie",FALSE); }
- if ( isset($Data["Series"]["BubbleFakeNegativeSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakeNegativeSerie",FALSE); }
-
- $this->resetSeriesColors();
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- foreach($DataSeries as $Key => $SerieName)
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Data["Series"][$SerieName]["Description"])) { $SerieDescription = $Data["Series"][$SerieName]["Description"]; } else { $SerieDescription = $SerieName; }
-
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"]);
-
- if ( $ForceAlpha != VOID ) { $Color["Alpha"]=$ForceAlpha; }
-
- if ( $DrawBorder )
- {
- $Color["BorderAlpha"] = $BorderAlpha;
-
- if ( $Surrounding != NULL )
- { $Color["BorderR"] = $Palette[$Key]["R"]+$Surrounding; $Color["BorderG"] = $Palette[$Key]["G"]+$Surrounding; $Color["BorderB"] = $Palette[$Key]["B"]+$Surrounding; }
- else
- { $Color["BorderR"] = $BorderR; $Color["BorderG"] = $BorderG; $Color["BorderB"] = $BorderB; }
-
- if ( $ForceAlpha != VOID ) { $Color["BorderAlpha"] = $ForceAlpha/2; }
- }
-
- foreach($Data["Series"][$SerieName]["Data"] as $iKey => $Point)
- {
- $Weight = $Point + $Data["Series"][$WeightSeries[$Key]]["Data"][$iKey];
-
- $PosArray = $this->pChartObject->scaleComputeY($Point,array("AxisID"=>$AxisID));
- $WeightArray = $this->pChartObject->scaleComputeY($Weight,array("AxisID"=>$AxisID));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
- $Y = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
- $X = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-
- function writeBubbleLabel($SerieName,$SerieWeightName,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[] = $Point; }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !isset($Data["Series"][$SerieName]) || !isset($Data["Series"][$SerieWeightName]) )
- return(0);
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Data["Series"][$SerieName]["Color"]["R"],"G"=>$Data["Series"][$SerieName]["Color"]["G"],"B"=>$Data["Series"][$SerieName]["Color"]["B"],"Alpha"=>$Data["Series"][$SerieName]["Color"]["Alpha"]);
-
- foreach($Points as $Key => $Point)
- {
- $Value = $Data["Series"][$SerieName]["Data"][$Point];
- $PosArray = $this->pChartObject->scaleComputeY($Value,array("AxisID"=>$AxisID));
-
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Point]) )
- $Abscissa = $Data["Series"][$Data["Abscissa"]]["Data"][$Point]." : ";
- else
- $Abscissa = "";
-
- $Value = $this->pChartObject->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
- $Weight = $Data["Series"][$SerieWeightName]["Data"][$Point];
- $Caption = $Abscissa.$Value." / ".$Weight;
-
- if ( isset($Data["Series"][$SerieName]["Description"]) )
- $Description = $Data["Series"][$SerieName]["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Color,"Caption"=>$Caption);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- $X = floor($X + $Point * $XStep);
- $Y = floor($PosArray);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $X = floor($PosArray);
- $Y = floor($Y + $Point * $YStep);
- }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pCache.class.php b/notFinishedCode/pChart2.1.2/class/pCache.class.php
deleted file mode 100644
index 07d1d4e..0000000
--- a/notFinishedCode/pChart2.1.2/class/pCache.class.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
- /*
- pCache - speed up the rendering by caching up the pictures
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pCache
- {
- var $CacheFolder;
- var $CacheIndex;
- var $CacheDB;
-
- /* Class creator */
- function pCache($Settings="")
- {
- $CacheFolder = isset($Settings["CacheFolder"]) ? $Settings["CacheFolder"] : "cache";
- $CacheIndex = isset($Settings["CacheIndex"]) ? $Settings["CacheIndex"] : "index.db";
- $CacheDB = isset($Settings["CacheDB"]) ? $Settings["CacheDB"] : "cache.db";
-
- $this->CacheFolder = $CacheFolder;
- $this->CacheIndex = $CacheIndex;
- $this->CacheDB = $CacheDB;
-
- if (!file_exists($this->CacheFolder."/".$this->CacheIndex)) { touch($this->CacheFolder."/".$this->CacheIndex); }
- if (!file_exists($this->CacheFolder."/".$this->CacheDB)) { touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Flush the cache contents */
- function flush()
- {
- if (file_exists($this->CacheFolder."/".$this->CacheIndex)) { unlink($this->CacheFolder."/".$this->CacheIndex); touch($this->CacheFolder."/".$this->CacheIndex); }
- if (file_exists($this->CacheFolder."/".$this->CacheDB)) { unlink($this->CacheFolder."/".$this->CacheDB); touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Return the MD5 of the data array to clearly identify the chart */
- function getHash($Data,$Marker="")
- { return(md5($Marker.serialize($Data->Data))); }
-
- /* Write the generated picture to the cache */
- function writeToCache($ID,$pChartObject)
- {
- /* Compute the paths */
- $TemporaryFile = $this->CacheFolder."/tmp_".rand(0,1000).".png";
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Flush the picture to a temporary file */
- imagepng($pChartObject->Picture ,$TemporaryFile);
-
- /* Retrieve the files size */
- $PictureSize = filesize($TemporaryFile);
- $DBSize = filesize($Database);
-
- /* Save the index */
- $Handle = fopen($Index,"a");
- fwrite($Handle, $ID.",".$DBSize.",".$PictureSize.",".time().",0 \r\n");
- fclose($Handle);
-
- /* Get the picture raw contents */
- $Handle = fopen($TemporaryFile,"r");
- $Raw = fread($Handle,$PictureSize);
- fclose($Handle);
-
- /* Save the picture in the solid database file */
- $Handle = fopen($Database,"a");
- fwrite($Handle, $Raw);
- fclose($Handle);
-
- /* Remove temporary file */
- unlink($TemporaryFile);
- }
-
- /* Remove object older than the specified TS */
- function removeOlderThan($Expiry)
- { $this->dbRemoval(array("Expiry"=>$Expiry)); }
-
- /* Remove an object from the cache */
- function remove($ID)
- { $this->dbRemoval(array("Name"=>$ID)); }
-
- /* Remove with specified criterias */
- function dbRemoval($Settings)
- {
- $ID = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Expiry = isset($Settings["Expiry"]) ? $Settings["Expiry"] : -(24*60*60);
- $TS = time()-$Expiry;
-
- /* Compute the paths */
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
- $DatabaseTemp = $this->CacheFolder."/".$this->CacheDB.".tmp";
- $IndexTemp = $this->CacheFolder."/".$this->CacheIndex.".tmp";
-
- /* Single file removal */
- if ( $ID != NULL )
- {
- /* Retrieve object informations */
- $Object = $this->isInCache($ID,TRUE);
-
- /* If it's not in the cache DB, go away */
- if ( !$Object ) { return(0); }
- }
-
- /* Create the temporary files */
- if (!file_exists($DatabaseTemp)) { touch($DatabaseTemp); }
- if (!file_exists($IndexTemp)) { touch($IndexTemp); }
-
- /* Open the file handles */
- $IndexHandle = @fopen($Index, "r");
- $IndexTempHandle = @fopen($IndexTemp, "w");
- $DBHandle = @fopen($Database, "r");
- $DBTempHandle = @fopen($DatabaseTemp, "w");
-
- /* Remove the selected ID from the database */
- while (!feof($IndexHandle))
- {
- $Entry = fgets($IndexHandle, 4096);
- $Entry = str_replace("\r","",$Entry);
- $Entry = str_replace("\n","",$Entry);
- $Settings = preg_split("/,/",$Entry);
-
- if ( $Entry != "" )
- {
- $PicID = $Settings[0];
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = $Settings[4];
-
- if ( $Settings[0] != $ID && $GeneratedTS > $TS)
- {
- $CurrentPos = ftell($DBTempHandle);
- fwrite($IndexTempHandle, $PicID.",".$CurrentPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
-
- fseek($DBHandle,$DBPos);
- $Picture = fread($DBHandle,$PicSize);
- fwrite($DBTempHandle,$Picture);
- }
- }
- }
-
- /* Close the handles */
- fclose($IndexHandle);
- fclose($IndexTempHandle);
- fclose($DBHandle);
- fclose($DBTempHandle);
-
- /* Remove the prod files */
- unlink($Database);
- unlink($Index);
-
- /* Swap the temp & prod DB */
- rename($DatabaseTemp,$Database);
- rename($IndexTemp,$Index);
- }
-
- function isInCache($ID,$Verbose=FALSE,$UpdateHitsCount=FALSE)
- {
- /* Compute the paths */
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Search the picture in the index file */
- $Handle = @fopen($Index, "r");
- while (!feof($Handle))
- {
- $IndexPos = ftell($Handle);
- $Entry = fgets($Handle, 4096);
- if ( $Entry != "" )
- {
- $Settings = preg_split("/,/",$Entry);
- $PicID = $Settings[0];
- if ( $PicID == $ID )
- {
- fclose($Handle);
-
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = intval($Settings[4]);
-
- if ( $UpdateHitsCount )
- {
- $Hits++;
- if ( strlen($Hits) < 7 ) { $Hits = $Hits.str_repeat(" ",7-strlen($Hits)); }
-
- $Handle = @fopen($Index, "r+");
- fseek($Handle,$IndexPos);
- fwrite($Handle, $PicID.",".$DBPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
- fclose($Handle);
- }
-
- if ($Verbose)
- { return(array("DBPos"=>$DBPos,"PicSize"=>$PicSize,"GeneratedTS"=>$GeneratedTS,"Hits"=>$Hits)); }
- else
- { return(TRUE); }
- }
- }
- }
- fclose($Handle);
-
- /* Picture isn't in the cache */
- return(FALSE);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($ID,$Destination="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->saveFromCache($ID,$Destination);
- else
- $this->strokeFromCache($ID);
- }
-
- function strokeFromCache($ID)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- header('Content-type: image/png');
- echo $Picture;
-
- return(TRUE);
- }
-
- function saveFromCache($ID,$Destination)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- /* Flush the picture to a file */
- $Handle = fopen($Destination,"w");
- fwrite($Handle,$Picture);
- fclose($Handle);
-
- /* All went fine */
- return(TRUE);
- }
-
- function getFromCache($ID)
- {
- /* Compute the path */
- $Database = $this->CacheFolder."/".$this->CacheDB;
-
- /* Lookup for the picture in the cache */
- $CacheInfo = $this->isInCache($ID,TRUE,TRUE);
-
- /* Not in the cache */
- if (!$CacheInfo) { return(NULL); }
-
- /* Get the database extended information */
- $DBPos = $CacheInfo["DBPos"];
- $PicSize = $CacheInfo["PicSize"];
-
- /* Extract the picture from the solid cache file */
- $Handle = @fopen($Database, "r");
- fseek($Handle,$DBPos);
- $Picture = fread($Handle,$PicSize);
- fclose($Handle);
-
- /* Return back the raw picture data */
- return($Picture);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pData.class.php b/notFinishedCode/pChart2.1.2/class/pData.class.php
deleted file mode 100644
index 9cfbc3f..0000000
--- a/notFinishedCode/pChart2.1.2/class/pData.class.php
+++ /dev/null
@@ -1,723 +0,0 @@
-<?php
- /*
- pDraw - class to manipulate data arrays
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Axis configuration */
- define("AXIS_FORMAT_DEFAULT" , 680001);
- define("AXIS_FORMAT_TIME" , 680002);
- define("AXIS_FORMAT_DATE" , 680003);
- define("AXIS_FORMAT_METRIC" , 680004);
- define("AXIS_FORMAT_CURRENCY" , 680005);
-
- /* Axis position */
- define("AXIS_POSITION_LEFT" , 681001);
- define("AXIS_POSITION_RIGHT" , 681002);
- define("AXIS_POSITION_TOP" , 681001);
- define("AXIS_POSITION_BOTTOM" , 681002);
-
- /* Families of data points */
- define("SERIE_SHAPE_FILLEDCIRCLE" , 681011);
- define("SERIE_SHAPE_FILLEDTRIANGLE" , 681012);
- define("SERIE_SHAPE_FILLEDSQUARE" , 681013);
- define("SERIE_SHAPE_FILLEDDIAMOND" , 681017);
- define("SERIE_SHAPE_CIRCLE" , 681014);
- define("SERIE_SHAPE_TRIANGLE" , 681015);
- define("SERIE_SHAPE_SQUARE" , 681016);
- define("SERIE_SHAPE_DIAMOND" , 681018);
-
- /* Axis position */
- define("AXIS_X" , 682001);
- define("AXIS_Y" , 682002);
-
- /* Define value limits */
- define("ABSOLUTE_MIN" , -10000000000000);
- define("ABSOLUTE_MAX" , 10000000000000);
-
- /* Replacement to the PHP NULL keyword */
- define("VOID" , 0.123456789);
-
- /* pData class definition */
- class pData
- {
- var $Data;
-
- var $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Class creator */
- function pData()
- {
- $this->Data = "";
- $this->Data["XAxisDisplay"] = AXIS_FORMAT_DEFAULT;
- $this->Data["XAxisFormat"] = NULL;
- $this->Data["XAxisName"] = NULL;
- $this->Data["XAxisUnit"] = NULL;
- $this->Data["Abscissa"] = NULL;
- $this->Data["Axis"][0]["Display"] = AXIS_FORMAT_DEFAULT;
- $this->Data["Axis"][0]["Position"] = AXIS_POSITION_LEFT;
- $this->Data["Axis"][0]["Identity"] = AXIS_Y;
- }
-
- /* Add a single point or an array to the given serie */
- function addPoints($Values,$SerieName="Serie1")
- {
- if (!isset($this->Data["Series"][$SerieName]))
- $this->initialise($SerieName);
-
- if ( is_array($Values) )
- {
- foreach($Values as $Key => $Value)
- { $this->Data["Series"][$SerieName]["Data"][] = $Value; }
- }
- else
- $this->Data["Series"][$SerieName]["Data"][] = $Values;
-
- if ( $Values != VOID )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Strip VOID values */
- function stripVOID($Values)
- { $Result = array(); foreach($Values as $Key => $Value) { if ( $Value != VOID ) { $Result[] = $Value; } } return($Result); }
-
- /* Return the number of values contained in a given serie */
- function getSerieCount($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return(sizeof($this->Data["Series"][$Serie]["Data"])); } else { return(0); } }
-
- /* Remove a serie from the pData object */
- function removeSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie])) { unset($this->Data["Series"][$Serie]); } }
- }
-
- /* Return a value from given serie & index */
- function getValueAt($Serie,$Index=0)
- { if (isset($this->Data["Series"][$Serie]["Data"][$Index])) { return($this->Data["Series"][$Serie]["Data"][$Index]); } else { return(NULL); } }
-
- /* Return the values array */
- function getValues($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return($this->Data["Series"][$Serie]["Data"]); } else { return(NULL); } }
-
- /* Reverse the values in the given serie */
- function reverseSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]["Data"])) { $this->Data["Series"][$Serie]["Data"] = array_reverse($this->Data["Series"][$Serie]["Data"]); } }
- }
-
- /* Return the sum of the serie values */
- function getSum($Serie)
- { if (isset($this->Data["Series"][$Serie])) { return(array_sum($this->Data["Series"][$Serie]["Data"])); } else { return(NULL); } }
-
- /* Return the max value of a given serie */
- function getMax($Serie)
- { if (isset($this->Data["Series"][$Serie]["Max"])) { return($this->Data["Series"][$Serie]["Max"]); } else { return(NULL); } }
-
- /* Return the min value of a given serie */
- function getMin($Serie)
- { if (isset($this->Data["Series"][$Serie]["Min"])) { return($this->Data["Series"][$Serie]["Min"]); } else { return(NULL); } }
-
- /* Set the description of a given serie */
- function setSerieShape($Series,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Shape"] = $Shape; } }
- }
-
- /* Set the description of a given serie */
- function setSerieDescription($Series,$Description="My serie")
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Description"] = $Description; } }
- }
-
- /* Set a serie as "drawable" while calling a rendering function */
- function setSerieDrawable($Series,$Drawable=TRUE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["isDrawable"] = $Drawable; } }
- }
-
- /* Set the icon associated to a given serie */
- function setSeriePicture($Series,$Picture=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Picture"] = $Picture; } }
- }
-
- /* Set the name of the X Axis */
- function setXAxisName($Name)
- { $this->Data["XAxisName"] = $Name; }
-
- /* Set the display mode of the X Axis */
- function setXAxisDisplay($Mode,$Format=NULL)
- { $this->Data["XAxisDisplay"] = $Mode; $this->Data["XAxisFormat"] = $Format; }
-
- /* Set the unit that will be displayed on the X axis */
- function setXAxisUnit($Unit)
- { $this->Data["XAxisUnit"] = $Unit; }
-
- /* Set the serie that will be used as abscissa */
- function setAbscissa($Serie)
- { if (isset($this->Data["Series"][$Serie])) { $this->Data["Abscissa"] = $Serie; } }
-
- /* Set the name of the abscissa axis */
- function setAbscissaName($Name)
- { $this->Data["AbscissaName"] = $Name; }
-
- /* Create a scatter group specifyin X and Y data series */
- function setScatterSerie($SerieX,$SerieY,$ID=0)
- { if (isset($this->Data["Series"][$SerieX]) && isset($this->Data["Series"][$SerieY]) ) { $this->initScatterSerie($ID); $this->Data["ScatterSeries"][$ID]["X"] = $SerieX; $this->Data["ScatterSeries"][$ID]["Y"] = $SerieY; } }
-
- /* Set the shape of a given sctatter serie */
- function setScatterSerieShape($ID,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Shape"] = $Shape; } }
-
- /* Set the description of a given scatter serie */
- function setScatterSerieDescription($ID,$Description="My serie")
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Description"] = $Description; } }
-
- /* Set the icon associated to a given scatter serie */
- function setScatterSeriePicture($ID,$Picture=NULL)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Picture"] = $Picture; } }
-
- /* Set a scatter serie as "drawable" while calling a rendering function */
- function setScatterSerieDrawable($ID ,$Drawable=TRUE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["isDrawable"] = $Drawable; } }
-
- /* Define if a scatter serie should be draw with ticks */
- function setScatterSerieTicks($ID,$Width=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Ticks"] = $Width; } }
-
- /* Define if a scatter serie should be draw with a special weight */
- function setScatterSerieWeight($ID,$Weight=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Weight"] = $Weight; } }
-
- /* Associate a color to a scatter serie */
- function setScatterSerieColor($ID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["ScatterSeries"][$ID]) )
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = $R;
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = $G;
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = $B;
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
- /* Compute the series limits for an individual and global point of view */
- function limits()
- {
- $GlobalMin = ABSOLUTE_MAX;
- $GlobalMax = ABSOLUTE_MIN;
-
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"] == TRUE)
- {
- if ( $GlobalMin > $this->Data["Series"][$Key]["Min"] ) { $GlobalMin = $this->Data["Series"][$Key]["Min"]; }
- if ( $GlobalMax < $this->Data["Series"][$Key]["Max"] ) { $GlobalMax = $this->Data["Series"][$Key]["Max"]; }
- }
- }
- $this->Data["Min"] = $GlobalMin;
- $this->Data["Max"] = $GlobalMax;
-
- return(array($GlobalMin,$GlobalMax));
- }
-
- /* Mark all series as drawable */
- function drawAll()
- { foreach($this->Data["Series"] as $Key => $Value) { if ( $this->Data["Abscissa"] != $Key ) { $this->Data["Series"][$Key]["isDrawable"]=TRUE; } } }
-
- /* Return the average value of the given serie */
- function getSerieAverage($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- return(array_sum($SerieData)/sizeof($SerieData));
- }
- else
- return(NULL);
- }
-
- /* Return the geometric mean of the given serie */
- function getGeometricMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 1; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum * $Value; }
- return(pow($Seriesum,1/sizeof($SerieData)));
- }
- else
- return(NULL);
- }
-
- /* Return the harmonic mean of the given serie */
- function getHarmonicMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 0; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum + 1/$Value; }
- return(sizeof($SerieData)/$Seriesum);
- }
- else
- return(NULL);
- }
-
- /* Return the standard deviation of the given serie */
- function getStandardDeviation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
-
- $DeviationSum = 0;
- foreach($SerieData as $Key => $Value)
- $DeviationSum = $DeviationSum + ($Value-$Average)*($Value-$Average);
-
- $Deviation = sqrt($DeviationSum/count($SerieData));
-
- return($Deviation);
- }
- else
- return(NULL);
- }
-
- /* Return the Coefficient of variation of the given serie */
- function getCoefficientOfVariation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $StandardDeviation = $this->getStandardDeviation($Serie);
-
- if ( $StandardDeviation != 0 )
- return($StandardDeviation/$Average);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the median value of the given serie */
- function getSerieMedian($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- sort($SerieData);
- $SerieCenter = floor(sizeof($SerieData)/2);
-
- if ( isset($SerieData[$SerieCenter]) )
- return($SerieData[$SerieCenter]);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the x th percentil of the given serie */
- function getSeriePercentile($Serie="Serie1",$Percentil=95)
- {
- if (!isset($this->Data["Series"][$Serie]["Data"])) { return(NULL); }
-
- $Values = count($this->Data["Series"][$Serie]["Data"])-1;
- if ( $Values < 0 ) { $Values = 0; }
-
- $PercentilID = floor(($Values/100)*$Percentil+.5);
- $SortedValues = $this->Data["Series"][$Serie]["Data"];
- sort($SortedValues);
-
- if ( is_numeric($SortedValues[$PercentilID]) )
- return($SortedValues[$PercentilID]);
- else
- return(NULL);
- }
-
- /* Add random values to a given serie */
- function addRandomValues($SerieName="Serie1",$Options="")
- {
- $Values = isset($Options["Values"]) ? $Options["Values"] : 20;
- $Min = isset($Options["Min"]) ? $Options["Min"] : 0;
- $Max = isset($Options["Max"]) ? $Options["Max"] : 100;
- $withFloat = isset($Options["withFloat"]) ? $Options["withFloat"] : FALSE;
-
- for ($i=0;$i<=$Values;$i++)
- {
- if ( $withFloat ) { $Value = rand($Min*100,$Max*100)/100; } else { $Value = rand($Min,$Max); }
- $this->addPoints($Value,$SerieName);
- }
- }
-
- /* Test if we have valid data */
- function containsData()
- {
- if (!isset($this->Data["Series"])) { return(FALSE); }
-
- $Result = FALSE;
- foreach($this->Data["Series"] as $Key => $Value)
- { if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"]==TRUE) { $Result=TRUE; } }
- return($Result);
- }
-
- /* Set the display mode of an Axis */
- function setAxisDisplay($AxisID,$Mode=AXIS_FORMAT_DEFAULT,$Format=NULL)
- {
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Display"] = $Mode;
- if ( $Format != NULL ) { $this->Data["Axis"][$AxisID]["Format"] = $Format; }
- }
- }
-
- /* Set the position of an Axis */
- function setAxisPosition($AxisID,$Position=AXIS_POSITION_LEFT)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Position"] = $Position; } }
-
- /* Associate an unit to an axis */
- function setAxisUnit($AxisID,$Unit)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Unit"] = $Unit; } }
-
- /* Associate a name to an axis */
- function setAxisName($AxisID,$Name)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Name"] = $Name; } }
-
- /* Associate a color to an axis */
- function setAxisColor($AxisID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Color"]["R"] = $R;
- $this->Data["Axis"][$AxisID]["Color"]["G"] = $G;
- $this->Data["Axis"][$AxisID]["Color"]["B"] = $B;
- $this->Data["Axis"][$AxisID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
-
- /* Design an axis as X or Y member */
- function setAxisXY($AxisID,$Identity=AXIS_Y)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Identity"] = $Identity; } }
-
- /* Associate one data serie with one axis */
- function setSerieOnAxis($Series,$AxisID)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie)
- {
- $PreviousAxis = $this->Data["Series"][$Serie]["Axis"];
-
- /* Create missing axis */
- if ( !isset($this->Data["Axis"][$AxisID] ) )
- { $this->Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; $this->Data["Axis"][$AxisID]["Identity"] = AXIS_Y;}
-
- $this->Data["Series"][$Serie]["Axis"] = $AxisID;
-
- /* Cleanup unused axis */
- $Found = FALSE;
- foreach($this->Data["Series"] as $SerieName => $Values) { if ( $Values["Axis"] == $PreviousAxis ) { $Found = TRUE; } }
- if (!$Found) { unset($this->Data["Axis"][$PreviousAxis]); }
- }
- }
-
- /* Define if a serie should be draw with ticks */
- function setSerieTicks($Series,$Width=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Ticks"] = $Width; } }
- }
-
- /* Define if a serie should be draw with a special weight */
- function setSerieWeight($Series,$Weight=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Weight"] = $Weight; } }
- }
-
- /* Returns the palette of the given serie */
- function getSeriePalette($Serie)
- {
- if ( !isset($this->Data["Series"][$Serie]) ) { return(NULL); }
-
- $Result = "";
- $Result["R"] = $this->Data["Series"][$Serie]["Color"]["R"];
- $Result["G"] = $this->Data["Series"][$Serie]["Color"]["G"];
- $Result["B"] = $this->Data["Series"][$Serie]["Color"]["B"];
- $Result["Alpha"] = $this->Data["Series"][$Serie]["Color"]["Alpha"];
-
- return($Result);
- }
-
- /* Set the color of one serie */
- function setPalette($Series,$Format=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
-
- foreach($Series as $Key => $Serie)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $OldR = $this->Data["Series"][$Serie]["Color"]["R"]; $OldG = $this->Data["Series"][$Serie]["Color"]["G"]; $OldB = $this->Data["Series"][$Serie]["Color"]["B"];
- $this->Data["Series"][$Serie]["Color"]["R"] = $R;
- $this->Data["Series"][$Serie]["Color"]["G"] = $G;
- $this->Data["Series"][$Serie]["Color"]["B"] = $B;
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = $Alpha;
-
- /* Do reverse processing on the internal palette array */
- foreach ($this->Palette as $Key => $Value)
- { if ($Value["R"] == $OldR && $Value["G"] == $OldG && $Value["B"] == $OldB) { $this->Palette[$Key]["R"] = $R; $this->Palette[$Key]["G"] = $G; $this->Palette[$Key]["B"] = $B; $this->Palette[$Key]["Alpha"] = $Alpha;} }
- }
- }
- }
-
- /* Load a palette file */
- function loadPalette($FileName,$Overwrite=FALSE)
- {
- if ( !file_exists($FileName) ) { return(-1); }
- if ( $Overwrite ) { $this->Palette = ""; }
-
- $fileHandle = @fopen($FileName, "r");
- if (!$fileHandle) { return(-1); }
- while (!feof($fileHandle))
- {
- $buffer = fgets($fileHandle, 4096);
- if ( preg_match("/,/",$buffer) )
- {
- list($R,$G,$B,$Alpha) = preg_split("/,/",$buffer);
- if ( $this->Palette == "" ) { $ID = 0; } else { $ID = count($this->Palette); }
- $this->Palette[$ID] = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- }
- }
- fclose($fileHandle);
-
- /* Apply changes to current series */
- $ID = 0;
- if ( isset($this->Data["Series"]))
- {
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( !isset($this->Palette[$ID]) )
- $this->Data["Series"][$Key]["Color"] = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>0);
- else
- $this->Data["Series"][$Key]["Color"] = $this->Palette[$ID];
- $ID++;
- }
- }
- }
-
- /* Initialise a given scatter serie */
- function initScatterSerie($ID)
- {
- if ( isset($this->Data["ScatterSeries"][$ID]) ) { return(0); }
-
- $this->Data["ScatterSeries"][$ID]["Description"] = "Scatter ".$ID;
- $this->Data["ScatterSeries"][$ID]["isDrawable"] = TRUE;
- $this->Data["ScatterSeries"][$ID]["Picture"] = NULL;
- $this->Data["ScatterSeries"][$ID]["Ticks"] = 0;
- $this->Data["ScatterSeries"][$ID]["Weight"] = 0;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["ScatterSeries"][$ID]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = 100;
- }
- }
-
- /* Initialise a given serie */
- function initialise($Serie)
- {
- if ( isset($this->Data["Series"]) ) { $ID = count($this->Data["Series"]); } else { $ID = 0; }
-
- $this->Data["Series"][$Serie]["Description"] = $Serie;
- $this->Data["Series"][$Serie]["isDrawable"] = TRUE;
- $this->Data["Series"][$Serie]["Picture"] = NULL;
- $this->Data["Series"][$Serie]["Max"] = NULL;
- $this->Data["Series"][$Serie]["Min"] = NULL;
- $this->Data["Series"][$Serie]["Axis"] = 0;
- $this->Data["Series"][$Serie]["Ticks"] = 0;
- $this->Data["Series"][$Serie]["Weight"] = 0;
- $this->Data["Series"][$Serie]["Shape"] = SERIE_SHAPE_FILLEDCIRCLE;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["Series"][$Serie]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["Series"][$Serie]["Color"]["R"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["G"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["B"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = 100;
- }
- }
-
- function normalize($NormalizationFactor=100,$UnitChange=NULL,$Round=1)
- {
- $Abscissa = $this->Data["Abscissa"];
-
- $SelectedSeries = "";
- $MaxVal = 0;
- foreach($this->Data["Axis"] as $AxisID => $Axis)
- {
- if ( $UnitChange != NULL ) { $this->Data["Axis"][$AxisID]["Unit"] = $UnitChange; }
-
- foreach($this->Data["Series"] as $SerieName => $Serie)
- {
- if ($Serie["Axis"] == $AxisID && $Serie["isDrawable"] == TRUE && $SerieName != $Abscissa)
- {
- $SelectedSeries[$SerieName] = $SerieName;
-
- if ( count($Serie["Data"] ) > $MaxVal ) { $MaxVal = count($Serie["Data"]); }
- }
- }
- }
-
- for($i=0;$i<=$MaxVal-1;$i++)
- {
- $Factor = 0;
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
- if ( $Value != VOID )
- $Factor = $Factor + abs($Value);
- }
-
- if ( $Factor != 0 )
- {
- $Factor = $NormalizationFactor / $Factor;
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
-
- if ( $Value != VOID && $Factor != $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = round(abs($Value)*$Factor,$Round);
- elseif ( $Value == VOID || $Value == 0 )
- $this->Data["Series"][$SerieName]["Data"][$i] = VOID;
- elseif ( $Factor == $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = $NormalizationFactor;
- }
- }
- }
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Load data from a CSV (or similar) data source */
- function importFromCSV($FileName,$Options="")
- {
- $Delimiter = isset($Options["Delimiter"]) ? $Options["Delimiter"] : ",";
- $GotHeader = isset($Options["GotHeader"]) ? $Options["GotHeader"] : FALSE;
- $SkipColumns = isset($Options["SkipColumns"]) ? $Options["SkipColumns"] : array(-1);
- $DefaultSerieName = isset($Options["DefaultSerieName"]) ? $Options["DefaultSerieName"] : "Serie";
-
- $Handle = @fopen($FileName,"r");
- if ($Handle)
- {
- $HeaderParsed = FALSE; $SerieNames = "";
- while (!feof($Handle))
- {
- $Buffer = fgets($Handle, 4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/".$Delimiter."/",$Buffer);
-
- if ( $Buffer != "" )
- {
- if ( $GotHeader && !$HeaderParsed )
- {
- foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $Name; } }
- $HeaderParsed = TRUE;
- }
- else
- {
- if ($SerieNames == "" ) { foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $DefaultSerieName.$Key; } } }
- foreach($Values as $Key => $Value) { if ( !in_array($Key,$SkipColumns) ) { $this->addPoints($Value,$SerieNames[$Key]); } }
- }
- }
- }
- fclose($Handle);
- }
- }
-
- /* Return the data & configuration of the series */
- function getData()
- { return($this->Data); }
-
- /* Save a palette element */
- function savePalette($ID,$Color)
- { $this->Palette[$ID] = $Color; }
-
- /* Return the palette of the series */
- function getPalette()
- { return($this->Palette); }
-
- /* Called by the scaling algorithm to save the config */
- function saveAxisConfig($Axis) { $this->Data["Axis"]=$Axis; }
-
- /* Save the Y Margin if set */
- function saveYMargin($Value) { $this->Data["YMargin"]=$Value; }
-
- /* Save extended configuration to the pData object */
- function saveExtendedData($Tag,$Values) { $this->Data["Extended"][$Tag]=$Values; }
-
- /* Called by the scaling algorithm to save the orientation of the scale */
- function saveOrientation($Orientation) { $this->Data["Orientation"]=$Orientation; }
-
- /* Convert a string to a single elements array */
- function convertToArray($Value)
- { $Values = ""; $Values[] = $Value; return($Values); }
-
- /* Class string wrapper */
- function __toString()
- { return("pData object."); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pDraw.class.php b/notFinishedCode/pChart2.1.2/class/pDraw.class.php
deleted file mode 100644
index 85e408e..0000000
--- a/notFinishedCode/pChart2.1.2/class/pDraw.class.php
+++ /dev/null
@@ -1,5799 +0,0 @@
-<?php
- /*
- pDraw - class extension with drawing methods
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("DIRECTION_VERTICAL" , 690001);
- define("DIRECTION_HORIZONTAL" , 690002);
-
- define("SCALE_POS_LEFTRIGHT" , 690101);
- define("SCALE_POS_TOPBOTTOM" , 690102);
-
- define("SCALE_MODE_FLOATING" , 690201);
- define("SCALE_MODE_START0" , 690202);
- define("SCALE_MODE_ADDALL" , 690203);
- define("SCALE_MODE_ADDALL_START0" , 690204);
- define("SCALE_MODE_MANUAL" , 690205);
-
- define("SCALE_SKIP_NONE" , 690301);
- define("SCALE_SKIP_SAME" , 690302);
- define("SCALE_SKIP_NUMBERS" , 690303);
-
- define("TEXT_ALIGN_TOPLEFT" , 690401);
- define("TEXT_ALIGN_TOPMIDDLE" , 690402);
- define("TEXT_ALIGN_TOPRIGHT" , 690403);
- define("TEXT_ALIGN_MIDDLELEFT" , 690404);
- define("TEXT_ALIGN_MIDDLEMIDDLE" , 690405);
- define("TEXT_ALIGN_MIDDLERIGHT" , 690406);
- define("TEXT_ALIGN_BOTTOMLEFT" , 690407);
- define("TEXT_ALIGN_BOTTOMMIDDLE" , 690408);
- define("TEXT_ALIGN_BOTTOMRIGHT" , 690409);
-
- define("POSITION_TOP" , 690501);
- define("POSITION_BOTTOM" , 690502);
-
- define("LABEL_POS_LEFT" , 690601);
- define("LABEL_POS_CENTER" , 690602);
- define("LABEL_POS_RIGHT" , 690603);
- define("LABEL_POS_TOP" , 690604);
- define("LABEL_POS_BOTTOM" , 690605);
- define("LABEL_POS_INSIDE" , 690606);
- define("LABEL_POS_OUTSIDE" , 690607);
-
- define("ORIENTATION_HORIZONTAL" , 690701);
- define("ORIENTATION_VERTICAL" , 690702);
-
- define("LEGEND_NOBORDER" , 690800);
- define("LEGEND_BOX" , 690801);
- define("LEGEND_ROUND" , 690802);
-
- define("LEGEND_VERTICAL" , 690901);
- define("LEGEND_HORIZONTAL" , 690902);
-
- define("LEGEND_FAMILY_BOX" , 691051);
- define("LEGEND_FAMILY_CIRCLE" , 691052);
- define("LEGEND_FAMILY_LINE" , 691053);
-
- define("DISPLAY_AUTO" , 691001);
- define("DISPLAY_MANUAL" , 691002);
-
- define("LABELING_ALL" , 691011);
- define("LABELING_DIFFERENT" , 691012);
-
- define("BOUND_MIN" , 691021);
- define("BOUND_MAX" , 691022);
- define("BOUND_BOTH" , 691023);
-
- define("BOUND_LABEL_POS_TOP" , 691031);
- define("BOUND_LABEL_POS_BOTTOM" , 691032);
- define("BOUND_LABEL_POS_AUTO" , 691033);
-
- define("CAPTION_LEFT_TOP" , 691041);
- define("CAPTION_RIGHT_BOTTOM" , 691042);
-
- define("GRADIENT_SIMPLE" , 691051);
- define("GRADIENT_EFFECT_CAN" , 691052);
-
- define("LABEL_TITLE_NOBACKGROUND" , 691061);
- define("LABEL_TITLE_BACKGROUND" , 691062);
-
- define("LABEL_POINT_NONE" , 691071);
- define("LABEL_POINT_CIRCLE" , 691072);
- define("LABEL_POINT_BOX" , 691073);
-
- define("PI" , 3.14159265);
- define("ALL" , 69);
- define("NONE" , 31);
- define("AUTO" , 690000);
- define("OUT_OF_SIGHT" , -10000000000000);
-
- class pDraw
- {
- /* Returns the number of drawable series */
- function countDrawableSeries()
- {
- $Results = 0;
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- { if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] ) { $Results++; } }
-
- return($Results);
- }
-
- /* Fix box coordinates */
- function fixBoxCoordinates($Xa,$Ya,$Xb,$Yb)
- {
- $X1 = min($Xa,$Xb); $Y1 = min($Ya,$Yb);
- $X2 = max($Xa,$Xb); $Y2 = max($Ya,$Yb);
-
- return(array($X1,$Y1,$X2,$Y2));
- }
-
- /* Draw a polygon */
- function drawPolygon($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $SkipX = isset($Format["SkipX"]) ? $Format["SkipX"] : OUT_OF_SIGHT;
- $SkipY = isset($Format["SkipY"]) ? $Format["SkipY"] : OUT_OF_SIGHT;
-
- /* Calling the ImageFilledPolygon() function over the $Points array will round it */
- $Backup = $Points;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ( $SkipX != OUT_OF_SIGHT ) { $SkipX = floor($SkipX); }
- if ( $SkipY != OUT_OF_SIGHT ) { $SkipY = floor($SkipY); }
-
- $RestoreShadow = $this->Shadow;
- if ( !$NoFill )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- { $Shadow[] = $Points[$i] + $this->ShadowX; $Shadow[] = $Points[$i+1] + $this->ShadowY; }
- $this->drawPolygon($Shadow,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"NoBorder"=>TRUE));
- }
-
- $FillColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
-
- if ( count($Points) >= 6 )
- { ImageFilledPolygon($this->Picture,$Points,count($Points)/2,$FillColor); }
- }
-
- if ( !$NoBorder )
- {
- $Points = $Backup;
-
- if ( $NoFill )
- $BorderSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- else
- $BorderSettings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- {
- if ( isset($Points[$i+2]) )
- {
- if ( !($Points[$i] == $Points[$i+2] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[$i+3] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[$i+2],$Points[$i+3],$BorderSettings);
- }
- else
- {
- if ( !($Points[$i] == $Points[0] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[1] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[0],$Points[1],$BorderSettings);
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Apply AALias correction to the rounded box boundaries */
- function offsetCorrection($Value,$Mode)
- {
- $Value = round($Value,1);
-
- if ( $Value == 0 && $Mode == 1 ) { return(.9); }
- if ( $Value == 0 ) { return(0); }
-
- if ( $Mode == 1)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.9); }; if ( $Value == .2 ) { return(.8); }; if ( $Value == .3 ) { return(.8); }; if ( $Value == .4 ) { return(.7); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.6); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 2)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.8); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 3)
- { if ( $Value == 1 ) { return(.1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.9); }; if ( $Value == .6 ) { return(.6); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.4); }; if ( $Value == .9 ) { return(.5); }; }
-
- if ( $Mode == 4)
- { if ( $Value == 1 ) { return(-1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.1); }; if ( $Value == .5 ) { return(-.1); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.1); }; if ( $Value == .8 ) { return(.1); }; if ( $Value == .9 ) { return(.1); }; }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1))/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1))/2); }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- if ( $this->Antialias )
- {
- $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- $this->drawLine($X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- imageline($this->Picture,$X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- imageline($this->Picture,$X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- imageline($this->Picture,$X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $X = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+180)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+90)*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos($i*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin($i*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+270)*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin(($i+270)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- /* Temporary fix for AA issue */
- $Y1 = floor($Y1); $Y2 = floor($Y2); $X1 = floor($X1); $X2 = floor($X2);
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius*2 ) { $Radius = floor((($X2-$X1))/4); }
- if ( $Y2 - $Y1 < $Radius*2 ) { $Radius = floor((($Y2-$Y1))/4); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- $YTop = $Y1+$Radius;
- $YBottom = $Y2-$Radius;
-
- $Step = 360 / (2 * PI * $Radius);
- $Positions = ""; $Radius--; $MinY = ""; $MaxY = "";
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+180)*PI/180) * $Radius + $YTop);
- if ( $MinY == "" || $Yp > $MinY ) { $MinY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+90)*PI/180) * $Radius + $YBottom);
- if ( $MaxY == "" || $Yp < $MaxY ) { $MaxY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
- }
-
- $ManualColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- foreach($Positions as $Yp => $Bounds)
- {
- $X1 = $Bounds["X1"]; $X1Dec = $this->getFirstDecimal($X1); if ( $X1Dec != 0 ) { $X1 = floor($X1)+1; }
- $X2 = $Bounds["X2"]; $X2Dec = $this->getFirstDecimal($X2); if ( $X2Dec != 0 ) { $X2 = floor($X2)-1; }
- imageline($this->Picture,$X1,$Yp,$X2,$Yp,$ManualColor);
- }
- $this->drawFilledRectangle($X1,$MinY+1,floor($X2),$MaxY-1,$Color);
-
- $Radius++;
- $this->drawRoundedRectangle($X1,$Y1,$X2+1,$Y2-1,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle_deprecated($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1)+2)/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1)+2)/2); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- if ( $this->getFirstDecimal($X2) >= 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($X1) <= 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
-
- if ( !$this->Antialias ) { $XOffset1 = 1; $XOffset2 = 1; }
-
- $YTop = floor($Y1+$Radius);
- $YBottom = floor($Y2-$Radius);
-
- $this->drawFilledRectangle($X1-$XOffset1,$YTop,$X2+$XOffset2,$YBottom,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE));
-
- $Step = 360 / (2 * PI * $Radius);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $Color2 = $this->allocateColor($this->Picture,255,0,0,$Alpha);
- $Drawn = "";
-
- if ( $Alpha < 100 ) { $Drawn[$YTop] = FALSE; }
- if ( $Alpha < 100 ) { $Drawn[$YBottom] = TRUE; }
-
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+180)*PI/180) * $Radius + $YTop;
-
- if ( $this->getFirstDecimal($Xp1) > 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+90)*PI/180) * $Radius + $YBottom;
-
- if ( $this->getFirstDecimal($Xp1) > 7 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 7 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
- }
-
- $this->drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle */
- function drawRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $this->Antialias )
- {
- if ( $NoAngle )
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1+1,$X2,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1+1,$X1,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1,$X2,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1,$X1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagerectangle($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- }
- }
-
- /* Draw a filled rectangle */
- function drawFilledRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : NULL;
- $Dash = isset($Format["Dash"]) ? $Format["Dash"] : FALSE;
- $DashStep = isset($Format["DashStep"]) ? $Format["DashStep"] : 4;
- $DashR = isset($Format["DashR"]) ? $Format["DashR"] : 0;
- $DashG = isset($Format["DashG"]) ? $Format["DashG"] : 0;
- $DashB = isset($Format["DashB"]) ? $Format["DashB"] : 0;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- if ( $NoAngle )
- {
- imagefilledrectangle($this->Picture,ceil($X1)+1,ceil($Y1),floor($X2)-1,floor($Y2),$Color);
- imageline($this->Picture,ceil($X1),ceil($Y1)+1,ceil($X1),floor($Y2)-1,$Color);
- imageline($this->Picture,floor($X2),ceil($Y1)+1,floor($X2),floor($Y2)-1,$Color);
- }
- else
- imagefilledrectangle($this->Picture,ceil($X1),ceil($Y1),floor($X2),floor($Y2),$Color);
-
- if ( $Dash )
- {
- if ( $BorderR != -1 ) { $iX1=$X1+1; $iY1=$Y1+1; $iX2=$X2-1; $iY2=$Y2-1; } else { $iX1=$X1; $iY1=$Y1; $iX2=$X2; $iY2=$Y2; }
-
- $Color = $this->allocateColor($this->Picture,$DashR,$DashG,$DashB,$Alpha);
- $Y=$iY1-$DashStep;
- for($X=$iX1; $X<=$iX2+($iY2-$iY1); $X=$X+$DashStep)
- {
- $Y=$Y+$DashStep;
- if ( $X > $iX2 ) { $Xa = $X-($X-$iX2); $Ya = $iY1+($X-$iX2); } else { $Xa = $X; $Ya = $iY1; }
- if ( $Y > $iY2 ) { $Xb = $iX1+($Y-$iY2); $Yb = $Y-($Y-$iY2); } else { $Xb = $iX1; $Yb = $Y; }
- imageline($this->Picture,$Xa,$Ya,$Xb,$Yb,$Color);
- }
- }
-
- if ( $this->Antialias && !$NoBorder )
- {
- if ( $X1 < ceil($X1) )
- {
- $AlphaA = $Alpha * (ceil($X1) - $X1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1)-1,ceil($Y1),ceil($X1)-1,floor($Y2),$Color);
- }
-
- if ( $Y1 < ceil($Y1) )
- {
- $AlphaA = $Alpha * (ceil($Y1) - $Y1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),ceil($Y1)-1,floor($X2),ceil($Y1)-1,$Color);
- }
-
- if ( $X2 > floor($X2) )
- {
- $AlphaA = $Alpha * (.5-($X2 - floor($X2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,floor($X2)+1,ceil($Y1),floor($X2)+1,floor($Y2),$Color);
- }
-
- if ( $Y2 > floor($Y2) )
- {
- $AlphaA = $Alpha * (.5-($Y2 - floor($Y2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),floor($Y2)+1,floor($X2),floor($Y2)+1,$Color);
- }
- }
-
- if ( $BorderR != -1 )
- $this->drawRectangle($X1,$Y1,$X2,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangular marker of the specified size */
- function drawRectangleMarker($X,$Y,$Format="")
- {
- $Size = isset($Format["Size"]) ? $Format["Size"] : 4;
-
- $HalfSize = floor($Size/2);
- $this->drawFilledRectangle($X-$HalfSize,$Y-$HalfSize,$X+$HalfSize,$Y+$HalfSize,$Format);
- }
-
- /* Drawn a spline based on the bezier function */
- function drawSpline($Coordinates,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 30;
- $Forces = isset($Format["Forces"]) ? $Format["Forces"] : NULL;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
-
- $Cpt = NULL; $Mode = NULL; $Result = "";
- for($i=1;$i<=count($Coordinates)-1;$i++)
- {
- $X1 = $Coordinates[$i-1][0]; $Y1 = $Coordinates[$i-1][1];
- $X2 = $Coordinates[$i][0]; $Y2 = $Coordinates[$i][1];
-
- if ( $Forces != NULL ) { $Force = $Forces[$i]; }
-
- /* First segment */
- if ( $i == 1 )
- { $Xv1 = $X1; $Yv1 = $Y1; }
- else
- {
- $Angle1 = $this->getAngle($XLast,$YLast,$X1,$Y1);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos($Angle2 * PI / 180) * $Force + $X1;
- $YOff = sin($Angle2 * PI / 180) * $Force + $Y1;
-
- $Xv1 = cos($Angle1 * PI / 180) * $Force + $XOff;
- $Yv1 = sin($Angle1 * PI / 180) * $Force + $YOff;
- }
-
- /* Last segment */
- if ( $i == count($Coordinates)-1 )
- { $Xv2 = $X2; $Yv2 = $Y2; }
- else
- {
- $Angle1 = $this->getAngle($X2,$Y2,$Coordinates[$i+1][0],$Coordinates[$i+1][1]);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos(($Angle2+180) * PI / 180) * $Force + $X2;
- $YOff = sin(($Angle2+180) * PI / 180) * $Force + $Y2;
-
- $Xv2 = cos(($Angle1+180) * PI / 180) * $Force + $XOff;
- $Yv2 = sin(($Angle1+180) * PI / 180) * $Force + $YOff;
- }
-
- $Path = $this->drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format);
- if ($PathOnly) { $Result[] = $Path; }
-
- $XLast = $X1; $YLast = $Y1;
- }
-
- return($Result);
- }
-
- /* Draw a bezier curve with two controls points */
- function drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoDraw = isset($Format["NoDraw"]) ? $Format["NoDraw"] : FALSE;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $DrawArrow = isset($Format["DrawArrow"]) ? $Format["DrawArrow"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 10;
- $ArrowRatio = isset($Format["ArrowRatio"]) ? $Format["ArrowRatio"] : .5;
- $ArrowTwoHeads = isset($Format["ArrowTwoHeads"]) ? $Format["ArrowTwoHeads"] : FALSE;
-
- if ( $Segments == NULL )
- {
- $Length = $this->getLength($X1,$Y1,$X2,$Y2);
- $Precision = ($Length*125)/1000;
- }
- else
- $Precision = $Segments;
-
- $P[0]["X"] = $X1; $P[0]["Y"] = $Y1;
- $P[1]["X"] = $Xv1; $P[1]["Y"] = $Yv1;
- $P[2]["X"] = $Xv2; $P[2]["Y"] = $Yv2;
- $P[3]["X"] = $X2; $P[3]["Y"] = $Y2;
-
- /* Compute the bezier points */
- $Q = ""; $ID = 0; $Path = "";
- for($i=0;$i<=$Precision;$i=$i+1)
- {
- $u = $i / $Precision;
-
- $C = "";
- $C[0] = (1 - $u) * (1 - $u) * (1 - $u);
- $C[1] = ($u * 3) * (1 - $u) * (1 - $u);
- $C[2] = 3 * $u * $u * (1 - $u);
- $C[3] = $u * $u * $u;
-
- for($j=0;$j<=3;$j++)
- {
- if ( !isset($Q[$ID]) ) { $Q[$ID] = ""; }
- if ( !isset($Q[$ID]["X"]) ) { $Q[$ID]["X"] = 0; }
- if ( !isset($Q[$ID]["Y"]) ) { $Q[$ID]["Y"] = 0; }
-
- $Q[$ID]["X"] = $Q[$ID]["X"] + $P[$j]["X"] * $C[$j];
- $Q[$ID]["Y"] = $Q[$ID]["Y"] + $P[$j]["Y"] * $C[$j];
- }
- $ID++;
- }
- $Q[$ID]["X"] = $X2; $Q[$ID]["Y"] = $Y2;
-
- if ( !$NoDraw )
- {
- /* Display the control points */
- if ( $ShowC && !$PathOnly )
- {
- $Xv1 = floor($Xv1); $Yv1 = floor($Yv1); $Xv2 = floor($Xv2); $Yv2 = floor($Yv2);
-
- $this->drawLine($X1,$Y1,$X2,$Y2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
-
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv1,$Yv1,$MyMarkerSettings);
- $this->drawText($Xv1+4,$Yv1,"v1");
- $MyMarkerSettings = array("R"=>0,"G"=>0,"B"=>255,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv2,$Yv2,$MyMarkerSettings);
- $this->drawText($Xv2+4,$Yv2,"v2");
- }
-
- /* Draw the bezier */
- $LastX = NULL; $LastY = NULL; $Cpt = NULL; $Mode = NULL; $ArrowS = NULL;
- foreach ($Q as $Key => $Point)
- {
- $X = $Point["X"]; $Y = $Point["Y"];
-
- /* Get the first segment */
- if ( $ArrowS == NULL && $LastX != NULL && $LastY != NULL )
- { $ArrowS["X2"] = $LastX; $ArrowS["Y2"] = $LastY; $ArrowS["X1"] = $X; $ArrowS["Y1"] = $Y; }
-
- if ( $LastX != NULL && $LastY != NULL && !$PathOnly)
- list($Cpt,$Mode) = $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Cpt"=>$Cpt,"Mode"=>$Mode,"Weight"=>$Weight));
-
- /* Get the last segment */
- $ArrowE["X1"] = $LastX; $ArrowE["Y1"] = $LastY; $ArrowE["X2"] = $X; $ArrowE["Y2"] = $Y;
-
- $LastX = $X; $LastY = $Y;
- }
-
- if ( $DrawArrow && !$PathOnly )
- {
- $ArrowSettings = array("FillR"=>$R,"FillG"=>$G,"FillB"=>$B,"Alpha"=>$Alpha,"Size"=>$ArrowSize,"Ratio"=>$ArrowRatio);
- if ( $ArrowTwoHeads )
- $this->drawArrow($ArrowS["X1"],$ArrowS["Y1"],$ArrowS["X2"],$ArrowS["Y2"],$ArrowSettings);
-
- $this->drawArrow($ArrowE["X1"],$ArrowE["Y1"],$ArrowE["X2"],$ArrowE["Y2"],$ArrowSettings);
- }
- }
- return($Q);
- }
-
- /* Draw a line between two points */
- function drawLine($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Cpt = isset($Format["Cpt"]) ? $Format["Cpt"] : 1;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : 1;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $this->Antialias == FALSE && $Ticks == NULL )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imageline($this->Picture,$X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$ShadowColor);
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- return(0);
- }
-
- $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));
- if ( $Distance == 0 ) { return(-1); }
-
- /* Derivative algorithm for overweighted lines, re-route to polygons primitives */
- if ( $Weight != NULL )
- {
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
- $PolySettings = array ("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderAlpha"=>$Alpha);
-
- if ( $Ticks == NULL )
- {
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y2;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y2;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- else
- {
- for($i=0;$i<=$Distance;$i=$i+$Ticks*2)
- {
- $Xa = (($X2-$X1)/$Distance) * $i + $X1; $Ya = (($Y2-$Y1)/$Distance) * $i + $Y1;
- $Xb = (($X2-$X1)/$Distance) * ($i+$Ticks) + $X1; $Yb = (($Y2-$Y1)/$Distance) * ($i+$Ticks) + $Y1;
-
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Yb;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Yb;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- }
-
- return(1);
- }
-
- $XStep = ($X2-$X1) / $Distance;
- $YStep = ($Y2-$Y1) / $Distance;
-
- for($i=0;$i<=$Distance;$i++)
- {
- $X = $i * $XStep + $X1;
- $Y = $i * $YStep + $Y1;
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $RT = $Parameters["R"]; } else { $RT = 0; }
- if ( isset($Parameters["G"]) ) { $GT = $Parameters["G"]; } else { $GT = 0; }
- if ( isset($Parameters["B"]) ) { $BT = $Parameters["B"]; } else { $BT = 0; }
- if ( isset($Parameters["Alpha"]) ) { $AlphaT = $Parameters["Alpha"]; } else { $AlphaT = 0; }
- $Color = array("R"=>$RT,"G"=>$GT,"B"=>$BT,"Alpha"=>$AlphaT);
- }
- }
- }
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,$Color);
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,$Color);
- }
-
- return(array($Cpt,$Mode));
- }
-
- /* Draw a circle */
- function drawCircle($Xc,$Yc,$Height,$Width,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Height = abs($Height);
- $Width = abs($Width);
-
- if ( $Height == 0 ) { $Height = 1; }
- if ( $Width == 0 ) { $Width = 1; }
- $Xc = floor($Xc); $Yc = floor($Yc);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawCircle($Xc+$this->ShadowX,$Yc+$this->ShadowY,$Height,$Width,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- if ( $Width == 0 ) { $Width = $Height; }
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- $Step = 360 / (2 * PI * max($Width,$Height));
- $Mode = 1; $Cpt = 1;
- for($i=0;$i<=360;$i=$i+$Step)
- {
- $X = cos($i*PI/180) * $Height + $Xc;
- $Y = sin($i*PI/180) * $Width + $Yc;
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- }
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a filled circle */
- function drawFilledCircle($X,$Y,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Radius == 0 ) { $Radius = 1; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- $X = floor($X); $Y = floor($Y);
-
- $Radius = abs($Radius);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledCircle($X+$this->ShadowX,$Y+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- $this->Mask = "";
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- for ($i=0; $i<=$Radius*2; $i++)
- {
- $Slice = sqrt($Radius * $Radius - ($Radius - $i) * ($Radius - $i));
- $XPos = floor($Slice);
- $YPos = $Y + $i - $Radius;
- $AAlias = $Slice - floor($Slice);
-
- $this->Mask[$X-$XPos][$YPos] = TRUE;
- $this->Mask[$X+$XPos][$YPos] = TRUE;
- imageline($this->Picture,$X-$XPos,$YPos,$X+$XPos,$YPos,$Color);
- }
- if ( $this->Antialias )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- $this->Mask = "";
-
- if ( $BorderR != -1 )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Write text */
- function drawText($X,$Y,$Text,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Align = isset($Format["Align"]) ? $Format["Align"] : TEXT_ALIGN_BOTTOMLEFT;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $ShowOrigine = isset($Format["ShowOrigine"]) ? $Format["ShowOrigine"] : FALSE;
- $TOffset = isset($Format["TOffset"]) ? $Format["TOffset"] : 2;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : FALSE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : TRUE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 6;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : FALSE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 6;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 255;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 255;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 255;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxBorderG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxBorderB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxBorderAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $NoShadow = isset($Format["NoShadow"]) ? $Format["NoShadow"] : FALSE;
-
- $Shadow = $this->Shadow;
- if ( $NoShadow ) { $this->Shadow = FALSE; }
-
- if ( $BoxSurrounding != "" ) { $BoxBorderR = $BoxR - $BoxSurrounding; $BoxBorderG = $BoxG - $BoxSurrounding; $BoxBorderB = $BoxB - $BoxSurrounding; $BoxBorderAlpha = $Boxalpha; }
-
- if ( $ShowOrigine )
- {
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($X,$Y,$MyMarkerSettings);
- }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text);
-
- if ( $DrawBox && ($Angle == 0 || $Angle == 90 || $Angle == 180 || $Angle == 270))
- {
- $T[0]["X"]=0;$T[0]["Y"]=0;$T[1]["X"]=0;$T[1]["Y"]=0;$T[2]["X"]=0;$T[2]["Y"]=0;$T[3]["X"]=0;$T[3]["Y"]=0;
- if ( $Angle == 0 ) { $T[0]["X"]=-$TOffset;$T[0]["Y"]=$TOffset;$T[1]["X"]=$TOffset;$T[1]["Y"]=$TOffset;$T[2]["X"]=$TOffset;$T[2]["Y"]=-$TOffset;$T[3]["X"]=-$TOffset;$T[3]["Y"]=-$TOffset; }
-
- $X1 = min($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) - $BorderOffset + 3;
- $Y1 = min($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) - $BorderOffset;
- $X2 = max($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) + $BorderOffset + 3;
- $Y2 = max($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) + $BorderOffset - 3;
-
- $X1 = $X1 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y1 = $Y1 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
- $X2 = $X2 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y2 = $Y2 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
-
- $Settings = array("R"=>$BoxR,"G"=>$BoxG,"B"=>$BoxB,"Alpha"=>$BoxAlpha,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"BorderAlpha"=>$BoxBorderAlpha);
-
- if ( $BoxRounded )
- { $this->drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$RoundedRadius,$Settings); }
- else
- { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Settings); }
- }
-
- $X = $X - $TxtPos[$Align]["X"] + $X;
- $Y = $Y - $TxtPos[$Align]["Y"] + $Y;
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $C_ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagettftext($this->Picture,$FontSize,$Angle,$X+$this->ShadowX,$Y+$this->ShadowY,$C_ShadowColor,$FontName,$Text);
- }
-
- $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagettftext($this->Picture,$FontSize,$Angle,$X,$Y,$C_TextColor,$FontName,$Text);
-
- $this->Shadow = $Shadow;
-
- return($TxtPos);
- }
-
- /* Draw a gradient within a defined area */
- function drawGradientArea($X1,$Y1,$X2,$Y2,$Direction,$Format="")
- {
- $StartR = isset($Format["StartR"]) ? $Format["StartR"] : 90;
- $StartG = isset($Format["StartG"]) ? $Format["StartG"] : 90;
- $StartB = isset($Format["StartB"]) ? $Format["StartB"] : 90;
- $EndR = isset($Format["EndR"]) ? $Format["EndR"] : 0;
- $EndG = isset($Format["EndG"]) ? $Format["EndG"] : 0;
- $EndB = isset($Format["EndB"]) ? $Format["EndB"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Levels = isset($Format["Levels"]) ? $Format["Levels"] : NULL;
-
- $Shadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- if ( $StartR == $EndR && $StartG == $EndG && $StartB == $EndB )
- {
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,array("R"=>$StartR,"G"=>$StartG,"B"=>$StartB,"Alpha"=>$Alpha));
- return(0);
- }
-
- if ( $Levels != NULL )
- { $EndR=$StartR+$Levels; $EndG=$StartG+$Levels; $EndB=$StartB+$Levels; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $Direction == DIRECTION_VERTICAL ) { $Width = abs($Y2-$Y1); }
- if ( $Direction == DIRECTION_HORIZONTAL ) { $Width = abs($X2-$X1); }
-
- $Step = max(abs($EndR-$StartR),abs($EndG-$StartG),abs($EndB-$StartB));
- $StepSize = $Width/$Step;
- $RStep = ($EndR-$StartR)/$Step;
- $GStep = ($EndG-$StartG)/$Step;
- $BStep = ($EndB-$StartB)/$Step;
-
- $R=$StartR;$G=$StartG;$B=$StartB;
- switch($Direction)
- {
- case DIRECTION_VERTICAL:
- $StartY = $Y1; $EndY = floor($Y2)+1; $LastY2 = $StartY;
- for($i=0;$i<=$Step;$i++)
- {
- $Y2 = floor($StartY + ($i * $StepSize));
-
- if ($Y2 > $EndY) { $Y2 = $EndY; }
- if (($Y1 != $Y2 && $Y1 < $Y2) || $Y2 == $EndY)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $LastY2 = max($LastY2,$Y2);
- $Y1 = $Y2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $LastY2 < $EndY && isset($Color)) { for ($i=$LastY2+1;$i<=$EndY;$i++) { $this->drawLine($X1,$i,$X2,$i,$Color); } }
- break;
-
- case DIRECTION_HORIZONTAL:
- $StartX = $X1; $EndX = $X2;
- for($i=0;$i<=$Step;$i++)
- {
- $X2 = floor($StartX + ($i * $StepSize));
-
- if ($X2 > $EndX) { $X2 = $EndX; }
- if (($X1 != $X2 && $X1 < $X2) || $X2 == $EndX)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $X1 = $X2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $X2 < $EndX && isset($Color)) { $this->drawFilledRectangle($X2,$Y1,$EndX,$Y2,$Color); }
- break;
- }
-
- $this->Shadow = $Shadow;
-
- }
-
- /* Draw an aliased pixel */
- function drawAntialiasPixel($X,$Y,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( !$this->Antialias )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $PlotColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$PlotColor);
-
- return(0);
- }
-
- $Plot = "";
- $Xi = floor($X);
- $Yi = floor($Y);
-
- if ( $Xi == $X && $Yi == $Y)
- {
- if ( $Alpha == 100 )
- $this->drawAlphaPixel($X,$Y,100,$R,$G,$B);
- else
- $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
- }
- else
- {
- $Alpha1 = (((1 - ($X - floor($X))) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
-
- $Alpha2 = ((($X - floor($X)) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
-
- $Alpha3 = (((1 - ($X - floor($X))) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
-
- $Alpha4 = ((($X - floor($X)) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
- }
- }
-
- /* Draw a semi-transparent pixel */
- function drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
- {
- if ( isset($this->Mask[$X])) { if ( isset($this->Mask[$X][$Y]) ) { return(0); } }
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $AlphaFactor = floor(($Alpha / 100) * $this->Shadowa);
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$AlphaFactor);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $C_Aliased = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
- }
-
- /* Convert apha to base 10 */
- function convertAlpha($AlphaValue)
- { return((127/100)*(100-$AlphaValue)); }
-
- /* Allocate a color with transparency */
- function allocateColor($Picture,$R,$G,$B,$Alpha=100)
- {
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
- if ( $Alpha < 0 ) { $Alpha = 0; }
- if ( $Alpha > 100) { $Alpha = 100; }
-
- $Alpha = $this->convertAlpha($Alpha);
- return(imagecolorallocatealpha($Picture,$R,$G,$B,$Alpha));
- }
-
- /* Load a PNG file and draw it over the chart */
- function drawFromPNG($X,$Y,$FileName)
- { $this->drawFromPicture(1,$FileName,$X,$Y); }
-
- /* Load a GIF file and draw it over the chart */
- function drawFromGIF($X,$Y,$FileName)
- { $this->drawFromPicture(2,$FileName,$X,$Y); }
-
- /* Load a JPEG file and draw it over the chart */
- function drawFromJPG($X,$Y,$FileName)
- { $this->drawFromPicture(3,$FileName,$X,$Y); }
-
- function getPicInfo($FileName)
- {
- $Infos = getimagesize($FileName);
- $Width = $Infos[0];
- $Height = $Infos[1];
- $Type = $Infos["mime"];
-
- if ( $Type == "image/png") { $Type = 1; }
- if ( $Type == "image/gif") { $Type = 2; }
- if ( $Type == "image/jpeg ") { $Type = 3; }
-
- return(array($Width,$Height,$Type));
- }
-
- /* Generic loader function for external pictures */
- function drawFromPicture($PicType,$FileName,$X,$Y)
- {
- if ( file_exists($FileName))
- {
- list($Width,$Height) = $this->getPicInfo($FileName);
-
- if ( $PicType == 1 )
- { $Raster = imagecreatefrompng($FileName); }
- elseif ( $PicType == 2 )
- { $Raster = imagecreatefromgif($FileName); }
- elseif ( $PicType == 3 )
- { $Raster = imagecreatefromjpeg($FileName); }
- else
- { return(0); }
-
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- if ( $PicType == 3 )
- $this->drawFilledRectangle($X+$this->ShadowX,$Y+$this->ShadowY,$X+$Width+$this->ShadowX,$Y+$Height+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- else
- {
- $TranparentID = imagecolortransparent($Raster);
- for ($Xc=0;$Xc<=$Width-1;$Xc++)
- {
- for ($Yc=0;$Yc<=$Height-1;$Yc++)
- {
- $RGBa = imagecolorat($Raster,$Xc,$Yc);
- $Values = imagecolorsforindex($Raster,$RGBa);
- if ( $Values["alpha"] < 120 )
- {
- $AlphaFactor = floor(($this->Shadowa / 100) * ((100 / 127) * (127-$Values["alpha"])));
- $this->drawAlphaPixel($X+$Xc+$this->ShadowX,$Y+$Yc+$this->ShadowY,$AlphaFactor,$this->ShadowR,$this->ShadowG,$this->ShadowB);
- }
- }
- }
- }
- }
- $this->Shadow = $RestoreShadow;
-
- imagecopy($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height);
- imagedestroy($Raster);
- }
- }
-
- /* Draw an arrow */
- function drawArrow($X1,$Y1,$X2,$Y2,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Ratio = isset($Format["Ratio"]) ? $Format["Ratio"] : .5;
- $TwoHeads = isset($Format["TwoHeads"]) ? $Format["TwoHeads"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : FALSE;
-
- /* Calculate the line angle */
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- /* Override Shadow support, this will be managed internally */
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawArrow($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("FillR"=>$this->ShadowR,"FillG"=>$this->ShadowG,"FillB"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Size"=>$Size,"Ratio"=>$Ratio,"TwoHeads"=>$TwoHeads,"Ticks"=>$Ticks));
- }
-
- /* Draw the 1st Head */
- $TailX = cos(($Angle-180)*PI/180)*$Size+$X2;
- $TailY = sin(($Angle-180)*PI/180)*$Size+$Y2;
-
- $Points = "";
- $Points[] = $X2; $Points[] = $Y2;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = $X2; $Points[] = $Y2;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- /* Draw the second head */
- if ( $TwoHeads )
- {
- $Angle = $this->getAngle($X2,$Y2,$X1,$Y1);
-
- $TailX2 = cos(($Angle-180)*PI/180)*$Size+$X1;
- $TailY2 = sin(($Angle-180)*PI/180)*$Size+$Y1;
-
- $Points = "";
- $Points[] = $X1; $Points[] = $Y1;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = $X1; $Points[] = $Y1;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->drawLine($TailX,$TailY,$TailX2,$TailY2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- $this->drawLine($X1,$Y1,$TailX,$TailY,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- /* Re-enable shadows */
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a label with associated arrow */
- function drawArrowLabel($X1,$Y1,$Text,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Length = isset($Format["Length"]) ? $Format["Length"] : 50;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 315;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Position = isset($Format["Position"]) ? $Format["Position"] : POSITION_TOP;
- $RoundPos = isset($Format["RoundPos"]) ? $Format["RoundPos"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Angle = $Angle % 360;
-
- $X2 = sin(($Angle+180)*PI/180)*$Length+$X1;
- $Y2 = cos(($Angle+180)*PI/180)*$Length+$Y1;
-
- if ( $RoundPos && $Angle > 0 && $Angle < 180 ) { $Y2 = ceil($Y2); }
- if ( $RoundPos && $Angle > 180 ) { $Y2 = floor($Y2); }
-
- $this->drawArrow($X2,$Y2,$X1,$Y1,$Format);
-
- $Size = imagettfbbox($FontSize,0,$FontName,$Text);
- $TxtWidth = max(abs($Size[2]-$Size[0]),abs($Size[0]-$Size[6]));
- $TxtHeight = max(abs($Size[1]-$Size[7]),abs($Size[3]-$Size[1]));
-
- if ( $Angle > 0 && $Angle < 180 )
- {
- $this->drawLine($X2,$Y2,$X2-$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_BOTTOMRIGHT));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPRIGHT));
- }
- else
- {
- $this->drawLine($X2,$Y2,$X2+$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPLEFT));
- }
- }
-
- /* Draw a progress bar filled with specified % */
- function drawProgress($X,$Y,$Percent,$Format="")
- {
- if ( $Percent > 100 ) { $Percent = 100; }
- if ( $Percent < 0 ) { $Percent = 0; }
-
- $Width = isset($Format["Width"]) ? $Format["Width"] : 200;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 20;
- $Orientation = isset($Format["Orientation"]) ? $Format["Orientation"] : ORIENTATION_HORIZONTAL;
- $ShowLabel = isset($Format["ShowLabel"]) ? $Format["ShowLabel"] : FALSE;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : LABEL_POS_INSIDE;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 10;
- $R = isset($Format["R"]) ? $Format["R"] : 130;
- $G = isset($Format["G"]) ? $Format["G"] : 130;
- $B = isset($Format["B"]) ? $Format["B"] : 130;
- $RFade = isset($Format["RFade"]) ? $Format["RFade"] : -1;
- $GFade = isset($Format["GFade"]) ? $Format["GFade"] : -1;
- $BFade = isset($Format["BFade"]) ? $Format["BFade"] : -1;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 0;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 0;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 0;
- $BoxBackR = isset($Format["BoxBackR"]) ? $Format["BoxBackR"] : 255;
- $BoxBackG = isset($Format["BoxBackG"]) ? $Format["BoxBackG"] : 255;
- $BoxBackB = isset($Format["BoxBackB"]) ? $Format["BoxBackB"] : 255;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $RFade = (($RFade-$R)/100)*$Percent+$R;
- $GFade = (($GFade-$G)/100)*$Percent+$G;
- $BFade = (($BFade-$B)/100)*$Percent+$B;
- }
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( $BoxSurrounding != NULL ) { $BoxBorderR = $BoxBackR + $Surrounding; $BoxBorderG = $BoxBackG + $Surrounding; $BoxBorderB = $BoxBackB + $Surrounding; }
-
- if ( $Orientation == ORIENTATION_VERTICAL )
- {
- $InnerHeight = (($Height-2)/100)*$Percent;
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y-$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$RFade,"StartG"=>$GFade,"StartB"=>$BFade,"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,DIRECTION_VERTICAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_BOTTOM ) { $this->drawText($X+($Width/2),$Y+$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_TOP ) { $this->drawText($X+($Width/2),$Y-$Height-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+($Width/2),$Y-$InnerHeight-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT,"Angle"=>90)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y-($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"Angle"=>90)); }
- }
- else
- {
- if ( $Percent == 100 )
- $InnerWidth = $Width-1;
- else
- $InnerWidth = (($Width-2)/100)*$Percent;
-
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y+$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$R,"StartG"=>$G,"StartB"=>$B,"EndR"=>$RFade,"EndG"=>$GFade,"EndB"=>$BFade);
- $this->drawGradientArea($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,DIRECTION_HORIZONTAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_LEFT ) { $this->drawText($X-$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_RIGHT ) { $this->drawText($X+$Width+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+$InnerWidth+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- }
- }
-
- /* Get the legend box size */
- function getLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $X=100; $Y=100;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the legend of the active series */
- function drawLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
- $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( isset($Serie["Picture"]) )
- {
- $Picture = $Serie["Picture"];
- list($PicWidth,$PicHeight) = $this->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- foreach($Lines as $Key => $Value)
- $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
-
- $this->Shadow = $RestoreShadow;
- }
-
- function drawScale($Format="")
- {
- $Pos = isset($Format["Pos"]) ? $Format["Pos"] : SCALE_POS_LEFTRIGHT;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : AUTO;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : TRUE;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $AutoAxisLabels = isset($Format["AutoAxisLabels"]) ? $Format["AutoAxisLabels"] : TRUE;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 20;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 20;
- $LabelingMethod = isset($Format["LabelingMethod"]) ? $Format["LabelingMethod"] : LABELING_ALL;
- $LabelSkip = isset($Format["LabelSkip"]) ? $Format["LabelSkip"] : 0;
- $LabelRotation = isset($Format["LabelRotation"]) ? $Format["LabelRotation"] : 0;
- $SkippedAxisTicks = isset($Format["SkippedAxisTicks"]) ? $Format["SkippedAxisTicks"] : $GridTicks+2;
- $SkippedAxisR = isset($Format["SkippedAxisR"]) ? $Format["SkippedAxisR"] : $GridR;
- $SkippedAxisG = isset($Format["SkippedAxisG"]) ? $Format["SkippedAxisG"] : $GridG;
- $SkippedAxisB = isset($Format["SkippedAxisB"]) ? $Format["SkippedAxisB"] : $GridB;
- $SkippedAxisAlpha = isset($Format["SkippedAxisAlpha"]) ? $Format["SkippedAxisAlpha"] : $GridAlpha-30;
- $SkippedTickR = isset($Format["SkippedTickR"]) ? $Format["SkippedTickR"] : $TickRo;
- $SkippedTickG = isset($Format["SkippedTickG"]) ? $Format["SkippedTickG"] : $TickGo;
- $SkippedTickB = isset($Format["SkippedTicksB"]) ? $Format["SkippedTickB"] : $TickBo;
- $SkippedTickAlpha = isset($Format["SkippedTickAlpha"]) ? $Format["SkippedTickAlpha"] : $TickAlpha-80;
- $SkippedInnerTickWidth = isset($Format["SkippedInnerTickWidth"]) ? $Format["SkippedInnerTickWidth"] : 0;
- $SkippedOuterTickWidth = isset($Format["SkippedOuterTickWidth"]) ? $Format["SkippedOuterTickWidth"] : 2;
-
- /* Floating scale require X & Y margins to be set manually */
- if ( $Floating && ( $XMargin == AUTO || $YMargin == 0 ) ) { $Floating = FALSE; }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE || $DrawYLines == FALSE ) { $DrawYLines = array("zarma"=>"31"); }
-
- /* Define the color for the skipped elements */
- $SkippedAxisColor = array("R"=>$SkippedAxisR,"G"=>$SkippedAxisG,"B"=>$SkippedAxisB,"Alpha"=>$SkippedAxisAlpha,"Ticks"=>$SkippedAxisTicks);
- $SkippedTickColor = array("R"=>$SkippedTickR,"G"=>$SkippedTickG,"B"=>$SkippedTickB,"Alpha"=>$SkippedTickAlpha);
-
- $Data = $this->DataSet->getData();
- if ( isset($Data["Abscissa"]) ) { $Abscissa = $Data["Abscissa"]; } else { $Abscissa = NULL; }
-
- /* Unset the abscissa axis, needed if we display multiple charts on the same picture */
- if ( $Abscissa != NULL )
- {
- foreach($Data["Axis"] as $AxisID => $Parameters)
- { if ($Parameters["Identity"] == AXIS_X) { unset($Data["Axis"][$AxisID]); } }
- }
-
- /* Build the scale settings */
- $GotXAxis = FALSE;
- foreach($Data["Axis"] as $AxisID => $AxisParameter)
- {
- if ( $AxisParameter["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
-
- if ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1 - $YMargin*2; }
- elseif ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_X)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1 - $YMargin*2;; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING || $Mode == SCALE_MODE_START0 )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] && $Data["Abscissa"] != $SerieID)
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- if ( $Mode == SCALE_MODE_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
- elseif ( $Mode == SCALE_MODE_ADDALL || $Mode == SCALE_MODE_ADDALL_START0 )
- {
- $Series = "";
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["Axis"] == $AxisID && $SerieParameter["isDrawable"] && $Data["Abscissa"] != $SerieID ) { $Series[$SerieID] = count($Data["Series"][$SerieID]["Data"]); } }
-
- for ($ID=0;$ID<=max($Series)-1;$ID++)
- {
- $PointMin = 0; $PointMax = 0;
- foreach($Series as $SerieID => $ValuesCount )
- {
- if (isset($Data["Series"][$SerieID]["Data"][$ID]) && $Data["Series"][$SerieID]["Data"][$ID] != NULL )
- {
- $Value = $Data["Series"][$SerieID]["Data"][$ID];
- if ( $Value > 0 ) { $PointMax = $PointMax + $Value; } else { $PointMin = $PointMin + $Value; }
- }
- }
- $AxisMax = max($AxisMax,$PointMax);
- $AxisMin = min($AxisMin,$PointMin);
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- $MaxDivs = floor($Height/$MinDivHeight);
-
- if ( $Mode == SCALE_MODE_ADDALL_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
-
- $Scale = $this->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisParameter["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Still no X axis */
- if ( $GotXAxis == FALSE )
- {
- if ( $Abscissa != NULL )
- {
- $Points = count($Data["Series"][$Abscissa]["Data"]);
- if ( $AutoAxisLabels )
- $AxisName = isset($Data["Series"][$Abscissa]["Description"]) ? $Data["Series"][$Abscissa]["Description"] : NULL;
- else
- $AxisName = NULL;
- }
- else
- {
- $Points = 0;
- $AxisName = isset($Data["XAxisName"]) ? $Data["XAxisName"] : NULL;
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["isDrawable"] ) { $Points = max($Points,count($SerieParameter["Data"])); } }
- }
-
- $AxisID = count($Data["Axis"]);
- $Data["Axis"][$AxisID]["Identity"] = AXIS_X;
- if ( $Pos == SCALE_POS_LEFTRIGHT ) { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_BOTTOM; } else { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; }
- if ( isset($Data["AbscissaName"]) ) { $Data["Axis"][$AxisID]["Name"] = $Data["AbscissaName"]; }
- if ( $XMargin == AUTO )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- if ( $Points == 1 )
- $Data["Axis"][$AxisID]["Margin"] = $Height / 2;
- else
- $Data["Axis"][$AxisID]["Margin"] = ($Height/$Points) / 2;
- }
- else
- { $Data["Axis"][$AxisID]["Margin"] = $XMargin; }
- $Data["Axis"][$AxisID]["Rows"] = $Points-1;
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- $this->DataSet->saveOrientation($Pos);
- $this->DataSet->saveAxisConfig($Data["Axis"]);
- $this->DataSet->saveYMargin($YMargin);
-
- $FontColorRo = $this->FontColorR; $FontColorGo = $this->FontColorG; $FontColorBo = $this->FontColorB;
-
- $AxisPos["L"] = $this->GraphAreaX1; $AxisPos["R"] = $this->GraphAreaX2; $AxisPos["T"] = $this->GraphAreaY1; $AxisPos["B"] = $this->GraphAreaY2;
- foreach($Data["Axis"] as $AxisID => $Parameters)
- {
- if ( isset($Parameters["Color"]) )
- {
- $AxisR = $Parameters["Color"]["R"]; $AxisG = $Parameters["Color"]["G"]; $AxisB = $Parameters["Color"]["B"];
- $TickR = $Parameters["Color"]["R"]; $TickG = $Parameters["Color"]["G"]; $TickB = $Parameters["Color"]["B"];
- $this->setFontProperties(array("R"=>$Parameters["Color"]["R"],"G"=>$Parameters["Color"]["G"],"B"=>$Parameters["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $Parameters["Identity"] == AXIS_X )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / ($Parameters["Rows"]); }
-
- $MaxBottom = $AxisPos["B"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$SkippedInnerTickWidth,$XPos,$YPos+$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($XPos != $this->GraphAreaX1 && $XPos != $this->GraphAreaX2) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / $Parameters["Rows"]; }
-
- $MinTop = $AxisPos["T"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-2-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$SkippedInnerTickWidth,$XPos,$YPos-$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$InnerTickWidth,$XPos,$YPos-$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -2; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MinLeft = $AxisPos["L"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["L"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos-$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos-$SkippedOuterTickWidth,$YPos,$XPos+$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($YPos != $this->GraphAreaY1 && $YPos != $this->GraphAreaY2) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[0]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 7; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MaxRight = $AxisPos["R"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["R"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos+$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxRight = max($MaxRight,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos+$SkippedOuterTickWidth,$YPos,$XPos-$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos+$OuterTickWidth,$YPos,$XPos-$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxRight+4;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxRight = $Bounds[1]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxRight + $this->FontSize;
- }
-
- $AxisPos["R"] = $MaxRight + $ScaleSpacing;
- }
- }
- }
-
-
-
- if ( $Parameters["Identity"] == AXIS_Y )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxLeft + $this->FontSize;
- }
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-2,$Value,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $TxtHeight = $YPos-$OuterTickWidth-2-($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+2,$Value,array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $TxtHeight = $YPos+$OuterTickWidth+2+($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- }
- }
- }
- }
-
- function isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip)
- {
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value != $LastValue ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value == $LastValue ) { return(FALSE); }
- if ( $LabelingMethod == LABELING_ALL && $LabelSkip == 0 ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_ALL && ($ID+$LabelSkip) % ($LabelSkip+1) != 1 ) { return(FALSE); }
-
- return(TRUE);
- }
-
- /* Compute the scale, check for the best visual factors */
- function computeScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID=0)
- {
- /* Compute each factors */
- $Results = "";
- foreach ($Factors as $Key => $Factor)
- $Results[$Factor] = $this->processScale($XMin,$XMax,$MaxDivs,array($Factor),$AxisID);
-
- /* Remove scales that are creating to much decimals */
- $GoodScaleFactors = "";
- foreach ($Results as $Key => $Result)
- {
- $Decimals = preg_split("/\./",$Result["RowHeight"]);
- if ( (!isset($Decimals[1])) || (strlen($Decimals[1]) < 6) ) { $GoodScaleFactors[] = $Key; }
- }
-
- /* Found no correct scale, shame,... returns the 1st one as default */
- if ( $GoodScaleFactors == "" ) { return($Results[$Factors[0]]); }
-
- /* Find the factor that cause the maximum number of Rows */
- $MaxRows = 0; $BestFactor = 0;
- foreach($GoodScaleFactors as $Key => $Factor)
- { if ( $Results[$Factor]["Rows"] > $MaxRows ) { $MaxRows = $Results[$Factor]["Rows"]; $BestFactor = $Factor; } }
-
- /* Return the best visual scale */
- return($Results[$BestFactor]);
- }
-
- /* Compute the best matching scale based on size & factors */
- function processScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID)
- {
- $ScaleHeight = abs(ceil($XMax)-floor($XMin));
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Format"]) )
- $Format = $this->DataSet->Data["Axis"][$AxisID]["Format"];
- else
- $Format = NULL;
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Display"]) )
- $Mode = $this->DataSet->Data["Axis"][$AxisID]["Display"];
- else
- $Mode = AXIS_FORMAT_DEFAULT;
-
- $Scale = "";
- if ( $XMin != $XMax )
- {
- $Found = FALSE; $Rescaled = FALSE; $Scaled10Factor = .0001; $Result = 0;
- while(!$Found)
- {
- foreach($Factors as $Key => $Factor)
- {
- if ( !$Found )
- {
- if ( !($this->modulo($XMin,$Factor*$Scaled10Factor) == 0) || ($XMin != floor($XMin))) { $XMinRescaled = floor($XMin/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor; } else { $XMinRescaled = $XMin; }
- if ( !($this->modulo($XMax,$Factor*$Scaled10Factor) == 0) || ($XMax != floor($XMax))) { $XMaxRescaled = floor($XMax/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor+($Factor*$Scaled10Factor); } else { $XMaxRescaled = $XMax; }
- $ScaleHeightRescaled = abs($XMaxRescaled-$XMinRescaled);
-
- if ( !$Found && floor($ScaleHeightRescaled/($Factor*$Scaled10Factor)) <= $MaxDivs ) { $Found = TRUE; $Rescaled = TRUE; $Result = $Factor * $Scaled10Factor; }
- }
- }
- $Scaled10Factor = $Scaled10Factor * 10;
- }
-
- /* ReCall Min / Max / Height */
- if ( $Rescaled ) { $XMin = $XMinRescaled; $XMax = $XMaxRescaled; $ScaleHeight = $ScaleHeightRescaled; }
-
- /* Compute rows size */
- $Rows = floor($ScaleHeight / $Result); if ( $Rows == 0 ) { $Rows = 1; }
- $RowHeight = $ScaleHeight / $Rows;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
-
- /* Compute the needed decimals for the metric view to avoid repetition of the same X Axis labels */
- if ( $Mode == AXIS_FORMAT_METRIC && $Format == NULL )
- {
- $Done = FALSE; $GoodDecimals = 0;
- for($Decimals=0;$Decimals<=10;$Decimals++)
- {
- if ( !$Done )
- {
- $LastLabel = "zob"; $ScaleOK = TRUE;
- for($i=0;$i<=$Rows;$i++)
- {
- $Value = $XMin + $i*$RowHeight;
- $Label = $this->scaleFormat($Value,AXIS_FORMAT_METRIC,$Decimals);
-
- if ( $LastLabel == $Label ) { $ScaleOK = FALSE; }
- $LastLabel = $Label;
- }
- if ( $ScaleOK ) { $Done = TRUE; $GoodDecimals = $Decimals; }
- }
- }
-
- $Scale["Format"] = $GoodDecimals;
- }
- }
- else
- {
- /* If all values are the same we keep a +1/-1 scale */
- $Rows = 2; $XMin = $XMax-1; $XMax = $XMax+1; $RowHeight = 1;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
- }
-
- return($Scale);
- }
-
- function modulo($Value1,$Value2)
- {
- if (floor($Value2) == 0) { return(0); }
- if (floor($Value2) != 0) { return($Value1 % $Value2); }
-
- $MinValue = min($Value1,$Value2); $Factor = 10;
- while ( floor($MinValue*$Factor) == 0 )
- { $Factor = $Factor * 10; }
-
- return(($Value1*$Factor) % ($Value2*$Factor));
- }
-
- /* Draw a threshold with the computed scale */
- function drawThreshold($Value,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 50;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 6;
- $Wide = isset($Format["Wide"]) ? $Format["Wide"] : FALSE;
- $WideFactor = isset($Format["WideFactor"]) ? $Format["WideFactor"] : 5;
- $WriteCaption = isset($Format["WriteCaption"]) ? $Format["WriteCaption"] : FALSE;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : NULL;
- $CaptionAlign = isset($Format["CaptionAlign"]) ? $Format["CaptionAlign"] : CAPTION_LEFT_TOP;
- $CaptionOffset = isset($Format["CaptionOffset"]) ? $Format["CaptionOffset"] : 10;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 30;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha,
- "R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha);
-
- if ( $Caption == NULL ) { $Caption = $Value; }
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $YPos >= $this->GraphAreaY1 && $YPos <= $this->GraphAreaY2 )
- {
- $this->drawLine($this->GraphAreaX1,$YPos,$this->GraphAreaX2,$YPos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($this->GraphAreaX1,$YPos-1,$this->GraphAreaX2,$YPos-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($this->GraphAreaX1,$YPos+1,$this->GraphAreaX2,$YPos+1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $X = $this->GraphAreaX1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- { $X = $this->GraphAreaX2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
-
- $this->drawText($X,$YPos,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$YPos));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $XPos >= $this->GraphAreaX1 && $XPos <= $this->GraphAreaX2 )
- {
- $this->drawLine($XPos,$this->GraphAreaY1,$XPos,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($XPos-1,$this->GraphAreaY1,$XPos-1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($XPos+1,$this->GraphAreaY1,$XPos+1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $Y = $this->GraphAreaY1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- else
- { $Y = $this->GraphAreaY2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
-
- $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $this->drawText($XPos,$Y,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$XPos));
- }
- }
-
- /* Draw a threshold with the computed scale */
- function drawThresholdArea($Value1,$Value2,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 20;
- $Border = isset($Format["Border"]) ? $Format["Border"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha + 20;
- $BorderTicks = isset($Format["BorderTicks"]) ? $Format["BorderTicks"] : 2;
-
- if ($BorderAlpha >100) { $BorderAlpha = 100;}
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $YPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $YPos1 > $this->GraphAreaY2 ) { $YPos1 = $this->GraphAreaY2; } if ( $YPos1 < $this->GraphAreaY1 ) { $YPos1 = $this->GraphAreaY1; }
- if ( $YPos2 > $this->GraphAreaY2 ) { $YPos2 = $this->GraphAreaY2; } if ( $YPos2 < $this->GraphAreaY1 ) { $YPos2 = $this->GraphAreaY1; }
-
- $this->drawFilledRectangle($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($this->GraphAreaX1+1,$YPos2,$this->GraphAreaX2-1,$YPos2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$YPos1,"Y2"=>$YPos2));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $XPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $XPos1 > $this->GraphAreaX2 ) { $XPos1 = $this->GraphAreaX2; } if ( $XPos1 < $this->GraphAreaX1 ) { $XPos1 = $this->GraphAreaX1; }
- if ( $XPos2 > $this->GraphAreaX2 ) { $XPos2 = $this->GraphAreaX2; } if ( $XPos2 < $this->GraphAreaX1 ) { $XPos2 = $this->GraphAreaX1; }
-
- $this->drawFilledRectangle($XPos1,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($XPos1,$this->GraphAreaY1+1,$XPos1,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($XPos2,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$XPos1,"Y2"=>$XPos2));
- }
- }
-
- function scaleGetXSettings()
- {
- $Data = $this->DataSet->getData();
- foreach($Data["Axis"] as $AxisID => $Settings)
- {
- if ( $Settings["Identity"] == AXIS_X )
- {
- $Rows = $Settings["Rows"];
-
- return(array($Settings["Margin"],$Rows));
- }
- }
- }
-
- function scaleComputeY($Values,$Option="",$ReturnOnly0Height=FALSE)
- {
- $AxisID = isset($Option["AxisID"]) ? $Option["AxisID"] : 0;
- $SerieName = isset($Option["SerieName"]) ? $Option["SerieName"] : NULL;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $SerieName != NULL ) { $AxisID = $Data["Series"][$SerieName]["Axis"]; }
- if ( !is_array($Values) ) { $tmp = $Values; $Values = ""; $Values[0] = $tmp; }
-
- $Result = "";
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
- else
- {
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleWidth = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Width / $ScaleWidth;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
-
- if ( count($Result) == 1 )
- return($Result[0]);
- else
- return($Result);
- }
-
- /* Format the axis values */
- function scaleFormat($Value,$Mode=NULL,$Format=NULL,$Unit=NULL)
- {
- if ( $Value == VOID ) { return(""); }
-
- if ( $Mode == AXIS_FORMAT_DATE )
- { if ( $Format == NULL ) { $Pattern = "d/m/Y"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_TIME )
- { if ( $Format == NULL ) { $Pattern = "H:i:s"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_CURRENCY )
- { return($Format.number_format($Value,2)); }
-
- if ( $Mode == AXIS_FORMAT_METRIC )
- {
- if (abs($Value) > 1000000000)
- return(round($Value/1000000000,$Format)."g".$Unit);
- if (abs($Value) > 1000000)
- return(round($Value/1000000,$Format)."m".$Unit);
- elseif (abs($Value) >= 1000)
- return(round($Value/1000,$Format)."k".$Unit);
-
- }
- return($Value.$Unit);
- }
-
- /* Write Max value on a chart */
- function writeBounds($Type=BOUND_BOTH,$Format=NULL)
- {
- $MaxLabelTxt = isset($Format["MaxLabelTxt"]) ? $Format["MaxLabelTxt"] : "max=";
- $MinLabelTxt = isset($Format["MinLabelTxt"]) ? $Format["MinLabelTxt"] : "min=";
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : 1;
- $ExcludedSeries = isset($Format["ExcludedSeries"]) ? $Format["ExcludedSeries"] : "";
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $MaxDisplayR = isset($Format["MaxDisplayR"]) ? $Format["MaxDisplayR"] : 0;
- $MaxDisplayG = isset($Format["MaxDisplayG"]) ? $Format["MaxDisplayG"] : 0;
- $MaxDisplayB = isset($Format["MaxDisplayB"]) ? $Format["MaxDisplayB"] : 0;
- $MinDisplayR = isset($Format["MinDisplayR"]) ? $Format["MinDisplayR"] : 255;
- $MinDisplayG = isset($Format["MinDisplayG"]) ? $Format["MinDisplayG"] : 255;
- $MinDisplayB = isset($Format["MinDisplayB"]) ? $Format["MinDisplayB"] : 255;
- $MinLabelPos = isset($Format["MinLabelPos"]) ? $Format["MinLabelPos"] : BOUND_LABEL_POS_AUTO;
- $MaxLabelPos = isset($Format["MaxLabelPos"]) ? $Format["MaxLabelPos"] : BOUND_LABEL_POS_AUTO;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 20;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha);
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Data = $this->DataSet->getData();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && !isset($ExcludedSeries[$SerieName]))
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $MinValue = $this->DataSet->getMin($SerieName);
- $MaxValue = $this->DataSet->getMax($SerieName);
-
- $MinPos = VOID; $MaxPos = VOID;
- foreach($Serie["Data"] as $Key => $Value)
- {
- if ( $Value == $MinValue && $MinPos == VOID ) { $MinPos = $Key; }
- if ( $Value == $MaxValue ) { $MaxPos = $Key; }
- }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaX1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat(round($MaxValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat(round($MinValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos-$DisplayOffset+$YOffset,$Label,$CaptionSettings);
- }
- }
- else
- {
- $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaY1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat($MaxValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat($MinValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
- }
- }
- }
- }
-
- /* Draw a plot chart */
- function drawPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 50;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 50;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 50;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( isset($Serie["Picture"]) )
- { $Picture = $Serie["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->getPicInfo($Picture); }
- else { $Picture = NULL; $PicOffset = 0; }
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Shape = $Serie["Shape"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicHeight / 2; $PlotSize = 0; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset-$PlotSize-$BorderSize-$PicOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicWidth / 2; $PlotSize = 0; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset+$PlotSize+$BorderSize+$PicOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a spline chart */
- function drawSplineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL; // 234
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL; // 55
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL; // 26
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y == VOID && $LastY != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $Y != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X == VOID && $LastX != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodX != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $X != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $X != VOID ) { $LastGoodX = $X; $LastGoodY = $Y; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
- }
- }
-
- /* Draw a filled spline chart */
- function drawFilledSplineChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- if ( $AroundZero ) { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- $LastX = ""; $LastY = "";
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y-.5); /* -.5 for AA visual fix */
-
- $X = $X + $XStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y);
-
- $Y = $Y + $YStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawLineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- { $this->drawText($X+$DisplayOffset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawZoneChart($SerieA,$SerieB,$Format=NULL)
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 150;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 150;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 150;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 50;
- $LineTicks = isset($Format["LineTicks"]) ? $Format["LineTicks"] : 1;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 150;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 150;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 150;
- $AreaAlpha = isset($Format["AreaAlpha"]) ? $Format["AreaAlpha"] : 5;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Series"][$SerieA]["Data"]) || !isset($Data["Series"][$SerieB]["Data"]) ) { return(0); }
- $SerieAData = $Data["Series"][$SerieA]["Data"];
- $SerieBData = $Data["Series"][$SerieB]["Data"];
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArrayA = $this->scaleComputeY($SerieAData,array("AxisID"=>$AxisID));
- $PosArrayB = $this->scaleComputeY($SerieBData,array("AxisID"=>$AxisID));
- if ( count($PosArrayA) != count($PosArrayB) ) { return(0); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastX = NULL; $LastY1 = NULL; $LastY2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $Y1)
- {
- $Y2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X; $BoundsA[] = $Y1;
- $BoundsB[] = $X; $BoundsB[] = $Y2;
-
- $LastX = $X;
- $LastY1 = $Y1; $LastY2 = $Y2;
-
- $X = $X + $XStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastY = NULL; $LastX1 = NULL; $LastX2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $X1)
- {
- $X2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X1; $BoundsA[] = $Y;
- $BoundsB[] = $X2; $BoundsB[] = $Y;
-
- $LastY = $Y;
- $LastX1 = $X1; $LastX2 = $X2;
-
- $Y = $Y + $YStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- }
-
- /* Draw a step chart */
- function drawStepChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : FALSE;
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Y <= $LastY ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$X,$LastY,$Color);
- $this->drawLine($X,$LastY,$X,$Y,$Color);
- if ( $ReCenter && $X+$XStep < $this->GraphAreaX2 - $XMargin )
- {
- $this->drawLine($X,$Y,$X+$XStep,$Y,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- { if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); } }
- }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- if ( $ReCenter )
- {
- $this->drawLine($LastGoodX+$XStep,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX+$XStep-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- {
- $this->drawLine($LastGoodX,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- $this->drawLine($X,$LastGoodY,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif( !$BreakVoid && $LastGoodY == NULL && $Y != VOID )
- {
- $this->drawLine($this->GraphAreaX1 + $XMargin,$Y,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($this->GraphAreaX1+$XMargin-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$this->GraphAreaX2 - $XMargin,$LastY,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($this->GraphAreaX2-$XMargin+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $X >= $LastX ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$LastX,$Y,$Color);
- $this->drawLine($LastX,$Y,$X,$Y,$Color);
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- $this->drawLine($LastGoodX,$LastGoodY,$LastGoodX,$LastGoodY+$YStep,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($LastGoodY+$YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$LastGoodY+$YStep,$LastGoodX,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY+$YStep-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$Y,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif ( $X != VOID && $LastGoodY == NULL && !$BreakVoid )
- {
- $this->drawLine($X,$this->GraphAreaY1 + $XMargin,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($this->GraphAreaY1+$XMargin-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( !$Init && $ReCenter ) { $Y = $Y - $YStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$LastX,$this->GraphAreaY2 - $XMargin,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$ImageMapPlotSize).",".floor($this->GraphAreaY2-$XMargin+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- }
- }
- }
-
- /* Draw a step chart */
- function drawFilledStepChart($Format=NULL)
- {
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
- if ( $ForceTransparency != NULL ) { $Color["Alpha"] = $ForceTransparency; } else { $Color["Alpha"] = $Alpha; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = ""; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $YZero;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $LastX; $Points[] = $YZero; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX+$XStep/2; $Points[] = $LastY;
- $Points[] = $LastX+$XStep/2; $Points[] = $YZero;
- }
- else
- { $Points[] = $LastX; $Points[] = $YZero; }
-
- $this->drawPolygon($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = "";
- foreach($PosArray as $Key => $X)
- {
- if ( $X == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $YZero; $Points[] = $Y;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $YZero; $Points[] = $LastY; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( $LastX == NULL && $ReCenter ) { $Y = $Y - $YStep/2; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX; $Points[] = $LastY+$YStep/2;
- $Points[] = $YZero; $Points[] = $LastY+$YStep/2;
- }
- else
- { $Points[] = $YZero; $Points[] = $LastY; }
-
- $this->drawPolygon($Points,$Color);
- }
- }
- }
- }
-
- /* Draw an area chart */
- function drawAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : 25;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Areas = ""; $AreaID = 0;
- $Areas[$AreaID][] = $this->GraphAreaX1 + $XMargin;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y == VOID && isset($Areas[$AreaID]) )
- {
- if($LastX == NULL)
- { $Areas[$AreaID][] = $X; }
- else
- { $Areas[$AreaID][] = $LastX; }
-
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- $AreaID++;
- }
- elseif ($Y != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- $Areas[$AreaID][] = $X;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X;
- $X = $X + $XStep;
- }
- $Areas[$AreaID][] = $LastX;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Areas = ""; $AreaID = 0;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $this->GraphAreaY1 + $XMargin;
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X == VOID && isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
-
- if($LastY == NULL)
- { $Areas[$AreaID][] = $Y; }
- else
- { $Areas[$AreaID][] = $LastY; }
-
- $AreaID++;
- }
- elseif ($X != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $Y;
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $LastY;
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- }
- }
- }
-
-
- /* Draw a bar chart */
- function drawBarChart($Format=NULL)
- {
- $Floating0Serie = isset($Format["Floating0Serie"]) ? $Format["Floating0Serie"] : NULL;
- $Floating0Value = isset($Format["Floating0Value"]) ? $Format["Floating0Value"] : NULL;
- $Draw0Line = isset($Format["Draw0Line"]) ? $Format["Draw0Line"] : FALSE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayPos = isset($Format["DisplayPos"]) ? $Format["DisplayPos"] : LABEL_POS_OUTSIDE;
- $DisplayShadow = isset($Format["DisplayShadow"]) ? $Format["DisplayShadow"] : TRUE;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $TxtMargin = isset($Format["TxtMargin"]) ? $Format["TxtMargin"] : 6;
- $OverrideColors = isset($Format["OverrideColors"]) ? $Format["OverrideColors"] : NULL;
- $OverrideSurrounding = isset($Format["OverrideSurrounding"]) ? $Format["OverrideSurrounding"] : 30;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $OverrideColors != NULL )
- {
- $OverrideColors = $this->validatePalette($OverrideColors,$OverrideSurrounding);
- $this->DataSet->saveExtendedData("Palette",$OverrideColors);
- }
-
- $RestoreShadow = $this->Shadow;
-
- $SeriesCount = $this->countDrawableSeries();
- $CurrentSerie = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Floating0Value != NULL )
- { $YZero = $this->scaleComputeY($Floating0Value,array("AxisID"=>$Serie["Axis"])); }
- else
- { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- if ( $XDivs == 0 ) { $XSize = ($this->GraphAreaX2-$this->GraphAreaX1)/($SeriesCount+$Interleave); } else { $XSize = ($XStep / ($SeriesCount+$Interleave) ); }
-
- $XOffset = -($XSize*$SeriesCount)/2 + $CurrentSerie * $XSize;
- if ( $X + $XOffset <= $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $X + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $XOffset + $XSize / 2;
-
- if ( $Rounded || $BorderR != -1) { $XSpace = 1; } else { $XSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0;
- foreach($PosArray as $Key => $Y2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- { $Value = $Data["Series"][$Floating0Serie]["Data"][$Key]; }
- else
- { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $Y2 != VOID )
- {
- $BarHeight = $Y1 - $Y2;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y1,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset+$XSpace).",".floor($Y1).",".floor($X+$XOffset+$XSize-$XSpace).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle($X+$XOffset+$XSpace+1,min($Y1,$Y2)+1,$X+$XOffset+$XSize-$XSpace-1,max($Y1,$Y2)-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_VERTICAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSpan-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor1);
- $this->drawGradientArea($X+$XOffset+$XSpan+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($Y1 - $Y2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $Y1 - $Y2 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1)-$Line0Width,$Line0Color);
- $this->drawLine($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1),$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,90,$Caption);
- $TxtHeight = $TxtPos[0]["Y"] - $TxtPos[1]["Y"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtHeight) < abs($BarHeight) )
- {
- $CenterX = (($X+$XOffset+$XSize-$XSpace)-($X+$XOffset+$XSpace))/2 + $X+$XOffset+$XSpace;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"Angle"=>90));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$XOffset+$XSize/2,$Y2-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-
- $X = $X + $XStep;
- $ID++;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- if ( $XDivs == 0 ) { $YSize = ($this->GraphAreaY2-$this->GraphAreaY1)/($SeriesCount+$Interleave); } else { $YSize = ($YStep / ($SeriesCount+$Interleave) ); }
-
- $YOffset = -($YSize*$SeriesCount)/2 + $CurrentSerie * $YSize;
- if ( $Y + $YOffset <= $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $Y + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $YOffset + $YSize / 2;
-
- if ( $Rounded || $BorderR != -1 ) { $YSpace = 1; } else { $YSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0 ;
- foreach($PosArray as $Key => $X2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- $Value = $Data["Series"][$Floating0Serie]["Data"][$Key];
- else { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $X2 != VOID )
- {
- $BarWidth = $X2 - $X1;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X1,$Y+$YOffset+$YSpace,$X1,$Y+$YOffset+$YSize-$YSpace,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1).",".floor($Y+$YOffset+$YSpace).",".floor($X2).",".floor($Y+$YOffset+$YSize-$YSpace),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle(min($X1,$X2)+1,$Y+$YOffset+$YSpace+1,max($X1,$X2)-1,$Y+$YOffset+$YSize-$YSpace-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_HORIZONTAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSpan-$YSpace,DIRECTION_VERTICAL,$GradienColor1);
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpan,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_VERTICAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($X1 - $X2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $X2 - $X1 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle(floor($X1),$Y+$YOffset+$YSpace,floor($X1)+$Line0Width,$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- $this->drawLine(floor($X1),$Y+$YOffset+$YSpace,floor($X1),$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = $TxtPos[1]["X"] - $TxtPos[0]["X"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtWidth) < abs($BarWidth) )
- {
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = (($Y+$YOffset+$YSize-$YSpace)-($Y+$YOffset+$YSpace))/2 + ($Y+$YOffset+$YSpace);
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X2+$Offset,$Y+$YOffset+$YSize/2,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- $Y = $Y + $YStep;
- $ID++;
- }
- }
- $CurrentSerie++;
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedBarChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- $Color = array("TransCorner"=>TRUE,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $XSize = ($XStep / (1+$Interleave) );
- $XOffset = -($XSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Height)
- {
- if ( $Height != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $Y1 != $YZero) ) { $YSpaceUp = 1; } else { $YSpaceUp = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $Y1 != $YZero) ) { $YSpaceDown = 1; } else { $YSpaceDown = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset).",".floor($Y1-$YSpaceUp+$YSpaceDown).",".floor($X+$XOffset+$XSize).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X+$XOffset+1,$X+$XOffset+$XSize),min($Y1-$YSpaceUp+$YSpaceDown,$Y2)+1,max($X+$XOffset+1,$X+$XOffset+$XSize)-1,max($Y1-$YSpaceUp+$YSpaceDown,$Y2)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_VERTICAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSpan,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor1);
- $this->drawGradientArea($X+$XSpan+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = ( ($X+$XOffset+$XSize) - ($X+$XOffset) ) / 2 + $X+$XOffset;
- $YCenter = ( ($Y2) - ($Y1-$YSpaceUp+$YSpaceDown) ) / 2 + $Y1-$YSpaceUp+$YSpaceDown;
-
- $this->drawText($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
-
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $YSize = $YStep / (1+$Interleave);
- $YOffset = -($YSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Width)
- {
- if ( $Width != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $X1 != $YZero) ) { $XSpaceLeft = 2; } else { $XSpaceLeft = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $X1 != $YZero) ) { $XSpaceRight = 2; } else { $XSpaceRight = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1+$XSpaceLeft).",".floor($Y+$YOffset).",".floor($X2-$XSpaceRight).",".floor($Y+$YOffset+$YSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X1+$XSpaceLeft,$X2-$XSpaceRight)+1,min($Y+$YOffset,$Y+$YOffset+$YSize)+1,max($X1+$XSpaceLeft,$X2-$XSpaceRight)-1,max($Y+$YOffset,$Y+$YOffset+$YSize)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_HORIZONTAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSpan,DIRECTION_VERTICAL,$GradientColor1);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset+$YSpan,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_VERTICAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = ( $X2 - $X1 ) / 2 + $X1;
- $YCenter = ( ($Y+$YOffset+$YSize) - ($Y+$YOffset) ) / 2 + $Y+$YOffset;
-
- $this->drawText($XCenter,$YCenter,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
-
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- /* Determine if we only have positive or negatives values */
- $Sign["+"] = 0; $Sign["-"] = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- { foreach($Serie["Data"] as $Key => $Value) { if ($Value > 0) { $Sign["+"]++; } elseif ($Value < 0) { $Sign["-"]++; } } }
- }
- if ( $Sign["+"] == 0 || $Sign["-"] == 0 ) { $SingleWay = TRUE; } else { $SingleWay = FALSE; }
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
-
- if ( $ForceTransparency != NULL ) { $Alpha = $ForceTransparency; }
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL )
- { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- else
- { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipY"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipY"]); }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] >= 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $Y1- $BarHeight / 2;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- /* Reset the X axis parser for the negative values pass */
- $X = $this->GraphAreaX1 + $XMargin;
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] < 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $BarHeight / 2 + $Y1;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipX"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipX"]); }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] >= 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 + $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
-
- /* Reset the X axis parser for the negative values pass */
- $Y = $this->GraphAreaY1 + $XMargin;
-
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] < 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 - $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- }
- }
- }
-
- /* Returns a random color */
- function getRandomColor($Alpha=100)
- { return(array("R"=>rand(0,255),"G"=>rand(0,255),"B"=>rand(0,255),"Alpha"=>$Alpha)); }
-
- /* Validate a palette */
- function validatePalette($Colors,$Surrounding=NULL)
- {
- $Result = "";
-
- if ( !is_array($Colors) ) { return($this->getRandomColor()); }
-
- foreach($Colors as $Key => $Values)
- {
- if ( isset($Values["R"]) ) { $Result[$Key]["R"] = $Values["R"]; } else { $Result[$Key]["R"] = rand(0,255); }
- if ( isset($Values["G"]) ) { $Result[$Key]["G"] = $Values["G"]; } else { $Result[$Key]["G"] = rand(0,255); }
- if ( isset($Values["B"]) ) { $Result[$Key]["B"] = $Values["B"]; } else { $Result[$Key]["B"] = rand(0,255); }
- if ( isset($Values["Alpha"]) ) { $Result[$Key]["Alpha"] = $Values["Alpha"]; } else { $Result[$Key]["Alpha"] = 100; }
-
- if ( $Surrounding != NULL )
- {
- $Result[$Key]["BorderR"] = $Result[$Key]["R"] + $Surrounding;
- $Result[$Key]["BorderG"] = $Result[$Key]["G"] + $Surrounding;
- $Result[$Key]["BorderB"] = $Result[$Key]["B"] + $Surrounding;
- }
- else
- {
- if ( isset($Values["BorderR"]) ) { $Result[$Key]["BorderR"] = $Values["BorderR"]; } else { $Result[$Key]["BorderR"] = $Result[$Key]["R"]; }
- if ( isset($Values["BorderG"]) ) { $Result[$Key]["BorderG"] = $Values["BorderG"]; } else { $Result[$Key]["BorderG"] = $Result[$Key]["G"]; }
- if ( isset($Values["BorderB"]) ) { $Result[$Key]["BorderB"] = $Values["BorderB"]; } else { $Result[$Key]["BorderB"] = $Result[$Key]["B"]; }
- if ( isset($Values["BorderAlpha"]) ) { $Result[$Key]["BorderAlpha"] = $Values["BorderAlpha"]; } else { $Result[$Key]["BorderAlpha"] = $Result[$Key]["Alpha"]; }
- }
- }
-
- return($Result);
- }
-
- /* Draw the derivative chart associated to the data series */
- function drawDerivative($Format=NULL)
- {
- $Offset = isset($Format["Offset"]) ? $Format["Offset"] : 10;
- $SerieSpacing = isset($Format["SerieSpacing"]) ? $Format["SerieSpacing"] : 3;
- $DerivativeHeight = isset($Format["DerivativeHeight"]) ? $Format["DerivativeHeight"] : 4;
- $ShadedSlopeBox = isset($Format["ShadedSlopeBox"]) ? $Format["ShadedSlopeBox"] : FALSE;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 20;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : TRUE;
- $CaptionHeight = isset($Format["CaptionHeight"]) ? $Format["CaptionHeight"] : 10;
- $CaptionWidth = isset($Format["CaptionWidth"]) ? $Format["CaptionWidth"] : 20;
- $CaptionMargin = isset($Format["CaptionMargin"]) ? $Format["CaptionMargin"] : 4;
- $CaptionLine = isset($Format["CaptionLine"]) ? $Format["CaptionLine"] : FALSE;
- $CaptionBox = isset($Format["CaptionBox"]) ? $Format["CaptionBox"] : FALSE;
- $CaptionBorderR = isset($Format["CaptionBorderR"]) ? $Format["CaptionBorderR"] : 0;
- $CaptionBorderG = isset($Format["CaptionBorderG"]) ? $Format["CaptionBorderG"] : 0;
- $CaptionBorderB = isset($Format["CaptionBorderB"]) ? $Format["CaptionBorderB"] : 0;
- $CaptionFillR = isset($Format["CaptionFillR"]) ? $Format["CaptionFillR"] : 255;
- $CaptionFillG = isset($Format["CaptionFillG"]) ? $Format["CaptionFillG"] : 255;
- $CaptionFillB = isset($Format["CaptionFillB"]) ? $Format["CaptionFillB"] : 255;
- $CaptionFillAlpha = isset($Format["CaptionFillAlpha"]) ? $Format["CaptionFillAlpha"] : 80;
- $PositiveSlopeStartR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 184;
- $PositiveSlopeStartG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 234;
- $PositiveSlopeStartB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 88;
- $PositiveSlopeEndR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 239;
- $PositiveSlopeEndG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 31;
- $PositiveSlopeEndB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 36;
- $NegativeSlopeStartR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 184;
- $NegativeSlopeStartG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 234;
- $NegativeSlopeStartB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 88;
- $NegativeSlopeEndR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 67;
- $NegativeSlopeEndG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 124;
- $NegativeSlopeEndB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 227;
-
- $Data = $this->DataSet->getData();
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- $YPos = $this->DataSet->Data["GraphArea"]["Y2"] + $Offset;
- else
- $XPos = $this->DataSet->Data["GraphArea"]["X2"] + $Offset;
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $Caption )
- {
- if ( $CaptionLine )
- {
- $StartX = floor($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndX = floor($this->GraphAreaX1-$CaptionMargin+$XMargin);
-
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($StartX,$YPos,$EndX,$YPos+$CaptionHeight,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($StartX+2,$YPos+($CaptionHeight/2),$EndX-2,$YPos+($CaptionHeight/2),$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin,$YPos,$this->GraphAreaX1-$CaptionMargin+$XMargin,$YPos+$CaptionHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $TopY = $YPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomY = $YPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartX = floor($this->GraphAreaX1+$XMargin);
- $EndX = floor($this->GraphAreaX2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastX != NULL )
- { $Slope = ($LastY - $Y); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $Y == VOID )
- { $LastX = NULL; $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastY != NULL )
- {
- $Slope = ($LastY - $Y);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL ) // && $Slope != 0
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($LastX,$TopY,$X,$BottomY,DIRECTION_HORIZONTAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL ) // || $Slope == 0
- $this->drawFilledRectangle(floor($LastX),$TopY,floor($X),$BottomY,$Color);
-
- $LastColor = $Color;
- }
-
- if ( $Y == VOID )
- { $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $X = $X + $XStep;
- }
-
- $YPos = $YPos + $CaptionHeight + $SerieSpacing;
- }
- else
- {
- if ( $Caption )
- {
- $StartY = floor($this->GraphAreaY1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndY = floor($this->GraphAreaY1-$CaptionMargin+$XMargin);
- if ( $CaptionLine )
- {
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($XPos+($CaptionHeight/2),$StartY+2,$XPos+($CaptionHeight/2),$EndY-2,$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $TopX = $XPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomX = $XPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartY = floor($this->GraphAreaY1+$XMargin);
- $EndY = floor($this->GraphAreaY2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- { $Slope = ($X - $LastX); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- {
- $Slope = ($X - $LastX);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL )
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
-
- $this->drawGradientArea($TopX,$LastY,$BottomX,$Y,DIRECTION_VERTICAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL )
- $this->drawFilledRectangle($TopX,floor($LastY),$BottomX,floor($Y),$Color);
-
- $LastColor = $Color;
- }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $Y = $Y + $XStep;
- }
-
- $XPos = $XPos + $CaptionHeight + $SerieSpacing;
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- }
-
- /* Draw the line of best fit */
- function drawBestFit($Format="")
- {
- $OverrideTicks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $OverrideR = isset($Format["R"]) ? $Format["R"] : VOID;
- $OverrideG = isset($Format["G"]) ? $Format["G"] : VOID;
- $OverrideB = isset($Format["B"]) ? $Format["B"] : VOID;
- $OverrideAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : VOID;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $OverrideR != VOID && $OverrideG != VOID && $OverrideB != VOID ) { $R = $OverrideR; $G = $OverrideG; $B = $OverrideB; } else { $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; }
- if ( $OverrideTicks == NULL ) { $Ticks = $Serie["Ticks"]; } else { $Ticks = $OverrideTicks; }
- if ( $OverrideAlpha == VOID ) { $Alpha = $Serie["Color"]["Alpha"]; } else { $Alpha = $OverrideAlpha; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $Y)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
-
- $X = $X + $XStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->GraphAreaX1 + $XMargin;
- $Y1 = $M * $X1 + $B;
- $X2 = $this->GraphAreaX2 - $XMargin;
- $Y2 = $M * $X2 + $B;
-
- if ( $Y1 < $this->GraphAreaY1 ) { $X1 = $X1 + ($this->GraphAreaY1-$Y1); $Y1 = $this->GraphAreaY1; }
- if ( $Y1 > $this->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->GraphAreaY2); $Y1 = $this->GraphAreaY2; }
- if ( $Y2 < $this->GraphAreaY1 ) { $X2 = $X2 - ($this->GraphAreaY1-$Y2); $Y2 = $this->GraphAreaY1; }
- if ( $Y2 > $this->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->GraphAreaY2); $Y2 = $this->GraphAreaY2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $X)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $Y;
- $Sy = $Sy + $X;
- $Sxx = $Sxx + $Y*$Y;
-
- $Y = $Y + $YStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $Y1 = $this->GraphAreaY1 + $XMargin;
- $X1 = $M * $Y1 + $B;
- $Y2 = $this->GraphAreaY2 - $XMargin;
- $X2 = $M * $Y2 + $B;
-
- if ( $X1 < $this->GraphAreaX1 ) { $Y1 = $Y1 + ($this->GraphAreaX1-$X1); $X1 = $this->GraphAreaX1; }
- if ( $X1 > $this->GraphAreaX2 ) { $Y1 = $Y1 + ($X1-$this->GraphAreaX2); $X1 = $this->GraphAreaX2; }
- if ( $X2 < $this->GraphAreaX1 ) { $Y2 = $Y2 - ($this->GraphAreaY1-$X2); $X2 = $this->GraphAreaX1; }
- if ( $X2 > $this->GraphAreaX2 ) { $Y2 = $Y2 - ($X2-$this->GraphAreaX2); $X2 = $this->GraphAreaX2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Write labels */
- function writeLabel($SeriesName,$Indexes,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $ForceLabels = isset($Format["ForceLabels"]) ? $Format["ForceLabels"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $DrawVerticalLine = isset($Format["DrawVerticalLine"]) ? $Format["DrawVerticalLine"] : FALSE;
- $VerticalLineR = isset($Format["VerticalLineR"]) ? $Format["VerticalLineR"] : 0;
- $VerticalLineG = isset($Format["VerticalLineG"]) ? $Format["VerticalLineG"] : 0;
- $VerticalLineB = isset($Format["VerticalLineB"]) ? $Format["VerticalLineB"] : 0;
- $VerticalLineAlpha = isset($Format["VerticalLineAlpha"]) ? $Format["VerticalLineAlpha"] : 40;
- $VerticalLineTicks = isset($Format["VerticalLineTicks"]) ? $Format["VerticalLineTicks"] : 2;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( !is_array($Indexes) ) { $Index = $Indexes; $Indexes = ""; $Indexes[] = $Index; }
- if ( !is_array($SeriesName) ) { $SerieName = $SeriesName; $SeriesName = ""; $SeriesName[] = $SerieName; }
- if ( $ForceLabels != NULL && !is_array($ForceLabels) ) { $ForceLabel = $ForceLabels; $ForceLabels = ""; $ForceLabels[] = $ForceLabel; }
-
- foreach ($Indexes as $Key => $Index)
- {
- $Series = "";
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($X,$this->GraphAreaY1+$Data["YMargin"],$X,$this->GraphAreaY2-$Data["YMargin"],array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinY = $this->GraphAreaY2;
- foreach ($SeriesName as $iKey => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->GraphAreaX1 + $XMargin + $Index * $XStep + $SerieOffset);
- $Y = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
-
- if ($Y < $MinY) { $MinY = $Y; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($X,$MinY-3,$Description,$Series,$Format);
-
- }
- else
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($this->GraphAreaX1+$Data["YMargin"],$Y,$this->GraphAreaX2-$Data["YMargin"],$Y,array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinX = $this->GraphAreaX2;
- foreach ($SeriesName as $Key => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- if ( isset($Data["Extended"]["Palette"][$Index] ) )
- {
- $Serie["R"] = $Data["Extended"]["Palette"][$Index]["R"];
- $Serie["G"] = $Data["Extended"]["Palette"][$Index]["G"];
- $Serie["B"] = $Data["Extended"]["Palette"][$Index]["B"];
- $Serie["Alpha"] = $Data["Extended"]["Palette"][$Index]["Alpha"];
- }
- else
- {
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
- }
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
- $Y = floor($this->GraphAreaY1 + $XMargin + $Index * $XStep + $SerieOffset);
-
- if ($X < $MinX) { $MinX = $X; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($MinX,$Y-3,$Description,$Series,$Format);
-
- }
- }
- }
-
- /* Draw a label box */
- function drawLabelBox($X,$Y,$Title,$Captions,$Format="")
- {
- $NoTitle = isset($Format["NoTitle"]) ? $Format["NoTitle"] : NULL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 50;
- $DrawSerieColor = isset($Format["DrawSerieColor"]) ? $Format["DrawSerieColor"] : TRUE;
- $SerieR = isset($Format["SerieR"]) ? $Format["SerieR"] : NULL;
- $SerieG = isset($Format["SerieG"]) ? $Format["SerieG"] : NULL;
- $SerieB = isset($Format["SerieB"]) ? $Format["SerieB"] : NULL;
- $SerieAlpha = isset($Format["SerieAlpha"]) ? $Format["SerieAlpha"] : NULL;
- $SerieBoxSize = isset($Format["SerieBoxSize"]) ? $Format["SerieBoxSize"] : 6;
- $SerieBoxSpacing = isset($Format["SerieBoxSpacing"]) ? $Format["SerieBoxSpacing"] : 4;
- $VerticalMargin = isset($Format["VerticalMargin"]) ? $Format["VerticalMargin"] : 10;
- $HorizontalMargin = isset($Format["HorizontalMargin"]) ? $Format["HorizontalMargin"] : 8;
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $TitleMode = isset($Format["TitleMode"]) ? $Format["TitleMode"] : LABEL_TITLE_NOBACKGROUND;
- $TitleR = isset($Format["TitleR"]) ? $Format["TitleR"] : $R;
- $TitleG = isset($Format["TitleG"]) ? $Format["TitleG"] : $G;
- $TitleB = isset($Format["TitleB"]) ? $Format["TitleB"] : $B;
- $TitleBackgroundR = isset($Format["TitleBackgroundR"]) ? $Format["TitleBackgroundR"] : 0;
- $TitleBackgroundG = isset($Format["TitleBackgroundG"]) ? $Format["TitleBackgroundG"] : 0;
- $TitleBackgroundB = isset($Format["TitleBackgroundB"]) ? $Format["TitleBackgroundB"] : 0;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 220;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 220;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 220;
-
- if ( !$DrawSerieColor ) { $SerieBoxSize = 0; $SerieBoxSpacing = 0; }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Title);
- $TitleWidth = ($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2;
- $TitleHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- if ( $NoTitle ) { $TitleWidth = 0; $TitleHeight = 0; }
-
- $CaptionWidth = 0; $CaptionHeight = -$HorizontalMargin;
- foreach($Captions as $Key =>$Caption)
- {
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Caption["Caption"]);
- $CaptionWidth = max($CaptionWidth,($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2);
- $CaptionHeight = $CaptionHeight + max(($TxtPos[0]["Y"] - $TxtPos[2]["Y"]),($SerieBoxSize+2)) + $HorizontalMargin;
- }
-
- if ( $CaptionHeight <= 5 ) { $CaptionHeight = $CaptionHeight + $HorizontalMargin/2; }
-
- if ( $DrawSerieColor ) { $CaptionWidth = $CaptionWidth + $SerieBoxSize + $SerieBoxSpacing; }
-
- $BoxWidth = max($BoxWidth,$TitleWidth,$CaptionWidth);
-
- $XMin = $X - 5 - floor(($BoxWidth-10) / 2);
- $XMax = $X + 5 + floor(($BoxWidth-10) / 2);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow == TRUE )
- {
- $this->Shadow = FALSE;
-
- $Poly = "";
- $Poly[] = $X+$this->ShadowX; $Poly[] = $Y+$this->ShadowX;
- $Poly[] = $X+5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
-
- if ( $NoTitle )
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- }
- else
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- }
-
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $X-5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $this->drawPolygon($Poly,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- /* Draw the background */
- $GradientSettings = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB);
- if ( $NoTitle )
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- else
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- $Poly = ""; $Poly[] = $X; $Poly[] = $Y; $Poly[] = $X-5; $Poly[] = $Y-5; $Poly[] = $X+5; $Poly[] = $Y-5;
- $this->drawPolygon($Poly,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB,"NoBorder"=>TRUE));
-
- /* Outer border */
- $OuterBorderColor = $this->allocateColor($this->Picture,100,100,100,100);
- imageline($this->Picture,$XMin,$Y-5,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X+5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X+5,$Y-5,$XMax,$Y-5,$OuterBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$OuterBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$OuterBorderColor);
- }
-
- /* Inner border */
- $InnerBorderColor = $this->allocateColor($this->Picture,255,255,255,100);
- imageline($this->Picture,$XMin+1,$Y-6,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X+5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X+5,$Y-6,$XMax-1,$Y-6,$InnerBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$InnerBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$InnerBorderColor);
- }
-
- /* Draw the separator line */
- if ( $TitleMode == LABEL_TITLE_NOBACKGROUND && !$NoTitle )
- {
- $YPos = $Y-7-$CaptionHeight-$HorizontalMargin-$HorizontalMargin/2;
- $XMargin = $VerticalMargin / 2;
- $this->drawLine($XMin+$XMargin,$YPos+1,$XMax-$XMargin,$YPos+1,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB));
- $this->drawLine($XMin+$XMargin,$YPos,$XMax-$XMargin,$YPos,array("R"=>$GradientStartR,"G"=>$GradientStartG,"B"=>$GradientStartB));
- }
- elseif ( $TitleMode == LABEL_TITLE_BACKGROUND )
- {
- $this->drawFilledRectangle($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2,array("R"=>$TitleBackgroundR,"G"=>$TitleBackgroundG,"B"=>$TitleBackgroundB));
- imageline($this->Picture,$XMin+1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$XMax-1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$InnerBorderColor);
- }
-
- /* Write the description */
- if ( !$NoTitle )
- $this->drawText($XMin+$VerticalMargin,$Y-7-$CaptionHeight-$HorizontalMargin*2,$Title,array("Align"=>TEXT_ALIGN_BOTTOMLEFT,"R"=>$TitleR,"G"=>$TitleG,"B"=>$TitleB));
-
- /* Write the value */
- $YPos = $Y-5-$HorizontalMargin; $XPos = $XMin+$VerticalMargin+$SerieBoxSize+$SerieBoxSpacing;
- foreach($Captions as $Key => $Caption)
- {
- $CaptionTxt = $Caption["Caption"];
- $TxtPos = $this->getTextBox($XPos,$YPos,$FontName,$FontSize,0,$CaptionTxt);
- $CaptionHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- /* Write the serie color if needed */
- if ( $DrawSerieColor )
- {
- $BoxSettings = array("R"=>$Caption["Format"]["R"],"G"=>$Caption["Format"]["G"],"B"=>$Caption["Format"]["B"],"Alpha"=>$Caption["Format"]["Alpha"],"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $this->drawFilledRectangle($XMin+$VerticalMargin,$YPos-$SerieBoxSize,$XMin+$VerticalMargin+$SerieBoxSize,$YPos,$BoxSettings);
- }
-
- $this->drawText($XPos,$YPos,$CaptionTxt,array("Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- $YPos = $YPos - $CaptionHeight - $HorizontalMargin;
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a basic shape */
- function drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha)
- {
- if ( $Shape == SERIE_SHAPE_FILLEDCIRCLE )
- {
- if ( $PlotBorder ) { $this->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledCircle($X,$Y,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDSQUARE )
- {
- if ( $PlotBorder ) { $this->drawFilledRectangle($X-$PlotSize-$BorderSize,$Y-$PlotSize-$BorderSize,$X+$PlotSize+$BorderSize,$Y+$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDTRIANGLE )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X-$PlotSize; $Pos[]=$Y+$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_TRIANGLE )
- {
- $this->drawLine($X,$Y-$PlotSize,$X-$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X-$PlotSize,$Y+$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X+$PlotSize,$Y+$PlotSize,$X,$Y-$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_SQUARE )
- $this->drawRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_CIRCLE )
- $this->drawCircle($X,$Y,$PlotSize,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_DIAMOND )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("NoFill"=>TRUE,"BorderR"=>$R,"BorderG"=>$G,"BorderB"=>$B,"BorderAlpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDDIAMOND )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- function drawPolygonChart($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- $AllIntegers = TRUE;
- for($i=0;$i<=count($Points)-2;$i=$i+2)
- { if ( $this->getFirstDecimal($Points[$i+1]) != 0 ) { $AllIntegers = FALSE; } }
-
- /* Convert polygon to segments */
- $Segments = "";
- for($i=2;$i<=count($Points)-2;$i=$i+2)
- { $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[$i],"Y2"=>$Points[$i+1]); }
- $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[0],"Y2"=>$Points[1]);
-
- /* Simplify straight lines */
- $Result = ""; $inHorizon = FALSE; $LastX = VOID;
- foreach($Segments as $Key => $Pos)
- {
- if ( $Pos["Y1"] != $Pos["Y2"] )
- {
- if ( $inHorizon ) { $inHorizon = FALSE; $Result[] = array("X1"=>$LastX,"Y1"=>$Pos["Y1"],"X2"=>$Pos["X1"],"Y2"=>$Pos["Y1"]); }
-
- $Result[] = array("X1"=>$Pos["X1"],"Y1"=>$Pos["Y1"],"X2"=>$Pos["X2"],"Y2"=>$Pos["Y2"]);
- }
- else { if ( !$inHorizon ) { $inHorizon = TRUE; $LastX = $Pos["X1"];} }
- }
- $Segments = $Result;
-
- /* Do we have something to draw */
- if ( $Segments == "" ) { return(0); }
-
- /* For segments debugging purpose */
- //foreach($Segments as $Key => $Pos)
- // echo $Pos["X1"].",".$Pos["Y1"].",".$Pos["X2"].",".$Pos["Y2"]."\r\n";
-
- /* Find out the min & max Y boundaries */
- $MinY = OUT_OF_SIGHT; $MaxY = OUT_OF_SIGHT;
- foreach($Segments as $Key => $Coords)
- {
- if ( $MinY == OUT_OF_SIGHT || $MinY > min($Coords["Y1"],$Coords["Y2"]) ) { $MinY = min($Coords["Y1"],$Coords["Y2"]); }
- if ( $MaxY == OUT_OF_SIGHT || $MaxY < max($Coords["Y1"],$Coords["Y2"]) ) { $MaxY = max($Coords["Y1"],$Coords["Y2"]); }
- }
-
- if ( $AllIntegers ) { $YStep = 1; } else { $YStep = .5; }
-
- $MinY = floor($MinY); $MaxY = floor($MaxY);
-
- /* Scan each Y lines */
- $DefaultColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $DebugLine = 0; $DebugColor = $this->allocateColor($this->Picture,255,0,0,100);
-
- $MinY = floor($MinY); $MaxY = floor($MaxY); $YStep = 1;
-
- if ( !$NoFill )
- {
- //if ( $DebugLine ) { $MinY = $DebugLine; $MaxY = $DebugLine; }
- for($Y=$MinY;$Y<=$MaxY;$Y=$Y+$YStep)
- {
- $Intersections = ""; $LastSlope = NULL; $RestoreLast = "-";
- foreach($Segments as $Key => $Coords)
- {
- $X1 = $Coords["X1"]; $X2 = $Coords["X2"]; $Y1 = $Coords["Y1"]; $Y2 = $Coords["Y2"];
-
- if ( min($Y1,$Y2) <= $Y && max($Y1,$Y2) >= $Y )
- {
- if ( $Y1 == $Y2 )
- { $X = $X1; }
- else
- { $X = $X1 + ( ($Y-$Y1)*$X2 - ($Y-$Y1)*$X1 ) / ($Y2-$Y1); }
-
- $X = floor($X);
-
- if ( $X2 == $X1 )
- { $Slope = "!"; }
- else
- {
- $SlopeC = ($Y2 - $Y1) / ($X2 - $X1);
- if( $SlopeC == 0 )
- { $Slope = "="; }
- elseif( $SlopeC > 0 )
- { $Slope = "+"; }
- elseif ( $SlopeC < 0 )
- { $Slope = "-"; }
- }
-
- if ( !is_array($Intersections) )
- { $Intersections[] = $X; }
- elseif( !in_array($X,$Intersections) )
- { $Intersections[] = $X; }
- elseif( in_array($X,$Intersections) )
- {
- if ($Y == $DebugLine) { echo $Slope."/".$LastSlope."(".$X.") "; }
-
- if ( $Slope == "=" && $LastSlope == "-" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope != "!" && $LastSlope != "=" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope == "!" && $Slope == "+" ) { $Intersections[] = $X; }
- }
-
- if ( is_array($Intersections) && in_array($X,$Intersections) && $LastSlope == "=" && ($Slope == "-" )) { $Intersections[] = $X; }
-
- $LastSlope = $Slope;
- }
- }
- if ( $RestoreLast != "-" ) { $Intersections[] = $RestoreLast; echo "@".$Y."\r\n"; }
-
- if ( is_array($Intersections) )
- {
- sort($Intersections);
-
- if ($Y == $DebugLine) { print_r($Intersections); }
-
- /* Remove NULL plots */
- $Result = "";
- for($i=0;$i<=count($Intersections)-1;$i=$i+2)
- {
- if ( isset($Intersections[$i+1]) )
- { if ( $Intersections[$i] != $Intersections[$i+1] ) { $Result[] = $Intersections[$i]; $Result[] = $Intersections[$i+1]; } }
- }
-
- if ( is_array($Result) )
- {
- $Intersections = $Result;
-
- $LastX = OUT_OF_SIGHT;
- foreach($Intersections as $Key => $X)
- {
- if ( $LastX == OUT_OF_SIGHT )
- $LastX = $X;
- elseif ( $LastX != OUT_OF_SIGHT )
- {
- if ( $this->getFirstDecimal($LastX) > 1 ) { $LastX++; }
-
- $Color = $DefaultColor;
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $R = $Parameters["R"]; } else { $R = 0; }
- if ( isset($Parameters["G"]) ) { $G = $Parameters["G"]; } else { $G = 0; }
- if ( isset($Parameters["B"]) ) { $B = $Parameters["B"]; } else { $B = 0; }
- if ( isset($Parameters["Alpha"]) ) { $Alpha = $Parameters["Alpha"]; } else { $Alpha = 100; }
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- }
- }
- }
-
- imageline($this->Picture,$LastX,$Y,$X,$Y,$Color);
-
- if ( $Y == $DebugLine) { imageline($this->Picture,$LastX,$Y,$X,$Y,$DebugColor); }
-
- $LastX = OUT_OF_SIGHT;
- }
- }
- }
- }
- }
- }
-
- /* Draw the polygon border, if required */
- if ( !$NoBorder)
- {
- foreach($Segments as $Key => $Coords)
- $this->drawLine($Coords["X1"],$Coords["Y1"],$Coords["X2"],$Coords["Y2"],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Threshold"=>$Threshold));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pImage.class.php b/notFinishedCode/pChart2.1.2/class/pImage.class.php
deleted file mode 100644
index 4684e3c..0000000
--- a/notFinishedCode/pChart2.1.2/class/pImage.class.php
+++ /dev/null
@@ -1,343 +0,0 @@
-<?php
- /*
- pDraw - pChart core class
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* The GD extension is mandatory */
- if (!extension_loaded('gd') && !extension_loaded('gd2'))
- {
- echo "GD extension must be loaded. \r\n";
- exit();
- }
-
- define("IMAGE_MAP_STORAGE_FILE" , 680001);
- define("IMAGE_MAP_STORAGE_SESSION" , 680002);
-
- class pImage extends pDraw
- {
- /* Image settings, size, quality, .. */
- var $XSize = NULL; // Width of the picture
- var $YSize = NULL; // Height of the picture
- var $Picture = NULL; // GD picture object
- var $Antialias = TRUE; // Turn antialias on or off
- var $AntialiasQuality = 0; // Quality of the antialiasing implementation (0-1)
- var $Mask = ""; // Already drawn pixels mask (Filled circle implementation)
- var $TransparentBackground = FALSE; // Just to know if we need to flush the alpha channels when rendering
-
- /* Graph area settings */
- var $GraphAreaX1 = NULL; // Graph area X origin
- var $GraphAreaY1 = NULL; // Graph area Y origin
- var $GraphAreaX2 = NULL; // Graph area bottom right X position
- var $GraphAreaY2 = NULL; // Graph area bottom right Y position
-
- /* Scale settings */
- var $ScaleMinDivHeight = 20; // Minimum height for scame divs
-
- /* Font properties */
- var $FontName = "fonts/GeosansLight.ttf"; // Default font file
- var $FontSize = 12; // Default font size
- var $FontBox = NULL; // Return the bounding box of the last written string
- var $FontColorR = 0; // Default color settings
- var $FontColorG = 0; // Default color settings
- var $FontColorB = 0; // Default color settings
- var $FontColorA = 100; // Default transparency
-
- /* Shadow properties */
- var $Shadow = TRUE; // Turn shadows on or off
- var $ShadowX = NULL; // X Offset of the shadow
- var $ShadowY = NULL; // Y Offset of the shadow
- var $ShadowR = NULL; // R component of the shadow
- var $ShadowG = NULL; // G component of the shadow
- var $ShadowB = NULL; // B component of the shadow
- var $Shadowa = NULL; // Alpha level of the shadow
-
- /* Image map */
- var $ImageMap = NULL; // Aray containing the image map
- var $ImageMapIndex = "pChart"; // Name of the session array
- var $ImageMapStorageMode = NULL; // Save the current imagemap storage mode
- var $ImageMapAutoDelete = TRUE; // Automatic deletion of the image map temp files
-
- /* Data Set */
- var $DataSet = NULL; // Attached dataset
-
- /* Class constructor */
- function pImage($XSize,$YSize,$DataSet=NULL,$TransparentBackground=FALSE)
- {
- $this->TransparentBackground = $TransparentBackground;
-
- if ( $DataSet != NULL ) { $this->DataSet = $DataSet; }
-
- $this->XSize = $XSize;
- $this->YSize = $YSize;
- $this->Picture = imagecreatetruecolor($XSize,$YSize);
-
- if ( $this->TransparentBackground )
- {
- imagealphablending($this->Picture,FALSE);
- imagefilledrectangle($this->Picture, 0,0,$XSize, $YSize, imagecolorallocatealpha($this->Picture, 255, 255, 255, 127));
- imagealphablending($this->Picture,TRUE);
- imagesavealpha($this->Picture,true);
- }
- else
- {
- $C_White = $this->AllocateColor($this->Picture,255,255,255);
- imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
- }
- }
-
- /* Enable / Disable and set shadow properties */
- function setShadow($Enabled=TRUE,$Format="")
- {
- $X = isset($Format["X"]) ? $Format["X"] : 2;
- $Y = isset($Format["Y"]) ? $Format["Y"] : 2;
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 10;
-
- $this->Shadow = $Enabled;
- $this->ShadowX = $X;
- $this->ShadowY = $Y;
- $this->ShadowR = $R;
- $this->ShadowG = $G;
- $this->ShadowB = $B;
- $this->Shadowa = $Alpha;
- }
-
- /* Set the graph area position */
- function setGraphArea($X1,$Y1,$X2,$Y2)
- {
- if ( $X2 < $X1 || $X1 == $X2 || $Y2 < $Y1 || $Y1 == $Y2 ) { return(-1); }
-
- $this->GraphAreaX1 = $X1; $this->DataSet->Data["GraphArea"]["X1"] = $X1;
- $this->GraphAreaY1 = $Y1; $this->DataSet->Data["GraphArea"]["Y1"] = $Y1;
- $this->GraphAreaX2 = $X2; $this->DataSet->Data["GraphArea"]["X2"] = $X2;
- $this->GraphAreaY2 = $Y2; $this->DataSet->Data["GraphArea"]["Y2"] = $Y2;
- }
-
- /* Return the width of the picture */
- function getWidth()
- { return($this->XSize); }
-
- /* Return the heigth of the picture */
- function getHeight()
- { return($this->YSize); }
-
- /* Render the picture to a file */
- function render($FileName)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
- imagepng($this->Picture,$FileName);
- }
-
- /* Render the picture to a web browser stream */
- function stroke($BrowserExpire=FALSE)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
-
- if ( $BrowserExpire )
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache");
- header("Pragma: no-cache");
- }
-
- header('Content-type: image/png');
- imagepng($this->Picture);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($FileName="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->Render($FileName);
- else
- $this->Stroke();
- }
-
- /* Return the length between two points */
- function getLength($X1,$Y1,$X2,$Y2)
- { return(sqrt(pow(max($X1,$X2)-min($X1,$X2),2)+pow(max($Y1,$Y2)-min($Y1,$Y2),2))); }
-
- /* Return the orientation of a line */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- /* Return the surrounding box of text area */
- function getTextBox_deprecated($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $Size = imagettfbbox($FontSize,$Angle,$FontName,$Text);
- $Width = $this->getLength($Size[0],$Size[1],$Size[2],$Size[3])+1;
- $Height = $this->getLength($Size[2],$Size[3],$Size[4],$Size[5])+1;
-
- $RealPos[0]["X"] = $X; $RealPos[0]["Y"] = $Y;
- $RealPos[1]["X"] = cos((360-$Angle)*PI/180)*$Width + $RealPos[0]["X"]; $RealPos[1]["Y"] = sin((360-$Angle)*PI/180)*$Width + $RealPos[0]["Y"];
- $RealPos[2]["X"] = cos((270-$Angle)*PI/180)*$Height + $RealPos[1]["X"]; $RealPos[2]["Y"] = sin((270-$Angle)*PI/180)*$Height + $RealPos[1]["Y"];
- $RealPos[3]["X"] = cos((180-$Angle)*PI/180)*$Width + $RealPos[2]["X"]; $RealPos[3]["Y"] = sin((180-$Angle)*PI/180)*$Width + $RealPos[2]["Y"];
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
-
- return($RealPos);
- }
-
- /* Return the surrounding box of text area */
- function getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $coords = imagettfbbox($FontSize, 0, $FontName, $Text);
-
- $a = deg2rad($Angle); $ca = cos($a); $sa = sin($a); $RealPos = array();
- for($i = 0; $i < 7; $i += 2)
- {
- $RealPos[$i/2]["X"] = $X + round($coords[$i] * $ca + $coords[$i+1] * $sa);
- $RealPos[$i/2]["Y"] = $Y + round($coords[$i+1] * $ca - $coords[$i] * $sa);
- }
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPLEFT]["X"] = $RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPLEFT]["Y"] = $RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_TOPRIGHT]["X"] = $RealPos[2]["X"]; $RealPos[TEXT_ALIGN_TOPRIGHT]["Y"] = $RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[0]["X"])/2+$RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[1]["Y"])/2+$RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPMIDDLE]["X"] = ($RealPos[2]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPMIDDLE]["Y"] = ($RealPos[3]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLELEFT]["X"] = ($RealPos[0]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLELEFT]["Y"] = ($RealPos[0]["Y"]-$RealPos[3]["Y"])/2+$RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLERIGHT]["X"] = ($RealPos[1]["X"]-$RealPos[2]["X"])/2+$RealPos[2]["X"]; $RealPos[TEXT_ALIGN_MIDDLERIGHT]["Y"] = ($RealPos[1]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
-
- return($RealPos);
- }
-
- /* Set current font properties */
- function setFontProperties($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : -1;
- $G = isset($Format["G"]) ? $Format["G"] : -1;
- $B = isset($Format["B"]) ? $Format["B"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : NULL;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : NULL;
-
- if ( $R != -1) { $this->FontColorR = $R; }
- if ( $G != -1) { $this->FontColorG = $G; }
- if ( $B != -1) { $this->FontColorB = $B; }
- if ( $Alpha != NULL) { $this->FontColorA = $Alpha; }
-
- if ( $FontName != NULL )
- $this->FontName = $FontName;
-
- if ( $FontSize != NULL )
- $this->FontSize = $FontSize;
- }
-
- /* Returns the 1st decimal values (used to correct AA bugs) */
- function getFirstDecimal($Value)
- {
- $Values = preg_split("/\./",$Value);
- if ( isset($Values[1]) ) { return(substr($Values[1],0,1)); } else { return(0); }
- }
-
- /* Attach a dataset to your pChart Object */
- function setDataSet(&$DataSet)
- { $this->DataSet = $DataSet; }
-
- /* Print attached dataset contents to STDOUT */
- function printDataSet()
- { print_r($this->DataSet); }
-
- /* Initialise the image map methods */
- function initialiseImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ($StorageMode == IMAGE_MAP_STORAGE_SESSION)
- {
- if(!isset($_SESSION)) { session_start(); }
- $_SESSION[$this->ImageMapIndex] = NULL;
- }
- elseif($StorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $this->ImageMapFileName = $UniqueID;
- $this->ImageMapStorageFolder = $StorageFolder;
-
- if (file_exists($StorageFolder."/".$UniqueID.".map")) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
-
- /* Add a zone to the image map */
- function addToImageMap($Type,$Plots,$Color=NULL,$Title=NULL,$Message=NULL)
- {
- if ( $this->ImageMapStorageMode == NULL ) { $this->initialiseImageMap(); }
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { $this->initialiseImageMap(); }
- $_SESSION[$this->ImageMapIndex][] = array($Type,$Plots,$Color,$Title,$Message);
- }
- elseif($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $Handle = fopen($this->ImageMapStorageFolder."/".$this->ImageMapFileName.".map", 'a');
- fwrite($Handle, $Type.";".$Plots.";".$Color.";".$Title.";".$Message."\r\n");
- fclose($Handle);
- }
- }
-
- /* Dump the image map */
- function dumpImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { session_start(); }
- if ( $_SESSION[$Name] != NULL )
- {
- foreach($_SESSION[$Name] as $Key => $Params)
- { echo $Params[0].";".$Params[1].";".$Params[2].";".$Params[3].";".$Params[4]."\r\n"; }
- }
- }
- elseif( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE )
- {
- if (file_exists($StorageFolder."/".$UniqueID.".map"))
- {
- $Handle = @fopen($StorageFolder."/".$UniqueID.".map", "r");
- if ($Handle) { while (($Buffer = fgets($Handle, 4096)) !== false) { echo $Buffer; } }
- fclose($Handle);
-
- if ( $this->ImageMapAutoDelete ) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
- exit();
- }
-
- /* Return the HTML converted color from the RGB composite values */
- function toHTMLColor($R,$G,$B)
- {
- $R=intval($R); $G=intval($G); $B=intval($B);
- $R=dechex($R<0?0:($R>255?255:$R)); $G=dechex($G<0?0:($G>255?255:$G));$B=dechex($B<0?0:($B>255?255:$B));
- $Color="#".(strlen($R) < 2?'0':'').$R; $Color.=(strlen($G) < 2?'0':'').$G; $Color.= (strlen($B) < 2?'0':'').$B;
- return($Color);
- }
-
- /* Reverse an array of points */
- function reversePlots($Plots)
- {
- $Result = "";
- for($i=count($Plots)-2;$i>=0;$i=$i-2) { $Result[] = $Plots[$i]; $Result[] = $Plots[$i+1]; }
- return($Result);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pIndicator.class.php b/notFinishedCode/pChart2.1.2/class/pIndicator.class.php
deleted file mode 100644
index 4f7f23b..0000000
--- a/notFinishedCode/pChart2.1.2/class/pIndicator.class.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
- /*
- pIndicator - class to draw indicators
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("INDICATOR_CAPTION_DEFAULT" , 700001);
- define("INDICATOR_CAPTION_EXTENDED" , 700002);
-
- define("INDICATOR_CAPTION_INSIDE" , 700011);
- define("INDICATOR_CAPTION_BOTTOM" , 700012);
-
- define("INDICATOR_VALUE_BUBBLE" , 700021);
- define("INDICATOR_VALUE_LABEL" , 700022);
-
- /* pIndicator class definition */
- class pIndicator
- {
- var $pChartObject;
-
- /* Class creator */
- function pIndicator($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- }
-
- /* Draw an indicator */
- function draw($X,$Y,$Width,$Height,$Format="")
- {
- $Values = isset($Format["Values"]) ? $Format["Values"] : VOID;
- $IndicatorSections = isset($Format["IndicatorSections"]) ? $Format["IndicatorSections"] : NULL;
- $ValueDisplay = isset($Format["ValueDisplay"]) ? $Format["ValueDisplay"] : INDICATOR_VALUE_BUBBLE;
- $SectionsMargin = isset($Format["SectionsMargin"]) ? $Format["SectionsMargin"] : 4;
- $DrawLeftHead = isset($Format["DrawLeftHead"]) ? $Format["DrawLeftHead"] : TRUE;
- $DrawRightHead = isset($Format["DrawRightHead"]) ? $Format["DrawRightHead"] : TRUE;
- $HeadSize = isset($Format["HeadSize"]) ? $Format["HeadSize"] : floor($Height/4);
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 4;
- $CaptionLayout = isset($Format["CaptionLayout"]) ? $Format["CaptionLayout"] : INDICATOR_CAPTION_EXTENDED;
- $CaptionPosition = isset($Format["CaptionPosition"]) ? $Format["CaptionPosition"] : INDICATOR_CAPTION_INSIDE;
- $CaptionColorFactor = isset($Format["CaptionColorFactor"]) ? $Format["CaptionColorFactor"] : NULL;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $SubCaptionColorFactor = isset($Format["SubCaptionColorFactor"]) ? $Format["SubCaptionColorFactor"] : NULL;
- $SubCaptionR = isset($Format["SubCaptionR"]) ? $Format["SubCaptionR"] : 50;
- $SubCaptionG = isset($Format["SubCaptionG"]) ? $Format["SubCaptionG"] : 50;
- $SubCaptionB = isset($Format["SubCaptionB"]) ? $Format["SubCaptionB"] : 50;
- $SubCaptionAlpha = isset($Format["SubCaptionAlpha"]) ? $Format["SubCaptionAlpha"] : 100;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $CaptionFontName = isset($Format["CaptionFontName"]) ? $Format["CaptionFontName"] : $this->pChartObject->FontName;
- $CaptionFontSize = isset($Format["CaptionFontSize"]) ? $Format["CaptionFontSize"] : $this->pChartObject->FontSize;
- $Unit = isset($Format["Unit"]) ? $Format["Unit"] : "";
-
- /* Convert the Values to display to an array if needed */
- if ( !is_array($Values) ) { $Value = $Values; $Values = ""; $Values[] = $Value; }
-
- /* No section, let's die */
- if ( $IndicatorSections == NULL ) { return(0); }
-
- /* Determine indicator visual configuration */
- $OverallMin = $IndicatorSections[0]["End"]; $OverallMax = $IndicatorSections[0]["Start"];
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Settings["End"] > $OverallMax ) { $OverallMax = $Settings["End"]; }
- if ( $Settings["Start"] < $OverallMin ) { $OverallMin = $Settings["Start"]; }
- }
- $RealWidth = $Width - (count($IndicatorSections)-1)*$SectionsMargin;
- $XScale = $RealWidth / ($OverallMax-$OverallMin);
-
- $X1 = $X; $ValuesPos = "";
- foreach ($IndicatorSections as $Key => $Settings)
- {
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]);
- $Caption = $Settings["Caption"];
- $SubCaption = $Settings["Start"]." - ".$Settings["End"];
-
- $X2 = $X1 + ($Settings["End"] - $Settings["Start"]) * $XScale;
-
- if ( $Key == 0 && $DrawLeftHead )
- {
- $Poly = ""; $Poly[] = $X1-1; $Poly[] = $Y; $Poly[] = $X1-1; $Poly[] = $Y+$Height; $Poly[] = $X1-1-$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X1-2,$Y,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X1-2,$Y+$Height,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- }
-
- /* Determine the position of the breaks */
- $Break = "";
- foreach($Values as $iKey => $Value)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $XBreak = $X1 + ($Value - $Settings["Start"]) * $XScale;
- $ValuesPos[$Value] = $XBreak;
- $Break[] = floor($XBreak);
- }
- }
-
- if ( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- if ( $Break == "" )
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
- else
- {
- sort($Break);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y; $LastPointWritten = FALSE;
- foreach($Break as $iKey => $Value)
- {
- if ( $Value-5 >= $X1 )
- { $Poly[] = $Value-5; $Poly[] = $Y; }
- elseif ($X1 - ($Value-5) > 0 )
- {
- $Offset = $X1 - ($Value-5);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y + $Offset;
- }
-
- $Poly[] = $Value; $Poly[] = $Y+5;
-
- if ( $Value+5 <= $X2 )
- { $Poly[] = $Value+5; $Poly[] = $Y; }
- elseif (($Value+5) > $X2 )
- {
- $Offset = ($Value+5) - $X2;
- $Poly[] = $X2; $Poly[] = $Y + $Offset;
- $LastPointWritten = TRUE;
- }
-
- }
- if ( !$LastPointWritten ) { $Poly[] = $X2; $Poly[] = $Y; }
- $Poly[] = $X2; $Poly[] = $Y+$Height;
- $Poly[] = $X1; $Poly[] = $Y+$Height;
-
- $this->pChartObject->drawPolygon($Poly,$Color);
- }
- }
- else
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
-
- if ( $Key == count($IndicatorSections)-1 && $DrawRightHead )
- {
- $Poly = ""; $Poly[] = $X2+1; $Poly[] = $Y; $Poly[] = $X2+1; $Poly[] = $Y+$Height; $Poly[] = $X2+1+$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X2+1,$Y,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X2+1,$Y+$Height,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- }
-
- if ( $CaptionPosition == INDICATOR_CAPTION_INSIDE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $YOffset = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$SubCaption);
- $YOffset = $YOffset + ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding*2;
- }
-
- $XOffset = $TextPadding;
- }
- else
- { $YOffset = 0; $XOffset = 0; }
-
- if ( $CaptionColorFactor == NULL )
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha); }
- else
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$CaptionColorFactor,"G"=>$Settings["G"]+$CaptionColorFactor,"B"=>$Settings["B"]+$CaptionColorFactor); }
-
- if ( $SubCaptionColorFactor == NULL )
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$SubCaptionR,"G"=>$SubCaptionG,"B"=>$SubCaptionB,"Alpha"=>$SubCaptionAlpha);
- else
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$SubCaptionColorFactor,"G"=>$Settings["G"]+$SubCaptionColorFactor,"B"=>$Settings["B"]+$SubCaptionColorFactor);
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_DEFAULT )
- $this->pChartObject->drawText($X1,$Y+$Height+$TextPadding,$Caption,$CaptionColor);
- elseif ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $CaptionHeight = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
-
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$TextPadding,$Caption,$CaptionColor);
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$CaptionHeight+$TextPadding*2,$SubCaption,$SubCaptionColor);
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- $X1 = $X2 + $SectionsMargin;
- }
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- foreach($Values as $Key => $Value)
- {
- if ( $Value >= $OverallMin && $Value <= $OverallMax )
- {
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $X1 = $ValuesPos[$Value]; //$X + $Key*$SectionsMargin + ($Value - $OverallMin) * $XScale;
-
- if ( $ValueDisplay == INDICATOR_VALUE_BUBBLE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y,$ValueFontName,$ValueFontSize,0,$Value.$Unit);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $TextPadding*4)/2);
-
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius+4,array("R"=>$Settings["R"]+20,"G"=>$Settings["G"]+20,"B"=>$Settings["B"]+20));
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius,array("R"=>255,"G"=>255,"B"=>255));
-
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize);
- $this->pChartObject->drawText($X1-1,$Y-1,$Value.$Unit,$TextSettings);
- }
- elseif( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- $Caption = "";
- $Caption[] = array("Format"=>array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>100),"Caption"=>$Value.$Unit);
- $this->pChartObject->drawLabelBox(floor($X1),floor($Y)+2,"Value - ".$Settings["Caption"],$Caption);
- }
- }
- $X1 = $X2 + $SectionsMargin;
- }
- }
- }
- $this->pChartObject->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pPie.class.php b/notFinishedCode/pChart2.1.2/class/pPie.class.php
deleted file mode 100644
index 8940b4d..0000000
--- a/notFinishedCode/pChart2.1.2/class/pPie.class.php
+++ /dev/null
@@ -1,1493 +0,0 @@
-<?php
- /*
- pPie - class to draw pie charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Class return codes */
- define("PIE_NO_ABSCISSA" , 140001);
- define("PIE_NO_DATASERIE" , 140002);
- define("PIE_SUMISNULL" , 140003);
- define("PIE_RENDERED" , 140000);
-
- define("PIE_LABEL_COLOR_AUTO" , 140010);
- define("PIE_LABEL_COLOR_MANUAL", 140011);
-
- define("PIE_VALUE_NATURAL" , 140020);
- define("PIE_VALUE_PERCENTAGE" , 140021);
-
- define("PIE_VALUE_INSIDE" , 140030);
- define("PIE_VALUE_OUTSIDE" , 140031);
-
- /* pPie class definition */
- class pPie
- {
- var $pChartObject;
- var $pDataObject;
- var $LabelPos = "" ;
-
- /* Class creator */
- function pPie($Object,$pDataObject)
- {
- /* Cache the pChart object reference */
- $this->pChartObject = $Object;
-
- /* Cache the pData object reference */
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a pie chart */
- function draw2DPie($X,$Y,$Format="")
- {
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DPie($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- if ( !$SecondPass && !$Shadow )
- {
- if ( !$Border )
- $Settings["Surrounding"] = 10;
- else
- { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- }
-
- $Plots = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
-
- $Plots[] = $X0; $Plots[] = $Y0;
-
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $SecondPass && ( $i<90 )) { $Yc++; }
- if ( $SecondPass && ( $i>180 && $i<270 )) { $Xc++; }
- if ( $SecondPass && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
-
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- if ( $DrawLabels && !$Shadow && !$SecondPass )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- $Settings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB);
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
- }
-
- if ( $WriteValues != NULL && !$Shadow )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = ($Value*$ScaleFactor) + $Offset; if ( $EndAngle > 360 ) { $EndAngle = 0; }
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $Y;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius)/2 + $Y;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle + $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D pie chart */
- function draw3DPie($X,$Y,$Format="")
- {
- /* Rendering layout */
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 80;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .5;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 20;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_INSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y;
- }
- $Slices[$Slice][] = $X0; $Slices[$Slice][] = $Y0; $SliceAngle[$Slice][] = 0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y;
-
- if ( ($SecondPass || $RestoreShadow ) && ( $i<90 )) { $Yc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>90 && $i<180 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>180 && $i<270 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Slices[$Slice][] = $Xc; $Slices[$Slice][] = $Yc; $SliceAngle[$Slice][] = $i;
- }
-
- $Offset = $i - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom shadow if needed */
- if ( $RestoreShadow && ($this->pChartObject->ShadowX != 0 || $this->pChartObject->ShadowY !=0 ))
- {
- foreach($Slices as $SliceID => $Plots)
- {
- $ShadowPie = "";
- for($i=0;$i<count($Plots);$i=$i+2)
- { $ShadowPie[] = $Plots[$i]+$this->pChartObject->ShadowX; $ShadowPie[] = $Plots[$i+1]+$this->pChartObject->ShadowY; }
-
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa,"NoBorder"=>TRUE);
- $this->pChartObject->drawPolygon($ShadowPie,$Settings);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X + $this->pChartObject->ShadowX;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y + $this->pChartObject->ShadowY;
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots,$Settings);
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30;; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
- }
- }
- }
-
- /* Draw the two vertical edges */
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- if ( $Visible[$SliceID]["Start"] && isset($Plots[2])) /* Empty error handling */
- {
- $this->pChartObject->drawLine($Plots[2],$Plots[3],$Plots[2],$Plots[3]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[2]; $Border[] = $Plots[3] - $SliceHeight; $Border[] = $Plots[2]; $Border[] = $Plots[3];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
- if ( $Visible[$SliceID]["End"] )
- {
- $this->pChartObject->drawLine($Plots[count($Plots)-2],$Plots[count($Plots)-1],$Plots[count($Plots)-2],$Plots[count($Plots)-1]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
-
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1] - $SliceHeight; $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- /* Draw the rounded edges */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- for ($j=2;$j<count($Plots)-2;$j=$j+2)
- {
- $Angle = $SliceAngle[$SliceID][$j/2];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Border = "";
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3] - $SliceHeight;
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1] - $SliceHeight;
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
- }
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 270 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 270 )
- {
- $Xc = cos((270-90)*PI/180) * $Radius + $X;
- $Yc = sin((270-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 90 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 90 )
- {
- $Xc = cos((0)*PI/180) * $Radius + $X;
- $Yc = sin((0)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- }
- }
-
- /* Draw the top splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 20; $Settings["G"]+= 20; $Settings["B"]+= 20;
-
- $Top = "";
- for($j=0;$j<count($Plots);$j=$j+2) { $Top[] = $Plots[$j]; $Top[] = $Plots[$j+1]- $SliceHeight; }
- $this->pChartObject->drawPolygon($Top,$Settings);
-
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Top),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][count($Slices)-$SliceID-1],$Values[$SliceID]); }
- }
-
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- { $Settings = array("R"=>$Palette[$ID]["R"]+30,"G"=>$Palette[$ID]["G"]+30,"B"=>$Palette[$ID]["B"]+30,"Alpha"=>$Palette[$ID]["Alpha"]); }
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y- $SliceHeight; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y - $SliceHeight;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- if ($i < 270 && $i > 90 ) { $this->pChartObject->drawAntialiasPixel($Xc,$Yc+$SliceHeight,$Settings); }
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- if ( $WriteValues != NULL )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($Radius*$SkewFactor)+$ValuePadding) + $Y - $SliceHeight;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius*$SkewFactor)/2 + $Y - $SliceHeight;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( isset($Data["Series"][$Data["Abscissa"]]["Data"][$ID]) )
- {
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$ID];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius,TRUE);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw the legend of pie chart */
- function drawPieLegend($X,$Y,$Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$BoxSize+4,$vY+$BoxSize/2,$FontName,$FontSize,0,$Value);
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vY=$vY+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vX=$Boundaries["R"]+$XStep;
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $R = $Palette[$Key]["R"]; $G = $Palette[$Key]["G"]; $B = $Palette[$Key]["B"];
-
- $this->pChartObject->drawFilledRectangle($X+1,$Y+1,$X+$BoxSize+1,$Y+$BoxSize+1,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X,$Y,$X+$BoxSize,$Y+$BoxSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- if ( $Mode == LEGEND_VERTICAL )
- {
- $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $Y=$Y+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $BoxArray = $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $X=$BoxArray[1]["X"]+2+$XStep;
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Set the color of the specified slice */
- function setSliceColor($SliceID,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- $this->pDataObject->Palette[$SliceID]["R"] = $R;
- $this->pDataObject->Palette[$SliceID]["G"] = $G;
- $this->pDataObject->Palette[$SliceID]["B"] = $B;
- $this->pDataObject->Palette[$SliceID]["Alpha"] = $Alpha;
- }
-
- /* Internally used compute the label positions */
- function writePieLabel($X,$Y,$Label,$Angle,$Settings,$Stacked,$Xc=0,$Yc=0,$Radius=0,$Reversed=FALSE)
- {
- $LabelOffset = 30;
- $FontName = $this->pChartObject->FontName;
- $FontSize = $this->pChartObject->FontSize;
-
- if ( !$Stacked )
- {
- $Settings["Angle"] = 360-$Angle;
- $Settings["Length"] = 25;
- $Settings["Size"] = 8;
-
- $this->pChartObject->drawArrowLabel($X,$Y," ".$Label." ",$Settings);
- }
- else
- {
- $X2 = cos(deg2rad($Angle-90))*20+$X;
- $Y2 = sin(deg2rad($Angle-90))*20+$Y;
-
- $TxtPos = $this->pChartObject->getTextBox($X,$Y,$FontName,$FontSize,0,$Label);
- $Height = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
- $YTop = $Y2 - $Height/2 - 2;
- $YBottom = $Y2 + $Height/2 + 2;
-
- if ( $this->LabelPos != "" )
- {
- $Done = FALSE;
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( !$Done )
- {
- if ( $Angle <= 90 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 90 && $Angle <= 180 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 180 && $Angle <= 270 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 270 && $Angle <= 360 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- }
- }
- }
-
- $LabelSettings = array("YTop"=>$YTop,"YBottom"=>$YBottom,"Label"=>$Label,"Angle"=>$Angle,"X1"=>$X,"Y1"=>$Y,"X2"=>$X2,"Y2"=>$Y2);
- if ( $Angle <= 180 ) { $LabelSettings["X3"] = $Xc+$Radius+$LabelOffset; }
- if ( $Angle > 180 ) { $LabelSettings["X3"] = $Xc-$Radius-$LabelOffset; }
- $this->LabelPos[] = $LabelSettings;
- }
- }
-
- /* Internally used to shift label positions */
- function shift($StartAngle,$EndAngle,$Offset,$Reversed)
- {
- if ( $Reversed ) { $Offset = -$Offset; }
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( $Settings["Angle"] > $StartAngle && $Settings["Angle"] <= $EndAngle ) { $this->LabelPos[$Key]["YTop"] = $Settings["YTop"] + $Offset; $this->LabelPos[$Key]["YBottom"] = $Settings["YBottom"] + $Offset; $this->LabelPos[$Key]["Y2"] = $Settings["Y2"] + $Offset; }
- }
- }
-
- /* Internally used to write the re-computed labels */
- function writeShiftedLabels()
- {
- if ( $this->LabelPos == "" ) { return(0); }
- foreach($this->LabelPos as $Key => $Settings)
- {
- $X1 = $Settings["X1"]; $Y1 = $Settings["Y1"];
- $X2 = $Settings["X2"]; $Y2 = $Settings["Y2"];
- $X3 = $Settings["X3"];
- $Angle = $Settings["Angle"];
- $Label = $Settings["Label"];
-
- $this->pChartObject->drawArrow($X2,$Y2,$X1,$Y1,array("Size"=>8));
- if ( $Angle <= 180 )
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3+2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- }
- else
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3-2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- }
- }
- }
-
- /* Draw a ring chart */
- function draw2DRing($X,$Y,$Format="")
- {
- $OuterRadius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $InnerRadius = isset($Format["Radius"]) ? $Format["Radius"] : 30;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 5;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = 0; } // count($Values)
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DRing($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- {
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- $BorderColor = $Settings;
- }
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- if ( $Border )
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
- else
- $BorderColor = $Settings;
- }
-
- $Plots = ""; $Boundaries = ""; $AAPixels = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $OuterRadius + $Y;
-
- if ( !isset($Boundaries[0]["X1"]) ) { $Boundaries[0]["X1"] = $Xc; $Boundaries[0]["Y1"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[1]["X1"] = $Xc; $Boundaries[1]["Y1"] = $Yc;
- $Lasti = $EndAngle;
-
- for($i=$EndAngle;$i>=$Offset;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius-1) + $Y;
-
- if ( !isset($Boundaries[1]["X2"]) ) { $Boundaries[1]["X2"] = $Xc; $Boundaries[1]["Y2"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * $InnerRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $InnerRadius + $Y;
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[0]["X2"] = $Xc; $Boundaries[0]["Y2"] = $Yc;
-
- /* Draw the polygon */
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- /* Smooth the edges using AA */
- foreach($AAPixels as $iKey => $Pos ) { $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$BorderColor); }
- $this->pChartObject->drawLine($Boundaries[0]["X1"],$Boundaries[0]["Y1"],$Boundaries[0]["X2"],$Boundaries[0]["Y2"],$BorderColor);
- $this->pChartObject->drawLine($Boundaries[1]["X1"],$Boundaries[1]["Y1"],$Boundaries[1]["X2"],$Boundaries[1]["Y2"],$BorderColor);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $OuterRadius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $Lasti; $ID++;
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- if ( $WriteValues && !$Shadow )
- {
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset+($Value*$ScaleFactor);
- if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = $Offset+($Value*$ScaleFactor)/2;
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $Y;
- if ( $Angle >=0 && $Angle <= 90 ) { $Align = TEXT_ALIGN_BOTTOMLEFT; }
- if ( $Angle > 90 && $Angle <= 180 ) { $Align = TEXT_ALIGN_TOPLEFT; }
- if ( $Angle > 180 && $Angle <= 270 ) { $Align = TEXT_ALIGN_TOPRIGHT; }
- if ( $Angle > 270 ) { $Align = TEXT_ALIGN_BOTTOMRIGHT; }
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $Y;
- $Align = TEXT_ALIGN_MIDDLEMIDDLE;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,array("Align"=>$Align,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB));
- $Offset = $EndAngle;
- }
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D ring chart */
- function draw3DRing($X,$Y,$Format="")
- {
- /* Rendering layout */
- $OuterRadius = isset($Format["OuterRadius"]) ? $Format["OuterRadius"] : 100;
- $InnerRadius = isset($Format["InnerRadius"]) ? $Format["InnerRadius"] : 30;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .6;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 10;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 10;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 10;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $Cf = isset($Format["Cf"]) ? $Format["Cf"] : 20;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : $SliceHeight + 15;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon ring elements */
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- $Step = (360 / (2 * PI * $OuterRadius))/2;
- $OutX1 = VOID; $OutY1 = VOID;
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
-
- if ( $OutX1 == VOID ) { $OutX1 = $Xc; $OutY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $OutX2 = $Xc; $OutY2 = $Yc;
-
- $Slices[$Slice]["Angle"][] = VOID;
- $Lasti = $i;
-
- $Step = (360 / (2 * PI * $InnerRadius))/2;
- $InX1 = VOID; $InY1 = VOID;
- for($i=$EndAngle;$i<=$Offset;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- if ( $InX1 == VOID ) { $InX1 = $Xc; $InY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $InX2 = $Xc; $InY2 = $Yc;
-
- $Slices[$Slice]["InX1"] = $InX1; $Slices[$Slice]["InY1"] = $InY1;
- $Slices[$Slice]["InX2"] = $InX2; $Slices[$Slice]["InY2"] = $InY2;
- $Slices[$Slice]["OutX1"] = $OutX1; $Slices[$Slice]["OutY1"] = $OutY1;
- $Slices[$Slice]["OutX2"] = $OutX2; $Slices[$Slice]["OutY2"] = $OutY2;
-
- $Offset = $Lasti - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots["BottomPoly"],$Settings);
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["OutX2"],$Plots["OutY2"],$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["OutX1"],$Plots["OutY1"],$Settings);
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
- /* Draw the vertical edges (semi-visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Settings);
- }
-
- /* Draw the inner vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Inner )
- {
- if (( $Angle < 90 || $Angle > 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $InnerPlotsA[] = $Xo; $InnerPlotsA[] = $Yo;
- $InnerPlotsB[] = $Xo; $InnerPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
-
- if ( $InnerPlotsA != "" )
- { $InnerPlots = array_merge($InnerPlotsA,$this->arrayReverse($InnerPlotsB)); $this->pChartObject->drawPolygon($InnerPlots,$Settings); }
- }
-
-
- /* Draw the splice top and left poly */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*1.5; $Settings["G"] = $Settings["G"]+$Cf*1.5; $Settings["B"] = $Settings["B"]+$Cf*1.5;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle < 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"];
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
-
- if ( $EndAngle > 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"];
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
- }
-
-
- /* Draw the vertical edges (visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle <= 270 && $StartAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $EndAngle <= 270 && $EndAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- }
-
-
- /* Draw the outer vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $OuterPlotsA = ""; $OuterPlotsB = ""; $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Outer )
- {
- if ( ( $Angle > 90 && $Angle < 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $OuterPlotsA[] = $Xo; $OuterPlotsA[] = $Yo;
- $OuterPlotsB[] = $Xo; $OuterPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
- if ( $OuterPlotsA != "" )
- { $OuterPlots = array_merge($OuterPlotsA,$this->arrayReverse($OuterPlotsB)); $this->pChartObject->drawPolygon($OuterPlots,$Settings); }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
-
- /* Draw the top pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*2; $Settings["G"] = $Settings["G"]+$Cf*2; $Settings["B"] = $Settings["B"]+$Cf*2;
-
- $this->pChartObject->drawPolygon($Plots["TopPoly"],$Settings);
-
-//print_r($Data["Series"][$Data["Abscissa"]]["Data"]);
-//exit();
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots["TopPoly"]),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$SliceID],$Data["Series"][$DataSerie]["Data"][count($Slices)-$SliceID-1]); }
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- }
-
- if ( $DrawLabels )
- {
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,FALSE);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--; $Slice++;
- }
- }
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Serialize an array */
- function arraySerialize($Data)
- {
- $Result = "";
- foreach($Data as $Key => $Value)
- { if ($Result == "") { $Result = floor($Value); } else { $Result = $Result.",".floor($Value); } }
-
- return($Result);
- }
-
- /* Reverse an array */
- function arrayReverse($Plots)
- {
- $Result = "";
-
- for($i=count($Plots)-1;$i>=0;$i=$i-2)
- { $Result[] = $Plots[$i-1]; $Result[] = $Plots[$i]; }
-
- return($Result);
- }
-
- /* Remove unused series & values */
- function clean0Values($Data,$Palette,$DataSerie,$AbscissaSerie)
- {
- $NewPalette = ""; $NewData = ""; $NewAbscissa = "";
-
- /* Remove unused series */
- foreach($Data["Series"] as $SerieName => $SerieSettings)
- { if ( $SerieName != $DataSerie && $SerieName != $AbscissaSerie ) { unset($Data["Series"][$SerieName]); } }
-
- /* Remove NULL values */
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ($Value != 0 )
- {
- $NewData[] = $Value;
- $NewAbscissa[] = $Data["Series"][$AbscissaSerie]["Data"][$Key];
- if ( isset($Palette[$Key]) ) { $NewPalette[] = $Palette[$Key]; }
- }
- }
- $Data["Series"][$DataSerie]["Data"] = $NewData;
- $Data["Series"][$AbscissaSerie]["Data"] = $NewAbscissa;
-
- return(array($Data,$NewPalette));
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pRadar.class.php b/notFinishedCode/pChart2.1.2/class/pRadar.class.php
deleted file mode 100644
index 6235c99..0000000
--- a/notFinishedCode/pChart2.1.2/class/pRadar.class.php
+++ /dev/null
@@ -1,669 +0,0 @@
-<?php
- /*
- pRadar - class to draw radar charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SEGMENT_HEIGHT_AUTO" , 690001);
-
- define("RADAR_LAYOUT_STAR" , 690011);
- define("RADAR_LAYOUT_CIRCLE" , 690012);
-
- define("RADAR_LABELS_ROTATED" , 690021);
- define("RADAR_LABELS_HORIZONTAL" , 690022);
-
- /* pRadar class definition */
- class pRadar
- {
- var $pChartObject;
-
- /* Class creator */
- function pRadar()
- { }
-
- /* Draw a radar chart */
- function drawRadar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : 0;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["AxisFontName"]) ? $Format["AxisFontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["AxisFontSize"]) ? $Format["AxisFontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $Layout = isset($Format["Layout"]) ? $Format["Layout"] : RADAR_LAYOUT_STAR;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $SkipLabels = isset($Format["SkipLabels"]) ? $Format["SkipLabels"] : 1;
- $LabelMiddle = isset($Format["LabelMiddle"]) ? $Format["LabelMiddle"] : FALSE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : TRUE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : 40;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
- if ( $LabelMiddle && $SkipLabels == 1 )
- { $Axisoffset = (360/$Points)/2; }
- elseif ( $LabelMiddle && $SkipLabels != 1 )
- { $Axisoffset = (360/($Points/$SkipLabels))/2; }
- elseif ( !$LabelMiddle )
- { $Axisoffset = 0; }
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $PointArray = "";
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $PointArray = "";
-
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- $ColorDotted = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha*.8, "Ticks"=>2);
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX1 = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $Object->drawLine($EdgeX1,$EdgeY1,$EdgeX2,$EdgeY2,$Color);
- }
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $Label = $j * $SegmentHeight;
-
- if ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- elseif ( $Layout == RADAR_LAYOUT_STAR )
- {
- $EdgeX1 = cos(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $EdgeX1 = ($EdgeX2 - $EdgeX1)/2 + $EdgeX1;
- $EdgeY1 = ($EdgeY2 - $EdgeY1)/2 + $EdgeY1;
- }
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- if ($ID % $SkipLabels == 0)
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color); }
- else
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$ColorDotted); }
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
-
- if ( $LabelSerie != "" )
- { $Label = isset($Data["Series"][$LabelSerie]["Data"][$ID]) ? $Data["Series"][$LabelSerie]["Data"][$ID] : ""; }
- else
- $Label = $ID;
-
- if ($ID % $SkipLabels == 0)
- {
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-($i+$AxisRotation+$Axisoffset))-90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataS)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataS["Data"] as $Key => $Value)
- {
- $Angle = (360/$Points) * $Key;
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- $Plot[$ID][] = array($X,$Y,$Value);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataS["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]." = ".$Value); }
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
-
-
-
- /* Draw a radar chart */
- function drawPolar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : -90;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $AxisSteps = isset($Format["AxisSteps"]) ? $Format["AxisSteps"] : 20;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : FALSE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : NULL;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( $AxisBoxRounded ) { $DrawAxisValues = TRUE; }
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $Label = $j*$SegmentHeight;
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<=359;$i=$i+$AxisSteps)
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color);
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
- $Label = $i."°";
-
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-$i),"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataSet)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataSet["Data"] as $Key => $Value)
- {
- $Angle = $Data["Series"][$LabelSerie]["Data"][$Key];
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataSet["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]."&deg = ".$Value); }
-
- $Plot[$ID][] = array($X,$Y,$Value);
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
-
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pScatter.class.php b/notFinishedCode/pChart2.1.2/class/pScatter.class.php
deleted file mode 100644
index 55ef1c7..0000000
--- a/notFinishedCode/pChart2.1.2/class/pScatter.class.php
+++ /dev/null
@@ -1,954 +0,0 @@
-<?php
- /*
- pScatter - class to draw scatter charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SCATTER_MISSING_X_SERIE" , 190001);
- define("SCATTER_MISSING_Y_SERIE" , 190002);
-
- /* pScatter class definition */
- class pScatter
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pScatter($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function drawScatterScale($Format="")
- {
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $XLabelsRotation = isset($Format["XLabelsRotation"]) ? $Format["XLabelsRotation"] : 90;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : 0;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : ALL;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 10;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 10;
-
- /* Check if we have at least both one X and Y axis */
- $GotXAxis = FALSE; $GotYAxis = FALSE;
- foreach($this->pDataObject->Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
- if ( $AxisSettings["Identity"] == AXIS_Y ) { $GotYAxis = TRUE; }
- }
- if ( !$GotXAxis ) { return(SCATTER_MISSING_X_SERIE); }
- if ( !$GotYAxis ) { return(SCATTER_MISSING_Y_SERIE); }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE ) { $DrawYLines = array("zarma"=>"31"); }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X)
- { $Width = $this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1 - $XMargin*2; }
- else
- { $Width = $this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1 - $YMargin*2; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] )
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
-
- /* Full manual scale */
- if ( isset($ManualScale[$AxisID]["Rows"]) && isset($ManualScale[$AxisID]["RowHeight"]) )
- $Scale = array("Rows"=>$ManualScale[$AxisID]["Rows"],"RowHeight"=>$ManualScale[$AxisID]["RowHeight"],"XMin"=>$ManualScale[$AxisID]["Min"],"XMax"=>$ManualScale[$AxisID]["Max"]);
- else
- {
- $MaxDivs = floor($Width/$MinDivHeight);
- $Scale = $this->pChartObject->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
- }
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisSettings["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Get the default font color */
- $FontColorRo = $this->pChartObject->FontColorR; $FontColorGo = $this->pChartObject->FontColorG; $FontColorBo = $this->pChartObject->FontColorB;
-
- /* Set the original boundaries */
- $AxisPos["L"] = $this->pChartObject->GraphAreaX1; $AxisPos["R"] = $this->pChartObject->GraphAreaX2; $AxisPos["T"] = $this->pChartObject->GraphAreaY1; $AxisPos["B"] = $this->pChartObject->GraphAreaY2;
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( isset($AxisSettings["Color"]) )
- {
- $AxisR = $AxisSettings["Color"]["R"]; $AxisG = $AxisSettings["Color"]["G"]; $AxisB = $AxisSettings["Color"]["B"];
- $TickR = $AxisSettings["Color"]["R"]; $TickG = $AxisSettings["Color"]["G"]; $TickB = $AxisSettings["Color"]["B"];
- $this->pChartObject->setFontProperties(array("R"=>$AxisSettings["Color"]["R"],"G"=>$AxisSettings["Color"]["G"],"B"=>$AxisSettings["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->pChartObject->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $AxisSettings["Identity"] == AXIS_X )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $XLabelsRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["B"],$this->pChartObject->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$InnerSubTickWidth,$XPos+$SubTicksSize,$YPos+$OuterSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos+$OuterTickWidth+$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+2+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y2"] = $MaxBottom + $this->pChartObject->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_TOP )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $SLabelxRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["T"],$this->pChartObject->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos-$OuterTickWidth-$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-4-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $AxisSettings["Identity"] == AXIS_Y )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1,$AxisPos["L"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_RIGHT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1,$AxisPos["R"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines)) ) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$InnerSubTickWidth,$YPos-$SubTicksSize,$XPos+$OuterSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X2"] = $MaxLeft + $this->pChartObject->FontSize;
- }
-
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- }
-
- $this->pDataObject->saveAxisConfig($Data["Axis"]);
- }
-
- /* Draw a scatter plot chart */
- function drawScatterPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 250;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 250;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 250;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 1;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- if ( isset($Series["Picture"]) && $Series["Picture"] != "" )
- { $Picture = $Series["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->pChartObject->getPicInfo($Picture); }
- else
- { $Picture = NULL; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
-
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PlotSize+$BorderSize),$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
-
- if( isset($Series["Shape"]) )
- { $this->pChartObject->drawShape($X,$Y,$Series["Shape"],$PlotSize,$PlotBorder,$BorderSize,$Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"],$Series["Color"]["Alpha"],$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- elseif ( $Picture == NULL )
- {
- if ( $PlotBorder ) { $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,$BorderColor); }
- $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize,$Color);
- }
- else
- { $this->pChartObject->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- }
- }
- }
- }
- }
-
- /* Draw a scatter line chart */
- function drawScatterLineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- /* Parse all the series to draw */
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $Color["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $Color["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID && $LastX != VOID && $LastY != VOID)
- $this->pChartObject->drawLine($LastX,$LastY,$X,$Y,$Color);
-
- $LastX = $X; $LastY = $Y;
- }
- }
- }
- }
-
- /* Draw a scatter spline chart */
- function drawScatterSplineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $SplineSettings = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $SplineSettings["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $SplineSettings["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID; $WayPoints = ""; $Forces = "";
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
- $Force = $this->pChartObject->getLength($LastX,$LastY,$X,$Y)/5;
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID )
- { $WayPoints[] = array($X,$Y); $Forces[] = $Force; }
-
- if ( $Y == VOID || $X == VOID )
- { $SplineSettings["Forces"] = $Forces; $this->pChartObject->drawSpline($WayPoints,$SplineSettings); $WayPoints = ""; $Forces = "";}
-
- $LastX = $X; $LastY = $Y;
- }
- $SplineSettings["Forces"] = $Forces;
- $this->pChartObject->drawSpline($WayPoints,$SplineSettings);
- }
- }
- }
-
- /* Return the scaled plot position */
- function getPosArray($Values,$AxisID)
- {
- $Data = $this->pDataObject->getData();
-
- if ( !is_array($Values) ) { $Values = array($Values); }
-
- if ( $Data["Axis"][$AxisID]["Identity"] == AXIS_X )
- {
- $Height = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- else
- {
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- }
-
- /* Draw the legend of the active series */
- function drawScatterLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->Shadow = FALSE;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $R = $Series["Color"]["R"]; $G = $Series["Color"]["G"]; $B = $Series["Color"]["B"];
- $Ticks = $Series["Ticks"]; $Weight = $Series["Weight"];
-
- if ( isset($Series["Picture"]) )
- {
- $Picture = $Series["Picture"];
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->pChartObject->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->pChartObject->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->pChartObject->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->pChartObject->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- foreach($Lines as $Key => $Value)
- $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Get the legend box size */
- function getScatterLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- $X=100; $Y=100;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the line of best fit */
- function drawScatterBestFit($Format="")
- {
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 0;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- $Color["Ticks"] = $Ticks;
-
- $PosArrayX = $Data["Series"][$Series["X"]]["Data"];
- $PosArrayY = $Data["Series"][$Series["Y"]]["Data"];
-
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
- }
-
- $n = count($PosArrayX);
-
- if ((($n*$Sxx) == ($Sx*$Sx)))
- {
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $X2 = $X1;
- $Y1 = $this->pChartObject->GraphAreaY1;
- $Y2 = $this->pChartObject->GraphAreaY2;
- }
- else
- {
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $Y1 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMin"] + $B,$SerieYAxis);
- $X2 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMax"],$SerieXAxis);
- $Y2 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMax"] + $B,$SerieYAxis);
-
- $RealM = -($Y2-$Y1)/($X2-$X1);
-
- if ( $Y1 < $this->pChartObject->GraphAreaY1 ) { $X1 = $X1 + ($this->pChartObject->GraphAreaY1-$Y1/$RealM); $Y1 = $this->pChartObject->GraphAreaY1; }
- if ( $Y1 > $this->pChartObject->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->pChartObject->GraphAreaY2)/$RealM; $Y1 = $this->pChartObject->GraphAreaY2; }
- if ( $Y2 < $this->pChartObject->GraphAreaY1 ) { $X2 = $X2 - ($this->pChartObject->GraphAreaY1-$Y2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY1; }
- if ( $Y2 > $this->pChartObject->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->pChartObject->GraphAreaY2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY2; }
- }
-
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
-
- function writeScatterLabel($ScatterSerieID,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : NULL;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[0] = $Point; }
-
- if ( !isset($Data["ScatterSeries"][$ScatterSerieID]) )
- return(0);
-
- $Series = $Data["ScatterSeries"][$ScatterSerieID];
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- foreach($Points as $Key => $Point)
- {
- if ( isset($PosArrayX[$Point]) && isset($PosArrayY[$Point]) )
- {
- $X = floor($PosArrayX[$Point]);
- $Y = floor($PosArrayY[$Point]);
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Serie = "";
- $Serie["R"] = $Series["Color"]["R"];
- $Serie["G"] = $Series["Color"]["G"];
- $Serie["B"] = $Series["Color"]["B"];
- $Serie["Alpha"] = $Series["Color"]["Alpha"];
-
- $XAxisMode = $Data["Axis"][$SerieXAxis]["Display"];
- $XAxisFormat = $Data["Axis"][$SerieXAxis]["Format"];
- $XAxisUnit = $Data["Axis"][$SerieXAxis]["Unit"];
- if ( $Decimals == NULL ) { $XValue = $SerieValuesX[$Point]; } else { $XValue = round($SerieValuesX[$Point],$Decimals); }
- $XValue = $this->pChartObject->scaleFormat($XValue,$XAxisMode,$XAxisFormat,$XAxisUnit);
-
- $YAxisMode = $Data["Axis"][$SerieYAxis]["Display"];
- $YAxisFormat = $Data["Axis"][$SerieYAxis]["Format"];
- $YAxisUnit = $Data["Axis"][$SerieYAxis]["Unit"];
- if ( $Decimals == NULL ) { $YValue = $SerieValuesY[$Point]; } else { $YValue = round($SerieValuesY[$Point],$Decimals); }
- $YValue = $this->pChartObject->scaleFormat($YValue,$YAxisMode,$YAxisFormat,$YAxisUnit);
-
- $Caption = $XValue." / ".$YValue;
-
- if ( isset($Series["Description"]) )
- $Description = $Series["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pSplit.class.php b/notFinishedCode/pChart2.1.2/class/pSplit.class.php
deleted file mode 100644
index 0a62c3d..0000000
--- a/notFinishedCode/pChart2.1.2/class/pSplit.class.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
- /*
- pSplit - class to draw spline splitted charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("TEXT_POS_TOP" , 690001);
- define("TEXT_POS_RIGHT" , 690002);
-
- /* pSplit class definition */
- class pSplit
- {
- var $pChartObject;
-
- /* Class creator */
- function pSplit()
- { }
-
- /* Create the encoded string */
- function drawSplitPath($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $Spacing = isset($Format["Spacing"]) ? $Format["Spacing"] : 20;
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 2;
- $TextPos = isset($Format["TextPos"]) ? $Format["TextPos"] : TEXT_POS_TOP;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 70;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 15;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- $LabelSerie = $Data["Abscissa"];
- $DataSerie = "";
-
- foreach($Data["Series"] as $SerieName => $Value)
- { if ( $SerieName != $LabelSerie && $DataSerie == "" ) { $DataSerie = $SerieName; } }
-
- $DataSerieSum = array_sum($Data["Series"][$DataSerie]["Data"]);
- $DataSerieCount = count($Data["Series"][$DataSerie]["Data"]);
-
- /* Scale Processing */
- if ( $TextPos == TEXT_POS_RIGHT )
- $YScale = (($Y2-$Y1) - (($DataSerieCount+1)*$Spacing)) / $DataSerieSum;
- else
- $YScale = (($Y2-$Y1) - ($DataSerieCount*$Spacing)) / $DataSerieSum;
- $LeftHeight = $DataSerieSum * $YScale;
-
- /* Re-compute graph width depending of the text mode choosen */
- if ( $TextPos == TEXT_POS_RIGHT )
- {
- $MaxWidth = 0;
- foreach($Data["Series"][$LabelSerie]["Data"] as $Key => $Label)
- {
- $Boundardies = $Object->getTextBox(0,0,$Object->FontName,$Object->FontSize,0,$Label);
- if ( $Boundardies[1]["X"] > $MaxWidth ) { $MaxWidth = $Boundardies[1]["X"] + $TextPadding*2; }
- }
- $X2 = $X2 - $MaxWidth;
- }
-
- /* Drawing */
- $LeftY = ((($Y2-$Y1) / 2) + $Y1) - ($LeftHeight/2);
- $RightY = $Y1;
- $VectorX = (($X2-$X1) / 2);
-
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ( isset($Data["Series"][$LabelSerie]["Data"][$Key]) )
- $Label = $Data["Series"][$LabelSerie]["Data"][$Key];
- else
- $Label = "-";
-
- $LeftY1 = $LeftY;
- $LeftY2 = $LeftY + $Value * $YScale;
-
- $RightY1 = $RightY + $Spacing;
- $RightY2 = $RightY + $Spacing + $Value * $YScale;;
-
- $Settings = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"],"NoDraw"=>TRUE,"Segments"=>$Segments,"Surrounding"=>$Surrounding);
-
- $PolyGon = "";
-
- $Angle = $Object->getAngle($X2,$RightY1,$X1,$LeftY1);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
-
- $Points = $Object->drawBezier($X1,$LeftY1,$X2,$RightY1,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
-
- $Angle = $Object->getAngle($X2,$RightY2,$X1,$LeftY2);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
-
- $Points = $Object->drawBezier($X1,$LeftY2,$X2,$RightY2,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- $Points = array_reverse($Points);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
- $Object->drawPolygon($PolyGon,$Settings);
-
- if ( $TextPos == TEXT_POS_RIGHT )
- $Object->drawText($X2+$TextPadding,($RightY2-$RightY1)/2+$RightY1,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- else
- $Object->drawText($X2,$RightY1-$TextPadding,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT));
-
- $LeftY = $LeftY2;
- $RightY = $RightY2;
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pSpring.class.php b/notFinishedCode/pChart2.1.2/class/pSpring.class.php
deleted file mode 100644
index fcfc8f2..0000000
--- a/notFinishedCode/pChart2.1.2/class/pSpring.class.php
+++ /dev/null
@@ -1,868 +0,0 @@
-<?php
- /*
- pSpring - class to draw spring graphs
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("NODE_TYPE_FREE" , 690001);
- define("NODE_TYPE_CENTRAL" , 690002);
-
- define("NODE_SHAPE_CIRCLE" , 690011);
- define("NODE_SHAPE_TRIANGLE" , 690012);
- define("NODE_SHAPE_SQUARE" , 690013);
-
- define("ALGORITHM_RANDOM" , 690021);
- define("ALGORITHM_WEIGHTED" , 690022);
- define("ALGORITHM_CIRCULAR" , 690023);
- define("ALGORITHM_CENTRAL" , 690024);
-
- define("LABEL_CLASSIC" , 690031);
- define("LABEL_LIGHT" , 690032);
-
- /* pSpring class definition */
- class pSpring
- {
- var $History;
- var $pChartObject;
- var $Data;
- var $Links;
- var $X1;
- var $Y1;
- var $X2;
- var $Y2;
- var $AutoComputeFreeZone;
- var $Labels;
-
- /* Class creator */
- function pSpring()
- {
- /* Initialise data arrays */
- $this->Data = "";
- $this->Links = "";
-
- /* Set nodes defaults */
- $this->Default["R"] = 255;
- $this->Default["G"] = 255;
- $this->Default["B"] = 255;
- $this->Default["Alpha"] = 100;
- $this->Default["BorderR"] = 0;
- $this->Default["BorderG"] = 0;
- $this->Default["BorderB"] = 0;
- $this->Default["BorderAlpha"] = 100;
- $this->Default["Surrounding"] = NULL;
- $this->Default["BackgroundR"] = 255;
- $this->Default["BackgroundG"] = 255;
- $this->Default["BackgroundB"] = 255;
- $this->Default["BackgroundAlpha"] = 0;
- $this->Default["Force"] = 1;
- $this->Default["NodeType"] = NODE_TYPE_FREE;
- $this->Default["Size"] = 5;
- $this->Default["Shape"] = NODE_SHAPE_CIRCLE;
- $this->Default["FreeZone"] = 40;
- $this->Default["LinkR"] = 0;
- $this->Default["LinkG"] = 0;
- $this->Default["LinkB"] = 0;
- $this->Default["LinkAlpha"] = 0;
-
- $this->Labels["Type"] = LABEL_CLASSIC;
- $this->Labels["R"] = 0;
- $this->Labels["G"] = 0;
- $this->Labels["B"] = 0;
- $this->Labels["Alpha"] = 100;
-
- $this->AutoComputeFreeZone = FALSE;
- }
-
- /* Set default links options */
- function setLinkDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["LinkR"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["LinkG"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["LinkB"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["LinkAlpha"] = $Settings["Alpha"]; }
- }
-
- /* Set default links options */
- function setLabelsSettings($Settings="")
- {
- if ( isset($Settings["Type"]) ) { $this->Labels["Type"] = $Settings["Type"]; }
- if ( isset($Settings["R"]) ) { $this->Labels["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Labels["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Labels["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Labels["Alpha"] = $Settings["Alpha"]; }
- }
-
- /* Auto compute the FreeZone size based on the number of connections */
- function autoFreeZone()
- {
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- { $this->Data[$Key]["FreeZone"] = count($Settings["Connections"])*10 + 20; }
- else
- { $this->Data[$Key]["FreeZone"] = 20; }
- }
-
- }
-
- /* Set link properties */
- function linkProperties($FromNode,$ToNode,$Settings)
- {
- if ( !isset($this->Data[$FromNode]) ) { return(0); }
- if ( !isset($this->Data[$ToNode]) ) { return(0); }
-
- $R = isset($Settings["R"]) ? $Settings["R"] : 0;
- $G = isset($Settings["G"]) ? $Settings["G"] : 0;
- $B = isset($Settings["B"]) ? $Settings["B"] : 0;
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : 100;
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Ticks = isset($Settings["Ticks"]) ? $Settings["Ticks"] : NULL;
-
- $this->Links[$FromNode][$ToNode]["R"] = $R; $this->Links[$ToNode][$FromNode]["R"] = $R;
- $this->Links[$FromNode][$ToNode]["G"] = $G; $this->Links[$ToNode][$FromNode]["G"] = $G;
- $this->Links[$FromNode][$ToNode]["B"] = $B; $this->Links[$ToNode][$FromNode]["B"] = $B;
- $this->Links[$FromNode][$ToNode]["Alpha"] = $Alpha; $this->Links[$ToNode][$FromNode]["Alpha"] = $Alpha;
- $this->Links[$FromNode][$ToNode]["Name"] = $Name; $this->Links[$ToNode][$FromNode]["Name"] = $Name;
- $this->Links[$FromNode][$ToNode]["Ticks"] = $Ticks; $this->Links[$ToNode][$FromNode]["Ticks"] = $Ticks;
- }
-
- function setNodeDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Default["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Default["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Default["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Default["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Default["Surrounding"] = $Settings["Surrounding"]; }
- if ( isset($Settings["BackgroundR"]) ) { $this->Default["BackgroundR"] = $Settings["BackgroundR"]; }
- if ( isset($Settings["BackgroundG"]) ) { $this->Default["BackgroundG"] = $Settings["BackgroundG"]; }
- if ( isset($Settings["BackgroundB"]) ) { $this->Default["BackgroundB"] = $Settings["BackgroundB"]; }
- if ( isset($Settings["BackgroundAlpha"]) ) { $this->Default["BackgroundAlpha"] = $Settings["BackgroundAlpha"]; }
- if ( isset($Settings["NodeType"]) ) { $this->Default["NodeType"] = $Settings["NodeType"]; }
- if ( isset($Settings["Size"]) ) { $this->Default["Size"] = $Settings["Size"]; }
- if ( isset($Settings["Shape"]) ) { $this->Default["Shape"] = $Settings["Shape"]; }
- if ( isset($Settings["FreeZone"]) ) { $this->Default["FreeZone"] = $Settings["FreeZone"]; }
- }
-
- /* Add a node */
- function addNode($NodeID,$Settings="")
- {
- /* if the node already exists, ignore */
- if (isset($this->Data[$NodeID])) { return(0); }
-
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : "Node ".$NodeID;
- $Connections = isset($Settings["Connections"]) ? $Settings["Connections"] : NULL;
-
- $R = isset($Settings["R"]) ? $Settings["R"] : $this->Default["R"];
- $G = isset($Settings["G"]) ? $Settings["G"] : $this->Default["G"];
- $B = isset($Settings["B"]) ? $Settings["B"] : $this->Default["B"];
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : $this->Default["Alpha"];
- $BorderR = isset($Settings["BorderR"]) ? $Settings["BorderR"] : $this->Default["BorderR"];
- $BorderG = isset($Settings["BorderG"]) ? $Settings["BorderG"] : $this->Default["BorderG"];
- $BorderB = isset($Settings["BorderB"]) ? $Settings["BorderB"] : $this->Default["BorderB"];
- $BorderAlpha = isset($Settings["BorderAlpha"]) ? $Settings["BorderAlpha"] : $this->Default["BorderAlpha"];
- $Surrounding = isset($Settings["Surrounding"]) ? $Settings["Surrounding"] : $this->Default["Surrounding"];
- $BackgroundR = isset($Settings["BackgroundR"]) ? $Settings["BackgroundR"] : $this->Default["BackgroundR"];
- $BackgroundG = isset($Settings["BackgroundG"]) ? $Settings["BackgroundG"] : $this->Default["BackgroundG"];
- $BackgroundB = isset($Settings["BackgroundB"]) ? $Settings["BackgroundB"] : $this->Default["BackgroundB"];
- $BackgroundAlpha = isset($Settings["BackgroundAlpha"]) ? $Settings["BackgroundAlpha"] : $this->Default["BackgroundAlpha"];
- $Force = isset($Settings["Force"]) ? $Settings["Force"] : $this->Default["Force"];
- $NodeType = isset($Settings["NodeType"]) ? $Settings["NodeType"] : $this->Default["NodeType"];
- $Size = isset($Settings["Size"]) ? $Settings["Size"] : $this->Default["Size"];
- $Shape = isset($Settings["Shape"]) ? $Settings["Shape"] : $this->Default["Shape"];
- $FreeZone = isset($Settings["FreeZone"]) ? $Settings["FreeZone"] : $this->Default["FreeZone"];
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $this->Data[$NodeID]["R"] = $R; $this->Data[$NodeID]["G"] = $G; $this->Data[$NodeID]["B"] = $B; $this->Data[$NodeID]["Alpha"] = $Alpha;
- $this->Data[$NodeID]["BorderR"] = $BorderR; $this->Data[$NodeID]["BorderG"] = $BorderG; $this->Data[$NodeID]["BorderB"] = $BorderB; $this->Data[$NodeID]["BorderAlpha"] = $BorderAlpha;
- $this->Data[$NodeID]["BackgroundR"] = $BackgroundR; $this->Data[$NodeID]["BackgroundG"] = $BackgroundG; $this->Data[$NodeID]["BackgroundB"] = $BackgroundB; $this->Data[$NodeID]["BackgroundAlpha"] = $BackgroundAlpha;
- $this->Data[$NodeID]["Name"] = $Name;
- $this->Data[$NodeID]["Force"] = $Force;
- $this->Data[$NodeID]["Type"] = $NodeType;
- $this->Data[$NodeID]["Size"] = $Size;
- $this->Data[$NodeID]["Shape"] = $Shape;
- $this->Data[$NodeID]["FreeZone"] = $FreeZone;
- if ( $Connections != NULL )
- {
- if ( is_array($Connections ) )
- {
- foreach($Connections as $Key => $Value)
- $this->Data[$NodeID]["Connections"][] = $Value;
- }
- else
- $this->Data[$NodeID]["Connections"][] = $Connections;
- }
- }
-
- /* Set color attribute for a list of nodes */
- function setNodesColor($Nodes,$Settings="")
- {
- if ( is_array($Nodes) )
- {
- foreach ($Nodes as $Key => $NodeID)
- {
- if (isset($this->Data[$NodeID]) )
- {
- if ( isset($Settings["R"]) ) { $this->Data[$NodeID]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$NodeID]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$NodeID]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$NodeID]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$NodeID]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$NodeID]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$NodeID]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$NodeID]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$NodeID]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
- }
- else
- {
- if ( isset($Settings["R"]) ) { $this->Data[$Nodes]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$Nodes]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$Nodes]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$Nodes]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$Nodes]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$Nodes]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$Nodes]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$Nodes]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$Nodes]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
-
- /* Returns all the nodes details */
- function dumpNodes()
- { return($this->Data); }
-
- /* Check if a connection exists and create it if required */
- function checkConnection($SourceID, $TargetID)
- {
- if ( isset($this->Data[$SourceID]["Connections"]) )
- {
- foreach ($this->Data[$SourceID]["Connections"] as $Key => $ConnectionID)
- { if ( $TargetID == $ConnectionID ) { return(TRUE); } }
- }
- $this->Data[$SourceID]["Connections"][] = $TargetID;
- }
- /* Get the median linked nodes position */
- function getMedianOffset($Key,$X,$Y)
- {
- $Cpt = 1;
- if ( isset($this->Data[$Key]["Connections"]) )
- {
- foreach($this->Data[$Key]["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]["X"]) && isset($this->Data[$NodeID]["Y"]) )
- {
- $X = $X + $this->Data[$NodeID]["X"];
- $Y = $Y + $this->Data[$NodeID]["Y"];
- $Cpt++;
- }
- }
- }
- return(array("X"=>$X/$Cpt,"Y"=>$Y/$Cpt));
- }
-
- /* Return the ID of the attached partner with the biggest weight */
- function getBiggestPartner($Key)
- {
- if ( !isset($this->Data[$Key]["Connections"]) ) { return(""); }
-
- $MaxWeight = 0; $Result = "";
- foreach($this->Data[$Key]["Connections"] as $Key => $PeerID)
- {
- if ( $this->Data[$PeerID]["Weight"] > $MaxWeight )
- { $MaxWeight = $this->Data[$PeerID]["Weight"]; $Result = $PeerID; }
- }
- return($Result);
- }
-
- /* Do the initial node positions computing pass */
- function firstPass($Algorithm)
- {
- $CenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $CenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $ConnectionID)
- $this->checkConnection($ConnectionID,$Key);
- }
- }
-
- if ( $this->AutoComputeFreeZone ) { $this->autoFreeZone(); }
-
- /* Get the max number of connections */
- $MaxConnections = 0;
- foreach($this->Data as $Key => $Settings)
- { if ( isset($Settings["Connections"]) ) { if ( $MaxConnections < count($Settings["Connections"] ) ) { $MaxConnections = count($Settings["Connections"]); } } }
-
- if ( $Algorithm == ALGORITHM_WEIGHTED )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $this->Data[$Key]["X"] = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $this->Data[$Key]["Y"] = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CENTRAL )
- {
- /* Put a weight on each nodes */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- $this->Data[$Key]["Weight"] = count($Settings["Connections"]);
- else
- $this->Data[$Key]["Weight"] = 0;
- }
-
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $BiggestPartner = $this->getBiggestPartner($Key);
- if ( $BiggestPartner != "" )
- {
- $Ring = $this->Data[$BiggestPartner]["FreeZone"];
- $Weight = $this->Data[$BiggestPartner]["Weight"];
- $AngleDivision = 360 / $this->Data[$BiggestPartner]["Weight"];
- $Done = FALSE; $Tries = 0;
- while (!$Done && $Tries <= $Weight*2)
- {
- $Tries++;
- $Angle = floor(rand(0,$Weight)*$AngleDivision);
- if ( !isset($this->Data[$BiggestPartner]["Angular"][$Angle]) || !isset($this->Data[$BiggestPartner]["Angular"]) )
- {
- $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle;
- $Done = TRUE;
- }
- }
- if ( !$Done )
- { $Angle = rand(0,360); $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle; }
-
- $X = cos(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["X"];
- $Y = sin(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["Y"];
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CIRCULAR )
- {
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $X = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $Y = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
-
- $MedianOffset = $this->getMedianOffset($Key,$X,$Y);
-
- $this->Data[$Key]["X"] = $MedianOffset["X"];
- $this->Data[$Key]["Y"] = $MedianOffset["Y"];
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_RANDOM )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- $this->Data[$Key]["X"] = $CenterX + rand(-20,20);
- $this->Data[$Key]["Y"] = $CenterY + rand(-20,20);
- }
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- }
- }
- }
-
- /* Compute one pass */
- function doPass()
- {
- /* Compute vectors */
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- unset($this->Data[$Key]["Vectors"]);
-
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- /* Repulsion vectors */
- foreach($this->Data as $Key2 => $Settings2)
- {
- if ( $Key != $Key2 )
- {
- $X2 = $this->Data[$Key2]["X"];
- $Y2 = $this->Data[$Key2]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2) + 180;
-
- /* Nodes too close, repulsion occurs */
- if ( $Distance < $FreeZone )
- {
- $Force = log(pow(2,$FreeZone-$Distance));
- if ( $Force > 1 )
- { $this->Data[$Key]["Vectors"][] = array("Type"=>"R","Angle"=>$Angle % 360,"Force"=>$Force); }
- }
- }
- }
-
- /* Attraction vectors */
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- if ( $Distance > $FreeZone )
- $Force = log(($Distance-$FreeZone)+1);
- else
- { $Force = log(($FreeZone-$Distance)+1); ($Angle = $Angle + 180); }
-
- if ( $Force > 1 )
- $this->Data[$Key]["Vectors"][] = array("Type"=>"A","Angle"=>$Angle % 360,"Force"=>$Force);
- }
- }
- }
- }
- }
-
- /* Move the nodes accoding to the vectors */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
-
- $X = cos(deg2rad($Angle)) * $Force * $Factor + $X;
- $Y = sin(deg2rad($Angle)) * $Force * $Factor + $Y;
- }
- }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
-
- function lastPass()
- {
- /* Put everything inside the graph area */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $this->X1 ) { $X = $this->X1; }
- if ( $X > $this->X2 ) { $X = $this->X2; }
- if ( $Y < $this->Y1 ) { $Y = $this->Y1; }
- if ( $Y > $this->Y2 ) { $Y = $this->Y2; }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
-
- /* Dump all links */
- $Links = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- $Links[] = array("X1"=>$X1,"Y1"=>$Y1,"X2"=>$X2,"Y2"=>$Y2,"Source"=>$Settings["Name"],"Destination"=>$this->Data[$NodeID]["Name"]);
- }
- }
- }
- }
-
- /* Check collisions */
- $Conflicts = 0;
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- foreach($Links as $IDLinks => $Link)
- {
- $X3 = $Link["X1"]; $Y3 = $Link["Y1"]; $X4 = $Link["X2"]; $Y4 = $Link["Y2"];
-
- if ( !($X1 == $X3 && $X2 == $X4 && $Y1 == $Y3 && $Y2 == $Y4 ) )
- {
- if ( $this->intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4) )
- {
- if ( $Link["Source"] != $Settings["Name"] && $Link["Source"] != $this->Data[$NodeID]["Name"] && $Link["Destination"] != $Settings["Name"] && $Link["Destination"] != $this->Data[$NodeID]["Name"] )
- { $Conflicts++; }
- }
- }
- }
- }
- }
- }
- }
- return($Conflicts/2);
- }
-
- /* Center the graph */
- function center()
- {
- /* Determine the real center */
- $TargetCenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $TargetCenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Get current boundaries */
- $XMin = $this->X2; $XMax = $this->X1;
- $YMin = $this->Y2; $YMax = $this->Y1;
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $XMin) { $XMin = $X; }
- if ( $X > $XMax) { $XMax = $X; }
- if ( $Y < $YMin) { $YMin = $Y; }
- if ( $Y > $YMax) { $YMax = $Y; }
- }
- $CurrentCenterX = ($XMax - $XMin) / 2 + $XMin;
- $CurrentCenterY = ($YMax - $YMin) / 2 + $YMin;
-
- /* Compute the offset to apply */
- $XOffset = $TargetCenterX - $CurrentCenterX;
- $YOffset = $TargetCenterY - $CurrentCenterY;
-
- /* Correct the points position */
- foreach($this->Data as $Key => $Settings)
- {
- $this->Data[$Key]["X"] = $Settings["X"] + $XOffset;
- $this->Data[$Key]["Y"] = $Settings["Y"] + $YOffset;
- }
- }
-
- /* Create the encoded string */
- function drawSpring($Object,$Settings="")
- {
- $this->pChartObject = $Object;
-
- $Pass = isset($Settings["Pass"]) ? $Settings["Pass"] : 50;
- $Retries = isset($Settings["Retry"]) ? $Settings["Retry"] : 10;
- $this->MagneticForceA = isset($Settings["MagneticForceA"]) ? $Settings["MagneticForceA"] : 1.5;
- $this->MagneticForceR = isset($Settings["MagneticForceR"]) ? $Settings["MagneticForceR"] : 2;
- $this->RingSize = isset($Settings["RingSize"]) ? $Settings["RingSize"] : 40;
- $DrawVectors = isset($Settings["DrawVectors"]) ? $Settings["DrawVectors"] : FALSE;
- $DrawQuietZone = isset($Settings["DrawQuietZone"]) ? $Settings["DrawQuietZone"] : FALSE;
- $CenterGraph = isset($Settings["CenterGraph"]) ? $Settings["CenterGraph"] : TRUE;
- $TextPadding = isset($Settings["TextPadding"]) ? $Settings["TextPadding"] : 4;
- $Algorithm = isset($Settings["Algorithm"]) ? $Settings["Algorithm"] : ALGORITHM_WEIGHTED;
-
- $FontSize = $Object->FontSize;
- $this->X1 = $Object->GraphAreaX1;
- $this->Y1 = $Object->GraphAreaY1;
- $this->X2 = $Object->GraphAreaX2;
- $this->Y2 = $Object->GraphAreaY2;
-
- $Conflicts = 1; $Jobs = 0; $this->History["MinimumConflicts"] = -1;
- while ($Conflicts != 0 && $Jobs < $Retries )
- {
- $Jobs++;
-
- /* Compute the initial settings */
- $this->firstPass($Algorithm);
-
- /* Apply the vectors */
- if ( $Pass > 0 )
- {
- for ($i=0; $i<=$Pass; $i++) { $this->doPass(); }
- }
-
- $Conflicts = $this->lastPass();
- if ( $this->History["MinimumConflicts"] == -1 || $Conflicts < $this->History["MinimumConflicts"] )
- { $this->History["MinimumConflicts"] = $Conflicts; $this->History["Result"] = $this->Data; }
- }
-
- $Conflicts = $this->History["MinimumConflicts"];
- $this->Data = $this->History["Result"];
-
- if ( $CenterGraph ) { $this->center(); }
-
- /* Draw the connections */
- $Drawn = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( !isset($Drawn[$Key]) ) { $Drawn[$Key] = ""; }
- if ( !isset($Drawn[$NodeID]) ) { $Drawn[$NodeID] = ""; }
-
- if ( isset($this->Data[$NodeID]) && !isset($Drawn[$Key][$NodeID]) && !isset($Drawn[$NodeID][$Key]) )
- {
- $Color = array("R"=>$this->Default["LinkR"],"G"=>$this->Default["LinkG"],"B"=>$this->Default["LinkB"],"Alpha"=>$this->Default["Alpha"]);
-
- if ( $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["R"]) )
- { $Color = array("R"=>$this->Links[$Key][$NodeID]["R"],"G"=>$this->Links[$Key][$NodeID]["G"],"B"=>$this->Links[$Key][$NodeID]["B"],"Alpha"=>$this->Links[$Key][$NodeID]["Alpha"]); }
-
- if ( isset($this->Links[$Key][$NodeID]["Ticks"]) )
- { $Color["Ticks"] = $this->Links[$Key][$NodeID]["Ticks"]; }
- }
-
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $this->pChartObject->drawLine($X,$Y,$X2,$Y2,$Color);
- $Drawn[$Key][$NodeID] = TRUE;
-
- if ( isset($this->Links) && $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["Name"]) || isset($this->Links[$NodeID][$Key]["Name"]) )
- {
- $Name = isset($this->Links[$Key][$NodeID]["Name"]) ? $this->Links[$Key][$NodeID]["Name"] : $this->Links[$NodeID][$Key]["Name"];
- $TxtX = ($X2 - $X)/2 + $X;
- $TxtY = ($Y2 - $Y)/2 + $Y;
-
- if ( $X <= $X2 )
- $Angle = (360-$this->getAngle($X,$Y,$X2,$Y2)) % 360;
- else
- $Angle = (360-$this->getAngle($X2,$Y2,$X,$Y)) % 360;
-
- $Settings = $Color;
- $Settings["Angle"] = $Angle;
- $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE;
- $this->pChartObject->drawText($TxtX,$TxtY,$Name,$Settings);
- }
- }
- }
- }
- }
- }
-
- /* Draw the quiet zones */
- if ( $DrawQuietZone )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $FreeZone = $Settings["FreeZone"];
-
- $this->pChartObject->drawFilledCircle($X,$Y,$FreeZone,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>2));
- }
- }
-
-
- /* Draw the nodes */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $Name = $Settings["Name"];
- $FreeZone = $Settings["FreeZone"];
- $Shape = $Settings["Shape"];
- $Size = $Settings["Size"];
-
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>$Settings["Alpha"],"BorderR"=>$Settings["BorderR"],"BorderG"=>$Settings["BorderG"],"BorderB"=>$Settings["BorderB"],"BorderApha"=>$Settings["BorderAlpha"]);
-
- if ( $Shape == NODE_SHAPE_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X,$Y,$Size,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_TRIANGLE )
- {
- $Points = "";
- $Points[] = cos(deg2rad(270)) * $Size + $X; $Points[] = sin(deg2rad(270)) * $Size + $Y;
- $Points[] = cos(deg2rad(45)) * $Size + $X; $Points[] = sin(deg2rad(45)) * $Size + $Y;
- $Points[] = cos(deg2rad(135)) * $Size + $X; $Points[] = sin(deg2rad(135)) * $Size + $Y;
- $this->pChartObject->drawPolygon($Points,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_SQUARE )
- {
- $Offset = $Size/2; $Size = $Size / 2;
- $this->pChartObject->drawFilledRectangle($X-$Offset,$Y-$Offset,$X+$Offset,$Y+$Offset,$Color);
- }
-
- if ( $Name != "" )
- {
- $LabelOptions = array("R"=>$this->Labels["R"],"G"=>$this->Labels["G"],"B"=>$this->Labels["B"],"Alpha"=>$this->Labels["Alpha"]);
-
- if ( $this->Labels["Type"] == LABEL_LIGHT )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_BOTTOMLEFT;
- $this->pChartObject->drawText($X,$Y,$Name,$LabelOptions);
- }
- elseif ( $this->Labels["Type"] == LABEL_CLASSIC )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $LabelOptions["DrawBox"] = TRUE;
- $LabelOptions["BoxAlpha"] = 50;
- $LabelOptions["BorderOffset"] = 4;
- $LabelOptions["RoundedRadius"] = 3;
- $LabelOptions["BoxRounded"] = TRUE;
- $LabelOptions["NoShadow"] = TRUE;
-
- $this->pChartObject->drawText($X,$Y+$Size+$TextPadding,$Name,$LabelOptions);
- }
- }
- }
-
- /* Draw the vectors */
- if ( $DrawVectors )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
- $Color = $Type == "A" ? array("FillR"=>255,"FillG"=>0,"FillB"=>0) : array("FillR"=>0,"FillG"=>255,"FillB"=>0);
-
- $X2 = cos(deg2rad($Angle)) * $Force * $Factor + $X1;
- $Y2 = sin(deg2rad($Angle)) * $Force * $Factor + $Y1;
-
- $this->pChartObject->drawArrow($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- return(array("Pass"=>$Jobs,"Conflicts"=>$Conflicts));
- }
-
- /* Return the distance between two points */
- function getDistance($X1,$Y1,$X2,$Y2)
- { return (sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1))); }
-
- /* Return the angle made by a line and the X axis */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- function intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4)
- {
- $A = (($X3 * $Y4 - $X4 * $Y3) * ($X1 - $X2) - ($X1 * $Y2 - $X2 * $Y1) * ($X3 - $X4));
- $B = (($Y1 - $Y2) * ($X3 - $X4) - ($Y3 - $Y4) * ($X1 - $X2));
-
- if ( $B == 0 ) { return(FALSE); }
- $Xi = $A / $B;
-
- $C = ($X1 - $X2);
- if ( $C == 0 ) { return(FALSE); }
- $Yi = $Xi * (($Y1 - $Y2)/$C) + (($X1 * $Y2 - $X2 * $Y1)/$C);
-
- if ( $Xi >= min($X1,$X2) && $Xi >= min($X3,$X4) && $Xi <= max($X1,$X2) && $Xi <= max($X3,$X4))
- {
- if ( $Yi >= min($Y1,$Y2) && $Yi >= min($Y3,$Y4) && $Yi <= max($Y1,$Y2) && $Yi <= max($Y3,$Y4))
- { return(TRUE); }
- }
-
- return(FALSE);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pStock.class.php b/notFinishedCode/pChart2.1.2/class/pStock.class.php
deleted file mode 100644
index 7f9dbfb..0000000
--- a/notFinishedCode/pChart2.1.2/class/pStock.class.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
- /*
- pStock - class to draw stock charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("STOCK_MISSING_SERIE" , 180001);
-
- /* pStock class definition */
- class pStock
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pStock($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a stock chart */
- function drawStockChart($Format="")
- {
- $SerieOpen = isset($Format["SerieOpen"]) ? $Format["SerieOpen"] : "Open";
- $SerieClose = isset($Format["SerieClose"]) ? $Format["SerieClose"] : "Close";
- $SerieMin = isset($Format["SerieMin"]) ? $Format["SerieMin"] : "Min";
- $SerieMax = isset($Format["SerieMax"]) ? $Format["SerieMax"] : "Max";
- $SerieMedian = isset($Format["SerieMedian"]) ? $Format["SerieMedian"] : NULL;
- $LineWidth = isset($Format["LineWidth"]) ? $Format["LineWidth"] : 1;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 0;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 0;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 0;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 100;
- $ExtremityWidth = isset($Format["ExtremityWidth"]) ? $Format["ExtremityWidth"] : 1;
- $ExtremityLength = isset($Format["ExtremityLength"]) ? $Format["ExtremityLength"] : 3;
- $ExtremityR = isset($Format["ExtremityR"]) ? $Format["ExtremityR"] : 0;
- $ExtremityG = isset($Format["ExtremityG"]) ? $Format["ExtremityG"] : 0;
- $ExtremityB = isset($Format["ExtremityB"]) ? $Format["ExtremityB"] : 0;
- $ExtremityAlpha = isset($Format["ExtremityAlpha"]) ? $Format["ExtremityAlpha"] : 100;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 8;
- $BoxUpR = isset($Format["BoxUpR"]) ? $Format["BoxUpR"] : 188;
- $BoxUpG = isset($Format["BoxUpG"]) ? $Format["BoxUpG"] : 224;
- $BoxUpB = isset($Format["BoxUpB"]) ? $Format["BoxUpB"] : 46;
- $BoxUpAlpha = isset($Format["BoxUpAlpha"]) ? $Format["BoxUpAlpha"] : 100;
- $BoxUpSurrounding = isset($Format["BoxUpSurrounding"]) ? $Format["BoxUpSurrounding"] : NULL;
- $BoxUpBorderR = isset($Format["BoxUpBorderR"]) ? $Format["BoxUpBorderR"] : $BoxUpR-20;
- $BoxUpBorderG = isset($Format["BoxUpBorderG"]) ? $Format["BoxUpBorderG"] : $BoxUpG-20;
- $BoxUpBorderB = isset($Format["BoxUpBorderB"]) ? $Format["BoxUpBorderB"] : $BoxUpB-20;
- $BoxUpBorderAlpha = isset($Format["BoxUpBorderAlpha"]) ? $Format["BoxUpBorderAlpha"] : 100;
- $BoxDownR = isset($Format["BoxDownR"]) ? $Format["BoxDownR"] : 224;
- $BoxDownG = isset($Format["BoxDownG"]) ? $Format["BoxDownG"] : 100;
- $BoxDownB = isset($Format["BoxDownB"]) ? $Format["BoxDownB"] : 46;
- $BoxDownAlpha = isset($Format["BoxDownAlpha"]) ? $Format["BoxDownAlpha"] : 100;
- $BoxDownSurrounding= isset($Format["BoxDownSurrounding"]) ? $Format["BoxDownSurrounding"] : NULL;
- $BoxDownBorderR = isset($Format["BoxDownBorderR"]) ? $Format["BoxDownBorderR"] : $BoxDownR-20;
- $BoxDownBorderG = isset($Format["BoxDownBorderG"]) ? $Format["BoxDownBorderG"] : $BoxDownG-20;
- $BoxDownBorderB = isset($Format["BoxDownBorderB"]) ? $Format["BoxDownBorderB"] : $BoxDownB-20;
- $BoxDownBorderAlpha= isset($Format["BoxDownBorderAlpha"]) ? $Format["BoxDownBorderAlpha"] : 100;
- $ShadowOnBoxesOnly = isset($Format["ShadowOnBoxesOnly"]) ? $Format["ShadowOnBoxesOnly"] : TRUE;
- $MedianR = isset($Format["MedianR"]) ? $Format["MedianR"] : 255;
- $MedianG = isset($Format["MedianG"]) ? $Format["MedianG"] : 0;
- $MedianB = isset($Format["MedianB"]) ? $Format["MedianB"] : 0;
- $MedianAlpha = isset($Format["MedianAlpha"]) ? $Format["MedianAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : "Stock Chart";
-
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( $BoxUpSurrounding != NULL ) { $BoxUpBorderR = $BoxUpR + $BoxUpSurrounding; $BoxUpBorderG = $BoxUpG + $BoxUpSurrounding; $BoxUpBorderB = $BoxUpB + $BoxUpSurrounding; }
- if ( $BoxDownSurrounding != NULL ) { $BoxDownBorderR = $BoxDownR + $BoxDownSurrounding; $BoxDownBorderG = $BoxDownG + $BoxDownSurrounding; $BoxDownBorderB = $BoxDownB + $BoxDownSurrounding; }
-
- if ( $LineWidth != 1 ) { $LineOffset = $LineWidth / 2; }
- $BoxOffset = $BoxWidth / 2;
-
- $Data = $this->pChartObject->DataSet->getData();
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- if ( !isset($Data["Series"][$SerieOpen]) || !isset($Data["Series"][$SerieClose]) || !isset($Data["Series"][$SerieMin]) || !isset($Data["Series"][$SerieMax]) )
- return(STOCK_MISSING_SERIE);
-
- $Plots = "";
- foreach($Data["Series"][$SerieOpen]["Data"] as $Key => $Value)
- {
- $Point = "";
- if ( isset($Data["Series"][$SerieClose]["Data"][$Key]) || isset($Data["Series"][$SerieMin]["Data"][$Key]) || isset($Data["Series"][$SerieMax]["Data"][$Key]) )
- $Point = array($Value,$Data["Series"][$SerieClose]["Data"][$Key],$Data["Series"][$SerieMin]["Data"][$Key],$Data["Series"][$SerieMax]["Data"][$Key]);
- if ( $SerieMedian != NULL && isset($Data["Series"][$SerieMedian]["Data"][$Key]) )
- $Point[] = $Data["Series"][$SerieMedian]["Data"][$Key];
-
- $Plots[] = $Point;
- }
-
- $AxisID = $Data["Series"][$SerieOpen]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $YZero = $this->pChartObject->scaleComputeY(0,array("AxisID"=>$AxisID));
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $LineSettings = array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha);
- $ExtremitySettings = array("R"=>$ExtremityR,"G"=>$ExtremityG,"B"=>$ExtremityB,"Alpha"=>$ExtremityAlpha);
- $BoxUpSettings = array("R"=>$BoxUpR,"G"=>$BoxUpG,"B"=>$BoxUpB,"Alpha"=>$BoxUpAlpha,"BorderR"=>$BoxUpBorderR,"BorderG"=>$BoxUpBorderG,"BorderB"=>$BoxUpBorderB,"BorderAlpha"=>$BoxUpBorderAlpha);
- $BoxDownSettings = array("R"=>$BoxDownR,"G"=>$BoxDownG,"B"=>$BoxDownB,"Alpha"=>$BoxDownAlpha,"BorderR"=>$BoxDownBorderR,"BorderG"=>$BoxDownBorderG,"BorderB"=>$BoxDownBorderB,"BorderAlpha"=>$BoxDownBorderAlpha);
- $MedianSettings = array("R"=>$MedianR,"G"=>$MedianG,"B"=>$MedianB,"Alpha"=>$MedianAlpha);
-
- foreach($Plots as $Key =>$Points)
- {
- $PosArray = $this->pChartObject->scaleComputeY($Points,array("AxisID"=>$AxisID));
-
- $Values = "Open :".$Data["Series"][$SerieOpen]["Data"][$Key]."<BR>Close : ".$Data["Series"][$SerieClose]["Data"][$Key]."<BR>Min : ".$Data["Series"][$SerieMin]["Data"][$Key]."<BR>Max : ".$Data["Series"][$SerieMax]["Data"][$Key]."<BR>";
- if ( $SerieMedian != NULL ) { $Values = $Values."Median : ".$Data["Series"][$SerieMedian]["Data"][$Key]."<BR>"; }
- if ( $PosArray[0] > $PosArray[1] ) { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxUpR,$BoxUpG,$BoxUpB); } else { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxDownR,$BoxDownG,$BoxDownB); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->pChartObject->GraphAreaY2-1 ) { $YZero = $this->pChartObject->GraphAreaY2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaY1+1 ) { $YZero = $this->pChartObject->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($X,$PosArray[2],$X,$PosArray[3],$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$LineOffset,$PosArray[2],$X+$LineOffset,$PosArray[3],$LineSettings);
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2],$ExtremitySettings);
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3],$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]).",".floor($X+$ExtremityLength).",".floor($PosArray[3]),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2]-$ExtremityWidth,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3]+$ExtremityWidth,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]-$ExtremityWidth).",".floor($X+$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] > $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[4],$X+$ExtremityLength,$PosArray[4],$MedianSettings);
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $YZero > $this->pChartObject->GraphAreaX2-1 ) { $YZero = $this->pChartObject->GraphAreaX2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaX1+1 ) { $YZero = $this->pChartObject->GraphAreaX1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($PosArray[2],$Y,$PosArray[3],$Y,$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$LineOffset,$PosArray[3],$Y+$LineOffset,$LineSettings);
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($PosArray[2],$Y-$ExtremityLength,$PosArray[2],$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawLine($PosArray[3],$Y-$ExtremityLength,$PosArray[3],$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$ExtremityLength,$PosArray[2]-$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($PosArray[3],$Y-$ExtremityLength,$PosArray[3]+$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]-$ExtremityWidth).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] < $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($PosArray[4],$Y-$ExtremityLength,$PosArray[4],$Y+$ExtremityLength,$MedianSettings);
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/class/pSurface.class.php b/notFinishedCode/pChart2.1.2/class/pSurface.class.php
deleted file mode 100644
index f887ac0..0000000
--- a/notFinishedCode/pChart2.1.2/class/pSurface.class.php
+++ /dev/null
@@ -1,315 +0,0 @@
-<?php
- /*
- pSurface - class to draw surface charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("UNKNOWN" , 0.123456789);
- define("IGNORED" , -1);
-
- define("LABEL_POSITION_LEFT" , 880001);
- define("LABEL_POSITION_RIGHT" , 880002);
- define("LABEL_POSITION_TOP" , 880003);
- define("LABEL_POSITION_BOTTOM" , 880004);
-
- /* pStock class definition */
- class pSurface
- {
- var $pChartObject;
- var $GridSizeX;
- var $GridSizeY;
- var $Points;
-
- /* Class creator */
- function pSurface($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- $this->GridSize = 10;
- $this->Points = "";
- }
-
- /* Define the grid size and initialise the 2D matrix */
- function setGrid($XSize=10,$YSize=10)
- {
- for($X=0; $X<=$XSize; $X++) { for($Y=0; $Y<=$YSize; $Y++) { $this->Points[$X][$Y]=UNKNOWN; } }
-
- $this->GridSizeX = $XSize;
- $this->GridSizeY = $YSize;
- }
-
- /* Add a point on the grid */
- function addPoint($X,$Y,$Value,$Force=TRUE)
- {
- if ( $X < 0 || $X >$this->GridSizeX ) { return(0); }
- if ( $Y < 0 || $Y >$this->GridSizeY ) { return(0); }
-
- if ( $this->Points[$X][$Y] == UNKNOWN || $Force )
- $this->Points[$X][$Y] = $Value;
- elseif ( $this->Points[$X][$Y] == UNKNOWN )
- $this->Points[$X][$Y] = $Value;
- else
- $this->Points[$X][$Y] = ($this->Points[$X][$Y] + $Value)/2;
- }
-
- /* Write the X labels */
- function writeXLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_TOP;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_TOP )
- {
- $YPos = $this->pChartObject->GraphAreaY1 - $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- }
- elseif ( $Position == LABEL_POSITION_BOTTOM )
- {
- $YPos = $this->pChartObject->GraphAreaY2 + $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- }
- else
- return(-1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- $XPos = floor($X0+$X*$XSize + $XSize/2);
-
- if( $Labels == NULL || !isset($Labels[$X]) )
- $Value = $X+$CountOffset;
- else
- $Value = $Labels[$X];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Write the Y labels */
- function writeYLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_LEFT;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $Y0 = $this->pChartObject->GraphAreaY1;
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_LEFT )
- { $XPos = $this->pChartObject->GraphAreaX1 - $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- elseif ( $Position == LABEL_POSITION_RIGHT )
- { $XPos = $this->pChartObject->GraphAreaX2 + $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- return(-1);
-
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $YPos = floor($Y0+$Y*$YSize + $YSize/2);
-
- if( $Labels == NULL || !isset($Labels[$Y]) )
- $Value = $Y+$CountOffset;
- else
- $Value = $Labels[$Y];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Draw the area arround the specified Threshold */
- function drawContour($Threshold,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 3;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 0;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED && $Value >= $Threshold)
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $X > 0 && $this->Points[$X-1][$Y] != UNKNOWN && $this->Points[$X-1][$Y] != IGNORED && $this->Points[$X-1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X1,$Y2,$Color);
- if ( $Y > 0 && $this->Points[$X][$Y-1] != UNKNOWN && $this->Points[$X][$Y-1] != IGNORED && $this->Points[$X][$Y-1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y1,$Color);
- if ( $X < $this->GridSizeX && $this->Points[$X+1][$Y] != UNKNOWN && $this->Points[$X+1][$Y] != IGNORED && $this->Points[$X+1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X2,$Y1,$X2,$Y2,$Color);
- if ( $Y < $this->GridSizeY && $this->Points[$X][$Y+1] != UNKNOWN && $this->Points[$X][$Y+1] != IGNORED && $this->Points[$X][$Y+1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y2,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Draw the surface chart */
- function drawSurface($Format="")
- {
- $Palette = isset($Format["Palette"]) ? $Format["Palette"] : NULL;
- $ShadeR1 = isset($Format["ShadeR1"]) ? $Format["ShadeR1"] : 77;
- $ShadeG1 = isset($Format["ShadeG1"]) ? $Format["ShadeG1"] : 205;
- $ShadeB1 = isset($Format["ShadeB1"]) ? $Format["ShadeB1"] : 21;
- $ShadeA1 = isset($Format["ShadeA1"]) ? $Format["ShadeA1"] : 40;
- $ShadeR2 = isset($Format["ShadeR2"]) ? $Format["ShadeR2"] : 227;
- $ShadeG2 = isset($Format["ShadeG2"]) ? $Format["ShadeG2"] : 135;
- $ShadeB2 = isset($Format["ShadeB2"]) ? $Format["ShadeB2"] : 61;
- $ShadeA2 = isset($Format["ShadeA2"]) ? $Format["ShadeA2"] : 100;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : -1;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 1;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED )
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $Palette != NULL )
- {
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["R"]) ) { $R = $Palette[$Value]["R"]; } else { $R = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["G"]) ) { $G = $Palette[$Value]["G"]; } else { $G = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["B"]) ) { $B = $Palette[$Value]["B"]; } else { $B = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["Alpha"]) ) { $Alpha = $Palette[$Value]["Alpha"]; } else { $Alpha = 1000; }
- }
- else
- {
- $R = (($ShadeR2-$ShadeR1)/100)*$Value + $ShadeR1;
- $G = (($ShadeG2-$ShadeG1)/100)*$Value + $ShadeG1;
- $B = (($ShadeB2-$ShadeB1)/100)*$Value + $ShadeB1;
- $Alpha = (($ShadeA2-$ShadeA1)/100)*$Value + $ShadeA1;
- }
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Border ) { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- if ( $Surrounding != -1 ) { $Settings["BorderR"] = $R+$Surrounding; $Settings["BorderG"] = $G+$Surrounding; $Settings["BorderB"] = $B+$Surrounding; }
-
- $this->pChartObject->drawFilledRectangle($X1,$Y1,$X2-1,$Y2-1,$Settings);
- }
- }
- }
- }
-
- /* Compute the missing points */
- function computeMissing()
- {
- $Missing = "";
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] == UNKNOWN )
- $Missing[] = $X.",".$Y;
- }
- }
- shuffle($Missing);
-
- foreach($Missing as $Key => $Pos)
- {
- $Pos = preg_split("/,/",$Pos);
- $X = $Pos[0];
- $Y = $Pos[1];
-
- if ( $this->Points[$X][$Y] == UNKNOWN )
- {
- $NearestNeighbor = $this->getNearestNeighbor($X,$Y);
-
- $Value = 0; $Points = 0;
- for($Xi=$X-$NearestNeighbor;$Xi<=$X+$NearestNeighbor;$Xi++)
- {
- for($Yi=$Y-$NearestNeighbor;$Yi<=$Y+$NearestNeighbor;$Yi++)
- {
- if ($Xi >=0 && $Yi >= 0 && $Xi <= $this->GridSizeX && $Yi <= $this->GridSizeY && $this->Points[$Xi][$Yi] != UNKNOWN && $this->Points[$Xi][$Yi] != IGNORED)
- {
- $Value = $Value + $this->Points[$Xi][$Yi]; $Points++;
- }
- }
- }
-
- if ( $Points != 0 ) { $this->Points[$X][$Y] = $Value / $Points; }
- }
- }
- }
-
- /* Return the nearest Neighbor distance of a point */
- function getNearestNeighbor($Xp,$Yp)
- {
- $Nearest = UNKNOWN;
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] != UNKNOWN && $this->Points[$X][$Y] != IGNORED )
- {
- $DistanceX = max($Xp,$X)-min($Xp,$X);
- $DistanceY = max($Yp,$Y)-min($Yp,$Y);
- $Distance = max($DistanceX,$DistanceY);
- if ( $Distance < $Nearest || $Nearest == UNKNOWN ) { $Nearest = $Distance; }
- }
- }
- }
- return($Nearest);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/data/128B.db b/notFinishedCode/pChart2.1.2/data/128B.db
deleted file mode 100644
index 20de3c9..0000000
--- a/notFinishedCode/pChart2.1.2/data/128B.db
+++ /dev/null
@@ -1,107 +0,0 @@
-0;32;11011001100
-1;33;11001101100
-2;34;11001100110
-3;35;10010011000
-4;36;10010001100
-5;37;10001001100
-6;38;10011001000
-7;39;10011000100
-8;40;10001100100
-9;41;11001001000
-10;42;11001000100
-11;43;11000100100
-12;44;10110011100
-13;45;10011011100
-14;46;10011001110
-15;47;10111001100
-16;48;10011101100
-17;49;10011100110
-18;50;11001110010
-19;51;11001011100
-20;52;11001001110
-21;53;11011100100
-22;54;11001110100
-23;55;11101101110
-24;56;11101001100
-25;57;11100101100
-26;58;11100100110
-27;59;11101100100
-28;60;11100110100
-29;61;11100110010
-30;62;11011011000
-31;63;11011000110
-32;64;11000110110
-33;65;10100011000
-34;66;10001011000
-35;67;10001000110
-36;68;10110001000
-37;69;10001101000
-38;70;10001100010
-39;71;11010001000
-40;72;11000101000
-41;73;11000100010
-42;74;10110111000
-43;75;10110001110
-44;76;10001101110
-45;77;10111011000
-46;78;10111000110
-47;79;10001110110
-48;80;11101110110
-49;81;11010001110
-50;82;11000101110
-51;83;11011101000
-52;84;11011100010
-53;85;11011101110
-54;86;11101011000
-55;87;11101000110
-56;88;11100010110
-57;89;11101101000
-58;90;11101100010
-59;91;11100011010
-60;92;11101111010
-61;93;11001000010
-62;94;11110001010
-63;95;10100110000
-64;96;10100001100
-65;97;10010110000
-66;98;10010000110
-67;99;10000101100
-68;100;10000100110
-69;101;10110010000
-70;102;10110000100
-71;103;10011010000
-72;104;10011000010
-73;105;10000110100
-74;106;10000110010
-75;107;11000010010
-76;108;11001010000
-77;109;11110111010
-78;110;11000010100
-79;111;10001111010
-80;112;10100111100
-81;113;10010111100
-82;114;10010011110
-83;115;10111100100
-84;116;10011110100
-85;117;10011110010
-86;118;11110100100
-87;119;11110010100
-88;120;11110010010
-89;121;11011011110
-90;122;11011110110
-91;123;11110110110
-92;124;10101111000
-93;125;10100011110
-94;126;10001011110
-95;200;10111101000
-96;201;10111100010
-97;202;11110101000
-98;203;11110100010
-99;204;10111011110
-100;205;10111101110
-101;206;11101011110
-102;207;11110101110
-103;208;11010000100
-104;209;11010010000
-105;210;11010011100
-106;211;1100011101011 \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/data/39.db b/notFinishedCode/pChart2.1.2/data/39.db
deleted file mode 100644
index b1a74d6..0000000
--- a/notFinishedCode/pChart2.1.2/data/39.db
+++ /dev/null
@@ -1,44 +0,0 @@
-0;101001101101
-1;110100101011
-2;101100101011
-3;110110010101
-4;101001101011
-5;110100110101
-6;101100110101
-7;101001011011
-8;110100101101
-9;101100101101
-A;110101001011
-B;101101001011
-C;110110100101
-D;101011001011
-E;110101100101
-F;101101100101
-G;101010011011
-H;110101001101
-I;101101001101
-J;101011001101
-K;110101010011
-L;101101010011
-M;110110101001
-N;101011010011
-O;110101101001
-P;101101101001
-Q;101010110011
-R;110101011001
-S;101101011001
-T;101011011001
-U;110010101011
-V;100110101011
-W;110011010101
-X;100101101011
-Y;110010110101
-Z;100110110101
--;100101011011
-.;110010101101
- ;100110101101
-$;100100100101
-/;100100101001
-+;100101001001
-%;101001001001
-*;100101101101 \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/BTSCont.png b/notFinishedCode/pChart2.1.2/examples/BTSCont.png
deleted file mode 100644
index ef91ea6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/BTSCont.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/buildAll.cmd b/notFinishedCode/pChart2.1.2/examples/buildAll.cmd
deleted file mode 100644
index 8518c72..0000000
--- a/notFinishedCode/pChart2.1.2/examples/buildAll.cmd
+++ /dev/null
@@ -1,52 +0,0 @@
-ECHO OFF
-setlocal ENABLEDELAYEDEXPANSION
-
-CLS
-ECHO.
-ECHO ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
-ECHO º º
-ECHO º Processing all examples (this may takes 1-2 minutes) º
-ECHO º º
-ECHO ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
-ECHO.
-
-php -v 1>NUL 2>NUL
-IF %ERRORLEVEL% == 0 GOTO getVersion
-GOTO noPHP
-
-:getVersion
-FOR /F "tokens=1,2 delims= " %%G IN ('php -v') DO (
- IF %%G==PHP SET PHPVersion=%%H
- )
-
-:render
-ECHO The PHP binaries (%PHPVersion%) have been located in your system PATH
-ECHO.
-ECHO Processing examples : >resources\errors.log
-
-REM SET /P Var=" Progress : "<NUL
-
-FOR %%f IN (*.*) DO (
- set t=%%f
- if !t:~-3! == php (
- SET /P Var=þ<NUL
- ECHO %%f >>resources\errors.log
- php -q "%~dp0%%f" 1>NUL 2>>resources\errors.log
- )
-)
-
-ECHO.
-ECHO.
-ECHO All the example have been rendered in the following folder :
-ECHO.
-ECHO %~dp0pictures\
-GOTO end
-
-:noPHP
-
-ECHO The PHP binaries can't be found. We strongly advise you to put it in
-ECHO the system path variable.
-ECHO.
-ECHO Examples rendering has been aborded.
-:end
-PAUSE >NUL \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/delayedLoader/delayedLoading.js b/notFinishedCode/pChart2.1.2/examples/delayedLoader/delayedLoading.js
deleted file mode 100644
index b76bbe3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/delayedLoader/delayedLoading.js
+++ /dev/null
@@ -1,228 +0,0 @@
- /*
- delayedLoader - JS to delay out of sight pictures rendering
-
- Version : 2.0.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 10/12/10
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- var PictureCache = new Array();
- var PictureCount = 0;
- var WaitPicture = "wait.gif";
- var DivClassName = "pChart";
- var DefaultWidth = 70;
- var DefaultHeight = 230;
- var DefaultAlt = "pChart rendered picture";
-
-
- /* Do the DOM document processing */
- function loaderInit()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- /* Enumerate the tags */
- Links = document.getElementsByTagName("a");
- for (i = 0; i < Links.length; i++)
- {
- className = Links[i].className;
-
- if ( className == DivClassName )
- {
- ObjectWidth = Links[i].getAttribute("data-pchart-width");
- ObjectHeight = Links[i].getAttribute("data-pchart-height");
- ObjectID = Links[i].id;
- ObjectTop = Links[i].offsetTop;
- ObjectURL = Links[i].href;
- ObjectAlt = Links[i].getAttribute("data-pchart-alt");
-
- if ( ObjectWidth == null ) { ObjectWidth = DefaultWidth; }
- if ( ObjectHeight == null ) { ObjectHeight = DefaultHeight; }
- if ( ObjectAlt == null ) { ObjectAlt = DefaultAlt; }
-
- if (ObjectID == "") { ObjectID = "pChart-"+i; Links[i].id = ObjectID; }
-
- PictureCache[PictureCount] = new Array();
- PictureCache[PictureCount][0] = ObjectID;
- PictureCache[PictureCount][1] = ObjectTop;
- PictureCache[PictureCount][2] = ObjectURL;
- PictureCache[PictureCount][3] = ObjectAlt;
- PictureCache[PictureCount][4] = ObjectWidth;
- PictureCache[PictureCount][5] = ObjectHeight;
-
- PictureCount++;
- }
- }
-
- /* Replace the <A> tags by <DIV> ones and attach the loader */
- for(i=0;i<PictureCount;i++)
- {
- ATag = document.getElementById(PictureCache[i][0]);
- DivTag = document.createElement("div");
- DivID = "pChart-Div"+i; PictureCache[i][0] = DivID;
-
- DivTag.setAttribute("id", DivID);
- DivTag.style.width = PictureCache[i][4];
- DivTag.style.height = PictureCache[i][5];
- DivTag.style.backgroundColor = "#E0E0E0";
-
- DivTag2 = ATag.parentNode.replaceChild(DivTag, ATag);
-
- DivTop = DivTag.offsetTop;
- PictureCache[i][1] = DivTop;
-
- changeOpac(50, i);
- changeContent("<img src='"+WaitPicture+"' width=24 height=24 alt=''/>",i);
-
- if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); }
- }
- }
-
- /* Replace the contents of the delayed loading DIV */
- function changeContent(html, id)
- { DivID = PictureCache[id][0]; document.getElementById(DivID).innerHTML = html; }
-
- /* Trigger the picture rendering when the pChart DIV became visible */
- function triggerVisible(PictureID)
- {
- if ( !PictureCache[PictureID][6] == true )
- {
- PictureCache[PictureID][6] = true;
- ajaxRender(PictureCache[PictureID][2],PictureID);
- }
- }
-
- /* Catch the navigator window scrolling event */
- function scrollEvent()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- for(i=0;i<=PictureCount-1;i++) { if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); } }
- }
-
- /* Cross browser X/Y window offset gatherer */
- function getScrollXY()
- {
- var scrOfX = 0, scrOfY = 0;
-
- if( typeof( window.pageYOffset ) == 'number' )
- { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; }
- else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
- { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; }
- else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
- { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; }
-
- return [ scrOfX, scrOfY ];
- }
-
- /* Cross browser X/Y window size gatherer */
- function getWindowSize()
- {
- var myWidth = 0, myHeight = 0;
-
- if( typeof( window.innerWidth ) == 'number' )
- { myWidth = window.innerWidth; myHeight = window.innerHeight; }
- else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
- { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
- else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
- { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
-
- return [ myWidth, myHeight ];
- }
-
- /* Cross browser alpha transparency changer */
- function changeOpac(opacity, id)
- {
- DivID = PictureCache[id][0];
-
- var object = document.getElementById(DivID).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- /* Shade in-out function */
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- }
-
- /* Start the loader */
- function StartFade(PictureID)
- {
- Loader = new Image();
- URL = PictureCache[PictureID][2];
- Loader.src = URL;
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* check the picture loading status */
- function CheckLoadingStatus(PictureID)
- {
- DivID = PictureCache[PictureID][0];
- URL = PictureCache[PictureID][2];
- Alt = PictureCache[PictureID][3];
-
- if ( Loader.complete == true )
- {
- changeOpac(0, PictureID);
- HTMLResult = "<center><img src='" + URL + "' alt='"+Alt+"'/></center>";
- document.getElementById(DivID).innerHTML = HTMLResult;
-
- opacity(PictureID,0,100,100);
- }
- else
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* Compute the pChart picture in background */
- function ajaxRender(URL,PictureID)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function()
- { if (xmlhttp.readyState==4) { StartFade(PictureID); } }
- xmlhttp.send(null)
- }
diff --git a/notFinishedCode/pChart2.1.2/examples/delayedLoader/draw.php b/notFinishedCode/pChart2.1.2/examples/delayedLoader/draw.php
deleted file mode 100644
index c5b3c2f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/delayedLoader/draw.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
- if ( !isset($_GET["Seed"]) )
- { $Seed = "Unknown"; }
- else
- { $Seed = $_GET["Seed"]; }
-
- /* pChart library inclusions */
- include("../../class/pDraw.class.php");
- include("../../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>220,"StartG"=>220,"StartB"=>220,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>220,"StartG"=>220,"StartB"=>220,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>50));
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>150,"G"=>150,"B"=>150));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../../fonts/advent_light.ttf","FontSize"=>40));
- $myPicture->drawText(130,130,"Delayed loading script",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the seed # */
- $myPicture->setFontProperties(array("FontName"=>"../../fonts/advent_light.ttf","FontSize"=>10));
- $myPicture->drawText(130,140,"Seed # : ".$Seed,array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw a bezier curve */
- $BezierSettings = array("R"=>255,"G"=>255,"B"=>255,"Ticks"=>4,"DrawArrow"=>TRUE,"ArrowTwoHeads"=>TRUE);
- $myPicture->drawBezier(360,170,670,120,430,100,560,190,$BezierSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("draw.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/delayedLoader/index.php b/notFinishedCode/pChart2.1.2/examples/delayedLoader/index.php
deleted file mode 100644
index 10e3db0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/delayedLoader/index.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <script src='delayedLoading.js' type="text/javascript"></script>
- <title>pChart 2.x - Delayed loading</title>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <style>
- html { height: 100%; }
- body { background-color: #F0F0F0; font-family: tahoma; font-size: 14px; height: 100%;}
- td { font-family: tahoma; font-size: 11px; }
- div.txt { font-family: tahoma; font-size: 11px; width: 660px; padding: 15px; }
- a.smallLink:link { text-decoration: none; color: #6A6A6A; }
- a.smallLink:visited { text-decoration: none; color: #6A6A6A; }
- a.smallLink:hover { text-decoration: underline; color: #6A6A6A; }
- a.pChart { text-decoration: none; color: #6A6A6A; }
- </style>
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-
- <table style='border: 2px solid #FFFFFF;'><tr><td>
- <div style='font-size: 11px; padding: 2px; color: #FFFFFF; background-color: #666666; border-bottom: 3px solid #484848;'>&nbsp;Navigation</div>
- <table style='padding: 1px; background-color: #E0E0E0; border: 1px solid #D0D0D0; border-top: 1px solid #FFFFFF;'><tr>
- <td width=16><img src='../resources/application_view_tile.png' width=16 height=16 alt=''/></td>
- <td width=95>&nbsp;<a class=smallLink href='../'>Examples</a></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=95>&nbsp;<a class=smallLink href='../sandbox/'>Sandbox</a></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=95>&nbsp;<b>Delayed loader</b></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLink href='../imageMap/'>Image Map</a></td>
- </tr></table>
- </td></tr></table>
-
- <br/>
-
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=1' data-pchart-alt='Picture1' data-pchart-width='700' data-pchart-height='230'>Picture 1</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=2' data-pchart-alt='Picture2'>Picture 2</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=3' data-pchart-alt='Picture3'>Picture 3</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=4' data-pchart-alt='Picture4'>Picture 4</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=5' data-pchart-alt='Picture5'>Picture 5</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=6' data-pchart-alt='Picture6'>Picture 6</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
- <a class='pChart' href='draw.php?Seed=7' data-pchart-alt='Picture7'>Picture 7</a>
- <div class=txt>
- Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/delayedLoader/wait.gif b/notFinishedCode/pChart2.1.2/examples/delayedLoader/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/delayedLoader/wait.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/example.Combo.php b/notFinishedCode/pChart2.1.2/examples/example.Combo.php
deleted file mode 100644
index c1175d8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.Combo.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Combo */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pData object with some random values*/
- $MyData = new pData();
- $MyData->addPoints(array(30,24,32),"This year");
- $MyData->addPoints(array(28,20,27),"Last year");
- $MyData->addPoints(array("Year","Month","Day"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Create a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Chart title",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw the scale */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->setGraphArea(50,60,670,190);
- $myPicture->drawFilledRectangle(50,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("CycleBackground"=>TRUE));
-
- /* Graph title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawText(50,52,"Chart subtitle",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Draw the bar chart chart */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $MyData->setSerieDrawable("Last year",FALSE);
- $myPicture->drawBarChart();
-
- /* Draw the line and plot chart */
- $MyData->setSerieDrawable("Last year",TRUE);
- $MyData->setSerieDrawable("This year",FALSE);
- $myPicture->drawSplineChart();
- $myPicture->drawPlotChart();
-
- /* Make sure all series are drawable before writing the scale */
- $MyData->drawAll();
-
- /* Write the legend */
- $myPicture->drawLegend(580,35,array("Style"=>LEGEND_ROUND,"Alpha"=>20,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.combo.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.Mixed.classes.php b/notFinishedCode/pChart2.1.2/examples/example.Mixed.classes.php
deleted file mode 100644
index 06c708e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.Mixed.classes.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
- /* CAT:Combo */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pIndicator.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=80;$i++) { $MyData->addPoints(($i/10)*($i/10),"Statistical probability"); }
- $MyData->setAxisName(0,"Probability");
- $MyData->setAxisUnit(0,"%");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,350,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,350,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,220,DIRECTION_VERTICAL,$Settings);
- $Settings = array("StartR"=>1, "StartG"=>138, "StartB"=>68, "EndR"=>219, "EndG"=>231, "EndB"=>239, "Alpha"=>50);
- $myPicture->drawGradientArea(0,222,700,350,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,349,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"LabelSkip"=>4,"GridR"=>220,"GridG"=>220,"GridB"=>220,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line of best fit */
- $myPicture->drawBestFit(array("Ticks"=>4,"Alpha"=>50,"R"=>0,"G"=>0,"B"=>0));
-
- /* Draw the line chart */
- $myPicture->drawLineChart();
-
- /* Draw the series derivative graph */
- $myPicture->drawDerivative(array("ShadedSlopeBox"=>TRUE,"CaptionLine"=>TRUE));
-
- /* Write the chart legend */
- $myPicture->drawLegend(570,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Set the default font & shadow settings */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Probability of heart disease",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"R"=>255,"G"=>255,"B"=>255));
-
- /* Write a label over the chart */
- $LabelSettings = array("DrawVerticalLine"=>TRUE,"TitleMode"=>LABEL_TITLE_BACKGROUND,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myPicture->writeLabel("Statistical probability",35,$LabelSettings);
-
- /* Create the pIndicator object */
- $Indicator = new pIndicator($myPicture);
-
- /* Define the indicator sections */
- $IndicatorSections = "";
- $IndicatorSections[] = array("Start"=>0,"End"=>29,"Caption"=>"Low","R"=>0,"G"=>142,"B"=>176);
- $IndicatorSections[] = array("Start"=>30,"End"=>49,"Caption"=>"Moderate","R"=>108,"G"=>157,"B"=>49);
- $IndicatorSections[] = array("Start"=>50,"End"=>80,"Caption"=>"High","R"=>226,"G"=>74,"B"=>14);
-
- /* Draw the 2nd indicator */
- $IndicatorSettings = array("Values"=>35,"Unit"=>"%","CaptionPosition"=>INDICATOR_CAPTION_BOTTOM,"CaptionR"=>0,"CaptionG"=>0,"CaptionB"=>0,"DrawLeftHead"=>FALSE,"ValueDisplay"=>INDICATOR_VALUE_LABEL,"ValueFontName"=>"../fonts/Forgotte.ttf","ValueFontSize"=>15,"IndicatorSections"=>$IndicatorSections);
- $Indicator->draw(60,275,580,30,$IndicatorSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.mixed.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.addRandomValues.php b/notFinishedCode/pChart2.1.2/examples/example.addRandomValues.php
deleted file mode 100644
index 5ada884..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.addRandomValues.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pData object with some random values*/
- $MyData = new pData();
- $MyData->addRandomValues("Probe 1",array("Values"=>30,"Min"=>0,"Max"=>4));
- $MyData->addRandomValues("Probe 2",array("Values"=>30,"Min"=>6,"Max"=>10));
- $MyData->addRandomValues("Probe 3",array("Values"=>30,"Min"=>12,"Max"=>16));
- $MyData->addRandomValues("Probe 4",array("Values"=>30,"Min"=>18,"Max"=>22));
- $MyData->setAxisName(0,"Probes");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Create a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"addRandomValues() :: assess your scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw the scale */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->setGraphArea(50,60,670,190);
- $myPicture->drawFilledRectangle(50,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"LabelSkip"=>4,"DrawSubTicks"=>TRUE));
-
- /* Graph title */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawText(50,52,"Magnetic noise",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Draw the data series */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawSplineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the legend */
- $myPicture->drawLegend(475,50,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.addRandomValues.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.barcode.php b/notFinishedCode/pChart2.1.2/examples/example.barcode.php
deleted file mode 100644
index e4b8d66..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.barcode.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
- /* CAT:Barcode */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pBarcode39.class.php");
- include("../class/pBarcode128.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(600,310,NULL,TRUE);
-
- /* Draw the rounded box */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $Settings = array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $myPicture->drawRoundedFilledRectangle(10,10,590,300,10,$Settings);
-
- /* Draw the cell divisions */
- $myPicture->setShadow(FALSE);
- $Settings = array("R"=>0,"G"=>0,"B"=>0);
- $myPicture->drawLine(10,110,590,110,$Settings);
- $myPicture->drawLine(200,10,200,110,$Settings);
- $myPicture->drawLine(400,10,400,110,$Settings);
- $myPicture->drawLine(10,160,590,160,$Settings);
- $myPicture->drawLine(220,160,220,200,$Settings);
- $myPicture->drawLine(320,160,320,200,$Settings);
- $myPicture->drawLine(10,200,590,200,$Settings);
- $myPicture->drawLine(400,220,400,300,$Settings);
-
- /* Write the fields labels */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10));
- $Settings = array("R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPLEFT);
- $myPicture->drawText(20,20,"FROM",$Settings);
- $myPicture->drawText(210,20,"TO",$Settings);
- $myPicture->drawText(20,120,"ACCT.\r\nNUMBER",$Settings);
- $myPicture->drawText(20,166,"QUANTITY",$Settings);
- $myPicture->drawText(230,166,"SHIPMENT CODE",$Settings);
- $myPicture->drawText(330,166,"SENDER CODE",$Settings);
- $myPicture->drawText(410,220,"MFG DATE",$Settings);
- $myPicture->drawText(410,260,"NET WEIGTH",$Settings);
-
- /* Filling the fields values */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>16));
- $myPicture->drawText(70,20,"BEBEER INC\r\n342, MAIN STREET\r\n33000 BORDEAUX\r\nFRANCE",$Settings);
- $myPicture->drawText(250,20,"MUSTAFA'S BAR\r\n18, CAPITOL STREET\r\n31000 TOULOUSE\r\nFRANCE",$Settings);
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>35));
- $myPicture->drawText(100,120,"2342355552340",$Settings);
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>20));
- $Settings = array("R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPRIGHT);
- $myPicture->drawText(210,180,"75 CANS",$Settings);
- $myPicture->drawText(310,180,"TLSE",$Settings);
- $myPicture->drawText(580,180,"WAREHOUSE#SLOT#B15",$Settings);
-
- $Settings = array("R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPLEFT);
- $myPicture->drawText(410,236,"06/06/2010",$Settings);
- $myPicture->drawText(410,276,"12.340 Kg",$Settings);
-
- /* Create the barcode 39 object */
- $Barcode39 = new pBarcode39("../");
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $Settings = array("ShowLegend"=>TRUE,"Height"=>55,"DrawArea"=>TRUE,"DrawArea"=>FALSE);
- $Barcode39->draw($myPicture,"12250000234502",30,220,$Settings);
-
- $Settings = array("ShowLegend"=>TRUE,"Height"=>14,"DrawArea"=>TRUE,"DrawArea"=>FALSE);
- $Barcode39->draw($myPicture,"75 cans",260,220,$Settings);
- $Barcode39->draw($myPicture,"06062010",260,260,$Settings);
-
- /* Create the barcode 128 object */
- $Barcode128 = new pBarcode128("../");
- $Settings = array("ShowLegend"=>TRUE,"Height"=>65,"DrawArea"=>TRUE,"DrawArea"=>FALSE);
- $Barcode128->draw($myPicture,"TLSE",450,25,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.barcode.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.barcode128.php b/notFinishedCode/pChart2.1.2/examples/example.barcode128.php
deleted file mode 100644
index e9629e6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.barcode128.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
- /* CAT:Barcode */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pBarcode128.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Barcode 128 - Add barcode to your pictures",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Create the barcode 128 object */
- $Barcode = new pBarcode128("../");
-
- /* Draw a simple barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE);
- $Barcode->draw($myPicture,"pChart Rocks!",50,50,$Settings);
-
- /* Draw a rotated barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>12));
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE,"Angle"=>90);
- $Barcode->draw($myPicture,"Turn me on",650,50,$Settings);
-
- /* Draw a rotated barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>12));
- $Settings = array("R"=>255,"G"=>255,"B"=>255,"AreaR"=>150,"AreaG"=>30,"AreaB"=>27,"ShowLegend"=>TRUE,"DrawArea"=>TRUE,"Angle"=>350,"AreaBorderR"=>70,"AreaBorderG"=>20,"AreaBorderB"=>20);
- $Barcode->draw($myPicture,"Do what you want !",290,140,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawbarcode128.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.barcode39.php b/notFinishedCode/pChart2.1.2/examples/example.barcode39.php
deleted file mode 100644
index 8442d1e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.barcode39.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
- /* CAT:Barcode */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pBarcode39.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Draw the picture border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Barcode 39 - Add barcode to your pictures",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Create the barcode 39 object */
- $Barcode = new pBarcode39("../");
-
- /* Draw a simple barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE);
- $Barcode->draw($myPicture,"pChart Rocks!",50,50,$Settings);
-
- /* Draw a rotated barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>12));
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE,"Angle"=>90);
- $Barcode->draw($myPicture,"Turn me on",650,50,$Settings);
-
- /* Draw a rotated barcode */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>12));
- $Settings = array("R"=>255,"G"=>255,"B"=>255,"AreaR"=>150,"AreaG"=>30,"AreaB"=>27,"ShowLegend"=>TRUE,"DrawArea"=>TRUE,"Angle"=>350,"AreaBorderR"=>70,"AreaBorderG"=>20,"AreaBorderB"=>20);
- $Barcode->draw($myPicture,"Do what you want !",290,140,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.barcode39.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.basic.php b/notFinishedCode/pChart2.1.2/examples/example.basic.php
deleted file mode 100644
index 288bb97..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.basic.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* Include all the classes */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pData.class.php");
-
- /* Create your dataset object */
- $myData = new pData();
-
- /* Add data in your dataset */
- $myData->addPoints(array(1,3,4,3,5));
-
- /* Create a pChart object and associate your dataset */
- $myPicture = new pImage(700,230,$myData);
-
- /* Choose a nice font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Define the boundaries of the graph area */
- $myPicture->setGraphArea(60,40,670,190);
-
- /* Draw the scale, keep everything automatic */
- $myPicture->drawScale();
-
- /* Draw the scale, keep everything automatic */
- $myPicture->drawSplineChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.basic.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.cache.php b/notFinishedCode/pChart2.1.2/examples/example.cache.php
deleted file mode 100644
index fd8303a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.cache.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* Include all the classes */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pData.class.php");
- include("../class/pCache.class.php");
-
- /* Create your dataset object */
- $myData = new pData();
-
- /* Add data in your dataset */
- $myData->addPoints(array(1,3,4,3,5));
-
- /* Create the cache object */
- $myCache = new pCache(array("CacheFolder"=>"../cache"));
-
- /* Compute the hash linked to the chart data */
- $ChartHash = $myCache->getHash($myData);
-
- /* Test if we got this hash in our cache already */
- if ( $myCache->isInCache($ChartHash))
- {
- /* If we have it, get the picture from the cache! */
- $myCache->autoOutput($ChartHash,"pictures/example.cache.png");
- }
- else
- {
- /* Create a pChart object and associate your dataset */
- $myPicture = new pImage(700,230,$myData);
-
- /* Choose a nice font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Define the boundaries of the graph area */
- $myPicture->setGraphArea(60,40,670,190);
-
- /* Draw the scale, keep everything automatic */
- $myPicture->drawScale();
-
- /* Draw the scale, keep everything automatic */
- $myPicture->drawSplineChart();
-
- /* Do some cosmetics */
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Test of the pCache class",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Push the rendered picture to the cache */
- $myCache->writeToCache($ChartHash,$myPicture);
-
- /* Render the picture */
- $myPicture->autoOutput("pictures/example.cache.png");
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.labels.php b/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.labels.php
deleted file mode 100644
index 17be018..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.labels.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 2D pie charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw2DPie(160,140,array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
-
- /* Write the legend box */
- $myPicture->setShadow(FALSE);
- $PieChart->drawPieLegend(15,40,array("Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw2DPie.labels.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.php b/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.php
deleted file mode 100644
index b6b9355..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw2DPie.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>173, "G"=>152, "B"=>217, "Dash"=>1, "DashR"=>193, "DashG"=>172, "DashB"=>237);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Draw a gradient overlay */
- $Settings = array("StartR"=>209, "StartG"=>150, "StartB"=>231, "EndR"=>111, "EndG"=>3, "EndB"=>138, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 2D pie charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw a simple pie chart */
- $PieChart->draw2DPie(120,125,array("SecondPass"=>FALSE));
-
- /* Draw an AA pie chart */
- $PieChart->draw2DPie(340,125,array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
-
- /* Draw a splitted pie chart */
- $PieChart->draw2DPie(560,125,array("WriteValues"=>PIE_VALUE_PERCENTAGE,"DataGapAngle"=>10,"DataGapRadius"=>6,"Border"=>TRUE,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255));
-
- /* Write the legend */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $myPicture->drawText(120,200,"Single AA pass",array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPMIDDLE));
- $myPicture->drawText(440,200,"Extended AA pass / Splitted",array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPMIDDLE));
-
- /* Write the legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6,"R"=>255,"G"=>255,"B"=>255));
- $PieChart->drawPieLegend(380,8,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw2DPie.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw2DRing.php b/notFinishedCode/pChart2.1.2/examples/example.draw2DRing.php
deleted file mode 100644
index c02ffb4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw2DRing.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 2D ring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw2DRing(160,140,array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
-
- /* Write the legend box */
- $myPicture->setShadow(FALSE);
- $PieChart->drawPieLegend(15,40,array("Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw2DRing.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw2DRingValues.php b/notFinishedCode/pChart2.1.2/examples/example.draw2DRingValues.php
deleted file mode 100644
index cc2fcc8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw2DRingValues.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 2D ring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw2DRing(160,140,array("WriteValues"=>TRUE,"ValueR"=>255,"ValueG"=>255,"ValueB"=>255,"Border"=>TRUE));
-
- /* Write the legend box */
- $myPicture->setShadow(FALSE);
- $PieChart->drawPieLegend(15,40,array("Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw2DRingValue.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.labels.php b/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.labels.php
deleted file mode 100644
index 6f13632..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.labels.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 2D pie charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw3DPie(160,140,array("Radius"=>70,"DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
-
- /* Write the legend box */
- $myPicture->setShadow(FALSE);
- $PieChart->drawPieLegend(15,40,array("Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw3DPie.labels.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.php b/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.php
deleted file mode 100644
index 141c48c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,30,20),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A","B","C"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData,TRUE);
-
- /* Draw a solid background */
- $Settings = array("R"=>173, "G"=>152, "B"=>217, "Dash"=>1, "DashR"=>193, "DashG"=>172, "DashB"=>237);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Draw a gradient overlay */
- $Settings = array("StartR"=>209, "StartG"=>150, "StartB"=>231, "EndR"=>111, "EndG"=>3, "EndB"=>138, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 3D pie charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Define the slice color */
- $PieChart->setSliceColor(0,array("R"=>143,"G"=>197,"B"=>0));
- $PieChart->setSliceColor(1,array("R"=>97,"G"=>77,"B"=>63));
- $PieChart->setSliceColor(2,array("R"=>97,"G"=>113,"B"=>63));
-
- /* Draw a simple pie chart */
- $PieChart->draw3DPie(120,125,array("SecondPass"=>FALSE));
-
- /* Draw an AA pie chart */
- $PieChart->draw3DPie(340,125,array("DrawLabels"=>TRUE,"Border"=>TRUE));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>3,"Y"=>3,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a splitted pie chart */
- $PieChart->draw3DPie(560,125,array("WriteValues"=>TRUE,"DataGapAngle"=>10,"DataGapRadius"=>6,"Border"=>TRUE));
-
- /* Write the legend */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $myPicture->drawText(120,200,"Single AA pass",array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPMIDDLE));
- $myPicture->drawText(440,200,"Extended AA pass / Splitted",array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Align"=>TEXT_ALIGN_TOPMIDDLE));
-
- /* Write the legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6,"R"=>255,"G"=>255,"B"=>255));
- $PieChart->drawPieLegend(600,8,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw3DPie.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.transparent.php b/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.transparent.php
deleted file mode 100644
index b96f8f6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw3DPie.transparent.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,30,20),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A","B","C"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(240,180,$MyData,TRUE);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>3,"Y"=>3,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a splitted pie chart */
- $PieChart->draw3DPie(120,90,array("Radius"=>100,"DataGapAngle"=>12,"DataGapRadius"=>10,"Border"=>TRUE));
-
- /* Write the legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6,"R"=>0,"G"=>0,"B"=>0));
- $PieChart->drawPieLegend(140,160,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw3DPie.transparent.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw3DRing.php b/notFinishedCode/pChart2.1.2/examples/example.draw3DRing.php
deleted file mode 100644
index e0ec7af..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw3DRing.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 3D ring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw3DRing(200,200,array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE));
-
- /* Write the legend box */
- $PieChart->drawPieLegend(80,360,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER,"Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw3DRing.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.draw3DRingValues.php b/notFinishedCode/pChart2.1.2/examples/example.draw3DRingValues.php
deleted file mode 100644
index 1139701..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.draw3DRingValues.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(50,2,3,4,7,10,25,48,41,10),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("A0","B1","C2","D3","E4","F5","G6","H7","I8","J9"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pPie - Draw 3D ring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw an AA pie chart */
- $PieChart->draw3DRing(200,200,array("WriteValues"=>TRUE,"Border"=>TRUE));
-
- /* Write the legend box */
- $PieChart->drawPieLegend(80,360,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER,"Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.draw3DRingValues.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawAnscombeQuartet.php b/notFinishedCode/pChart2.1.2/examples/example.drawAnscombeQuartet.php
deleted file mode 100644
index cf26c45..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawAnscombeQuartet.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Define all the data series */
- $myData->addPoints(array(10,8,13,9,11,14,6,4,12,7,5),"X1");
- $myData->addPoints(array(8.04,6.95,7.58,8.81,8.33,9.96,7.24,4.26,10.84,4.82,5.68),"Y1");
- $myData->addPoints(array(10,8,13,9,11,14,6,4,12,7,5),"X2");
- $myData->addPoints(array(9.14,8.14,8.74,8.77,9.26,8.1,6.13,3.1,9.13,7.26,4.74),"Y2");
- $myData->addPoints(array(10,8,13,9,11,14,6,4,12,7,5),"X3");
- $myData->addPoints(array(7.46,6.77,12.74,7.11,7.81,8.84,6.08,5.39,8.15,6.42,5.73),"Y3");
- $myData->addPoints(array(8,8,8,8,8,8,8,19,8,8,8),"X4");
- $myData->addPoints(array(6.58,5.76,7.71,8.84,8.47,7.04,5.25,12.5,5.56,7.91,6.89),"Y4");
-
- /* Create the X axis */
- $myData->setAxisName(0,"X");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis */
- $myData->setSerieOnAxis("Y1",1);
- $myData->setSerieOnAxis("Y2",1);
- $myData->setSerieOnAxis("Y3",1);
- $myData->setSerieOnAxis("Y4",1);
- $myData->setAxisName(1,"Y");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisPosition(1,AXIS_POSITION_LEFT);
-
- /* Create the scatter chart binding */
- $myData->setScatterSerie("X1","Y1",0);
- $myData->setScatterSerie("X2","Y2",1);
- $myData->setScatterSerie("X3","Y3",2);
- $myData->setScatterSerie("X4","Y4",3);
- $myData->setScatterSerieDrawable(1,FALSE);
- $myData->setScatterSerieDrawable(2,FALSE);
- $myData->setScatterSerieDrawable(3,FALSE);
-
- /* Create the pChart object */
- $myPicture = new pImage(800,582,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,800,582,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,800,582,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,799,581,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>23));
- $myPicture->drawText(55,50,"Anscombe's Quartet drawing example",array("R"=>255,"G"=>255,"B"=>255));
- $myPicture->drawText(55,65,"This example demonstrate the importance of graphing data before analysing it. (The line of best fit is the same for all datasets)",array("FontSize"=>12,"R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the 1st chart */
- $myPicture->setGraphArea(56,90,380,285);
- $myScatter->drawScatterScale(array("XMargin"=>5,"YMargin"=>5,"Floating"=>TRUE,"DrawSubTicks"=>TRUE));
- $myScatter->drawScatterPlotChart();
- $myScatter->drawScatterBestFit();
-
- /* Draw the 2nt chart */
- $myData->setScatterSerieDrawable(0,FALSE);
- $myData->setScatterSerieDrawable(1,TRUE);
- $myPicture->setGraphArea(436,90,760,285);
- $myScatter->drawScatterScale(array("XMargin"=>5,"YMargin"=>5,"Floating"=>TRUE,"DrawSubTicks"=>TRUE));
- $myScatter->drawScatterPlotChart();
- $myScatter->drawScatterBestFit();
-
- /* Draw the 3rd chart */
- $myData->setScatterSerieDrawable(1,FALSE);
- $myData->setScatterSerieDrawable(2,TRUE);
- $myPicture->setGraphArea(56,342,380,535);
- $myScatter->drawScatterScale(array("XMargin"=>5,"YMargin"=>5,"Floating"=>TRUE,"DrawSubTicks"=>TRUE));
- $myScatter->drawScatterPlotChart();
- $myScatter->drawScatterBestFit();
-
- /* Draw the 4th chart */
- $myData->setScatterSerieDrawable(2,FALSE);
- $myData->setScatterSerieDrawable(3,TRUE);
- $myPicture->setGraphArea(436,342,760,535);
- $myScatter->drawScatterScale(array("XMargin"=>5,"YMargin"=>5,"Floating"=>TRUE,"DrawSubTicks"=>TRUE));
- $myScatter->drawScatterPlotChart();
- $myScatter->drawScatterBestFit();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawAnscombeQuartet.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawAntialiasPixel.php b/notFinishedCode/pChart2.1.2/examples/example.drawAntialiasPixel.php
deleted file mode 100644
index 8b0cbe3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawAntialiasPixel.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>180,"StartG"=>193,"StartB"=>91,"EndR"=>120,"EndG"=>137,"EndB"=>72,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>180,"StartG"=>193,"StartB"=>91,"EndR"=>120,"EndG"=>137,"EndB"=>72,"Alpha"=>20));
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawAntialiasPixel() - Drawing antialiased pixel with transparency",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw some alpha pixels */
- for($X=0;$X<=160;$X++)
- {
- for($Y=0;$Y<=160;$Y++)
- {
- $PixelSettings = array("R"=>128,"G"=>255-$Y,"B"=>$X,"Alpha"=>cos(deg2rad($X*2))*50+50);
-
- $myPicture->drawAntialiasPixel($X*2+20.4,$Y+45,$PixelSettings);
- $myPicture->drawAntialiasPixel($X+400,$Y+45,$PixelSettings);
- }
- }
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawantialiaspixel.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.php
deleted file mode 100644
index d547e6a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
- /* CAT:Area Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawAreaChart() - draw an area chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawAreaChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawAreaChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawAreaChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.simple.php
deleted file mode 100644
index bf0aac3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.simple.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Area Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,2,10,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,15,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the area chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- $myPicture->drawAreaChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawAreaChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.threshold.php b/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.threshold.php
deleted file mode 100644
index 79caf77..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawAreaChart.threshold.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
- /* CAT:Area Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=30;$i++) { $MyData->addPoints(rand(1,15),"Probe 1"); }
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(600,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the area chart */
- $Threshold = "";
- $Threshold[] = array("Min"=>0,"Max"=>5,"R"=>207,"G"=>240,"B"=>20,"Alpha"=>70);
- $Threshold[] = array("Min"=>5,"Max"=>10,"R"=>240,"G"=>232,"B"=>20,"Alpha"=>70);
- $Threshold[] = array("Min"=>10,"Max"=>20,"R"=>240,"G"=>191,"B"=>20,"Alpha"=>70);
- $myPicture->drawAreaChart(array("Threshold"=>$Threshold));
-
- /* Write the thresholds */
- $myPicture->drawThreshold(5,array("WriteCaption"=>TRUE,"Caption"=>"Warn Zone","Alpha"=>70,"Ticks"=>2,"R"=>0,"G"=>0,"B"=>255));
- $myPicture->drawThreshold(10,array("WriteCaption"=>TRUE,"Caption"=>"Error Zone","Alpha"=>70,"Ticks"=>2,"R"=>0,"G"=>0,"B"=>255));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawAreaChart.threshold.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawArrow.php b/notFinishedCode/pChart2.1.2/examples/example.drawArrow.php
deleted file mode 100644
index 2b74ad1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawArrow.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawArrow() - Arrows on your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw some arrows */
- for($i=1;$i<=100;$i=$i+8)
- {
- $arrowSettings = array("FillR"=>$i*2.5,"FillG"=>$i*2.5,"FillB"=>$i*2.5,"Ticks"=>$i % 5);
-
- $myPicture->drawArrow($i+5,215,$i*7+5,30,$arrowSettings);
- }
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawArrow.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawArrowLabel.php b/notFinishedCode/pChart2.1.2/examples/example.drawArrowLabel.php
deleted file mode 100644
index b3ddc95..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawArrowLabel.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawArrowLabel() - Adaptative label positionning",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw an arrow with a 45 degree angle */
- $ArrowSettings = array("FillR"=>37,"FillG"=>78,"FillB"=>117,"Length"=>40,"Angle"=>45);
- $myPicture->drawArrowLabel(348,113,"Blue",$ArrowSettings);
-
- /* Draw an arrow with a 135 degree angle */
- $ArrowSettings = array("FillR"=>188,"FillG"=>49,"FillB"=>42,"Length"=>40,"Angle"=>135,"Position"=>POSITION_BOTTOM,"Ticks"=>2);
- $myPicture->drawArrowLabel(348,117,"Red",$ArrowSettings);
-
- /* Draw an arrow with a 225 degree angle */
- $ArrowSettings = array("FillR"=>51,"FillG"=>119,"FillB"=>35,"Length"=>40,"Angle"=>225,"Position"=>POSITION_BOTTOM,"Ticks"=>3);
- $myPicture->drawArrowLabel(352,117,"Green",$ArrowSettings);
-
- /* Draw an arrow with a 315 degree angle */
- $ArrowSettings = array("FillR"=>239,"FillG"=>231,"FillB"=>97,"Length"=>40,"Angle"=>315,"Ticks"=>4);
- $myPicture->drawArrowLabel(352,113,"Yellow",$ArrowSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawArrowLabel.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.borders.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.borders.php
deleted file mode 100644
index a310165..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.borders.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $settings = array("Surrounding"=>-30,"InnerSurrounding"=>30);
- $myPicture->drawBarChart($settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.can.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.can.php
deleted file mode 100644
index 901f102..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.can.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->loadPalette("../palettes/light.color",TRUE);
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $myPicture->setGraphArea(50,30,680,200);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $settings = array("Gradient"=>TRUE,"GradientMode"=>GRADIENT_EFFECT_CAN,"DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayR"=>255,"DisplayG"=>255,"DisplayB"=>255,"DisplayShadow"=>TRUE,"Surrounding"=>10);
- $myPicture->drawBarChart($settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.can.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.floating.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.floating.php
deleted file mode 100644
index 0a38bbb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.floating.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->loadPalette("../palettes/blind.color",TRUE);
- $MyData->addPoints(array(150,220,300,250,420,200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,300,320,300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the floating 0 data serie */
- $MyData->addPoints(array(60,80,20,40,0,50,90,30,100),"Floating 0");
- $MyData->setSerieDrawable("Floating 0",FALSE);
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $myPicture->setGraphArea(50,30,680,200);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $settings = array("Floating0Serie"=>"Floating 0","Draw0Line"=>TRUE,"Gradient"=>TRUE,"DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayR"=>255,"DisplayG"=>255,"DisplayB"=>255,"DisplayShadow"=>TRUE,"Surrounding"=>10);
- $myPicture->drawBarChart($settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.floating.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.palette.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.palette.php
deleted file mode 100644
index 9f51eef..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.palette.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(13251,4118,3087,1460,1248,156,26,9,8),"Hits");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("Firefox","Chrome","Internet Explorer","Opera","Safari","Mozilla","SeaMonkey","Camino","Lunascape"),"Browsers");
- $MyData->setSerieDescription("Browsers","Browsers");
- $MyData->setAbscissa("Browsers");
- $MyData->setAbscissaName("Browsers");
-
- /* Create the pChart object */
- $myPicture = new pImage(500,500,$MyData);
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the chart scale */
- $myPicture->setGraphArea(100,30,480,480);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM)); //
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
-
- /* Write the legend */
- $myPicture->drawLegend(570,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.palette.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.php
deleted file mode 100644
index 721a5b8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,0,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawBarChart() - draw a bar chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Rounded"=>TRUE,"Surrounding"=>30));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawBarChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.poll.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.poll.php
deleted file mode 100644
index 6c94792..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.poll.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(60,30,10),"Answers");
- $MyData->setAxisName(0,"Answers (%)");
- $MyData->addPoints(array("I do agree ","I disagree ","No opinion "),"Options");
- $MyData->setAbscissa("Options");
-
- /* Create the pChart object */
- $myPicture = new pImage(500,220,$MyData);
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>15));
- $myPicture->drawText(20,34,"Q: Flexibility is a key point of this library",array("FontSize"=>20));
-
- /* Define the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(70,60,480,200);
- $myPicture->drawGradientArea(70,60,480,200,DIRECTION_HORIZONTAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>30));
-
- /* Draw the chart scale */
- $scaleSettings = array("DrawXLines"=>FALSE,"Mode"=>SCALE_MODE_START0,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->drawBarChart(array("Rounded"=>TRUE,"Surrounding"=>30));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.poll.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.shaded.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.shaded.php
deleted file mode 100644
index 163089f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.shaded.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $myPicture->setGraphArea(50,30,680,200);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $settings = array("Gradient"=>TRUE,"DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayR"=>255,"DisplayG"=>255,"DisplayB"=>255,"DisplayShadow"=>TRUE,"Surrounding"=>10);
- $myPicture->drawBarChart($settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.shaded.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.simple.php
deleted file mode 100644
index cacdccb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.simple.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $settings = array("Gradient"=>TRUE,"GradientMode"=>GRADIENT_EFFECT_CAN,"DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"DisplayR"=>255,"DisplayG"=>255,"DisplayB"=>255,"DisplayShadow"=>TRUE,"Surrounding"=>10);
- $myPicture->drawBarChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.spacing.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.spacing.php
deleted file mode 100644
index 94d311d..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.spacing.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,250,420,200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,300,320,300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $settings = array("Surrounding"=>-30,"InnerSurrounding"=>30,"Interleave"=>0);
- $myPicture->drawBarChart($settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.spacing.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.vertical.php b/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.vertical.php
deleted file mode 100644
index f1c68ab..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBarChart.vertical.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
- /* CAT:Bar Chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(13251,4118,3087,1460,1248,156,26,9,8),"Hits");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("Firefox","Chrome","Internet Explorer","Opera","Safari","Mozilla","SeaMonkey","Camino","Lunascape"),"Browsers");
- $MyData->setSerieDescription("Browsers","Browsers");
- $MyData->setAbscissa("Browsers");
- $MyData->setAbscissaName("Browsers");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_METRIC,1);
-
- /* Create the pChart object */
- $myPicture = new pImage(500,500,$MyData);
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the chart scale */
- $myPicture->setGraphArea(100,30,480,480);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM)); //
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30));
-
- /* Write the legend */
- $myPicture->drawLegend(570,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.vertical.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBestfit.php b/notFinishedCode/pChart2.1.2/examples/example.drawBestfit.php
deleted file mode 100644
index 37273c8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBestfit.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(10,30)+$i,"Probe 1"); }
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(0,10)+$i,"Probe 2"); }
- $MyData->setAxisName(0,"Temperatures");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line of best fit */
- $myPicture->drawBestFit();
-
- /* Turn on shadows */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBestFit.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBezier.php b/notFinishedCode/pChart2.1.2/examples/example.drawBezier.php
deleted file mode 100644
index cb5a482..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBezier.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawBezier() - some cubic curves",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw one bezier curve */
- $BezierSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE);
- $myPicture->drawBezier(20,40,280,170,130,160,160,60,$BezierSettings);
-
- /* Draw one bezier curve */
- $BezierSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE,"Ticks"=>4,"DrawArrow"=>TRUE,"ArrowTwoHeads"=>TRUE);
- $myPicture->drawBezier(360,120,630,120,430,50,560,190,$BezierSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBezier.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.php
deleted file mode 100644
index 5346df4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
- /* CAT:Bubble chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pBubble.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->loadPalette("../palettes/summer.color",TRUE);
- $MyData->addPoints(array(34,55,15,62,38,42),"Probe1");
- $MyData->addPoints(array(5,10,8,9,15,10),"Probe1Weight");
- $MyData->addPoints(array(5,10,-5,-1,0,-10),"Probe2");
- $MyData->addPoints(array(6,10,14,10,14,6),"Probe2Weight");
- $MyData->setSerieDescription("Probe1","This year");
- $MyData->setSerieDescription("Probe2","Last year");
- $MyData->setAxisName(0,"Current stock");
- $MyData->addPoints(array("Apple","Banana","Orange","Lemon","Peach","Strawberry"),"Product");
- $MyData->setAbscissa("Product");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawBubbleChart() - draw a linear bubble chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(40,55,"Current Stock / Needs chart",array("FontSize"=>14,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Change the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Create the Bubble chart object and scale up */
- $myBubbleChart = new pBubble($myPicture,$MyData);
-
- /* Scale up for the bubble chart */
- $bubbleDataSeries = array("Probe1","Probe2");
- $bubbleWeightSeries = array("Probe1Weight","Probe2Weight");
- $myBubbleChart->bubbleScale($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Draw the 1st chart */
- $myPicture->setGraphArea(40,60,430,190);
- $myPicture->drawFilledRectangle(40,60,430,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-50,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $myBubbleChart->drawBubbleChart($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Draw the 2nd scale */
- $myPicture->setShadow(FALSE);
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
-
- /* Draw the 2nd stock chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $myBubbleChart->drawbubbleChart($bubbleDataSeries,$bubbleWeightSeries,array("DrawBorder"=>TRUE,"Surrounding"=>60,"BorderAlpha"=>100));
-
- /* Write the chart legend */
- $myPicture->drawLegend(550,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBubbleChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.simple.php
deleted file mode 100644
index a0fe8de..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawBubbleChart.simple.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
- /* CAT:Bubble chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pBubble.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(34,55,15,62,38,42),"Probe1");
- $MyData->addPoints(array(5,30,20,9,15,10),"Probe1Weight");
- $MyData->addPoints(array(5,10,-5,-1,0,-10),"Probe2");
- $MyData->addPoints(array(6,10,14,10,14,6),"Probe2Weight");
- $MyData->setSerieDescription("Probe1","This year");
- $MyData->setSerieDescription("Probe2","Last year");
- $MyData->setAxisName(0,"Current stock");
- $MyData->addPoints(array("Apple","Banana","Orange","Lemon","Peach","Strawberry"),"Product");
- $MyData->setAbscissa("Product");
- $MyData->setAbscissaName("Selected Products");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Create the Bubble chart object and scale up */
- $myPicture->Antialias = TRUE;
- $myBubbleChart = new pBubble($myPicture,$MyData);
-
- /* Scale up for the bubble chart */
- $bubbleDataSeries = array("Probe1","Probe2");
- $bubbleWeightSeries = array("Probe1Weight","Probe2Weight");
- $myBubbleChart->bubbleScale($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Draw the bubble chart */
- $myBubbleChart->drawBubbleChart($bubbleDataSeries,$bubbleWeightSeries,array("ForceAlpha"=>50));
-
- /* Write the chart legend */
- $myPicture->drawLegend(570,13,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBubbleChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawCircle.php b/notFinishedCode/pChart2.1.2/examples/example.drawCircle.php
deleted file mode 100644
index dfd9c5c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawCircle.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawCircle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw some circles */
- $myPicture->drawCircle(100,125,50,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>100));
- $myPicture->drawCircle(140,125,50,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>70));
- $myPicture->drawCircle(180,125,50,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>40));
- $myPicture->drawCircle(220,125,50,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>20));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a customized circles */
- $CircleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100);
- $myPicture->drawCircle(480,60,20,20,$CircleSettings);
-
- /* Draw a customized circles */
- $CircleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100);
- $myPicture->drawCircle(480,100,30,20,$CircleSettings);
-
- /* Draw a customized circles */
- $CircleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Ticks"=>4);
- $myPicture->drawCircle(480,140,40,20,$CircleSettings);
-
- /* Draw a customized circles */
- $CircleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Ticks"=>4);
- $myPicture->drawCircle(480,180,50,20,$CircleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawCircle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawContour.php b/notFinishedCode/pChart2.1.2/examples/example.drawContour.php
deleted file mode 100644
index cd8e8b6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawContour.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
- /* CAT:Surface chart*/
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pSurface.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400);
-
- /* Create a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSurface() :: 2D surface charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Define the charting area */
- $myPicture->setGraphArea(20,40,380,380);
- $myPicture->drawFilledRectangle(20,40,380,380,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>20));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1));
-
- /* Create the surface object */
- $mySurface = new pSurface($myPicture);
-
- /* Set the grid size */
- $mySurface->setGrid(20,20);
-
- /* Write the axis labels */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $mySurface->writeXLabels(array("Position"=>LABEL_POSITION_BOTTOM));
- $mySurface->writeYLabels();
-
- /* Add random values */
- for($i=0; $i<=50; $i++) { $mySurface->addPoint(rand(0,20),rand(0,20),rand(0,100)); }
-
- /* Compute the missing points */
- $mySurface->computeMissing();
-
- /* Draw the surface chart */
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40));
-
- /* Draw the contour with a threshold of 50 */
- $mySurface->drawContour(50,array("R"=>0,"G"=>0,"B"=>0));
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.surface.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.php b/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.php
deleted file mode 100644
index ffab09f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3,4,5,0,4,6,10),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5,5,-5,-3,4,5,10),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22,10,2,6,10,5,6),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
- $MyData->setAbscissaName("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawDerivative() - draw the series slope",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,40,680,150);
- $myPicture->drawFilledRectangle(60,40,680,150,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLineChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
-
- /* Draw the series derivative graph */
- $myPicture->drawDerivative(array("ShadedSlopeBox"=>TRUE,"CaptionLine"=>TRUE));
-
- /* Write the chart legend */
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255));
- $myPicture->drawLegend(560,8,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawDerivative.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.simple.php
deleted file mode 100644
index 593b8fe..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawDerivative.simple.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(3,12,15,8,5,-5,5,-5,-3,4,5,10),"Probe");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
- $MyData->setAbscissaName("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Set the default font */
- $myPicture->setFontProperties(array("R"=>0,"G"=>0,"B"=>0,"FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(50,40,680,170);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>100,"GridG"=>100,"GridB"=>100,"GridAlpha"=>15);
- $myPicture->drawScale($scaleSettings);
-
- /* Draw the chart */
- $myPicture->Antialias = TRUE;
- $myPicture->drawSplineChart();
- $myPicture->Antialias = FALSE;
-
- /* Draw the series derivative graph */
- $myPicture->drawDerivative(array("Caption"=>FALSE));
-
- /* Write the chart legend */
- $myPicture->drawLegend(640,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawDerivative.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFilledCircle.php b/notFinishedCode/pChart2.1.2/examples/example.drawFilledCircle.php
deleted file mode 100644
index 525b67e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFilledCircle.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawCircle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw some filled circles */
- $myPicture->drawFilledCircle(100,125,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>100));
- $myPicture->drawFilledCircle(140,125,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>70));
- $myPicture->drawFilledCircle(180,125,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>40));
- $myPicture->drawFilledCircle(220,125,50,array("R"=>213,"G"=>226,"B"=>0,"Alpha"=>20));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a customized filled circles */
- $CircleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledCircle(480,60,19,$CircleSettings);
-
- /* Draw a customized filled circles */
- $CircleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledCircle(480,100,19,$CircleSettings);
-
- /* Draw a customized filled circles */
- $CircleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>4);
- $myPicture->drawFilledCircle(480,140,19,$CircleSettings);
-
- /* Draw a customized filled circles */
- $CircleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>4);
- $myPicture->drawFilledCircle(480,180,19,$CircleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFilledCircle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFilledRectangle.php b/notFinishedCode/pChart2.1.2/examples/example.drawFilledRectangle.php
deleted file mode 100644
index 65d90e3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFilledRectangle.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFilledRectangle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>150,"G"=>200,"B"=>170,"Dash"=>TRUE,"DashR"=>170,"DashG"=>220,"DashB"=>190,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255);
- $myPicture->drawFilledRectangle(20,60,400,170,$RectangleSettings);
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>134,"B"=>27,"Alpha"=>30);
- $myPicture->drawFilledRectangle(30,30,200,200,$RectangleSettings);
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledRectangle(480,50,650,80,$RectangleSettings);
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledRectangle(480,90,650,120,$RectangleSettings);
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>2);
- $myPicture->drawFilledRectangle(480,130,650,160,$RectangleSettings);
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>2);
- $myPicture->drawFilledRectangle(480,170,650,200,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFilledRectangle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.php
deleted file mode 100644
index 4ea49a0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
- /* CAT:Spline chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->setAxisName(0,"Strength");
- for($i=0;$i<=720;$i=$i+20)
- {
- $MyData->addPoints(cos(deg2rad($i))*100,"Probe 1");
- $MyData->addPoints(cos(deg2rad($i+90))*60,"Probe 2");
- }
-
- /* Create the pChart object */
- $myPicture = new pImage(847,304,$MyData);
- $myPicture->drawGradientArea(0,0,847,304,DIRECTION_VERTICAL,array("StartR"=>47,"StartG"=>47,"StartB"=>47,"EndR"=>17,"EndG"=>17,"EndB"=>17,"Alpha"=>100));
- $myPicture->drawGradientArea(0,250,847,304,DIRECTION_VERTICAL,array("StartR"=>47,"StartG"=>47,"StartB"=>47,"EndR"=>27,"EndG"=>27,"EndB"=>27,"Alpha"=>100));
- $myPicture->drawLine(0,249,847,249,array("R"=>0,"G"=>0,"B"=>0));
- $myPicture->drawLine(0,250,847,250,array("R"=>70,"G"=>70,"B"=>70));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,846,303,array("R"=>204,"G"=>204,"B"=>204));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawText(423,14,"Cyclic magnetic field strength",array("R"=>255,"G"=>255,"B"=>255,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE));
-
- /* Define the chart area */
- $myPicture->setGraphArea(58,27,816,228);
-
- /* Draw a rectangle */
- $myPicture->drawFilledRectangle(58,27,816,228,array("R"=>0,"G"=>0,"B"=>0,"Dash"=>TRUE,"DashR"=>0,"DashG"=>51,"DashB"=>51,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw the scale */
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255));
- $ScaleSettings = array("XMargin"=>4,"DrawSubTicks"=>TRUE,"GridR"=>255,"GridG"=>255,"GridB"=>255,"AxisR"=>255,"AxisG"=>255,"AxisB"=>255,"GridAlpha"=>30,"CycleBackground"=>TRUE);
- $myPicture->drawScale($ScaleSettings);
-
- /* Draw the spline chart */
- $myPicture->drawFilledSplineChart();
-
- /* Write the chart boundaries */
- $BoundsSettings = array("MaxDisplayR"=>237,"MaxDisplayG"=>23,"MaxDisplayB"=>48,"MinDisplayR"=>23,"MinDisplayG"=>144,"MinDisplayB"=>237);
- $myPicture->writeBounds(BOUND_BOTH,$BoundsSettings);
-
- /* Write the 0 line */
- $myPicture->drawThreshold(0,array("WriteCaption"=>TRUE));
-
- /* Write the chart legend */
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255));
- $myPicture->drawLegend(560,266,array("Style"=>LEGEND_NOBORDER));
-
- /* Write the 1st data series statistics */
- $Settings = array("R"=>188,"G"=>224,"B"=>46,"Align"=>TEXT_ALIGN_BOTTOMLEFT);
- $myPicture->drawText(620,270,"Max : ".ceil($MyData->getMax("Probe 1")),$Settings);
- $myPicture->drawText(680,270,"Min : ".ceil($MyData->getMin("Probe 1")),$Settings);
- $myPicture->drawText(740,270,"Avg : ".ceil($MyData->getSerieAverage("Probe 1")),$Settings);
-
- /* Write the 2nd data series statistics */
- $Settings = array("R"=>224,"G"=>100,"B"=>46,"Align"=>TEXT_ALIGN_BOTTOMLEFT);
- $myPicture->drawText(620,283,"Max : ".ceil($MyData->getMax("Probe 2")),$Settings);
- $myPicture->drawText(680,283,"Min : ".ceil($MyData->getMin("Probe 2")),$Settings);
- $myPicture->drawText(740,283,"Avg : ".ceil($MyData->getSerieAverage("Probe 2")),$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFilledSplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.threshold.php b/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.threshold.php
deleted file mode 100644
index 802d3fe..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFilledSplineChart.threshold.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
- /* CAT:Spline chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->setAxisName(0,"Strength");
- for($i=0;$i<=720;$i=$i+20) { $MyData->addPoints(cos(deg2rad($i))*100,"Probe 1"); }
-
- /* Create the pChart object */
- $myPicture = new pImage(847,304,$MyData);
- $myPicture->drawGradientArea(0,0,847,304,DIRECTION_VERTICAL,array("StartR"=>47,"StartG"=>47,"StartB"=>47,"EndR"=>17,"EndG"=>17,"EndB"=>17,"Alpha"=>100));
- $myPicture->drawGradientArea(0,250,847,304,DIRECTION_VERTICAL,array("StartR"=>47,"StartG"=>47,"StartB"=>47,"EndR"=>27,"EndG"=>27,"EndB"=>27,"Alpha"=>100));
- $myPicture->drawLine(0,249,847,249,array("R"=>0,"G"=>0,"B"=>0));
- $myPicture->drawLine(0,250,847,250,array("R"=>70,"G"=>70,"B"=>70));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,846,303,array("R"=>204,"G"=>204,"B"=>204));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawText(423,14,"Cyclic magnetic field strength",array("R"=>255,"G"=>255,"B"=>255,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE));
-
- /* Define the chart area */
- $myPicture->setGraphArea(58,27,816,228);
-
- /* Draw a rectangle */
- $myPicture->drawFilledRectangle(58,27,816,228,array("R"=>0,"G"=>0,"B"=>0,"Dash"=>TRUE,"DashR"=>0,"DashG"=>51,"DashB"=>51,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw the scale */
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255));
- $ScaleSettings = array("XMargin"=>4,"DrawSubTicks"=>TRUE,"GridR"=>255,"GridG"=>255,"GridB"=>255,"AxisR"=>255,"AxisG"=>255,"AxisB"=>255,"GridAlpha"=>30,"CycleBackground"=>TRUE);
- $myPicture->drawScale($ScaleSettings);
-
- /* Define the visual thresholds */
- $Threshold = "";
- $Threshold[] = array("Min"=>-100,"Max"=>-35,"R"=>117,"G"=>140,"B"=>240,"Alpha"=>40);
- $Threshold[] = array("Min"=>-35,"Max"=>35,"R"=>240,"G"=>232,"B"=>20,"Alpha"=>60);
- $Threshold[] = array("Min"=>35,"Max"=>100,"R"=>240,"G"=>121,"B"=>20,"Alpha"=>80);
-
- /* Draw the spline chart */
- $myPicture->drawFilledSplineChart(array("Threshold"=>$Threshold));
-
- /* Write the chart boundaries */
- $BoundsSettings = array("MaxDisplayR"=>237,"MaxDisplayG"=>23,"MaxDisplayB"=>48,"MinDisplayR"=>23,"MinDisplayG"=>144,"MinDisplayB"=>237);
- $myPicture->writeBounds(BOUND_BOTH,$BoundsSettings);
-
- /* Write the 0 line */
- $myPicture->drawThreshold(0,array("WriteCaption"=>TRUE));
-
- /* Write the chart legend */
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255));
- $myPicture->drawLegend(560,266,array("Style"=>LEGEND_NOBORDER));
-
- /* Write the 1st data series statistics */
- $Settings = array("R"=>188,"G"=>224,"B"=>46,"Align"=>TEXT_ALIGN_BOTTOMLEFT);
- $myPicture->drawText(620,270,"Max : ".ceil($MyData->getMax("Probe 1")),$Settings);
- $myPicture->drawText(680,270,"Min : ".ceil($MyData->getMin("Probe 1")),$Settings);
- $myPicture->drawText(740,270,"Avg : ".ceil($MyData->getSerieAverage("Probe 1")),$Settings);
-
- /* Write the 2nd data series statistics */
- $Settings = array("R"=>224,"G"=>100,"B"=>46,"Align"=>TEXT_ALIGN_BOTTOMLEFT);
- $myPicture->drawText(620,283,"Max : ".ceil($MyData->getMax("Probe 2")),$Settings);
- $myPicture->drawText(680,283,"Min : ".ceil($MyData->getMin("Probe 2")),$Settings);
- $myPicture->drawText(740,283,"Avg : ".ceil($MyData->getSerieAverage("Probe 2")),$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFilledSplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFilledStepChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawFilledStepChart.php
deleted file mode 100644
index b07fa1b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFilledStepChart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Step chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,2,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFilledStepChart() - draw a filled step chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawFilledStepChart(array("ForceTransparency"=>40,"DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>-1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawFilledStepChart(array("ForceTransparency"=>40));
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFilledStepChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFromGIF.php b/notFinishedCode/pChart2.1.2/examples/example.drawFromGIF.php
deleted file mode 100644
index 289ac9e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFromGIF.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFromGIF() - add pictures to your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn off shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw a GIF object */
- $myPicture->drawFromGIF(180,50,"resources/computer.gif");
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a GIF object */
- $myPicture->drawFromGIF(400,50,"resources/computer.gif");
-
- /* Write the legend */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>10,"FontName"=>"../fonts/calibri.ttf","Align"=>TEXT_ALIGN_BOTTOMMIDDLE);
- $myPicture->drawText(240,200,"Without shadow",$TextSettings);
- $myPicture->drawText(460,200,"With enhanced shadow",$TextSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFromGIF.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFromJPG.php b/notFinishedCode/pChart2.1.2/examples/example.drawFromJPG.php
deleted file mode 100644
index 5cef941..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFromJPG.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFromJPG() - add pictures to your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn off shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw a JPG object */
- $myPicture->drawFromJPG(100,45,"resources/landscape1.jpg");
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a JPG object */
- $myPicture->drawFromJPG(380,45,"resources/landscape2.jpg");
-
- /* Write the legend */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>10,"FontName"=>"../fonts/calibri.ttf","Align"=>TEXT_ALIGN_BOTTOMMIDDLE);
- $myPicture->drawText(220,210,"Without shadow",$TextSettings);
- $myPicture->drawText(490,210,"With enhanced shadow",$TextSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFromJPG.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawFromPNG.php b/notFinishedCode/pChart2.1.2/examples/example.drawFromPNG.php
deleted file mode 100644
index eb59df3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawFromPNG.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFromPNG() - add pictures to your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn off shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw a PNG object */
- $myPicture->drawFromPNG(180,50,"resources/hologram.png");
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a PNG object */
- $myPicture->drawFromPNG(400,50,"resources/blocnote.png");
-
- /* Write the legend */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>10,"FontName"=>"../fonts/calibri.ttf","Align"=>TEXT_ALIGN_BOTTOMMIDDLE);
- $myPicture->drawText(240,190," Without shadow\r\n(only PNG alpha channels)",$TextSettings);
- $myPicture->drawText(460,200,"With enhanced shadow",$TextSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawFromPNG.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawGeometricMean.php b/notFinishedCode/pChart2.1.2/examples/example.drawGeometricMean.php
deleted file mode 100644
index b97d9f7..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawGeometricMean.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(10,30)+$i,"Probe 1"); }
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAbscissaName("Samples");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,680,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Turn on shadows */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart();
-
- /* Draw the standard mean and the geometric one */
- $Mean = $MyData->getSerieAverage("Probe 1");
- $GeometricMean = $MyData->getGeometricMean("Probe 1");
- $myPicture->drawThreshold($GeometricMean,array("WriteCaption"=>TRUE,"Caption"=>"Geometric mean"));
- $myPicture->drawThreshold($Mean,array("WriteCaption"=>TRUE,"Caption"=>"Mean","CaptionAlign"=>CAPTION_RIGHT_BOTTOM));
-
- /* Write the computed values */
- $myPicture->drawText(550,20,"Arithmetic average : ".round($Mean,2));
- $myPicture->drawText(550,30,"Geometric Mean : ".round($GeometricMean,2));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.geometricMean.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawGradientArea.php b/notFinishedCode/pChart2.1.2/examples/example.drawGradientArea.php
deleted file mode 100644
index d0c31ae..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawGradientArea.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawGradientArea() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>181,"StartG"=>209,"StartB"=>27,"Alpha"=>100,"Levels"=>-50);
- $myPicture->drawGradientArea(20,60,400,170,DIRECTION_HORIZONTAL,$GradientSettings);
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>209,"StartG"=>134,"StartB"=>27,"Alpha"=>30,"Levels"=>-50);
- $myPicture->drawGradientArea(30,30,200,200,DIRECTION_VERTICAL,$GradientSettings);
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>209,"StartG"=>31,"StartB"=>27,"Alpha"=>100,"Levels"=>50);
- $myPicture->drawGradientArea(480,50,650,80,DIRECTION_HORIZONTAL,$GradientSettings);
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>209,"StartG"=>125,"StartB"=>27,"Alpha"=>100,"Levels"=>50);
- $myPicture->drawGradientArea(480,90,650,120,DIRECTION_VERTICAL,$GradientSettings);
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>209,"StartG"=>198,"StartB"=>27,"Alpha"=>100,"Levels"=>50);
- $myPicture->drawGradientArea(480,130,650,160,DIRECTION_HORIZONTAL,$GradientSettings);
-
- /* Draw a gradient area */
- $GradientSettings = array("StartR"=>134,"StartG"=>209,"StartB"=>27,"Alpha"=>100,"Levels"=>50);
- $myPicture->drawGradientArea(480,170,650,200,DIRECTION_HORIZONTAL,$GradientSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawGradientArea.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawHarmonicMean.php b/notFinishedCode/pChart2.1.2/examples/example.drawHarmonicMean.php
deleted file mode 100644
index 0c33d7f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawHarmonicMean.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(10,30)+$i,"Probe 1"); }
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAbscissaName("Samples");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,680,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Turn on shadows */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart();
-
- /* Draw the standard mean and the harmonic one */
- $Mean = $MyData->getSerieAverage("Probe 1");
- $HarmonicMean = $MyData->getHarmonicMean("Probe 1");
- $myPicture->drawThreshold($HarmonicMean,array("WriteCaption"=>TRUE,"Caption"=>"Harmonic mean"));
- $myPicture->drawThreshold($Mean,array("WriteCaption"=>TRUE,"Caption"=>"Mean","CaptionAlign"=>CAPTION_RIGHT_BOTTOM));
-
- /* Write the computed values */
- $myPicture->drawText(550,20,"Arithmetic average : ".round($Mean,2));
- $myPicture->drawText(550,30,"Harmonic Mean : ".round($HarmonicMean,2));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.harmonicMean.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawIndicator.php b/notFinishedCode/pChart2.1.2/examples/example.drawIndicator.php
deleted file mode 100644
index 5f28bba..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawIndicator.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pIndicator.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,12,15,8,5,-5),"Probe 1");
- $MyData->addPoints(array(7,2,4,14,8,3),"Probe 2");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAxisUnit(0,"°C");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawIndicator() - Create nice looking indicators",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Create the pIndicator object */
- $Indicator = new pIndicator($myPicture);
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the indicator sections */
- $IndicatorSections = "";
- $IndicatorSections[] = array("Start"=>0,"End"=>199,"Caption"=>"Low","R"=>0,"G"=>142,"B"=>176);
- $IndicatorSections[] = array("Start"=>200,"End"=>239,"Caption"=>"Moderate","R"=>108,"G"=>157,"B"=>49);
- $IndicatorSections[] = array("Start"=>240,"End"=>300,"Caption"=>"High","R"=>157,"G"=>140,"B"=>49);
-
- /* Draw the 1st indicator */
- $IndicatorSettings = array("Values"=>array(20,230),"ValueFontName"=>"../fonts/Forgotte.ttf","ValueFontSize"=>15,"IndicatorSections"=>$IndicatorSections,"SubCaptionColorFactor"=>-40);
- $Indicator->draw(80,50,550,50,$IndicatorSettings);
-
- /* Define the indicator sections */
- $IndicatorSections = "";
- $IndicatorSections[] = array("Start"=>0,"End"=>99,"Caption"=>"Low","R"=>135,"G"=>49,"B"=>15);
- $IndicatorSections[] = array("Start"=>100,"End"=>119,"Caption"=>"Borderline","R"=>183,"G"=>62,"B"=>15);
- $IndicatorSections[] = array("Start"=>120,"End"=>220,"Caption"=>"High","R"=>226,"G"=>74,"B"=>14);
-
- /* Draw the 2nd indicator */
- $IndicatorSettings = array("Values"=>array(100,201),"CaptionPosition"=>INDICATOR_CAPTION_BOTTOM,"CaptionR"=>0,"CaptionG"=>0,"CaptionB"=>0,"DrawLeftHead"=>FALSE,"ValueDisplay"=>INDICATOR_VALUE_LABEL,"ValueFontName"=>"../fonts/Forgotte.ttf","ValueFontSize"=>15,"IndicatorSections"=>$IndicatorSections);
- $Indicator->draw(80,160,550,30,$IndicatorSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawIndicator.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.barchart.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.barchart.php
deleted file mode 100644
index 7e772da..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.barchart.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->loadPalette("../palettes/autumn.color",TRUE);
- $MyData->addPoints(array(4,12,15,8,5,-5),"Probe 1");
- $MyData->addPoints(array(7,2,4,14,8,3),"Probe 2");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAxisUnit(0,"°C");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawLabel() - Write labels over your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(155,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,670,190);
- $myPicture->drawFilledRectangle(60,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawBarChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(600,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write a label over the chart */
- $myPicture->writeLabel("Probe 1",0);
-
- /* Write a label over the chart */
- $LabelSettings = array("TitleMode"=>LABEL_TITLE_BACKGROUND,"DrawSerieColor"=>FALSE,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myPicture->writeLabel("Probe 1",5,$LabelSettings);
-
- /* Write a label over the chart */
- $LabelSettings = array("OverrideTitle"=>"Multiple series","DrawVerticalLine"=>TRUE,"TitleMode"=>LABEL_TITLE_BACKGROUND,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myPicture->writeLabel(array("Probe 1","Probe 2"),4,$LabelSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLabel.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.bubble.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.bubble.php
deleted file mode 100644
index c708c4e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.bubble.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pBubble.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->loadPalette("../palettes/blind.color",TRUE);
- $MyData->addPoints(array(34,55,15,62,38,42),"Probe1");
- $MyData->addPoints(array(5,10,8,9,15,10),"Probe1Weight");
- $MyData->addPoints(array(5,10,-5,-1,0,-10),"Probe2");
- $MyData->addPoints(array(6,10,14,10,14,6),"Probe2Weight");
- $MyData->setSerieDescription("Probe1","This year");
- $MyData->setSerieDescription("Probe2","Last year");
- $MyData->setAxisName(0,"Current stock");
- $MyData->addPoints(array("Apple","Banana","Orange","Lemon","Peach","Strawberry"),"Product");
- $MyData->setAbscissa("Product");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawBubbleChart() - draw a linear bubble chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(40,55,"Current Stock / Needs chart",array("FontSize"=>14,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Change the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Create the Bubble chart object and scale up */
- $myBubbleChart = new pBubble($myPicture,$MyData);
-
- /* Scale up for the bubble chart */
- $bubbleDataSeries = array("Probe1","Probe2");
- $bubbleWeightSeries = array("Probe1Weight","Probe2Weight");
- $myBubbleChart->bubbleScale($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Draw the 1st chart */
- $myPicture->setGraphArea(40,60,430,190);
- $myPicture->drawFilledRectangle(40,60,430,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-50,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $myBubbleChart->drawBubbleChart($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Write a label over the chart */
- $LabelSettings = array("TitleMode"=>LABEL_TITLE_BACKGROUND,"VerticalMargin"=>4,"HorizontalMargin"=>6,"DrawSerieColor"=>FALSE,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myBubbleChart->writeBubbleLabel("Probe1","Probe1Weight",3,$LabelSettings);
- $myBubbleChart->writeBubbleLabel("Probe2","Probe2Weight",4,$LabelSettings);
-
- /* Draw the 2nd scale */
- $myPicture->setShadow(FALSE);
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
-
- /* Draw the 2nd bubble chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $myBubbleChart->drawbubbleChart($bubbleDataSeries,$bubbleWeightSeries,array("DrawBorder"=>TRUE,"Surrounding"=>60,"BorderAlpha"=>100));
-
- /* Write a label over the chart */
- $myBubbleChart->writeBubbleLabel("Probe1","Probe1Weight",4,$LabelSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(550,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLabel.bubble.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.caption.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.caption.php
deleted file mode 100644
index af2c672..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.caption.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,12,15,8,5,-5),"Probe 1");
- $MyData->addPoints(array(7,2,4,14,8,3),"Probe 2");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAxisUnit(0,"°C");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawLabel() - Write labels over your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(155,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,670,190);
- $myPicture->drawFilledRectangle(60,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawSplineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(600,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Write a label over the chart */
- $LabelSettings = array("TitleR"=>255,"TitleG"=>255,"TitleB"=>255,"DrawSerieColor"=>FALSE,"TitleMode"=>LABEL_TITLE_BACKGROUND,"OverrideTitle"=>"Information","ForceLabels"=>array("Issue with the recording device","New recording device"),"GradientEndR"=>220,"GradientEndG"=>255,"GradientEndB"=>220,"TitleBackgroundG"=>155);
- $myPicture->writeLabel(array("Probe 2"),array(1,3),$LabelSettings);
-
- /* Write a label over the chart */
- $LabelSettings = array("NoTitle"=>TRUE,"GradientEndR"=>255,"GradientEndG"=>200,"GradientEndB"=>200);
- $myPicture->writeLabel(array("Probe 1"),5,$LabelSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLabel.caption.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.php
deleted file mode 100644
index 8ebf364..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,12,15,8,5,-5),"Probe 1");
- $MyData->addPoints(array(7,2,4,14,8,3),"Probe 2");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAxisUnit(0,"°C");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawLabel() - Write labels over your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(155,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,670,190);
- $myPicture->drawFilledRectangle(60,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawSplineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(600,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write a label over the chart */
- $myPicture->writeLabel("Probe 1",0);
-
- /* Write a label over the chart */
- $LabelSettings = array("TitleMode"=>LABEL_TITLE_BACKGROUND,"DrawSerieColor"=>FALSE,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myPicture->writeLabel("Probe 1",5,$LabelSettings);
-
- /* Write a label over the chart */
- $LabelSettings = array("OverrideTitle"=>"Multiple series","DrawVerticalLine"=>TRUE,"TitleMode"=>LABEL_TITLE_BACKGROUND,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myPicture->writeLabel(array("Probe 1","Probe 2"),4,$LabelSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLabel.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.scatter.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.scatter.php
deleted file mode 100644
index 02068a4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.scatter.php
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieTicks(0,4);
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterLineChart() - Draw a scatter line chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterLineChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write a label over the chart */
- $LabelSettings = array("Decimals"=>1,"TitleMode"=>LABEL_TITLE_BACKGROUND,"TitleR"=>255,"TitleG"=>255,"TitleB"=>255);
- $myScatter->writeScatterLabel(1,17,$LabelSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLabel.scatter.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.vertical.php b/notFinishedCode/pChart2.1.2/examples/example.drawLabel.vertical.php
deleted file mode 100644
index 5dd7a0c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLabel.vertical.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
- /* CAT:Labels */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(13251,4118,3087,1460,1248,156,26,9,8),"Hits");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("Firefox","Chrome","Internet Explorer","Opera","Safari","Mozilla","SeaMonkey","Camino","Lunascape"),"Browsers");
- $MyData->setSerieDescription("Browsers","Browsers");
- $MyData->setAbscissa("Browsers");
-
- /* Create the pChart object */
- $myPicture = new pImage(500,500,$MyData);
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,500,500,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the chart scale */
- $myPicture->setGraphArea(100,30,480,480);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
-
- /* Write the legend */
- $myPicture->drawLegend(570,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Write a label over the chart */
- $myPicture->writeLabel("Hits",array(1,4));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawBarChart.vertical.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLegend.php b/notFinishedCode/pChart2.1.2/examples/example.drawLegend.php
deleted file mode 100644
index 7ea3d61..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLegend.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,25,26,25,25),"My Serie 1");
- $MyData->addPoints(array(80,85,84,81,82),"My Serie 2");
- $MyData->addPoints(array(17,16,18,18,15),"My Serie 3");
- $MyData->setSerieTicks("My Serie 1",4);
- $MyData->setSerieWeight("My Serie 2",2);
- $MyData->setSerieDescription("My Serie 1","Temperature");
- $MyData->setSerieDescription("My Serie 2","Humidity\n(in percentage)");
- $MyData->setSerieDescription("My Serie 3","Pressure");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Draw the picture border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawLegend() - Write your chart legend",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawLegend(70,60);
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/MankSans.ttf","FontSize"=>10,"R"=>30,"G"=>30,"B"=>30));
- $myPicture->drawLegend(230,60,array("BoxSize"=>4,"R"=>173,"G"=>163,"B"=>83,"Surrounding"=>20,"Family"=>LEGEND_FAMILY_CIRCLE));
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>9,"R"=>80,"G"=>80,"B"=>80));
- $myPicture->drawLegend(400,60,array("Style"=>LEGEND_BOX,"BoxSize"=>4,"R"=>200,"G"=>200,"B"=>200,"Surrounding"=>20,"Alpha"=>30));
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawLegend(70,150,array("Mode"=>LEGEND_HORIZONTAL, "Family"=>LEGEND_FAMILY_CIRCLE));
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLegend(400,150,array("Style"=>LEGEND_BOX,"Mode"=>LEGEND_HORIZONTAL, "BoxWidth"=>30,"Family"=>LEGEND_FAMILY_LINE));
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawFilledRectangle(1,200,698,228,array("Alpha"=>30,"R"=>255,"G"=>255,"B"=>255));
- $myPicture->drawLegend(10,208,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Define series icons */
- $MyData->setSeriePicture("My Serie 1","resources/application_view_list.png");
- $MyData->setSeriePicture("My Serie 2","resources/application_view_tile.png");
- $MyData->setSeriePicture("My Serie 3","resources/chart_bar.png");
-
- /* Write a legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLegend(540,50,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_VERTICAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLegend.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLine.php b/notFinishedCode/pChart2.1.2/examples/example.drawLine.php
deleted file mode 100644
index f1b26d3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLine.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Draw the picture border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawLine() - Basis",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw some lines */
- for($i=1;$i<=100;$i=$i+4)
- $myPicture->drawLine($i+5,215,$i*7+5,30,array("R"=>rand(0,255),"G"=>rand(0,255),"B"=>rand(0,255),"Ticks"=>rand(0,4)));
-
- /* Draw an horizontal dashed line with extra weight */
- $myPicture->drawLine(370,160,650,160,array("R"=>0,"G"=>0,"B"=>0,"Ticks"=>4,"Weight"=>3));
-
- /* Another example of extra weight */
- $myPicture->drawLine(370,180,650,200,array("R"=>255,"G"=>255,"B"=>255,"Ticks"=>15,"Weight"=>1));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLine.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.php
deleted file mode 100644
index 1b3bcc2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
- /* CAT:Line chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawPlotChart() - draw a plot chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLineChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>-1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawLineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.simple.php
deleted file mode 100644
index f8fb2f4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawLineChart.simple.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Line chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $myPicture->drawLineChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawLineChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawMedian.php b/notFinishedCode/pChart2.1.2/examples/example.drawMedian.php
deleted file mode 100644
index 68d5632..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawMedian.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(10,30)+$i,"Probe 1"); }
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAbscissaName("Samples");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line of best fit */
- $myPicture->drawThreshold($MyData->getSerieMedian("Probe 1"),array("WriteCaption"=>TRUE,"Caption"=>"Median value"));
-
- /* Turn on shadows */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.median.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawPieLegend.php b/notFinishedCode/pChart2.1.2/examples/example.drawPieLegend.php
deleted file mode 100644
index 062b1f1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawPieLegend.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Pie charts */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pPie.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawPieLegend - Draw pie charts legend",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>150,"G"=>150,"B"=>150,"Alpha"=>100));
-
- /* Create the pPie object */
- $PieChart = new pPie($myPicture,$MyData);
-
- /* Draw two AA pie chart */
- $PieChart->draw2DPie(200,100,array("Border"=>TRUE));
- $PieChart->draw2DPie(440,115,array("Border"=>TRUE));
-
- /* Write down the legend next to the 2nd chart*/
- $PieChart->drawPieLegend(550,70);
-
- /* Write a legend box under the 1st chart */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $PieChart->drawPieLegend(90,176,array("Style"=>LEGEND_BOX,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Write the bottom legend box */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawGradientArea(1,200,698,228,DIRECTION_VERTICAL,array("StartR"=>247,"StartG"=>247,"StartB"=>247,"EndR"=>217,"EndG"=>217,"EndB"=>217,"Alpha"=>20));
- $myPicture->drawLine(1,199,698,199,array("R"=>100,"G"=>100,"B"=>100,"Alpha"=>20));
- $myPicture->drawLine(1,200,698,200,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>20));
- $PieChart->drawPieLegend(10,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawPieLegend.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.icon.php b/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.icon.php
deleted file mode 100644
index d79a8a5..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.icon.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
- /* CAT:Plot chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(3,4,7,4,2,5),"User");
- $MyData->addPoints(array(12,17,15,18,19,22),"Group");
- $MyData->setSeriePicture("User","resources/serie1.png");
- $MyData->setSeriePicture("Group","resources/serie2.png");
- $MyData->setSerieWeight("Group",1);
- $MyData->setSerieTicks("Group",4);
-
- $MyData->setAxisName(0,"Hours");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawPlotChart() - draw a plot chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average time spent on projects",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawSplineChart();
- $myPicture->drawPlotChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawPlotChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(590,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawPlotChart.icon.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.php
deleted file mode 100644
index cbc94bb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
- /* CAT:Plot chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,4,2,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawPlotChart() - draw a plot chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawPlotChart(array("BorderSize"=>1,"Surrounding"=>40,"BorderAlpha"=>100,"PlotSize"=>2,"PlotBorder"=>TRUE,"DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawPlotChart(array("PlotSize"=>1,"PlotBorder"=>TRUE,"BorderSize"=>1));
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawPlotChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.simple.php
deleted file mode 100644
index 82c3901..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawPlotChart.simple.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
- /* CAT:Plot chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(0,20),"Probe 1"); }
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(0,20),"Probe 2"); }
- $MyData->setSerieShape("Probe 1",SERIE_SHAPE_FILLEDTRIANGLE);
- $MyData->setSerieShape("Probe 2",SERIE_SHAPE_FILLEDSQUARE);
- $MyData->setAxisName(0,"Temperatures");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawPlotChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawPolygon.php b/notFinishedCode/pChart2.1.2/examples/example.drawPolygon.php
deleted file mode 100644
index 1becd9c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawPolygon.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawPolygon - Draw polygons",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create some filling thresholds */
- $Threshold = "";
- $Threshold[] = array("MinX"=>100,"MaxX"=>60,"R"=>200,"G"=>200,"B"=>200,"Alpha"=>50);
- $Threshold[] = array("MinX"=>140,"MaxX"=>100,"R"=>220,"G"=>220,"B"=>220,"Alpha"=>50);
- $Threshold[] = array("MinX"=>180,"MaxX"=>140,"R"=>240,"G"=>240,"B"=>240,"Alpha"=>50);
-
- /* Draw some polygons */
- $Step = 8;
- $White = array("Threshold"=>$Threshold,"R"=>255,"G"=>255,"B"=>255,"Alpha"=>100,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0,"BorderAlpha"=>100);
-
- for($i=1;$i<=4;$i++)
- {
- $Points = "";
- for($j=0;$j<=360;$j=$j+(360/$Step))
- {
- $Points[] = cos(deg2rad($j))*50+($i*140);
- $Points[] = sin(deg2rad($j))*50+120;
- }
- $myPicture->drawPolygon($Points,$White);
- $Step = $Step * 2;
- }
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawPolygon.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawProgress.php b/notFinishedCode/pChart2.1.2/examples/example.drawProgress.php
deleted file mode 100644
index 1f51814..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawProgress.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Progress bars */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0, "G"=>0, "B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf", "FontSize"=>6));
- $myPicture->drawText(10,13, "drawProgress() - Simple progress bars",array("R"=>255, "G"=>255, "B"=>255));
-
- /* Set the font & shadow options */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf", "FontSize"=>10));
- $myPicture->setShadow(TRUE,array("X"=>1, "Y"=>1, "R"=>0, "G"=>0, "B"=>0, "Alpha"=>20));
-
- /* Draw a progress bar */
- $progressOptions = array("R"=>209, "G"=>31, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "RFade"=>206, "GFade"=>133, "BFade"=>30, "ShowLabel"=>TRUE);
- $myPicture->drawProgress(40,60,77,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>165, "R"=>209, "G"=>125, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255,"NoAngle"=>TRUE, "ShowLabel"=>TRUE, "LabelPos"=>LABEL_POS_RIGHT);
- $myPicture->drawProgress(40,100,50,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>165, "R"=>209, "G"=>198, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "ShowLabel"=>TRUE, "LabelPos"=>LABEL_POS_LEFT);
- $myPicture->drawProgress(75,140,25,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>400, "R"=>134, "G"=>209, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "RFade"=>206, "GFade"=>133, "BFade"=>30, "ShowLabel"=>TRUE, "LabelPos"=>LABEL_POS_CENTER);
- $myPicture->drawProgress(40,180,80,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>20, "Height"=>150, "R"=>209, "G"=>31, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "RFade"=>206, "GFade"=>133, "BFade"=>30, "ShowLabel"=>TRUE, "Orientation"=>ORIENTATION_VERTICAL, "LabelPos"=>LABEL_POS_BOTTOM);
- $myPicture->drawProgress(500,200,77,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>20, "Height"=>150, "R"=>209, "G"=>125, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255,"NoAngle"=>TRUE, "ShowLabel"=>TRUE, "Orientation"=>ORIENTATION_VERTICAL, "LabelPos"=>LABEL_POS_TOP);
- $myPicture->drawProgress(540,200,50,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>20, "Height"=>150, "R"=>209, "G"=>198, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "ShowLabel"=>TRUE, "Orientation"=>ORIENTATION_VERTICAL, "LabelPos"=>LABEL_POS_INSIDE);
- $myPicture->drawProgress(580,200,25,$progressOptions);
-
- /* Draw a progress bar */
- $progressOptions = array("Width"=>20, "Height"=>150, "R"=>134, "G"=>209, "B"=>27, "Surrounding"=>20, "BoxBorderR"=>0, "BoxBorderG"=>0, "BoxBorderB"=>0, "BoxBackR"=>255, "BoxBackG"=>255, "BoxBackB"=>255, "RFade"=>206, "GFade"=>133, "BFade"=>30, "ShowLabel"=>TRUE, "Orientation"=>ORIENTATION_VERTICAL, "LabelPos"=>LABEL_POS_CENTER);
- $myPicture->drawProgress(620,200,80,$progressOptions);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawProgress.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawRectangle.php b/notFinishedCode/pChart2.1.2/examples/example.drawRectangle.php
deleted file mode 100644
index 70fa2cd..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawRectangle.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawRectangle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRectangle(20,60,400,170,$RectangleSettings);
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>209,"G"=>134,"B"=>27,"Alpha"=>30);
- $myPicture->drawRectangle(30,30,200,200,$RectangleSettings);
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100);
- $myPicture->drawRectangle(480,50,650,80,$RectangleSettings);
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100);
- $myPicture->drawRectangle(480,90,650,120,$RectangleSettings);
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Ticks"=>2);
- $myPicture->drawRectangle(480,130,650,160,$RectangleSettings);
-
- /* Draw a rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Ticks"=>2);
- $myPicture->drawRectangle(480,170,650,200,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawRectangle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawRoundedFilledRectangle.php b/notFinishedCode/pChart2.1.2/examples/example.drawRoundedFilledRectangle.php
deleted file mode 100644
index 7d78ad1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawRoundedFilledRectangle.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawRoundedFilledRectangle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedFilledRectangle(20,60,400,170,10,$RectangleSettings);
-
- /* Enable shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>134,"B"=>27,"Alpha"=>30);
- $myPicture->drawRoundedFilledRectangle(30,30,200,200,10,$RectangleSettings);
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(480,50,650,80,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(480,90,650,120,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(480,130,650,160,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(480,170,650,200,5,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawRoundedFilledRectangle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawRoundedRectangle.php b/notFinishedCode/pChart2.1.2/examples/example.drawRoundedRectangle.php
deleted file mode 100644
index dd04cdb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawRoundedRectangle.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawRoundedRectangle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedRectangle(20,60,400,170,10,$RectangleSettings);
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>209,"G"=>134,"B"=>27,"Alpha"=>30);
- $myPicture->drawRoundedRectangle(30,30,200,200,10,$RectangleSettings);
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedRectangle(480,50,650,80,5,$RectangleSettings);
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedRectangle(480,90,650,120,5,$RectangleSettings);
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedRectangle(480,130,650,160,5,$RectangleSettings);
-
- /* Draw a rounded rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedRectangle(480,170,650,200,5,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawRoundedRectangle.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.color.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.color.php
deleted file mode 100644
index 2023caa..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.color.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->addPoints(array(1,2,VOID,9,10),"Humidity 1");
- $MyData->addPoints(array(1,VOID,7,-9,0),"Humidity 2");
- $MyData->addPoints(array(-1,-1,-1,-1,-1),"Humidity 3");
- $MyData->addPoints(array(0,0,0,0,0),"Vide");
- $MyData->setSerieOnAxis("Temperature",0);
- $MyData->setSerieOnAxis("Humidity 1",1);
- $MyData->setSerieOnAxis("Humidity 2",1);
- $MyData->setSerieOnAxis("Humidity 3",1);
- $MyData->setSerieOnAxis("Vide",2);
- $MyData->setAxisPosition(2,AXIS_POSITION_RIGHT);
- $MyData->setAxisName(0,"Temperature");
- $MyData->setAxisName(1,"Humidity");
- $MyData->setAxisName(2,"Empty value");
-
- /* Associate a color to each axis */
- $MyData->setAxisColor(0,array("R"=>102,"G"=>129,"B"=>63));
- $MyData->setAxisColor(1,array("R"=>129,"G"=>72,"B"=>63));
- $MyData->setAxisColor(2,array("R"=>63,"G"=>89,"B"=>129));
-
- /* Create the abscissa serie */
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","My labels");
- $MyData->setAbscissa("Labels");
- $MyData->setAbscissaName("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(90,60,660,190);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(90,60,660,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Draw the scale */
- $myPicture->drawScale(array("LabelSkip"=>1,"DrawYLines"=>array(0),"Pos"=>SCALE_POS_LEFTRIGHT));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.color.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.dates.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.dates.php
deleted file mode 100644
index 58bdc94..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.dates.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(1700,2500,7800,4500,3150),"Distance");
- $MyData->setAxisName(0,"Maximum distance");
- $MyData->setAxisUnit(0,"m");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_METRIC);
-
- /* Create the abscissa serie */
- $MyData->addPoints(array(1230768000,1233446400,1235865600,1238544000,1241136000,1243814400),"Timestamp");
- $MyData->setSerieDescription("Timestamp","Sampled Dates");
- $MyData->setAbscissa("Timestamp");
- $MyData->setAbscissaName("Dates");
- $MyData->setXAxisDisplay(AXIS_FORMAT_DATE);
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(60,60,660,190);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(60,60,660,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Draw the scale */
- $myPicture->drawScale();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.dates.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.floating.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.floating.php
deleted file mode 100644
index cd46b68..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.floating.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(8,10,24,25,25,24,23,22,20,12,10),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(60,50,660,200);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>15,"YMargin"=>15,"Floating"=>TRUE,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.floating.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.manual.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.manual.php
deleted file mode 100644
index bce8a46..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.manual.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(60,60,660,190);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(60,60,660,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
- $ScaleSettings = array("Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries,"DrawSubTicks"=>TRUE,"DrawArrows"=>TRUE,"ArrowSize"=>6);
- $myPicture->drawScale($ScaleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.multiple.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.multiple.php
deleted file mode 100644
index ebbf8a3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.multiple.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->addPoints(array(1,2,VOID,9,10),"Humidity 1");
- $MyData->addPoints(array(1,VOID,7,-9,0),"Humidity 2");
- $MyData->addPoints(array(-1,-1,-1,-1,-1),"Humidity 3");
- $MyData->addPoints(array(0,0,0,0,0),"Vide");
- $MyData->setSerieOnAxis("Temperature",0);
- $MyData->setSerieOnAxis("Humidity 1",1);
- $MyData->setSerieOnAxis("Humidity 2",1);
- $MyData->setSerieOnAxis("Humidity 3",1);
- $MyData->setSerieOnAxis("Vide",2);
- $MyData->setAxisPosition(2,AXIS_POSITION_RIGHT);
- $MyData->setAxisName(0,"Temperature");
- $MyData->setAxisName(1,"Humidity");
- $MyData->setAxisName(2,"Empty value");
-
- /* Create the abscissa serie */
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","My labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(90,60,660,190);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(90,60,660,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Draw the scale */
- $myPicture->drawScale(array("DrawYLines"=>array(0),"Pos"=>SCALE_POS_LEFTRIGHT));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.multiple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.php
deleted file mode 100644
index a89c0ba..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
- $MyData->setAbscissaName("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(60,60,660,190);
- $myPicture->drawText(350,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(60,60,660,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"DrawArrows"=>TRUE,"ArrowSize"=>6));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScale.reverse.php b/notFinishedCode/pChart2.1.2/examples/example.drawScale.reverse.php
deleted file mode 100644
index 0838bc2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScale.reverse.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
- /* CAT:Scaling */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,13,14),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Sample #1","Sample #2","Sample #3"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScale() - draw the X-Y scales",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
-
- /* Write the chart title */
- $myPicture->setGraphArea(60,90,660,210);
- $myPicture->drawText(360,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawFilledRectangle(60,90,660,210,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
-
- /* Draw the scale */
- $myPicture->drawScale(array("AutoAxisLabels"=>FALSE,"Pos"=>SCALE_POS_TOPBOTTOM));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScale.reverse.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatter.shape.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatter.shape.php
deleted file mode 100644
index 25d1e29..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatter.shape.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 1"); }
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 2"); }
- $myData->setAxisName(0,"X-Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_TOP);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Y-Index");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisPosition(1,AXIS_POSITION_LEFT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
- $myData->setScatterSerieShape(0,SERIE_SHAPE_TRIANGLE);
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
- $myData->setScatterSerieShape(1,SERIE_SHAPE_FILLEDTRIANGLE);
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Turn of Anti-aliasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(40,40,370,370);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>15,"YMargin"=>15,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myScatter->drawScatterScale($scaleSettings);
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Draw a scatter plot chart */
- $myPicture->Antialias = TRUE;
- $myScatter->drawScatterPlotChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.example.drawScatterShape.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatter.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatter.simple.php
deleted file mode 100644
index 915823b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatter.simple.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 1"); }
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 2"); }
- $myData->setAxisName(0,"X-Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_TOP);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=10;$i=$i+1) { $myData->addPoints(rand(1,20),"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Y-Index");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisPosition(1,AXIS_POSITION_LEFT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Turn of Anti-aliasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(40,40,370,370);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>15,"YMargin"=>15,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myScatter->drawScatterScale($scaleSettings);
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Draw a scatter plot chart */
- $myPicture->Antialias = TRUE;
- $myScatter->drawScatterPlotChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.example.drawScatterBestFit.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterBestFit.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterBestFit.php
deleted file mode 100644
index dec2905..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterBestFit.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(rand(1,20)*10+rand(0,$i),"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(rand(1,2)*10+rand(0,$i),"Probe 2"); }
- $myData->setAxisName(0,"X-Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_TOP);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Y-Index");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisPosition(1,AXIS_POSITION_LEFT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterBestFit() - Linear regression",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,60,350,360);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterPlotChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Draw the line of best fit */
- $myScatter->drawScatterBestFit();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterBestFit.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.php
deleted file mode 100644
index 7c8a3ab..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieTicks(0,4);
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterLineChart() - Draw a scatter line chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterLineChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterLineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.trigo.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.trigo.php
deleted file mode 100644
index 155a516..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterLineChart.trigo.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- $myData->setAxisName(0,"X-Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad(30-$i))*20,"Probe 2"); }
- $myData->setSerieOnAxis("Probe 2",1);
- $myData->setAxisName(1,"Y-Index");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 2",0);
- $myData->setScatterSerieDescription(0,"Trigonometric function");
- $myData->setScatterSerieTicks(0,4);
- $myData->setScatterSerieColor(0,array("R"=>180,"G"=>0,"B"=>0));
- $myData->setScatterSeriePicture(0,"resources/chart_line.png");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterLineChart() - Draw a scatter line chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterLineChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(270,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterLineChart.trigo.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterPlotChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterPlotChart.php
deleted file mode 100644
index 39b7b4b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterPlotChart.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
- $myData->setScatterSeriePicture(1,"resources/accept.png");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterPlotChart() - Draw a scatter plot chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterPlotChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(260,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterPlotChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.manual.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.manual.php
deleted file mode 100644
index 77f1136..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.manual.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- $myData->addPoints(array(3,12,15,8,5,-5),"X Values");
- $myData->setAxisName(0,"X Values");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisDisplay(0,AXIS_FORMAT_TIME,"i:s");
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- $myData->addPoints(array(2,7,5,18,19,22),"Y Values");
- $myData->setSerieOnAxis("Y Values",1);
- $myData->setAxisName(1,"Y Values");
- $myData->setAxisXY(1,AXIS_Y);
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterScale() - Draw the scatter chart scale",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>3600,"Rows"=>12,"RowHeight"=>300),1=>array("Min"=>0,"Max"=>100));
- $ScaleSettings = array("Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries,"DrawSubTicks"=>TRUE);
- $myScatter->drawScatterScale($ScaleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterScale.manual.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.php
deleted file mode 100644
index 82e5bfe..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterScale.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- $myData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $myData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $myData->setAxisName(0,"Temperatures");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisUnit(0,"°C");
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- $myData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Humidity");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"%");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterScale() - Draw the scatter chart scale",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterScale.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawScatterSplineChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawScatterSplineChart.php
deleted file mode 100644
index 620fbfb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawScatterSplineChart.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?php
- /* CAT:Scatter chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints(rand(1,30),"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints(rand(1,30),"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieTicks(0,4);
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawScatterSplineChart() - Draw a scatter spline chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,50,350,350);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterSplineChart();
- $myScatter->drawScatterPlotChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(280,380,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawScatterSplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSimple.php b/notFinishedCode/pChart2.1.2/examples/example.drawSimple.php
deleted file mode 100644
index 7a4f566..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSimple.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(2,7,5,18,19,22,23,25,22,12,10,10),"DEFCA");
- $MyData->setAxisName(0,"$ Incomes");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_CURRENCY);
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aou","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
- $MyData->setPalette("DEFCA",array("R"=>55,"G"=>91,"B"=>127));
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>220,"StartG"=>220,"StartB"=>220,"EndR"=>255,"EndG"=>255,"EndB"=>255,"Alpha"=>100));
- $myPicture->drawRectangle(0,0,699,229,array("R"=>200,"G"=>200,"B"=>200));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(60,35,"2k9 Average Incomes",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Do some cosmetic and draw the chart */
- $myPicture->setGraphArea(60,40,670,190);
- $myPicture->drawFilledRectangle(60,40,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("GridR"=>180,"GridG"=>180,"GridB"=>180));
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawSplineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(643,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawSimple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSpline.php b/notFinishedCode/pChart2.1.2/examples/example.drawSpline.php
deleted file mode 100644
index 8b88d04..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSpline.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawSpline() - for smooth line drawing",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a spline */
- $SplineSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE);
- $Coordinates = array(array(40,80),array(280,60),array(340,166),array(590,120));
- $myPicture->drawSpline($Coordinates,$SplineSettings);
-
- /* Draw a spline */
- $SplineSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE,"Ticks"=>4);
- $Coordinates = array(array(250,50),array(250,180),array(350,180),array(350,50));
- $myPicture->drawSpline($Coordinates,$SplineSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawSpline.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.php
deleted file mode 100644
index f0a8eb5..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
- /* CAT:Spline chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->setAxisUnit(0,"°C");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawSplineChart() - draw a spline chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawSplineChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawSplineChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawSplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.simple.php
deleted file mode 100644
index 60005d7..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSplineChart.simple.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
- /* CAT:Spline chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw a background */
- $Settings = array("R"=>190, "G"=>213, "B"=>107, "Dash"=>1, "DashR"=>210, "DashG"=>223, "DashB"=>127);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $myPicture->drawSplineChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawSplineChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.normalized.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.normalized.php
deleted file mode 100644
index ba3fd67..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.normalized.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,0,0,12,8,3,0,12,8),"Frontend #1");
- $MyData->addPoints(array(3,12,15,8,5,5,12,15,8),"Frontend #2");
- $MyData->addPoints(array(2,7,5,18,19,22,7,5,18),"Frontend #3");
- $MyData->setAxisName(0,"Average Usage");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jui","Aug","Sep"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Normalize the data series to 100% */
- $MyData->normalize(100,"%");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the chart */
- $myPicture->setGraphArea(60,20,680,190);
- $myPicture->drawScale(array("XMargin"=>2,"DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->drawStackedAreaChart(array("Surrounding"=>60));
-
- /* Turn on shadow processing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Write the chart legend */
- $myPicture->drawLegend(480,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedAreaChart.normalized.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.php
deleted file mode 100644
index da9a681..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedAreaChart.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(1,-2,-1,2,1,0),"Probe 1");
- $MyData->addPoints(array(1,-2,-3,2,1,8),"Probe 2");
- $MyData->addPoints(array(2,4,2,0,4,2),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawStackedAreaChart() - draw a stacked area chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->setShadow(FALSE);
- $myPicture->drawStackedAreaChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Surrounding"=>20));
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_ADDALL,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(FALSE);
- $myPicture->drawStackedAreaChart(array("Surrounding"=>10));
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedAreaChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.border.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.border.php
deleted file mode 100644
index 6fb9e6c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.border.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,VOID,VOID,12,8,3),"Frontend #1");
- $MyData->addPoints(array(3,12,15,8,5,5),"Frontend #2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Frontend #3");
- $MyData->setAxisName(0,"Average Usage");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the chart */
- $myPicture->setGraphArea(60,20,680,190);
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL_START0));
- $myPicture->setShadow(FALSE);
- $myPicture->drawStackedBarChart(array("Surrounding"=>-15,"InnerSurrounding"=>15));
-
- /* Write the chart legend */
- $myPicture->drawLegend(480,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedBarChart.shaded.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.can.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.can.php
deleted file mode 100644
index 527f4f4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.can.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Frontend #1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Frontend #2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Frontend #3");
- $MyData->setAxisName(0,"Average Usage");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Normalize all the data series to 100% */
- $MyData->normalize(100,"%");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the chart */
- $myPicture->setGraphArea(60,20,680,190);
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawStackedBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Gradient"=>TRUE,"GradientMode"=>GRADIENT_EFFECT_CAN,"Surrounding"=>30));
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(480,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedBarChart.can.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.php
deleted file mode 100644
index 4826fbe..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawStackedBarChart() - draw a stacked bar chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawStackedBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Rounded"=>TRUE,"Surrounding"=>60));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_ADDALL,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawStackedBarChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedBarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.rounded.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.rounded.php
deleted file mode 100644
index a6c0340..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.rounded.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-7,-8,-15,-20,-18,-12,8,-19,9,16,-20,8,10,-10,-14,-20,8,-9,-19),"Probe 3");
- $MyData->addPoints(array(19,0,-8,8,-8,12,-19,-10,5,12,-20,-8,10,-11,-12,8,-17,-14,0),"Probe 4");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22),"Time");
- $MyData->setSerieDescription("Time","Hour of the day");
- $MyData->setAbscissa("Time");
- $MyData->setXAxisUnit("h");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale */
- $myPicture->setGraphArea(60,30,650,190);
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Mode"=>SCALE_MODE_ADDALL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw some thresholds */
- $myPicture->setShadow(FALSE);
- $myPicture->drawThreshold(-40,array("WriteCaption"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Ticks"=>4));
- $myPicture->drawThreshold(28,array("WriteCaption"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Ticks"=>4));
-
- /* Draw the chart */
- $myPicture->drawStackedBarChart(array("Rounded"=>TRUE,"DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"DisplaySize"=>6,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255));
-
- /* Write the chart legend */
- $myPicture->drawLegend(570,212,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedBarChart.rounded.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.shaded.php b/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.shaded.php
deleted file mode 100644
index 55bc221..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStackedBarChart.shaded.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Stacked chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Frontend #1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Frontend #2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Frontend #3");
- $MyData->setAxisName(0,"Average Usage");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Normalize all the data series to 100% */
- $MyData->normalize(100,"%");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the chart */
- $myPicture->setGraphArea(60,20,680,190);
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawStackedBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Gradient"=>TRUE,"Surrounding"=>30));
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(480,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStackedBarChart.shaded.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStandardDeviation.php b/notFinishedCode/pChart2.1.2/examples/example.drawStandardDeviation.php
deleted file mode 100644
index 3a93257..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStandardDeviation.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=100;$i++) { $MyData->addPoints(rand(0,20),"Probe 1"); }
- $MyData->setAxisName(0,"Temperatures");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(160,35,"Measured temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $myPicture->drawText(340,30,"(and associated standard deviation)",array("FontSize"=>10,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,50,670,200);
-
- /* Draw the scale */
- $scaleSettings = array("LabelSkip"=>9,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart(array("PlotSize"=>2));
-
- /* Compute the serie average and standard deviation */
- $Average = $MyData->getSerieAverage("Probe 1");
-
- /* Compute the serie standard deviation */
- $StandardDeviation = $MyData->getStandardDeviation("Probe 1");
-
- /* Draw a threshold area */
- $myPicture->setShadow(FALSE);
- $myPicture->drawThresholdArea($Average-$StandardDeviation,$Average+$StandardDeviation,array("R"=>100,"G"=>100,"B"=>200,"Alpha"=>10));
- $myPicture->setShadow(TRUE);
-
- /* Draw the serie average */
- $myPicture->drawThreshold($Average,array("WriteCaption"=>TRUE,"Caption"=>"Average value","AxisID"=>0));
-
- /* Draw the standard deviation boundaries */
- $ThresholdSettings = array("WriteCaption"=>TRUE,"CaptionAlign"=>CAPTION_RIGHT_BOTTOM ,"Caption"=>"SD","AxisID"=>0,"R"=>0,"G"=>0,"B"=>0);
- $myPicture->drawThreshold($Average+$StandardDeviation,$ThresholdSettings);
- $myPicture->drawThreshold($Average-$StandardDeviation,$ThresholdSettings);
-
- /* Write the coefficient of variation */
- $CoefficientOfVariation = round($MyData->getCoefficientOfVariation("Probe 1"),1);
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawText(610,46,"coefficient of variation : ".$CoefficientOfVariation,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStandardDeviation.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.php
deleted file mode 100644
index 7df3a6c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Step chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawStepChart() - draw a step chart",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and the 1st chart */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawStepChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and the 2nd chart */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>-1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawStepChart();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(510,205,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStepChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.simple.php
deleted file mode 100644
index 80f7a85..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStepChart.simple.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
- /* CAT:Step chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(VOID,VOID,VOID,2,6,3),"Probe 1");
- $MyData->addPoints(array(13,12,15,18,15,10),"Probe 2");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Draw the step chart */
- $myPicture->drawStepChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(590,17,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStepChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.median.php b/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.median.php
deleted file mode 100644
index d7505bb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.median.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
- /* CAT:Stock chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pStock.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(35,28,17,27,12,12,20,15,20,28),"Open");
- $MyData->addPoints(array(20,17,25,20,25,23,16,29,26,17),"Close");
- $MyData->addPoints(array(10,11,14,11,9,4,3,7,9,5),"Min");
- $MyData->addPoints(array(37,32,33,29,29,25,22,34,29,31),"Max");
- $MyData->addPoints(array(30,20,21,24,22,18,18,24,22,24),"Median");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_CURRENCY,"$");
-
- $MyData->addPoints(array("Dec 13","Dec 14","Dec 15","Dec 16","Dec 17", "Dec 20","Dec 21","Dec 22","Dec 23","Dec 24"),"Time");
- $MyData->setAbscissa("Time");
- $MyData->setAbscissaName("Time");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Create the pStock object */
- $mystockChart = new pStock($myPicture,$MyData);
-
- /* Draw the stock chart */
- $stockSettings = array("BoxUpR"=>255,"BoxUpG"=>255,"BoxUpB"=>255,"BoxDownR"=>0,"BoxDownG"=>0,"BoxDownB"=>0,"SerieMedian"=>"Median");
- $mystockChart->drawStockChart($stockSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStockChart.median.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.php
deleted file mode 100644
index 003b7a4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Stock chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pStock.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(34,55,15,62,38,42),"Open");
- $MyData->addPoints(array(42,25,40,38,49,36),"Close");
- $MyData->addPoints(array(27,14,12,25,32,32),"Min");
- $MyData->addPoints(array(45,59,47,65,64,48),"Max");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_CURRENCY,"$");
-
- $MyData->addPoints(array("8h","10h","12h","14h","16h","18h"),"Time");
- $MyData->setAbscissa("Time");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(60,45,"Stock price",array("FontSize"=>28,"Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- /* Draw the 1st scale */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE));
-
- /* Draw the 1st stock chart */
- $mystockChart = new pStock($myPicture,$MyData);
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $mystockChart->drawStockChart();
-
- /* Reset the display mode because of the graph small size */
- $MyData->setAxisDisplay(0,AXIS_FORMAT_DEFAULT);
-
- /* Draw the 2nd scale */
- $myPicture->setShadow(FALSE);
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
-
- /* Draw the 2nd stock chart */
- $mystockChart = new pStock($myPicture,$MyData);
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
- $mystockChart->drawStockChart();
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStockChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.simple.php
deleted file mode 100644
index c47457a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawStockChart.simple.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
- /* CAT:Stock chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pStock.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(35,28,17,27,12,12,20,15,20,28),"Open");
- $MyData->addPoints(array(20,17,25,20,25,23,16,29,26,17),"Close");
- $MyData->addPoints(array(10,11,14,11,9,4,3,7,9,5),"Min");
- $MyData->addPoints(array(37,32,33,29,29,25,22,34,29,31),"Max");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_CURRENCY,"$");
-
- $MyData->addPoints(array("Dec 13","Dec 14","Dec 15","Dec 16","Dec 17", "Dec 20","Dec 21","Dec 22","Dec 23","Dec 24"),"Time");
- $MyData->setAbscissa("Time");
- $MyData->setAbscissaName("Time");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Create the pStock object */
- $mystockChart = new pStock($myPicture,$MyData);
-
- /* Draw the stock chart */
- $stockSettings = array("BoxUpR"=>255,"BoxUpG"=>255,"BoxUpB"=>255,"BoxDownR"=>0,"BoxDownG"=>0,"BoxDownB"=>0);
- $mystockChart->drawStockChart($stockSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawStockChart.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.palette.php b/notFinishedCode/pChart2.1.2/examples/example.drawSurface.palette.php
deleted file mode 100644
index beba562..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.palette.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
- /* CAT:Surface chart*/
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pSurface.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,220);
-
- /* Create a solid background */
- $Settings = array("R"=>50, "G"=>70, "B"=>0,"Dash"=>1, "DashR"=>30, "DashG"=>50, "DashB"=>0);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>131, "StartB"=>44, "EndR"=>43, "EndG"=>7, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSurface() :: 2D surface charts",array("R"=>255,"G"=>255,"B"=>255));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1));
-
- /* Create the surface object */
- $mySurface = new pSurface($myPicture);
-
- /* Set the grid size */
- $mySurface->setGrid(200,0);
-
- /* Write the axis labels */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6,"R"=>255,"G"=>255,"B"=>255));
-
- /* Draw the surface chart */
- $Palette = array(0=>array("R"=>0,"G"=>0,"B"=>0),
- 1=>array("R"=>29,"G"=>243,"B"=>119),
- 2=>array("R"=>238,"G"=>216,"B"=>78),
- 3=>array("R"=>246,"G"=>45,"B"=>53));
-
- $myPicture->setGraphArea(40,40,380,80);
- $mySurface->writeYLabels(array("Labels"=>"1st Seq"));
- for($i=0; $i<=200; $i++) { $mySurface->addPoint($i,0,rand(0,3)); }
- $mySurface->drawSurface(array("Padding"=>0,"Palette"=>$Palette));
-
- $myPicture->setGraphArea(40,100,380,140);
- $mySurface->writeYLabels(array("Labels"=>"2nd Seq"));
- for($i=0; $i<=200; $i++) { $mySurface->addPoint($i,0,rand(0,3)); }
- $mySurface->drawSurface(array("Padding"=>0,"Palette"=>$Palette));
-
- $myPicture->setGraphArea(40,160,380,200);
- $mySurface->writeYLabels(array("Labels"=>"3rd Seq"));
- for($i=0; $i<=200; $i++) { $mySurface->addPoint($i,0,rand(0,3)); }
- $mySurface->drawSurface(array("Padding"=>0,"Palette"=>$Palette));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.surface.palette.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.php b/notFinishedCode/pChart2.1.2/examples/example.drawSurface.php
deleted file mode 100644
index 85f8916..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
- /* CAT:Surface chart*/
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pSurface.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400);
-
- /* Create a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,400,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSurface() :: 2D surface charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Define the charting area */
- $myPicture->setGraphArea(20,40,380,380);
- $myPicture->drawFilledRectangle(20,40,380,380,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>20));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1));
-
- /* Create the surface object */
- $mySurface = new pSurface($myPicture);
-
- /* Set the grid size */
- $mySurface->setGrid(20,20);
-
- /* Write the axis labels */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $mySurface->writeXLabels();
- $mySurface->writeYLabels();
-
- /* Add random values */
- for($i=0; $i<=50; $i++) { $mySurface->addPoint(rand(0,20),rand(0,20),rand(0,100)); }
-
- /* Compute the missing points */
- $mySurface->computeMissing();
-
- /* Draw the surface chart */
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.surface.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.simple.php b/notFinishedCode/pChart2.1.2/examples/example.drawSurface.simple.php
deleted file mode 100644
index 4b74e77..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawSurface.simple.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
- /* CAT:Surface chart*/
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
- include("../class/pSurface.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(210,100);
-
- /* Create a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,210,100,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,210,100,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,210,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,209,99,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSurface() :: Surface charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Define the charting area */
- $myPicture->setGraphArea(50,60,180,80);
- $myPicture->drawFilledRectangle(50,60,180,80,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>20));
-
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1));
-
- /* Create the surface object */
- $mySurface = new pSurface($myPicture);
-
- /* Set the grid size */
- $mySurface->setGrid(9,1);
-
- /* Write the axis labels */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Bedizen.ttf","FontSize"=>7));
-
-
- $mySurface->writeXLabels(array("Angle"=>45,"Labels"=>array("Run 1","Run 2","Run 3","Run 4","Run 5","Run 6","Run 7","Run 8","Run 9","Run 10")));
- $mySurface->writeYLabels(array("Labels"=>array("Probe 1","Probe 2")));
-
- /* Add random values */
- for($i=0; $i<=10; $i++) { $mySurface->addPoint($i,rand(0,1),rand(0,100)); }
-
- /* Draw the surface chart */
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.surface.simple.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawText.php b/notFinishedCode/pChart2.1.2/examples/example.drawText.php
deleted file mode 100644
index 06bf0b9..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawText.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawText() - add some text to your charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/advent_light.ttf","FontSize"=>20));
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"Angle"=>10);
- $myPicture->drawText(60,115,"10 degree text",$TextSettings);
-
- /* Write some text */
- $TextSettings = array("R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>40);
- $myPicture->drawText(220,130,"Simple text",$TextSettings);
-
- /* Write some text */
- $TextSettings = array("R"=>200,"G"=>100,"B"=>0,"Angle"=>90,"FontSize"=>14);
- $myPicture->drawText(500,170,"Vertical Text",$TextSettings);
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Bedizen.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(220,160,"Encapsulated text",$TextSettings);
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(220,195,"Text in a box",$TextSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawText.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.labels.php b/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.labels.php
deleted file mode 100644
index 39f4aad..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.labels.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(2,7,5,18,VOID,12,10,15,8,5,6,9),"Help Desk");
- $MyData->setAxisName(0,"Incidents");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jui","Aou","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>20));
- $myPicture->drawGradientArea(0,0,60,230,DIRECTION_HORIZONTAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Do some cosmetics */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawLine(60,0,60,230,array("R"=>70,"G"=>70,"B"=>70));
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(35,115,"Recorded cases",array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>20,"Angle"=>90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Prepare the chart area */
- $myPicture->setGraphArea(100,30,680,190);
- $myPicture->drawFilledRectangle(100,30,680,190,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>20));
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255,"FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawScale(array("AxisR"=>255,"AxisG"=>255,"AxisB"=>255,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE));
-
- /* Write two thresholds over the chart */
- $myPicture->drawThreshold(10,array("WriteCaption"=>TRUE,"Caption"=>"Agreed SLA"));
- $myPicture->drawThreshold(15,array("WriteCaption"=>TRUE,"Caption"=>"Best effort"));
-
- /* Draw the chart */
- $myPicture->drawSplineChart();
- $myPicture->drawPlotChart();
-
-
- /* Write the data bounds */
- $myPicture->writeBounds();
-
- /* Write the chart legend */
- $myPicture->drawLegend(630,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawThreshold.labels.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.php b/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.php
deleted file mode 100644
index 00d8491..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawThreshold.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawThreshold() - draw a treshold in the charting area",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and do some cosmetics */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw one static threshold */
- $myPicture->drawThreshold(5,array("Alpha"=>70,"Ticks"=>1));
-
- /* Draw one static threshold */
- $myPicture->drawThreshold(15,array("Alpha"=>70,"Ticks"=>2,"R"=>0,"G"=>0,"B"=>255));
-
- /* Disable shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw the scale and do some cosmetics */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw one static threshold */
- $myPicture->drawThreshold(5,array("Alpha"=>70,"Ticks"=>1));
-
- /* Draw one static threshold */
- $myPicture->drawThreshold(15,array("Alpha"=>70,"Ticks"=>2,"R"=>0,"G"=>0,"B"=>255));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawThreshold.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawThresholdArea.php b/notFinishedCode/pChart2.1.2/examples/example.drawThresholdArea.php
deleted file mode 100644
index eb6ea5d..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawThresholdArea.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,-25,26,25,25),"Temperature");
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawThresholdArea() - draw treshold areas in the charting area",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(250,55,"My chart title",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw the scale and do some cosmetics */
- $myPicture->setGraphArea(60,60,450,190);
- $myPicture->drawFilledRectangle(60,60,450,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE));
-
- /* Draw one static threshold area */
- $myPicture->drawThresholdArea(5,15,array("R"=>226,"G"=>194,"B"=>54,"Alpha"=>40));
-
- /* Draw the scale and do some cosmetics */
- $myPicture->setGraphArea(500,60,670,190);
- $myPicture->drawFilledRectangle(500,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
- $myPicture->drawScale(array("Pos"=>SCALE_POS_TOPBOTTOM,"DrawSubTicks"=>TRUE));
-
- /* Draw one static threshold area */
- $myPicture->drawThresholdArea(5,15,array("R"=>206,"G"=>231,"B"=>64,"Alpha"=>20));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawThresholdArea.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawZoneChart.php b/notFinishedCode/pChart2.1.2/examples/example.drawZoneChart.php
deleted file mode 100644
index c1e82b0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawZoneChart.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0; $i<=10;$i=$i+.2)
- {
- $MyData->addPoints(log($i+1)*10,"Bounds 1");
- $MyData->addPoints(log($i+3)*10+rand(0,2)-1,"Probe");
- $MyData->addPoints(log($i+6)*10,"Bounds 2");
- $MyData->addPoints($i*10,"Labels");
- }
- $MyData->setAxisName(0,"Size (cm)");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
- $MyData->setAbscissaName("Time (years)");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Size by time generations",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(40,40,680,200);
-
- /* Draw the scale */
- $scaleSettings = array("LabelSkip"=>4,"XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $myPicture->drawZoneChart("Bounds 1","Bounds 2");
- $MyData->setSerieDrawable(array("Bounds 1","Bounds 2"),FALSE);
-
- /* Draw the line chart */
- $myPicture->drawStepChart();
-
- /* Write the chart legend */
- $myPicture->drawLegend(640,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawZoneChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.drawingObjects.php b/notFinishedCode/pChart2.1.2/examples/example.drawingObjects.php
deleted file mode 100644
index 158362a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.drawingObjects.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Define default font settings */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>14));
-
- /* Create the background */
- $myPicture->drawGradientArea(0,0,500,230,DIRECTION_HORIZONTAL,array("StartR"=>217,"StartG"=>250,"StartB"=>116,"EndR"=>181,"EndG"=>209,"EndB"=>27,"Alpha"=>100));
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawFilledRectangle(500,0,700,230,$RectangleSettings);
-
- /* Enable shadow computing on a (+1,+1) basis */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw the left area */
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRoundedFilledRectangle(-5,0,20,240,10,$RectangleSettings);
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"Angle"=>90,"Align"=>TEXT_ALIGN_MIDDLELEFT);
- $myPicture->drawText(10,220,"My first chart",$TextSettings);
-
- /* Draw the right area */
- $RectangleSettings = array("R"=>191,"G"=>219,"B"=>37,"Alpha"=>100,"Surrounding"=>20,"Ticks"=>2);
- $myPicture->drawFilledRectangle(510,10,689,219,$RectangleSettings);
-
- /* Write the legend */
- $TextSettings = array("R"=>255,"G"=>255,"B"=>255,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
- $myPicture->drawText(600,30,"Weather data",$TextSettings);
- $TextSettings = array("R"=>106,"G"=>125,"B"=>3,"Align"=>TEXT_ALIGN_TOPLEFT,"FontSize"=>11);
- $myPicture->drawText(520,45,"The data shown here has been",$TextSettings);
- $myPicture->drawText(520,60,"collected from European locations",$TextSettings);
- $myPicture->drawText(520,75,"by the French NAVI system.",$TextSettings);
- $myPicture->drawFromPNG(540,90,"resources/blocnote.png");
-
- /* Disable shadow computing */
- $myPicture->setShadow(FALSE);
-
- /* Draw the picture border */
- $RectangleSettings = array("R"=>181,"G"=>209,"B"=>27,"Alpha"=>100);
- $myPicture->drawRectangle(0,0,699,229,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.drawingObjects.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.normalize.php b/notFinishedCode/pChart2.1.2/examples/example.normalize.php
deleted file mode 100644
index 3ea8908..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.normalize.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
- /* CAT:Mathematical */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Frontend #1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Frontend #2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Frontend #3");
- $MyData->setAxisName(0,"Average Usage");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Normalize the data series to 100% */
- $MyData->normalize(100,"%");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
-
- /* Draw the scale and the chart */
- $myPicture->setGraphArea(60,20,680,190);
- $myPicture->drawScale(array("DrawSubTicks"=>TRUE,"Mode"=>SCALE_MODE_ADDALL));
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawStackedBarChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO,"Rounded"=>FALSE,"Surrounding"=>60));
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(480,210,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.normalize.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.pData.php b/notFinishedCode/pChart2.1.2/examples/example.pData.php
deleted file mode 100644
index a4560e4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.pData.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(24,25,26,25,25),"My Serie 1");
- $MyData->addPoints(array(12,13,14,16,18),"My Serie 2");
- $MyData->addPoints(array(80,76,73,71,33),"My Serie 3");
- $MyData->addPoints(array(47,67,78,76,54),"My Serie 4");
-
- /* Define the series name */
- $MyData->setSerieDescription("My Serie 1","Temperature");
- $MyData->setSerieDescription("My Serie 2","Humidity");
-
- /* Dispatche the series on different axis */
- $MyData->setSerieOnAxis("My Serie 1",1);
- $MyData->setSerieOnAxis("My Serie 2",1);
- $MyData->setSerieOnAxis("My Serie 3",2);
- $MyData->setSerieOnAxis("My Serie 4",2);
-
- /* Set the format of the axis */
- $MyData->setAxisDisplay(1,AXIS_FORMAT_DEFAULT);
- $MyData->setAxisDisplay(2,AXIS_FORMAT_DEFAULT);
- $MyData->setAxisDisplay(1,AXIS_FORMAT_TIME,"H:i");
-
- /* Set the unit of the axis */
- $MyData->setAxisUnit(1,"°C");
- $MyData->setAxisUnit(2,"%");
-
- /* Set the name of the axis */
- $MyData->setAxisName(1,"Temperature");
- $MyData->setAxisName(2,"Humidity");
-
- /* Change the color of one serie */
- $serieSettings = array("R"=>229,"G"=>11,"B"=>11,"Alpha"=>80);
- $MyData->setPalette("My Serie 4",$serieSettings);
-
- /* Load a palette file */
- $MyData->loadPalette("resources/palette.txt",FALSE);
-
- /* Output the data structure */
- print_r($MyData->getData());
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.polar.php b/notFinishedCode/pChart2.1.2/examples/example.polar.php
deleted file mode 100644
index c56a7e4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.polar.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Polar and radars */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pRadar.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(10,20,30,40,50,60,70,80,90),"ScoreA");
- $MyData->addPoints(array(20,40,50,12,10,30,40,50,60),"ScoreB");
- $MyData->setSerieDescription("ScoreA","Coverage A");
- $MyData->setSerieDescription("ScoreB","Coverage B");
-
- /* Define the absissa serie */
- $MyData->addPoints(array(40,80,120,160,200,240,280,320,360),"Coord");
- $MyData->setAbscissa("Coord");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay some gradient areas */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pRadar - Draw polar charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a polar chart */
- $myPicture->setGraphArea(10,25,340,225);
- $Options = array("BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50), "FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6);
- $SplitChart->drawPolar($myPicture,$MyData,$Options);
-
- /* Draw a polar chart */
- $myPicture->setGraphArea(350,25,690,225);
- $Options = array("LabelPos"=>RADAR_LABELS_HORIZONTAL,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>50,"EndR"=>32,"EndG"=>109,"EndB"=>174,"EndAlpha"=>30),"AxisRotation"=>0,"DrawPoly"=>TRUE,"PolyAlpha"=>50, "FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6);
- $SplitChart->drawPolar($myPicture,$MyData,$Options);
-
- /* Write the chart legend */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLegend(270,205,array("Style"=>LEGEND_BOX,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.polar.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.polar.values.php b/notFinishedCode/pChart2.1.2/examples/example.polar.values.php
deleted file mode 100644
index 92c393b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.polar.values.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
- /* CAT:Polar and radars */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pRadar.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(10,20,30,40,50,60,70,80,90),"ScoreA");
- $MyData->addPoints(array(20,40,50,30,10,30,40,50,60),"ScoreB");
- $MyData->setSerieDescription("ScoreA","Coverage A");
- $MyData->setSerieDescription("ScoreB","Coverage B");
-
- /* Define the absissa serie */
- $MyData->addPoints(array(40,80,120,160,200,240,280,320,360),"Coord");
- $MyData->setAbscissa("Coord");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300,$MyData);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_HORIZONTAL,array("StartR"=>30,"StartG"=>30,"StartB"=>30,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>100));
- $myPicture->drawLine(0,20,300,20,array("R"=>255,"G"=>255,"B"=>255));
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pRadar - Draw radar charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(FALSE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,25,290,290);
- $Options = array("DrawPoly"=>TRUE,"WriteValues"=>TRUE,"ValueFontSize"=>8,"Layout"=>RADAR_LAYOUT_CIRCLE,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50));
- $SplitChart->drawPolar($myPicture,$MyData,$Options);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.polar.values.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.radar.labels.php b/notFinishedCode/pChart2.1.2/examples/example.radar.labels.php
deleted file mode 100644
index c20a8f1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.radar.labels.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
- /* CAT:Polar and radars */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pRadar.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(4,4,10,10,4,4,15,15,4,4,10,10,4,4,15,15,4,4,10,10,4,4,15,15),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
- $MyData->setPalette("ScoreA",array("R"=>150,"G"=>5,"B"=>217));
-
- /* Define the absissa serie */
- $MyData->addPoints(array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24),"Time");
- $MyData->setAbscissa("Time");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300,$MyData);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_HORIZONTAL,array("StartR"=>30,"StartG"=>30,"StartB"=>30,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>100));
- $myPicture->drawLine(0,20,300,20,array("R"=>255,"G"=>255,"B"=>255));
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pRadar - Draw radar charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,25,290,290);
- $Options = array("SkipLabels"=>3,"LabelMiddle"=>TRUE,"Layout"=>RADAR_LAYOUT_STAR,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50));
- $SplitChart->drawRadar($myPicture,$MyData,$Options);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.radar.labels.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.radar.php b/notFinishedCode/pChart2.1.2/examples/example.radar.php
deleted file mode 100644
index c7bd194..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.radar.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Polar and radars */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pRadar.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,20,15,10,8,4),"ScoreA");
- $MyData->addPoints(array(8,10,12,20,30,15),"ScoreB");
- $MyData->addPoints(array(4,8,16,32,16,8),"ScoreC");
- $MyData->setSerieDescription("ScoreA","Application A");
- $MyData->setSerieDescription("ScoreB","Application B");
- $MyData->setSerieDescription("ScoreC","Application C");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("Size","Speed","Reliability","Functionalities","Ease of use","Weight"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Draw a solid background */
- $Settings = array("R"=>179, "G"=>217, "B"=>91, "Dash"=>1, "DashR"=>199, "DashG"=>237, "DashB"=>111);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay some gradient areas */
- $Settings = array("StartR"=>194, "StartG"=>231, "StartB"=>44, "EndR"=>43, "EndG"=>107, "EndB"=>58, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pRadar - Draw radar charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,25,300,225);
- $Options = array("Layout"=>RADAR_LAYOUT_STAR,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50), "FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6);
- $SplitChart->drawRadar($myPicture,$MyData,$Options);
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(390,25,690,225);
- $Options = array("Layout"=>RADAR_LAYOUT_CIRCLE,"LabelPos"=>RADAR_LABELS_HORIZONTAL,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>50,"EndR"=>32,"EndG"=>109,"EndB"=>174,"EndAlpha"=>30), "FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6);
- $SplitChart->drawRadar($myPicture,$MyData,$Options);
-
- /* Write the chart legend */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawLegend(235,205,array("Style"=>LEGEND_BOX,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.radar.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.radar.values.php b/notFinishedCode/pChart2.1.2/examples/example.radar.values.php
deleted file mode 100644
index bd00592..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.radar.values.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
- /* CAT:Polar and radars */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pRadar.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(8,4,6,4,2,7),"Score");
- $MyData->setSerieDescription("Score","Application A");
- $MyData->setPalette("Score",array("R"=>157,"G"=>196,"B"=>22));
-
- /* Define the absissa serie */
- $MyData->addPoints(array("Speed","Weight","Cost","Size","Ease","Utility"),"Families");
- $MyData->setAbscissa("Families");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300,$MyData);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_HORIZONTAL,array("StartR"=>30,"StartG"=>30,"StartB"=>30,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>100));
- $myPicture->drawLine(0,20,300,20,array("R"=>255,"G"=>255,"B"=>255));
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pRadar - Draw radar charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,25,290,290);
- $Options = array("DrawPoly"=>TRUE,"WriteValues"=>TRUE,"ValueFontSize"=>8,"Layout"=>RADAR_LAYOUT_CIRCLE,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50));
- $SplitChart->drawRadar($myPicture,$MyData,$Options);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.radar.values.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.setFontProperties.php b/notFinishedCode/pChart2.1.2/examples/example.setFontProperties.php
deleted file mode 100644
index 31464f0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.setFontProperties.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"setFontProperties() - set default font properties",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/advent_light.ttf","FontSize"=>20));
- $myPicture->drawText(60,115,"10 degree text",array("Angle"=>10));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/calibri.ttf","FontSize"=>20));
- $myPicture->drawText(75,130,"10 degree text",array("Angle"=>10));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/GeosansLight.ttf","FontSize"=>20));
- $myPicture->drawText(90,145,"10 degree text",array("Angle"=>10));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/MankSans.ttf","FontSize"=>20));
- $myPicture->drawText(105,160,"10 degree text",array("Angle"=>10));
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/MankSans.ttf","FontSize"=>30,"R"=>231,"G"=>50,"B"=>36));
- $myPicture->drawText(340,90,"Some big red text");
-
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6,"R"=>29,"G"=>70,"B"=>111));
- $myPicture->drawText(340,100,"Some blue text");
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.setFontProperties.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.setShadow.php b/notFinishedCode/pChart2.1.2/examples/example.setShadow.php
deleted file mode 100644
index 80dd726..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.setShadow.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"setShadow() - Add shadows",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a filled circle */
- $formSettings = array("R"=>201,"G"=>230,"B"=>40,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledCircle(90,120,30,$formSettings);
-
- /* Draw a filled rectangle */
- $formSettings = array("R"=>231,"G"=>197,"B"=>40,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledRectangle(160,90,280,150,$formSettings);
-
- /* Draw a filled rounded rectangle */
- $formSettings = array("R"=>231,"G"=>102,"B"=>40,"Alpha"=>100,"Surrounding"=>70);
- $myPicture->drawRoundedFilledRectangle(320,90,440,150,5,$formSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.setShadow.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.singlebarcode128.php b/notFinishedCode/pChart2.1.2/examples/example.singlebarcode128.php
deleted file mode 100644
index 658e0bc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.singlebarcode128.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
- /* CAT:Barcode */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pBarcode128.class.php");
- include("../class/pImage.class.php");
-
- /* Create the barcode 128 object */
- $Barcode = new pBarcode128("../");
-
- /* String to be written on the barcode */
- $String = "This is a test";
-
- /* Retrieve the barcode projected size */
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE);
- $Size = $Barcode->getSize($String,$Settings);
-
- /* Create the pChart object */
- $myPicture = new pImage($Size["Width"],$Size["Height"]);
-
- /* Set the font to use */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/GeosansLight.ttf"));
-
- /* Render the barcode */
- $Barcode->draw($myPicture,$String,10,10,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.singlebarcode128.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.singlebarcode39.php b/notFinishedCode/pChart2.1.2/examples/example.singlebarcode39.php
deleted file mode 100644
index 9ced3a3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.singlebarcode39.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
- /* CAT:Barcode */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pBarcode39.class.php");
- include("../class/pImage.class.php");
-
- /* Create the barcode 39 object */
- $Barcode = new pBarcode39("../");
-
- /* String to be written on the barcode */
- $String = "This is a test";
-
- /* Retrieve the barcode projected size */
- $Settings = array("ShowLegend"=>TRUE,"DrawArea"=>TRUE);
- $Size = $Barcode->getSize($String,$Settings);
-
- /* Create the pChart object */
- $myPicture = new pImage($Size["Width"],$Size["Height"]);
-
- /* Set the font to use */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/GeosansLight.ttf"));
-
- /* Render the barcode */
- $Barcode->draw($myPicture,$String,10,10,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.singlebarcode39.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.split.php b/notFinishedCode/pChart2.1.2/examples/example.split.php
deleted file mode 100644
index 2d4a770..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.split.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
- /* CAT:Split chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pSplit.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSplit - Draw splitted path charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(30,20,15,10,8,4),"Score");
- $MyData->addPoints(array("End of visit","Home Page","Product Page","Sales","Statistics","Prints"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pSplit object */
- $SplitChart = new pSplit();
-
- /* Draw the split chart */
- $Settings = array("TextPos"=>TEXT_POS_RIGHT,"TextPadding"=>10,"Spacing"=>20,"Surrounding"=>40);
- $myPicture->setGraphArea(10,20,340,230);
- $SplitChart->drawSplitPath($myPicture,$MyData,$Settings);
-
- /* Create and populate the pData object */
- $MyData2 = new pData();
- $MyData2->addPoints(array(30,20,15),"Score");
- $MyData2->addPoints(array("UK","FR","ES"),"Labels");
- $MyData2->setAbscissa("Labels");
-
- /* Draw the split chart */
- $Settings = array("TextPadding"=>4,"Spacing"=>30,"Surrounding"=>20);
- $myPicture->setGraphArea(350,50,690,200);
- $SplitChart->drawSplitPath($myPicture,$MyData2,$Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.split.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.spring.complex.php b/notFinishedCode/pChart2.1.2/examples/example.spring.complex.php
deleted file mode 100644
index ac38ae8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.spring.complex.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
- /* CAT:Spring chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pSpring.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(600,600);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,600,600,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,600,600,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,600,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,599,599,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSpring - Draw spring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the graph area boundaries*/
- $myPicture->setGraphArea(20,20,580,580);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>9,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pSpring object */
- $SpringChart = new pSpring();
-
- /* Set the default parameters for newly added nodes */
- $SpringChart->setNodeDefaults(array("FreeZone"=>70));
-
- /* Create 11 random nodes */
- for($i=0;$i<=10;$i++)
- {
- $Connections = ""; $RdCx = rand(0,1);
- for($j=0;$j<=$RdCx;$j++)
- {
- $RandCx = rand(0,10);
- if ( $RandCx != $j )
- { $Connections[] = $RandCx; }
- }
-
- $SpringChart->addNode($i,array("Name"=>"Node ".$i,"Connections"=>$Connections));
- }
-
- /* Draw the spring chart */
- $Result = $SpringChart->drawSpring($myPicture,array("DrawQuietZone"=>TRUE,"Algorithm"=>ALGORITHM_CIRCULAR,"RingSize"=>100)); //WEIGHTED
-
- /* Output the statistics */
- // print_r($Result);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.spring.complex.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.spring.labels.php b/notFinishedCode/pChart2.1.2/examples/example.spring.labels.php
deleted file mode 100644
index 2e9bad6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.spring.labels.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Spring chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pSpring.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSpring - Draw spring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the graph area boundaries*/
- $myPicture->setGraphArea(20,20,280,280);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>9,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pSpring object */
- $SpringChart = new pSpring();
-
- /* Set the default parameters for newly added nodes */
- $SpringChart->setNodeDefaults(array("FreeZone"=>100));
-
- /* Create some nodes */
- $SpringChart->addNode(0,array("Shape"=>NODE_SHAPE_TRIANGLE,"FreeZone"=>60,"Size"=>20,"NodeType"=>NODE_TYPE_CENTRAL));
- $SpringChart->addNode(1,array("Connections"=>"0"));
- $SpringChart->addNode(2,array("Connections"=>"0"));
- $SpringChart->addNode(3,array("Connections"=>"2"));
-
- /* Set the nodes color */
- $SpringChart->setNodesColor(0,array("R"=>215,"G"=>163,"B"=>121,"BorderR"=>166,"BorderG"=>115,"BorderB"=>74));
- $SpringChart->setNodesColor(array(1,2,3),array("R"=>150,"G"=>215,"B"=>121,"Surrounding"=>-30));
-
- /* Set the link properties */
- $SpringChart->linkProperties(0,1,array("Name"=>"Synchronous","R"=>255,"G"=>0,"B"=>0));
- $SpringChart->linkProperties(0,2,array("Name"=>"Asynchronous","R"=>255,"G"=>0,"B"=>0,"Ticks"=>2));
- $SpringChart->linkProperties(3,2,array("Name"=>"Mixed","Ticks"=>4));
-
- /* Draw the spring chart */
- $Result = $SpringChart->drawSpring($myPicture);
-
- /* Output the statistics */
- // print_r($Result);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.spring.labels.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.spring.php b/notFinishedCode/pChart2.1.2/examples/example.spring.php
deleted file mode 100644
index c48f3ba..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.spring.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
- /* CAT:Spring chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pSpring.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSpring - Draw spring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the graph area boundaries*/
- $myPicture->setGraphArea(20,20,280,280);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>9,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pSpring object */
- $SpringChart = new pSpring();
-
- /* Create some nodes */
- $SpringChart->addNode("0",array("Name"=>"","Shape"=>NODE_SHAPE_SQUARE,"FreeZone"=>60,"Size"=>20,"NodeType"=>NODE_TYPE_CENTRAL));
- $SpringChart->addNode("1",array("Name"=>"Johanna","Connections"=>array("0")));
- $SpringChart->addNode("2",array("Name"=>"Martin","Connections"=>array("0")));
- $SpringChart->addNode("3",array("Name"=>"Kevin","Connections"=>array("1")));
- $SpringChart->addNode("4",array("Name"=>"Alex","Connections"=>array("1")));
- $SpringChart->addNode("5",array("Name"=>"Julia","Connections"=>array("1")));
- $SpringChart->addNode("6",array("Name"=>"Lena","Connections"=>array("2")));
- $SpringChart->addNode("7",array("Name"=>"Elisa","Connections"=>array("2")));
- $SpringChart->addNode("8",array("Name"=>"Omar","Connections"=>array("2")));
-
- /* Set the nodes color */
- $SpringChart->setNodesColor(array(0),array("R"=>215,"G"=>163,"B"=>121,"BorderR"=>166,"BorderG"=>115,"BorderB"=>74));
- $SpringChart->setNodesColor(array(1,5,6,7),array("R"=>245,"G"=>183,"B"=>241,"Surrounding"=>-30));
- $SpringChart->setNodesColor(array(2,3,4,8),array("R"=>183,"G"=>224,"B"=>245,"Surrounding"=>-30));
-
- /* Draw the spring chart */
- $Result = $SpringChart->drawSpring($myPicture,array("DrawQuietZone"=>TRUE));
-
- /* Output the statistics */
- // print_r($Result);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.spring.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.spring.relations.php b/notFinishedCode/pChart2.1.2/examples/example.spring.relations.php
deleted file mode 100644
index 655fe67..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.spring.relations.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
- /* CAT:Spring chart */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pSpring.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,300,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>100,"EndG"=>100,"EndB"=>100,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"pSpring - Draw spring charts",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Set the graph area boundaries*/
- $myPicture->setGraphArea(20,20,280,280);
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>9,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pSpring object */
- $SpringChart = new pSpring();
-
- /* Create some nodes */
- $SpringChart->addNode(0,array("Shape"=>NODE_SHAPE_SQUARE,"FreeZone"=>60,"Size"=>20,"NodeType"=>NODE_TYPE_CENTRAL));
- $SpringChart->addNode(1,array("Connections"=>"0"));
- $SpringChart->addNode(2,array("Connections"=>"0"));
- $SpringChart->addNode(3,array("Shape"=>NODE_SHAPE_TRIANGLE,"Connections"=>"1"));
- $SpringChart->addNode(4,array("Shape"=>NODE_SHAPE_TRIANGLE,"Connections"=>"1"));
- $SpringChart->addNode(5,array("Shape"=>NODE_SHAPE_TRIANGLE,"Connections"=>"1"));
- $SpringChart->addNode(6,array("Connections"=>"2"));
- $SpringChart->addNode(7,array("Connections"=>"2"));
- $SpringChart->addNode(8,array("Connections"=>"2"));
-
- /* Set the nodes color */
- $SpringChart->setNodesColor(0,array("R"=>215,"G"=>163,"B"=>121,"BorderR"=>166,"BorderG"=>115,"BorderB"=>74));
- $SpringChart->setNodesColor(array(1,2),array("R"=>150,"G"=>215,"B"=>121,"Surrounding"=>-30));
- $SpringChart->setNodesColor(array(3,4,5),array("R"=>216,"G"=>166,"B"=>14,"Surrounding"=>-30));
- $SpringChart->setNodesColor(array(6,7,8),array("R"=>179,"G"=>121,"B"=>215,"Surrounding"=>-30));
-
- /* Set the link properties */
- $SpringChart->linkProperties(0,1,array("R"=>255,"G"=>0,"B"=>0,"Ticks"=>2));
- $SpringChart->linkProperties(0,2,array("R"=>255,"G"=>0,"B"=>0,"Ticks"=>2));
-
- /* Draw the spring chart */
- $Result = $SpringChart->drawSpring($myPicture);
-
- /* Output the statistics */
- // print_r($Result);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.spring.relations.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.text.alignment.php b/notFinishedCode/pChart2.1.2/examples/example.text.alignment.php
deleted file mode 100644
index 2cdd7d8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.text.alignment.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(550,175);
-
- /* Create a solid background */
- $Settings = array("R"=>183, "G"=>161, "B"=>71, "Dash"=>1, "DashR"=>203, "DashG"=>181, "DashB"=>91);
- $myPicture->drawFilledRectangle(0,0,550,175,$Settings);
-
- /* Do a gradient overlay */
- $Settings = array("StartR"=>231, "StartG"=>228, "StartB"=>155, "EndR"=>138, "EndG"=>91, "EndB"=>10, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,550,175,DIRECTION_VERTICAL,$Settings);
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/calibri.ttf","FontSize"=>20));
-
- /* Draw the text box */
- $myPicture->setShadow(FALSE);
- $myPicture->drawFilledRectangle(141,77,393,126,array("Alpha"=>20,"R"=>230,"G"=>230,"B"=>230));
- $myPicture->drawRectangle(141,77,393,126,array("R"=>50,"G"=>50,"B"=>50));
-
- /* Write the text */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $TextSettings = array("R"=>201,"G"=>230,"B"=>40,"FontSize"=>40);
- $myPicture->drawText(144,125,"My text box",$TextSettings);
-
- /* Prepare and draw the markers */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>0,"BorderB"=>0,"BorderG"=>0,"Size"=>4);
-
- $myPicture->drawRectangleMarker(141,77,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(141,101,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(141,126,$MyMarkerSettings);
-
- $myPicture->drawRectangleMarker(260,77,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(260,101,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(260,126,$MyMarkerSettings);
-
- $myPicture->drawRectangleMarker(393,77,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(393,101,$MyMarkerSettings);
- $myPicture->drawRectangleMarker(393,126,$MyMarkerSettings);
-
- /* Change the font settings */
- $myPicture->setFontProperties(array("FontName"=>"../fonts/calibri.ttf","FontSize"=>7));
- $myPicture->setShadow(FALSE);
-
- /* Write the arrows */
- $myPicture->drawArrowLabel(139,75,"TEXT_ALIGN_TOPLEFT",array("Length"=>20,"Angle"=>45,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(139,101,"TEXT_ALIGN_MIDDLELEFT",array("Length"=>20,"Angle"=>90,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(139,128,"TEXT_ALIGN_BOTTOMLEFT",array("Length"=>20,"Angle"=>135,"RoundPos"=>TRUE));
-
- $myPicture->drawArrowLabel(260,75,"TEXT_ALIGN_TOPMIDDLE",array("Length"=>20,"Angle"=>45,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(260,101,"TEXT_ALIGN_MIDDLEMIDDLE",array("Length"=>90,"Angle"=>315,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(260,128,"TEXT_ALIGN_BOTTOMMIDDLE",array("Length"=>20,"Angle"=>225,"RoundPos"=>TRUE));
-
- $myPicture->drawArrowLabel(395,75,"TEXT_ALIGN_TOPRIGHT",array("Length"=>20,"Angle"=>315,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(395,101,"TEXT_ALIGN_MIDDLERIGHT",array("Length"=>20,"Angle"=>270,"RoundPos"=>TRUE));
- $myPicture->drawArrowLabel(395,128,"TEXT_ALIGN_BOTTOMRIGHT",array("Length"=>20,"Angle"=>225,"RoundPos"=>TRUE));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.spring.relations.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.transparent.background.php b/notFinishedCode/pChart2.1.2/examples/example.transparent.background.php
deleted file mode 100644
index 3d261b4..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.transparent.background.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,NULL,TRUE);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>50,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(10,25,70,55,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>50,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(10,85,70,115,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>50,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(10,135,70,165,5,$RectangleSettings);
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>50,"Surrounding"=>30);
- $myPicture->drawRoundedFilledRectangle(10,185,70,215,5,$RectangleSettings);
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Draw a rounded filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Radius"=>20);
- $myPicture->drawRoundedFilledRectangle(100,20,680,210,20,$RectangleSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.transparent.background.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php b/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php
deleted file mode 100644
index cd4d29b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(800,700); //result image size
- $myPicture->drawGradientArea(0,0,800,700,DIRECTION_VERTICAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));//make gradient
- $myPicture->drawGradientArea(0,0,800,700,DIRECTION_HORIZONTAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>20));//make gradient
- $myPicture->drawGradientArea(0,0,60,700,DIRECTION_HORIZONTAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));//black gradient field on left
-
- /* Do some cosmetics, add the black outlining and the name of the picture on left side*/
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawLine(60,0,60,230,array("R"=>70,"G"=>70,"B"=>70));
- $myPicture->drawRectangle(0,0,799,699,array("R"=>0,"G"=>0,"B"=>0));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(30,500,"Network test results - UNIVERSITY OF FREIBURG",array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>20,"Angle"=>90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
-
-
- //Our university GSM system outlining!
- $RectangleSettings = array("R"=>137,"G"=>202,"B"=>230,"Alpha"=>20);
- $myPicture->drawFilledRectangle(63,10,245,590,$RectangleSettings);
- // x1, y1, x2, y2
-
- //BTS1
- $myPicture->drawLine(220, 90,420,330,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(180,60,"BTSCont.png");
- $myPicture->drawFromPNG(60,12,"newIcons/BTSOK3.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(70,140,"BTS1 STATUS: OK",$TextSettings);
-
-
- //BTS2
- $myPicture->drawLine(220, 320, 420,320,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(180,280,"BTSCont.png");
- $myPicture->drawFromPNG(60,230,"newIcons/BTSNOK3.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(70,360,"BTS2 STATUS: NOT OK",$TextSettings);
-
-
- //BTS3
- $myPicture->drawLine(200, 550,420,380,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(180,500,"BTSCont.png");
- $myPicture->drawFromPNG(60,450,"newIcons/BTSOK3.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(70,580,"BTS3 STATUS: OK",$TextSettings);
-
-
-
-
- //landline system outlining!
- $RectangleSettings = array("R"=>238,"G"=>243,"B"=>90,"Alpha"=>20);
- $myPicture->drawFilledRectangle(340,480,530,615,$RectangleSettings);
- //line to landline
- $myPicture->drawLine(430, 390,430,520,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(370,480,"newIcons/landline.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(340,611,"LANDLINE STATUS: OK",$TextSettings);
-
-
-
-
-
- //external GSM system outlining!
- $RectangleSettings = array("R"=>124,"G"=>229,"B"=>129,"Alpha"=>20);
- $myPicture->drawFilledRectangle(320,10,540,160,$RectangleSettings);
- //external GSM network
- $myPicture->drawLine(430, 60,430,300,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(390,30,"newIcons/externalCells.png");
-
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(324,30,"EXTERNAL GSM NETWORK: OK",$TextSettings);
-
-
-
- //external SIP system outlining!
- $RectangleSettings = array("R"=>124,"G"=>229,"B"=>129,"Alpha"=>20);
- $myPicture->drawFilledRectangle(580,10,795,160,$RectangleSettings);
- //external SIP network
- $myPicture->drawLine(695, 90,480,300,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(650,45,"newIcons/SIPEXT.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(585,30,"SIP SYSTEM: OK",$TextSettings);
-
-
- //local SIP system outlining!
- $RectangleSettings = array("R"=>137,"G"=>202,"B"=>230,"Alpha"=>20);
- $myPicture->drawFilledRectangle(580,250,795,400,$RectangleSettings);
- //local SIP network
- $myPicture->drawLine(695, 330,480,330,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->drawFromPNG(650,280,"newIcons/SIPLOC.png");
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>6));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(585,270,"UNI TELEPHONE SYSTEM: OK",$TextSettings);
-
- // add server picture
- $myPicture->drawFromPNG(380,280,"server.png");
-
-//are the subsystems completely OK
- //GSM External modem
- $myPicture->drawFromPNG(300,135,"newIcons/OK.png");
- //landline system
- $myPicture->drawFromPNG(505,580,"newIcons/OK.png");
- //GSM Local network
- $myPicture->drawFromPNG(220,560,"newIcons/NOK.png");
- //SIP external network
- $myPicture->drawFromPNG(558,135,"newIcons/OK.png");
- //SIP local network
- $myPicture->drawFromPNG(558,375,"newIcons/OK.png");
-
- /* Write a legend box */
- $RectangleSettings = array("R"=>255,"G"=>255,"B"=>255,"Ticks"=>2, "Alpha"=>99);
- $myPicture->drawRectangle(61,630,799,698,$RectangleSettings);
- //make the legend title
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>10));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>12);
- $myPicture->drawText(65,645,"LEGEND:",$TextSettings);
-// $myPicture->drawFromPNG(65,637,"newIcons/Help1.png");
- $myPicture->drawLine(70,660,90,660,array("R"=>0,"G"=>255,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(97,668,"Physical connection OK",$TextSettings);
-
-
- $myPicture->drawLine(70,680,90,680,array("R"=>255,"G"=>0,"B"=>0,"Ticks"=>8,"Weight"=>1));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(97,688,"Physical connection NOT OK",$TextSettings);
-
-
- $myPicture->drawFromPNG(310,642,"newIcons/OKlittle.png");
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(337,661,"Subsytem is OK",$TextSettings);
-
- $myPicture->drawFromPNG(310,670,"newIcons/NOKlittle.png");
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(337,689,"Subsytem is NOT OK",$TextSettings);
-
-
- $myPicture->drawFromPNG(490,642,"newIcons/BTSOK3little.png");
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(517,661,"BTS is OK",$TextSettings);
-
- $myPicture->drawFromPNG(490,670,"newIcons/BTSNOK3little.png");
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(517,689,"BTS is NOT OK",$TextSettings);
-
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(637,661,"White labels are OK",$TextSettings);
-
- $myPicture->setFontProperties(array("FontName"=>"../fonts/verdana.ttf","FontSize"=>8));
- $TextSettings = array("DrawBox"=>FALSE,"R"=>255,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>10);
- $myPicture->drawText(637,689,"Red labels are NOT OK",$TextSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.writeBounds.png");
-?>
diff --git a/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php.backup b/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php.backup
deleted file mode 100644
index c56480b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/example.writeBounds.php.backup
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
- /* CAT:Misc */
-
- /* pChart library inclusions */
- include("../class/pData.class.php");
- include("../class/pDraw.class.php");
- include("../class/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(2,7,5,18,VOID,12,10,15,8,5,6,9),"Help Desk");
- $MyData->setAxisName(0,"Incidents");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun","Jui","Aou","Sep","Oct","Nov","Dec"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>100,"StartG"=>100,"StartB"=>100,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>20));
- $myPicture->drawGradientArea(0,0,60,230,DIRECTION_HORIZONTAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>100));
-
- /* Do some cosmetics */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $myPicture->drawLine(60,0,60,230,array("R"=>70,"G"=>70,"B"=>70));
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
- $myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(35,115,"Recorded cases",array("R"=>255,"G"=>255,"B"=>255,"FontSize"=>20,"Angle"=>90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Draw a spline chart */
- $myPicture->setGraphArea(100,30,680,190);
- $myPicture->drawFilledRectangle(100,30,680,190,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>20));
- $myPicture->setFontProperties(array("R"=>255,"G"=>255,"B"=>255,"FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
- $myPicture->drawScale(array("AxisR"=>255,"AxisG"=>255,"AxisB"=>255,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE));
- $myPicture->drawSplineChart();
-
- /* Write the data bounds */
- $myPicture->writeBounds();
- $myPicture->setShadow(FALSE);
-
- /* Write the chart legend */
- $myPicture->drawLegend(630,215,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("pictures/example.writeBounds.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/imagemap.js b/notFinishedCode/pChart2.1.2/examples/imageMap/imagemap.js
deleted file mode 100644
index 860899d..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/imagemap.js
+++ /dev/null
@@ -1,256 +0,0 @@
- /*
- imageMap - JS to handle image maps over pChart graphix
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 08/04/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- var cX = 0;
- var cY = 0;
- var LastcX = null;
- var LastcY = null;
- var rX = 0;
- var rY = 0;
- var currentStatus = false;
- var initialized = false;
- var currentTooltipDivID = "";
- var currentTitle = "";
- var currentMessage = "";
- var currentAlpha = 0;
- var timerID = null;
- var timerInterval = 10;
- var timerStep = 5;
- var currentTimerMode = 0;
- var timerLock = false;
- var SmoothMove = false;
- var SmoothMoveFactor = 5;
-
- /* Create an image map */
- function createMap(imageMapID)
- {
- var testMAP = document.getElementById(imageMapID);
- if ( testMAP != null ) { testMAP.parentNode.removeChild(testMAP); }
-
- var element = document.createElement("MAP");
-
- element.id = imageMapID;
- element.name = imageMapID;
- document.body.appendChild(element);
- }
-
- /* Create the tooltip div */
- function createTooltipDiv(TooltipDivID)
- {
- var testDiv = document.getElementById(TooltipDivID);
- if ( testDiv != null ) { return(0); }
-
- var element = document.createElement("DIV");
-
- element.id = TooltipDivID;
- element.innerHTML = "";
- element.style.display = "inline-block";
- element.style.position = "absolute";
- element.style.opacity = 0;
- element.style.filter = "alpha(opacity=0)";
-
- document.body.appendChild(element);
- }
-
- /* Hide the tooltip */
- function hideDiv(TooltipDivID)
- {
- var element = document.getElementById(TooltipDivID);
-
- fadeOut(TooltipDivID);
- }
-
- /* Show the tooltip */
- function showDiv(TooltipDivID,Color,Title,Message)
- {
- var element = document.getElementById(TooltipDivID);
-
- if ( currentTooltipDivID != TooltipDivID || currentTitle != Title || currentMessage != Message)
- { createToolTip(TooltipDivID,Color,Title,Message); }
-
- if ( !initialized ) { moveDiv(TooltipDivID); initialized = true; }
-
- fadeIn(TooltipDivID);
-
- currentTooltipDivID = TooltipDivID;
- currentTitle = Title;
- currentMessage = Message;
- }
-
- /* Move the div to the mouse location */
- function moveDiv(TooltipDivID)
- {
- var element = document.getElementById(TooltipDivID);
-
-
-if(self.pageYOffset)
- { rX = self.pageXOffset; rY = self.pageYOffset; }
-
-else if(document.documentElement && document.documentElement.scrollTop)
- { rX = document.documentElement.scrollLeft; rY = document.documentElement.scrollTop; }
-
-else if(document.body)
- { rX = document.body.scrollLeft; rY = document.body.scrollTop; }
-
-if(document.all)
- {
- cX += rX; cY += rY;
- }
-
- if ( SmoothMove && LastcX != null )
- { cX = LastcX - (LastcX-cX)/4; cY = LastcY - (LastcY-cY)/SmoothMoveFactor; }
-
- element.style.left = (cX+10) + "px";
-
- element.style.top = (cY+10) + "px";
-
- LastcX = cX; LastcY = cY;
- }
-
- /* Compute the tooltip HTML code */
- function createToolTip(TooltipDivID,Color,Title,Message)
- {
- var element = document.getElementById(TooltipDivID);
-
- var HTML = "<div style='border:2px solid #606060'><div style='background-color: #000000; font-family: tahoma; font-size: 11px; color: #ffffff; padding: 4px;'><b>"+Title+" &nbsp;</b></div>";
- HTML += "<div style='background-color: #808080; border-top: 2px solid #606060; font-family: tahoma; font-size: 10px; color: #ffffff; padding: 2px;'>";
- HTML += "<table style='border: 0px; padding: 0px; margin: 0px;'><tr valign='top'><td style='padding-top: 4px;'><table style='background-color: "+Color+"; border: 1px solid #000000; width: 9px; height: 9px; padding: 0px; margin: 0px; margin-right: 2px;'><tr><td></td></tr></table></td><td>"+Message+"</td></tr></table>";
- HTML += "</div></div>";
-
- element.innerHTML = HTML;
- }
-
- /* Bind an image map to a picture */
- function bindMap(imageID,imageMapID)
- {
- var image = document.getElementById(imageID);
- image.useMap = "#"+imageMapID;
- }
-
- /* Add an area to the specified image map */
- function addArea(imageMapID,shapeType,coordsList,actionOver,actionOut)
- {
- var maps = document.getElementById(imageMapID);
- var element = document.createElement("AREA");
-
- element.shape = shapeType;
- element.coords = coordsList;
- element.onmouseover = function() { eval(actionOver); };
- element.onmouseout = function() { eval(actionOut); };
- maps.appendChild(element);
- }
-
- /* Retrieve the current cursor position Mozilla */
- function UpdateCursorPosition(e)
- {
- cX = e.pageX; cY = e.pageY;
- if ( currentStatus || timerID != null ) { moveDiv(currentTooltipDivID); }
- }
-
-
- /* Retrieve the current cursor position IE */
- function UpdateCursorPositionDocAll(e)
- {
- cX = event.clientX; cY = event.clientY;
- if ( currentStatus || timerID != null ) { moveDiv(currentTooltipDivID); }
- }
-
- /* Fade general functions */
- function fadeIn(TooltipDivID) { currentTimerMode = 1; initialiseTimer(TooltipDivID); } function fadeOut(TooltipDivID) { currentTimerMode = 2; initialiseTimer(TooltipDivID); } function initialiseTimer(TooltipDivID)
- { if ( timerID == null ) { timerID = setInterval("fade('"+TooltipDivID+"')",timerInterval); } }
-
-
-
- /* Handle fading */
- function fade(TooltipDivID)
- {
- var element = document.getElementById(TooltipDivID);
-
- currentStatus = true;
- if ( currentTimerMode == 1 ) /* Fade in */
- {
- currentAlpha = currentAlpha + timerStep;
- if ( currentAlpha >= 100 ) { currentAlpha = 100; clearInterval(timerID); timerID = null; }
- }
- else if ( currentTimerMode == 2 ) /* Fade out */
- {
- currentAlpha = currentAlpha - timerStep;
- if ( currentAlpha <= 0 ) { currentStatus = false; currentAlpha = 0; clearInterval(timerID); timerID = null; }
- }
-
- element.style.opacity = currentAlpha * .01;
- element.style.filter = 'alpha(opacity=' +currentAlpha + ')';
- }
-
- /* Add a picture element that need ImageMap parsing */
- function addImage(PictureID,ImageMapID,ImageMapURL)
- {
- createTooltipDiv('testDiv');
- createMap(ImageMapID);
- bindMap(PictureID,ImageMapID);
-
- setTimeout("checkLoadingStatus('"+PictureID+"','"+ImageMapID+"','"+ImageMapURL+"')", 200);
- }
-
- /* Check the loading status of the image */
- function checkLoadingStatus(PictureID,ImageMapID,ImageMapURL)
- {
- var element = document.getElementById(PictureID);
-
- if ( element.complete == true )
- downloadImageMap(PictureID,ImageMapID,ImageMapURL);
- else
- setTimeout("checkLoadingStatus('"+PictureID+"','"+ImageMapID+"','"+ImageMapURL+"')", 200);
- }
-
- /* Download the image map when the picture is loaded */
- function downloadImageMap(PictureID,ImageMapID,ImageMapURL)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", ImageMapURL,true);
-
- xmlhttp.onreadystatechange=function()
- { if (xmlhttp.readyState==4) { parseZones(ImageMapID,xmlhttp.responseText); } }
- xmlhttp.send(null)
- }
-
- /* Process the image map & create the zones */
- function parseZones(ImageMapID,SerializedZones)
- {
- var Zones = SerializedZones.split("\r\n");
-
- for(i=0;i<=Zones.length-2;i++)
- {
- var Options = Zones[i].split(";");
- addArea(ImageMapID,Options[0],Options[1],'showDiv("testDiv","'+Options[2]+'","'+Options[3]+'","'+Options[4].replace('"','')+'");','hideDiv("testDiv");');
- }
- }
-
- /* Attach the onMouseMove() event to the document body */
- if(document.all)
- { document.onmousemove = UpdateCursorPositionDocAll; }
-
- else
- { document.onmousemove = UpdateCursorPosition; }
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/index.php b/notFinishedCode/pChart2.1.2/examples/imageMap/index.php
deleted file mode 100644
index 21f2e70..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/index.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php if ( isset($_GET["Action"]) && $_GET["Action"] == "ViewPHP") { $Script = $_GET["Script"]; highlight_file($Script); exit(); } ?>
-<?php if ( isset($_GET["Action"]) && $_GET["Action"] == "ViewHTML") { $Script = $_GET["Script"]; writeHTML($Script); exit(); } ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <script src='imagemap.js' type="text/javascript"></script>
- <title>pChart 2.x - Image map</title>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <style>
- body { background-color: #F0F0F0; font-family: tahoma; font-size: 14px;}
- td { font-family: tahoma; font-size: 11px; }
- div.txt { font-family: tahoma; font-size: 11px; width: 660px; padding: 15px; }
- div.folder { cursor: hand; cursor: pointer; }
- a.smallLink:link { text-decoration: none; color: #6A6A6A; }
- a.smallLink:visited { text-decoration: none; color: #6A6A6A; }
- a.smallLink:hover { text-decoration: underline; color: #6A6A6A; }
- a.smallLinkGrey:link { text-decoration: none; color: #6A6A6A; }
- a.smallLinkGrey:visited { text-decoration: none; color: #6A6A6A; }
- a.smallLinkGrey:hover { text-decoration: underline; color: #6A6A6A; }
- a.smallLinkBlack:link { text-decoration: none; color: #000000; }
- a.smallLinkBlack:visited { text-decoration: none; color: #000000; }
- a.smallLinkBlack:hover { text-decoration: underline; color: #000000; }
- a.pChart { text-decoration: none; color: #6A6A6A; }
- a img, img { border: none; }
- </style>
-</head>
-<body>
-<?php
- /* Files that we don't want to see in the tree */
- $Exclusion = array(".","..");
-
- /* Determine the current package version */
- $FileHandle = fopen("../../readme.txt", "r");
- for ($i=0; $i<=5; $i++) { $buffer = fgets($FileHandle, 4096); }
- fclose($FileHandle);
- $Values = preg_split("/:/",$buffer);
- $Values = preg_split("/ /",$Values[1]);
- $Version = strip_tags($Values[1]);
-
- /* Build a list of the examples & categories */
- $DirectoryHandle = opendir("scripts");
- {
- $Tree = "";
- while (($FileName = readdir($DirectoryHandle)) !== false)
- {
- if ( !in_array($FileName,$Exclusion))
- $Tree[] = str_replace(".php","",$FileName);
- }
- }
-?>
-
- <table style='border: 2px solid #FFFFFF;'><tr><td>
- <div style='font-size: 11px; padding: 2px; color: #FFFFFF; background-color: #666666; border-bottom: 3px solid #484848;'>&nbsp;Navigation</div>
- <table style='padding: 1px; background-color: #E0E0E0; border: 1px solid #D0D0D0; border-top: 1px solid #FFFFFF;'><tr>
- <td width=16><img src='../resources/application_view_tile.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='../'>Examples</a></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='../sandbox/'>Sandbox</a></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='../delayedLoader/'>Delayed loader</a></td>
- <td width=16><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<b>Image Map</b></td>
- </tr></table>
- </td></tr></table>
-
- <br/>
-
- <table><tr><td valign='top'>
- <table style='border: 2px solid #FFFFFF;'><tr><td>
- <div style='font-size: 11px; padding: 2px; color: #FFFFFF; background-color: #666666; border-bottom: 3px solid #484848; width: 222px;'>&nbsp;Release <?php echo $Version; ?></div>
- <div style='border: 3px solid #D0D0D0; border-top: 1px solid #FFFFFF; background-color: #FAFAFA; width: 220px; overflow: auto'>
- <div style='padding: 1px; padding-bottom: 3px; color: #000000; background-color:#D0D0D0;'>
- <table><tr>
- <td><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;Examples folder contents</td>
- </tr></table>
- </div>
-<?php
- foreach($Tree as $Key => $Element)
- {
- if ( $Key == count($Tree)-1 ) { $Icon = "../resources/dash-explorer-last.png"; } else { $Icon = "../resources/dash-explorer.png"; }
-
- echo "<table noborder cellpadding=0 cellspacing=0>\r\n";
- echo " <tr valign=middle>\r\n";
- echo " <td><img src='".$Icon."' width=16 height=20 alt=''/></td>\r\n";
- echo " <td><img src='../resources/application_view_tile.png' width=16 height=16 alt=''/></td>\r\n";
- echo " <td><div class=folder onclick='showExample(".chr(34).$Element.chr(34).");'>&nbsp;".$Element."</div></td>\r\n";
- echo " </tr>\r\n";
- echo "</table>\r\n";
- }
-?>
-
- </div>
- </td></tr></table>
- </td><td width=20></td><td valign='top' style='padding-top: 5px; font-size: 12px;'>
- <table><tr>
- <td><img src='../resources/chart_bar.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;Rendering area</td>
- </tr></table>
-
- <div style='display:table-cell; padding: 10px; border: 2px solid #FFFFFF; vertical-align: middle; overflow: auto; background-image: url("resources/dash.png");'>
- <div style='font-size: 10px;' id=render>
- <table><tr><td><img src='../resources/accept.png' width=16 height=16 alt=""/></td><td>Click on an example to render it!</td></tr></table>
- </div>
- </div>
-
- <br/><br/>
-
- <table><tr>
- <td><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;HTML Source area</td>
- </tr></table>
-
- <div style='display:table-cell; padding: 10px; border: 2px solid #FFFFFF; vertical-align: middle; overflow: auto; background-image: url("resources/dash.png");'>
- <div id=htmlsource style='width: 700px; font-size: 13px; font-family: Lucida Console'>
-
- &lt;html&gt;<br/>
- &lt;head&gt;<br/>
- &nbsp;&nbsp; &lt;style&gt;<br/>
- &nbsp;&nbsp;&nbsp;&nbsp; div.pChartPicture { border: 0px; }<br/>
- &nbsp;&nbsp; &lt;/style&gt;<br/>
- &lt;/head&gt;<br/>
- &lt;body&gt;<br/>
- &nbsp;&nbsp; &lt;script src="imagemap.js" type="text/javascript"&gt;&lt;/script&gt;<br/>
- &nbsp;&nbsp; &lt;img src="draw.php" id="testPicture" alt="" class="pChartPicture"/&gt;<br/>
- &lt;/body&gt;<br/>
- &lt;script&gt;<br/>
- &nbsp;&nbsp; addImage("testPicture","pictureMap","draw.php?ImageMap=get");<br/>
- &lt;/script&gt;<br/>
-
- </div>
- </div>
-
- <br/><br/>
-
- <table><tr>
- <td><img src='../resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;PHP Source area</td>
- </tr></table>
-
- <div style='display:table-cell; padding: 10px; border: 2px solid #FFFFFF; vertical-align: middle; overflow: auto; background-image: url("resources/dash.png");'>
- <div style='font-size: 10px;' id=source style='width: 700px;'>
- <table><tr><td><img src='../resources/accept.png' width=16 height=16 alt=""/></td><td>Click on an example to get its source!</td></tr></table>
- </div>
- </div>
-
-</td></tr></table>
-</body>
-</html>
-<script>
- function showExample(FileName)
- {
- document.getElementById("render").innerHTML = "<img src='scripts/"+FileName+".php?Seed="+Math.random(100)+"' id='testPicture' alt='' class='pChartPicture'/>";
- viewPHP("scripts/"+FileName+".php");
- // viewHTML("scripts/"+FileName+".php");
-
- addImage('testPicture','pictureMap','scripts/'+FileName+'.php?ImageMap=get');
- }
-
- function viewPHP(URL)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- URL = "index.php?Action=ViewPHP&Script=" + URL;
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { Result = xmlhttp.responseText; document.getElementById("source").innerHTML = Result.replace("/\<BR\>/"); } }
- xmlhttp.send(null)
- }
-
- function viewHTML(URL)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- URL = "index.php?Action=ViewHTML&Script=" + URL;
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { Result = xmlhttp.responseText; document.getElementById("htmlsource").innerHTML = Result.replace("/\<BR\>/"); } }
- xmlhttp.send(null)
- }
-</script>
-<?php
- function writeHTML($Script)
- {
- echo $Script;
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DPie.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DPie.php
deleted file mode 100644
index affabc8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DPie.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pPie.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap2DPieChart",IMAGE_MAP_STORAGE_FILE,"2DPieChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap2DPieChart",IMAGE_MAP_STORAGE_FILE,"2DPieChart","../tmp");
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $Settings = array("RecordImageMap"=>TRUE);
- $PieChart = new pPie($myPicture,$MyData,$Settings);
-
- /* Draw an AA pie chart */
- $PieSettings = array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE,"RecordImageMap"=>TRUE);
- $PieChart->draw2DPie(160,125,$PieSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/2DPieChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DRing.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DRing.php
deleted file mode 100644
index fad3d96..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/2DRing.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pPie.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap2DRingChart",IMAGE_MAP_STORAGE_FILE,"2DRingChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap2DRingChart",IMAGE_MAP_STORAGE_FILE,"2DRingChart","../tmp");
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>50));
-
- /* Create the pPie object */
- $Settings = array("RecordImageMap"=>TRUE);
- $PieChart = new pPie($myPicture,$MyData,$Settings);
-
- /* Draw an AA pie chart */
- $PieSettings = array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE,"RecordImageMap"=>TRUE);
- $PieChart->draw2DRing(160,125,$PieSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/2DRingChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DPie.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DPie.php
deleted file mode 100644
index 695ce20..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DPie.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pPie.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap3DPieChart",IMAGE_MAP_STORAGE_FILE,"3DPieChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap3DPieChart",IMAGE_MAP_STORAGE_FILE,"3DPieChart","../tmp");
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Create the pPie object */
- $Settings = array("RecordImageMap"=>TRUE);
- $PieChart = new pPie($myPicture,$MyData,$Settings);
-
- /* Draw an AA pie chart */
- $PieSettings = array("DrawLabels"=>TRUE,"LabelStacked"=>TRUE,"Border"=>TRUE,"RecordImageMap"=>TRUE);
- $PieChart->draw3DPie(160,150,$PieSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/3DPieChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DRing.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DRing.php
deleted file mode 100644
index 5a255e3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/3DRing.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pPie.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(40,60,15,10,6,4),"ScoreA");
- $MyData->setSerieDescription("ScoreA","Application A");
-
- /* Define the absissa serie */
- $MyData->addPoints(array("<10","10<>20","20<>40","40<>60","60<>80",">80"),"Labels");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,260,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap3DRingChart",IMAGE_MAP_STORAGE_FILE,"3DRingChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap3DRingChart",IMAGE_MAP_STORAGE_FILE,"3DRingChart","../tmp");
-
- /* Draw a solid background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,300,300,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,300,260,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,299,259,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Create the pPie object */
- $Settings = array("RecordImageMap"=>TRUE);
- $PieChart = new pPie($myPicture,$MyData,$Settings);
-
- /* Draw an AA pie chart */
- $PieSettings = array("InnerRadius"=>30,"OuterRadius"=>80,"DrawLabels"=>TRUE,"Border"=>TRUE,"RecordImageMap"=>TRUE);
- $PieChart->draw3DRing(160,150,$PieSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/3DRingChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BarChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BarChart.php
deleted file mode 100644
index 11104ec..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BarChart.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapBarChart",IMAGE_MAP_STORAGE_FILE,"BarChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapBarChart",IMAGE_MAP_STORAGE_FILE,"BarChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $Settings = array("RecordImageMap"=>TRUE);
- $myPicture->drawBarChart($Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/BarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BubbleChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BubbleChart.php
deleted file mode 100644
index c7e18a2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/BubbleChart.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pBubble.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(34,55,15,62,38,42),"Probe1");
- $MyData->addPoints(array(5,30,20,9,15,10),"Probe1Weight");
- $MyData->addPoints(array(5,10,-5,-1,0,-10),"Probe2");
- $MyData->addPoints(array(6,10,14,10,14,6),"Probe2Weight");
- $MyData->setSerieDescription("Probe1","This year");
- $MyData->setSerieDescription("Probe2","Last year");
- $MyData->setAxisName(0,"Current stock");
- $MyData->addPoints(array("Apple","Banana","Orange","Lemon","Peach","Strawberry"),"Product");
- $MyData->setAbscissa("Product");
- $MyData->setAbscissaName("Selected Products");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapBarChart",IMAGE_MAP_STORAGE_FILE,"BarChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapBarChart",IMAGE_MAP_STORAGE_FILE,"BarChart","../tmp");
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Create the Bubble chart object and scale up */
- $myPicture->Antialias = TRUE;
- $myBubbleChart = new pBubble($myPicture,$MyData);
-
- /* Scale up for the bubble chart */
- $bubbleDataSeries = array("Probe1","Probe2");
- $bubbleWeightSeries = array("Probe1Weight","Probe2Weight");
- $myBubbleChart->bubbleScale($bubbleDataSeries,$bubbleWeightSeries);
-
- /* Draw the bubble chart */
- $Settings = array("RecordImageMap"=>TRUE,"ForceAlpha"=>50);
- $myBubbleChart->drawBubbleChart($bubbleDataSeries,$bubbleWeightSeries,$Settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(570,13,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/Bubble Chart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/LineChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/LineChart.php
deleted file mode 100644
index bce48eb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/LineChart.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapLineChart",IMAGE_MAP_STORAGE_FILE,"LineChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapLineChart",IMAGE_MAP_STORAGE_FILE,"LineChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $Settings = array("RecordImageMap"=>TRUE);
- $myPicture->drawLineChart($Settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/LineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PlotChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PlotChart.php
deleted file mode 100644
index 7bbecd5..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PlotChart.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(0,20),"Probe 1"); }
- for($i=0;$i<=20;$i++) { $MyData->addPoints(rand(0,20),"Probe 2"); }
- $MyData->setSerieShape("Probe 1",SERIE_SHAPE_FILLEDTRIANGLE);
- $MyData->setSerieShape("Probe 2",SERIE_SHAPE_FILLEDSQUARE);
- $MyData->setAxisName(0,"Temperatures");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap1",IMAGE_MAP_STORAGE_FILE,"PlotChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap1",IMAGE_MAP_STORAGE_FILE,"PlotChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the line chart */
- $myPicture->drawPlotChart(array("RecordImageMap"=>TRUE));
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/PlotChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PolarChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PolarChart.php
deleted file mode 100644
index d015900..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/PolarChart.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pRadar.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(10,20,30,40,50,60,70,80,90),"ScoreA");
- $MyData->addPoints(array(20,40,50,12,10,30,40,50,60),"ScoreB");
- $MyData->setSerieDescription("ScoreA","Coverage A");
- $MyData->setSerieDescription("ScoreB","Coverage B");
-
- /* Define the absissa serie */
- $MyData->addPoints(array(40,80,120,160,200,240,280,320,360),"Coord");
- $MyData->setAbscissa("Coord");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapPolarChart",IMAGE_MAP_STORAGE_FILE,"PolarChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapPolarChart",IMAGE_MAP_STORAGE_FILE,"PolarChart","../tmp");
-
- /* Draw the background */
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>100));
-
- /* Add a border to the picture */
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,10,290,290);
- $Options = array("RecordImageMap"=>TRUE,"LabelPos"=>RADAR_LABELS_HORIZONTAL,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>50,"EndR"=>32,"EndG"=>109,"EndB"=>174,"EndAlpha"=>30),"AxisRotation"=>0,"DrawPoly"=>TRUE,"PolyAlpha"=>50, "FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6);
- $SplitChart->drawPolar($myPicture,$MyData,$Options);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/PolarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/RadarChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/RadarChart.php
deleted file mode 100644
index 96bc44c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/RadarChart.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pRadar.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(8,4,6,4,2,7),"ScoreA");
- $MyData->addPoints(array(2,7,3,3,1,3),"ScoreB");
- $MyData->setSerieDescription("ScoreA","Application A");
- $MyData->setSerieDescription("ScoreB","Application B");
- $MyData->setPalette("ScoreA",array("R"=>157,"G"=>196,"B"=>22));
-
- /* Define the absissa serie */
- $MyData->addPoints(array("Speed","Weight","Cost","Size","Ease","Utility"),"Families");
- $MyData->setAbscissa("Families");
-
- /* Create the pChart object */
- $myPicture = new pImage(300,300,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapRadarChart",IMAGE_MAP_STORAGE_FILE,"RadarChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapRadarChart",IMAGE_MAP_STORAGE_FILE,"RadarChart","../tmp");
-
- /* Draw the background */
- $myPicture->drawGradientArea(0,0,300,300,DIRECTION_VERTICAL,array("StartR"=>200,"StartG"=>200,"StartB"=>200,"EndR"=>240,"EndG"=>240,"EndB"=>240,"Alpha"=>100));
-
- /* Add a border to the picture */
- $RectangleSettings = array("R"=>180,"G"=>180,"B"=>180,"Alpha"=>100);
- $myPicture->drawRectangle(0,0,299,299,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font properties */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>10,"R"=>80,"G"=>80,"B"=>80));
-
- /* Enable shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>2,"Y"=>2,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the pRadar object */
- $SplitChart = new pRadar();
-
- /* Draw a radar chart */
- $myPicture->setGraphArea(10,10,290,290);
- $Options = array("RecordImageMap"=>TRUE,"DrawPoly"=>TRUE,"WriteValues"=>TRUE,"ValueFontSize"=>8,"Layout"=>RADAR_LAYOUT_CIRCLE,"BackgroundGradient"=>array("StartR"=>255,"StartG"=>255,"StartB"=>255,"StartAlpha"=>100,"EndR"=>207,"EndG"=>227,"EndB"=>125,"EndAlpha"=>50));
- $SplitChart->drawRadar($myPicture,$MyData,$Options);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/RadarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterLineChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterLineChart.php
deleted file mode 100644
index 46adcb5..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterLineChart.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapScatterLineChart",IMAGE_MAP_STORAGE_FILE,"ScatterLineChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapScatterLineChart",IMAGE_MAP_STORAGE_FILE,"ScatterLineChart","../tmp");
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,30,350,330);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterLineChart(array("RecordImageMap"=>TRUE));
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(260,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/ScatterLineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterPlotChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterPlotChart.php
deleted file mode 100644
index 3722608..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterPlotChart.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(cos(deg2rad($i))*20,"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints(sin(deg2rad($i))*20,"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+10) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapScatterPlotChart",IMAGE_MAP_STORAGE_FILE,"ScatterPlotChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapScatterPlotChart",IMAGE_MAP_STORAGE_FILE,"ScatterPlotChart","../tmp");
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,30,350,330);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterPlotChart(array("RecordImageMap"=>TRUE));
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(260,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/ScatterPlotChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterSplineChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterSplineChart.php
deleted file mode 100644
index b47a8dc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/ScatterSplineChart.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pScatter.class.php");
-
- /* Create the pData object */
- $myData = new pData();
-
- /* Create the X axis and the binded series */
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints(rand(1,30),"Probe 1"); }
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints(rand(1,30),"Probe 2"); }
- $myData->setAxisName(0,"Index");
- $myData->setAxisXY(0,AXIS_X);
- $myData->setAxisPosition(0,AXIS_POSITION_BOTTOM);
-
- /* Create the Y axis and the binded series */
- for ($i=0;$i<=360;$i=$i+90) { $myData->addPoints($i,"Probe 3"); }
- $myData->setSerieOnAxis("Probe 3",1);
- $myData->setAxisName(1,"Degree");
- $myData->setAxisXY(1,AXIS_Y);
- $myData->setAxisUnit(1,"°");
- $myData->setAxisPosition(1,AXIS_POSITION_RIGHT);
-
- /* Create the 1st scatter chart binding */
- $myData->setScatterSerie("Probe 1","Probe 3",0);
- $myData->setScatterSerieDescription(0,"This year");
- $myData->setScatterSerieColor(0,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Create the 2nd scatter chart binding */
- $myData->setScatterSerie("Probe 2","Probe 3",1);
- $myData->setScatterSerieDescription(1,"Last Year");
-
- /* Create the pChart object */
- $myPicture = new pImage(400,400,$myData);
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapScatterSplineChart",IMAGE_MAP_STORAGE_FILE,"ScatterSplineChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapScatterSplineChart",IMAGE_MAP_STORAGE_FILE,"ScatterSplineChart","../tmp");
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,400,400,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,400,400,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,399,399,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Set the graph area */
- $myPicture->setGraphArea(50,30,350,330);
-
- /* Create the Scatter chart object */
- $myScatter = new pScatter($myPicture,$myData);
-
- /* Draw the scale */
- $myScatter->drawScatterScale();
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw a scatter plot chart */
- $myScatter->drawScatterSplineChart(array("RecordImageMap"=>TRUE));
- $myScatter->drawScatterPlotChart();
-
- /* Draw the legend */
- $myScatter->drawScatterLegend(260,375,array("Mode"=>LEGEND_HORIZONTAL,"Style"=>LEGEND_NOBORDER));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/ScatterSplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/Shapes.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/Shapes.php
deleted file mode 100644
index 4254070..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/Shapes.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMap1",IMAGE_MAP_STORAGE_FILE,"Shapes","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMap1",IMAGE_MAP_STORAGE_FILE,"Shapes","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"drawFilledRectangle() - Transparency & colors",array("R"=>255,"G"=>255,"B"=>255));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw a customized filled circle */
- $CircleSettings = array("R"=>267,"G"=>165,"B"=>169,"Dash"=>TRUE,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255);
- $myPicture->drawFilledCircle(300,120,50,$CircleSettings);
- $myPicture->addToImageMap("CIRCLE","300,120,50",$myPicture->toHTMLColor(267,165,169),"Circle","My Message");
-
- /* Draw a customized polygon */
- $Plots = array(402,62,460,80,420,190,360,168);
- $PolygonSettings = array("R"=>71,"G"=>87,"B"=>145,"Dash"=>TRUE,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255);
- $myPicture->drawPolygon_0($Plots,$PolygonSettings);
- $myPicture->addToImageMap("POLY","402,62,460,80,420,190,360,168",$myPicture->toHTMLColor(71,87,145),"Polygon","My Message");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>150,"G"=>200,"B"=>170,"Dash"=>TRUE,"DashR"=>170,"DashG"=>220,"DashB"=>190,"BorderR"=>255,"BorderG"=>255,"BorderB"=>255);
- $myPicture->drawFilledRectangle(20,60,210,170,$RectangleSettings);
- $myPicture->addToImageMap("RECT","20,60,210,170",$myPicture->toHTMLColor(150,200,170),"Box 1","Message 1");
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>134,"B"=>27,"Alpha"=>30);
- $myPicture->drawFilledRectangle(30,30,200,200,$RectangleSettings);
- $myPicture->addToImageMap("RECT","30,30,200,200",$myPicture->toHTMLColor(209,134,27),"Box 2","Message 2");
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>31,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledRectangle(480,50,650,80,$RectangleSettings);
- $myPicture->addToImageMap("RECT","480,50,650,80",$myPicture->toHTMLColor(209,31,27),"Box 3","Message 3");
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>125,"B"=>27,"Alpha"=>100,"Surrounding"=>30);
- $myPicture->drawFilledRectangle(480,90,650,120,$RectangleSettings);
- $myPicture->addToImageMap("RECT","480,90,650,120",$myPicture->toHTMLColor(209,125,27),"Box 4","Message 4");
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>209,"G"=>198,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>2);
- $myPicture->drawFilledRectangle(480,130,650,160,$RectangleSettings);
- $myPicture->addToImageMap("RECT","480,130,650,160",$myPicture->toHTMLColor(209,198,27),"Box 5","Message 5");
-
- /* Draw a customized filled rectangle */
- $RectangleSettings = array("R"=>134,"G"=>209,"B"=>27,"Alpha"=>100,"Surrounding"=>30,"Ticks"=>2);
- $myPicture->drawFilledRectangle(480,170,650,200,$RectangleSettings);
- $myPicture->addToImageMap("RECT","480,170,650,200",$myPicture->toHTMLColor(134,209,27),"Box 6","Message 6");
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/Shapes.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/SplineChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/SplineChart.php
deleted file mode 100644
index 359beae..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/SplineChart.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(-4,VOID,VOID,12,8,3),"Probe 1");
- $MyData->addPoints(array(3,12,15,8,5,-5),"Probe 2");
- $MyData->addPoints(array(2,7,5,18,19,22),"Probe 3");
- $MyData->setSerieTicks("Probe 2",4);
- $MyData->setSerieWeight("Probe 3",2);
- $MyData->setAxisName(0,"Temperatures");
- $MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapSplineChart",IMAGE_MAP_STORAGE_FILE,"SplineChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapSplineChart",IMAGE_MAP_STORAGE_FILE,"SplineChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $Settings = array("RecordImageMap"=>TRUE);
- $myPicture->drawSplineChart($Settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/SplineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StackedBarChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StackedBarChart.php
deleted file mode 100644
index fd86ca7..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StackedBarChart.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"Server A");
- $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"Server B");
- $MyData->setAxisName(0,"Hits");
- $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
- $MyData->setSerieDescription("Months","Month");
- $MyData->setAbscissa("Months");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapStackedBarChart",IMAGE_MAP_STORAGE_FILE,"StackedBarChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapStackedBarChart",IMAGE_MAP_STORAGE_FILE,"StackedBarChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("Mode"=>SCALE_MODE_ADDALL,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(580,12,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Draw the chart */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
- $Settings = array("RecordImageMap"=>TRUE);
- $myPicture->drawStackedBarChart($Settings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/StackedBarChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StepChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StepChart.php
deleted file mode 100644
index eadb4df..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StepChart.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(1,2,1,2,1,2,1,2,1,2),"Probe 1");
- $MyData->addPoints(array(-1,-1,0,0,-1,-1,0,0,-1,-1),"Probe 2");
- $MyData->addPoints(array(5,3,5,3,5,3,5,3,5,3),"Probe 3");
- $MyData->setAxisName(0,"Value peak");
- $MyData->addPoints(array("#1","#2","#3","#4","#5","#5","#7","#8","#9","#10"),"Labels");
- $MyData->setSerieDescription("Labels","Months");
- $MyData->setAbscissa("Labels");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapStepChart",IMAGE_MAP_STORAGE_FILE,"StepChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapStepChart",IMAGE_MAP_STORAGE_FILE,"StepChart","../tmp");
-
- /* Turn of Antialiasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
- $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,230,DIRECTION_VERTICAL,$Settings);
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the chart title */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/Forgotte.ttf","FontSize"=>11));
- $myPicture->drawText(150,35,"Measured values",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- /* Set the default font */
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,40,650,200);
-
- /* Draw the scale */
- $scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Turn on Antialiasing */
- $myPicture->Antialias = TRUE;
-
- /* Draw the line chart */
- $Settings = array("RecordImageMap"=>TRUE);
- $myPicture->drawStepChart($Settings);
-
- /* Write the chart legend */
- $myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/LineChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StockChart.php b/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StockChart.php
deleted file mode 100644
index 10379fa..0000000
--- a/notFinishedCode/pChart2.1.2/examples/imageMap/scripts/StockChart.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
- /* Library settings */
- define("CLASS_PATH", "../../../class");
- define("FONT_PATH", "../../../fonts");
-
- /* pChart library inclusions */
- include(CLASS_PATH."/pData.class.php");
- include(CLASS_PATH."/pDraw.class.php");
- include(CLASS_PATH."/pImage.class.php");
- include(CLASS_PATH."/pStock.class.php");
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(35,28,17,27,12,12,20,15,20,28),"Open");
- $MyData->addPoints(array(20,17,25,20,25,23,16,29,26,17),"Close");
- $MyData->addPoints(array(10,11,14,11,9,4,3,7,9,5),"Min");
- $MyData->addPoints(array(37,32,33,29,29,25,22,34,29,31),"Max");
- $MyData->addPoints(array(30,20,21,24,22,18,18,24,22,24),"Median");
- $MyData->setAxisDisplay(0,AXIS_FORMAT_CURRENCY,"$");
-
- $MyData->addPoints(array("Dec 13","Dec 14","Dec 15","Dec 16","Dec 17", "Dec 20","Dec 21","Dec 22","Dec 23","Dec 24"),"Time");
- $MyData->setAbscissa("Time");
- $MyData->setAbscissaName("Time");
-
- /* Create the pChart object */
- $myPicture = new pImage(700,230,$MyData);
-
- /* Retrieve the image map */
- if (isset($_GET["ImageMap"]) || isset($_POST["ImageMap"]))
- $myPicture->dumpImageMap("ImageMapStockChart",IMAGE_MAP_STORAGE_FILE,"StockChart","../tmp");
-
- /* Set the image map name */
- $myPicture->initialiseImageMap("ImageMapStockChart",IMAGE_MAP_STORAGE_FILE,"StockChart","../tmp");
-
- /* Turn of AAliasing */
- $myPicture->Antialias = FALSE;
-
- /* Draw the border */
- $myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
-
- $myPicture->setFontProperties(array("FontName"=>FONT_PATH."/pf_arma_five.ttf","FontSize"=>6));
-
- /* Define the chart area */
- $myPicture->setGraphArea(60,30,650,190);
-
- /* Draw the scale */
- $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
- $myPicture->drawScale($scaleSettings);
-
- /* Create the pStock object */
- $mystockChart = new pStock($myPicture,$MyData);
-
- /* Draw the stock chart */
- $stockSettings = array("RecordImageMap"=>TRUE,"BoxUpR"=>255,"BoxUpG"=>255,"BoxUpB"=>255,"BoxDownR"=>0,"BoxDownG"=>0,"BoxDownB"=>0,"SerieMedian"=>"Median");
- $mystockChart->drawStockChart($stockSettings);
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("../tmp/StockChart.png");
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/index.php b/notFinishedCode/pChart2.1.2/examples/index.php
deleted file mode 100644
index 445d8b9..0000000
--- a/notFinishedCode/pChart2.1.2/examples/index.php
+++ /dev/null
@@ -1,360 +0,0 @@
-<?php if ( isset($_GET["Action"])) { $Script = $_GET["Script"]; highlight_file($Script); exit(); } ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>pChart 2.x - examples rendering</title>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <style>
- body { background-color: #F0F0F0; font-family: tahoma; font-size: 14px; height: 100%; overflow: auto;}
- table { margin: 0px; padding: 0px; border: 0px; }
- tr { margin: 0px; padding: 0px; border: 0px; }
- td { font-family: tahoma; font-size: 11px; margin: 0px; padding: 0px; border: 0px; }
- div.folder { cursor: hand; cursor: pointer; }
- a.smallLinkGrey:link { text-decoration: none; color: #6A6A6A; }
- a.smallLinkGrey:visited { text-decoration: none; color: #6A6A6A; }
- a.smallLinkGrey:hover { text-decoration: underline; color: #6A6A6A; }
- a.smallLinkBlack:link { text-decoration: none; color: #000000; }
- a.smallLinkBlack:visited { text-decoration: none; color: #000000; }
- a.smallLinkBlack:hover { text-decoration: underline; color: #000000; }
- </style>
-</head>
-<?php checkPHPVersion(); ?>
-<body>
-
-<?php
- /* Files that we don't want to see in the tree */
- $Exclusion = array(".","..","index.php","buildAll.cmd","pictures","resources","delayedLoader","sandbox","imageMap");
-
- /* Determine the current package version */
- $FileHandle = fopen("../readme.txt", "r");
- for ($i=0; $i<=5; $i++) { $buffer = fgets($FileHandle, 4096); }
- fclose($FileHandle);
- $Values = preg_split("/:/",$buffer);
- $Values = preg_split("/ /",$Values[1]);
- $Version = strip_tags($Values[1]);
-
- /* Build a list of the examples & categories */
- $DirectoryHandle = opendir(".");
- {
- $Tree = "";
- while (($FileName = readdir($DirectoryHandle)) !== false)
- {
- if ( !in_array($FileName,$Exclusion))
- {
- $FileHandle = fopen($FileName, "r");
- $buffer = fgets($FileHandle, 4096);
- $buffer = fgets($FileHandle, 4096);
- fclose($FileHandle);
-
- if ( preg_match("/CAT:/",$buffer) )
- {
- $Categorie = str_replace(" /* CAT:","",$buffer);
- $Categorie = str_replace("*/","",$Categorie);
- $Categorie = trim($Categorie);
- }
- else
- { $Categorie = "z_root"; }
-
- $FileShortName = str_replace("example.","",$FileName);
- $FileShortName = str_replace(".php","",$FileShortName);
- $FileShortName = trim($FileShortName);
-
- $Tree[$Categorie][]=array("FileName"=>$FileName,"FileShortName"=>$FileShortName);
- }
- }
- closedir($DirectoryHandle);
-
- ksort($Tree);
-?>
-
-<table style='border: 2px solid #FFFFFF;'><tr><td>
-<div style='font-size: 11px; padding: 2px; color: #FFFFFF; background-color: #666666; border-bottom: 3px solid #484848;'>&nbsp;Navigation</div>
-<table style='padding: 1px; background-color: #E0E0E0; border: 1px solid #D0D0D0; border-top: 1px solid #FFFFFF;'><tr>
- <td width=16><img src='resources/application_view_tile.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<b>Examples</b></td>
- <td width=16><img src='resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='sandbox/'>Sandbox</a></td>
- <td width=16><img src='resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='delayedLoader/'>Delayed loader</a></td>
- <td width=16><img src='resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td width=100>&nbsp;<a class=smallLinkGrey href='imageMap/'>Image Map</a></td>
-</tr></table>
-</td></tr></table>
-
-<br/>
-<table><tr><td valign='top'>
-
-<table style='border: 2px solid #FFFFFF;'><tr><td>
-<div style='font-size: 11px; padding: 2px; color: #FFFFFF; background-color: #666666; border-bottom: 3px solid #484848; width: 222px;'>&nbsp;Release <?php echo $Version; ?></div>
-<div style='border: 3px solid #D0D0D0; border-top: 1px solid #FFFFFF; background-color: #FAFAFA; width: 220px; overflow: auto'>
-<div style='padding: 1px; padding-bottom: 3px; color: #000000; background-color:#D0D0D0;'>
- <table><tr>
- <td><img src='resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;Examples folder contents</td>
- </tr></table>
-</div>
-<?php
- $ID = 1; if ( isset($Tree["z_root"]) ) { $ID = 2; }
- foreach($Tree as $Key => $Elements)
- {
- if ( $ID == count($Tree) ) { $Icon = "dash-explorer-last.png"; $SubIcon = "dash-explorer-blank.png"; } else { $Icon = "dash-explorer.png"; $SubIcon = "dash-explorer-noleaf.png"; }
- if ( $Key != "z_root" )
- {
- echo "<table noborder cellpadding=0 cellspacing=0>\r\n";
- echo " <tr valign=middle>\r\n";
- echo " <td><img src='resources/".$Icon."' width=16 height=20 alt=''/></td>\r\n";
- echo " <td><img src='resources/folder.png' width=16 height=16 alt=''/></td>\r\n";
- echo " <td><div class=folder id='".$Key."_main' onclick='showHideMenu(".chr(34).$Key.chr(34).");'>&nbsp;".$Key."</div></td>\r\n";
- echo " </tr>\r\n";
- echo "</table>\r\n";
-
- echo "<table id='".$Key."' style='display: none;' noborder cellpadding=0 cellspacing=0><tr>\r\n";
- foreach($Elements as $SubKey => $Element)
- {
- $FileName = $Element["FileName"];
- $FileShortName = $Element["FileShortName"];
-
- if ( $SubKey == count($Elements)-1 ) { $Icon = "dash-explorer-last.png"; } else { $Icon = "dash-explorer.png"; }
-
- echo " <tr valign=middle>\r\n";
- echo " <td><img src='resources/".$SubIcon."' width=16 height=20 alt=''/></td>\r\n";
- echo " <td><img src='resources/".$Icon."' width=16 height=20 alt=''/></td>\r\n";
- echo " <td><img src='resources/application_view_tile.png' width=16 height=16 alt=''/></td>\r\n";
- echo " <td>&nbsp;<a class=smallLinkGrey href='#' onclick='render(".chr(34).$FileName.chr(34).");'>".$FileShortName."</a></td>\r\n";
- echo " </tr>\r\n";
- }
- echo "</table>\r\n";
-
- }
- $ID++;
- }
- }
-?>
-</div>
-</td></tr></table>
-
-</td><td width=20></td><td valign='top' style='padding-top: 5px; font-size: 12px;'>
-
-<table><tr>
- <td><img src='resources/chart_bar.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;Rendering area</td>
-</tr></table>
-
-<div style='display:table-cell; padding: 10px; border: 2px solid #FFFFFF; vertical-align: middle; overflow: auto; background-image: url("resources/dash.png");'>
- <div style='font-size: 10px;' id=render>
- <table><tr><td><img src='resources/accept.png' width=16 height=16 alt=""/></td><td>Click on an example to render it!</td></tr></table>
- </div>
-</div>
-
-<br/><br/>
-
-<table><tr>
- <td><img src='resources/application_view_list.png' width=16 height=16 alt=''/></td>
- <td>&nbsp;Source area</td>
-</tr></table>
-
-<div style='display:table-cell; padding: 10px; border: 2px solid #FFFFFF; vertical-align: middle; overflow: auto; background-image: url("resources/dash.png");'>
- <div style='font-size: 10px;' id=source style='width: 700px;'>
- <table><tr><td><img src='resources/accept.png' width=16 height=16 alt=""/></td><td>Click on an example to get its source!</td></tr></table>
- </div>
-</div>
-
-</td></tr></table>
-</body>
-<script>
- URL = "";
- SourceURL = "";
- LastOpened = "";
-
- function showHideMenu(Element)
- {
- status = document.getElementById(Element).style.display;
- if ( status == "none" )
- {
- if ( LastOpened != "" && LastOpened != Element ) { showHideMenu(LastOpened); }
-
- document.getElementById(Element).style.display = "inline";
- document.getElementById(Element+"_main").style.fontWeight = "bold";
- LastOpened = Element;
- }
- else
- {
- document.getElementById(Element).style.display = "none";
- document.getElementById(Element+"_main").style.fontWeight = "normal";
- LastOpened = "";
- }
- }
-
- function render(PictureName)
- {
- opacity("render",100,0,100);
-
- RandomKey = Math.random(100);
- URL = PictureName + "?Seed=" + RandomKey;
- SourceURL = PictureName;
-
- ajaxRender(URL);
- }
-
- function StartFade()
- {
- Loader = new Image();
- Loader.src = URL;
- setTimeout("CheckLoadingStatus()", 200);
- }
-
- function CheckLoadingStatus()
- {
- if ( Loader.complete == true )
- {
- changeOpac(0, "render");
- HTMLResult = "<center><img src='" + URL + "' alt=''/></center>";
- document.getElementById("render").innerHTML = HTMLResult;
-
- opacity("render",0,100,100);
- view(SourceURL);
- }
- else
- setTimeout("CheckLoadingStatus()", 200);
- }
-
- function changeOpac(opacity, id)
- {
- var object = document.getElementById(id).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- function wait()
- {
- HTMLResult = "<center><img src='resources/wait.gif' width=24 height=24 alt=''/><br>Rendering</center>";
- document.getElementById("render").innerHTML = HTMLResult;
- changeOpac(20, "render");
- }
-
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- setTimeout("wait()",(timer * speed));
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- }
-
- function ajaxRender(URL)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { StartFade(); } }
- xmlhttp.send(null)
- }
-
- function view(URL)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- URL = "index.php?Action=View&Script=" + URL;
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { Result = xmlhttp.responseText; document.getElementById("source").innerHTML = Result.replace("/\<BR\>/"); } }
- xmlhttp.send(null)
- }
-</script>
-</html>
-<?php
- function checkPHPVersion()
- {
- $PHPVersion = phpversion();
- $Values = preg_split("/\./",$PHPVersion);
- $PHPMajor = $Values[0];
- $PHPMinor = $Values[1];
-
- $GDVersion = NULL;
- if (extension_loaded('gd'))
- {
- if (function_exists('gd_info'))
- {
- $GDVersionInfo = gd_info();
- preg_match('/\d/', $GDVersionInfo['GD Version'], $Match);
- $GDVersion = $Match[0];
- }
- }
-
- if ( $PHPMajor < 4 || $GDVersion < 2 )
- {
-?>
-<body>
- <div style='width: 300px; background-color: #FB8B8E; border: 1px solid #CB5B5E; margin: 10px; font-family: tahoma;'>
- <div style='background-color: #CB5B5E; color: #FFFFFF; padding: 4px; font-family: tahoma; font-size: 11px;'>
- <B>Warning</B>
- </div>
- <div style='padding: 4px; font-family: tahoma; font-size: 11px;' align='justify'>
- It seems that you're not meeting the pChart minimal server requirements:
- <br><br>
- &nbsp;&nbsp;-&nbsp;PHP must be at least <b>4.x</b><br/>
- &nbsp;&nbsp;-&nbsp;GD version <b>2.x</b><br/>
- </div>
- </div>
-</body>
-<html>
-<?php
- exit();
- }
- }
-
- function size($Value)
- {
- if ( $Value < 1024 ) { return($Value." o."); }
- if ( $Value >= 1024 && $Value < 1024000 ) { return(floor($Value/1024)." ko."); }
- return(floor($Value/1024000))." mo.";
- }
-
- function left($value,$NbChar)
- { return substr($value,0,$NbChar); }
-
- function right($value,$NbChar)
- { return substr($value,strlen($value)-$NbChar,$NbChar); }
-
- function mid($value,$Depart,$NbChar)
- { return substr($value,$Depart-1,$NbChar); }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSIDK3.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSIDK3.png
deleted file mode 100644
index 61e72af..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSIDK3.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK.png
deleted file mode 100644
index e153c02..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK1.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK1.png
deleted file mode 100644
index 6063c62..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3.png
deleted file mode 100644
index 4dc38eb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3little.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3little.png
deleted file mode 100644
index 9e0277f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSNOK3little.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK.png
deleted file mode 100644
index de4c7ea..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK1.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK1.png
deleted file mode 100644
index cd449b2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3.png
deleted file mode 100644
index 65c9e63..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3little.png b/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3little.png
deleted file mode 100644
index 0a09af1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/BTSOK3little.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/Help.png b/notFinishedCode/pChart2.1.2/examples/newIcons/Help.png
deleted file mode 100644
index 6664032..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/Help.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/Help1.png b/notFinishedCode/pChart2.1.2/examples/newIcons/Help1.png
deleted file mode 100644
index 53a48d0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/Help1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/NOK.png b/notFinishedCode/pChart2.1.2/examples/newIcons/NOK.png
deleted file mode 100644
index f48d491..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/NOK.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/NOKlittle.png b/notFinishedCode/pChart2.1.2/examples/newIcons/NOKlittle.png
deleted file mode 100644
index 7214de3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/NOKlittle.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/OK.png b/notFinishedCode/pChart2.1.2/examples/newIcons/OK.png
deleted file mode 100644
index b83bd75..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/OK.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/OKlittle.png b/notFinishedCode/pChart2.1.2/examples/newIcons/OKlittle.png
deleted file mode 100644
index 6191dc8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/OKlittle.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/SIPEXT.png b/notFinishedCode/pChart2.1.2/examples/newIcons/SIPEXT.png
deleted file mode 100644
index ca0d290..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/SIPEXT.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/SIPLOC.png b/notFinishedCode/pChart2.1.2/examples/newIcons/SIPLOC.png
deleted file mode 100644
index a494cc7..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/SIPLOC.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/externalCells.png b/notFinishedCode/pChart2.1.2/examples/newIcons/externalCells.png
deleted file mode 100644
index b1235cf..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/externalCells.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/newIcons/landline.png b/notFinishedCode/pChart2.1.2/examples/newIcons/landline.png
deleted file mode 100644
index 1bc593c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/newIcons/landline.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/accept.png b/notFinishedCode/pChart2.1.2/examples/resources/accept.png
deleted file mode 100644
index 89c8129..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/accept.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/application_view_list.png b/notFinishedCode/pChart2.1.2/examples/resources/application_view_list.png
deleted file mode 100644
index acc30b8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/application_view_list.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/application_view_tile.png b/notFinishedCode/pChart2.1.2/examples/resources/application_view_tile.png
deleted file mode 100644
index 3bc0bd3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/application_view_tile.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/blocnote.png b/notFinishedCode/pChart2.1.2/examples/resources/blocnote.png
deleted file mode 100644
index 3ed75d6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/blocnote.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/chart_bar.png b/notFinishedCode/pChart2.1.2/examples/resources/chart_bar.png
deleted file mode 100644
index 9051fbc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/chart_bar.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/chart_line.png b/notFinishedCode/pChart2.1.2/examples/resources/chart_line.png
deleted file mode 100644
index 85020f3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/chart_line.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/computer.gif b/notFinishedCode/pChart2.1.2/examples/resources/computer.gif
deleted file mode 100644
index 197f090..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/computer.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-blank.png b/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-blank.png
deleted file mode 100644
index 602da46..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-blank.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-last.png b/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-last.png
deleted file mode 100644
index 5226fbd..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-last.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-noleaf.png b/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-noleaf.png
deleted file mode 100644
index 159ca3c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer-noleaf.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer.png b/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer.png
deleted file mode 100644
index a3986d3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dash-explorer.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dash.png b/notFinishedCode/pChart2.1.2/examples/resources/dash.png
deleted file mode 100644
index 81cb49c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dash.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/dataset.txt b/notFinishedCode/pChart2.1.2/examples/resources/dataset.txt
deleted file mode 100644
index 6c0bb8f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/dataset.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Hour,Temperature,Humidity
-0,10,40
-1,9,41
-2,8,44
-3,8,42
-4,9,40
-5,9,38
-6,10,39
-7,11,35
-8,12,33
-9,14,32
-10,16,30
-11,18,30
-12,20,30
-13,21,31
-14,22,33
-15,23,34
-16,22,36
-17,20,37
-18,16,38
-19,14,38
-20,12,39
-21,11,40
-22,11,44
-23,10,40 \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/folder.png b/notFinishedCode/pChart2.1.2/examples/resources/folder.png
deleted file mode 100644
index 784e8fa..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/folder.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/hologram.png b/notFinishedCode/pChart2.1.2/examples/resources/hologram.png
deleted file mode 100644
index 2a962d3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/hologram.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/landscape1.jpg b/notFinishedCode/pChart2.1.2/examples/resources/landscape1.jpg
deleted file mode 100644
index 2166d3f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/landscape1.jpg
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/landscape2.jpg b/notFinishedCode/pChart2.1.2/examples/resources/landscape2.jpg
deleted file mode 100644
index 5d416ef..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/landscape2.jpg
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/palette.txt b/notFinishedCode/pChart2.1.2/examples/resources/palette.txt
deleted file mode 100644
index 9081819..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/palette.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-239,210,121,100
-149,203,233,100
-2,71,105,100
-175,215,117,100
-44,87,0,100
-222,157,127,100
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/serie1.png b/notFinishedCode/pChart2.1.2/examples/resources/serie1.png
deleted file mode 100644
index 79f35cc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/serie1.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/serie2.png b/notFinishedCode/pChart2.1.2/examples/resources/serie2.png
deleted file mode 100644
index 7fb4e1f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/serie2.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/resources/wait.gif b/notFinishedCode/pChart2.1.2/examples/resources/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/resources/wait.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/accept.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/accept.png
deleted file mode 100644
index 89c8129..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/accept.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/application_form.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/application_form.png
deleted file mode 100644
index 807b862..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/application_form.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/background.console.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/background.console.png
deleted file mode 100644
index b084354..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/background.console.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar.png
deleted file mode 100644
index 9051fbc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar_edit.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar_edit.png
deleted file mode 100644
index df64d97..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_bar_edit.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_curve.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_curve.png
deleted file mode 100644
index 01e933a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_curve.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_line.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_line.png
deleted file mode 100644
index 85020f3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/chart_line.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/cog.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/cog.png
deleted file mode 100644
index 67de2c6..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/cog.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/color_swatch.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/color_swatch.png
deleted file mode 100644
index 6e6e852..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/color_swatch.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/comment.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/comment.png
deleted file mode 100644
index 7bc9233..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/comment.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/database_table.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/database_table.png
deleted file mode 100644
index 693709c..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/database_table.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/layout_edit.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/layout_edit.png
deleted file mode 100644
index ab3100b..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/layout_edit.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/page_edit.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/page_edit.png
deleted file mode 100644
index 046811e..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/page_edit.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/paintcan.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/paintcan.png
deleted file mode 100644
index f82a886..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/paintcan.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/shape_flip_vertical.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/shape_flip_vertical.png
deleted file mode 100644
index 0bd66d1..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/shape_flip_vertical.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/tab.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/tab.png
deleted file mode 100644
index 3d8207f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/tab.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/vector.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/vector.png
deleted file mode 100644
index a1291c2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/vector.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wait.gif b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wait.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wand.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wand.png
deleted file mode 100644
index 44ccbf8..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wand.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wrench.png b/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wrench.png
deleted file mode 100644
index 5c8213f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/graphix/wrench.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/arrow.gif b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/arrow.gif
deleted file mode 100644
index 246478a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/arrow.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/constants.txt b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/constants.txt
deleted file mode 100644
index e1451a2..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/constants.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-0.12345,VOID
-680001,AXIS_FORMAT_DEFAULT
-680002,AXIS_FORMAT_TIME
-680003,AXIS_FORMAT_DATE
-680004,AXIS_FORMAT_METRIC
-680005,AXIS_FORMAT_CURRENCY
-681001,AXIS_POSITION_LEFT
-681002,AXIS_POSITION_RIGHT
-682001,AXIS_X
-682002,AXIS_Y
-690001,DIRECTION_VERTICAL
-690002,DIRECTION_HORIZONTAL
-690101,SCALE_POS_LEFTRIGHT
-690102,SCALE_POS_TOPBOTTOM
-690201,SCALE_MODE_FLOATING
-690202,SCALE_MODE_START0
-690203,SCALE_MODE_ADDALL
-690204,SCALE_MODE_ADDALL_START0
-690301,SCALE_SKIP_NONE
-690302,SCALE_SKIP_SAME
-690303,SCALE_SKIP_NUMBERS
-690401,TEXT_ALIGN_TOPLEFT
-690402,TEXT_ALIGN_TOPMIDDLE
-690403,TEXT_ALIGN_TOPRIGHT
-690404,TEXT_ALIGN_MIDDLELEFT
-690405,TEXT_ALIGN_MIDDLEMIDDLE
-690406,TEXT_ALIGN_MIDDLERIGHT
-690407,TEXT_ALIGN_BOTTOMLEFT
-690408,TEXT_ALIGN_BOTTOMMIDDLE
-690409,TEXT_ALIGN_BOTTOMRIGHT
-690501,POSITION_TOP
-690502,POSITION_BOTTOM
-690601,LABEL_POS_LEFT
-690602,LABEL_POS_CENTER
-690603,LABEL_POS_RIGHT
-690604,LABEL_POS_TOP
-690605,LABEL_POS_BOTTOM
-690606,LABEL_POS_INSIDE
-690607,LABEL_POS_OUTSIDE
-690701,ORIENTATION_HORIZONTAL
-690702,ORIENTATION_VERTICAL
-690800,LEGEND_NOBORDER
-690801,LEGEND_BOX
-690802,LEGEND_ROUND
-690901,LEGEND_VERTICAL
-690902,LEGEND_HORIZONTAL
-691051,LEGEND_FAMILY_BOX
-691052,LEGEND_FAMILY_CIRCLE
-691053,LEGEND_FAMILY_LINE
-691001,DISPLAY_AUTO
-691002,DISPLAY_MANUAL
-691011,LABELING_ALL
-691012,LABELING_DIFFERENT
-691021,BOUND_MIN
-691022,BOUND_MAX
-691023,BOUND_BOTH
-691031,BOUND_LABEL_POS_TOP
-691032,BOUND_LABEL_POS_BOTTOM
-691033,BOUND_LABEL_POS_AUTO
-691041,CAPTION_LEFT_TOP
-691042,CAPTION_RIGHT_BOTTOM \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/cross.gif b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/cross.gif
deleted file mode 100644
index 0ee9c7a..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/cross.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/functions.js b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/functions.js
deleted file mode 100644
index 5eaf763..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/functions.js
+++ /dev/null
@@ -1,656 +0,0 @@
- /*
- functions.js - Sandbox JS
-
- Version : 1.1.0
- Made by : Jean-Damien POGOLOTTI
- Last Update : 18/01/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- Action = "Render";
-
- function toggleAuto()
- {
- if ( document.getElementById("g_autopos").checked ) { Automatic = true; } else { Automatic = false; }
- }
-
- function doLayout()
- {
- if ( !Automatic ) { return(0); }
-
- g_width = document.getElementById("g_width").value;
- g_height = document.getElementById("g_height").value;
-
- document.getElementById("g_title_x").value = g_width/2;
-
- checkEnabledAxis();
- }
-
- /* Apply curvy corners */
- function applyCorners()
- {
- settings = {tl: { radius: 10 },tr: { radius: 10 },bl: { radius: 10 },br: { radius: 10 },antiAlias: true,autoPad: true,validTags: ["div"]}
- var myBoxObject = new curvyCorners(settings, "roundedCorner");
- myBoxObject.applyCornersToAll();
- }
-
- /* Set or remove the focus */
- function setFocus(Object,Mode)
- {
- if (Mode == true)
- { Object.style.borderColor = "#808080"; }
- else
- { Object.style.borderColor = "#D0D0D0"; }
- }
-
- function highlightDIV(ID)
- {
- if ( ID == CurrentDiv ) { return(0); }
- document.getElementById("menu"+ID).style.backgroundColor = "#F4F4F4";
- }
-
- function clearDIV(ID)
- {
- if ( ID == CurrentDiv ) { return(0); }
- document.getElementById("menu"+ID).style.backgroundColor = "#EAEAEA";
- }
-
- function toggleDIV(ID)
- {
- /* reset the tab styles */
- for (i=1;i<=6;i++)
- { if ( i != ID ) { document.getElementById("menu"+i).style.backgroundColor = "#EAEAEA"; document.getElementById("menu"+i).style.borderColor = "#FEFEFE"; } }
-
- /* hide the curently displayed tab */
- if ( CurrentDiv != ID ) { document.getElementById("tab"+CurrentDiv).style.display = "none"; }
-
- document.getElementById("tab"+ID).style.display = "block";
-
- CurrentDiv = ID;
- document.getElementById("menu"+ID).style.backgroundColor = "#D0D0D0";
- document.getElementById("menu"+ID).style.borderColor = "#B0B0B0";
- }
-
- function render()
- {
- Action = "Render";
- saveToSession();
- }
-
- function code()
- {
- Action = "Code";
- saveToSession();
- }
-
- function saveToSession()
- {
- saveGeneral();
- }
-
- function saveGeneral()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Saving configuration (General)";
-
- g_width = document.getElementById("g_width").value;
- g_height = document.getElementById("g_height").value;
- g_border = document.getElementById("g_border").checked;
- g_aa = document.getElementById("g_aa").checked;
- g_shadow = document.getElementById("g_shadow").checked;
- g_transparent = document.getElementById("g_transparent").checked;
- g_autopos = document.getElementById("g_autopos").checked;
-
- g_title_enabled = document.getElementById("g_title_enabled").checked;
- g_title = document.getElementById("g_title").value;
- g_title_align = document.getElementById("g_title_align").options[document.getElementById("g_title_align").selectedIndex].value;
- g_title_x = document.getElementById("g_title_x").value;
- g_title_y = document.getElementById("g_title_y").value;
- g_title_color = document.getElementById("g_title_color").value;
- g_title_font = document.getElementById("g_title_font").options[document.getElementById("g_title_font").selectedIndex].value;
- g_title_font_size = document.getElementById("g_title_font_size").value;
- g_title_box = document.getElementById("g_title_box").checked;
-
- g_solid_enabled = document.getElementById("g_solid_enabled").checked;
- g_solid_color = document.getElementById("g_solid_color").value;
- g_solid_dashed = document.getElementById("g_solid_dashed").checked;
-
- g_gradient_enabled = document.getElementById("g_gradient_enabled").checked;
- g_gradient_start = document.getElementById("g_gradient_start").value;
- g_gradient_end = document.getElementById("g_gradient_end").value;
- g_gradient_direction = document.getElementById("g_gradient_direction").options[document.getElementById("g_gradient_direction").selectedIndex].value;
- g_gradient_alpha = document.getElementById("g_gradient_alpha").value;
-
- var reg=new RegExp("(#)", "g");
- g_title_color = g_title_color.replace(reg,"");
- g_solid_color = g_solid_color.replace(reg,"");
- g_gradient_start = g_gradient_start.replace(reg,"");
- g_gradient_end = g_gradient_end.replace(reg,"");
-
- URL = "script/session.php?g_width="+g_width+"&g_height="+g_height+"&g_border="+g_border+"&g_aa="+g_aa+"&g_shadow="+g_shadow+"&g_autopos="+g_autopos
- +"&g_title_enabled="+g_title_enabled+"&g_title="+g_title+"&g_title_align="+g_title_align+"&g_title_x="+g_title_x
- +"&g_title_y="+g_title_y+"&g_title_color="+g_title_color+"&g_title_font="+g_title_font+"&g_title_font_size="+g_title_font_size+"&g_title_box="+g_title_box
- +"&g_solid_enabled="+g_solid_enabled+"&g_solid_color="+g_solid_color+"&g_solid_dashed="+g_solid_dashed
- +"&g_gradient_enabled="+g_gradient_enabled+"&g_gradient_start="+g_gradient_start+"&g_gradient_end="+g_gradient_end
- +"&g_gradient_direction="+g_gradient_direction+"&g_gradient_alpha="+g_gradient_alpha+"&g_transparent="+g_transparent
- +"&Seed="+Math.random(100);
-
- push(URL,1);
- }
-
- function saveData()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Saving configuration (Data)";
-
- d_serie1_enabled = document.getElementById("d_serie1_enabled").checked;
- d_serie2_enabled = document.getElementById("d_serie2_enabled").checked;
- d_serie3_enabled = document.getElementById("d_serie3_enabled").checked;
- d_absissa_enabled = document.getElementById("d_absissa_enabled").checked;
-
- d_serie1_name = document.getElementById("d_serie1_name").value;
- d_serie2_name = document.getElementById("d_serie2_name").value;
- d_serie3_name = document.getElementById("d_serie3_name").value;
-
- d_serie1_axis = document.getElementById("d_serie1_axis").options[document.getElementById("d_serie1_axis").selectedIndex].value;
- d_serie2_axis = document.getElementById("d_serie2_axis").options[document.getElementById("d_serie2_axis").selectedIndex].value;
- d_serie3_axis = document.getElementById("d_serie3_axis").options[document.getElementById("d_serie3_axis").selectedIndex].value;
-
- data0 = ""; data1 = ""; data2 = ""; absissa = "";
- for(i=0;i<8;i++)
- {
- data0 = data0 + "!" + document.getElementById("d_serie1_data"+i).value;
- data1 = data1 + "!" + document.getElementById("d_serie2_data"+i).value;
- data2 = data2 + "!" + document.getElementById("d_serie3_data"+i).value;
- absissa = absissa + "!" + document.getElementById("d_absissa_data"+i).value;
- }
-
- d_normalize_enabled = document.getElementById("d_normalize_enabled").checked;
-
- d_axis0_name = document.getElementById("d_axis0_name").value;
- d_axis1_name = document.getElementById("d_axis1_name").value;
- d_axis2_name = document.getElementById("d_axis2_name").value;
-
- d_axis0_unit = document.getElementById("d_axis0_unit").value;
- d_axis1_unit = document.getElementById("d_axis1_unit").value;
- d_axis2_unit = document.getElementById("d_axis2_unit").value;
-
- d_axis0_position = document.getElementById("d_axis0_position").options[document.getElementById("d_axis0_position").selectedIndex].value;
- d_axis1_position = document.getElementById("d_axis1_position").options[document.getElementById("d_axis1_position").selectedIndex].value;
- d_axis2_position = document.getElementById("d_axis2_position").options[document.getElementById("d_axis2_position").selectedIndex].value;
-
- d_axis0_format = document.getElementById("d_axis0_format").options[document.getElementById("d_axis0_format").selectedIndex].value;
- d_axis1_format = document.getElementById("d_axis1_format").options[document.getElementById("d_axis1_format").selectedIndex].value;
- d_axis2_format = document.getElementById("d_axis2_format").options[document.getElementById("d_axis2_format").selectedIndex].value;
-
- URL = "script/session.php?d_serie1_enabled="+d_serie1_enabled+"&d_serie2_enabled="+d_serie2_enabled+"&d_serie3_enabled="+d_serie3_enabled
- +"&d_absissa_enabled="+d_absissa_enabled+"&d_serie1_axis="+d_serie1_axis+"&d_serie2_axis="+d_serie2_axis+"&d_serie3_axis="+d_serie3_axis
- +"&data0="+data0+"&data1="+data1+"&data2="+data2+"&absissa="+absissa+"&d_axis0_name="+d_axis0_name+"&d_axis1_name="+d_axis1_name
- +"&d_axis2_name="+d_axis2_name+"&d_axis0_unit="+d_axis0_unit+"&d_axis1_unit="+d_axis1_unit+"&d_axis2_unit="+d_axis2_unit
- +"&d_axis0_position="+d_axis0_position+"&d_axis1_position="+d_axis1_position+"&d_axis2_position="+d_axis2_position
- +"&d_normalize_enabled="+d_normalize_enabled+"&d_serie1_name="+d_serie1_name+"&d_serie2_name="+d_serie2_name+"&d_serie3_name="+d_serie3_name
- +"&d_axis0_format="+d_axis0_format+"&d_axis1_format="+d_axis1_format+"&d_axis2_format="+d_axis2_format;
-
- push(URL,2);
- }
-
- function saveScale()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Saving configuration (Scale)";
-
- s_x = document.getElementById("s_x").value;
- s_y = document.getElementById("s_y").value;
- s_width = document.getElementById("s_width").value;
- s_height = document.getElementById("s_height").value;
- s_direction = document.getElementById("s_direction").options[document.getElementById("s_direction").selectedIndex].value;
- s_arrows_enabled = document.getElementById("s_arrows_enabled").checked;
- s_mode = document.getElementById("s_mode").options[document.getElementById("s_mode").selectedIndex].value;
- s_cycle_enabled = document.getElementById("s_cycle_enabled").checked;
- s_x_margin = document.getElementById("s_x_margin").value;
- s_y_margin = document.getElementById("s_y_margin").value;
- s_automargin_enabled = document.getElementById("s_automargin_enabled").checked;
- s_font = document.getElementById("s_font").options[document.getElementById("s_font").selectedIndex].value;
- s_font_size = document.getElementById("s_font_size").value;
- s_font_color = document.getElementById("s_font_color").value;
-
- s_x_labeling = document.getElementById("s_x_labeling").options[document.getElementById("s_x_labeling").selectedIndex].value;
- s_x_skip = document.getElementById("s_x_skip").value;
- s_x_label_rotation = document.getElementById("s_x_label_rotation").value;
-
- s_grid_color = document.getElementById("s_grid_color").value;
- s_grid_alpha = document.getElementById("s_grid_alpha").value;
- s_grid_x_enabled = document.getElementById("s_grid_x_enabled").checked;
- s_grid_y_enabled = document.getElementById("s_grid_y_enabled").checked;
-
- s_ticks_color = document.getElementById("s_ticks_color").value;
- s_ticks_alpha = document.getElementById("s_ticks_alpha").value;
- s_subticks_color = document.getElementById("s_subticks_color").value;
- s_subticks_alpha = document.getElementById("s_subticks_alpha").value;
- s_subticks_enabled = document.getElementById("s_subticks_enabled").checked;
-
- URL = "script/session.php?s_x="+s_x+"&s_y="+s_y+"&s_width="+s_width+"&s_height="+s_height+"&s_direction="+s_direction
- +"&s_arrows_enabled="+s_arrows_enabled+"&s_mode="+s_mode+"&s_cycle_enabled="+s_cycle_enabled+"&s_x_margin="+s_x_margin
- +"&s_y_margin="+s_y_margin+"&s_automargin_enabled="+s_automargin_enabled+"&s_x_labeling="+s_x_labeling+"&s_x_skip="+s_x_skip
- +"&s_x_label_rotation="+s_x_label_rotation+"&s_grid_color="+s_grid_color+"&s_grid_alpha="+s_grid_alpha+"&s_grid_x_enabled="+s_grid_x_enabled
- +"&s_grid_y_enabled="+s_grid_y_enabled+"&s_ticks_color="+s_ticks_color+"&s_ticks_alpha="+s_ticks_alpha+"&s_subticks_color="+s_subticks_color
- +"&s_subticks_alpha="+s_subticks_alpha+"&s_subticks_enabled="+s_subticks_enabled+"&s_font="+s_font+"&s_font_size="+s_font_size
- +"&s_font_color="+s_font_color+"&Seed="+Math.random(100);
-
- push(URL,3);
- }
-
- function saveChart()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Saving configuration (Chart)";
-
- c_family = document.getElementById("c_family").options[document.getElementById("c_family").selectedIndex].value;
- c_display_values = document.getElementById("c_display_values").checked;
- c_break_color = document.getElementById("c_break_color").value;
- c_break = document.getElementById("c_break").checked;
-
- c_plot_size = document.getElementById("c_plot_size").value;
- c_border_size = document.getElementById("c_border_size").value;
- c_border_enabled = document.getElementById("c_border_enabled").checked;
-
- c_bar_classic = document.getElementById("c_bar_classic").checked;
- c_bar_rounded = document.getElementById("c_bar_rounded").checked;
- c_bar_gradient = document.getElementById("c_bar_gradient").checked;
- c_around_zero1 = document.getElementById("c_around_zero1").checked;
-
- c_transparency = document.getElementById("c_transparency").value;
- c_forced_transparency = document.getElementById("c_forced_transparency").checked;
- c_around_zero2 = document.getElementById("c_around_zero2").checked;
-
- URL = "script/session.php?c_family="+c_family+"&c_display_values="+c_display_values+"&c_plot_size="+c_plot_size+"&c_border_size="+c_border_size+"&c_border_enabled="+c_border_enabled
- +"&c_bar_classic="+c_bar_classic+"&c_bar_rounded="+c_bar_rounded+"&c_bar_gradient="+c_bar_gradient+"&c_around_zero1="+c_around_zero1
- +"&c_transparency="+c_transparency+"&c_forced_transparency="+c_forced_transparency+"&c_around_zero2="+c_around_zero2
- +"&c_break="+c_break+"&c_break_color="+c_break_color;
-
- push(URL,4);
- }
-
- function saveLegend()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Saving configuration (Legend and Thresholds)";
-
- l_enabled = document.getElementById("l_enabled").checked;
-
- l_font = document.getElementById("l_font").options[document.getElementById("l_font").selectedIndex].value;
- l_font_size = document.getElementById("l_font_size").value;
- l_font_color = document.getElementById("l_font_color").value;
-
- l_margin = document.getElementById("l_margin").value;
- l_alpha = document.getElementById("l_alpha").value;
- l_format = document.getElementById("l_format").options[document.getElementById("l_format").selectedIndex].value;
-
- l_orientation = document.getElementById("l_orientation").options[document.getElementById("l_orientation").selectedIndex].value;
- l_box_size = document.getElementById("l_box_size").value;
-
- l_position = document.getElementById("l_position").options[document.getElementById("l_position").selectedIndex].value;
- l_x = document.getElementById("l_x").value;
- l_y = document.getElementById("l_y").value;
-
- l_family = document.getElementById("l_family").options[document.getElementById("l_family").selectedIndex].value;
-
- t_enabled = document.getElementById("t_enabled").checked;
-
- t_value = document.getElementById("t_value").value;
- t_axis0 = document.getElementById("t_axis0").checked;
- t_axis1 = document.getElementById("t_axis1").checked;
- t_axis2 = document.getElementById("t_axis2").checked;
-
- t_color = document.getElementById("t_color").value;
- t_alpha = document.getElementById("t_alpha").value;
- t_ticks = document.getElementById("t_ticks").checked;
-
- t_caption = document.getElementById("t_caption").value;
- t_box = document.getElementById("t_box").checked;
- t_caption_enabled = document.getElementById("t_caption_enabled").checked;
-
- sl_enabled = document.getElementById("sl_enabled").checked;
- sl_shaded = document.getElementById("sl_shaded").checked;
- sl_caption_enabled = document.getElementById("sl_caption_enabled").checked;
- sl_caption_line = document.getElementById("sl_caption_line").checked;
-
- p_template = document.getElementById("p_template").options[document.getElementById("p_template").selectedIndex].value;
-
- if ( t_axis0 ) { t_axis = 0; }
- if ( t_axis1 ) { t_axis = 1; }
- if ( t_axis2 ) { t_axis = 2; }
-
- URL = "script/session.php?l_enabled="+l_enabled+"&l_font="+l_font+"&l_font_size="+l_font_size+"&l_font_color="+l_font_color
- +"&l_margin="+l_margin+"&l_alpha="+l_alpha+"&l_format="+l_format+"&l_orientation="+l_orientation+"&l_box_size="+l_box_size
- +"&t_enabled="+t_enabled+"&t_value="+t_value+"&t_axis="+t_axis+"&t_color="+t_color+"&t_alpha="+t_alpha+"&t_ticks="+t_ticks
- +"&t_caption="+t_caption+"&t_box="+t_box+"&t_caption_enabled="+t_caption_enabled+"&l_position="+l_position+"&l_x="+l_x+"&l_y="+l_y
- +"&p_template="+p_template+"&l_family="+l_family+"&sl_enabled="+sl_enabled+"&sl_shaded="+sl_shaded+"&sl_caption_enabled="+sl_caption_enabled
- +"&sl_caption_line="+sl_caption_line;
-
- push(URL,5);
- }
-
- function randomize()
- {
- for(i=0;i<8;i++)
- {
- document.getElementById("d_serie1_data"+i).value = Math.ceil(Math.random()*100-50);
- document.getElementById("d_serie2_data"+i).value = Math.ceil(Math.random()*100-50);
- document.getElementById("d_serie3_data"+i).value = Math.ceil(Math.random()*100-50);
- }
- }
-
- function setColors()
- {
- applyColor("g_title_color","g_title_color_show");
- applyColor("g_solid_color","g_solid_color_show");
- applyColor("g_gradient_start","g_gradient_start_show");
- applyColor("g_gradient_end","g_gradient_end_show");
- applyColor("s_font_color","s_font_color_show");
- applyColor("s_grid_color","s_grid_color_show");
- applyColor("s_ticks_color","s_ticks_color_show");
- applyColor("s_subticks_color","s_subticks_color_show");
- applyColor("l_font_color","l_font_color_show");
- applyColor("t_color","t_color_show");
- applyColor("c_break_color","c_break_color_show");
- }
-
- function applyColor(SourceID,TargetID)
- {
- color = document.getElementById(SourceID).value;
- color = color.replace("#","");
- document.getElementById(TargetID).style.backgroundColor = "#"+color;
- }
-
- function checkChartSettings()
- {
- ChartFamily = document.getElementById("c_family").options[document.getElementById("c_family").selectedIndex].value;
-
- disableItem("c_plot_size"); disableItem("c_border_size"); disableCheck("c_border_enabled");
- disableRadio("c_bar_classic"); disableRadio("c_bar_rounded"); disableRadio("c_bar_gradient"); disableCheck("c_around_zero1");
- disableItem("c_transparency"); disableCheck("c_forced_transparency"); disableCheck("c_around_zero2");
-
- if ( ChartFamily == "plot" )
- { enableItem("c_plot_size"); enableItem("c_border_size"); enableCheck("c_border_enabled"); checkPlotBorder(); }
-
- if ( ChartFamily == "bar" || ChartFamily == "sbar" )
- { enableRadio("c_bar_classic"); enableRadio("c_bar_rounded"); enableRadio("c_bar_gradient"); enableCheck("c_around_zero1"); }
-
- if ( ChartFamily == "fspline" || ChartFamily == "area" || ChartFamily == "sarea" || ChartFamily == "fstep" )
- { enableItem("c_transparency"); enableCheck("c_forced_transparency"); enableCheck("c_around_zero2"); checkAreaChart(); }
-
- if ( Automatic )
- {
- if ( ChartFamily == "sbar" || ChartFamily == "sarea" )
- document.getElementById("s_mode").value = "SCALE_MODE_ADDALL";
- else
- document.getElementById("s_mode").value = "SCALE_MODE_FLOATING";
- }
- }
-
- function checkLegend()
- {
- l_position = document.getElementById("l_position").options[document.getElementById("l_position").selectedIndex].value;
-
- if ( l_position == "Manual" )
- { enableItem("l_x"); enableItem("l_y"); }
- else
- { disableItem("l_x"); disableItem("l_y"); }
- }
-
- function checkPlotBorder()
- {
- borderEnabled = document.getElementById("c_border_enabled").checked;
- if ( borderEnabled ) { enableItem("c_border_size"); } else { disableItem("c_border_size"); }
- }
-
- function checkAreaChart()
- {
- c_forced_transparency = document.getElementById("c_forced_transparency").checked;
- if ( c_forced_transparency ) { enableItem("c_transparency"); } else { disableItem("c_transparency"); }
- }
-
- function toggleSubTicks()
- {
- if ( !document.getElementById("s_subticks_enabled").checked )
- { disableItem("s_subticks_color"); disableItem("s_subticks_alpha"); }
- else
- { enableItem("s_subticks_color"); enableItem("s_subticks_alpha"); }
- }
-
- function toggleAutoMargins()
- {
- if ( document.getElementById("s_automargin_enabled").checked )
- { disableItem("s_x_margin"); disableItem("s_y_margin"); }
- else
- { enableItem("s_x_margin"); enableItem("s_y_margin"); }
- }
-
- function checkEnabledAxis()
- {
- Serie1Enabled = document.getElementById("d_serie1_enabled").checked;
- Serie2Enabled = document.getElementById("d_serie2_enabled").checked;
- Serie3Enabled = document.getElementById("d_serie3_enabled").checked;
- Serie1Binding = document.getElementById("d_serie1_axis").options[document.getElementById("d_serie1_axis").selectedIndex].value;
- Serie2Binding = document.getElementById("d_serie2_axis").options[document.getElementById("d_serie2_axis").selectedIndex].value;
- Serie3Binding = document.getElementById("d_serie3_axis").options[document.getElementById("d_serie3_axis").selectedIndex].value;
-
- Series = 0;
- if ( Serie1Enabled ) { Series++; }
- if ( Serie2Enabled ) { Series++; }
- if ( Serie3Enabled ) { Series++; }
-
- if ( (Serie1Binding != 0 || !Serie1Enabled) && (Serie2Binding != 0 || !Serie2Enabled) && (Serie3Binding != 0 || !Serie3Enabled) )
- { disableItem("d_axis0_name"); disableItem("d_axis0_unit"); disableItem("d_axis0_position"); disableItem("d_axis0_format"); }
- else
- { enableItem("d_axis0_name"); enableItem("d_axis0_unit"); enableItem("d_axis0_position"); enableItem("d_axis0_format"); }
-
- if ( (Serie1Binding != 1 || !Serie1Enabled) && (Serie2Binding != 1 || !Serie2Enabled) && (Serie3Binding != 1 || !Serie3Enabled) )
- { disableItem("d_axis1_name"); disableItem("d_axis1_unit"); disableItem("d_axis1_position"); disableItem("d_axis1_format"); }
- else
- { enableItem("d_axis1_name"); enableItem("d_axis1_unit"); enableItem("d_axis1_position"); enableItem("d_axis1_format"); }
-
- if ( (Serie1Binding != 2 || !Serie1Enabled) && (Serie2Binding != 2 || !Serie2Enabled) && (Serie3Binding != 2 || !Serie3Enabled) )
- { disableItem("d_axis2_name"); disableItem("d_axis2_unit"); disableItem("d_axis2_position"); disableItem("d_axis2_format"); }
- else
- { enableItem("d_axis2_name"); enableItem("d_axis2_unit"); enableItem("d_axis2_position"); enableItem("d_axis2_format"); }
-
- if ( Automatic )
- {
- sl_enabled = document.getElementById("sl_enabled").checked;
- g_width = document.getElementById("g_width").value;
- g_height = document.getElementById("g_height").value;
- s_direction = document.getElementById("s_direction").options[document.getElementById("s_direction").selectedIndex].value;
-
- leftSeries = 0; rightSeries = 0;
-
- if ( !document.getElementById("d_axis0_position").disabled && document.getElementById("d_axis0_position").options[document.getElementById("d_axis0_position").selectedIndex].value == "left" ) { leftSeries++; }
- if ( !document.getElementById("d_axis0_position").disabled && document.getElementById("d_axis0_position").options[document.getElementById("d_axis0_position").selectedIndex].value == "right" ) { rightSeries++; }
- if ( !document.getElementById("d_axis1_position").disabled && document.getElementById("d_axis1_position").options[document.getElementById("d_axis1_position").selectedIndex].value == "left" ) { leftSeries++; }
- if ( !document.getElementById("d_axis1_position").disabled && document.getElementById("d_axis1_position").options[document.getElementById("d_axis1_position").selectedIndex].value == "right" ) { rightSeries++; }
- if ( !document.getElementById("d_axis2_position").disabled && document.getElementById("d_axis2_position").options[document.getElementById("d_axis2_position").selectedIndex].value == "left" ) { leftSeries++; }
- if ( !document.getElementById("d_axis2_position").disabled && document.getElementById("d_axis2_position").options[document.getElementById("d_axis2_position").selectedIndex].value == "right" ) { rightSeries++; }
-
- if ( s_direction == "SCALE_POS_LEFTRIGHT" )
- {
- if ( leftSeries == 0 ) { leftOffset = 20; } else { leftOffset = 10; }
- if ( rightSeries == 0 ) { rightOffset = 25; } else { rightOffset = 15; }
-
- leftMargin = leftOffset + 40 * leftSeries;
- width = g_width - leftMargin - 40 * rightSeries - rightOffset;
-
- if ( sl_enabled ) { BottomOffset = Series*15; } else { BottomOffset = 0; }
-
- document.getElementById("s_x").value = leftMargin;
- document.getElementById("s_y").value = 50;
- document.getElementById("s_width").value = width;
- document.getElementById("s_height").value = g_height - 50 - 40 - BottomOffset;
- }
- else
- {
- if ( leftSeries == 0 ) { topOffset = 40; } else { topOffset = 40; }
- if ( rightSeries == 0 ) { bottomOffset = 25; } else { bottomOffset = 15; }
-
- topMargin = topOffset + 30 * leftSeries;
- height = g_height - topMargin - 30 * rightSeries - bottomOffset;
-
- if ( sl_enabled ) { RightOffset = Series*15; } else { RightBottomOffset = 0; }
-
- document.getElementById("s_x").value = 70;
- document.getElementById("s_y").value = topMargin;
- document.getElementById("s_width").value = g_width - 70 - 40 - RightOffset;
- document.getElementById("s_height").value = height;
- }
- }
- }
-
- function disableItem(ID)
- {
- document.getElementById(ID).style.backgroundColor = "#E0E0E0";
- document.getElementById(ID).style.color = "#A0A0A0";
- document.getElementById(ID).disabled = true;
- }
-
- function disableCheck(ID)
- {
- document.getElementById(ID).style.color = "#A0A0A0";
- document.getElementById(ID).disabled = true;
- }
-
- function disableRadio(ID)
- {
- document.getElementById(ID).disabled = true;
- }
-
- function enableItem(ID)
- {
- document.getElementById(ID).style.backgroundColor = "#FFFFFF";
- document.getElementById(ID).style.color = "#707070";
- document.getElementById(ID).disabled = false;
- }
-
- function enableCheck(ID)
- {
- document.getElementById(ID).style.color = "#707070";
- document.getElementById(ID).disabled = false;
- }
-
- function enableRadio(ID)
- {
- document.getElementById(ID).disabled = false;
- }
-
- function setDefaultAbsissa()
- {
- document.getElementById("d_absissa_data0").value = "January";
- document.getElementById("d_absissa_data1").value = "February";
- document.getElementById("d_absissa_data2").value = "March";
- document.getElementById("d_absissa_data3").value = "April";
- document.getElementById("d_absissa_data4").value = "May";
- document.getElementById("d_absissa_data5").value = "June";
- document.getElementById("d_absissa_data6").value = "July";
- document.getElementById("d_absissa_data7").value = "August";
- }
-
- function push(URL,nextStep)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function() {
- if (xmlhttp.readyState==4)
- {
- if ( nextStep == 1 ) { saveData(); }
- if ( nextStep == 2 ) { saveScale(); }
- if ( nextStep == 3 ) { saveChart(); }
- if ( nextStep == 4 ) { saveLegend(); }
- if ( nextStep == 5 )
- {
- if ( Action == "Render" )
- doRender();
- else
- push("script/render.php?Mode=Source&Seed="+Math.random(100),6);
- }
- if ( nextStep == 6 )
- {
- document.getElementById("result_area").innerHTML = "<pre name='code'>"+xmlhttp.responseText+"</pre>";
- }
- }
- }
- xmlhttp.send(null)
- }
-
- function doRender()
- {
- document.getElementById("result_area").innerHTML = "<img src='graphix/wait.gif' width='24' height='24' alt=''><br/>Rendering";
-
- RandomKey = Math.random(100);
- URL = "script/render.php?Seed=" + RandomKey;
-
- StartFade();
- }
-
- function StartFade()
- {
- Loader = new Image();
- Loader.src = URL;
- setTimeout("CheckLoadingStatus()", 200);
- }
-
- function CheckLoadingStatus()
- {
- if ( Loader.complete == true )
- {
- changeOpac(0, "result_area");
- HTMLResult = "<center><img src='" + URL + "' alt=''/></center>";
- document.getElementById("result_area").innerHTML = HTMLResult;
-
- opacity("result_area",0,100,500);
- }
- else
- setTimeout("CheckLoadingStatus()", 200);
- }
-
- function changeOpac(opacity, id)
- {
- var object = document.getElementById(id).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- } \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hs.png b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hs.png
deleted file mode 100644
index 3d94486..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hs.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hv.png b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hv.png
deleted file mode 100644
index 1c5e01f..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/hv.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/jscolor.js b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/jscolor.js
deleted file mode 100644
index c2f5aae..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/jscolor.js
+++ /dev/null
@@ -1,841 +0,0 @@
-/**
- * jscolor, JavaScript Color Picker
- *
- * @version 1.3.1
- * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
- * @author Jan Odvarko, http://odvarko.cz
- * @created 2008-06-15
- * @updated 2010-01-23
- * @link http://jscolor.com
- */
-
-
-var jscolor = {
-
-
- dir : '', // location of jscolor directory (leave empty to autodetect)
- bindClass : 'color', // class name
- binding : true, // automatic binding via <input class="...">
- preloading : true, // use image preloading?
-
-
- install : function() {
- jscolor.addEvent(window, 'load', jscolor.init);
- },
-
-
- init : function() {
- if(jscolor.binding) {
- jscolor.bind();
- }
- if(jscolor.preloading) {
- jscolor.preload();
- }
- },
-
-
- getDir : function() {
- if(!jscolor.dir) {
- var detected = jscolor.detectDir();
- jscolor.dir = detected!==false ? detected : 'jscolor/';
- }
- return jscolor.dir;
- },
-
-
- detectDir : function() {
- var base = location.href;
-
- var e = document.getElementsByTagName('base');
- for(var i=0; i<e.length; i+=1) {
- if(e[i].href) { base = e[i].href; }
- }
-
- var e = document.getElementsByTagName('script');
- for(var i=0; i<e.length; i+=1) {
- if(e[i].src && /(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
- var src = new jscolor.URI(e[i].src);
- var srcAbs = src.toAbsolute(base);
- srcAbs.path = srcAbs.path.replace(/[^\/]+$/, ''); // remove filename
- srcAbs.query = null;
- srcAbs.fragment = null;
- return srcAbs.toString();
- }
- }
- return false;
- },
-
-
- bind : function() {
- var matchClass = new RegExp('(^|\\s)('+jscolor.bindClass+')\\s*(\\{[^}]*\\})?', 'i');
- var e = document.getElementsByTagName('input');
- for(var i=0; i<e.length; i+=1) {
- var m;
- if(!e[i].color && e[i].className && (m = e[i].className.match(matchClass))) {
- var prop = {};
- if(m[3]) {
- try {
- eval('prop='+m[3]);
- } catch(eInvalidProp) {}
- }
- e[i].color = new jscolor.color(e[i], prop);
- }
- }
- },
-
-
- preload : function() {
- for(var fn in jscolor.imgRequire) {
- if(jscolor.imgRequire.hasOwnProperty(fn)) {
- jscolor.loadImage(fn);
- }
- }
- },
-
-
- images : {
- pad : [ 181, 101 ],
- sld : [ 16, 101 ],
- cross : [ 15, 15 ],
- arrow : [ 7, 11 ]
- },
-
-
- imgRequire : {},
- imgLoaded : {},
-
-
- requireImage : function(filename) {
- jscolor.imgRequire[filename] = true;
- },
-
-
- loadImage : function(filename) {
- if(!jscolor.imgLoaded[filename]) {
- jscolor.imgLoaded[filename] = new Image();
- jscolor.imgLoaded[filename].src = jscolor.getDir()+filename;
- }
- },
-
-
- fetchElement : function(mixed) {
- return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
- },
-
-
- addEvent : function(el, evnt, func) {
- if(el.addEventListener) {
- el.addEventListener(evnt, func, false);
- } else if(el.attachEvent) {
- el.attachEvent('on'+evnt, func);
- }
- },
-
-
- fireEvent : function(el, evnt) {
- if(!el) {
- return;
- }
- if(document.createEventObject) {
- var ev = document.createEventObject();
- el.fireEvent('on'+evnt, ev);
- } else if(document.createEvent) {
- var ev = document.createEvent('HTMLEvents');
- ev.initEvent(evnt, true, true);
- el.dispatchEvent(ev);
- } else if(el['on'+evnt]) { // alternatively use the traditional event model (IE5)
- el['on'+evnt]();
- }
- },
-
-
- getElementPos : function(e) {
- var e1=e, e2=e;
- var x=0, y=0;
- if(e1.offsetParent) {
- do {
- x += e1.offsetLeft;
- y += e1.offsetTop;
- } while(e1 = e1.offsetParent);
- }
- while((e2 = e2.parentNode) && e2.nodeName.toUpperCase() !== 'BODY') {
- x -= e2.scrollLeft;
- y -= e2.scrollTop;
- }
- return [x, y];
- },
-
-
- getElementSize : function(e) {
- return [e.offsetWidth, e.offsetHeight];
- },
-
-
- getMousePos : function(e) {
- if(!e) { e = window.event; }
- if(typeof e.pageX === 'number') {
- return [e.pageX, e.pageY];
- } else if(typeof e.clientX === 'number') {
- return [
- e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft,
- e.clientY + document.body.scrollTop + document.documentElement.scrollTop
- ];
- }
- },
-
-
- getViewPos : function() {
- if(typeof window.pageYOffset === 'number') {
- return [window.pageXOffset, window.pageYOffset];
- } else if(document.body && (document.body.scrollLeft || document.body.scrollTop)) {
- return [document.body.scrollLeft, document.body.scrollTop];
- } else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
- return [document.documentElement.scrollLeft, document.documentElement.scrollTop];
- } else {
- return [0, 0];
- }
- },
-
-
- getViewSize : function() {
- if(typeof window.innerWidth === 'number') {
- return [window.innerWidth, window.innerHeight];
- } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
- return [document.body.clientWidth, document.body.clientHeight];
- } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
- return [document.documentElement.clientWidth, document.documentElement.clientHeight];
- } else {
- return [0, 0];
- }
- },
-
-
- URI : function(uri) { // See RFC3986
-
- this.scheme = null;
- this.authority = null;
- this.path = '';
- this.query = null;
- this.fragment = null;
-
- this.parse = function(uri) {
- var m = uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
- this.scheme = m[3] ? m[2] : null;
- this.authority = m[5] ? m[6] : null;
- this.path = m[7];
- this.query = m[9] ? m[10] : null;
- this.fragment = m[12] ? m[13] : null;
- return this;
- };
-
- this.toString = function() {
- var result = '';
- if(this.scheme !== null) { result = result + this.scheme + ':'; }
- if(this.authority !== null) { result = result + '//' + this.authority; }
- if(this.path !== null) { result = result + this.path; }
- if(this.query !== null) { result = result + '?' + this.query; }
- if(this.fragment !== null) { result = result + '#' + this.fragment; }
- return result;
- };
-
- this.toAbsolute = function(base) {
- var base = new jscolor.URI(base);
- var r = this;
- var t = new jscolor.URI;
-
- if(base.scheme === null) { return false; }
-
- if(r.scheme !== null && r.scheme.toLowerCase() === base.scheme.toLowerCase()) {
- r.scheme = null;
- }
-
- if(r.scheme !== null) {
- t.scheme = r.scheme;
- t.authority = r.authority;
- t.path = removeDotSegments(r.path);
- t.query = r.query;
- } else {
- if(r.authority !== null) {
- t.authority = r.authority;
- t.path = removeDotSegments(r.path);
- t.query = r.query;
- } else {
- if(r.path === '') { // TODO: == or === ?
- t.path = base.path;
- if(r.query !== null) {
- t.query = r.query;
- } else {
- t.query = base.query;
- }
- } else {
- if(r.path.substr(0,1) === '/') {
- t.path = removeDotSegments(r.path);
- } else {
- if(base.authority !== null && base.path === '') { // TODO: == or === ?
- t.path = '/'+r.path;
- } else {
- t.path = base.path.replace(/[^\/]+$/,'')+r.path;
- }
- t.path = removeDotSegments(t.path);
- }
- t.query = r.query;
- }
- t.authority = base.authority;
- }
- t.scheme = base.scheme;
- }
- t.fragment = r.fragment;
-
- return t;
- };
-
- function removeDotSegments(path) {
- var out = '';
- while(path) {
- if(path.substr(0,3)==='../' || path.substr(0,2)==='./') {
- path = path.replace(/^\.+/,'').substr(1);
- } else if(path.substr(0,3)==='/./' || path==='/.') {
- path = '/'+path.substr(3);
- } else if(path.substr(0,4)==='/../' || path==='/..') {
- path = '/'+path.substr(4);
- out = out.replace(/\/?[^\/]*$/, '');
- } else if(path==='.' || path==='..') {
- path = '';
- } else {
- var rm = path.match(/^\/?[^\/]*/)[0];
- path = path.substr(rm.length);
- out = out + rm;
- }
- }
- return out;
- }
-
- if(uri) {
- this.parse(uri);
- }
-
- },
-
-
- /*
- * Usage example:
- * var myColor = new jscolor.color(myInputElement)
- */
-
- color : function(target, prop) {
-
-
- this.required = true; // refuse empty values?
- this.adjust = true; // adjust value to uniform notation?
- this.hash = false; // prefix color with # symbol?
- this.caps = true; // uppercase?
- this.valueElement = target; // value holder
- this.styleElement = target; // where to reflect current color
- this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1
- this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1
-
- this.pickerOnfocus = true; // display picker on focus?
- this.pickerMode = 'HSV'; // HSV | HVS
- this.pickerPosition = 'bottom'; // left | right | top | bottom
- this.pickerFace = 10; // px
- this.pickerFaceColor = 'ThreeDFace'; // CSS color
- this.pickerBorder = 1; // px
- this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight'; // CSS color
- this.pickerInset = 1; // px
- this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow'; // CSS color
- this.pickerZIndex = 10000;
-
-
- for(var p in prop) {
- if(prop.hasOwnProperty(p)) {
- this[p] = prop[p];
- }
- }
-
-
- this.hidePicker = function() {
- if(isPickerOwner()) {
- removePicker();
- }
- };
-
-
- this.showPicker = function() {
- if(!isPickerOwner()) {
- var tp = jscolor.getElementPos(target); // target pos
- var ts = jscolor.getElementSize(target); // target size
- var vp = jscolor.getViewPos(); // view pos
- var vs = jscolor.getViewSize(); // view size
- var ps = [ // picker size
- 2*this.pickerBorder + 4*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0],
- 2*this.pickerBorder + 2*this.pickerInset + 2*this.pickerFace + jscolor.images.pad[1]
- ];
- var a, b, c;
- switch(this.pickerPosition.toLowerCase()) {
- case 'left': a=1; b=0; c=-1; break;
- case 'right':a=1; b=0; c=1; break;
- case 'top': a=0; b=1; c=-1; break;
- default: a=0; b=1; c=1; break;
- }
- var l = (ts[b]+ps[b])/2;
- var pp = [ // picker pos
- -vp[a]+tp[a]+ps[a] > vs[a] ?
- (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
- tp[a],
- -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
- (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
- (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
- ];
- drawPicker(pp[a], pp[b]);
- }
- };
-
-
- this.importColor = function() {
- if(!valueElement) {
- this.exportColor();
- } else {
- if(!this.adjust) {
- if(!this.fromString(valueElement.value, leaveValue)) {
- styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
- styleElement.style.color = styleElement.jscStyle.color;
- this.exportColor(leaveValue | leaveStyle);
- }
- } else if(!this.required && /^\s*$/.test(valueElement.value)) {
- valueElement.value = '';
- styleElement.style.backgroundColor = styleElement.jscStyle.backgroundColor;
- styleElement.style.color = styleElement.jscStyle.color;
- this.exportColor(leaveValue | leaveStyle);
-
- } else if(this.fromString(valueElement.value)) {
- // OK
- } else {
- this.exportColor();
- }
- }
- };
-
-
- this.exportColor = function(flags) {
- if(!(flags & leaveValue) && valueElement) {
- var value = this.toString();
- if(this.caps) { value = value.toUpperCase(); }
- if(this.hash) { value = '#'+value; }
- valueElement.value = value;
- }
- if(!(flags & leaveStyle) && styleElement) {
-/*
- styleElement.style.backgroundColor = '#'+this.toString();
- styleElement.style.color =
- 0.213 * this.rgb[0] +
- 0.715 * this.rgb[1] +
- 0.072 * this.rgb[2]
- < 0.5 ? '#FFF' : '#000';
-*/
- }
- if(!(flags & leavePad) && isPickerOwner()) {
- redrawPad();
- }
- if(!(flags & leaveSld) && isPickerOwner()) {
- redrawSld();
- }
- };
-
-
- this.fromHSV = function(h, s, v, flags) { // null = don't change
- h<0 && (h=0) || h>6 && (h=6);
- s<0 && (s=0) || s>1 && (s=1);
- v<0 && (v=0) || v>1 && (v=1);
- this.rgb = HSV_RGB(
- h===null ? this.hsv[0] : (this.hsv[0]=h),
- s===null ? this.hsv[1] : (this.hsv[1]=s),
- v===null ? this.hsv[2] : (this.hsv[2]=v)
- );
- this.exportColor(flags);
- };
-
-
- this.fromRGB = function(r, g, b, flags) { // null = don't change
- r<0 && (r=0) || r>1 && (r=1);
- g<0 && (g=0) || g>1 && (g=1);
- b<0 && (b=0) || b>1 && (b=1);
- var hsv = RGB_HSV(
- r===null ? this.rgb[0] : (this.rgb[0]=r),
- g===null ? this.rgb[1] : (this.rgb[1]=g),
- b===null ? this.rgb[2] : (this.rgb[2]=b)
- );
- if(hsv[0] !== null) {
- this.hsv[0] = hsv[0];
- }
- if(hsv[2] !== 0) {
- this.hsv[1] = hsv[1];
- }
- this.hsv[2] = hsv[2];
- this.exportColor(flags);
- };
-
-
- this.fromString = function(hex, flags) {
- var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
- if(!m) {
- return false;
- } else {
- if(m[1].length === 6) { // 6-char notation
- this.fromRGB(
- parseInt(m[1].substr(0,2),16) / 255,
- parseInt(m[1].substr(2,2),16) / 255,
- parseInt(m[1].substr(4,2),16) / 255,
- flags
- );
- } else { // 3-char notation
- this.fromRGB(
- parseInt(m[1].charAt(0)+m[1].charAt(0),16) / 255,
- parseInt(m[1].charAt(1)+m[1].charAt(1),16) / 255,
- parseInt(m[1].charAt(2)+m[1].charAt(2),16) / 255,
- flags
- );
- }
- return true;
- }
- };
-
-
- this.toString = function() {
- return (
- (0x100 | Math.round(255*this.rgb[0])).toString(16).substr(1) +
- (0x100 | Math.round(255*this.rgb[1])).toString(16).substr(1) +
- (0x100 | Math.round(255*this.rgb[2])).toString(16).substr(1)
- );
- };
-
-
- function RGB_HSV(r, g, b) {
- var n = Math.min(Math.min(r,g),b);
- var v = Math.max(Math.max(r,g),b);
- var m = v - n;
- if(m === 0) { return [ null, 0, v ]; }
- var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
- return [ h===6?0:h, m/v, v ];
- }
-
-
- function HSV_RGB(h, s, v) {
- if(h === null) { return [ v, v, v ]; }
- var i = Math.floor(h);
- var f = i%2 ? h-i : 1-(h-i);
- var m = v * (1 - s);
- var n = v * (1 - s*f);
- switch(i) {
- case 6:
- case 0: return [v,n,m];
- case 1: return [n,v,m];
- case 2: return [m,v,n];
- case 3: return [m,n,v];
- case 4: return [n,m,v];
- case 5: return [v,m,n];
- }
- }
-
-
- function removePicker() {
- delete jscolor.picker.owner;
- document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
- }
-
-
- function drawPicker(x, y) {
- if(!jscolor.picker) {
- jscolor.picker = {
- box : document.createElement('div'),
- boxB : document.createElement('div'),
- pad : document.createElement('div'),
- padB : document.createElement('div'),
- padM : document.createElement('div'),
- sld : document.createElement('div'),
- sldB : document.createElement('div'),
- sldM : document.createElement('div')
- };
- for(var i=0,segSize=4; i<jscolor.images.sld[1]; i+=segSize) {
- var seg = document.createElement('div');
- seg.style.height = segSize+'px';
- seg.style.fontSize = '1px';
- seg.style.lineHeight = '0';
- jscolor.picker.sld.appendChild(seg);
- }
- jscolor.picker.sldB.appendChild(jscolor.picker.sld);
- jscolor.picker.box.appendChild(jscolor.picker.sldB);
- jscolor.picker.box.appendChild(jscolor.picker.sldM);
- jscolor.picker.padB.appendChild(jscolor.picker.pad);
- jscolor.picker.box.appendChild(jscolor.picker.padB);
- jscolor.picker.box.appendChild(jscolor.picker.padM);
- jscolor.picker.boxB.appendChild(jscolor.picker.box);
- }
-
- var p = jscolor.picker;
-
- // recompute controls positions
- posPad = [
- x+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset,
- y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
- posSld = [
- null,
- y+THIS.pickerBorder+THIS.pickerFace+THIS.pickerInset ];
-
- // controls interaction
- p.box.onmouseup =
- p.box.onmouseout = function() { target.focus(); };
- p.box.onmousedown = function() { abortBlur=true; };
- p.box.onmousemove = function(e) { holdPad && setPad(e); holdSld && setSld(e); };
- p.padM.onmouseup =
- p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
- p.padM.onmousedown = function(e) { holdPad=true; setPad(e); };
- p.sldM.onmouseup =
- p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
- p.sldM.onmousedown = function(e) { holdSld=true; setSld(e); };
-
- // picker
- p.box.style.width = 4*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[0] + 2*jscolor.images.arrow[0] + jscolor.images.sld[0] + 'px';
- p.box.style.height = 2*THIS.pickerInset + 2*THIS.pickerFace + jscolor.images.pad[1] + 'px';
-
- // picker border
- p.boxB.style.position = 'absolute';
- p.boxB.style.clear = 'both';
- p.boxB.style.left = x+'px';
- p.boxB.style.top = y+'px';
- p.boxB.style.zIndex = THIS.pickerZIndex;
- p.boxB.style.border = THIS.pickerBorder+'px solid';
- p.boxB.style.borderColor = THIS.pickerBorderColor;
- p.boxB.style.background = THIS.pickerFaceColor;
-
- // pad image
- p.pad.style.width = jscolor.images.pad[0]+'px';
- p.pad.style.height = jscolor.images.pad[1]+'px';
-
- // pad border
- p.padB.style.position = 'absolute';
- p.padB.style.left = THIS.pickerFace+'px';
- p.padB.style.top = THIS.pickerFace+'px';
- p.padB.style.border = THIS.pickerInset+'px solid';
- p.padB.style.borderColor = THIS.pickerInsetColor;
-
- // pad mouse area
- p.padM.style.position = 'absolute';
- p.padM.style.left = '0';
- p.padM.style.top = '0';
- p.padM.style.width = THIS.pickerFace + 2*THIS.pickerInset + jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
- p.padM.style.height = p.box.style.height;
- p.padM.style.cursor = 'crosshair';
-
- // slider image
- p.sld.style.overflow = 'hidden';
- p.sld.style.width = jscolor.images.sld[0]+'px';
- p.sld.style.height = jscolor.images.sld[1]+'px';
-
- // slider border
- p.sldB.style.position = 'absolute';
- p.sldB.style.right = THIS.pickerFace+'px';
- p.sldB.style.top = THIS.pickerFace+'px';
- p.sldB.style.border = THIS.pickerInset+'px solid';
- p.sldB.style.borderColor = THIS.pickerInsetColor;
-
- // slider mouse area
- p.sldM.style.position = 'absolute';
- p.sldM.style.right = '0';
- p.sldM.style.top = '0';
- p.sldM.style.width = jscolor.images.sld[0] + jscolor.images.arrow[0] + THIS.pickerFace + 2*THIS.pickerInset + 'px';
- p.sldM.style.height = p.box.style.height;
- try {
- p.sldM.style.cursor = 'pointer';
- } catch(eOldIE) {
- p.sldM.style.cursor = 'hand';
- }
-
- // load images in optimal order
- switch(modeID) {
- case 0: var padImg = 'hs.png'; break;
- case 1: var padImg = 'hv.png'; break;
- }
- p.padM.style.background = "url('"+jscolor.getDir()+"cross.gif') no-repeat";
- p.sldM.style.background = "url('"+jscolor.getDir()+"arrow.gif') no-repeat";
- p.pad.style.background = "url('"+jscolor.getDir()+padImg+"') 0 0 no-repeat";
-
- // place pointers
- redrawPad();
- redrawSld();
-
- jscolor.picker.owner = THIS;
- document.getElementsByTagName('body')[0].appendChild(p.boxB);
- }
-
-
- function redrawPad() {
- // redraw the pad pointer
- switch(modeID) {
- case 0: var yComponent = 1; break;
- case 1: var yComponent = 2; break;
- }
- var x = Math.round((THIS.hsv[0]/6) * (jscolor.images.pad[0]-1));
- var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.pad[1]-1));
- jscolor.picker.padM.style.backgroundPosition =
- (THIS.pickerFace+THIS.pickerInset+x - Math.floor(jscolor.images.cross[0]/2)) + 'px ' +
- (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.cross[1]/2)) + 'px';
-
- // redraw the slider image
- var seg = jscolor.picker.sld.childNodes;
-
- switch(modeID) {
- case 0:
- var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
- for(var i=0; i<seg.length; i+=1) {
- seg[i].style.backgroundColor = 'rgb('+
- (rgb[0]*(1-i/seg.length)*100)+'%,'+
- (rgb[1]*(1-i/seg.length)*100)+'%,'+
- (rgb[2]*(1-i/seg.length)*100)+'%)';
- }
- break;
- case 1:
- var rgb, s, c = [ THIS.hsv[2], 0, 0 ];
- var i = Math.floor(THIS.hsv[0]);
- var f = i%2 ? THIS.hsv[0]-i : 1-(THIS.hsv[0]-i);
- switch(i) {
- case 6:
- case 0: rgb=[0,1,2]; break;
- case 1: rgb=[1,0,2]; break;
- case 2: rgb=[2,0,1]; break;
- case 3: rgb=[2,1,0]; break;
- case 4: rgb=[1,2,0]; break;
- case 5: rgb=[0,2,1]; break;
- }
- for(var i=0; i<seg.length; i+=1) {
- s = 1 - 1/(seg.length-1)*i;
- c[1] = c[0] * (1 - s*f);
- c[2] = c[0] * (1 - s);
- seg[i].style.backgroundColor = 'rgb('+
- (c[rgb[0]]*100)+'%,'+
- (c[rgb[1]]*100)+'%,'+
- (c[rgb[2]]*100)+'%)';
- }
- break;
- }
- }
-
-
- function redrawSld() {
- // redraw the slider pointer
- switch(modeID) {
- case 0: var yComponent = 2; break;
- case 1: var yComponent = 1; break;
- }
- var y = Math.round((1-THIS.hsv[yComponent]) * (jscolor.images.sld[1]-1));
- jscolor.picker.sldM.style.backgroundPosition =
- '0 ' + (THIS.pickerFace+THIS.pickerInset+y - Math.floor(jscolor.images.arrow[1]/2)) + 'px';
- }
-
-
- function isPickerOwner() {
- return jscolor.picker && jscolor.picker.owner === THIS;
- }
-
-
- function blurTarget() {
- if(valueElement === target) {
- THIS.importColor();
- }
- if(THIS.pickerOnfocus) {
- THIS.hidePicker();
- }
- }
-
-
- function blurValue() {
- if(valueElement !== target) {
- THIS.importColor();
- }
- }
-
-
- function setPad(e) {
- var posM = jscolor.getMousePos(e);
- var x = posM[0]-posPad[0];
- var y = posM[1]-posPad[1];
- switch(modeID) {
- case 0: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), 1 - y/(jscolor.images.pad[1]-1), null, leaveSld); break;
- case 1: THIS.fromHSV(x*(6/(jscolor.images.pad[0]-1)), null, 1 - y/(jscolor.images.pad[1]-1), leaveSld); break;
- }
- }
-
-
- function setSld(e) {
- var posM = jscolor.getMousePos(e);
- var y = posM[1]-posPad[1];
- switch(modeID) {
- case 0: THIS.fromHSV(null, null, 1 - y/(jscolor.images.sld[1]-1), leavePad); break;
- case 1: THIS.fromHSV(null, 1 - y/(jscolor.images.sld[1]-1), null, leavePad); break;
- }
- }
-
-
- var THIS = this;
- var modeID = this.pickerMode.toLowerCase()==='hvs' ? 1 : 0;
- var abortBlur = false;
- var
- valueElement = jscolor.fetchElement(this.valueElement),
- styleElement = jscolor.fetchElement(this.styleElement);
- var
- holdPad = false,
- holdSld = false;
- var
- posPad,
- posSld;
- var
- leaveValue = 1<<0,
- leaveStyle = 1<<1,
- leavePad = 1<<2,
- leaveSld = 1<<3;
-
- // target
- jscolor.addEvent(target, 'focus', function() {
- if(THIS.pickerOnfocus) { THIS.showPicker(); }
- });
- jscolor.addEvent(target, 'blur', function() {
- if(!abortBlur) {
- window.setTimeout(function(){ abortBlur || blurTarget(); abortBlur=false; }, 0);
- } else {
- abortBlur = false;
- }
- });
-
- // valueElement
- if(valueElement) {
- var updateField = function() {
- THIS.fromString(valueElement.value, leaveValue);
- };
- jscolor.addEvent(valueElement, 'keyup', updateField);
- jscolor.addEvent(valueElement, 'input', updateField);
- jscolor.addEvent(valueElement, 'blur', blurValue);
- valueElement.setAttribute('autocomplete', 'off');
- }
-
- // styleElement
- if(styleElement) {
- styleElement.jscStyle = {
- backgroundColor : styleElement.style.backgroundColor,
- color : styleElement.style.color
- };
- }
-
- // require images
- switch(modeID) {
- case 0: jscolor.requireImage('hs.png'); break;
- case 1: jscolor.requireImage('hv.png'); break;
- }
- jscolor.requireImage('cross.gif');
- jscolor.requireImage('arrow.gif');
-
- this.importColor();
- }
-
-};
-
-
-jscolor.install();
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/rounded_corners_lite.inc.js b/notFinishedCode/pChart2.1.2/examples/sandbox/includes/rounded_corners_lite.inc.js
deleted file mode 100644
index afc3ea3..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/includes/rounded_corners_lite.inc.js
+++ /dev/null
@@ -1,285 +0,0 @@
-
- /****************************************************************
- * *
- * curvyCorners *
- * ------------ *
- * *
- * This script generates rounded corners for your divs. *
- * *
- * Version 1.2.9 *
- * Copyright (c) 2006 Cameron Cooke *
- * By: Cameron Cooke and Tim Hutchison. *
- * *
- * *
- * Website: http://www.curvycorners.net *
- * Email: info@totalinfinity.com *
- * Forum: http://www.curvycorners.net/forum/ *
- * *
- * *
- * This library is free software; you can redistribute *
- * it and/or modify it under the terms of the GNU *
- * Lesser General Public License as published by the *
- * Free Software Foundation; either version 2.1 of the *
- * License, or (at your option) any later version. *
- * *
- * This library is distributed in the hope that it will *
- * be useful, but WITHOUT ANY WARRANTY; without even the *
- * implied warranty of MERCHANTABILITY or FITNESS FOR A *
- * PARTICULAR PURPOSE. See the GNU Lesser General Public *
- * License for more details. *
- * *
- * You should have received a copy of the GNU Lesser *
- * General Public License along with this library; *
- * Inc., 59 Temple Place, Suite 330, Boston, *
- * MA 02111-1307 USA *
- * *
- ****************************************************************/
-
-var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1; var isMoz = document.implementation && document.implementation.createDocument; var isSafari = ((navigator.userAgent.toLowerCase().indexOf('safari')!=-1)&&(navigator.userAgent.toLowerCase().indexOf('mac')!=-1))?true:false; function curvyCorners()
-{ if(typeof(arguments[0]) != "object") throw newCurvyError("First parameter of curvyCorners() must be an object."); if(typeof(arguments[1]) != "object" && typeof(arguments[1]) != "string") throw newCurvyError("Second parameter of curvyCorners() must be an object or a class name."); if(typeof(arguments[1]) == "string")
-{ var startIndex = 0; var boxCol = getElementsByClass(arguments[1]);}
-else
-{ var startIndex = 1; var boxCol = arguments;}
-var curvyCornersCol = new Array(); if(arguments[0].validTags)
-var validElements = arguments[0].validTags; else
-var validElements = ["div"]; for(var i = startIndex, j = boxCol.length; i < j; i++)
-{ var currentTag = boxCol[i].tagName.toLowerCase(); if(inArray(validElements, currentTag) !== false)
-{ curvyCornersCol[curvyCornersCol.length] = new curvyObject(arguments[0], boxCol[i]);}
-}
-this.objects = curvyCornersCol; this.applyCornersToAll = function()
-{ for(var x = 0, k = this.objects.length; x < k; x++)
-{ this.objects[x].applyCorners();}
-}
-}
-function curvyObject()
-{ this.box = arguments[1]; this.settings = arguments[0]; this.topContainer = null; this.bottomContainer = null; this.masterCorners = new Array(); this.contentDIV = null; var boxHeight = get_style(this.box, "height", "height"); var boxWidth = get_style(this.box, "width", "width"); var borderWidth = get_style(this.box, "borderTopWidth", "border-top-width"); var borderColour = get_style(this.box, "borderTopColor", "border-top-color"); var boxColour = get_style(this.box, "backgroundColor", "background-color"); var backgroundImage = get_style(this.box, "backgroundImage", "background-image"); var boxPosition = get_style(this.box, "position", "position"); var boxPadding = get_style(this.box, "paddingTop", "padding-top"); this.boxHeight = parseInt(((boxHeight != "" && boxHeight != "auto" && boxHeight.indexOf("%") == -1)? boxHeight.substring(0, boxHeight.indexOf("px")) : this.box.scrollHeight)); this.boxWidth = parseInt(((boxWidth != "" && boxWidth != "auto" && boxWidth.indexOf("%") == -1)? boxWidth.substring(0, boxWidth.indexOf("px")) : this.box.scrollWidth)); this.borderWidth = parseInt(((borderWidth != "" && borderWidth.indexOf("px") !== -1)? borderWidth.slice(0, borderWidth.indexOf("px")) : 0)); this.boxColour = format_colour(boxColour); this.boxPadding = parseInt(((boxPadding != "" && boxPadding.indexOf("px") !== -1)? boxPadding.slice(0, boxPadding.indexOf("px")) : 0)); this.borderColour = format_colour(borderColour); this.borderString = this.borderWidth + "px" + " solid " + this.borderColour; this.backgroundImage = ((backgroundImage != "none")? backgroundImage : ""); this.boxContent = this.box.innerHTML; if(boxPosition != "absolute") this.box.style.position = "relative"; this.box.style.padding = "0px"; if(isIE && boxWidth == "auto" && boxHeight == "auto") this.box.style.width = "100%"; if(this.settings.autoPad == true && this.boxPadding > 0)
-this.box.innerHTML = ""; this.applyCorners = function()
-{ for(var t = 0; t < 2; t++)
-{ switch(t)
-{ case 0:
-if(this.settings.tl || this.settings.tr)
-{ var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var topMaxRadius = Math.max(this.settings.tl ? this.settings.tl.radius : 0, this.settings.tr ? this.settings.tr.radius : 0); newMainContainer.style.height = topMaxRadius + "px"; newMainContainer.style.top = 0 - topMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.topContainer = this.box.appendChild(newMainContainer);}
-break; case 1:
-if(this.settings.bl || this.settings.br)
-{ var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var botMaxRadius = Math.max(this.settings.bl ? this.settings.bl.radius : 0, this.settings.br ? this.settings.br.radius : 0); newMainContainer.style.height = botMaxRadius + "px"; newMainContainer.style.bottom = 0 - botMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.bottomContainer = this.box.appendChild(newMainContainer);}
-break;}
-}
-if(this.topContainer) this.box.style.borderTopWidth = "0px"; if(this.bottomContainer) this.box.style.borderBottomWidth = "0px"; var corners = ["tr", "tl", "br", "bl"]; for(var i in corners)
-{ if(i > -1 < 4)
-{ var cc = corners[i]; if(!this.settings[cc])
-{ if(((cc == "tr" || cc == "tl") && this.topContainer != null) || ((cc == "br" || cc == "bl") && this.bottomContainer != null))
-{ var newCorner = document.createElement("DIV"); newCorner.style.position = "relative"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; if(this.backgroundImage == "")
-newCorner.style.backgroundColor = this.boxColour; else
-newCorner.style.backgroundImage = this.backgroundImage; switch(cc)
-{ case "tl":
-newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.tr.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.left = -this.borderWidth + "px"; break; case "tr":
-newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.tl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; newCorner.style.left = this.borderWidth + "px"; break; case "bl":
-newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.br.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = -this.borderWidth + "px"; newCorner.style.backgroundPosition = "-" + (this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break; case "br":
-newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.bl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = this.borderWidth + "px"
-newCorner.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break;}
-}
-}
-else
-{ if(this.masterCorners[this.settings[cc].radius])
-{ var newCorner = this.masterCorners[this.settings[cc].radius].cloneNode(true);}
-else
-{ var newCorner = document.createElement("DIV"); newCorner.style.height = this.settings[cc].radius + "px"; newCorner.style.width = this.settings[cc].radius + "px"; newCorner.style.position = "absolute"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; var borderRadius = parseInt(this.settings[cc].radius - this.borderWidth); for(var intx = 0, j = this.settings[cc].radius; intx < j; intx++)
-{ if((intx +1) >= borderRadius)
-var y1 = -1; else
-var y1 = (Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((intx+1), 2))) - 1); if(borderRadius != j)
-{ if((intx) >= borderRadius)
-var y2 = -1; else
-var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius,2) - Math.pow(intx, 2))); if((intx+1) >= j)
-var y3 = -1; else
-var y3 = (Math.floor(Math.sqrt(Math.pow(j ,2) - Math.pow((intx+1), 2))) - 1);}
-if((intx) >= j)
-var y4 = -1; else
-var y4 = Math.ceil(Math.sqrt(Math.pow(j ,2) - Math.pow(intx, 2))); if(y1 > -1) this.drawPixel(intx, 0, this.boxColour, 100, (y1+1), newCorner, -1, this.settings[cc].radius); if(borderRadius != j)
-{ for(var inty = (y1 + 1); inty < y2; inty++)
-{ if(this.settings.antiAlias)
-{ if(this.backgroundImage != "")
-{ var borderFract = (pixelFraction(intx, inty, borderRadius) * 100); if(borderFract < 30)
-{ this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, 0, this.settings[cc].radius);}
-else
-{ this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, -1, this.settings[cc].radius);}
-}
-else
-{ var pixelcolour = BlendColour(this.boxColour, this.borderColour, pixelFraction(intx, inty, borderRadius)); this.drawPixel(intx, inty, pixelcolour, 100, 1, newCorner, 0, this.settings[cc].radius, cc);}
-}
-}
-if(this.settings.antiAlias)
-{ if(y3 >= y2)
-{ if (y2 == -1) y2 = 0; this.drawPixel(intx, y2, this.borderColour, 100, (y3 - y2 + 1), newCorner, 0, 0);}
-}
-else
-{ if(y3 >= y1)
-{ this.drawPixel(intx, (y1 + 1), this.borderColour, 100, (y3 - y1), newCorner, 0, 0);}
-}
-var outsideColour = this.borderColour;}
-else
-{ var outsideColour = this.boxColour; var y3 = y1;}
-if(this.settings.antiAlias)
-{ for(var inty = (y3 + 1); inty < y4; inty++)
-{ this.drawPixel(intx, inty, outsideColour, (pixelFraction(intx, inty , j) * 100), 1, newCorner, ((this.borderWidth > 0)? 0 : -1), this.settings[cc].radius);}
-}
-}
-this.masterCorners[this.settings[cc].radius] = newCorner.cloneNode(true);}
-if(cc != "br")
-{ for(var t = 0, k = newCorner.childNodes.length; t < k; t++)
-{ var pixelBar = newCorner.childNodes[t]; var pixelBarTop = parseInt(pixelBar.style.top.substring(0, pixelBar.style.top.indexOf("px"))); var pixelBarLeft = parseInt(pixelBar.style.left.substring(0, pixelBar.style.left.indexOf("px"))); var pixelBarHeight = parseInt(pixelBar.style.height.substring(0, pixelBar.style.height.indexOf("px"))); if(cc == "tl" || cc == "bl"){ pixelBar.style.left = this.settings[cc].radius -pixelBarLeft -1 + "px";}
-if(cc == "tr" || cc == "tl"){ pixelBar.style.top = this.settings[cc].radius -pixelBarHeight -pixelBarTop + "px";}
-switch(cc)
-{ case "tr":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.boxWidth - this.settings[cc].radius + this.borderWidth) + pixelBarLeft) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "tl":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "bl":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs((this.boxHeight + this.settings[cc].radius + pixelBarTop) -this.borderWidth) + "px"; break;}
-}
-}
-}
-if(newCorner)
-{ switch(cc)
-{ case "tl":
-if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "tr":
-if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "bl":
-if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break; case "br":
-if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break;}
-}
-}
-}
-var radiusDiff = new Array(); radiusDiff["t"] = Math.abs(this.settings.tl.radius - this.settings.tr.radius)
-radiusDiff["b"] = Math.abs(this.settings.bl.radius - this.settings.br.radius); for(z in radiusDiff)
-{ if(z == "t" || z == "b")
-{ if(radiusDiff[z])
-{ var smallerCornerType = ((this.settings[z + "l"].radius < this.settings[z + "r"].radius)? z +"l" : z +"r"); var newFiller = document.createElement("DIV"); newFiller.style.height = radiusDiff[z] + "px"; newFiller.style.width = this.settings[smallerCornerType].radius+ "px"
-newFiller.style.position = "absolute"; newFiller.style.fontSize = "1px"; newFiller.style.overflow = "hidden"; newFiller.style.backgroundColor = this.boxColour; switch(smallerCornerType)
-{ case "tl":
-newFiller.style.bottom = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.topContainer.appendChild(newFiller); break; case "tr":
-newFiller.style.bottom = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.topContainer.appendChild(newFiller); break; case "bl":
-newFiller.style.top = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.bottomContainer.appendChild(newFiller); break; case "br":
-newFiller.style.top = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.bottomContainer.appendChild(newFiller); break;}
-}
-var newFillerBar = document.createElement("DIV"); newFillerBar.style.position = "relative"; newFillerBar.style.fontSize = "1px"; newFillerBar.style.overflow = "hidden"; newFillerBar.style.backgroundColor = this.boxColour; newFillerBar.style.backgroundImage = this.backgroundImage; switch(z)
-{ case "t":
-if(this.topContainer)
-{ if(this.settings.tl.radius && this.settings.tr.radius)
-{ newFillerBar.style.height = topMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.tl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.tr.radius - this.borderWidth + "px"; newFillerBar.style.borderTop = this.borderString; if(this.backgroundImage != "")
-newFillerBar.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; this.topContainer.appendChild(newFillerBar);}
-this.box.style.backgroundPosition = "0px -" + (topMaxRadius - this.borderWidth) + "px";}
-break; case "b":
-if(this.bottomContainer)
-{ if(this.settings.bl.radius && this.settings.br.radius)
-{ newFillerBar.style.height = botMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.bl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.br.radius - this.borderWidth + "px"; newFillerBar.style.borderBottom = this.borderString; if(this.backgroundImage != "")
-newFillerBar.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (topMaxRadius + this.borderWidth)) + "px"; this.bottomContainer.appendChild(newFillerBar);}
-}
-break;}
-}
-}
-if(this.settings.autoPad == true && this.boxPadding > 0)
-{ var contentContainer = document.createElement("DIV"); contentContainer.style.position = "relative"; contentContainer.innerHTML = this.boxContent; contentContainer.className = "autoPadDiv"; var topPadding = Math.abs(topMaxRadius - this.boxPadding); var botPadding = Math.abs(botMaxRadius - this.boxPadding); if(topMaxRadius < this.boxPadding)
-contentContainer.style.paddingTop = topPadding + "px"; if(botMaxRadius < this.boxPadding)
-contentContainer.style.paddingBottom = botMaxRadius + "px"; contentContainer.style.paddingLeft = this.boxPadding + "px"; contentContainer.style.paddingRight = this.boxPadding + "px"; this.contentDIV = this.box.appendChild(contentContainer);}
-}
-this.drawPixel = function(intx, inty, colour, transAmount, height, newCorner, image, cornerRadius)
-{ var pixel = document.createElement("DIV"); pixel.style.height = height + "px"; pixel.style.width = "1px"; pixel.style.position = "absolute"; pixel.style.fontSize = "1px"; pixel.style.overflow = "hidden"; var topMaxRadius = Math.max(this.settings["tr"].radius, this.settings["tl"].radius); if(image == -1 && this.backgroundImage != "")
-{ pixel.style.backgroundImage = this.backgroundImage; pixel.style.backgroundPosition = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + topMaxRadius + inty) -this.borderWidth) + "px";}
-else
-{ pixel.style.backgroundColor = colour;}
-if (transAmount != 100)
-setOpacity(pixel, transAmount); pixel.style.top = inty + "px"; pixel.style.left = intx + "px"; newCorner.appendChild(pixel);}
-}
-function insertAfter(parent, node, referenceNode)
-{ parent.insertBefore(node, referenceNode.nextSibling);}
-function BlendColour(Col1, Col2, Col1Fraction)
-{ var red1 = parseInt(Col1.substr(1,2),16); var green1 = parseInt(Col1.substr(3,2),16); var blue1 = parseInt(Col1.substr(5,2),16); var red2 = parseInt(Col2.substr(1,2),16); var green2 = parseInt(Col2.substr(3,2),16); var blue2 = parseInt(Col2.substr(5,2),16); if(Col1Fraction > 1 || Col1Fraction < 0) Col1Fraction = 1; var endRed = Math.round((red1 * Col1Fraction) + (red2 * (1 - Col1Fraction))); if(endRed > 255) endRed = 255; if(endRed < 0) endRed = 0; var endGreen = Math.round((green1 * Col1Fraction) + (green2 * (1 - Col1Fraction))); if(endGreen > 255) endGreen = 255; if(endGreen < 0) endGreen = 0; var endBlue = Math.round((blue1 * Col1Fraction) + (blue2 * (1 - Col1Fraction))); if(endBlue > 255) endBlue = 255; if(endBlue < 0) endBlue = 0; return "#" + IntToHex(endRed)+ IntToHex(endGreen)+ IntToHex(endBlue);}
-function IntToHex(strNum)
-{ base = strNum / 16; rem = strNum % 16; base = base - (rem / 16); baseS = MakeHex(base); remS = MakeHex(rem); return baseS + '' + remS;}
-function MakeHex(x)
-{ if((x >= 0) && (x <= 9))
-{ return x;}
-else
-{ switch(x)
-{ case 10: return "A"; case 11: return "B"; case 12: return "C"; case 13: return "D"; case 14: return "E"; case 15: return "F";}
-}
-}
-function pixelFraction(x, y, r)
-{ var pixelfraction = 0; var xvalues = new Array(1); var yvalues = new Array(1); var point = 0; var whatsides = ""; var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x,2))); if ((intersect >= y) && (intersect < (y+1)))
-{ whatsides = "Left"; xvalues[point] = 0; yvalues[point] = intersect - y; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y+1,2))); if ((intersect >= x) && (intersect < (x+1)))
-{ whatsides = whatsides + "Top"; xvalues[point] = intersect - x; yvalues[point] = 1; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x+1,2))); if ((intersect >= y) && (intersect < (y+1)))
-{ whatsides = whatsides + "Right"; xvalues[point] = 1; yvalues[point] = intersect - y; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y,2))); if ((intersect >= x) && (intersect < (x+1)))
-{ whatsides = whatsides + "Bottom"; xvalues[point] = intersect - x; yvalues[point] = 0;}
-switch (whatsides)
-{ case "LeftRight":
-pixelfraction = Math.min(yvalues[0],yvalues[1]) + ((Math.max(yvalues[0],yvalues[1]) - Math.min(yvalues[0],yvalues[1]))/2); break; case "TopRight":
-pixelfraction = 1-(((1-xvalues[0])*(1-yvalues[1]))/2); break; case "TopBottom":
-pixelfraction = Math.min(xvalues[0],xvalues[1]) + ((Math.max(xvalues[0],xvalues[1]) - Math.min(xvalues[0],xvalues[1]))/2); break; case "LeftBottom":
-pixelfraction = (yvalues[0]*xvalues[1])/2; break; default:
-pixelfraction = 1;}
-return pixelfraction;}
-function rgb2Hex(rgbColour)
-{ try{ var rgbArray = rgb2Array(rgbColour); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); var hexColour = "#" + IntToHex(red) + IntToHex(green) + IntToHex(blue);}
-catch(e){ alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");}
-return hexColour;}
-function rgb2Array(rgbColour)
-{ var rgbValues = rgbColour.substring(4, rgbColour.indexOf(")")); var rgbArray = rgbValues.split(", "); return rgbArray;}
-function setOpacity(obj, opacity)
-{ opacity = (opacity == 100)?99.999:opacity; if(isSafari && obj.tagName != "IFRAME")
-{ var rgbArray = rgb2Array(obj.style.backgroundColor); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); obj.style.backgroundColor = "rgba(" + red + ", " + green + ", " + blue + ", " + opacity/100 + ")";}
-else if(typeof(obj.style.opacity) != "undefined")
-{ obj.style.opacity = opacity/100;}
-else if(typeof(obj.style.MozOpacity) != "undefined")
-{ obj.style.MozOpacity = opacity/100;}
-else if(typeof(obj.style.filter) != "undefined")
-{ obj.style.filter = "alpha(opacity:" + opacity + ")";}
-else if(typeof(obj.style.KHTMLOpacity) != "undefined")
-{ obj.style.KHTMLOpacity = opacity/100;}
-}
-function inArray(array, value)
-{ for(var i = 0; i < array.length; i++){ if (array[i] === value) return i;}
-return false;}
-function inArrayKey(array, value)
-{ for(key in array){ if(key === value) return true;}
-return false;}
-function addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) { elm.addEventListener(evType, fn, useCapture); return true;}
-else if (elm.attachEvent) { var r = elm.attachEvent('on' + evType, fn); return r;}
-else { elm['on' + evType] = fn;}
-}
-function removeEvent(obj, evType, fn, useCapture){ if (obj.removeEventListener){ obj.removeEventListener(evType, fn, useCapture); return true;} else if (obj.detachEvent){ var r = obj.detachEvent("on"+evType, fn); return r;} else { alert("Handler could not be removed");}
-}
-function format_colour(colour)
-{ var returnColour = "#ffffff"; if(colour != "" && colour != "transparent")
-{ if(colour.substr(0, 3) == "rgb")
-{ returnColour = rgb2Hex(colour);}
-else if(colour.length == 4)
-{ returnColour = "#" + colour.substring(1, 2) + colour.substring(1, 2) + colour.substring(2, 3) + colour.substring(2, 3) + colour.substring(3, 4) + colour.substring(3, 4);}
-else
-{ returnColour = colour;}
-}
-return returnColour;}
-function get_style(obj, property, propertyNS)
-{ try
-{ if(obj.currentStyle)
-{ var returnVal = eval("obj.currentStyle." + property);}
-else
-{ if(isSafari && obj.style.display == "none")
-{ obj.style.display = ""; var wasHidden = true;}
-var returnVal = document.defaultView.getComputedStyle(obj, '').getPropertyValue(propertyNS); if(isSafari && wasHidden)
-{ obj.style.display = "none";}
-}
-}
-catch(e)
-{ }
-return returnVal;}
-function getElementsByClass(searchClass, node, tag)
-{ var classElements = new Array(); if(node == null)
-node = document; if(tag == null)
-tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)"); for (i = 0, j = 0; i < elsLen; i++)
-{ if(pattern.test(els[i].className))
-{ classElements[j] = els[i]; j++;}
-}
-return classElements;}
-function newCurvyError(errorMessage)
-{ return new Error("curvyCorners Error:\n" + errorMessage)
-}
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/index.php b/notFinishedCode/pChart2.1.2/examples/sandbox/index.php
deleted file mode 100644
index 52afeb0..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/index.php
+++ /dev/null
@@ -1,707 +0,0 @@
-<?php
- /*
- index.php - Sandbox web frontend
-
- Version : 1.1.0
- Made by : Jean-Damien POGOLOTTI
- Last Update : 18/01/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <title>Sandbox system</title>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <meta name='description' content='pChart is an object oriented php charting library'/>
- <meta name='keywords' content='pchart, php chart, charting library, php charting'/>
- <link rel='stylesheet' type='text/css' href='style.css'/>
- <link rel='shortcut icon' href='images/favicon.ico'/>
- <script type='text/javascript' src='includes/rounded_corners_lite.inc.js'></script>
- <script type='text/javascript' src='includes/jscolor.js'></script>
- <script type='text/javascript' src='includes/functions.js'></script>
-</head>
-<body>
- <table style=''><tr><td>
- <table style='padding: 2px; background-color: #E0E0E0; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'>
- <div class='topMenu' id='menu1' onmouseover='highlightDIV(1);' onmouseout='clearDIV(1);' onclick='toggleDIV(1);'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/tab.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;General settings&nbsp;</td>
- </tr></table>
- </div>
- </td>
- <td class='topMenu' width='5'></td>
- <td class='topMenu'>
- <div class='topMenu' id='menu2' onmouseover='highlightDIV(2);' onmouseout='clearDIV(2);' onclick='toggleDIV(2);'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/tab.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Data&nbsp;</td>
- </tr></table>
- </div>
- </td>
- <td class='topMenu' width='5'></td>
- <td class='topMenu'>
- <div class='topMenu' id='menu3' onmouseover='highlightDIV(3);' onmouseout='clearDIV(3);' onclick='toggleDIV(3);'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/tab.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Scale&nbsp;</td>
- </tr></table>
- </div>
- </td>
- <td class='topMenu' width='5'></td>
- <td class='topMenu'>
- <div class='topMenu' id='menu4' onmouseover='highlightDIV(4);' onmouseout='clearDIV(4);' onclick='toggleDIV(4);'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/tab.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Chart&nbsp;</td>
- </tr></table>
- </div>
- </td>
- <td class='topMenu' width='5'></td>
- <td class='topMenu'>
- <div class='topMenu' id='menu5' onmouseover='highlightDIV(5);' onmouseout='clearDIV(5);' onclick='toggleDIV(5);'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/tab.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Legend, thresholds &amp; Misc&nbsp;</td>
- </tr></table>
- </div>
- </td>
- </tr></table>
- </td>
- <td width='5'></td>
- <td>
- <table style='padding: 2px; background-color: #D0D0D0; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'>
- <div class='topMenu' id='menu6' onmouseover='highlightDIV(6);' onmouseout='clearDIV(6);' onclick='code();'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/cog.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Show code&nbsp;</td>
- </tr></table>
- </div>
- </td>
- <td class='topMenu' width='5'></td>
- <td class='topMenu'>
- <div class='topMenu' id='menu7' onmouseover='highlightDIV(7);' onmouseout='clearDIV(7);' onclick='render();'>
- <table style='padding: 2px; border: 1px solid #D0D0D0;'><tr>
- <td class='topMenu'><img src='graphix/accept.png' width='16' height='16' alt=''/></td>
- <td class='topMenu'>&nbsp;Render picture&nbsp;</td>
- </tr></table>
- </div>
- </td>
- </tr></table>
- </td></tr></table>
-
- <table><tr><td valign='top'>
-
- <div class="roundedCorner" id='tab1' style='margin-top: 30px; margin-left: 20px; width: 350px; height: 420px; background: #F0F0F0; padding: 10px; color: #667309; border: 1px solid #E0E0E0'>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/wrench.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>General settings</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td>Width &nbsp;</td>
- <td><input type='text' id='g_width' value='700' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' onkeyup='doLayout();' /></td>
- <td>&nbsp;&nbsp; Height &nbsp;</td>
- <td><input type='text' id='g_height' value='230' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' onkeyup='doLayout();' /></td>
- <td>&nbsp;&nbsp;<input type='checkbox' id='g_transparent' /></td>
- <td>Transparent background</td>
- </tr></table>
- <table><tr>
- <td><input type='checkbox' id='g_aa' checked='checked' /></td>
- <td>Turn on antialiasing</td>
- <td>&nbsp;&nbsp;<input type='checkbox' id='g_shadow' checked='checked' /></td>
- <td>Enable shadow</td>
- <td>&nbsp;&nbsp; <input type='checkbox' id='g_border' checked='checked' /></td>
- <td>with a border</td>
- </tr></table>
- <table><tr>
- <td><input type='checkbox' id='g_autopos' checked='checked' onclick='toggleAuto();' /></td>
- <td>Automatic positioning of the elements</td>
- </tr></table>
-
- <br/>
-
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/comment.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Chart title</b></td>
- <td width='20'><input type='checkbox' id='g_title_enabled' checked='checked' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='55'>Chart Title</td>
- <td><input type='text' id='g_title' value='My first pChart project' style='width: 260px;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='147'>Alignement method (<a class='smallLinkBlack' target='_new' href='http://wiki.pchart.net/doc.draw.text.html'>help</a>)</td>
- <td><select id='g_title_align'><?php listalign(); ?></select></td>
- </tr></table>
- <table><tr>
- <td width='55'>X position &nbsp;</td>
- <td><input type='text' id='g_title_x' value='350' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; Y position &nbsp;</td>
- <td><input type='text' id='g_title_y' value='25' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; Color &nbsp;</td>
- <td><input type='text' class='color' id='g_title_color' value='#FFFFFF' style='text-align: center; width: 60px;' onchange='applyColor("g_title_color","g_title_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='g_title_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- </tr></table>
- <table><tr>
- <td width='55'>Font name &nbsp;</td>
- <td><select id='g_title_font'><?php listfonts(); ?></select></td>
- <td>&nbsp;&nbsp; Size &nbsp;</td>
- <td><input type='text' id='g_title_font_size' value='14' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; <input type='checkbox' id='g_title_box' /></td>
- <td>in a box</td>
- </tr></table>
-
- <br/>
-
- <table style='background-color: #E8E8E8; padding:1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/paintcan.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Solid background</b></td>
- <td width='20'><input type='checkbox' id='g_solid_enabled' checked='checked' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='55'>Color</td>
- <td><input type='text' class='color' id='g_solid_color' value='#AAB757' style='text-align: center; width: 60px;' onchange='applyColor("g_solid_color","g_solid_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td width='40'><div id='g_solid_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td width='20'><input type='checkbox' id='g_solid_dashed' checked='checked' /></td>
- <td width='38'>Dashed</td>
- </tr></table>
-
- <br/>
-
- <table style='background-color: #E8E8E8; padding:1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/paintcan.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Gradient background</b></td>
- <td width='20'><input type='checkbox' id='g_gradient_enabled' checked='checked' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='55'>Start color</td>
- <td><input type='text' class='color' id='g_gradient_start' value='#DBE78B' style='text-align: center; width: 60px;' onchange='applyColor("g_gradient_start","g_gradient_start_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td width='55'><div id='g_gradient_start_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td width='54'>End color &nbsp;</td>
- <td><input type='text' class='color' id='g_gradient_end' value='#018A44' style='text-align: center; width: 60px;' onchange='applyColor("g_gradient_end","g_gradient_end_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='g_gradient_end_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- </tr></table>
- <table><tr>
- <td width='55'>Direction</td>
- <td width='75'><select id='g_gradient_direction'><option value='vertical'>Vertical</option><option value='horizontal'>Horizontal</option></select></td>
- <td width='100'>&nbsp; Alpha transparency</td>
- <td><input type='text' id='g_gradient_alpha' value='50' style='width: 20px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>%</td>
- </tr></table>
- </div>
-
- <div class="roundedCorner" id='tab2' style='display: none; margin-top: 30px; margin-left: 20px; width: 350px; height: 455px; background: #F0F0F0; padding: 10px; color: #667309; border: 1px solid #E0E0E0'>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/database_table.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Dataset definition</b></td>
- </tr></table>
- <br/>
- <table>
- <tr>
- <td width='46'></td>
- <td width='65'><center>Serie 1</center></td>
- <td width='65'><center>Serie 2</center></td>
- <td width='65'><center>Serie 3</center></td>
- <td width='65'><center>Absissa</center></td>
- </tr>
- <tr>
- <td>Enabled</td>
- <td><center><input type='checkbox' id='d_serie1_enabled' checked='checked' onclick='checkEnabledAxis();' /></center></td>
- <td><center><input type='checkbox' id='d_serie2_enabled' checked='checked' onclick='checkEnabledAxis();' /></center></td>
- <td><center><input type='checkbox' id='d_serie3_enabled' checked='checked' onclick='checkEnabledAxis();' /></center></td>
- <td><center><input type='checkbox' id='d_absissa_enabled' checked='checked' /></center></td>
- </tr>
- </table>
- <table>
- <tr>
- <td width='46'>Name</td>
- <td width='65'><center><input type='text' id='d_serie1_name' value='Serie 1' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td width='65'><center><input type='text' id='d_serie2_name' value='Serie 2' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td width='65'><center><input type='text' id='d_serie3_name' value='Serie 3' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td width='65'><center>-</center></td>
- </tr>
- <tr>
- <td width='46'>Binding</td>
- <td width='65'><center><select id='d_serie1_axis' style='width: 54px;' onchange='checkEnabledAxis();'><?php listaxis(); ?></select></center></td>
- <td width='65'><center><select id='d_serie2_axis' style='width: 54px;' onchange='checkEnabledAxis();'><?php listaxis(); ?></select></center></td>
- <td width='65'><center><select id='d_serie3_axis' style='width: 54px;' onchange='checkEnabledAxis();'><?php listaxis(); ?></select></center></td>
- <td width='65'><center>-</center></td>
- </tr>
-<?php
- for($i=0; $i<8;$i++)
- {
-?>
- <tr>
-<?php if ( $i == 0 ) { ?>
- <td>Data</td>
-<?php } else { ?>
- <td></td>
-<?php } ?>
- <td><center><input type='text' id='d_serie1_data<?php echo $i; ?>' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_serie2_data<?php echo $i; ?>' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_serie3_data<?php echo $i; ?>' style='width: 50px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_absissa_data<?php echo $i; ?>' style='width: 60px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- </tr>
-<?php
- }
-?>
- </table>
- <table>
- <tr>
- <td width='50'></td>
- <td><input type='checkbox' id='d_normalize_enabled' /></td>
- <td>normalize the datasets.</td>
- <td width='10'></td>
- <td>[ <a class='smallLinkBlack' href='javascript:randomize();'>randomize</a> ]</td>
- </tr>
- </table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/chart_bar_edit.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Axis position and units</b></td>
- </tr></table>
- <br/>
- <table>
- <tr>
- <td width='40'></td>
- <td width='90'><center><b>Axis 0</b></center></td>
- <td width='90'><center><b>Axis 1</b></center></td>
- <td width='90'><center><b>Axis 2</b></center></td>
- </tr>
- <tr>
- <td>Name</td>
- <td><center><input type='text' id='d_axis0_name' value='1st axis' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_axis1_name' value='2nd axis' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_axis2_name' value='3rd axis' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- </tr>
- <tr>
- <td>Unit</td>
- <td><center><input type='text' id='d_axis0_unit' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_axis1_unit' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- <td><center><input type='text' id='d_axis2_unit' style='width: 76px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></center></td>
- </tr>
- <tr>
- <td>Position</td>
- <td><center><select id='d_axis0_position' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxispos(); ?></select></center></td>
- <td><center><select id='d_axis1_position' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxispos(); ?></select></center></td>
- <td><center><select id='d_axis2_position' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxispos(); ?></select></center></td>
- </tr>
- <tr>
- <td>Format</td>
- <td><center><select id='d_axis0_format' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxisformat(); ?></select></center></td>
- <td><center><select id='d_axis1_format' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxisformat(); ?></select></center></td>
- <td><center><select id='d_axis2_format' style='width: 80px;' onchange='checkEnabledAxis();'><?php listaxisformat(); ?></select></center></td>
- </tr>
- </table>
- </div>
-
- <div class="roundedCorner" id='tab3' style='display: none; margin-top: 30px; margin-left: 20px; width: 350px; height: 435px; background: #F0F0F0; padding: 10px; color: #667309; border: 1px solid #E0E0E0'>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/layout_edit.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Charting area definition</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='50'>X &nbsp;</td>
- <td><input type='text' id='s_x' value='70' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; Y &nbsp;</td>
- <td><input type='text' id='s_y' value='50' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; Width &nbsp;</td>
- <td><input type='text' id='s_width' value='590' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; Height &nbsp;</td>
- <td><input type='text' id='s_height' value='140' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='50'>Direction</td>
- <td width='160'><select id='s_direction' onchange='checkEnabledAxis();'><option value='SCALE_POS_LEFTRIGHT'>SCALE_POS_LEFTRIGHT</option><option value='SCALE_POS_TOPBOTTOM'>SCALE_POS_TOPBOTTOM</option></select></td>
- <td>&nbsp;<input type='checkbox' id='s_arrows_enabled' /></td>
- <td>&nbsp;with arrows</td>
- </tr></table>
- <table><tr>
- <td width='50'>Mode</td>
- <td width='160'><select id='s_mode'><option value='SCALE_MODE_FLOATING'>SCALE_MODE_FLOATING</option><option value='SCALE_MODE_START0'>SCALE_MODE_START0</option><option value='SCALE_MODE_ADDALL'>SCALE_MODE_ADDALL</option><option value='SCALE_MODE_ADDALL_START0'>SCALE_MODE_ADDALL_START0</option></select></td>
- <td>&nbsp;<input type='checkbox' id='s_cycle_enabled' checked='checked' /></td>
- <td>&nbsp;Background</td>
- </tr></table>
- <table><tr>
- <td width='50'>X Margin</td>
- <td width='35'><input type='text' id='s_x_margin' value='0' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td width='50'>&nbsp; Y Margin</td>
- <td width='68'><input type='text' id='s_y_margin' value='0' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp;<input type='checkbox' id='s_automargin_enabled' checked='checked' onclick='toggleAutoMargins();' /></td>
- <td>&nbsp;automatic</td>
- </tr></table>
- <table><tr>
- <td width='50'>Font</td>
- <td><select id='s_font'><?php listfonts("pf_arma_five"); ?></select></td>
- <td>&nbsp; Size &nbsp;</td>
- <td><input type='text' id='s_font_size' value='6' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; Color &nbsp;</td>
- <td><input type='text' id='s_font_color' class='color' value='#000000' style='text-align: center; width: 50px;' onchange='applyColor("s_font_color","s_font_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='s_font_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/page_edit.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>X Axis configuration</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='50'>Mode</td>
- <td><select id='s_x_labeling'><option value='LABELING_ALL'>LABELING_ALL</option><option value='LABELING_DIFFERENT'>LABELING_DIFFERENT</option></select></td>
- <td>&nbsp;&nbsp; Skip each</td>
- <td>&nbsp;<input type='text' id='s_x_skip' value='0' style='width: 20px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;labels</td>
- </tr></table>
- <table><tr>
- <td width='50'>Rotation</td>
- <td><input type='text' id='s_x_label_rotation' value='0' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/page_edit.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Grid</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='70'>Grid color</td>
- <td><input type='text' id='s_grid_color' class='color' value='#FFFFFF' style='text-align: center; width: 60px; text-align: center' onchange='applyColor("s_grid_color","s_grid_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='s_grid_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td>&nbsp; Alpha</td>
- <td>&nbsp; <input type='text' id='s_grid_alpha' value='50' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='70'>Display</td>
- <td>&nbsp;<input type='checkbox' id='s_grid_x_enabled' checked='checked' /></td>
- <td>&nbsp;X Lines</td>
- <td>&nbsp;&nbsp;&nbsp;<input type='checkbox' id='s_grid_y_enabled' checked='checked' /></td>
- <td>&nbsp;Y Lines</td>
- </tr></table>
-
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/page_edit.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Ticks</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='70'>Ticks color</td>
- <td><input type='text' id='s_ticks_color' class='color' value='#000000' style='text-align: center; width: 60px; text-align: center' onchange='applyColor("s_ticks_color","s_ticks_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='s_ticks_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td>&nbsp; Alpha</td>
- <td>&nbsp; <input type='text' id='s_ticks_alpha' value='50' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='70'>Sub ticks color</td>
- <td><input type='text' id='s_subticks_color' class='color' value='#FF0000' style='text-align: center; width: 60px; text-align: center' onchange='applyColor("s_subticks_color","s_subticks_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='s_subticks_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td>&nbsp; Alpha</td>
- <td>&nbsp; <input type='text' id='s_subticks_alpha' value='50' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;<input type='checkbox' id='s_subticks_enabled' checked='checked' onclick='toggleSubTicks();' /></td>
- <td>&nbsp;enabled</td>
- </tr></table>
- </div>
-
- <div class="roundedCorner" id='tab4' style='display: none; margin-top: 30px; margin-left: 20px; width: 350px; height: 420px; background: #F0F0F0; padding: 10px; color: #667309; border: 1px solid #E0E0E0'>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/wrench.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Chart</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='60'>Chart family</td>
- <td><select id='c_family' onchange='checkChartSettings();'><?php echo listCharts(); ?></select></td>
- <td>&nbsp;Break color</td>
- <td>&nbsp;<input type='text' id='c_break_color' class='color' value='#EA371A' style='text-align: center; width: 60px; text-align: center' onchange='applyColor("c_break_color","c_break_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='c_break_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- </tr></table>
- <table><tr>
- <td width='60'>Settings : </td>
- <td><input type='checkbox' id='c_display_values' /></td>
- <td>&nbsp;Display values</td>
- <td>&nbsp;<input type='checkbox' id='c_break' /></td>
- <td>&nbsp;Don't break on VOID</td>
- </tr></table>
- <div style='background: #D2F5C1; padding: 4px; color: #667309; margin-top: 10px;'>
- <table><tr>
- <td width='20'><img src='graphix/comment.png' width='16' height='16' alt=''/></td>
- <td>Selecting a chart layout will enable/disable chart specifics options.</td>
- </tr></table>
- </div>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/chart_line.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Plot specifics</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='60'>Plot size</td>
- <td><input type='text' id='c_plot_size' value='3' style='width: 20px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td width='60'>&nbsp;&nbsp; Border size</td>
- <td>&nbsp;<input type='text' id='c_border_size' value='2' style='width: 20px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;<input type='checkbox' id='c_border_enabled' checked='checked' onclick='checkPlotBorder();' /></td>
- <td>&nbsp;border enabled</td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/chart_bar.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Bar charts specifics</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td>&nbsp;<input type='radio' id='c_bar_classic' name='c_bar_design' value='0' checked='checked' /></td>
- <td>&nbsp;Classic</td>
- <td>&nbsp;<input type='radio' id='c_bar_rounded' name='c_bar_design' value='1' /></td>
- <td>&nbsp;Rounded</td>
- <td>&nbsp;<input type='radio' id='c_bar_gradient' name='c_bar_design' value='2' /></td>
- <td>&nbsp;Gradient filling</td>
- <td>&nbsp;<input type='checkbox' id='c_around_zero1' checked='checked' /></td>
- <td>&nbsp;around zero</td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/chart_curve.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Area charts specifics</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='100'>Forced transparency</td>
- <td><input type='text' id='c_transparency' value='50' style='width: 20px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;<input type='checkbox' id='c_forced_transparency' checked='checked' onclick='checkAreaChart();' /></td>
- <td>&nbsp;enabled</td>
- <td>&nbsp;<input type='checkbox' id='c_around_zero2' checked='checked' /></td>
- <td>&nbsp;wrapped around zero</td>
- </tr></table>
- </div>
-
- <div class="roundedCorner" id='tab5' style='display: none; margin-top: 30px; margin-left: 20px; width: 350px; height: 420px; background: #F0F0F0; padding: 10px; color: #667309; border: 1px solid #E0E0E0'>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/application_form.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Legend</b></td>
- <td width='20'><input type='checkbox' id='l_enabled' checked='checked' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='50'>Font</td>
- <td><select id='l_font'><?php listfonts("pf_arma_five"); ?></select></td>
- <td>&nbsp; Size &nbsp;</td>
- <td><input type='text' id='l_font_size' value='6' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; Color &nbsp;</td>
- <td><input type='text' id='l_font_color' class='color' value='#000000' style='text-align: center; width: 50px;' onchange='applyColor("l_font_color","l_font_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='l_font_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- </tr></table>
- <table><tr>
- <td width='50'>Margin</td>
- <td><input type='text' id='l_margin' value='6' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; Alpha &nbsp;</td>
- <td><input type='text' id='l_alpha' value='30' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; Format</td>
- <td>&nbsp; <select id='l_format'><?php echo LegendFormat(); ?></select></td>
- </tr></table>
- <table><tr>
- <td width='50'>Orientation</td>
- <td>&nbsp; <select id='l_orientation' style='width: 160px;'><option value='LEGEND_VERTICAL'>LEGEND_VERTICAL</option><option value='LEGEND_HORIZONTAL' selected='selected'>LEGEND_HORIZONTAL</option></select></td>
- <td>&nbsp; Box size &nbsp;</td>
- <td><input type='text' id='l_box_size' value='5' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='50'>Position</td>
- <td>&nbsp; <select id='l_position' style='width: 160px;' onclick='checkLegend();'><option value='CORNER_TOP_RIGHT'>CORNER_TOP_RIGHT</option><option value='CORNER_BOTTOM_RIGHT'>CORNER_BOTTOM_RIGHT</option><option value='Manual'>Manual</option></select></td>
- <td>&nbsp; X &nbsp;</td>
- <td><input type='text' id='l_x' value='10' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; Y &nbsp;</td>
- <td><input type='text' id='l_y' value='10' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- </tr></table>
- <table><tr>
- <td width='50'>Layout</td>
- <td>&nbsp; <select id='l_family' style='width: 160px;'><option value='LEGEND_SERIE_BOX'>LEGEND_SERIE_BOX</option><option value='LEGEND_FAMILY_CIRCLE'>LEGEND_FAMILY_CIRCLE</option><option value='LEGEND_FAMILY_LINE'>LEGEND_FAMILY_LINE</option></select></td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/vector.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Threshold</b></td>
- <td width='20'><input type='checkbox' id='t_enabled' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='50'>Value</td>
- <td width='60'><input type='text' id='t_value' value='0' style='width: 30px; text-align: center' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;<input type='radio' id='t_axis0' name='t_axis' value='0' checked='checked' /></td>
- <td>&nbsp;Axis 0</td>
- <td>&nbsp;<input type='radio' id='t_axis1' name='t_axis' value='1' /></td>
- <td>&nbsp;Axis 1</td>
- <td>&nbsp;<input type='radio' id='t_axis2' name='t_axis' value='2' /></td>
- <td>&nbsp;Axis 2</td>
- </tr></table>
- <table><tr>
- <td width='50'>Color</td>
- <td><input type='text' id='t_color' class='color' value='#000000' style='text-align: center; width: 50px;' onchange='applyColor("t_color","t_color_show");' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td><div id='t_color_show' style='margin-left: 4px; width: 10px; height: 10px; border: 1px solid #808080;'></div></td>
- <td>&nbsp; Alpha &nbsp;</td>
- <td><input type='text' id='t_alpha' value='50' style='width: 20px; text-align: center;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp;&nbsp; <input type='checkbox' id='t_ticks' checked='checked' /></td>
- <td>&nbsp; ticks &nbsp;</td>
- </tr></table>
- <table><tr>
- <td width='50'>Caption</td>
- <td><input type='text' id='t_caption' value='Threshold' style='width: 50px;' onmouseover='setFocus(this,true);' onmouseout='setFocus(this,false);' /></td>
- <td>&nbsp; <input type='checkbox' id='t_box' checked='checked' /></td>
- <td>&nbsp;in a box&nbsp;</td>
- <td>&nbsp; <input type='checkbox' id='t_caption_enabled' checked='checked' /></td>
- <td>&nbsp;caption enabled &nbsp;</td>
- </tr></table>
- <br/>
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/shape_flip_vertical.png' width='16' height='16' alt=''/></td>
- <td width='240'><b>Slope chart</b></td>
- <td width='20'><input type='checkbox' id='sl_enabled' onclick='doLayout();' /></td>
- <td width='38'>Enabled</td>
- </tr></table>
- <table><tr>
- <td>&nbsp; <input type='checkbox' id='sl_shaded' checked='checked' /></td>
- <td>&nbsp;Shaded&nbsp;</td>
- <td>&nbsp; <input type='checkbox' id='sl_caption_enabled' checked='checked' /></td>
- <td>&nbsp;With caption &nbsp;</td>
- <td>&nbsp; <input type='checkbox' id='sl_caption_line' checked='checked' /></td>
- <td>&nbsp;Use line as caption &nbsp;</td>
- </tr></table>
- <br/>
-
- <table style='background-color: #E8E8E8; padding: 1px; border-top: 1px solid #F5F5F5; border-bottom: 1px solid #E0E0E0'><tr>
- <td width='20'><img src='graphix/color_swatch.png' width='16' height='16' alt=''/></td>
- <td width='300'><b>Palette</b></td>
- </tr></table>
- <br/>
- <table><tr>
- <td width='50'>Template</td>
- <td>&nbsp; <select id='p_template'><?php echo listPalettes(); ?></select></td>
- </tr></table>
- </div>
- </td>
- <td width='20'></td>
- <td width='730'>
- <center><div id='result_area' style='font-size: 10px;'></div></center>
- </td>
- </tr></table>
-<script type="text/javascript">
- CurrentDiv = 1;
- URL = "";
- Automatic = true;
-
- /* Initial layout */
- toggleDIV(1);
- applyCorners();
- randomize();
- setDefaultAbsissa();
- checkEnabledAxis();
- toggleSubTicks();
- toggleAutoMargins();
- checkChartSettings();
- checkLegend();
- setColors();
-</script>
-</body>
-</html>
-<?php
- function listfonts($Default="")
- {
- echo "<option value='advent_light.ttf'>advent_light</option>";
- echo "<option value='Bedizen.ttf'>Bedizen</option>";
- if ( $Default == "" )
- { echo "<option value='Forgotte.ttf' selected='selected'>Forgotte</option>"; }
- else
- { echo "<option value='Forgotte.ttf'>Forgotte</option>"; }
- echo "<option value='GeosansLight.ttf'>GeosansLight</option>";
- if ( $Default == "pf_arma_five" )
- { echo "<option value='pf_arma_five.ttf' selected='selected'>pf_arma_five</option>"; }
- else
- { echo "<option value='pf_arma_five.ttf'>pf_arma_five</option>"; }
- echo "<option value='Silkscreen.ttf'>Silkscreen</option>";
- }
-
- function listaxis()
- {
- echo "<option value='0' selected='selected'>Axis 0</option>";
- echo "<option value='1'>Axis 1</option>";
- echo "<option value='2'>Axis 2</option>";
- }
-
- function listaxispos()
- {
- echo "<option value='left' selected='selected'>Left</option>";
- echo "<option value='right'>Right</option>";
- }
-
- function LegendFormat()
- {
- echo "<option value='LEGEND_NOBORDER' selected='selected'>LEGEND_NOBORDER</option>";
- echo "<option value='LEGEND_BOX'>LEGEND_BOX</option>";
- echo "<option value='LEGEND_ROUND'>LEGEND_ROUND</option>";
- }
-
- function listCharts()
- {
- echo "<option value='plot'>Plot chart</option>";
- echo "<option value='line'>Line chart</option>";
- echo "<option value='spline' selected='selected'>Spline chart</option>";
- echo "<option value='step'>Step chart</option>";
- echo "<option value='bar'>Bar chart</option>";
- echo "<option value='area'>Area chart</option>";
- echo "<option value='fspline'>Filled spline chart &nbsp;&nbsp;&nbsp;&nbsp;</option>";
- echo "<option value='fstep'>Filled step chart</option>";
- echo "<option value='sbar'>Stacked bar chart</option>";
- echo "<option value='sarea'>Stacked area chart</option>";
- }
-
- function listPalettes()
- {
- echo "<option value='default'>Default</option>";
- echo "<option value='autumn'>Autumn</option>";
- echo "<option value='blind'>Blind</option>";
- echo "<option value='evening'>Evening</option>";
- echo "<option value='kitchen'>Kitchen</option>";
- echo "<option value='light'>Light</option>";
- echo "<option value='navy'>Navy</option>";
- echo "<option value='shade'>Shade</option>";
- echo "<option value='spring'>Spring</option>";
- echo "<option value='shade'>Shade</option>";
- echo "<option value='summer'>Summer</option>";
- }
-
- function listalign()
- {
- echo "<option value='TEXT_ALIGN_TOPLEFT'>TEXT_ALIGN_TOPLEFT</option>";
- echo "<option value='TEXT_ALIGN_TOPMIDDLE'>TEXT_ALIGN_TOPMIDDLE</option>";
- echo "<option value='TEXT_ALIGN_TOPRIGHT'>TEXT_ALIGN_TOPRIGHT</option>";
- echo "<option value='TEXT_ALIGN_MIDDLELEFT'>TEXT_ALIGN_MIDDLELEFT</option>";
- echo "<option selected='selected' value='TEXT_ALIGN_MIDDLEMIDDLE'>TEXT_ALIGN_MIDDLEMIDDLE</option>";
- echo "<option value='TEXT_ALIGN_MIDDLERIGHT'>TEXT_ALIGN_MIDDLERIGHT</option>";
- echo "<option value='TEXT_ALIGN_BOTTOMLEFT'>TEXT_ALIGN_BOTTOMLEFT</option>";
- echo "<option value='TEXT_ALIGN_BOTTOMMIDDLE'>TEXT_ALIGN_BOTTOMMIDDLE</option>";
- echo "<option value='TEXT_ALIGN_BOTTOMRIGHT'>TEXT_ALIGN_BOTTOMRIGHT</option>";
- }
-
- function listaxisformat()
- {
- echo "<option selected='selected' value='AXIS_FORMAT_DEFAULT'>DEFAULT</option>";
- echo "<option value='AXIS_FORMAT_METRIC'>METRIC</option>";
- echo "<option value='AXIS_FORMAT_CURRENCY'>CURRENCY</option>";
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/script/render.php b/notFinishedCode/pChart2.1.2/examples/sandbox/script/render.php
deleted file mode 100644
index d281d86..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/script/render.php
+++ /dev/null
@@ -1,891 +0,0 @@
-<?php
- /*
- render.php - Sandbox rendering engine
-
- Version : 1.1.0
- Made by : Jean-Damien POGOLOTTI
- Last Update : 18/01/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- session_start();
-
- if ( !isset($_GET["Mode"]) ) { $Mode = "Render"; } else { $Mode = $_GET["Mode"]; }
-
- $Constants = readConstantFile();
-
- /* -- Retrieve General configuration items -------------------------------- */
- $g_width = $_SESSION["g_width"];
- $g_height = $_SESSION["g_height"];
- $g_border = $_SESSION["g_border"];
-
- $g_aa = $_SESSION["g_aa"];
- $g_shadow = $_SESSION["g_shadow"];
- $g_transparent = $_SESSION["g_transparent"];
-
- $g_title_enabled = $_SESSION["g_title_enabled"];
- $g_title = $_SESSION["g_title"];
- $g_title_align = $_SESSION["g_title_align"];
- $g_title_x = $_SESSION["g_title_x"];
- $g_title_y = $_SESSION["g_title_y"];
- $g_title_color = $_SESSION["g_title_color"];
- $g_title_font = $_SESSION["g_title_font"];
- $g_title_font_size = $_SESSION["g_title_font_size"];
- $g_title_box = $_SESSION["g_title_box"];
-
- $g_solid_enabled = $_SESSION["g_solid_enabled"];
- $g_solid_color = $_SESSION["g_solid_color"];
- $g_solid_dashed = $_SESSION["g_solid_dashed"];
-
- $g_gradient_enabled = $_SESSION["g_gradient_enabled"];
- $g_gradient_start = $_SESSION["g_gradient_start"];
- $g_gradient_end = $_SESSION["g_gradient_end"];
- $g_gradient_direction = $_SESSION["g_gradient_direction"];
- $g_gradient_alpha = $_SESSION["g_gradient_alpha"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve Data configuration items ----------------------------------- */
- $d_serie1_enabled = $_SESSION["d_serie1_enabled"];
- $d_serie2_enabled = $_SESSION["d_serie2_enabled"];
- $d_serie3_enabled = $_SESSION["d_serie3_enabled"];
- $d_absissa_enabled = $_SESSION["d_absissa_enabled"];
-
- $d_serie1_name = $_SESSION["d_serie1_name"];
- $d_serie2_name = $_SESSION["d_serie2_name"];
- $d_serie3_name = $_SESSION["d_serie3_name"];
-
- $d_serie1_axis = $_SESSION["d_serie1_axis"];
- $d_serie2_axis = $_SESSION["d_serie2_axis"];
- $d_serie3_axis = $_SESSION["d_serie3_axis"];
-
- $data0 = $_SESSION["data0"];
- $data1 = $_SESSION["data1"];
- $data2 = $_SESSION["data2"];
- $absissa = $_SESSION["absissa"];
-
- $d_normalize_enabled = $_SESSION["d_normalize_enabled"];
-
- $d_axis0_name = $_SESSION["d_axis0_name"];
- $d_axis1_name = $_SESSION["d_axis1_name"];
- $d_axis2_name = $_SESSION["d_axis2_name"];
-
- $d_axis0_unit = $_SESSION["d_axis0_unit"];
- $d_axis1_unit = $_SESSION["d_axis1_unit"];
- $d_axis2_unit = $_SESSION["d_axis2_unit"];
-
- $d_axis0_position = $_SESSION["d_axis0_position"];
- $d_axis1_position = $_SESSION["d_axis1_position"];
- $d_axis2_position = $_SESSION["d_axis2_position"];
-
- $d_axis0_format = $_SESSION["d_axis0_format"];
- $d_axis1_format = $_SESSION["d_axis1_format"];
- $d_axis2_format = $_SESSION["d_axis2_format"];
-
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve Scale configuration items ---------------------------------- */
- $s_x = $_SESSION["s_x"];
- $s_y = $_SESSION["s_y"];
- $s_width = $_SESSION["s_width"];
- $s_height = $_SESSION["s_height"];
- $s_direction = $_SESSION["s_direction"];
- $s_arrows_enabled = $_SESSION["s_arrows_enabled"];
- $s_mode = $_SESSION["s_mode"];
- $s_cycle_enabled = $_SESSION["s_cycle_enabled"];
- $s_x_margin = $_SESSION["s_x_margin"];
- $s_y_margin = $_SESSION["s_y_margin"];
- $s_automargin_enabled = $_SESSION["s_automargin_enabled"];
- $s_font = $_SESSION["s_font"];
- $s_font_size = $_SESSION["s_font_size"];
- $s_font_color = $_SESSION["s_font_color"];
-
- $s_x_labeling = $_SESSION["s_x_labeling"];
- $s_x_skip = $_SESSION["s_x_skip"];
- $s_x_label_rotation = $_SESSION["s_x_label_rotation"];
-
- $s_grid_color = $_SESSION["s_grid_color"];
- $s_grid_alpha = $_SESSION["s_grid_alpha"];
- $s_grid_x_enabled = $_SESSION["s_grid_x_enabled"];
- $s_grid_y_enabled = $_SESSION["s_grid_y_enabled"];
-
- $s_ticks_color = $_SESSION["s_ticks_color"];
- $s_ticks_alpha = $_SESSION["s_ticks_alpha"];
- $s_subticks_color = $_SESSION["s_subticks_color"];
- $s_subticks_alpha = $_SESSION["s_subticks_alpha"];
- $s_subticks_enabled = $_SESSION["s_subticks_enabled"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve Chart configuration items ---------------------------------- */
- $c_family = $_SESSION["c_family"];
- $c_display_values = $_SESSION["c_display_values"];
- $c_break_color = $_SESSION["c_break_color"];
- $c_break = $_SESSION["c_break"];
-
- $c_plot_size = $_SESSION["c_plot_size"];
- $c_border_size = $_SESSION["c_border_size"];
- $c_border_enabled = $_SESSION["c_border_enabled"];
-
- $c_bar_classic = $_SESSION["c_bar_classic"];
- $c_bar_rounded = $_SESSION["c_bar_rounded"];
- $c_bar_gradient = $_SESSION["c_bar_gradient"];
- $c_around_zero1 = $_SESSION["c_around_zero1"];
-
- $c_transparency = $_SESSION["c_transparency"];
- $c_forced_transparency = $_SESSION["c_forced_transparency"];
- $c_around_zero2 = $_SESSION["c_around_zero2"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve Legend configuration items ---------------------------------- */
- $l_enabled = $_SESSION["l_enabled"];
-
- $l_font = $_SESSION["l_font"];
- $l_font_size = $_SESSION["l_font_size"];
- $l_font_color = $_SESSION["l_font_color"];
-
- $l_margin = $_SESSION["l_margin"];
- $l_alpha = $_SESSION["l_alpha"];
- $l_format = $_SESSION["l_format"];
-
- $l_orientation = $_SESSION["l_orientation"];
- $l_box_size = $_SESSION["l_box_size"];
-
- $l_position = $_SESSION["l_position"];
- $l_x = $_SESSION["l_x"];
- $l_y = $_SESSION["l_y"];
-
- $l_family = $_SESSION["l_family"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve Threshold configuration items ------------------------------ */
- $t_enabled = $_SESSION["t_enabled"];
-
- $t_value = $_SESSION["t_value"];
- $t_axis = $_SESSION["t_axis"];
-
- $t_color = $_SESSION["t_color"];
- $t_alpha = $_SESSION["t_alpha"];
- $t_ticks = $_SESSION["t_ticks"];
-
- $t_caption = $_SESSION["t_caption"];
- $t_box = $_SESSION["t_box"];
- $t_caption_enabled = $_SESSION["t_caption_enabled"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve slope chart configuration items ---------------------------- */
- $sl_enabled = $_SESSION["sl_enabled"];
- $sl_shaded = $_SESSION["sl_shaded"];
- $sl_caption_enabled = $_SESSION["sl_caption_enabled"];
- $sl_caption_line = $_SESSION["sl_caption_line"];
- /* ------------------------------------------------------------------------ */
-
- /* -- Retrieve color configuration items ---------------------------------- */
- $p_template = $_SESSION["p_template"];
- /* ------------------------------------------------------------------------ */
-
-
- /* pChart library inclusions */
- include("../../../class/pData.class.php");
- include("../../../class/pDraw.class.php");
- include("../../../class/pImage.class.php");
-
- $myData = new pData();
- if ( $Mode == "Source" )
- {
- echo "&lt;?php\r\n";
- echo 'include("class/pData.class.php");'."\r\n";
- echo 'include("class/pDraw.class.php");'."\r\n";
- echo 'include("class/pImage.class.php");'."\r\n";
- echo "\r\n";
- echo '$myData = new pData();'."\r\n";
- }
-
- if ( $p_template != "default" )
- $myData->loadPalette("../../../palettes/".$p_template.".color",TRUE);
-
- $Axis = "";
- if ( $d_serie1_enabled == "true" )
- {
- $data0 = stripTail($data0);
- $Values = preg_split("/!/",right($data0,strlen($data0)-1));
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = VOID; } $myData->addPoints($Value,"Serie1"); }
-
- $myData->setSerieDescription("Serie1",$d_serie1_name);
- $myData->setSerieOnAxis("Serie1",$d_serie1_axis);
- $Axis[$d_serie1_axis] = TRUE;
-
- if ( $Mode == "Source" )
- {
- $Data = "";
- foreach($Values as $key => $Value)
- { if ( $Value == "" || $Value == VOID ) { $Value = "VOID"; } $Data = $Data.",".toString($Value); }
- $Data = right($Data,strlen($Data)-1);
-
- echo '$myData->addPoints(array('.$Data.'),"Serie1");'."\r\n";
- echo '$myData->setSerieDescription("Serie1","'.$d_serie1_name.'");'."\r\n";
- echo '$myData->setSerieOnAxis("Serie1",'.$d_serie1_axis.');'."\r\n\r\n";
-
- $Axis[$d_serie1_axis] = TRUE;
- }
- }
-
- if ( $d_serie2_enabled == "true" )
- {
- $data1 = stripTail($data1);
- $Values = preg_split("/!/",right($data1,strlen($data1)-1));
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = VOID; } $myData->addPoints($Value,"Serie2"); }
-
- $myData->setSerieDescription("Serie2",$d_serie2_name);
- $myData->setSerieOnAxis("Serie2",$d_serie2_axis);
- $Axis[$d_serie2_axis] = TRUE;
-
- if ( $Mode == "Source" )
- {
- $Data = "";
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = "VOID"; } $Data = $Data.",".toString($Value); }
- $Data = right($Data,strlen($Data)-1);
-
- echo '$myData->addPoints(array('.$Data.'),"Serie2");'."\r\n";
- echo '$myData->setSerieDescription("Serie2","'.$d_serie2_name.'");'."\r\n";
- echo '$myData->setSerieOnAxis("Serie2",'.$d_serie2_axis.');'."\r\n\r\n";
-
- $Axis[$d_serie2_axis] = TRUE;
- }
- }
-
- if ( $d_serie3_enabled == "true" )
- {
- $data2 = stripTail($data2);
- $Values = preg_split("/!/",right($data2,strlen($data2)-1));
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = VOID; } $myData->addPoints($Value,"Serie3"); }
-
- $myData->setSerieDescription("Serie3",$d_serie3_name);
- $myData->setSerieOnAxis("Serie3",$d_serie3_axis);
- $Axis[$d_serie3_axis] = TRUE;
-
- if ( $Mode == "Source" )
- {
- $Data = "";
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = "VOID"; } $Data = $Data.",".toString($Value); }
- $Data = right($Data,strlen($Data)-1);
-
- echo '$myData->addPoints(array('.$Data.'),"Serie3");'."\r\n";
- echo '$myData->setSerieDescription("Serie3","'.$d_serie3_name.'");'."\r\n";
- echo '$myData->setSerieOnAxis("Serie3",'.$d_serie3_axis.');'."\r\n\r\n";
-
- $Axis[$d_serie3_axis] = TRUE;
- }
- }
-
- if ( $d_absissa_enabled == "true" )
- {
- $absissa = stripTail($absissa);
- $Values = preg_split("/!/",right($absissa,strlen($absissa)-1));
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = VOID; } $myData->addPoints($Value,"Absissa"); }
-
- $myData->setAbscissa("Absissa");
-
- if ( $Mode == "Source" )
- {
- $Data = "";
- foreach($Values as $key => $Value)
- { if ( $Value == "" ) { $Value = "VOID"; } $Data = $Data.",".toString($Value); }
- $Data = right($Data,strlen($Data)-1);
-
- echo '$myData->addPoints(array('.$Data.'),"Absissa");'."\r\n";
- echo '$myData->setAbscissa("Absissa");'."\r\n\r\n";
- }
- }
-
- if ( isset($Axis[0]) )
- {
- if ( $d_axis0_position == "left" ) { $myData->setAxisPosition(0,AXIS_POSITION_LEFT); } else { $myData->setAxisPosition(0,AXIS_POSITION_RIGHT); }
- $myData->setAxisName(0,$d_axis0_name);
- $myData->setAxisUnit(0,$d_axis0_unit);
-
- if ( $d_axis0_format == "AXIS_FORMAT_METRIC" ) { $myData->setAxisDisplay(0,680004); }
- if ( $d_axis0_format == "AXIS_FORMAT_CURRENCY" ) { $myData->setAxisDisplay(0,680005,"$"); }
-
- if ( $Mode == "Source" )
- {
- if ( $d_axis0_position == "left" ) { echo '$myData->setAxisPosition(0,AXIS_POSITION_LEFT);'."\r\n"; } else { echo '$myData->setAxisPosition(0,AXIS_POSITION_RIGHT);'."\r\n"; }
- echo '$myData->setAxisName(0,"'.$d_axis0_name.'");'."\r\n";
- echo '$myData->setAxisUnit(0,"'.$d_axis0_unit.'");'."\r\n\r\n";
- }
- }
-
- if ( isset($Axis[1]) )
- {
- if ( $d_axis1_position == "left" ) { $myData->setAxisPosition(1,AXIS_POSITION_LEFT); } else { $myData->setAxisPosition(1,AXIS_POSITION_RIGHT); }
- $myData->setAxisName(1,$d_axis1_name);
- $myData->setAxisUnit(1,$d_axis1_unit);
-
- if ( $Mode == "Source" )
- {
- if ( $d_axis1_position == "left" ) { echo '$myData->setAxisPosition(1,AXIS_POSITION_LEFT);'."\r\n"; } else { echo '$myData->setAxisPosition(1,AXIS_POSITION_RIGHT);'."\r\n"; }
- echo '$myData->setAxisName(1,"'.$d_axis1_name.'");'."\r\n";
- echo '$myData->setAxisUnit(1,"'.$d_axis1_unit.'");'."\r\n\r\n";
- }
- }
-
- if ( isset($Axis[2]) )
- {
- if ( $d_axis2_position == "left" ) { $myData->setAxisPosition(2,AXIS_POSITION_LEFT); } else { $myData->setAxisPosition(2,AXIS_POSITION_RIGHT); }
- $myData->setAxisName(2,$d_axis2_name);
- $myData->setAxisUnit(2,$d_axis2_unit);
-
- if ( $Mode == "Source" )
- {
- if ( $d_axis2_position == "left" ) { echo '$myData->setAxisPosition(2,AXIS_POSITION_LEFT);'."\r\n"; } else { echo '$myData->setAxisPosition(2,AXIS_POSITION_RIGHT);'."\r\n"; }
- echo '$myData->setAxisName(2,"'.$d_axis2_name.'");'."\r\n";
- echo '$myData->setAxisUnit(2,"'.$d_axis2_unit.'");'."\r\n\r\n";
- }
- }
-
- if ( $d_normalize_enabled == "true" )
- {
- if ( $Mode == "Render" )
- $myData->normalize(100);
- else
- echo '$myData->normalize(100);'."\r\n";
- }
-
- if ( $Mode == "Render" )
- {
- if ( $g_transparent == "true" )
- $myPicture = new pImage($g_width,$g_height,$myData,TRUE);
- else
- $myPicture = new pImage($g_width,$g_height,$myData);
- }
- else
- {
- $myPicture = new pImage($g_width,$g_height,$myData);
- if ( $g_transparent == "true" )
- echo '$myPicture = new pImage('.$g_width.','.$g_height.',$myData,TRUE);'."\r\n";
- else
- echo '$myPicture = new pImage('.$g_width.','.$g_height.',$myData);'."\r\n";
- }
-
- if ( $g_aa == "false" )
- {
- if ( $Mode == "Render" )
- $myPicture->Antialias = FALSE;
- else
- echo '$myPicture->Antialias = FALSE;'."\r\n";
- }
-
- if ( $g_solid_enabled == "true" )
- {
- list($R,$G,$B) = extractColors($g_solid_color);
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $g_solid_dashed == "true" ) { $Settings["Dash"] = TRUE; $Settings["DashR"]=$R+20; $Settings["DashG"]=$G+20; $Settings["DashB"]=$B+20; }
-
- if ( $Mode == "Render" )
- $myPicture->drawFilledRectangle(0,0,$g_width,$g_height,$Settings);
- else
- {
- echo dumpArray("Settings",$Settings);
- echo '$myPicture->drawFilledRectangle(0,0,'.$g_width.','.$g_height.',$Settings);'."\r\n\r\n";
- }
- }
-
- if ( $g_gradient_enabled == "true" )
- {
- list($StartR,$StartG,$StartB) = extractColors($g_gradient_start);
- list($EndR,$EndG,$EndB) = extractColors($g_gradient_end);
-
- $Settings = array("StartR"=>$StartR,"StartG"=>$StartG,"StartB"=>$StartB,"EndR"=>$EndR,"EndG"=>$EndG,"EndB"=>$EndB,"Alpha"=>$g_gradient_alpha);
-
- if ( $Mode == "Render" )
- {
- if ( $g_gradient_direction == "vertical" )
- $myPicture->drawGradientArea(0,0,$g_width,$g_height,DIRECTION_VERTICAL,$Settings);
- else
- $myPicture->drawGradientArea(0,0,$g_width,$g_height,DIRECTION_HORIZONTAL,$Settings);
- }
- else
- {
- echo dumpArray("Settings",$Settings);
-
- if ( $g_gradient_direction == "vertical" )
- echo '$myPicture->drawGradientArea(0,0,'.$g_width.','.$g_height.',DIRECTION_VERTICAL,$Settings);'."\r\n\r\n";
- else
- echo '$myPicture->drawGradientArea(0,0,'.$g_width.','.$g_height.',DIRECTION_HORIZONTAL,$Settings);'."\r\n\r\n";
- }
- }
-
- if ( $Mode == "Render" )
- {
- if ( $g_border == "true" ) { $myPicture->drawRectangle(0,0,$g_width-1,$g_height-1,array("R"=>0,"G"=>0,"B"=>0)); }
- if ( $g_shadow == "true" ) { $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>50,"G"=>50,"B"=>50,"Alpha"=>20)); }
- }
- else
- {
- if ( $g_border == "true" ) { echo '$myPicture->drawRectangle(0,0,'.($g_width-1).','.($g_height-1).',array("R"=>0,"G"=>0,"B"=>0));'."\r\n\r\n"; }
- if ( $g_shadow == "true" ) { echo '$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>50,"G"=>50,"B"=>50,"Alpha"=>20));'."\r\n\r\n"; }
- }
-
- if ( $g_title_enabled == "true" )
- {
- if ( $Mode == "Render" )
- $myPicture->setFontProperties(array("FontName"=>"../../../fonts/".$g_title_font,"FontSize"=>$g_title_font_size));
- else
- echo '$myPicture->setFontProperties(array("FontName"=>"fonts/'.$g_title_font.'","FontSize"=>'.$g_title_font_size.'));'."\r\n";
-
- list($R,$G,$B) = extractColors($g_title_color);
-
- $TextSettings = array("Align"=>getTextAlignCode($g_title_align),"R"=>$R,"G"=>$G,"B"=>$B);
- if ( $g_title_box == "true" ) { $TextSettings["DrawBox"] = TRUE; $TextSettings["BoxAlpha"] = 30; }
-
- if ( $Mode == "Render" )
- $myPicture->drawText($g_title_x,$g_title_y,$g_title,$TextSettings);
- else
- {
- echo dumpArray("TextSettings",$TextSettings);
- echo '$myPicture->drawText('.$g_title_x.','.$g_title_y.',"'.$g_title.'",$TextSettings);'."\r\n\r\n";
- }
- }
-
- /* Scale section */
- if ( $Mode == "Render" )
- { if ( $g_shadow == "true" ) { $myPicture->setShadow(FALSE); } }
- else
- { if ( $g_shadow == "true" ) { echo '$myPicture->setShadow(FALSE);'."\r\n"; } }
-
- if ( $Mode == "Render" )
- $myPicture->setGraphArea($s_x,$s_y,$s_x+$s_width,$s_y+$s_height);
- else
- echo '$myPicture->setGraphArea('.$s_x.','.$s_y.','.($s_x+$s_width).','.($s_y+$s_height).');'."\r\n";
-
- list($R,$G,$B) = extractColors($s_font_color);
- if ( $Mode == "Render" )
- $myPicture->setFontProperties(array("R"=>$R,"G"=>$G,"B"=>$B,"FontName"=>"../../../fonts/".$s_font,"FontSize"=>$s_font_size));
- else
- echo '$myPicture->setFontProperties(array("R"=>'.$R.',"G"=>'.$G.',"B"=>'.$B.',"FontName"=>"fonts/'.$s_font.'","FontSize"=>'.$s_font_size.'));'."\r\n\r\n";
-
- /* Scale specific parameters -------------------------------------------------------------------------------- */
- list($GridR,$GridG,$GridB) = extractColors($s_grid_color);
- list($TickR,$TickG,$TickB) = extractColors($s_ticks_color);
- list($SubTickR,$SubTickG,$SubTickB) = extractColors($s_subticks_color);
-
- if ( $s_direction == "SCALE_POS_LEFTRIGHT" ) { $Pos = 690101; } else { $Pos = 690102; }
- if ( $s_x_labeling == "LABELING_ALL") { $Labeling = 691011; } else { $Labeling = 691012; }
- if ( $s_mode == "SCALE_MODE_FLOATING" ) { $iMode = 690201; }
- if ( $s_mode == "SCALE_MODE_START0" ) { $iMode = 690202; }
- if ( $s_mode == "SCALE_MODE_ADDALL" ) { $iMode = 690203; }
- if ( $s_mode == "SCALE_MODE_ADDALL_START0" ) { $iMode = 690204; }
-
- $Settings = array("Pos"=>$Pos,"Mode"=>$iMode,"LabelingMethod"=>$Labeling,"GridR"=>$GridR,"GridG"=>$GridG,"GridB"=>$GridB,"GridAlpha"=>$s_grid_alpha,"TickR"=>$TickR,"TickG"=>$TickG,"TickB"=>$TickB,"TickAlpha"=>$s_ticks_alpha,"LabelRotation"=>$s_x_label_rotation);
-
- if ( $s_x_skip != 0 ) { $Settings["LabelSkip"] = $s_x_skip; }
- if ( $s_cycle_enabled == "true" ) { $Settings["CycleBackground"] = TRUE; }
- if ( $s_arrows_enabled == "true" ) { $Settings["DrawArrows"] = TRUE; }
- if ( $s_grid_x_enabled == "true" ) { $Settings["DrawXLines"] = TRUE; } else { $Settings["DrawXLines"] = 0; }
- if ( $s_subticks_enabled == "true" )
- { $Settings["DrawSubTicks"] = TRUE; $Settings["SubTickR"] = $SubTickR; $Settings["SubTickG"] = $SubTickG; $Settings["SubTickB"] = $SubTickB; $Settings["SubTickAlpha"] = $s_subticks_alpha;}
- if ( $s_automargin_enabled == "false" )
- { $Settings["XMargin"] = $s_x_margin; $Settings["YMargin"] = $s_y_margin; }
-
- if ( $Mode == "Render" )
- {
- if ( $s_grid_y_enabled == "true" ) { $Settings["DrawYLines"] = ALL; } else { $Settings["DrawYLines"] = NONE; }
- $myPicture->drawScale($Settings);
- }
- else
- {
- if ( $s_grid_y_enabled == "true" ) { $Settings["DrawYLines"] = "ALL"; } else { $Settings["DrawYLines"] = "NONE"; }
- echo dumpArray("Settings",$Settings);
- echo '$myPicture->drawScale($Settings);'."\r\n\r\n";
- }
- /* ---------------------------------------------------------------------------------------------------------- */
-
- if ( $Mode == "Render" )
- { if ( $g_shadow == "true" ) { $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>50,"G"=>50,"B"=>50,"Alpha"=>10)); } }
- else
- { if ( $g_shadow == "true" ) { echo '$myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>50,"G"=>50,"B"=>50,"Alpha"=>10));'."\r\n\r\n"; } }
-
- /* Chart specific parameters -------------------------------------------------------------------------------- */
- if ( $c_display_values == "true" ) { $Config = array("DisplayValues"=>TRUE); } else { $Config = ""; }
-
- if ( $c_family == "plot" )
- {
- $Config["PlotSize"] = $c_plot_size;
- if ( $c_border_enabled == "true" ) { $Config["PlotBorder"] = TRUE; $Config["BorderSize"] = $c_border_size; }
-
- if ( $Mode == "Render" )
- $myPicture->drawPlotChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawPlotChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "line" )
- {
- if ( $c_break == "true" )
- {
- list($BreakR,$BreakG,$BreakB) = extractColors($c_break_color);
-
- $Config["BreakVoid"] = 0;
- $Config["BreakR"] = $BreakR;
- $Config["BreakG"] = $BreakG;
- $Config["BreakB"] = $BreakB;
- }
-
- if ( $Mode == "Render" )
- $myPicture->drawLineChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawLineChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "step" )
- {
- if ( $c_break == "true" )
- {
- list($BreakR,$BreakG,$BreakB) = extractColors($c_break_color);
-
- $Config["BreakVoid"] = 0;
- $Config["BreakR"] = $BreakR;
- $Config["BreakG"] = $BreakG;
- $Config["BreakB"] = $BreakB;
- }
-
- if ( $Mode == "Render" )
- $myPicture->drawStepChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawStepChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "spline" )
- {
- if ( $c_break == "true" )
- {
- list($BreakR,$BreakG,$BreakB) = extractColors($c_break_color);
-
- $Config["BreakVoid"] = 0;
- $Config["BreakR"] = $BreakR;
- $Config["BreakG"] = $BreakG;
- $Config["BreakB"] = $BreakB;
- }
-
- if ( $Mode == "Render" )
- $myPicture->drawSplineChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawSplineChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "bar" )
- {
- if ( $c_bar_rounded == "true" ) { $Config["Rounded"] = TRUE; }
- if ( $c_bar_gradient == "true" ) { $Config["Gradient"] = TRUE; }
- if ( $c_around_zero1 == "true" ) { $Config["AroundZero"] = TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawBarChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawBarChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "area" )
- {
- if ( $c_forced_transparency == "true" ) { $Config["ForceTransparency"] = $c_transparency; }
- if ( $c_around_zero2 == "true" ) { $Config["AroundZero"] = TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawAreaChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawAreaChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "fstep" )
- {
- if ( $c_forced_transparency == "true" ) { $Config["ForceTransparency"] = $c_transparency; }
- if ( $c_around_zero2 == "true" ) { $Config["AroundZero"] = TRUE; } else { $Config["AroundZero"] = FALSE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawFilledStepChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawFilledStepChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "fspline" )
- {
- if ( $c_forced_transparency == "true" ) { $Config["ForceTransparency"] = $c_transparency; }
- if ( $c_around_zero2 == "true" ) { $Config["AroundZero"] = TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawFilledSplineChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawFilledSplineChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "sbar" )
- {
- if ( $c_bar_rounded == "true" ) { $Config["Rounded"] = TRUE; }
- if ( $c_bar_gradient == "true" ) { $Config["Gradient"] = TRUE; }
- if ( $c_around_zero1 == "true" ) { $Config["AroundZero"] = TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawStackedBarChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawStackedBarChart($Config);'."\r\n";
- }
- }
-
- if ( $c_family == "sarea" )
- {
- if ( $c_forced_transparency == "true" ) { $Config["ForceTransparency"] = $c_transparency; }
- if ( $c_around_zero2 == "true" ) { $Config["AroundZero"] = TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawStackedAreaChart($Config);
- else
- {
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawStackedAreaChart($Config);'."\r\n";
- }
- }
-
- if ( $t_enabled == "true" )
- {
- list($R,$G,$B) = extractColors($t_color);
-
- $Config = "";
- $Config["R"] = $R; $Config["G"] = $G; $Config["B"] = $B;
- $Config["Alpha"] = $t_alpha;
-
- if ( isset($myData->Data["Axis"][$t_axis]) ) { $Config["AxisID"] = $t_axis; }
-
- if ( $t_ticks == "true" ) { $Config["Ticks"] = 4; } else { $Config["Ticks"] = 0; }
-
- if ( $t_caption_enabled == "true" )
- {
- $Config["WriteCaption"] = TRUE;
- $Config["Caption"] = $t_caption;
- if ( $t_box == "true" ) { $Config["DrawBox"] = TRUE; }
- }
-
- if ( $Mode == "Render" )
- $myPicture->drawThreshold($t_value,$Config);
- else
- {
- $Config["Caption"] = chr(34).$t_caption.chr(34);
-
- echo "\r\n";
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawThreshold('.$t_value.',$Config);'."\r\n";
- }
- }
-
- if ( $l_enabled == "true" )
- {
- list($R,$G,$B) = extractColors($l_font_color);
-
- $Config = "";
- $Config["FontR"] = $R; $Config["FontG"] = $G; $Config["FontB"] = $B;
- $Config["FontName"] = "../../../fonts/".$l_font;
- $Config["FontSize"] = $l_font_size;
- $Config["Margin"] = $l_margin;
- $Config["Alpha"] = $l_alpha;
- $Config["BoxSize"] = $l_box_size;
-
- if ( $l_format == "LEGEND_NOBORDER" ) { $Config["Style"] = 690800; }
- if ( $l_format == "LEGEND_BOX" ) { $Config["Style"] = 690801; }
- if ( $l_format == "LEGEND_ROUND" ) { $Config["Style"] = 690802; }
-
- if ( $l_orientation == "LEGEND_VERTICAL" ) { $Config["Mode"] = 690901; }
- if ( $l_orientation == "LEGEND_HORIZONTAL" ) { $Config["Mode"] = 690902; }
-
- if ( $l_family == "LEGEND_FAMILY_CIRCLE" ) { $Config["Family"] = 691052; }
- if ( $l_family == "LEGEND_FAMILY_LINE" ) { $Config["Family"] = 691053; }
-
- $Size = $myPicture->getLegendSize($Config);
- if ( $l_position == "CORNER_TOP_RIGHT" )
- { $l_y = $l_margin + 10; $l_x = $g_width - $Size["Width"] - 10 + $l_margin; }
- if ( $l_position == "CORNER_BOTTOM_RIGHT" )
- { $l_y = $g_height - $Size["Height"] - 10 + $l_margin; $l_x = $g_width - $Size["Width"] - 10 + $l_margin; }
-
- if ( $Mode == "Render" )
- $myPicture->drawLegend($l_x,$l_y,$Config);
- else
- {
- $Config["FontName"] = chr(34)."fonts/".$l_font.chr(34);
-
- echo "\r\n";
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawLegend('.$l_x.','.$l_y.',$Config);'."\r\n";
- }
- }
-
- if ( $sl_enabled == "true" )
- {
- $Config = "";
- $Config["CaptionMargin"] = 10;
- $Config["CaptionWidth"] = 10;
-
- if ( $sl_shaded == "true" ) { $Config["ShadedSlopeBox"] = TRUE; }
- if ( $sl_caption_enabled != "true" ) { $Config["Caption"] = FALSE; }
- if ( $sl_caption_line == "true" ) { $Config["CaptionLine"] =TRUE; }
-
- if ( $Mode == "Render" )
- $myPicture->drawDerivative($Config);
- else
- {
- echo "\r\n";
- echo dumpArray("Config",$Config);
- echo '$myPicture->drawDerivative($Config);'."\r\n";
- }
- }
-
- if ( $Mode == "Render" )
- $myPicture->stroke();
- else
- echo "\r\n".'$myPicture->stroke();'."\r\n?>";
-
- function extractColors($Hexa)
- {
- if ( strlen($Hexa) != 6 ) { return(array(0,0,0)); }
-
- $R = hexdec(left($Hexa,2));
- $G = hexdec(mid($Hexa,3,2));
- $B = hexdec(right($Hexa,2));
-
- return(array($R,$G,$B));
- }
-
- function getTextAlignCode($Mode)
- {
- if ( $Mode == "TEXT_ALIGN_TOPLEFT" ) { return(690401); }
- if ( $Mode == "TEXT_ALIGN_TOPMIDDLE" ) { return(690402); }
- if ( $Mode == "TEXT_ALIGN_TOPRIGHT" ) { return(690403); }
- if ( $Mode == "TEXT_ALIGN_MIDDLELEFT" ) { return(690404); }
- if ( $Mode == "TEXT_ALIGN_MIDDLEMIDDLE" ) { return(690405); }
- if ( $Mode == "TEXT_ALIGN_MIDDLERIGHT" ) { return(690406); }
- if ( $Mode == "TEXT_ALIGN_BOTTOMLEFT" ) { return(690407); }
- if ( $Mode == "TEXT_ALIGN_BOTTOMMIDDLE" ) { return(690408); }
- if ( $Mode == "TEXT_ALIGN_BOTTOMRIGHT" ) { return(690409); }
- }
-
- function dumpArray($Name,$Values)
- {
- if ( $Values == "" ) { return('$'.$Name.' = "";'."\r\n"); }
-
- $Result = '$'.$Name." = array(";
- foreach ($Values as $Key => $Value)
- { $Result = $Result.chr(34).$Key.chr(34)."=>".translate($Value).", "; }
-
- $Result = left($Result,strlen($Result)-2).");\r\n";
-
- return($Result);
- }
-
- function translate($Value)
- {
- global $Constants;
-
- if ( isset($Constants[$Value]))
- return($Constants[$Value]);
- else
- return($Value);
- }
-
-
- function stripTail($Values)
- {
- $Values = preg_split("/!/",right($Values,strlen($Values)-1));
-
- $Temp = ""; $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == "" )
- { $Temp[] = VOID; }
- else
- {
- if ( $Temp != "" && $Result != "" )
- { $Result = array_merge($Result,$Temp); }
- elseif( $Temp != "" && $Result == "" )
- { $Result = $Temp; }
-
- $Result[] = $Value;
- $Temp = "";
- }
- }
-
- $Serialized = "!"; foreach($Result as $Key => $Value) { $Serialized = $Serialized.$Value."!"; }
- $Serialized = left($Serialized,strlen($Serialized)-1);
-
- return($Serialized);
- }
-
- function readConstantFile()
- {
- $FileName = "../includes/constants.txt";
-
- $handle = @fopen($FileName, "r");
- if ($handle)
- {
- $Result = "";
- while (($buffer = fgets($handle, 4096)) !== false)
- {
- $Values = preg_split("/,/",$buffer);
- $Result[$Values[0]] = $Values[1];
- }
- fclose($handle);
- return($Result);
- }
- else
- { return(array("VOID"=>"0.12345")); }
- }
-
- function toString($Value)
- {
- if ( is_numeric($Value) || $Value == "VOID")
- return($Value);
- else
- return(chr(34).$Value.chr(34));
- }
-
- function left($value,$NbChar)
- { return substr($value,0,$NbChar); }
-
- function right($value,$NbChar)
- { return substr($value,strlen($value)-$NbChar,$NbChar); }
-
- function mid($value,$Depart,$NbChar)
- { return substr($value,$Depart-1,$NbChar); }
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/script/session.php b/notFinishedCode/pChart2.1.2/examples/sandbox/script/session.php
deleted file mode 100644
index 697f9dd..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/script/session.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
- /*
- session.php - Sandbox sesson manager
-
- Version : 1.1.0
- Made by : Jean-Damien POGOLOTTI
- Last Update : 18/01/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- session_start();
-
- foreach($_GET as $Key => $Value)
- { $_SESSION[$Key] = $Value; }
-
- print_r($_SESSION);
-
- usleep(200000);
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/examples/sandbox/style.css b/notFinishedCode/pChart2.1.2/examples/sandbox/style.css
deleted file mode 100644
index 6ffbe70..0000000
--- a/notFinishedCode/pChart2.1.2/examples/sandbox/style.css
+++ /dev/null
@@ -1,89 +0,0 @@
-body
- {
- margin: 4px;
- text-align: left;
- font-family: tahoma;
- background-color: #FFFFFF;
- background-image: url('graphix/background.console.png');
- }
-
-table { margin: 0px; padding: 0px;}
-
-td { margin: 0px; padding: 0px; }
-
-tr { margin: 0px; padding: 0px; }
-
-td.topMenu { font-family: tahoma; font-size: 11px; }
-
-div.roundedCorner { font-size: 10px; }
-
-div.topMenu { border: 1px solid #FEFEFE; background-color: #EAEAEA; cursor: hand; cursor: pointer; }
-
-input
- {
- font-family: tahoma;
- font-size: 10px;
- }
-
-input[type="text"]
- {
- width: 325px;
- border: 1px solid #D0D0D0;
- background-color: #FFFFFF;
- vertical-align: middle;
- font-weight: normal;
- color: #707070;
- outline: none;
- height: 15px;
- }
-
-select
- {
- border: 1px solid #D0D0D0;
- background-color: #FFFFFF;
- vertical-align: middle;
- font-weight: normal;
- color: #707070;
- outline: none;
- font-size: 10px;
- height: 19px;
- }
-
-input[type="submit"]
- {
- border: 1px solid #D0D0D0;
- background-color: #FFFFFF;
- vertical-align: middle;
- font-weight: normal;
- color: #707070;
- outline: none;
- }
-
-pre
- {
- font-family; tahoma;
- font-size: 11px;
- background-color: #FFFFFF;
- border: 1px solid #E0E0E0;
- padding: 5px;
- margin-top: 20px;
- text-align: left;
- overflow-x: auto;
- white-space: pre-wrap;
- white-space: -moz-pre-wrap !important;
- white-space: -pre-wrap;
- white-space: -o-pre-wrap;
- word-wrap: break-word;
- }
-
-a.link:link { text-decoration: none; }
-a.link:visited { text-decoration: none; }
-a.link:hover { text-decoration: underline; }
-
-a.smallLinkGrey:link { text-decoration: none; color: #6A6A6A; }
-a.smallLinkGrey:visited { text-decoration: none; color: #6A6A6A; }
-a.smallLinkGrey:hover { text-decoration: underline; color: #6A6A6A; }
-
-a.smallLinkBlack:link { text-decoration: none; color: #000000; }
-a.smallLinkBlack:visited { text-decoration: none; color: #000000; }
-a.smallLinkBlack:hover { text-decoration: underline; color: #000000; }
diff --git a/notFinishedCode/pChart2.1.2/examples/server.png b/notFinishedCode/pChart2.1.2/examples/server.png
deleted file mode 100644
index 3cd12cc..0000000
--- a/notFinishedCode/pChart2.1.2/examples/server.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/examples/telephone.png b/notFinishedCode/pChart2.1.2/examples/telephone.png
deleted file mode 100644
index 7c614b5..0000000
--- a/notFinishedCode/pChart2.1.2/examples/telephone.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/Bedizen.ttf b/notFinishedCode/pChart2.1.2/fonts/Bedizen.ttf
deleted file mode 100644
index d115733..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/Bedizen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/Forgotte.ttf b/notFinishedCode/pChart2.1.2/fonts/Forgotte.ttf
deleted file mode 100644
index a2f7f4a..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/Forgotte.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/GeosansLight.ttf b/notFinishedCode/pChart2.1.2/fonts/GeosansLight.ttf
deleted file mode 100644
index 055932a..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/GeosansLight.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/MankSans.ttf b/notFinishedCode/pChart2.1.2/fonts/MankSans.ttf
deleted file mode 100644
index a6146a9..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/MankSans.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/Silkscreen.ttf b/notFinishedCode/pChart2.1.2/fonts/Silkscreen.ttf
deleted file mode 100644
index ae4425d..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/Silkscreen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/advent_light.ttf b/notFinishedCode/pChart2.1.2/fonts/advent_light.ttf
deleted file mode 100644
index 514030a..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/advent_light.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/calibri.ttf b/notFinishedCode/pChart2.1.2/fonts/calibri.ttf
deleted file mode 100644
index 8b6e3c9..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/calibri.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/pf_arma_five.ttf b/notFinishedCode/pChart2.1.2/fonts/pf_arma_five.ttf
deleted file mode 100644
index db04ec3..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/pf_arma_five.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/fonts/verdana.ttf b/notFinishedCode/pChart2.1.2/fonts/verdana.ttf
deleted file mode 100644
index 5a059d2..0000000
--- a/notFinishedCode/pChart2.1.2/fonts/verdana.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/pChart2.1.2/index.php b/notFinishedCode/pChart2.1.2/index.php
deleted file mode 100644
index e431508..0000000
--- a/notFinishedCode/pChart2.1.2/index.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
- /* If you crawl here, you may want to see the examples */
-
- header('Location: examples/');
- exit();
-?> \ No newline at end of file
diff --git a/notFinishedCode/pChart2.1.2/palettes/autumn.color b/notFinishedCode/pChart2.1.2/palettes/autumn.color
deleted file mode 100644
index 80ffbc0..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/autumn.color
+++ /dev/null
@@ -1,6 +0,0 @@
-185,106,154,100
-216,137,184,100
-156,192,137,100
-216,243,201,100
-253,232,215,100
-255,255,255,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/blind.color b/notFinishedCode/pChart2.1.2/palettes/blind.color
deleted file mode 100644
index 9d62238..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/blind.color
+++ /dev/null
@@ -1,6 +0,0 @@
-109,152,171,100
-0,39,94,100
-254,183,41,100
-168,177,184,100
-255,255,255,100
-0,0,0,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/evening.color b/notFinishedCode/pChart2.1.2/palettes/evening.color
deleted file mode 100644
index 5d0c1a5..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/evening.color
+++ /dev/null
@@ -1,6 +0,0 @@
-242,245,237,100
-255,194,0,100
-255,91,0,100
-184,0,40,100
-132,0,46,100
-74,192,242,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/kitchen.color b/notFinishedCode/pChart2.1.2/palettes/kitchen.color
deleted file mode 100644
index b0eeb33..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/kitchen.color
+++ /dev/null
@@ -1,6 +0,0 @@
-155,225,251,100
-197,239,253,100
-189,32,49,100
-35,31,32,100
-255,255,255,100
-0,98,149,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/light.color b/notFinishedCode/pChart2.1.2/palettes/light.color
deleted file mode 100644
index d0657db..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/light.color
+++ /dev/null
@@ -1,7 +0,0 @@
-239,210,121,100
-149,203,233,100
-2,71,105,100
-175,215,117,100
-44,87,0,100
-222,157,127,100
-
diff --git a/notFinishedCode/pChart2.1.2/palettes/navy.color b/notFinishedCode/pChart2.1.2/palettes/navy.color
deleted file mode 100644
index 3b6df5e..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/navy.color
+++ /dev/null
@@ -1,6 +0,0 @@
-25,78,132,100
-59,107,156,100
-31,36,42,100
-55,65,74,100
-96,187,34,100
-242,186,187,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/shade.color b/notFinishedCode/pChart2.1.2/palettes/shade.color
deleted file mode 100644
index 0e43a1d..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/shade.color
+++ /dev/null
@@ -1,6 +0,0 @@
-117,113,22,100
-174,188,33,100
-217,219,86,100
-0,71,127,100
-76,136,190,100
-141,195,233,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/spring.color b/notFinishedCode/pChart2.1.2/palettes/spring.color
deleted file mode 100644
index 386cbc4..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/spring.color
+++ /dev/null
@@ -1,6 +0,0 @@
-146,123,81,100
-168,145,102,100
-128,195,28,100
-188,221,90,100
-255,121,0,100
-251,179,107,100
diff --git a/notFinishedCode/pChart2.1.2/palettes/summer.color b/notFinishedCode/pChart2.1.2/palettes/summer.color
deleted file mode 100644
index 1609534..0000000
--- a/notFinishedCode/pChart2.1.2/palettes/summer.color
+++ /dev/null
@@ -1,6 +0,0 @@
-253,184,19,100
-246,139,31,100
-241,112,34,100
-98,194,204,100
-228,246,248,100
-238,246,108,100
diff --git a/notFinishedCode/pChart2.1.2/readme.txt b/notFinishedCode/pChart2.1.2/readme.txt
deleted file mode 100644
index 14b866f..0000000
--- a/notFinishedCode/pChart2.1.2/readme.txt
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/serverHandler.py b/notFinishedCode/serverHandler.py
deleted file mode 100644
index 956d565..0000000
--- a/notFinishedCode/serverHandler.py
+++ /dev/null
@@ -1,320 +0,0 @@
-import ServerClass
-import GSMClass1
-import LogFileClass
-from time import sleep
-
-################################
-################################
-######SET THESE PARAMETERS######
-################################
-portListen = 50008 #port number of handler
-nameOfLogFile = 'handler.log' #name of the log file
-portAddress = '/dev/ttyUSB0'
-baudRate = 19200
-################################
-################################
-################################
-
-#create the log file class
-logger = LogFileClass.Logging(nameOfLogFile)
-#use this variable as the error counter
-errorCount = 0
-#start logging all events
-logger.logEvent('')
-#counter how many time we were in the while loop
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-global deviceError
-lastState = 0
-resetState = 0
-deviceError = 0
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
- global deviceError
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass1.serialPort(portAddress, baudRate, 20)
- initDevice = gsmDevice.portInit(5)
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
- print 'any connection ' + str(anyConnection)
- print 'initDevice ' + str(initDevice)
-
- if initDevice!= 1:
- deviceError = 1
- else:
- deviceError = 0
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- resetState = 1
- return 2
- else:
- logger.logEvent('$no connection')
- logger.logEvent('$else case in init system' + str(anyConnection) + ' ' + str(initDevice) + ' ')
- resetState = 1
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
- print 'I RECEIVED THE FOLLOWING MESSAGE' + message
- if message == 'NO DATA':
- print 'try to close the connection' + str(handlerSocket.closeConnection())
- global resetState
- resetState = 1
- return 1
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
- return 7
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- return 2
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
- return 3
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
- return 6
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- print 'outcome ' + str(outcome)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- return 4
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
- return 5
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- global deviceError
- lastState = 3
- if deviceError == 0:
- receiveCall = gsmDevice.receiveCall()
- if receiveCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in RECEIVE'
- else:
- receiveCall = 0
-
- if deviceError == 0:
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
-
-
- sendMessage = handlerSocket.sendData(callSuccess)
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller1'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller2'
-
- #call the number here
- global lastState
- global deviceError
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- if deviceError==0:
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall == 'TIMEOUT':
- deviceError = 1
- print 'device error in CALL'
- else:
- tryCall=0
-
-
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- print 'try call result'+ str(tryCall)
- if tryCall != 'TIMEOUT':
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 10:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- handResponse = handlerSocket.sendData(callSuccess)
-
- if deviceError==0:
- tryHangUp = gsmDevice.hangUp()
-
- return handResponse
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 8 and resetState!= 1:
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(10)
- else:
- receivedMessage = receiveMessage(30)
- elif test ==2:
- print 'initialized system but device not working'
- logger.logEvent('initialized system but device not working')
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- if receivedMessage == 4 or receivedMessage == 5 or receivedMessage == 2 or receivedMessage == 3:
- receivedMessage = receiveMessage(10)
- else:
- receivedMessage = receiveMessage(30)
-
- elif test ==0:
- print 'nobody can connect, reboot board, restart cellphone'
- logger.logEvent('nobody can connect, reboot board, restart cellphone')
-
- del handlerSocket
- del gsmDevice
diff --git a/notFinishedCode/startSoftware.py b/notFinishedCode/startSoftware.py
deleted file mode 100644
index 3d48047..0000000
--- a/notFinishedCode/startSoftware.py
+++ /dev/null
@@ -1,22 +0,0 @@
-import ServerClass
-import subprocess
-import sys
-import os
-def restart_program():
- """Restarts the current program.
- Note: this function does not return. Any cleanup action (like
- saving data) must be done before calling this function."""
- python = sys.executable
- os.execl(python, python, * sys.argv)
-
-while 1:
- server = ServerClass.ServerHandler(34600)
- tried = server.openSocket()
-
- test = server.receiveData(2)
- if test == 'START APP':
- print 'start'
- subprocess.Popen(args=['gnome-terminal','--command= python /home/gsmselftest/gsm-selftest/For\ Weekly\ Test/tricode/gsmselftest-website2.py'])
- print server.closeConnection()
- del server
- restart_program()
diff --git a/notFinishedCode/tables.php b/notFinishedCode/tables.php
deleted file mode 100644
index 0e7bacc..0000000
--- a/notFinishedCode/tables.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<head> <title> Results page </title> <style>
-/* -------------------------------------------------------
-Author: Vitaly Friedman
-Theme: Green Life - A Fresh, Warm and Readable Table
-URL: http://www.alvit.de/vf
--------------------------------------------------------
-*/
-
- table {
- font: 11px verdana,verdana, arial;
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- text-align: left;
- color: #333;
- line-height: 19px;
- }
-
- caption {
- font-size: 14px;
- font-weight: bold;
- margin-bottom: 20px;
- text-align: left;
- text-transform: uppercase;
- }
-
- td {
- margin: 0;
- padding: 20px 10px;
- border: 1px dotted #f5f5f5;
- }
-
-
- th {
- font-weight: normal;
- text-transform: uppercase;
- }
-
- thead tr th {
- background-color: #575757;
- padding: 20px 10px;
- color: #fff;
- font-weight: bold;
- border-right: 2px solid #333;
- text-transform: uppercase;
- text-align:center;
- }
-
- tfoot tr th, tfoot tr td {
- background-color: transparent;
- padding: 20px 10px;
- color: #ccc;
- border-top: 1px solid #ccc;
- }
-
- tbody tr th {
- padding: 20px 10px;
- border-bottom: 1px dotted #fafafa;
- }
-
- tr {
- background-color: #FBFDF6;
- }
- tr.odd {
- background-color: #EDF7DC;
- }
-
- tr:hover {
- }
-
- tr:hover td, tr:hover td a, tr:hover th a {
- color: #a10000;
- }
-
- td:hover {
- }
-
- tr:hover th a:hover {
- background-color: #F7FBEF;
- border-bottom: 2px solid #86C200;
- }
-
- table a {
- color: #608117;
- background-image: none;
- text-decoration: none;
- border-bottom: 1px dotted #8A8F95;
- padding: 2px;
- padding-right: 12px; background: transparent url(http://www.alvit.de/vf/csstablegallery/link.gif) no-repeat 100% 50%;
- }
-
- table a:hover {
- color: #BBC4CD;
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/link.gif) no-repeat 100% 50%;
- }
-
- table a:visited {
- text-decoration: none;
- border-bottom: 1px dotted #333;
- text-decoration: none;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/visitedLink.gif) no-repeat 100% 50%;
- }
-
- table a:visited:hover {
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/visitedLink.gif) no-repeat 100% 50%;
- }
-</style>
-
-<body>
-<table summary = "Submitted table designs">
-<caption> Table concept for our results </caption>
-<thead>
-<tr>
-<th scope = "col"> From: </th>
-<th scope = "col" > To: </th>
-<th scope = "col"> Message: </th>
-<th scope = "col"> Status: </th>
-</tr>
-</thead>
-<!-- start of the table rows-->
-<tbody>
-
-<tr>
-<th scope = "row" id = "r100"> GSM1 </th>
-<th scope = "row" id = "r100"> GSM2 </th>
-<td> Works OK. The system is fully functional! </td>
-<td> 200 </td>
-</tr>
-
-<tr>
-<th scope = "row" id = "r100"> SIP</th>
-<th scope = "row" id = "r100">GSM1 </th>
-<td> Works OK </td>
-<td> 200</td>
-</tr>
-
-<tr>
-<th scope = "row" id = "r100"> SIP</th>
-<th scope = "row" id = "r100">GSM1 </th>
-<td> Doesn't work FAILED </td>
-<td> 800</td>
-</tr>
-
-<tr>
-<th scope = "row" id = "r100"> SIP</th>
-<th scope = "row" id = "r100">GSM1 </th>
-<td> Works OK </td>
-<td> 200</td>
-</tr>
-
-<tr>
-<th scope = "row" id = "r100"> SIP</th>
-<th scope = "row" id = "r100">GSM1 </th>
-<td> Doesn't work FAILED </td>
-<td> 800</td>
-</tr>
-
-
-</tbody>
-
-</table>
-</body>
diff --git a/notFinishedCode/tricode/ClientClass.py b/notFinishedCode/tricode/ClientClass.py
deleted file mode 100755
index 46c3b00..0000000
--- a/notFinishedCode/tricode/ClientClass.py
+++ /dev/null
@@ -1,123 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class Connection:
- def __init__(self, h, p):
- self.host = h
- self.port = p
- self.s = None
- self.connected = 0
-
- self.debugMode = 0
-
- def connect(self):
- self.s = None
-
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC, socket.SOCK_STREAM):
- af, socktype, proto, canonname, sa = res
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- continue
- try:
- self.s.connect(sa)
- except socket.error, msg:
- self.s.close()
- self.connected = 0
- self.s = None
- continue
- break
- if self.s is None:
- self.connected = 0
- return 0 #couldn't connect to the server
- else:
- self.connected = 1
- return 1 #successfully connected to the server
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.s.send(data)
- return 1
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- return 2
-
- else:
- return 0
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
- try:
- data = self.s.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- return data
-
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
-
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.connected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.s.shutdown(SHUT_RDWR)
- self.s.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us, [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
diff --git a/notFinishedCode/tricode/ClientClass.pyc b/notFinishedCode/tricode/ClientClass.pyc
deleted file mode 100755
index ae03a09..0000000
--- a/notFinishedCode/tricode/ClientClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/ControllerClass.py b/notFinishedCode/tricode/ControllerClass.py
deleted file mode 100755
index 30d8b33..0000000
--- a/notFinishedCode/tricode/ControllerClass.py
+++ /dev/null
@@ -1,226 +0,0 @@
-import sys
-import os
-import subprocess
-import SSHTunnelBoxClass
-import ClientClass
-
-import LogFileClass
-logger = LogFileClass.Logging('TestProcessLog.log')
-
-from time import sleep
-
-
-class doTheTest:
-
- def __init__(self, callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest):
-
- self.callFrom = callFrom
- self.dest = callTo
- self.destNo = destNo
- self.accDest = accDest
- self.accCaller = accCaller
- self.callPortName = callPortName
- self.destPortName = destPortName
- self.portCaller = None
- self.portDest = None
- self.resultCaller = None
- self.resultDest = None
- self.testResult = None
-
- def FuncTest(self):
-
- logger.logEvent('')
-
- self.initCaller()
- sleep(2)
-
- self.callerGreeting()
-
- if self.connected == 'OK':
-
- self.caller.sendData('CALLER|'+self.destNo)
- callerHandler = self.caller.receiveData(10)
-
- if callerHandler == "CALLER READY":
- logger.logEvent('Caller handler : Ready')
-
- self.initReceiver()
- sleep(2)
- self.receiverGreeting()
-
- if self.connected == 'OK':
-
- self.receiver.sendData('RECEIVER')
- destHandler = self.receiver.receiveData(10)
-
- if destHandler == 'RECEIVER READY':
- logger.logEvent('Receiver handler : Ready')
-
- self.startCall()
- self.waitingFeedback()
-
- else:
- self.testResult = 604
- logger.logEvent('604 General Handler Error: Destination handler no respond timeout')
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.closeConnection()
-
- else:
- logger.logEvent('998 General Handler Error: Could not connect Destination handler')
- self.testResult = 998
- self.caller.sendData('TERMINATE CONNECTION')
- self.caller.closeConnection()
- else:
- self.testResult = 605
- logger.logEvent('605 General Handler Error: caller handler no respond timeout')
-
- self.caller.closeConnection()
-
- else:
- self.testResult = 999
- logger.logEvent('999 General Handler Error: Could not connect to Caller handler')
-
-
-
- def waitingFeedback(self):
- logger.logEvent('Waiting Feedback')
- self.resultCaller = self.caller.receiveData(15)
- self.resultDest = self.receiver.receiveData(15)
-
- if self.resultCaller <> 'CALL OK' or self.resultDest <> 'CALL OK':
-
- logger.logEvent('Test Failed')
- self.testResult = 486
- self.initTerminate()
-
- else:
- logger.logEvent('Test Succeed')
- self.testResult = 200
- self.initTerminate()
-
- def startCall(self):
- logger.logEvent('Start Call')
- self.receiver.sendData('RECEIVE START')
- self.caller.sendData('CALL START')
-
- def initCaller(self):
- logger.logEvent('init Caller')
- logger.logEvent(self.callFrom)
-
- if self.callFrom =="GSMRZ1":
- self.portCaller = 50007
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMRZ2":
- self.portCaller = 40000
- self.box1 = SHHTunnelBoxClass.SSHTunneling(40000, 50008, '10.4.58.241', 'lsfks', 'r')
- self.box1.startTunneling()
-
- elif self.callFrom =="GSMRZ3":
- self.portCaller = 20000
- self.box2 = SSHTunnelBoxClass.SSHTunneling(20000, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
- self.box2.startTunneling()
-
- elif self.callFrom =="GSMExt.O2":
- self.portCaller = 50010
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Voda":
- self.portCaller = 50011
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Tm":
- self.portCaller = 50012
- self.initGSM(self.portCaller, self.callPortName)
-
- elif self.callFrom =="GSMExt.Eplus":
- self.portCaller = 50013
- self.initGSM(self.portCaller, self.callPortName)
-
- else:
- self.portCaller = 50099
- subprocess.Popen(args=["gnome-terminal", '--command=python SIPHandler.py '+self.accCaller+ ' ' +str(self.portCaller)])
-
- def initReceiver(self):
- logger.logEvent('init Receiver')
- logger.logEvent(self.dest)
-
- if self.dest =="GSMRZ1":
- self.portDest = 50007
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMRZ2":
- self.portDest = 40000
- self.box1 = SHHTunnelBoxClass.SSHTunneling(40000, 50008, '10.4.58.241', 'lsfks', 'r')
- self.box1.startTunneling()
-
- elif self.dest =="GSMRZ3":
- self.portDest = 20000#should be 9
- self.box2 = SSHTunnelBoxClass.SSHTunneling(20000, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
- self.box2.startTunneling()
-
- elif self.dest =="GSMExt.O2":
- self.portDest = 50010
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Voda":
- self.portDest = 50011
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Tm":
- self.portDest = 50012
- self.initGSM(self.portDest, self.destPortName)
-
- elif self.dest =="GSMExt.Eplus":
- self.portDest = 50013
- self.initGSM(self.portDest, self.destPortName)
-
- else:
- self.portDest = 50100
- subprocess.Popen(args=['gnome-terminal', '--command=python SIPHandler.py '+self.accDest+ ' ' +str(self.portDest)])
-
- def initTerminate(self):
- self.caller.sendData('TERMINATE CONNECTION')
- self.receiver.sendData('TERMINATE CONNECTION')
- if self.dest =="GSMRZ2" or self.callFrom =="GSMRZ2":
- self.box1.killTunneling()
- if self.dest =="GSMRZ3" or self.callFrom =="GSMRZ3":
- self.box2.killTunneling()
-
- def callerGreeting(self):
- self.connected = None
- self.caller = ClientClass.Connection('localhost',self.portCaller)
- self.caller.connect()
-
- if self.caller.connected == 1:
- logger.logEvent('Connected to Caller Handler')
- self.caller.sendData('HELLO HANDLER')
- if self.caller.receiveData(10) == 'HELLO CONTROLLER':
- logger.logEvent('Caller Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Caller')
- self.connected = 'NOT OK'
-
- def receiverGreeting(self):
- self.connected = None
- self.receiver = ClientClass.Connection('localhost', self.portDest)
- self.receiver.connect()
-
- if self.receiver.connected == 1:
- logger.logEvent('Connected to Receiver Handler')
- self.receiver.sendData('HELLO HANDLER')
- if self.receiver.receiveData(10) == 'HELLO CONTROLLER':
- logger.logEvent('Receiver Handler respond')
- self.connected = 'OK'
- else:
- logger.logEvent('Cannt connect to Receiver')
- self.connected = 'NOT OK'
-
- def initGSM(self, portCommunication, portDevice):
-
- subprocess.Popen(args=["gnome-terminal", '--command=python GSMHandler.py '+str(portCommunication)+ ' ' +str(portDevice)])
-
-
-
-
diff --git a/notFinishedCode/tricode/ControllerClass.pyc b/notFinishedCode/tricode/ControllerClass.pyc
deleted file mode 100644
index f502b88..0000000
--- a/notFinishedCode/tricode/ControllerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/DbClass.py b/notFinishedCode/tricode/DbClass.py
deleted file mode 100755
index 697a2e4..0000000
--- a/notFinishedCode/tricode/DbClass.py
+++ /dev/null
@@ -1,294 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.callerLists = list()
- self.errCode = None
- self.lockSet = 0
- self.deviceUpdate = None
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- #columns.append(str(0))
- self.tasksList.append(columns)
-
- if not self.tasksList:
- return 0
- else:
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `portName`,`number`, `username`, `password`, `server` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- output = self.cur.fetchall()
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateGSMDevice(self, deviceName, newPortName, newNumber):
- if self.connectionCreated == 1:
- try:
- stmt = "UPDATE DeviceAddressTable SET portName = '"+ newPortName + "', number = '"+ newNumber+ "' WHERE deviceName = '" + deviceName+ "'"
- self.cur.execute(stmt)
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, unisip=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(unisip), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def errorCode(self,code):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT description FROM ErrorCodeTable where `errorcode`=%s", code)
- data = self.cur.fetchone()
- self.errCode = data[0]
- return self.errCode
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def lockMutex(self, seconds):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #resource is free which means software is not started yet
- successful = self.cur.execute("SELECT GET_LOCK('SoftwareStarted', %i)"%(int(seconds)))
-
- output1 = self.cur.fetchone()
- if output1[0] == 1:
- #I got the lock now
- self.lockSet = 1
- return 1
- elif output1[0] == 0:
- return 7 #if the attempt timed out (for example, because another client has previously locked the name)
- else:
- return 6 # if an error occurred (such as running out of memory or the thread was killed with
- elif output[0] ==0:
- return 4 #software is already running and somebody has allocated the mutex
- else:
- #means some not so good bug
- return 5 # if an error occurs (such as an incorrect argument).
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def releaseMutex(self):
- if self.connectionCreated == 1:
- try:
- if self.lockSet == 1:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #the lock seems to be free
- self.lockSet = 0
- return 4
-
- elif output[0] == 0:
-
- #try to release the lock
- successful = self.cur.execute("SELECT RELEASE_LOCK('SoftwareStarted')")
- output1 = self.cur.fetchone()
- self.lockSet = 0
- if output1[0] == 1:
- #the lock was released successfully
- return 1
-
- elif output1[0] == 0:
- # if the lock was not established by this thread (in which case the lock is not released)
- return 5
- else:
- # and NULL if the named lock did not exist. The lock does not exist if it was never obtained by a call to GET_LOCK() or if it has previously been released.
- return 6
- else:
- #some serious problem
- #and NULL if an error occurs (such as an incorrect argument).
- return 5
-
- else:
- return 7 #the lock wasn't set
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
diff --git a/notFinishedCode/tricode/DbClass.pyc b/notFinishedCode/tricode/DbClass.pyc
deleted file mode 100755
index 16f6395..0000000
--- a/notFinishedCode/tricode/DbClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/GSM EPlus handler.log b/notFinishedCode/tricode/GSM EPlus handler.log
deleted file mode 100755
index 7997504..0000000
--- a/notFinishedCode/tricode/GSM EPlus handler.log
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:27.264683 ------------------
-On: 2011-09-09 12:48:27.265058 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 12:48:28.558466 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49184)
-On: 2011-09-09 12:48:28.558826 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:28.559020 Event: RECEIVER READY SENT
-On: 2011-09-09 12:48:41.101556 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:06.848402 ------------------
-On: 2011-09-09 12:59:06.848758 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 12:59:08.158183 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57214)
-On: 2011-09-09 12:59:08.158555 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:59:08.158752 Event: RECEIVER READY SENT
-On: 2011-09-09 12:59:19.917552 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:13.387544 ------------------
-On: 2011-09-09 13:06:13.387893 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 13:06:14.689750 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46713)
-On: 2011-09-09 13:06:14.690101 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:14.690286 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:27.129506 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:32.215390 ------------------
-On: 2011-09-09 16:26:32.215752 Event: LISTEN ON PORT: 50013
-On: 2011-09-09 16:26:33.562369 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42523)
-On: 2011-09-09 16:26:33.562737 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:26:33.562934 Event: RECEIVER READY SENT
-On: 2011-09-09 16:26:45.033768 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:40:55.226813 ------------------
-On: 2011-09-12 14:40:55.227014 Event: LISTEN ON PORT: 50013
-On: 2011-09-12 14:40:57.081675 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43518)
-On: 2011-09-12 14:40:57.081881 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:40:57.082085 Event: RECEIVER READY SENT
-On: 2011-09-12 14:41:08.595861 Event: RECEIVE STATUS REPORTED
diff --git a/notFinishedCode/tricode/GSM O2 handler.log b/notFinishedCode/tricode/GSM O2 handler.log
deleted file mode 100755
index 84433a8..0000000
--- a/notFinishedCode/tricode/GSM O2 handler.log
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:16.340815 ------------------
-On: 2011-09-02 13:19:16.341186 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:19:17.518510 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58024)
-On: 2011-09-02 13:19:17.518877 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:19:17.519088 Event: RECEIVER READY SENT
-On: 2011-09-02 13:19:52.565859 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:12.787827 ------------------
-On: 2011-09-02 13:20:12.788178 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:20:14.086507 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58028)
-On: 2011-09-02 13:20:14.086878 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:20:14.087087 Event: RECEIVER READY SENT
-On: 2011-09-02 13:20:49.131352 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:04.327838 ------------------
-On: 2011-09-02 13:21:04.328190 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:21:05.622153 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58032)
-On: 2011-09-02 13:21:05.622509 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:21:05.622716 Event: RECEIVER READY SENT
-On: 2011-09-02 13:21:40.669855 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:20.540569 ------------------
-On: 2011-09-02 13:29:20.540925 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:29:21.822541 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35657)
-On: 2011-09-02 13:29:21.823061 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:29:21.823284 Event: RECEIVER READY SENT
-On: 2011-09-02 13:29:56.893863 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:46:00.662353 ------------------
-On: 2011-09-02 13:46:00.662704 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:46:01.954462 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50620)
-On: 2011-09-02 13:46:01.954832 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:46:01.955047 Event: RECEIVER READY SENT
-On: 2011-09-02 13:46:37.001865 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:55.948391 ------------------
-On: 2011-09-02 13:49:55.948742 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:49:57.222503 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34857)
-On: 2011-09-02 13:49:57.222862 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:49:57.223068 Event: RECEIVER READY SENT
-On: 2011-09-02 13:50:32.269865 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:04.613859 ------------------
-On: 2011-09-02 13:55:04.614276 Event: LISTEN ON PORT: 50010
-On: 2011-09-02 13:55:05.900791 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49252)
-On: 2011-09-02 13:55:05.901155 Event: TALK INITIALIZATION SENT
-On: 2011-09-02 13:55:05.901360 Event: RECEIVER READY SENT
-On: 2011-09-02 13:55:40.945864 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:08.553238 ------------------
-On: 2011-09-09 12:01:08.553690 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:01:09.633472 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37013)
-On: 2011-09-09 12:01:09.633839 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:01:09.634040 Event: RECEIVER READY SENT
-On: 2011-09-09 12:01:20.697548 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:38.800491 ------------------
-On: 2011-09-09 12:47:38.800847 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:47:40.099170 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 38025)
-On: 2011-09-09 12:47:40.099532 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:47:40.099759 Event: RECEIVER READY SENT
-On: 2011-09-09 12:47:52.645510 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:04.852997 ------------------
-On: 2011-09-09 12:51:04.853352 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:51:05.992284 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 52593)
-On: 2011-09-09 12:51:05.992645 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:05.992845 Event: CALLER READY SENT
-On: 2011-09-09 12:51:18.173129 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:45.031428 ------------------
-On: 2011-09-09 12:58:45.031786 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 12:58:46.137551 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50390)
-On: 2011-09-09 12:58:46.137917 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:58:46.138115 Event: RECEIVER READY SENT
-On: 2011-09-09 12:58:57.525504 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:28.675031 ------------------
-On: 2011-09-09 13:05:28.675384 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 13:05:29.989932 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58734)
-On: 2011-09-09 13:05:29.990321 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:29.990516 Event: RECEIVER READY SENT
-On: 2011-09-09 13:05:41.029529 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:14.182184 ------------------
-On: 2011-09-09 16:25:14.182544 Event: LISTEN ON PORT: 50010
-On: 2011-09-09 16:25:15.512986 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41638)
-On: 2011-09-09 16:25:15.513359 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:25:15.513559 Event: RECEIVER READY SENT
-On: 2011-09-09 16:25:50.557079 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:43:09.337867 ------------------
-On: 2011-09-12 14:43:09.338081 Event: LISTEN ON PORT: 50010
-On: 2011-09-12 14:43:11.180846 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 60058)
-On: 2011-09-12 14:43:11.181472 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:43:11.181850 Event: RECEIVER READY SENT
-On: 2011-09-12 14:43:46.231884 Event: RECEIVE STATUS REPORTED
diff --git a/notFinishedCode/tricode/GSM RZ1 handler.log b/notFinishedCode/tricode/GSM RZ1 handler.log
deleted file mode 100755
index 73390d2..0000000
--- a/notFinishedCode/tricode/GSM RZ1 handler.log
+++ /dev/null
@@ -1,445 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:04.252668 ------------------
-On: 2011-09-09 12:09:04.253031 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:09:05.548461 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56426)
-On: 2011-09-09 12:09:05.548828 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:09:05.549026 Event: RECEIVER READY SENT
-On: 2011-09-09 12:09:10.346080 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:14.607291 ------------------
-On: 2011-09-09 12:49:14.607750 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:49:15.835788 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56351)
-On: 2011-09-09 12:49:15.836139 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:49:15.836444 Event: RECEIVER READY SENT
-On: 2011-09-09 12:49:20.734057 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:58.309936 ------------------
-On: 2011-09-09 12:49:58.310290 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:49:59.620358 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56362)
-On: 2011-09-09 12:49:59.620713 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:49:59.620910 Event: CALLER READY SENT
-On: 2011-09-09 12:50:07.098264 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:12.795225 ------------------
-On: 2011-09-09 12:50:12.795583 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:50:14.118855 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56366)
-On: 2011-09-09 12:50:14.119213 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:50:14.119408 Event: CALLER READY SENT
-On: 2011-09-09 12:50:19.922092 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:27.671994 ------------------
-On: 2011-09-09 12:50:27.672351 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:50:28.975329 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56372)
-On: 2011-09-09 12:50:28.975692 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:50:28.975891 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:04.023944 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:06.711538 ------------------
-On: 2011-09-09 12:51:06.711896 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:51:07.998006 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56376)
-On: 2011-09-09 12:51:07.998560 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:07.998802 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:14.901568 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:25.887230 ------------------
-On: 2011-09-09 12:51:25.887589 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 12:51:27.186301 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 56380)
-On: 2011-09-09 12:51:27.186663 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:27.186859 Event: RECEIVER READY SENT
-On: 2011-09-09 12:51:34.905569 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:58.642536 ------------------
-On: 2011-09-09 13:06:58.642891 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:06:59.926611 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55773)
-On: 2011-09-09 13:06:59.926965 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:59.927150 Event: RECEIVER READY SENT
-On: 2011-09-09 13:07:04.714132 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:42.389809 ------------------
-On: 2011-09-09 13:07:42.390169 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:07:43.727870 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55784)
-On: 2011-09-09 13:07:43.728236 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:07:43.728439 Event: CALLER READY SENT
-On: 2011-09-09 13:07:52.374208 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:58.054747 ------------------
-On: 2011-09-09 13:07:58.055099 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:07:59.392133 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55789)
-On: 2011-09-09 13:07:59.392493 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:07:59.392689 Event: CALLER READY SENT
-On: 2011-09-09 13:08:04.658096 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:12.432386 ------------------
-On: 2011-09-09 13:08:12.432741 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 13:08:13.714138 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55795)
-On: 2011-09-09 13:08:13.714495 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:08:13.714691 Event: RECEIVER READY SENT
-On: 2011-09-09 13:08:21.713585 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:33.320470 ------------------
-On: 2011-09-09 16:27:33.320821 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:27:34.665873 Event: $connection established but device not working: ('127.0.0.1', 46371)
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:12.758156 ------------------
-On: 2011-09-09 16:28:12.758516 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:28:14.140885 Event: $connection established but device not working: ('127.0.0.1', 46381)
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:21.843292 ------------------
-On: 2011-09-09 16:28:21.843645 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 16:28:23.189381 Event: $connection established but device not working: ('127.0.0.1', 46385)
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:03.739982 ------------------
-On: 2011-09-09 21:08:03.740341 Event: LISTEN ON PORT: 50007
-On: 2011-09-09 21:08:57.457214 Event: $no connection
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:31:40.604286 ------------------
-On: 2011-09-11 20:31:40.604485 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:31:42.470822 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44479)
-On: 2011-09-11 20:31:42.471118 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:31:42.471364 Event: RECEIVER READY SENT
-On: 2011-09-11 20:31:47.318892 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:32:18.769934 ------------------
-On: 2011-09-11 20:32:18.770084 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:32:20.621688 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44487)
-On: 2011-09-11 20:32:20.621780 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:32:20.621846 Event: RECEIVER READY SENT
-On: 2011-09-11 20:32:26.154870 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:35:30.903279 ------------------
-On: 2011-09-11 20:35:30.903427 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:35:32.736107 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37454)
-On: 2011-09-11 20:35:32.736376 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:35:32.736586 Event: RECEIVER READY SENT
-On: 2011-09-11 20:35:37.982869 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:41:54.832964 ------------------
-On: 2011-09-11 20:41:54.833110 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:41:56.697828 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58521)
-On: 2011-09-11 20:41:56.698115 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:41:56.698374 Event: RECEIVER READY SENT
-On: 2011-09-11 20:42:02.138861 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:49:38.859404 ------------------
-On: 2011-09-11 20:49:38.859549 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:49:40.711849 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59578)
-On: 2011-09-11 20:49:40.712111 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:49:40.712340 Event: RECEIVER READY SENT
-On: 2011-09-11 20:49:46.566860 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:51:48.137464 ------------------
-On: 2011-09-11 20:51:48.137600 Event: LISTEN ON PORT: 50007
-On: 2011-09-11 20:51:49.999857 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 59586)
-On: 2011-09-11 20:51:50.000517 Event: TALK INITIALIZATION SENT
-On: 2011-09-11 20:51:50.000950 Event: RECEIVER READY SENT
-On: 2011-09-11 20:51:54.838862 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:34:12.369592 ------------------
-On: 2011-09-12 14:34:12.369780 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:34:14.215731 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57075)
-On: 2011-09-12 14:34:14.216034 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:34:14.216425 Event: RECEIVER READY SENT
-On: 2011-09-12 14:34:19.731872 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:34:26.897437 ------------------
-On: 2011-09-12 14:34:26.897653 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:34:28.757754 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57077)
-On: 2011-09-12 14:34:28.758024 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:34:28.758241 Event: RECEIVER READY SENT
-On: 2011-09-12 14:34:33.871865 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:36:30.859006 ------------------
-On: 2011-09-12 14:36:30.859141 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:36:32.707629 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 45158)
-On: 2011-09-12 14:36:32.708010 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:36:32.708271 Event: RECEIVER READY SENT
-On: 2011-09-12 14:36:38.611894 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:40:53.205353 ------------------
-On: 2011-09-12 14:40:53.205499 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:40:55.075920 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49757)
-On: 2011-09-12 14:40:55.076216 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:40:55.076464 Event: CALLER READY SENT
-On: 2011-09-12 14:41:07.847951 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:41:13.772641 ------------------
-On: 2011-09-12 14:41:13.772791 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:41:15.609376 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49771)
-On: 2011-09-12 14:41:15.609466 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:41:15.609593 Event: CALLER READY SENT
-On: 2011-09-12 14:41:28.439868 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:42:01.018134 ------------------
-On: 2011-09-12 14:42:01.018284 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:42:02.872258 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49796)
-On: 2011-09-12 14:42:02.872476 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:42:02.872611 Event: CALLER READY SENT
-On: 2011-09-12 14:42:16.175900 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:43:07.312211 ------------------
-On: 2011-09-12 14:43:07.312401 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:43:09.176761 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49805)
-On: 2011-09-12 14:43:09.176850 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:43:09.176919 Event: CALLER READY SENT
-On: 2011-09-12 14:43:16.643865 Event: CALLER STATUS SENT
-On: 2011-09-12 14:43:26.644063 Event: other appeared
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:43:59.133145 ------------------
-On: 2011-09-12 14:43:59.133347 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:44:01.004213 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 49838)
-On: 2011-09-12 14:44:01.004306 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:44:01.004376 Event: CALLER READY SENT
-On: 2011-09-12 14:44:13.703866 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:56:55.325808 ------------------
-On: 2011-09-12 14:56:55.325950 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:56:57.176660 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48944)
-On: 2011-09-12 14:56:57.176744 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:56:57.176805 Event: RECEIVER READY SENT
-On: 2011-09-12 14:57:02.143879 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:57:09.298801 ------------------
-On: 2011-09-12 14:57:09.298948 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 14:57:11.164230 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 48947)
-On: 2011-09-12 14:57:11.164541 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:57:11.164947 Event: RECEIVER READY SENT
-On: 2011-09-12 14:57:16.499867 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:01:23.466451 ------------------
-On: 2011-09-12 15:01:23.466659 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:01:25.332316 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 41827)
-On: 2011-09-12 15:01:25.332421 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:01:25.332502 Event: RECEIVER READY SENT
-On: 2011-09-12 15:01:30.483863 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:14:56.063288 ------------------
-On: 2011-09-12 15:14:56.063476 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:14:57.923208 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43898)
-On: 2011-09-12 15:14:57.923488 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:14:57.923737 Event: RECEIVER READY SENT
-On: 2011-09-12 15:15:03.759896 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:10.907063 ------------------
-On: 2011-09-12 15:15:10.907204 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:15:12.776151 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43900)
-On: 2011-09-12 15:15:12.776358 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:15:12.776473 Event: RECEIVER READY SENT
-On: 2011-09-12 15:15:17.859905 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:25.020451 ------------------
-On: 2011-09-12 15:15:25.020668 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:15:26.879166 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43918)
-On: 2011-09-12 15:15:26.879252 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:15:26.879313 Event: RECEIVER READY SENT
-On: 2011-09-12 15:15:31.983889 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:39.151966 ------------------
-On: 2011-09-12 15:15:39.152162 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:15:41.014279 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43926)
-On: 2011-09-12 15:15:41.014619 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:15:41.014957 Event: RECEIVER READY SENT
-On: 2011-09-12 15:15:46.127870 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:19:35.668448 ------------------
-On: 2011-09-12 15:19:35.668590 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:19:37.524158 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46144)
-On: 2011-09-12 15:19:37.524361 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:19:37.524709 Event: RECEIVER READY SENT
-On: 2011-09-12 15:19:42.659891 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:26:15.168629 ------------------
-On: 2011-09-12 15:26:15.168820 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:26:17.019563 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58905)
-On: 2011-09-12 15:26:17.019971 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:26:17.020260 Event: RECEIVER READY SENT
-On: 2011-09-12 15:26:22.843918 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:27:38.930946 ------------------
-On: 2011-09-12 15:27:38.931129 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:27:40.788517 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58943)
-On: 2011-09-12 15:27:40.788624 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:27:40.788685 Event: RECEIVER READY SENT
-On: 2011-09-12 15:27:46.383896 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:28:27.223362 ------------------
-On: 2011-09-12 15:28:27.223509 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:28:29.089129 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58952)
-On: 2011-09-12 15:28:29.089276 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:28:29.089381 Event: RECEIVER READY SENT
-On: 2011-09-12 15:28:34.667894 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:32:15.562789 ------------------
-On: 2011-09-12 15:32:15.562925 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:32:17.448140 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54499)
-On: 2011-09-12 15:32:17.448234 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:32:17.448299 Event: RECEIVER READY SENT
-On: 2011-09-12 15:32:23.207892 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:35:10.231404 ------------------
-On: 2011-09-12 15:35:10.231546 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:35:12.110089 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 54545)
-On: 2011-09-12 15:35:12.110396 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:35:12.110643 Event: RECEIVER READY SENT
-On: 2011-09-12 15:35:17.147894 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:44:49.454514 ------------------
-On: 2011-09-12 15:44:49.454646 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:44:51.312223 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 40859)
-On: 2011-09-12 15:44:51.312332 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:44:51.312444 Event: RECEIVER READY SENT
-On: 2011-09-12 15:44:56.207917 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:45:58.478998 ------------------
-On: 2011-09-12 15:45:58.479175 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:46:00.348200 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35704)
-On: 2011-09-12 15:46:00.348288 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:46:00.348402 Event: RECEIVER READY SENT
-On: 2011-09-12 15:46:05.651905 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:47:40.237784 ------------------
-On: 2011-09-12 15:47:40.237923 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:47:42.088635 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 35741)
-On: 2011-09-12 15:47:42.088727 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:47:42.088865 Event: RECEIVER READY SENT
-On: 2011-09-12 15:47:47.091885 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:55:03.395908 ------------------
-On: 2011-09-12 15:55:03.396061 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:55:05.261236 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55348)
-On: 2011-09-12 15:55:05.261516 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:55:05.261715 Event: RECEIVER READY SENT
-On: 2011-09-12 15:55:10.551886 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:57:55.360458 ------------------
-On: 2011-09-12 15:57:55.360590 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 15:57:57.197326 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33224)
-On: 2011-09-12 15:57:57.197439 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 15:57:57.197511 Event: RECEIVER READY SENT
-On: 2011-09-12 15:58:02.635879 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:02:33.745309 ------------------
-On: 2011-09-12 16:02:33.745511 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:02:35.604235 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43816)
-On: 2011-09-12 16:02:35.604417 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:02:35.604598 Event: RECEIVER READY SENT
-On: 2011-09-12 16:02:41.331887 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:05:11.726433 ------------------
-On: 2011-09-12 16:05:11.726571 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:05:13.603313 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 43849)
-On: 2011-09-12 16:05:13.603771 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:05:13.604019 Event: RECEIVER READY SENT
-On: 2011-09-12 16:05:19.495897 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:08:31.470858 ------------------
-On: 2011-09-12 16:08:31.470998 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:08:33.337750 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39817)
-On: 2011-09-12 16:08:33.337841 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:08:33.337910 Event: RECEIVER READY SENT
-On: 2011-09-12 16:08:39.355862 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:11:34.073728 ------------------
-On: 2011-09-12 16:11:34.073917 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:11:35.951587 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53207)
-On: 2011-09-12 16:11:35.951971 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:11:35.952285 Event: RECEIVER READY SENT
-On: 2011-09-12 16:11:41.543962 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:12:13.028243 ------------------
-On: 2011-09-12 16:12:13.028417 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:12:14.905460 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53219)
-On: 2011-09-12 16:12:14.905667 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:12:14.905862 Event: RECEIVER READY SENT
-On: 2011-09-12 16:12:20.399889 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:15:16.858935 ------------------
-On: 2011-09-12 16:15:16.859140 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:15:18.724328 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 53266)
-On: 2011-09-12 16:15:18.724846 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:15:18.725171 Event: RECEIVER READY SENT
-On: 2011-09-12 16:15:23.999890 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:18:26.944225 ------------------
-On: 2011-09-12 16:18:26.944421 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:18:28.809780 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50008)
-On: 2011-09-12 16:18:28.809979 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:18:28.810119 Event: RECEIVER READY SENT
-On: 2011-09-12 16:18:34.635876 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:19:00.950542 ------------------
-On: 2011-09-12 16:19:00.950681 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:19:02.800590 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50012)
-On: 2011-09-12 16:19:02.800677 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:19:02.800741 Event: RECEIVER READY SENT
-On: 2011-09-12 16:19:07.579882 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:20:42.868060 ------------------
-On: 2011-09-12 16:20:42.868263 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:20:44.730978 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 50048)
-On: 2011-09-12 16:20:44.731284 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:20:44.731556 Event: RECEIVER READY SENT
-On: 2011-09-12 16:20:49.983860 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:23:23.910331 ------------------
-On: 2011-09-12 16:23:23.910501 Event: LISTEN ON PORT: 50007
-On: 2011-09-12 16:23:25.776088 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 33016)
-On: 2011-09-12 16:23:25.776407 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 16:23:25.776661 Event: RECEIVER READY SENT
-On: 2011-09-12 16:23:31.215885 Event: RECEIVE STATUS REPORTED
diff --git a/notFinishedCode/tricode/GSM TMobile handler.log b/notFinishedCode/tricode/GSM TMobile handler.log
deleted file mode 100755
index 6a7f938..0000000
--- a/notFinishedCode/tricode/GSM TMobile handler.log
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:50.590312 ------------------
-On: 2011-09-09 12:48:50.590686 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 12:48:51.813655 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 47771)
-On: 2011-09-09 12:48:51.814016 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:51.814216 Event: RECEIVER READY SENT
-On: 2011-09-09 12:49:05.881506 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:29.325937 ------------------
-On: 2011-09-09 12:59:29.326293 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 12:59:30.568222 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 57949)
-On: 2011-09-09 12:59:30.568583 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:59:30.568778 Event: RECEIVER READY SENT
-On: 2011-09-09 12:59:44.301288 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:00.413015 ------------------
-On: 2011-09-09 13:05:00.413369 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 13:05:01.734174 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44493)
-On: 2011-09-09 13:05:01.734527 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:01.734718 Event: RECEIVER READY SENT
-On: 2011-09-09 13:05:13.425508 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:36.468289 ------------------
-On: 2011-09-09 13:06:36.468641 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 13:06:37.752250 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 44509)
-On: 2011-09-09 13:06:37.752613 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:06:37.752814 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:49.193498 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:54.291836 ------------------
-On: 2011-09-09 16:26:54.292192 Event: LISTEN ON PORT: 50012
-On: 2011-09-09 16:26:55.638609 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 42778)
-On: 2011-09-09 16:26:55.638985 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:26:55.639188 Event: RECEIVER READY SENT
-On: 2011-09-09 16:27:30.685203 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:42:03.020109 ------------------
-On: 2011-09-12 14:42:03.020283 Event: LISTEN ON PORT: 50012
-On: 2011-09-12 14:42:04.876236 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58176)
-On: 2011-09-12 14:42:04.876328 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:42:04.876395 Event: RECEIVER READY SENT
-On: 2011-09-12 14:42:17.287864 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:44:01.136434 ------------------
-On: 2011-09-12 14:44:01.136573 Event: LISTEN ON PORT: 50012
-On: 2011-09-12 14:44:03.009101 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58218)
-On: 2011-09-12 14:44:03.009384 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:44:03.009624 Event: RECEIVER READY SENT
-On: 2011-09-12 14:44:13.523887 Event: RECEIVE STATUS REPORTED
diff --git a/notFinishedCode/tricode/GSM Vodaphone handler.log b/notFinishedCode/tricode/GSM Vodaphone handler.log
deleted file mode 100755
index 15335b2..0000000
--- a/notFinishedCode/tricode/GSM Vodaphone handler.log
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:29.973703 ------------------
-On: 2011-09-09 12:01:29.974088 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:01:31.288549 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39844)
-On: 2011-09-09 12:01:31.288923 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:01:31.289125 Event: RECEIVER READY SENT
-On: 2011-09-09 12:01:42.069538 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:01.958543 ------------------
-On: 2011-09-09 12:48:01.958901 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:48:03.266126 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 46507)
-On: 2011-09-09 12:48:03.266485 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:48:03.266679 Event: RECEIVER READY SENT
-On: 2011-09-09 12:48:19.538059 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:51:23.872295 ------------------
-On: 2011-09-09 12:51:23.872646 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:51:25.180609 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 58881)
-On: 2011-09-09 12:51:25.180965 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:51:25.181157 Event: CALLER READY SENT
-On: 2011-09-09 12:51:35.665094 Event: CALLER STATUS SENT
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:22.590937 ------------------
-On: 2011-09-09 12:58:22.591294 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 12:58:23.464597 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 34076)
-On: 2011-09-09 12:58:23.464968 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 12:58:23.465167 Event: RECEIVER READY SENT
-On: 2011-09-09 12:58:35.341553 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:50.346578 ------------------
-On: 2011-09-09 13:05:50.346932 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 13:05:51.666150 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 55008)
-On: 2011-09-09 13:05:51.666510 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 13:05:51.666703 Event: RECEIVER READY SENT
-On: 2011-09-09 13:06:02.993510 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:53.192832 ------------------
-On: 2011-09-09 16:25:53.193191 Event: LISTEN ON PORT: 50011
-On: 2011-09-09 16:25:54.538374 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 39631)
-On: 2011-09-09 16:25:54.538750 Event: TALK INITIALIZATION SENT
-On: 2011-09-09 16:25:54.538949 Event: RECEIVER READY SENT
-On: 2011-09-09 16:26:29.585947 Event: RECEIVE STATUS REPORTED
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:41:15.765779 ------------------
-On: 2011-09-12 14:41:15.765922 Event: LISTEN ON PORT: 50011
-On: 2011-09-12 14:41:17.614908 Event: CONNECTION ESTABLISHED AND DEVICE WORKING: ('127.0.0.1', 37023)
-On: 2011-09-12 14:41:17.615107 Event: TALK INITIALIZATION SENT
-On: 2011-09-12 14:41:17.615280 Event: RECEIVER READY SENT
-On: 2011-09-12 14:41:27.639880 Event: RECEIVE STATUS REPORTED
diff --git a/notFinishedCode/tricode/GSMClass.py b/notFinishedCode/tricode/GSMClass.py
deleted file mode 100755
index e994814..0000000
--- a/notFinishedCode/tricode/GSMClass.py
+++ /dev/null
@@ -1,304 +0,0 @@
-from serial import * #serial port library
-import string
-import sys
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class serialPort():
-
- def __init__(self, portAddress, baudRate, timeout):
- self.portAddress = portAddress
- self.portExist = 0
- self.ser = 0
- self.baudRate = baudRate
- self.signalStrength = 0
- #self.callerConnected = -1
- self.timer = timeout
-
- self.debugMode = 0
-
- def portInit(self):
- portName = self.portAddress[-4:]
- portExist = os.popen('dmesg | grep ' + portName).read()
-
- if portExist == '':
- return 0
- else:
- try:
- self.ser = Serial(
- port=self.portAddress,
- baudrate=self.baudRate,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE
- #timeout=0,
- #writeTimeout=0
- #xonxoff=0,
- #rtscts=0
- #interCharTimeout=None
- #I didn't need to set these variables :)
- )
-
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT\r')
-
- received = self.__receiveData()
-
- if received == 'OK':
- self.portExist = 1
- return 1 #cellphone is OK, receives commands
- elif received == 'TIMEOUT':
- return 'TIMEOUT'
- else:
- return 2 #cellphone has an error
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- self.portExist = 3
- return 3
-
- def callNumber(self,numberToCall):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('ATD'+str(numberToCall)+';\r')
- if self.__receiveData() == 'OK':
- return 1
- else:
- return 4
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
-
- return 3
- else:
- return 0
-
-
- def hangUp(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CHUP\r')
- received = self.__receiveData()
- if received == 'OK':
- return 1
- elif received == 'ERROR':
- return 2 #other side hang up the call
- else:
- return 4
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
-
- def closePort(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.close()
- return 1
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def getSignalQuality(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CSQ\r')
- if self.__receiveData() == 'OK':
- if self.__receiveData == 'SIGNAL':
- return 1
- else:
- return 4
- else:
- return 2
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
-
- else:
- return 0
-
- def receiveCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- if self.__receiveData() == 'RING':
- self.ser.write('ATA\r')
- if self.__receiveData()=='OK':
- return 1
- else:
- return 4
- else:
- return 2
-
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def currentCall(self):
- if self.portExist == 1:
- try:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CLCC\r')
- received = self.__receiveData()
- if received == 'OK':
- return 2 #not yet in a call
- elif received == 'ACTIVE':
- return 1 #in a call
- elif received == 'HELD':
- return 5 #held call
- elif received == 'DIALING':
- return 6 #dialing
- elif received == 'ALERTING':
- return 7 #alerting the call
- elif received == 'INCOMING':
- return 8 #incoming call
- elif received == 'WAITING':
- return 9 #waiting for a call
-
- else:
- return received #in some other state
- except Exception, e:
- import traceback
- if self.debugMode == 1:
- print e
- print traceback.format_exc()
- return 3
- else:
- return 0
-
- def __receiveData(self):
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(self.timer)
-
- bufferData = ''
- lines = ''
- line = ''
-
- try:
- while True:
- bufferData = bufferData + self.ser.read(self.ser.inWaiting()) #read the serial port and add it to the buffer variable
- if '\n' in bufferData: #if a new line character is found in the buffer then the cellphone has sent something
- lines = bufferData.split('\n') #parse the buffer variable with the new line character
- last_received = lines.pop(0) #put into last_received variable the first content from lines (FIFO)
-
- bufferData = '\n'.join(lines) #add a new line to the buffer variable
-
- last_received=last_received.split('\n') #parse the last received value with new lines
- line = last_received[0].replace(chr(13), '') #remove \r from the first parsed value in last_received and return me a nicely parsed value :)
- if self.debugMode == 1:
- if len(line) > 0:
- print line
-
- if line == 'OK':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'OK'
-
- elif line == 'ERROR':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line[0:11] == '+CME ERROR:':
- if self.debugMode == 1:
- print 'ERROR:', line
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ERROR'
-
- elif line == 'RING':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'RING'
-
- elif line[0:5] == '+CSQ:': #+CSQ:
- space = int(string.find(line,' '))+1 #find the (space) sign
- coma = int(string.find(line,',')) #find the , (coma) sign
- self.signalStrength = (int(line[space:coma])*2)-113
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'SIGNAL'
-
- elif line == 'NO CARRIER':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'NO CARRIER'
-
- elif line == 'BUSY':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'BUSY'
-
- elif line[0:6] == '+CLCC:':
- #+CLCC: 1,0,
- #self.ser.flushInput()
- if line[11:12] == '0':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ACTIVE'
- elif line[11:12] == '1':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'HELD'
- elif line[11:12] == '2':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'DIALING'
- elif line[11:12] == '3':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'ALERTING'
- elif line[11:12] == '4':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'INCOMING'
- elif line[11:12] == '5':
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'WAITING'
-
- except TimeoutException:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- print 'NO GOOD'
- print e
- return 3
diff --git a/notFinishedCode/tricode/GSMClass.pyc b/notFinishedCode/tricode/GSMClass.pyc
deleted file mode 100644
index c3e8062..0000000
--- a/notFinishedCode/tricode/GSMClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/GSMHandler.py b/notFinishedCode/tricode/GSMHandler.py
deleted file mode 100755
index d701d94..0000000
--- a/notFinishedCode/tricode/GSMHandler.py
+++ /dev/null
@@ -1,286 +0,0 @@
-import ServerClass
-import GSMClass
-import LogFileClass
-from time import sleep
-import sys
-
-global portListen
-global portAddress
-
-
-if len(sys.argv) <> 3:
- print "Error given command"
- sys.exit(2)
-
-
-portListen = int(sys.argv[1])
-portAddress = sys.argv[2]
-
-def initLogfile():
- global nameOfLogFile
-
- if portListen == 50007:
- nameOfLogFile = 'GSM RZ1 handler.log'
-
- elif portListen == 50010:
- nameOfLogFile = 'GSM O2 handler.log'
-
- elif portListen == 50011:
- nameOfLogFile = 'GSM Vodaphone handler.log'
-
- elif portListen == 50012:
- nameOfLogFile = 'GSM TMobile handler.log'
-
- elif portListen == 50013:
- nameOfLogFile = 'GSM EPlus handler.log'
- else:
- print "No port listening found"
-
-
-baudRate = 19200
-
-initLogfile()
-logger = LogFileClass.Logging(nameOfLogFile)
-
-errorCount = 0
-
-logger.logEvent('')
-
-whileCounter =0
-
-#define global varibales
-global lastState
-global resetState
-lastState = 0
-resetState = 0
-
-
-def initSystem():
- print 'init system'
-
- global handlerSocket
- global gsmDevice
- global initTalkVar
- global lastState
-
- global numberToCall
- global resetState
-
- initTalkVar = 0 #variable used to know if we initialized the start talk
- lastState = 0 #variable used to know
- numberToCall = '000' #number to call
- resetState = 0
-
- handlerSocket = ServerClass.ServerHandler(portListen)
- logger.logEvent('LISTEN ON PORT: '+str(portListen))
-
- #add this if you need it
- gsmDevice = GSMClass.serialPort(portAddress, baudRate, 35)
-
- initDevice = gsmDevice.portInit()
- ########################################################
-
- #add nice formating to the log file :)
- anyConnection = handlerSocket.openSocket()
-
-
- if anyConnection == 1 and initDevice == 1:
- logger.logEvent('CONNECTION ESTABLISHED AND DEVICE WORKING: ' + str(handlerSocket.connectedTo()))
- return 1
-
- elif anyConnection == 1 and initDevice == 0:
- logger.logEvent('$connection established but device not working: ' + str(handlerSocket.connectedTo()))
- terminateConnection()
- return 2
- else:
- logger.logEvent('$no connection')
- sys.exit(1)
- return 0
-
-def receiveMessage(timeout):
-
- message = str(handlerSocket.receiveData(timeout))
-
- if message != '0' and message !='NO DATA':
- print 'in receive message', message, lastState
-
- if message == 'HELLO HANDLER' and lastState == 0:
- outcome = initTalk()
- if outcome == 1:
- logger.logEvent('TALK INITIALIZATION SENT')
- else:
- logger.logEvent('$talk initialization not sent: ' + str(outcome))
-
- elif message == 'RECEIVER' and lastState == 1:
- outcome = initReceiver()
- if outcome == 1:
- logger.logEvent('RECEIVER READY SENT')
- else:
- logger.logEvent('$receiver ready not sent: ' + str(outcome))
-
- elif message == 'RECEIVE START' and lastState == 2:
- outcome = receiveStart()
- if outcome == 1:
- logger.logEvent('RECEIVE STATUS REPORTED')
- else:
- logger.logEvent('$receive status not reported: ' + str(outcome))
-
- elif message[0:6] == 'CALLER' and lastState == 1:
- outcome = initCaller()
-
- global numberToCall
- numberToCall = message[7:]
- if outcome == 1:
- logger.logEvent('CALLER READY SENT')
- else:
- logger.logEvent('$caller ready not sent: ' + str(outcome))
-
- elif message == 'CALL START' and lastState == 4:
- outcome = callStart(numberToCall)
- if outcome == 1:
- logger.logEvent('CALLER STATUS SENT')
- else:
- logger.logEvent('$caller status not sent: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION' and (lastState == 5 or lastState == 3):
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION AFTER TEST')
- else:
- logger.logEvent('$connection could not be terminated after the test: ' + str(outcome))
-
- elif message == 'TERMINATE CONNECTION':
- outcome = terminateConnection()
- if outcome == 1:
- logger.logEvent('TERMINATED THE CONNECTION IN MIDDLE. IN STATE: ' + str(lastState) )
- else:
- logger.logEvent('$connection could not be terminated in middle: ' + str(outcome) + ' in state: ' + str(lastState))
- else:
- outcome = other()
- logger.logEvent('other appeared')
- terminateConnection()
-
-
- return 1
- #return 0
-
-########INIT TALK PART########
-def initTalk():
- print 'init talk'
-
- #initialize the talk between handler and controller
- global lastState
- lastState = 1
- sendMessage = handlerSocket.sendData('HELLO CONTROLLER')
- return sendMessage
-##############################
-
-
-########RECEIVE PART########
-def initReceiver():
- print 'initReceiver'
-
- #init function to initialize the receiver
- global lastState
- lastState = 2
- sendMessage = handlerSocket.sendData('RECEIVER READY')
- return sendMessage
-
-def receiveStart():
- print 'receiveStart'
-
- #wait for a call and report if you received it and it was successfull or not
- global lastState
- lastState = 3
- receiveCall = gsmDevice.receiveCall()
-
- if receiveCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- sendMessage = handlerSocket.sendData(callSuccess)
- return sendMessage
-############################
-
-
-########CALL PART########
-def initCaller():
- print 'initCaller'
-
- #initialize caller here
- global lastState
- lastState = 4
- sendMessage = handlerSocket.sendData('CALLER READY')
- return sendMessage
-
-def callStart(numberToCall):
- print 'initCaller'
-
- #call the number here
- global lastState
- lastState = 5
-
- callSuccess = 'CALL NOT OK'
-
- tryCall = gsmDevice.callNumber(numberToCall)
- if tryCall != 1:
- callSuccess = 'CALL NOT OK'
- else:
- sleep(2)
- activeCall = gsmDevice.currentCall()
- counter = 0
- while(activeCall!=1):
- sleep(1)
- activeCall = gsmDevice.currentCall()
- if counter == 6:
- break
- counter += 1
-
- if activeCall == 1:
- callSuccess = 'CALL OK'
- else:
- callSuccess = 'CALL NOT OK'
-
- tryHangUp = gsmDevice.hangUp()
-
- return handlerSocket.sendData(callSuccess)
-#########################
-
-
-########TERMINATE PART########
-def terminateConnection():
- print 'terminate connection'
- global resetState
- close = handlerSocket.closeConnection()
- resetState = 1
- sys.exit(0.5)
- return close
-##############################
-
-########TERMINATE PART########
-def other():
- print 'other'
- global lastState
- global resetState
-
- close = handlerSocket.closeConnection()
- lastState = 8
- resetState = 1
- return 1
-##############################
-
-
-
-while 1:
- test = initSystem()
- if test == 1:
- print 'initialized system'
- receivedMessage = 0
- while receivedMessage < 4 and resetState!= 1:
- receivedMessage += receiveMessage(10)
-
- del handlerSocket
- del gsmDevice
diff --git a/notFinishedCode/tricode/Landline handler.log b/notFinishedCode/tricode/Landline handler.log
deleted file mode 100755
index 9df2628..0000000
--- a/notFinishedCode/tricode/Landline handler.log
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:18.607406 ------------------
-On: 2011-09-02 12:52:18.630918 Event: try to Connect to Controller
-On: 2011-09-02 12:52:19.825005 Event: init state
-On: 2011-09-02 12:52:19.825252 Event: Register Account to SIP server
-On: 2011-09-02 12:52:19.827301 Event: 100
-On: 2011-09-02 12:52:19.827695 Event: Receiver Handler Ready
-On: 2011-09-02 12:52:19.827758 Event: RECEIVE START
-On: 2011-09-02 12:52:25.854718 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 12:52:25.855212 Event: Call Connecting
-On: 2011-09-02 12:52:25.855251 Event: 200
-On: 2011-09-02 12:52:25.855397 Event: Answer call
-On: 2011-09-02 12:52:25.855429 Event: Hangup call
-On: 2011-09-02 12:52:25.855582 Event: CALL OK
-On: 2011-09-02 12:52:25.906299 Event: Call Disconnected
-On: 2011-09-02 12:52:26.635047 Event: Terminate
-On: 2011-09-02 12:52:26.635111 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:21.554606 ------------------
-On: 2011-09-02 13:04:21.575322 Event: try to Connect to Controller
-On: 2011-09-02 13:04:22.858718 Event: init state
-On: 2011-09-02 13:04:22.858946 Event: Register Account to SIP server
-On: 2011-09-02 13:04:22.860443 Event: 100
-On: 2011-09-02 13:04:22.860784 Event: Receiver Handler Ready
-On: 2011-09-02 13:04:22.860838 Event: RECEIVE START
-On: 2011-09-02 13:04:28.893785 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:04:28.894283 Event: Call Connecting
-On: 2011-09-02 13:04:28.894322 Event: 200
-On: 2011-09-02 13:04:28.894465 Event: Answer call
-On: 2011-09-02 13:04:28.894496 Event: Hangup call
-On: 2011-09-02 13:04:28.894648 Event: CALL OK
-On: 2011-09-02 13:04:28.945299 Event: Call Disconnected
-On: 2011-09-02 13:04:29.581365 Event: Terminate
-On: 2011-09-02 13:04:29.581424 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:05.499955 ------------------
-On: 2011-09-02 13:09:05.520757 Event: try to Connect to Controller
-On: 2011-09-02 13:09:06.657084 Event: init state
-On: 2011-09-02 13:09:06.657313 Event: Register Account to SIP server
-On: 2011-09-02 13:09:06.659550 Event: 100
-On: 2011-09-02 13:09:06.659647 Event: Receiver Handler Ready
-On: 2011-09-02 13:09:06.659955 Event: RECEIVE START
-On: 2011-09-02 13:09:12.539174 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:09:12.539661 Event: Call Connecting
-On: 2011-09-02 13:09:12.539700 Event: 200
-On: 2011-09-02 13:09:12.539844 Event: Answer call
-On: 2011-09-02 13:09:12.539876 Event: Hangup call
-On: 2011-09-02 13:09:12.540029 Event: CALL OK
-On: 2011-09-02 13:09:12.590670 Event: Call Disconnected
-On: 2011-09-02 13:09:13.239354 Event: Terminate
-On: 2011-09-02 13:09:13.239412 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:40.364573 ------------------
-On: 2011-09-02 13:15:40.385233 Event: try to Connect to Controller
-On: 2011-09-02 13:15:41.649241 Event: init state
-On: 2011-09-02 13:15:41.649477 Event: Register Account to SIP server
-On: 2011-09-02 13:15:41.651355 Event: 100
-On: 2011-09-02 13:15:41.651703 Event: Receiver Handler Ready
-On: 2011-09-02 13:15:41.651760 Event: RECEIVE START
-On: 2011-09-02 13:15:48.166113 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:15:48.166609 Event: Call Connecting
-On: 2011-09-02 13:15:48.166648 Event: 200
-On: 2011-09-02 13:15:48.166795 Event: Answer call
-On: 2011-09-02 13:15:48.166827 Event: Hangup call
-On: 2011-09-02 13:15:48.166985 Event: CALL OK
-On: 2011-09-02 13:15:48.217641 Event: Call Disconnected
-On: 2011-09-02 13:15:50.013696 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-02 13:15:50.014310 Event: Call Connecting
-On: 2011-09-02 13:15:50.014351 Event: 200
-On: 2011-09-02 13:15:50.014501 Event: Answer call
-On: 2011-09-02 13:15:50.014529 Event: Hangup call
-On: 2011-09-02 13:15:50.014674 Event: CALL OK
-On: 2011-09-02 13:15:50.065382 Event: Call Disconnected
-On: 2011-09-02 13:15:50.633895 Event: Terminate
-On: 2011-09-02 13:15:50.633956 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:13.402457 ------------------
-On: 2011-09-09 12:04:13.423005 Event: try to Connect to Controller
-On: 2011-09-09 12:04:14.626365 Event: init state
-On: 2011-09-09 12:04:14.626599 Event: Register Account to SIP server
-On: 2011-09-09 12:04:14.628265 Event: 100
-On: 2011-09-09 12:04:14.628609 Event: Receiver Handler Ready
-On: 2011-09-09 12:04:14.628669 Event: RECEIVE START
-On: 2011-09-09 12:04:20.692145 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:04:20.692639 Event: Call Connecting
-On: 2011-09-09 12:04:20.692678 Event: 200
-On: 2011-09-09 12:04:20.692825 Event: Answer call
-On: 2011-09-09 12:04:20.692858 Event: Hangup call
-On: 2011-09-09 12:04:20.693013 Event: CALL OK
-On: 2011-09-09 12:04:20.743692 Event: Call Disconnected
-On: 2011-09-09 12:04:21.365368 Event: Terminate
-On: 2011-09-09 12:04:21.365436 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:03.859314 ------------------
-On: 2011-09-09 12:46:03.879880 Event: try to Connect to Controller
-On: 2011-09-09 12:46:05.154437 Event: init state
-On: 2011-09-09 12:46:05.154665 Event: Register Account to SIP server
-On: 2011-09-09 12:46:05.156405 Event: 100
-On: 2011-09-09 12:46:05.156501 Event: Receiver Handler Ready
-On: 2011-09-09 12:46:05.156814 Event: RECEIVE START
-On: 2011-09-09 12:46:12.993331 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:46:12.993883 Event: Call Connecting
-On: 2011-09-09 12:46:12.993928 Event: 200
-On: 2011-09-09 12:46:12.994076 Event: Answer call
-On: 2011-09-09 12:46:12.994108 Event: Hangup call
-On: 2011-09-09 12:46:12.994260 Event: CALL OK
-On: 2011-09-09 12:46:13.044912 Event: Call Disconnected
-On: 2011-09-09 12:46:13.518160 Event: Terminate
-On: 2011-09-09 12:46:13.518225 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:32.523406 ------------------
-On: 2011-09-09 12:49:32.543709 Event: try to Connect to Controller
-On: 2011-09-09 12:49:33.806652 Event: init state
-On: 2011-09-09 12:49:33.806878 Event: Register Account to SIP server
-On: 2011-09-09 12:49:33.808777 Event: 100
-On: 2011-09-09 12:49:33.808873 Event: Receiver Handler Ready
-On: 2011-09-09 12:49:33.809184 Event: RECEIVE START
-On: 2011-09-09 12:49:39.767163 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:49:39.767661 Event: Call Connecting
-On: 2011-09-09 12:49:39.767702 Event: 200
-On: 2011-09-09 12:49:39.767853 Event: Answer call
-On: 2011-09-09 12:49:39.767885 Event: Hangup call
-On: 2011-09-09 12:49:39.768044 Event: CALL OK
-On: 2011-09-09 12:49:39.818702 Event: Call Disconnected
-On: 2011-09-09 12:49:40.461803 Event: Terminate
-On: 2011-09-09 12:49:40.461843 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:00.424514 ------------------
-On: 2011-09-09 12:50:00.445863 Event: try to Connect to Controller
-On: 2011-09-09 12:50:01.624553 Event: init state
-On: 2011-09-09 12:50:01.624780 Event: Register Account to SIP server
-On: 2011-09-09 12:50:01.626454 Event: 100
-On: 2011-09-09 12:50:01.629675 Event: Receiver Handler Ready
-On: 2011-09-09 12:50:01.629749 Event: RECEIVE START
-On: 2011-09-09 12:50:05.984948 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 12:50:05.985490 Event: Call Connecting
-On: 2011-09-09 12:50:05.985534 Event: 200
-On: 2011-09-09 12:50:05.985714 Event: Answer call
-On: 2011-09-09 12:50:05.985747 Event: Hangup call
-On: 2011-09-09 12:50:05.985917 Event: CALL OK
-On: 2011-09-09 12:50:06.036590 Event: Call Disconnected
-On: 2011-09-09 12:50:07.097850 Event: Terminate
-On: 2011-09-09 12:50:07.097890 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:25.754304 ------------------
-On: 2011-09-09 12:50:25.774778 Event: try to Connect to Controller
-On: 2011-09-09 12:50:26.968180 Event: init state
-On: 2011-09-09 12:50:26.968417 Event: Register Account to SIP server
-On: 2011-09-09 12:50:26.970431 Event: 100
-On: 2011-09-09 12:50:26.972636 Event: Caller Handler Ready
-On: 2011-09-09 12:50:31.977419 Event: CALL START
-On: 2011-09-09 12:50:31.977472 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:50:41.588213 Event: Call Disconnected
-On: 2011-09-09 12:50:58.976542 Event: Terminate
-On: 2011-09-09 12:50:58.976585 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:16.481749 ------------------
-On: 2011-09-09 13:07:16.502112 Event: try to Connect to Controller
-On: 2011-09-09 13:07:17.789958 Event: init state
-On: 2011-09-09 13:07:17.790193 Event: Register Account to SIP server
-On: 2011-09-09 13:07:17.792481 Event: 100
-On: 2011-09-09 13:07:17.792829 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:17.792886 Event: RECEIVE START
-On: 2011-09-09 13:07:23.872615 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 13:07:23.873116 Event: Call Connecting
-On: 2011-09-09 13:07:23.873157 Event: 200
-On: 2011-09-09 13:07:23.873306 Event: Answer call
-On: 2011-09-09 13:07:23.873337 Event: Hangup call
-On: 2011-09-09 13:07:23.873542 Event: CALL OK
-On: 2011-09-09 13:07:23.924191 Event: Call Disconnected
-On: 2011-09-09 13:07:24.560455 Event: Terminate
-On: 2011-09-09 13:07:24.560513 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:44.432287 ------------------
-On: 2011-09-09 13:07:44.452745 Event: try to Connect to Controller
-On: 2011-09-09 13:07:45.733130 Event: init state
-On: 2011-09-09 13:07:45.733364 Event: Register Account to SIP server
-On: 2011-09-09 13:07:45.734871 Event: 100
-On: 2011-09-09 13:07:45.737681 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:45.737757 Event: RECEIVE START
-On: 2011-09-09 13:07:51.067366 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 13:07:51.067862 Event: Call Connecting
-On: 2011-09-09 13:07:51.067903 Event: 200
-On: 2011-09-09 13:07:51.068051 Event: Answer call
-On: 2011-09-09 13:07:51.068082 Event: Hangup call
-On: 2011-09-09 13:07:51.068238 Event: CALL OK
-On: 2011-09-09 13:07:51.118875 Event: Call Disconnected
-On: 2011-09-09 13:07:52.373796 Event: Terminate
-On: 2011-09-09 13:07:52.373836 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:10.420396 ------------------
-On: 2011-09-09 13:08:10.440680 Event: try to Connect to Controller
-On: 2011-09-09 13:08:11.707489 Event: init state
-On: 2011-09-09 13:08:11.707723 Event: Register Account to SIP server
-On: 2011-09-09 13:08:11.709786 Event: 100
-On: 2011-09-09 13:08:11.712030 Event: Caller Handler Ready
-On: 2011-09-09 13:08:16.720169 Event: CALL START
-On: 2011-09-09 13:08:16.720225 Event: Make a call to: 07612034661447
-On: 2011-09-09 13:08:22.021697 Event: Call Connecting
-On: 2011-09-09 13:08:22.021750 Event: 200
-On: 2011-09-09 13:08:22.025668 Event: Terminate
-On: 2011-09-09 13:08:22.025730 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:44.548708 ------------------
-On: 2011-09-09 16:27:44.569970 Event: try to Connect to Controller
-On: 2011-09-09 16:27:45.884718 Event: init state
-On: 2011-09-09 16:27:45.884946 Event: Register Account to SIP server
-On: 2011-09-09 16:27:45.886676 Event: 100
-On: 2011-09-09 16:27:45.886773 Event: Receiver Handler Ready
-On: 2011-09-09 16:27:45.887092 Event: RECEIVE START
-On: 2011-09-09 16:27:54.508082 Event: {Call "anonymous" <sip:anonymous@sipgate.de>}
-On: 2011-09-09 16:27:54.508585 Event: Call Connecting
-On: 2011-09-09 16:27:54.508627 Event: 200
-On: 2011-09-09 16:27:54.508773 Event: Answer call
-On: 2011-09-09 16:27:54.508805 Event: Hangup call
-On: 2011-09-09 16:27:54.508962 Event: CALL OK
-On: 2011-09-09 16:27:54.559680 Event: Call Disconnected
-On: 2011-09-09 16:27:55.022441 Event: Terminate
-On: 2011-09-09 16:27:55.022481 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:19.816093 ------------------
-On: 2011-09-09 16:28:19.837183 Event: try to Connect to Controller
-On: 2011-09-09 16:28:21.181980 Event: init state
-On: 2011-09-09 16:28:21.182208 Event: Register Account to SIP server
-On: 2011-09-09 16:28:21.184143 Event: 100
-On: 2011-09-09 16:28:21.184237 Event: Caller Handler Ready
-On: 2011-09-09 16:28:23.194234 Event: Terminate
-On: 2011-09-09 16:28:23.194275 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:09:03.763605 ------------------
-On: 2011-09-09 21:09:03.807874 Event: try to Connect to Controller
-On: 2011-09-09 21:09:04.504740 Event: init state
-On: 2011-09-09 21:09:04.504968 Event: Register Account to SIP server
-On: 2011-09-09 21:09:04.506507 Event: 100
-On: 2011-09-09 21:09:04.506597 Event: Caller Handler Ready
-On: 2011-09-09 21:09:08.512560 Event: Terminate
-On: 2011-09-09 21:09:08.512597 Event: Goodbye
diff --git a/notFinishedCode/tricode/LogFileClass.py b/notFinishedCode/tricode/LogFileClass.py
deleted file mode 100755
index cb152f4..0000000
--- a/notFinishedCode/tricode/LogFileClass.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import string
-import datetime
-
-class Logging:
-
- def __init__(self, logFileName):
- self.writeToFile = open(logFileName, 'a')
- self.justStarted = 1
-
- def logEvent(self, event):
- now = str(datetime.datetime.now())
- if self.justStarted == 1:
- self.writeToFile.write('\n\n------------------STARTED THE LOGGING '+ now + ' ------------------\n')
- self.justStarted = 0
- else:
- self.writeToFile.write('On: '+ now + '\t' + 'Event: ' +str(event) + '\n')
-
- def closeLogging(self):
- now = str(datetime.datetime.now())
- self.writeToFile.write('------------------FINISHED THE LOGGING '+ now + ' ------------------')
- self.writeToFile.close()
diff --git a/notFinishedCode/tricode/LogFileClass.pyc b/notFinishedCode/tricode/LogFileClass.pyc
deleted file mode 100755
index ac02ce0..0000000
--- a/notFinishedCode/tricode/LogFileClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/PingClass.py b/notFinishedCode/tricode/PingClass.py
deleted file mode 100755
index e13b32b..0000000
--- a/notFinishedCode/tricode/PingClass.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import subprocess
-import string
-
-class Ping:
-
- def __init__(self, pingAddress):
- self.pingAddress = pingAddress
-
- def ping(self,numberTries):
- tried = 1
- while numberTries >= tried:
- tried += 1
- #the parameter c 1 means only one ping to be sent, parameter W 3 means how many seconds the time out should be, 3 seconds
- ping_cmd = subprocess.Popen(['ping', self.pingAddress, '-c', '1', '-W', '2'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
-
- pingAlive = int(string.find(ping_cmd, '1 received'))
- unknownHost = int(string.find(ping_cmd, 'unknown host'))
-
-
- if pingAlive != -1:
- break
-
- if unknownHost != -1:
- return 2 #unknown host
- if pingAlive != -1:
- return 1 #ping works fine
- else:
- return 0 #no ping response
diff --git a/notFinishedCode/tricode/PingClass.pyc b/notFinishedCode/tricode/PingClass.pyc
deleted file mode 100755
index bdc3030..0000000
--- a/notFinishedCode/tricode/PingClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/SIP handler.log b/notFinishedCode/tricode/SIP handler.log
deleted file mode 100755
index 3996f33..0000000
--- a/notFinishedCode/tricode/SIP handler.log
+++ /dev/null
@@ -1,1282 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:16.569462 ------------------
-On: 2011-09-02 12:52:16.590556 Event: try to Connect to Controller
-On: 2011-09-02 12:52:17.818389 Event: init state
-On: 2011-09-02 12:52:17.818926 Event: Register Account to SIP server
-On: 2011-09-02 12:52:17.819346 Event: 100
-On: 2011-09-02 12:52:17.819430 Event: Caller Handler Ready
-On: 2011-09-02 12:52:22.830562 Event: CALL START
-On: 2011-09-02 12:52:22.830621 Event: Make a call to: 076145875681
-On: 2011-09-02 12:52:26.633015 Event: Call Connecting
-On: 2011-09-02 12:52:26.633066 Event: 200
-On: 2011-09-02 12:52:26.635568 Event: Terminate
-On: 2011-09-02 12:52:26.635620 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:19.521527 ------------------
-On: 2011-09-02 13:04:19.542334 Event: try to Connect to Controller
-On: 2011-09-02 13:04:20.853864 Event: init state
-On: 2011-09-02 13:04:20.854098 Event: Register Account to SIP server
-On: 2011-09-02 13:04:20.854507 Event: 100
-On: 2011-09-02 13:04:20.854585 Event: Caller Handler Ready
-On: 2011-09-02 13:04:25.862590 Event: CALL START
-On: 2011-09-02 13:04:25.862647 Event: Make a call to: 076145875681
-On: 2011-09-02 13:04:29.575870 Event: Call Connecting
-On: 2011-09-02 13:04:29.575919 Event: 200
-On: 2011-09-02 13:04:29.579191 Event: Terminate
-On: 2011-09-02 13:04:29.579251 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:30.400558 ------------------
-On: 2011-09-02 13:04:30.426054 Event: try to Connect to Controller
-On: 2011-09-02 13:04:31.589851 Event: init state
-On: 2011-09-02 13:04:31.590091 Event: Register Account to SIP server
-On: 2011-09-02 13:04:31.590501 Event: 100
-On: 2011-09-02 13:04:31.590582 Event: Caller Handler Ready
-On: 2011-09-02 13:04:33.595630 Event: No number to call
-On: 2011-09-02 13:04:33.595665 Event: CALL NOT OK
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:03.332562 ------------------
-On: 2011-09-02 13:09:03.353588 Event: try to Connect to Controller
-On: 2011-09-02 13:09:04.647294 Event: init state
-On: 2011-09-02 13:09:04.647968 Event: Register Account to SIP server
-On: 2011-09-02 13:09:04.648454 Event: 100
-On: 2011-09-02 13:09:04.648542 Event: Caller Handler Ready
-On: 2011-09-02 13:09:09.660442 Event: CALL START
-On: 2011-09-02 13:09:09.660500 Event: Make a call to: 076145875681
-On: 2011-09-02 13:09:13.238056 Event: Call Connecting
-On: 2011-09-02 13:09:13.238106 Event: 200
-On: 2011-09-02 13:09:13.239830 Event: Terminate
-On: 2011-09-02 13:09:13.239882 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:14.079176 ------------------
-On: 2011-09-02 13:09:14.111735 Event: try to Connect to Controller
-On: 2011-09-02 13:09:15.252127 Event: init state
-On: 2011-09-02 13:09:15.252359 Event: Register Account to SIP server
-On: 2011-09-02 13:09:15.252768 Event: 100
-On: 2011-09-02 13:09:15.252850 Event: Caller Handler Ready
-On: 2011-09-02 13:09:20.260518 Event: CALL START
-On: 2011-09-02 13:09:20.260572 Event: Make a call to: 076120397898
-On: 2011-09-02 13:09:20.312559 Event: Call Connecting
-On: 2011-09-02 13:09:20.312602 Event: 200
-On: 2011-09-02 13:09:20.317870 Event: Terminate
-On: 2011-09-02 13:09:20.317929 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:38.321140 ------------------
-On: 2011-09-02 13:15:38.342105 Event: try to Connect to Controller
-On: 2011-09-02 13:15:39.643146 Event: init state
-On: 2011-09-02 13:15:39.643373 Event: Register Account to SIP server
-On: 2011-09-02 13:15:39.643790 Event: 100
-On: 2011-09-02 13:15:39.643872 Event: Caller Handler Ready
-On: 2011-09-02 13:15:44.652007 Event: CALL START
-On: 2011-09-02 13:15:44.652063 Event: Make a call to: 076145875681
-On: 2011-09-02 13:15:50.628202 Event: Call Connecting
-On: 2011-09-02 13:15:50.628251 Event: 200
-On: 2011-09-02 13:15:50.631622 Event: Terminate
-On: 2011-09-02 13:15:50.631677 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:51.475577 ------------------
-On: 2011-09-02 13:15:51.511402 Event: try to Connect to Controller
-On: 2011-09-02 13:15:52.640715 Event: init state
-On: 2011-09-02 13:15:52.640948 Event: Register Account to SIP server
-On: 2011-09-02 13:15:52.641361 Event: 100
-On: 2011-09-02 13:15:52.641438 Event: Caller Handler Ready
-On: 2011-09-02 13:15:57.647572 Event: CALL START
-On: 2011-09-02 13:15:57.647631 Event: Make a call to: 076120397898
-On: 2011-09-02 13:15:57.758051 Event: Call Connecting
-On: 2011-09-02 13:15:57.758099 Event: 200
-On: 2011-09-02 13:15:57.762095 Event: Terminate
-On: 2011-09-02 13:15:57.762156 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:14.235203 ------------------
-On: 2011-09-02 13:19:14.255845 Event: try to Connect to Controller
-On: 2011-09-02 13:19:15.513986 Event: init state
-On: 2011-09-02 13:19:15.514215 Event: Register Account to SIP server
-On: 2011-09-02 13:19:15.514634 Event: 100
-On: 2011-09-02 13:19:15.514714 Event: Caller Handler Ready
-On: 2011-09-02 13:19:20.521761 Event: CALL START
-On: 2011-09-02 13:19:20.521815 Event: Make a call to: 017678038038
-On: 2011-09-02 13:19:24.029595 Event: Call Connecting
-On: 2011-09-02 13:19:24.029643 Event: 200
-On: 2011-09-02 13:19:39.030951 Event: Terminate
-On: 2011-09-02 13:19:39.031002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:10.793411 ------------------
-On: 2011-09-02 13:20:10.814030 Event: try to Connect to Controller
-On: 2011-09-02 13:20:12.082004 Event: init state
-On: 2011-09-02 13:20:12.082234 Event: Register Account to SIP server
-On: 2011-09-02 13:20:12.082649 Event: 100
-On: 2011-09-02 13:20:12.082731 Event: Caller Handler Ready
-On: 2011-09-02 13:20:17.092943 Event: CALL START
-On: 2011-09-02 13:20:17.092999 Event: Make a call to: 017678038038
-On: 2011-09-02 13:20:20.135349 Event: Call Connecting
-On: 2011-09-02 13:20:20.135396 Event: 200
-On: 2011-09-02 13:20:35.136635 Event: Terminate
-On: 2011-09-02 13:20:35.136685 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:02.335449 ------------------
-On: 2011-09-02 13:21:02.356332 Event: try to Connect to Controller
-On: 2011-09-02 13:21:03.616157 Event: init state
-On: 2011-09-02 13:21:03.616388 Event: Register Account to SIP server
-On: 2011-09-02 13:21:03.616815 Event: 100
-On: 2011-09-02 13:21:03.616894 Event: Caller Handler Ready
-On: 2011-09-02 13:21:08.628942 Event: CALL START
-On: 2011-09-02 13:21:08.628995 Event: Make a call to: 017678038038
-On: 2011-09-02 13:21:11.214323 Event: Call Connecting
-On: 2011-09-02 13:21:11.214371 Event: 200
-On: 2011-09-02 13:21:26.215654 Event: Terminate
-On: 2011-09-02 13:21:26.215704 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:18.535751 ------------------
-On: 2011-09-02 13:29:18.556882 Event: try to Connect to Controller
-On: 2011-09-02 13:29:19.818174 Event: init state
-On: 2011-09-02 13:29:19.818503 Event: Register Account to SIP server
-On: 2011-09-02 13:29:19.818926 Event: 100
-On: 2011-09-02 13:29:19.819009 Event: Caller Handler Ready
-On: 2011-09-02 13:29:24.825761 Event: CALL START
-On: 2011-09-02 13:29:24.825816 Event: Make a call to: 017678038038
-On: 2011-09-02 13:29:32.222022 Event: Call Connecting
-On: 2011-09-02 13:29:32.222069 Event: 200
-On: 2011-09-02 13:29:47.223206 Event: Terminate
-On: 2011-09-02 13:29:47.223249 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:45:58.666059 ------------------
-On: 2011-09-02 13:45:58.686845 Event: try to Connect to Controller
-On: 2011-09-02 13:45:59.948541 Event: init state
-On: 2011-09-02 13:45:59.948778 Event: Register Account to SIP server
-On: 2011-09-02 13:45:59.949189 Event: 100
-On: 2011-09-02 13:45:59.949271 Event: Caller Handler Ready
-On: 2011-09-02 13:46:04.960957 Event: CALL START
-On: 2011-09-02 13:46:04.961018 Event: Make a call to: 017678038038
-On: 2011-09-02 13:46:08.725986 Event: Call Connecting
-On: 2011-09-02 13:46:08.726034 Event: 200
-On: 2011-09-02 13:46:23.727944 Event: Terminate
-On: 2011-09-02 13:46:23.727996 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:53.956104 ------------------
-On: 2011-09-02 13:49:53.976967 Event: try to Connect to Controller
-On: 2011-09-02 13:49:55.218183 Event: init state
-On: 2011-09-02 13:49:55.218439 Event: Register Account to SIP server
-On: 2011-09-02 13:49:55.218849 Event: 100
-On: 2011-09-02 13:49:55.218931 Event: Caller Handler Ready
-On: 2011-09-02 13:50:00.228948 Event: CALL START
-On: 2011-09-02 13:50:00.229003 Event: Make a call to: 017678038038
-On: 2011-09-02 13:50:03.854561 Event: Call Connecting
-On: 2011-09-02 13:50:03.854608 Event: 200
-On: 2011-09-02 13:50:18.855761 Event: Terminate
-On: 2011-09-02 13:50:18.855801 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:02.607072 ------------------
-On: 2011-09-02 13:55:02.628231 Event: try to Connect to Controller
-On: 2011-09-02 13:55:03.894910 Event: init state
-On: 2011-09-02 13:55:03.895136 Event: Register Account to SIP server
-On: 2011-09-02 13:55:03.895551 Event: 100
-On: 2011-09-02 13:55:03.895634 Event: Caller Handler Ready
-On: 2011-09-02 13:55:08.908330 Event: CALL START
-On: 2011-09-02 13:55:08.908385 Event: Make a call to: 017678038038
-On: 2011-09-02 13:55:13.119741 Event: Call Connecting
-On: 2011-09-02 13:55:13.119787 Event: 200
-On: 2011-09-02 13:55:28.120884 Event: Terminate
-On: 2011-09-02 13:55:28.120926 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:06.420185 ------------------
-On: 2011-09-09 12:01:06.441073 Event: try to Connect to Controller
-On: 2011-09-09 12:01:07.624045 Event: init state
-On: 2011-09-09 12:01:07.624285 Event: Register Account to SIP server
-On: 2011-09-09 12:01:07.625055 Event: 100
-On: 2011-09-09 12:01:07.625137 Event: Caller Handler Ready
-On: 2011-09-09 12:01:12.640588 Event: CALL START
-On: 2011-09-09 12:01:12.640715 Event: Make a call to: 017678038038
-On: 2011-09-09 12:01:22.265854 Event: Call Connecting
-On: 2011-09-09 12:01:22.265902 Event: 200
-On: 2011-09-09 12:01:22.269543 Event: Terminate
-On: 2011-09-09 12:01:22.269602 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:27.972292 ------------------
-On: 2011-09-09 12:01:27.992997 Event: try to Connect to Controller
-On: 2011-09-09 12:01:29.282631 Event: init state
-On: 2011-09-09 12:01:29.282872 Event: Register Account to SIP server
-On: 2011-09-09 12:01:29.283281 Event: 100
-On: 2011-09-09 12:01:29.283364 Event: Caller Handler Ready
-On: 2011-09-09 12:01:34.289743 Event: CALL START
-On: 2011-09-09 12:01:34.289799 Event: Make a call to: 015252423662
-On: 2011-09-09 12:01:43.808484 Event: Call Connecting
-On: 2011-09-09 12:01:43.808533 Event: 200
-On: 2011-09-09 12:01:43.812409 Event: Terminate
-On: 2011-09-09 12:01:43.812469 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:11.310443 ------------------
-On: 2011-09-09 12:04:11.331278 Event: try to Connect to Controller
-On: 2011-09-09 12:04:12.620596 Event: init state
-On: 2011-09-09 12:04:12.620841 Event: Register Account to SIP server
-On: 2011-09-09 12:04:12.621254 Event: 100
-On: 2011-09-09 12:04:12.621337 Event: Caller Handler Ready
-On: 2011-09-09 12:04:17.630856 Event: CALL START
-On: 2011-09-09 12:04:17.630920 Event: Make a call to: 076145875681
-On: 2011-09-09 12:04:21.364288 Event: Call Connecting
-On: 2011-09-09 12:04:21.364340 Event: 200
-On: 2011-09-09 12:04:21.365852 Event: Terminate
-On: 2011-09-09 12:04:21.365905 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:27.072709 ------------------
-On: 2011-09-09 12:04:27.093893 Event: try to Connect to Controller
-On: 2011-09-09 12:04:28.386696 Event: init state
-On: 2011-09-09 12:04:28.386933 Event: Register Account to SIP server
-On: 2011-09-09 12:04:28.387349 Event: 100
-On: 2011-09-09 12:04:28.387431 Event: Caller Handler Ready
-On: 2011-09-09 12:04:33.394162 Event: CALL START
-On: 2011-09-09 12:04:33.394221 Event: Make a call to: 076120397898
-On: 2011-09-09 12:04:33.442576 Event: Call Connecting
-On: 2011-09-09 12:04:33.442622 Event: 200
-On: 2011-09-09 12:04:33.443707 Event: Terminate
-On: 2011-09-09 12:04:33.443768 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:02.294476 ------------------
-On: 2011-09-09 12:09:02.314819 Event: try to Connect to Controller
-On: 2011-09-09 12:09:03.542291 Event: init state
-On: 2011-09-09 12:09:03.542526 Event: Register Account to SIP server
-On: 2011-09-09 12:09:03.542939 Event: 100
-On: 2011-09-09 12:09:03.543023 Event: Caller Handler Ready
-On: 2011-09-09 12:09:08.549418 Event: CALL START
-On: 2011-09-09 12:09:08.549474 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:09:10.146099 Event: Call Connecting
-On: 2011-09-09 12:09:10.146148 Event: 200
-On: 2011-09-09 12:09:10.345788 Event: Terminate
-On: 2011-09-09 12:09:10.345831 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:01.821854 ------------------
-On: 2011-09-09 12:46:01.842126 Event: try to Connect to Controller
-On: 2011-09-09 12:46:03.149724 Event: init state
-On: 2011-09-09 12:46:03.149956 Event: Register Account to SIP server
-On: 2011-09-09 12:46:03.150372 Event: 100
-On: 2011-09-09 12:46:03.150456 Event: Caller Handler Ready
-On: 2011-09-09 12:46:08.157069 Event: CALL START
-On: 2011-09-09 12:46:08.157127 Event: Make a call to: 076145875681
-On: 2011-09-09 12:46:13.516165 Event: Call Connecting
-On: 2011-09-09 12:46:13.516213 Event: 200
-On: 2011-09-09 12:46:13.516633 Event: Terminate
-On: 2011-09-09 12:46:13.516673 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:19.200607 ------------------
-On: 2011-09-09 12:46:19.221192 Event: try to Connect to Controller
-On: 2011-09-09 12:46:20.538553 Event: init state
-On: 2011-09-09 12:46:20.538784 Event: Register Account to SIP server
-On: 2011-09-09 12:46:20.539209 Event: 100
-On: 2011-09-09 12:46:20.539293 Event: Caller Handler Ready
-On: 2011-09-09 12:46:25.546196 Event: CALL START
-On: 2011-09-09 12:46:25.546257 Event: Make a call to: 076120397898
-On: 2011-09-09 12:46:25.620261 Event: Call Connecting
-On: 2011-09-09 12:46:25.620311 Event: 200
-On: 2011-09-09 12:46:25.620673 Event: Terminate
-On: 2011-09-09 12:46:25.620708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:36.818688 ------------------
-On: 2011-09-09 12:47:36.838962 Event: try to Connect to Controller
-On: 2011-09-09 12:47:38.093716 Event: init state
-On: 2011-09-09 12:47:38.093947 Event: Register Account to SIP server
-On: 2011-09-09 12:47:38.094345 Event: 100
-On: 2011-09-09 12:47:38.094424 Event: Caller Handler Ready
-On: 2011-09-09 12:47:43.104501 Event: CALL START
-On: 2011-09-09 12:47:43.104558 Event: Make a call to: 017678038038
-On: 2011-09-09 12:47:54.243504 Event: Call Connecting
-On: 2011-09-09 12:47:54.243553 Event: 200
-On: 2011-09-09 12:47:54.248176 Event: Terminate
-On: 2011-09-09 12:47:54.248240 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:59.948642 ------------------
-On: 2011-09-09 12:47:59.972325 Event: try to Connect to Controller
-On: 2011-09-09 12:48:01.261000 Event: init state
-On: 2011-09-09 12:48:01.261228 Event: Register Account to SIP server
-On: 2011-09-09 12:48:01.261688 Event: 100
-On: 2011-09-09 12:48:01.261775 Event: Caller Handler Ready
-On: 2011-09-09 12:48:06.272095 Event: CALL START
-On: 2011-09-09 12:48:06.272150 Event: Make a call to: 015252423662
-On: 2011-09-09 12:48:19.537769 Event: Terminate
-On: 2011-09-09 12:48:19.537809 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:25.257085 ------------------
-On: 2011-09-09 12:48:25.277858 Event: try to Connect to Controller
-On: 2011-09-09 12:48:26.554221 Event: init state
-On: 2011-09-09 12:48:26.554449 Event: Register Account to SIP server
-On: 2011-09-09 12:48:26.554863 Event: 100
-On: 2011-09-09 12:48:26.554945 Event: Caller Handler Ready
-On: 2011-09-09 12:48:31.561418 Event: CALL START
-On: 2011-09-09 12:48:31.561470 Event: Make a call to: 015782677224
-On: 2011-09-09 12:48:42.790005 Event: Call Connecting
-On: 2011-09-09 12:48:42.790053 Event: 200
-On: 2011-09-09 12:48:42.793676 Event: Terminate
-On: 2011-09-09 12:48:42.793741 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:48:48.496361 ------------------
-On: 2011-09-09 12:48:48.516769 Event: try to Connect to Controller
-On: 2011-09-09 12:48:49.807782 Event: init state
-On: 2011-09-09 12:48:49.808010 Event: Register Account to SIP server
-On: 2011-09-09 12:48:49.808428 Event: 100
-On: 2011-09-09 12:48:49.808513 Event: Caller Handler Ready
-On: 2011-09-09 12:48:54.820514 Event: CALL START
-On: 2011-09-09 12:48:54.820566 Event: Make a call to: 015128040906
-On: 2011-09-09 12:49:06.817545 Event: Terminate
-On: 2011-09-09 12:49:06.817607 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:12.538517 ------------------
-On: 2011-09-09 12:49:12.558970 Event: try to Connect to Controller
-On: 2011-09-09 12:49:13.830382 Event: init state
-On: 2011-09-09 12:49:13.830609 Event: Register Account to SIP server
-On: 2011-09-09 12:49:13.831028 Event: 100
-On: 2011-09-09 12:49:13.831112 Event: Caller Handler Ready
-On: 2011-09-09 12:49:18.839366 Event: CALL START
-On: 2011-09-09 12:49:18.839421 Event: Make a call to: 07612034661447
-On: 2011-09-09 12:49:20.543018 Event: Call Connecting
-On: 2011-09-09 12:49:20.543066 Event: 200
-On: 2011-09-09 12:49:20.733764 Event: Terminate
-On: 2011-09-09 12:49:20.733805 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:30.502233 ------------------
-On: 2011-09-09 12:49:30.522419 Event: try to Connect to Controller
-On: 2011-09-09 12:49:31.801363 Event: init state
-On: 2011-09-09 12:49:31.801840 Event: Register Account to SIP server
-On: 2011-09-09 12:49:31.802279 Event: 100
-On: 2011-09-09 12:49:31.802366 Event: Caller Handler Ready
-On: 2011-09-09 12:49:36.809543 Event: CALL START
-On: 2011-09-09 12:49:36.809603 Event: Make a call to: 076145875681
-On: 2011-09-09 12:49:40.460699 Event: Call Connecting
-On: 2011-09-09 12:49:40.460753 Event: 200
-On: 2011-09-09 12:49:40.462290 Event: Terminate
-On: 2011-09-09 12:49:40.462345 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:46.198801 ------------------
-On: 2011-09-09 12:49:46.219626 Event: try to Connect to Controller
-On: 2011-09-09 12:49:47.486204 Event: init state
-On: 2011-09-09 12:49:47.486444 Event: Register Account to SIP server
-On: 2011-09-09 12:49:47.486859 Event: 100
-On: 2011-09-09 12:49:47.486941 Event: Caller Handler Ready
-On: 2011-09-09 12:49:52.491671 Event: CALL START
-On: 2011-09-09 12:49:52.491731 Event: Make a call to: 076120397898
-On: 2011-09-09 12:49:52.569288 Event: Call Connecting
-On: 2011-09-09 12:49:52.569338 Event: 200
-On: 2011-09-09 12:49:52.569742 Event: Terminate
-On: 2011-09-09 12:49:52.569777 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:20.174197 ------------------
-On: 2011-09-09 12:58:20.195014 Event: try to Connect to Controller
-On: 2011-09-09 12:58:21.458654 Event: init state
-On: 2011-09-09 12:58:21.458892 Event: Register Account to SIP server
-On: 2011-09-09 12:58:21.459311 Event: 100
-On: 2011-09-09 12:58:21.459398 Event: Caller Handler Ready
-On: 2011-09-09 12:58:26.472479 Event: CALL START
-On: 2011-09-09 12:58:26.472535 Event: Make a call to: 015252423662
-On: 2011-09-09 12:58:37.114342 Event: Call Connecting
-On: 2011-09-09 12:58:37.114393 Event: 200
-On: 2011-09-09 12:58:37.117854 Event: Terminate
-On: 2011-09-09 12:58:37.117915 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:42.916843 ------------------
-On: 2011-09-09 12:58:42.937147 Event: try to Connect to Controller
-On: 2011-09-09 12:58:44.132837 Event: init state
-On: 2011-09-09 12:58:44.133066 Event: Register Account to SIP server
-On: 2011-09-09 12:58:44.133523 Event: 100
-On: 2011-09-09 12:58:44.133611 Event: Caller Handler Ready
-On: 2011-09-09 12:58:49.138793 Event: CALL START
-On: 2011-09-09 12:58:49.138850 Event: Make a call to: 017678038038
-On: 2011-09-09 12:58:59.126113 Event: Call Connecting
-On: 2011-09-09 12:58:59.126165 Event: 200
-On: 2011-09-09 12:58:59.129673 Event: Terminate
-On: 2011-09-09 12:58:59.129736 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:04.942801 ------------------
-On: 2011-09-09 12:59:04.990449 Event: try to Connect to Controller
-On: 2011-09-09 12:59:06.152581 Event: init state
-On: 2011-09-09 12:59:06.152824 Event: Register Account to SIP server
-On: 2011-09-09 12:59:06.153236 Event: 100
-On: 2011-09-09 12:59:06.153322 Event: Caller Handler Ready
-On: 2011-09-09 12:59:11.161419 Event: CALL START
-On: 2011-09-09 12:59:11.161474 Event: Make a call to: 015782677224
-On: 2011-09-09 12:59:21.541457 Event: Call Connecting
-On: 2011-09-09 12:59:21.541510 Event: 200
-On: 2011-09-09 12:59:21.545672 Event: Terminate
-On: 2011-09-09 12:59:21.545735 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:59:27.340187 ------------------
-On: 2011-09-09 12:59:27.360782 Event: try to Connect to Controller
-On: 2011-09-09 12:59:28.561500 Event: init state
-On: 2011-09-09 12:59:28.561749 Event: Register Account to SIP server
-On: 2011-09-09 12:59:28.562158 Event: 100
-On: 2011-09-09 12:59:28.562241 Event: Caller Handler Ready
-On: 2011-09-09 12:59:33.576600 Event: CALL START
-On: 2011-09-09 12:59:33.576660 Event: Make a call to: 015128040906
-On: 2011-09-09 12:59:45.569369 Event: Terminate
-On: 2011-09-09 12:59:45.569441 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:04:58.421962 ------------------
-On: 2011-09-09 13:04:58.442647 Event: try to Connect to Controller
-On: 2011-09-09 13:04:59.728794 Event: init state
-On: 2011-09-09 13:04:59.729021 Event: Register Account to SIP server
-On: 2011-09-09 13:04:59.729834 Event: 100
-On: 2011-09-09 13:04:59.729922 Event: Caller Handler Ready
-On: 2011-09-09 13:05:04.740606 Event: CALL START
-On: 2011-09-09 13:05:04.740660 Event: Make a call to: 015128040906
-On: 2011-09-09 13:05:15.030801 Event: Call Connecting
-On: 2011-09-09 13:05:15.030851 Event: 200
-On: 2011-09-09 13:05:15.033546 Event: Terminate
-On: 2011-09-09 13:05:15.033606 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:26.648660 ------------------
-On: 2011-09-09 13:05:26.669361 Event: try to Connect to Controller
-On: 2011-09-09 13:05:27.985769 Event: init state
-On: 2011-09-09 13:05:27.986002 Event: Register Account to SIP server
-On: 2011-09-09 13:05:27.986407 Event: 100
-On: 2011-09-09 13:05:27.986491 Event: Caller Handler Ready
-On: 2011-09-09 13:05:32.996493 Event: CALL START
-On: 2011-09-09 13:05:32.996545 Event: Make a call to: 017678038038
-On: 2011-09-09 13:05:42.643592 Event: Call Connecting
-On: 2011-09-09 13:05:42.643644 Event: 200
-On: 2011-09-09 13:05:42.647437 Event: Terminate
-On: 2011-09-09 13:05:42.647501 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:48.327361 ------------------
-On: 2011-09-09 13:05:48.348139 Event: try to Connect to Controller
-On: 2011-09-09 13:05:49.660344 Event: init state
-On: 2011-09-09 13:05:49.660579 Event: Register Account to SIP server
-On: 2011-09-09 13:05:49.661345 Event: 100
-On: 2011-09-09 13:05:49.663653 Event: Caller Handler Ready
-On: 2011-09-09 13:05:54.672639 Event: CALL START
-On: 2011-09-09 13:05:54.672694 Event: Make a call to: 015252423662
-On: 2011-09-09 13:06:05.667086 Event: Call Connecting
-On: 2011-09-09 13:06:05.667136 Event: 200
-On: 2011-09-09 13:06:05.671226 Event: Terminate
-On: 2011-09-09 13:06:05.671290 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:11.405119 ------------------
-On: 2011-09-09 13:06:11.425872 Event: try to Connect to Controller
-On: 2011-09-09 13:06:12.683847 Event: init state
-On: 2011-09-09 13:06:12.684074 Event: Register Account to SIP server
-On: 2011-09-09 13:06:12.684493 Event: 100
-On: 2011-09-09 13:06:12.684578 Event: Caller Handler Ready
-On: 2011-09-09 13:06:17.696611 Event: CALL START
-On: 2011-09-09 13:06:17.696665 Event: Make a call to: 015782677224
-On: 2011-09-09 13:06:28.728114 Event: Call Connecting
-On: 2011-09-09 13:06:28.728164 Event: 200
-On: 2011-09-09 13:06:28.732045 Event: Terminate
-On: 2011-09-09 13:06:28.732110 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:34.452717 ------------------
-On: 2011-09-09 13:06:34.474895 Event: try to Connect to Controller
-On: 2011-09-09 13:06:35.745335 Event: init state
-On: 2011-09-09 13:06:35.745603 Event: Register Account to SIP server
-On: 2011-09-09 13:06:35.746018 Event: 100
-On: 2011-09-09 13:06:35.746104 Event: Caller Handler Ready
-On: 2011-09-09 13:06:40.760614 Event: CALL START
-On: 2011-09-09 13:06:40.760671 Event: Make a call to: 015128040906
-On: 2011-09-09 13:06:50.907716 Event: Call Connecting
-On: 2011-09-09 13:06:50.907768 Event: 200
-On: 2011-09-09 13:06:50.911592 Event: Terminate
-On: 2011-09-09 13:06:50.911654 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:06:56.605366 ------------------
-On: 2011-09-09 13:06:56.625913 Event: try to Connect to Controller
-On: 2011-09-09 13:06:57.921131 Event: init state
-On: 2011-09-09 13:06:57.921367 Event: Register Account to SIP server
-On: 2011-09-09 13:06:57.921806 Event: 100
-On: 2011-09-09 13:06:57.921892 Event: Caller Handler Ready
-On: 2011-09-09 13:07:02.929420 Event: CALL START
-On: 2011-09-09 13:07:02.929473 Event: Make a call to: 07612034661447
-On: 2011-09-09 13:07:04.508943 Event: Call Connecting
-On: 2011-09-09 13:07:04.508991 Event: 200
-On: 2011-09-09 13:07:04.713844 Event: Terminate
-On: 2011-09-09 13:07:04.713885 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:14.452722 ------------------
-On: 2011-09-09 13:07:14.473633 Event: try to Connect to Controller
-On: 2011-09-09 13:07:15.783664 Event: init state
-On: 2011-09-09 13:07:15.784093 Event: Register Account to SIP server
-On: 2011-09-09 13:07:15.784532 Event: 100
-On: 2011-09-09 13:07:15.784617 Event: Caller Handler Ready
-On: 2011-09-09 13:07:20.793868 Event: CALL START
-On: 2011-09-09 13:07:20.793927 Event: Make a call to: 076145875681
-On: 2011-09-09 13:07:24.558896 Event: Call Connecting
-On: 2011-09-09 13:07:24.558946 Event: 200
-On: 2011-09-09 13:07:24.559967 Event: Terminate
-On: 2011-09-09 13:07:24.560005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:30.255299 ------------------
-On: 2011-09-09 13:07:30.275748 Event: try to Connect to Controller
-On: 2011-09-09 13:07:31.584377 Event: init state
-On: 2011-09-09 13:07:31.584611 Event: Register Account to SIP server
-On: 2011-09-09 13:07:31.585019 Event: 100
-On: 2011-09-09 13:07:31.585102 Event: Caller Handler Ready
-On: 2011-09-09 13:07:36.591716 Event: CALL START
-On: 2011-09-09 13:07:36.591776 Event: Make a call to: 076120397898
-On: 2011-09-09 13:07:36.676807 Event: Call Connecting
-On: 2011-09-09 13:07:36.676854 Event: 200
-On: 2011-09-09 13:07:36.677205 Event: Terminate
-On: 2011-09-09 13:07:36.677239 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:38:38.862334 ------------------
-On: 2011-09-09 15:38:38.883937 Event: try to Connect to Controller
-On: 2011-09-09 15:38:40.171851 Event: init state
-On: 2011-09-09 15:38:40.172085 Event: Register Account to SIP server
-On: 2011-09-09 15:38:40.172494 Event: 100
-On: 2011-09-09 15:38:40.172579 Event: Caller Handler Ready
-On: 2011-09-09 15:38:42.178095 Event: Terminate
-On: 2011-09-09 15:38:42.178134 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:39:17.710963 ------------------
-On: 2011-09-09 15:39:17.731386 Event: try to Connect to Controller
-On: 2011-09-09 15:39:19.018300 Event: init state
-On: 2011-09-09 15:39:19.018532 Event: Register Account to SIP server
-On: 2011-09-09 15:39:19.018958 Event: 100
-On: 2011-09-09 15:39:19.019036 Event: Caller Handler Ready
-On: 2011-09-09 15:39:21.025863 Event: Terminate
-On: 2011-09-09 15:39:21.025902 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:41:19.074634 ------------------
-On: 2011-09-09 15:41:19.095189 Event: try to Connect to Controller
-On: 2011-09-09 15:41:20.360841 Event: init state
-On: 2011-09-09 15:41:20.361067 Event: Register Account to SIP server
-On: 2011-09-09 15:41:20.361537 Event: 100
-On: 2011-09-09 15:41:20.361621 Event: Caller Handler Ready
-On: 2011-09-09 15:41:22.370715 Event: Terminate
-On: 2011-09-09 15:41:22.370764 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:42:15.189735 ------------------
-On: 2011-09-09 15:42:15.210301 Event: try to Connect to Controller
-On: 2011-09-09 15:42:16.404871 Event: init state
-On: 2011-09-09 15:42:16.405539 Event: Register Account to SIP server
-On: 2011-09-09 15:42:16.405967 Event: 100
-On: 2011-09-09 15:42:16.406055 Event: Caller Handler Ready
-On: 2011-09-09 15:42:18.414642 Event: Terminate
-On: 2011-09-09 15:42:18.414681 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:43:05.543327 ------------------
-On: 2011-09-09 15:43:05.564248 Event: try to Connect to Controller
-On: 2011-09-09 15:43:06.842160 Event: init state
-On: 2011-09-09 15:43:06.842401 Event: Register Account to SIP server
-On: 2011-09-09 15:43:06.842824 Event: 100
-On: 2011-09-09 15:43:06.842905 Event: Caller Handler Ready
-On: 2011-09-09 15:43:08.853668 Event: Terminate
-On: 2011-09-09 15:43:08.853708 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:22.249976 ------------------
-On: 2011-09-09 15:44:22.270438 Event: try to Connect to Controller
-On: 2011-09-09 15:44:23.538514 Event: init state
-On: 2011-09-09 15:44:23.538769 Event: Register Account to SIP server
-On: 2011-09-09 15:44:23.539189 Event: 100
-On: 2011-09-09 15:44:23.539271 Event: Caller Handler Ready
-On: 2011-09-09 15:44:25.545562 Event: Terminate
-On: 2011-09-09 15:44:25.545604 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:53.336432 ------------------
-On: 2011-09-09 15:44:53.356993 Event: try to Connect to Controller
-On: 2011-09-09 15:44:54.551974 Event: init state
-On: 2011-09-09 15:44:54.552203 Event: Register Account to SIP server
-On: 2011-09-09 15:44:54.552621 Event: 100
-On: 2011-09-09 15:44:54.552706 Event: Caller Handler Ready
-On: 2011-09-09 15:44:56.562051 Event: Terminate
-On: 2011-09-09 15:44:56.562100 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:46:14.749046 ------------------
-On: 2011-09-09 15:46:14.770803 Event: try to Connect to Controller
-On: 2011-09-09 15:46:15.974206 Event: init state
-On: 2011-09-09 15:46:15.974433 Event: Register Account to SIP server
-On: 2011-09-09 15:46:15.974854 Event: 100
-On: 2011-09-09 15:46:15.974936 Event: Caller Handler Ready
-On: 2011-09-09 15:46:17.981376 Event: Terminate
-On: 2011-09-09 15:46:17.981446 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:47:37.228684 ------------------
-On: 2011-09-09 15:47:37.249277 Event: try to Connect to Controller
-On: 2011-09-09 15:47:38.525094 Event: init state
-On: 2011-09-09 15:47:38.525330 Event: Register Account to SIP server
-On: 2011-09-09 15:47:38.525783 Event: 100
-On: 2011-09-09 15:47:38.525871 Event: Caller Handler Ready
-On: 2011-09-09 15:47:40.534503 Event: Terminate
-On: 2011-09-09 15:47:40.534550 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:12.215770 ------------------
-On: 2011-09-09 16:25:12.236503 Event: try to Connect to Controller
-On: 2011-09-09 16:25:13.507069 Event: init state
-On: 2011-09-09 16:25:13.507301 Event: Register Account to SIP server
-On: 2011-09-09 16:25:13.507719 Event: 100
-On: 2011-09-09 16:25:13.507800 Event: Caller Handler Ready
-On: 2011-09-09 16:25:18.516795 Event: CALL START
-On: 2011-09-09 16:25:18.516851 Event: Make a call to: 017678038038
-On: 2011-09-09 16:25:45.514445 Event: Terminate
-On: 2011-09-09 16:25:45.514489 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:51.281243 ------------------
-On: 2011-09-09 16:25:51.302095 Event: try to Connect to Controller
-On: 2011-09-09 16:25:52.533635 Event: init state
-On: 2011-09-09 16:25:52.533906 Event: Register Account to SIP server
-On: 2011-09-09 16:25:52.534322 Event: 100
-On: 2011-09-09 16:25:52.534406 Event: Caller Handler Ready
-On: 2011-09-09 16:25:57.541638 Event: CALL START
-On: 2011-09-09 16:25:57.541699 Event: Make a call to: 015252423662
-On: 2011-09-09 16:26:24.539587 Event: Terminate
-On: 2011-09-09 16:26:24.539627 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:30.307947 ------------------
-On: 2011-09-09 16:26:30.329095 Event: try to Connect to Controller
-On: 2011-09-09 16:26:31.557342 Event: init state
-On: 2011-09-09 16:26:31.557574 Event: Register Account to SIP server
-On: 2011-09-09 16:26:31.558034 Event: 100
-On: 2011-09-09 16:26:31.558122 Event: Caller Handler Ready
-On: 2011-09-09 16:26:36.565637 Event: CALL START
-On: 2011-09-09 16:26:36.565699 Event: Make a call to: 015782677224
-On: 2011-09-09 16:26:46.616524 Event: Call Connecting
-On: 2011-09-09 16:26:46.616576 Event: 200
-On: 2011-09-09 16:26:46.620666 Event: Terminate
-On: 2011-09-09 16:26:46.620732 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:26:52.259958 ------------------
-On: 2011-09-09 16:26:52.280364 Event: try to Connect to Controller
-On: 2011-09-09 16:26:53.634030 Event: init state
-On: 2011-09-09 16:26:53.634261 Event: Register Account to SIP server
-On: 2011-09-09 16:26:53.634680 Event: 100
-On: 2011-09-09 16:26:53.634766 Event: Caller Handler Ready
-On: 2011-09-09 16:26:58.641649 Event: CALL START
-On: 2011-09-09 16:26:58.641713 Event: Make a call to: 015128040906
-On: 2011-09-09 16:27:25.606837 Event: Call Connecting
-On: 2011-09-09 16:27:25.606888 Event: 200
-On: 2011-09-09 16:27:25.639857 Event: Terminate
-On: 2011-09-09 16:27:25.639901 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:31.408855 ------------------
-On: 2011-09-09 16:27:31.429888 Event: try to Connect to Controller
-On: 2011-09-09 16:27:32.659182 Event: init state
-On: 2011-09-09 16:27:32.659415 Event: Register Account to SIP server
-On: 2011-09-09 16:27:32.660211 Event: 100
-On: 2011-09-09 16:27:32.660293 Event: Caller Handler Ready
-On: 2011-09-09 16:27:34.670023 Event: Terminate
-On: 2011-09-09 16:27:34.670079 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:27:42.491745 ------------------
-On: 2011-09-09 16:27:42.512376 Event: try to Connect to Controller
-On: 2011-09-09 16:27:43.865970 Event: init state
-On: 2011-09-09 16:27:43.866200 Event: Register Account to SIP server
-On: 2011-09-09 16:27:43.866626 Event: 100
-On: 2011-09-09 16:27:43.866712 Event: Caller Handler Ready
-On: 2011-09-09 16:27:48.889806 Event: CALL START
-On: 2011-09-09 16:27:48.889866 Event: Make a call to: 076145875681
-On: 2011-09-09 16:27:55.021303 Event: Call Connecting
-On: 2011-09-09 16:27:55.021355 Event: 200
-On: 2011-09-09 16:27:55.022924 Event: Terminate
-On: 2011-09-09 16:27:55.022977 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:00.672211 ------------------
-On: 2011-09-09 16:28:00.692884 Event: try to Connect to Controller
-On: 2011-09-09 16:28:02.044754 Event: init state
-On: 2011-09-09 16:28:02.044982 Event: Register Account to SIP server
-On: 2011-09-09 16:28:02.045399 Event: 100
-On: 2011-09-09 16:28:02.045484 Event: Caller Handler Ready
-On: 2011-09-09 16:28:07.053669 Event: CALL START
-On: 2011-09-09 16:28:07.053731 Event: Make a call to: 076120397898
-On: 2011-09-09 16:28:07.102375 Event: Call Connecting
-On: 2011-09-09 16:28:07.102424 Event: 200
-On: 2011-09-09 16:28:07.102788 Event: Terminate
-On: 2011-09-09 16:28:07.102824 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:13:08.268235 ------------------
-On: 2011-09-09 21:13:08.288873 Event: try to Connect to Controller
-On: 2011-09-09 21:13:09.522915 Event: init state
-On: 2011-09-09 21:13:09.523144 Event: Register Account to SIP server
-On: 2011-09-09 21:13:09.523552 Event: 100
-On: 2011-09-09 21:13:09.523632 Event: Caller Handler Ready
-On: 2011-09-09 21:13:13.533965 Event: Terminate
-On: 2011-09-09 21:13:13.534002 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:01.155335 ------------------
-On: 2011-09-09 21:14:01.176101 Event: try to Connect to Controller
-On: 2011-09-09 21:14:02.425716 Event: init state
-On: 2011-09-09 21:14:02.426285 Event: Register Account to SIP server
-On: 2011-09-09 21:14:02.427064 Event: 100
-On: 2011-09-09 21:14:02.427144 Event: Caller Handler Ready
-On: 2011-09-09 21:14:09.445645 Event: CALL START
-On: 2011-09-09 21:14:09.445712 Event: Make a call to: 07612034661447
-On: 2011-09-09 21:14:11.160668 Event: Call Connecting
-On: 2011-09-09 21:14:11.160719 Event: 200
-On: 2011-09-09 21:14:11.370512 Event: Terminate
-On: 2011-09-09 21:14:11.370573 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:57.856204 ------------------
-On: 2011-09-09 21:14:57.877032 Event: try to Connect to Controller
-On: 2011-09-09 21:14:59.130334 Event: init state
-On: 2011-09-09 21:14:59.130571 Event: Register Account to SIP server
-On: 2011-09-09 21:14:59.130983 Event: 100
-On: 2011-09-09 21:14:59.131066 Event: Caller Handler Ready
-On: 2011-09-09 21:15:06.148501 Event: CALL START
-On: 2011-09-09 21:15:06.148559 Event: Make a call to: 07612034661447
-On: 2011-09-09 21:15:08.884062 Event: Call Connecting
-On: 2011-09-09 21:15:08.884111 Event: 200
-On: 2011-09-09 21:15:09.068798 Event: Terminate
-On: 2011-09-09 21:15:09.068860 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:31:38.620492 ------------------
-On: 2011-09-11 20:31:38.632623 Event: try to Connect to Controller
-On: 2011-09-11 20:31:40.464033 Event: init state
-On: 2011-09-11 20:31:40.464251 Event: Register Account to SIP server
-On: 2011-09-11 20:31:40.464792 Event: 100
-On: 2011-09-11 20:31:40.464881 Event: Caller Handler Ready
-On: 2011-09-11 20:31:45.474711 Event: CALL START
-On: 2011-09-11 20:31:45.474748 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:31:47.129864 Event: Call Connecting
-On: 2011-09-11 20:31:47.129892 Event: 200
-On: 2011-09-11 20:31:47.319009 Event: Terminate
-On: 2011-09-11 20:31:47.319032 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:32:16.758132 ------------------
-On: 2011-09-11 20:32:16.771535 Event: try to Connect to Controller
-On: 2011-09-11 20:32:18.614209 Event: init state
-On: 2011-09-11 20:32:18.614484 Event: Register Account to SIP server
-On: 2011-09-11 20:32:18.615112 Event: 100
-On: 2011-09-11 20:32:18.615474 Event: Caller Handler Ready
-On: 2011-09-11 20:32:23.622124 Event: CALL START
-On: 2011-09-11 20:32:23.622161 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:32:25.982548 Event: Call Connecting
-On: 2011-09-11 20:32:25.982573 Event: 200
-On: 2011-09-11 20:32:26.154985 Event: Terminate
-On: 2011-09-11 20:32:26.155008 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:35:28.863104 ------------------
-On: 2011-09-11 20:35:28.872477 Event: try to Connect to Controller
-On: 2011-09-11 20:35:30.730348 Event: init state
-On: 2011-09-11 20:35:30.730434 Event: Register Account to SIP server
-On: 2011-09-11 20:35:30.731088 Event: 100
-On: 2011-09-11 20:35:30.731174 Event: Caller Handler Ready
-On: 2011-09-11 20:35:35.739543 Event: CALL START
-On: 2011-09-11 20:35:35.739565 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:35:37.777479 Event: Call Connecting
-On: 2011-09-11 20:35:37.777509 Event: 200
-On: 2011-09-11 20:35:37.983043 Event: Terminate
-On: 2011-09-11 20:35:37.983113 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:41:52.825519 ------------------
-On: 2011-09-11 20:41:52.834709 Event: try to Connect to Controller
-On: 2011-09-11 20:41:54.694312 Event: init state
-On: 2011-09-11 20:41:54.694375 Event: Register Account to SIP server
-On: 2011-09-11 20:41:54.694567 Event: 100
-On: 2011-09-11 20:41:54.694592 Event: Caller Handler Ready
-On: 2011-09-11 20:41:59.701294 Event: CALL START
-On: 2011-09-11 20:41:59.701322 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:42:01.944332 Event: Call Connecting
-On: 2011-09-11 20:42:01.944356 Event: 200
-On: 2011-09-11 20:42:02.139085 Event: Terminate
-On: 2011-09-11 20:42:02.139158 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:49:36.841179 ------------------
-On: 2011-09-11 20:49:36.850528 Event: try to Connect to Controller
-On: 2011-09-11 20:49:38.704760 Event: init state
-On: 2011-09-11 20:49:38.705002 Event: Register Account to SIP server
-On: 2011-09-11 20:49:38.705560 Event: 100
-On: 2011-09-11 20:49:38.705644 Event: Caller Handler Ready
-On: 2011-09-11 20:49:43.715508 Event: CALL START
-On: 2011-09-11 20:49:43.715537 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:49:46.370226 Event: Call Connecting
-On: 2011-09-11 20:49:46.370251 Event: 200
-On: 2011-09-11 20:49:46.567133 Event: Terminate
-On: 2011-09-11 20:49:46.567208 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:51:46.143924 ------------------
-On: 2011-09-11 20:51:46.155918 Event: try to Connect to Controller
-On: 2011-09-11 20:51:47.994138 Event: init state
-On: 2011-09-11 20:51:47.994359 Event: Register Account to SIP server
-On: 2011-09-11 20:51:47.994969 Event: 100
-On: 2011-09-11 20:51:47.995065 Event: Caller Handler Ready
-On: 2011-09-11 20:51:53.004362 Event: CALL START
-On: 2011-09-11 20:51:53.004397 Event: Make a call to: 07612034661447
-On: 2011-09-11 20:51:54.654139 Event: Call Connecting
-On: 2011-09-11 20:51:54.654169 Event: 200
-On: 2011-09-11 20:51:54.838952 Event: Terminate
-On: 2011-09-11 20:51:54.838974 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:34:10.358228 ------------------
-On: 2011-09-12 14:34:10.370259 Event: try to Connect to Controller
-On: 2011-09-12 14:34:12.209200 Event: init state
-On: 2011-09-12 14:34:12.209471 Event: Register Account to SIP server
-On: 2011-09-12 14:34:12.210041 Event: 100
-On: 2011-09-12 14:34:12.210122 Event: Caller Handler Ready
-On: 2011-09-12 14:34:17.219122 Event: CALL START
-On: 2011-09-12 14:34:17.219153 Event: Make a call to: 07612034661447
-On: 2011-09-12 14:34:19.532502 Event: Call Connecting
-On: 2011-09-12 14:34:19.532527 Event: 200
-On: 2011-09-12 14:34:19.732085 Event: Terminate
-On: 2011-09-12 14:34:19.732284 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:34:24.875847 ------------------
-On: 2011-09-12 14:34:24.887778 Event: try to Connect to Controller
-On: 2011-09-12 14:34:26.751537 Event: init state
-On: 2011-09-12 14:34:26.752174 Event: Register Account to SIP server
-On: 2011-09-12 14:34:26.752987 Event: 100
-On: 2011-09-12 14:34:26.753110 Event: Caller Handler Ready
-On: 2011-09-12 14:34:31.759824 Event: CALL START
-On: 2011-09-12 14:34:31.759855 Event: Make a call to: 07612034661447
-On: 2011-09-12 14:34:33.689959 Event: Call Connecting
-On: 2011-09-12 14:34:33.689982 Event: 200
-On: 2011-09-12 14:34:33.872000 Event: Terminate
-On: 2011-09-12 14:34:33.872026 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:36:28.841016 ------------------
-On: 2011-09-12 14:36:28.850711 Event: try to Connect to Controller
-On: 2011-09-12 14:36:30.700260 Event: init state
-On: 2011-09-12 14:36:30.700497 Event: Register Account to SIP server
-On: 2011-09-12 14:36:30.701070 Event: 100
-On: 2011-09-12 14:36:30.701151 Event: Caller Handler Ready
-On: 2011-09-12 14:36:35.710868 Event: CALL START
-On: 2011-09-12 14:36:35.710905 Event: Make a call to: 07612034661447
-On: 2011-09-12 14:36:38.420487 Event: Call Connecting
-On: 2011-09-12 14:36:38.420516 Event: 200
-On: 2011-09-12 14:36:38.611979 Event: Terminate
-On: 2011-09-12 14:36:38.612000 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:56:53.315102 ------------------
-On: 2011-09-12 14:56:53.327150 Event: try to Connect to Controller
-On: 2011-09-12 14:56:55.173427 Event: init state
-On: 2011-09-12 14:56:55.173493 Event: Register Account to SIP server
-On: 2011-09-12 14:56:55.173875 Event: 100
-On: 2011-09-12 14:56:55.173974 Event: Caller Handler Ready
-On: 2011-09-12 14:57:00.178290 Event: CALL START
-On: 2011-09-12 14:57:00.178321 Event: Make a call to: 07612034661447
-On: 2011-09-12 14:57:01.978067 Event: Call Connecting
-On: 2011-09-12 14:57:01.978098 Event: 200
-On: 2011-09-12 14:57:02.143968 Event: Terminate
-On: 2011-09-12 14:57:02.143990 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:57:07.304090 ------------------
-On: 2011-09-12 14:57:07.313626 Event: try to Connect to Controller
-On: 2011-09-12 14:57:09.160267 Event: init state
-On: 2011-09-12 14:57:09.160363 Event: Register Account to SIP server
-On: 2011-09-12 14:57:09.160894 Event: 100
-On: 2011-09-12 14:57:09.160985 Event: Caller Handler Ready
-On: 2011-09-12 14:57:14.165557 Event: CALL START
-On: 2011-09-12 14:57:14.165591 Event: Make a call to: 07612034661447
-On: 2011-09-12 14:57:16.319919 Event: Call Connecting
-On: 2011-09-12 14:57:16.319942 Event: 200
-On: 2011-09-12 14:57:16.500050 Event: Terminate
-On: 2011-09-12 14:57:16.500123 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:01:21.471015 ------------------
-On: 2011-09-12 15:01:21.480603 Event: try to Connect to Controller
-On: 2011-09-12 15:01:23.328546 Event: init state
-On: 2011-09-12 15:01:23.328605 Event: Register Account to SIP server
-On: 2011-09-12 15:01:23.328778 Event: 100
-On: 2011-09-12 15:01:23.328799 Event: Caller Handler Ready
-On: 2011-09-12 15:01:28.334786 Event: CALL START
-On: 2011-09-12 15:01:28.334829 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:01:30.283420 Event: Call Connecting
-On: 2011-09-12 15:01:30.283445 Event: 200
-On: 2011-09-12 15:01:30.484037 Event: Terminate
-On: 2011-09-12 15:01:30.484060 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:14:54.052570 ------------------
-On: 2011-09-12 15:14:54.062574 Event: try to Connect to Controller
-On: 2011-09-12 15:14:55.916844 Event: init state
-On: 2011-09-12 15:14:55.917108 Event: Register Account to SIP server
-On: 2011-09-12 15:14:55.917651 Event: 100
-On: 2011-09-12 15:14:55.917731 Event: Caller Handler Ready
-On: 2011-09-12 15:15:00.927172 Event: CALL START
-On: 2011-09-12 15:15:00.927199 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:15:03.581700 Event: Call Connecting
-On: 2011-09-12 15:15:03.581730 Event: 200
-On: 2011-09-12 15:15:03.759988 Event: Terminate
-On: 2011-09-12 15:15:03.760011 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:08.924242 ------------------
-On: 2011-09-12 15:15:08.936389 Event: try to Connect to Controller
-On: 2011-09-12 15:15:10.772104 Event: init state
-On: 2011-09-12 15:15:10.772197 Event: Register Account to SIP server
-On: 2011-09-12 15:15:10.772740 Event: 100
-On: 2011-09-12 15:15:10.772826 Event: Caller Handler Ready
-On: 2011-09-12 15:15:15.779608 Event: CALL START
-On: 2011-09-12 15:15:15.779638 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:15:17.687477 Event: Call Connecting
-On: 2011-09-12 15:15:17.687507 Event: 200
-On: 2011-09-12 15:15:17.860030 Event: Terminate
-On: 2011-09-12 15:15:17.860052 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:23.003830 ------------------
-On: 2011-09-12 15:15:23.013378 Event: try to Connect to Controller
-On: 2011-09-12 15:15:24.874971 Event: init state
-On: 2011-09-12 15:15:24.875035 Event: Register Account to SIP server
-On: 2011-09-12 15:15:24.875216 Event: 100
-On: 2011-09-12 15:15:24.875238 Event: Caller Handler Ready
-On: 2011-09-12 15:15:29.879822 Event: CALL START
-On: 2011-09-12 15:15:29.879854 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:15:31.816878 Event: Call Connecting
-On: 2011-09-12 15:15:31.816901 Event: 200
-On: 2011-09-12 15:15:31.984245 Event: Terminate
-On: 2011-09-12 15:15:31.984315 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:15:37.156968 ------------------
-On: 2011-09-12 15:15:37.169358 Event: try to Connect to Controller
-On: 2011-09-12 15:15:39.007183 Event: init state
-On: 2011-09-12 15:15:39.007450 Event: Register Account to SIP server
-On: 2011-09-12 15:15:39.008244 Event: 100
-On: 2011-09-12 15:15:39.008368 Event: Caller Handler Ready
-On: 2011-09-12 15:15:44.017479 Event: CALL START
-On: 2011-09-12 15:15:44.017507 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:15:45.920732 Event: Call Connecting
-On: 2011-09-12 15:15:45.920761 Event: 200
-On: 2011-09-12 15:15:46.128003 Event: Terminate
-On: 2011-09-12 15:15:46.128027 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:19:33.653595 ------------------
-On: 2011-09-12 15:19:33.664561 Event: try to Connect to Controller
-On: 2011-09-12 15:19:35.519026 Event: init state
-On: 2011-09-12 15:19:35.519100 Event: Register Account to SIP server
-On: 2011-09-12 15:19:35.519277 Event: 100
-On: 2011-09-12 15:19:35.519298 Event: Caller Handler Ready
-On: 2011-09-12 15:19:40.527828 Event: CALL START
-On: 2011-09-12 15:19:40.527861 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:19:42.467162 Event: Call Connecting
-On: 2011-09-12 15:19:42.467190 Event: 200
-On: 2011-09-12 15:19:42.659981 Event: Terminate
-On: 2011-09-12 15:19:42.660003 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:26:13.158946 ------------------
-On: 2011-09-12 15:26:13.169605 Event: try to Connect to Controller
-On: 2011-09-12 15:26:15.012743 Event: init state
-On: 2011-09-12 15:26:15.012898 Event: Register Account to SIP server
-On: 2011-09-12 15:26:15.013470 Event: 100
-On: 2011-09-12 15:26:15.013550 Event: Caller Handler Ready
-On: 2011-09-12 15:26:20.020639 Event: CALL START
-On: 2011-09-12 15:26:20.020678 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:26:22.689378 Event: Call Connecting
-On: 2011-09-12 15:26:22.689401 Event: 200
-On: 2011-09-12 15:26:22.844134 Event: Terminate
-On: 2011-09-12 15:26:22.844212 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:27:36.915550 ------------------
-On: 2011-09-12 15:27:36.926592 Event: try to Connect to Controller
-On: 2011-09-12 15:27:38.783113 Event: init state
-On: 2011-09-12 15:27:38.783254 Event: Register Account to SIP server
-On: 2011-09-12 15:27:38.783433 Event: 100
-On: 2011-09-12 15:27:38.783455 Event: Caller Handler Ready
-On: 2011-09-12 15:27:43.789354 Event: CALL START
-On: 2011-09-12 15:27:43.789382 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:27:46.188477 Event: Call Connecting
-On: 2011-09-12 15:27:46.188502 Event: 200
-On: 2011-09-12 15:27:46.384136 Event: Terminate
-On: 2011-09-12 15:27:46.384205 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:28:25.230275 ------------------
-On: 2011-09-12 15:28:25.241943 Event: try to Connect to Controller
-On: 2011-09-12 15:28:27.084923 Event: init state
-On: 2011-09-12 15:28:27.084991 Event: Register Account to SIP server
-On: 2011-09-12 15:28:27.085181 Event: 100
-On: 2011-09-12 15:28:27.085202 Event: Caller Handler Ready
-On: 2011-09-12 15:28:32.092510 Event: CALL START
-On: 2011-09-12 15:28:32.092544 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:28:34.505932 Event: Call Connecting
-On: 2011-09-12 15:28:34.505956 Event: 200
-On: 2011-09-12 15:28:34.667985 Event: Terminate
-On: 2011-09-12 15:28:34.668005 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:32:13.574313 ------------------
-On: 2011-09-12 15:32:13.584311 Event: try to Connect to Controller
-On: 2011-09-12 15:32:15.444121 Event: init state
-On: 2011-09-12 15:32:15.444193 Event: Register Account to SIP server
-On: 2011-09-12 15:32:15.444398 Event: 100
-On: 2011-09-12 15:32:15.444421 Event: Caller Handler Ready
-On: 2011-09-12 15:32:20.451411 Event: CALL START
-On: 2011-09-12 15:32:20.451444 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:32:23.003867 Event: Call Connecting
-On: 2011-09-12 15:32:23.003897 Event: 200
-On: 2011-09-12 15:32:23.208271 Event: Terminate
-On: 2011-09-12 15:32:23.208340 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:35:08.242273 ------------------
-On: 2011-09-12 15:35:08.251511 Event: try to Connect to Controller
-On: 2011-09-12 15:35:10.104974 Event: init state
-On: 2011-09-12 15:35:10.105144 Event: Register Account to SIP server
-On: 2011-09-12 15:35:10.105679 Event: 100
-On: 2011-09-12 15:35:10.105777 Event: Caller Handler Ready
-On: 2011-09-12 15:35:15.112442 Event: CALL START
-On: 2011-09-12 15:35:15.112473 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:35:16.953734 Event: Call Connecting
-On: 2011-09-12 15:35:16.953765 Event: 200
-On: 2011-09-12 15:35:17.147994 Event: Terminate
-On: 2011-09-12 15:35:17.148022 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:44:47.472808 ------------------
-On: 2011-09-12 15:44:47.482661 Event: try to Connect to Controller
-On: 2011-09-12 15:44:49.310145 Event: init state
-On: 2011-09-12 15:44:49.310209 Event: Register Account to SIP server
-On: 2011-09-12 15:44:49.310388 Event: 100
-On: 2011-09-12 15:44:49.310411 Event: Caller Handler Ready
-On: 2011-09-12 15:44:54.315303 Event: CALL START
-On: 2011-09-12 15:44:54.315337 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:44:56.030636 Event: Call Connecting
-On: 2011-09-12 15:44:56.030669 Event: 200
-On: 2011-09-12 15:44:56.208183 Event: Terminate
-On: 2011-09-12 15:44:56.208236 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:45:56.485934 ------------------
-On: 2011-09-12 15:45:56.496217 Event: try to Connect to Controller
-On: 2011-09-12 15:45:58.344262 Event: init state
-On: 2011-09-12 15:45:58.344329 Event: Register Account to SIP server
-On: 2011-09-12 15:45:58.344516 Event: 100
-On: 2011-09-12 15:45:58.344539 Event: Caller Handler Ready
-On: 2011-09-12 15:46:03.351495 Event: CALL START
-On: 2011-09-12 15:46:03.351524 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:46:05.452149 Event: Call Connecting
-On: 2011-09-12 15:46:05.452177 Event: 200
-On: 2011-09-12 15:46:05.651996 Event: Terminate
-On: 2011-09-12 15:46:05.652019 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:53:45.533196 ------------------
-On: 2011-09-12 15:53:45.542256 Event: try to Connect to Controller
-On: 2011-09-12 15:53:45.544004 Event: Cant connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:54:15.171986 ------------------
-On: 2011-09-12 15:54:15.185708 Event: try to Connect to Controller
-On: 2011-09-12 15:54:15.185978 Event: Cant connect to Controller
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:55:01.406723 ------------------
-On: 2011-09-12 15:55:01.416572 Event: try to Connect to Controller
-On: 2011-09-12 15:55:03.253255 Event: init state
-On: 2011-09-12 15:55:03.253714 Event: Register Account to SIP server
-On: 2011-09-12 15:55:03.254463 Event: 100
-On: 2011-09-12 15:55:03.254567 Event: Caller Handler Ready
-On: 2011-09-12 15:55:08.263823 Event: CALL START
-On: 2011-09-12 15:55:08.263849 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:55:10.373616 Event: Call Connecting
-On: 2011-09-12 15:55:10.373651 Event: 200
-On: 2011-09-12 15:55:10.551999 Event: Terminate
-On: 2011-09-12 15:55:10.552024 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:57:53.345802 ------------------
-On: 2011-09-12 15:57:53.354844 Event: try to Connect to Controller
-On: 2011-09-12 15:57:55.191171 Event: init state
-On: 2011-09-12 15:57:55.191408 Event: Register Account to SIP server
-On: 2011-09-12 15:57:55.192092 Event: 100
-On: 2011-09-12 15:57:55.192174 Event: Caller Handler Ready
-On: 2011-09-12 15:58:00.199824 Event: CALL START
-On: 2011-09-12 15:58:00.199859 Event: Make a call to: 07612034661447
-On: 2011-09-12 15:58:02.463100 Event: Call Connecting
-On: 2011-09-12 15:58:02.463123 Event: 200
-On: 2011-09-12 15:58:02.636011 Event: Terminate
-On: 2011-09-12 15:58:02.636034 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:02:31.744404 ------------------
-On: 2011-09-12 16:02:31.757562 Event: try to Connect to Controller
-On: 2011-09-12 16:02:33.598228 Event: init state
-On: 2011-09-12 16:02:33.598337 Event: Register Account to SIP server
-On: 2011-09-12 16:02:33.598618 Event: 100
-On: 2011-09-12 16:02:33.598656 Event: Caller Handler Ready
-On: 2011-09-12 16:02:38.605527 Event: CALL START
-On: 2011-09-12 16:02:38.605559 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:02:41.172649 Event: Call Connecting
-On: 2011-09-12 16:02:41.172681 Event: 200
-On: 2011-09-12 16:02:41.331974 Event: Terminate
-On: 2011-09-12 16:02:41.331996 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:05:09.768340 ------------------
-On: 2011-09-12 16:05:09.786852 Event: try to Connect to Controller
-On: 2011-09-12 16:05:11.597411 Event: init state
-On: 2011-09-12 16:05:11.597738 Event: Register Account to SIP server
-On: 2011-09-12 16:05:11.597962 Event: 100
-On: 2011-09-12 16:05:11.597982 Event: Caller Handler Ready
-On: 2011-09-12 16:05:16.607334 Event: CALL START
-On: 2011-09-12 16:05:16.607366 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:05:19.305495 Event: Call Connecting
-On: 2011-09-12 16:05:19.305520 Event: 200
-On: 2011-09-12 16:05:19.495984 Event: Terminate
-On: 2011-09-12 16:05:19.496006 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:08:29.466710 ------------------
-On: 2011-09-12 16:08:29.479892 Event: try to Connect to Controller
-On: 2011-09-12 16:08:31.332822 Event: init state
-On: 2011-09-12 16:08:31.333042 Event: Register Account to SIP server
-On: 2011-09-12 16:08:31.333582 Event: 100
-On: 2011-09-12 16:08:31.333667 Event: Caller Handler Ready
-On: 2011-09-12 16:08:36.338553 Event: CALL START
-On: 2011-09-12 16:08:36.338584 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:08:39.156621 Event: Call Connecting
-On: 2011-09-12 16:08:39.156650 Event: 200
-On: 2011-09-12 16:08:39.355990 Event: Terminate
-On: 2011-09-12 16:08:39.356017 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:11:32.076701 ------------------
-On: 2011-09-12 16:11:32.086430 Event: try to Connect to Controller
-On: 2011-09-12 16:11:33.948344 Event: init state
-On: 2011-09-12 16:11:33.948458 Event: Register Account to SIP server
-On: 2011-09-12 16:11:33.948687 Event: 100
-On: 2011-09-12 16:11:33.948712 Event: Caller Handler Ready
-On: 2011-09-12 16:11:38.955822 Event: CALL START
-On: 2011-09-12 16:11:38.955861 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:11:41.348589 Event: Call Connecting
-On: 2011-09-12 16:11:41.348614 Event: 200
-On: 2011-09-12 16:11:41.544309 Event: Terminate
-On: 2011-09-12 16:11:41.544344 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:12:11.024130 ------------------
-On: 2011-09-12 16:12:11.033624 Event: try to Connect to Controller
-On: 2011-09-12 16:12:12.899650 Event: init state
-On: 2011-09-12 16:12:12.899953 Event: Register Account to SIP server
-On: 2011-09-12 16:12:12.900555 Event: 100
-On: 2011-09-12 16:12:12.900633 Event: Caller Handler Ready
-On: 2011-09-12 16:12:17.906913 Event: CALL START
-On: 2011-09-12 16:12:17.906945 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:12:20.245703 Event: Call Connecting
-On: 2011-09-12 16:12:20.245731 Event: 200
-On: 2011-09-12 16:12:20.400113 Event: Terminate
-On: 2011-09-12 16:12:20.400186 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:15:14.858841 ------------------
-On: 2011-09-12 16:15:14.867951 Event: try to Connect to Controller
-On: 2011-09-12 16:15:16.718880 Event: init state
-On: 2011-09-12 16:15:16.718945 Event: Register Account to SIP server
-On: 2011-09-12 16:15:16.719129 Event: 100
-On: 2011-09-12 16:15:16.719150 Event: Caller Handler Ready
-On: 2011-09-12 16:15:21.727772 Event: CALL START
-On: 2011-09-12 16:15:21.727819 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:15:23.823271 Event: Call Connecting
-On: 2011-09-12 16:15:23.823295 Event: 200
-On: 2011-09-12 16:15:23.999999 Event: Terminate
-On: 2011-09-12 16:15:24.000026 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:18:24.945352 ------------------
-On: 2011-09-12 16:18:24.956648 Event: try to Connect to Controller
-On: 2011-09-12 16:18:26.806381 Event: init state
-On: 2011-09-12 16:18:26.806452 Event: Register Account to SIP server
-On: 2011-09-12 16:18:26.806683 Event: 100
-On: 2011-09-12 16:18:26.806715 Event: Caller Handler Ready
-On: 2011-09-12 16:18:31.813255 Event: CALL START
-On: 2011-09-12 16:18:31.813289 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:18:34.474552 Event: Call Connecting
-On: 2011-09-12 16:18:34.474574 Event: 200
-On: 2011-09-12 16:18:34.635967 Event: Terminate
-On: 2011-09-12 16:18:34.635990 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:18:58.939581 ------------------
-On: 2011-09-12 16:18:58.951954 Event: try to Connect to Controller
-On: 2011-09-12 16:19:00.794848 Event: init state
-On: 2011-09-12 16:19:00.795022 Event: Register Account to SIP server
-On: 2011-09-12 16:19:00.795476 Event: 100
-On: 2011-09-12 16:19:00.795541 Event: Caller Handler Ready
-On: 2011-09-12 16:19:05.803845 Event: CALL START
-On: 2011-09-12 16:19:05.803882 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:19:07.397927 Event: Call Connecting
-On: 2011-09-12 16:19:07.397956 Event: 200
-On: 2011-09-12 16:19:07.580321 Event: Terminate
-On: 2011-09-12 16:19:07.580341 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:20:40.854417 ------------------
-On: 2011-09-12 16:20:40.865555 Event: try to Connect to Controller
-On: 2011-09-12 16:20:42.723873 Event: init state
-On: 2011-09-12 16:20:42.724140 Event: Register Account to SIP server
-On: 2011-09-12 16:20:42.724682 Event: 100
-On: 2011-09-12 16:20:42.724772 Event: Caller Handler Ready
-On: 2011-09-12 16:20:47.734348 Event: CALL START
-On: 2011-09-12 16:20:47.734373 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:20:49.822528 Event: Call Connecting
-On: 2011-09-12 16:20:49.822557 Event: 200
-On: 2011-09-12 16:20:49.983950 Event: Terminate
-On: 2011-09-12 16:20:49.983971 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:23:21.929556 ------------------
-On: 2011-09-12 16:23:21.938638 Event: try to Connect to Controller
-On: 2011-09-12 16:23:23.770268 Event: init state
-On: 2011-09-12 16:23:23.770497 Event: Register Account to SIP server
-On: 2011-09-12 16:23:23.771039 Event: 100
-On: 2011-09-12 16:23:23.771115 Event: Caller Handler Ready
-On: 2011-09-12 16:23:28.779826 Event: CALL START
-On: 2011-09-12 16:23:28.779861 Event: Make a call to: 07612034661447
-On: 2011-09-12 16:23:31.047703 Event: Call Connecting
-On: 2011-09-12 16:23:31.047731 Event: 200
-On: 2011-09-12 16:23:31.215976 Event: Terminate
-On: 2011-09-12 16:23:31.215998 Event: Goodbye
diff --git a/notFinishedCode/tricode/SIPHandler.py b/notFinishedCode/tricode/SIPHandler.py
deleted file mode 100755
index 8802a09..0000000
--- a/notFinishedCode/tricode/SIPHandler.py
+++ /dev/null
@@ -1,233 +0,0 @@
-import sys
-import string
-import pjsua as pj
-import ServerClass
-import LogFileClass
-
-from time import sleep
-
-def log_cb(level, str, len):
- print '\n'
- print "--------starting Handler--------"
-
-# Receive events from incoming Call
-class Account(pj.AccountCallback):
-
- def on_incoming_call(self, call):
- global current_call
-
- current_call = call
- call_cb = Calling(current_call)
- current_call.set_callback(call_cb)
-
- logger.logEvent(current_call)
-
- call.answer(200)
- logger.logEvent("Answer call")
-
- if current_call <> None:
- logger.logEvent("Hangup call")
- call.hangup()
-
- logger.logEvent('CALL OK')
-
-class Calling(pj.CallCallback):
-
- def __init__(self, call=None):
- pj.CallCallback.__init__(self, call)
-
- def on_state(self):
- global current_call
-
- if self.call.info().state <> pj.CallState.DISCONNECTED:
- if self.call.info().state_text == "CONNECTING":
- logger.logEvent("Call Connecting")
- logger.logEvent('200')
- server.sendData('CALL OK')
-
- if self.call.info().last_reason == "Busy Here":
- logger.logEvent('Number busy or Offline')
- server.sendData('CALL NOT OK')
- logger.logEvent('CALL NOT OK')
-
- if self.call.info().state == pj.CallState.DISCONNECTED:
- logger.logEvent('Call Disconnected')
- current_call = None
-
-
-def make_call(uri):
-
- try:
-
- cb=Calling()
- return acc.make_call(uri, cb)
-
- except pj.Error, e:
- print "408 " + str(e)
- logger.logEvent('408')
- return None
-
-def greeting():
- global server
- global status
- global port
-
- port = sys.argv[2]
- server = None
- status = None
-
- server = ServerClass.ServerHandler(port)
- logger.logEvent('try to Connect to Controller')
- conn = server.openSocket()
-
- if server.connected == 1:
- if server.receiveData(30) == 'HELLO HANDLER':
- server.sendData('HELLO CONTROLLER')
- status = 'OK'
- else:
- status = 'NOT OK'
- logger.logEvent('Cant connect to Controller')
- sys.exit(1)
-
-def initLogFile(sipServer):
-
- global logger
-
- if sipServer == '132.230.4.8':
- nameOfLogFile = 'SIP handler.log'
- print '--SIP Asterisk--'
-
- elif sipServer == 'sipgate.de':
- nameOfLogFile = 'Landline handler.log'
- print '--Landline--'
-
- elif sipServer == '132.230.252.228':
- nameOfLogFile = 'University SIP handler.log'
- print '--university tephone network--'
-
- logger = LogFileClass.Logging(nameOfLogFile)
-
-def initState():
- global message
- global state
- global num
-
- logger.logEvent('init state')
- message = server.receiveData(30)
-
- if message == 'RECEIVER':
- state = 'RECEIVER'
-
- elif message[0:6] == 'CALLER':
- state = 'CALLER'
- num = message[7:]
-
-def initHandler():
- global sipServer
- global username
- global password
-
-
- accConf = sys.argv[1]
- username = accConf[0:accConf.find(':')]
-
- line = accConf[accConf.find(':')+1:]
- password = line[0:line.find(':')]
-
- newLine = line[line.find(':')+1:]
- sipServer = newLine[0:newLine.find(':')]
-
-
-lib = pj.Lib()
-stop = False
-
-initHandler()
-
-initLogFile(sipServer)
-
-logger.logEvent('')
-
-while stop <> True:
-
- acc_cfg = None
-
- lib.init(log_cfg = pj.LogConfig(level=1, callback=log_cb))
- transport = lib.create_transport(pj.TransportType.UDP, pj.TransportConfig(0))
-
- lib.start()
- lib.set_null_snd_dev()
-
- greeting()
-
-
- try:
- initState()
- acc_cfg = pj.AccountConfig(str(sipServer),str(username),str(password))
- logger.logEvent('Register Account to SIP server')
- acc = lib.create_account(acc_cfg, cb=Account())
-
- if acc.info().reg_status < 700:
-
- if state =='RECEIVER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('RECEIVER READY')
- logger.logEvent('Receiver Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'RECEIVE START':
- logger.logEvent(data)
-
- if data == 'TERMINATE CONNECTION':
- logger.logEvent('Terminate')
- stop = True
- break
-
- elif state =='CALLER':
- logger.logEvent(acc.info().reg_status)
- server.sendData('CALLER READY')
- logger.logEvent('Caller Handler Ready')
-
- while 1:
-
- data = server.receiveData(1)
-
- if data == 'CALL START':
- if num <> '':
- sleep(3)
- logger.logEvent(data)
- logger.logEvent('Make a call to: ' + num)
- number = "sip:"+num+"@"+sipServer
- make_call(number)
- else:
- logger.logEvent('No number to call')
- logger.logEvent('CALL NOT OK')
-
- if data == 'TERMINATE CONNECTION':
- stop = True
- logger.logEvent('Terminate')
- break
-
- else:
- logger.logEvent('Unknow Message')
- server.sendData('Unknow Message')
- server.closeConnection()
- sys.exit(0.5)
-
- else:
- logger.logEvent("488 Not Acceptable Here")
- lib.destroy()
-
- except ValueError:
- print "401 Unauthorized " + str(e)
- logger.logEvent("401 Unauthorized ")
-
-logger.logEvent("Goodbye")
-acc.delete()
-lib.destroy()
-server.closeConnection()
-lib = None
-acc = None
-
diff --git a/notFinishedCode/tricode/SSHTunnelBoxClass.py b/notFinishedCode/tricode/SSHTunnelBoxClass.py
deleted file mode 100755
index 0447365..0000000
--- a/notFinishedCode/tricode/SSHTunnelBoxClass.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-from time import sleep
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- #self.__sshTunnel = subprocess.Popen(['ssh','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- sleep(2)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-
diff --git a/notFinishedCode/tricode/SSHTunnelBoxClass.pyc b/notFinishedCode/tricode/SSHTunnelBoxClass.pyc
deleted file mode 100755
index b46482b..0000000
--- a/notFinishedCode/tricode/SSHTunnelBoxClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/SSHTunnelClass.py b/notFinishedCode/tricode/SSHTunnelClass.py
deleted file mode 100755
index 12bedeb..0000000
--- a/notFinishedCode/tricode/SSHTunnelClass.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#Here is a tutorial how to generate and copy your RSA SSH public key :)
-#>>> http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
-import subprocess
-
-class SSHTunneling:
-
- def __init__(self, localPort, remotePort, remoteServer, username, password):
- self.lPort = localPort
- self.rPort = remotePort
- self.rServer = remoteServer
-
- self.usern = username
- self.passw = password
-
- self.__tunnelStarted = 0
- self.__sshTunnel = 1
-
- def startTunneling(self):
- if self.__tunnelStarted == 0:
- command = str(self.lPort) + ':' + self.rServer + ':' + str(self.rPort)
- uad = self.usern + '@' + self.rServer
-
- try:
- self.__sshTunnel = subprocess.Popen(['ssh','-p','7884','-N', '-L', command, uad], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
- self.__tunnelStarted = 1
- return 1
- except Exception, e:
- print str(e)
- return 0
-
- def killTunneling(self):
- if self.__tunnelStarted == 1:
- try:
- self.__sshTunnel.kill()
- self.__tunnelStarted = 0
- return 1
-
- except Exception, e:
- print str(e)
- return 0
-
-x = SSHTunneling(50000, 50008, '10.4.58.241', 'lsfks', 'r')
-print x.startTunneling()
-print 'Tunnel started '
-sleep(50)
-print x.killTunneling()
-print 'kill tunnel'
diff --git a/notFinishedCode/tricode/ServerClass.py b/notFinishedCode/tricode/ServerClass.py
deleted file mode 100755
index 93c2f8e..0000000
--- a/notFinishedCode/tricode/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/tricode/ServerClass.pyc b/notFinishedCode/tricode/ServerClass.pyc
deleted file mode 100644
index 5499934..0000000
--- a/notFinishedCode/tricode/ServerClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/ServerClassSoftware.py b/notFinishedCode/tricode/ServerClassSoftware.py
deleted file mode 100755
index 206411e..0000000
--- a/notFinishedCode/tricode/ServerClassSoftware.py
+++ /dev/null
@@ -1,162 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandlerSoftware:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self, timeoutVar):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
-
- try:
-
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- self.s.settimeout(timeoutVar)
-
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
-
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- try:
- self.connection, self.address = self.s.accept()
- self.s.settimeout(0)
- self.connected = 1
- self.onceConnected = 1
- return 1
- except socket.timeout:
- return 'TIMEOUT'
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/tricode/ServerClassSoftware.pyc b/notFinishedCode/tricode/ServerClassSoftware.pyc
deleted file mode 100644
index f4e022d..0000000
--- a/notFinishedCode/tricode/ServerClassSoftware.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/TestProcessLog.log b/notFinishedCode/tricode/TestProcessLog.log
deleted file mode 100755
index 6a9f8ad..0000000
--- a/notFinishedCode/tricode/TestProcessLog.log
+++ /dev/null
@@ -1,1855 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 12:52:15.812810 ------------------
-On: 2011-09-02 12:52:15.812883 Event: init Caller
-On: 2011-09-02 12:52:15.812903 Event: sip
-On: 2011-09-02 12:52:17.817969 Event: Connected to Caller Handler
-On: 2011-09-02 12:52:17.818675 Event: Caller Handler respond
-On: 2011-09-02 12:52:17.819528 Event: Caller handler : Ready
-On: 2011-09-02 12:52:17.819569 Event: init Receiver
-On: 2011-09-02 12:52:17.819595 Event: landline
-On: 2011-09-02 12:52:19.824816 Event: Connected to Receiver Handler
-On: 2011-09-02 12:52:19.825098 Event: Receiver Handler respond
-On: 2011-09-02 12:52:19.827498 Event: Receiver handler : Ready
-On: 2011-09-02 12:52:19.827537 Event: Start Call
-On: 2011-09-02 12:52:19.827601 Event: Waiting Feedback
-On: 2011-09-02 12:52:26.633878 Event: Test Succeed
-On: 2011-09-02 12:52:26.644193 Event:
-On: 2011-09-02 12:52:26.644251 Event: init Caller
-On: 2011-09-02 12:52:26.644269 Event: sip
-On: 2011-09-02 12:52:28.649312 Event: Connected to Caller Handler
-On: 2011-09-02 12:52:28.649590 Event: Caller Handler respond
-On: 2011-09-02 12:52:28.650405 Event: Caller handler : Ready
-On: 2011-09-02 12:52:28.650443 Event: init Receiver
-On: 2011-09-02 12:52:28.650469 Event: unisip
-On: 2011-09-02 12:52:30.655084 Event: Connected to Receiver Handler
-On: 2011-09-02 12:52:30.655364 Event: Receiver Handler respond
-On: 2011-09-02 12:52:30.656066 Event: Receiver handler : Ready
-On: 2011-09-02 12:52:30.656105 Event: Start Call
-On: 2011-09-02 12:52:30.656698 Event: Waiting Feedback
-On: 2011-09-02 12:53:00.656958 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:18.848335 ------------------
-On: 2011-09-02 13:04:18.848398 Event: init Caller
-On: 2011-09-02 13:04:18.848417 Event: sip
-On: 2011-09-02 13:04:20.853617 Event: Connected to Caller Handler
-On: 2011-09-02 13:04:20.853958 Event: Caller Handler respond
-On: 2011-09-02 13:04:20.854678 Event: Caller handler : Ready
-On: 2011-09-02 13:04:20.854719 Event: init Receiver
-On: 2011-09-02 13:04:20.854743 Event: landline
-On: 2011-09-02 13:04:22.858461 Event: Connected to Receiver Handler
-On: 2011-09-02 13:04:22.858814 Event: Receiver Handler respond
-On: 2011-09-02 13:04:22.860591 Event: Receiver handler : Ready
-On: 2011-09-02 13:04:22.860627 Event: Start Call
-On: 2011-09-02 13:04:22.860685 Event: Waiting Feedback
-On: 2011-09-02 13:04:29.576696 Event: Test Succeed
-On: 2011-09-02 13:04:29.584650 Event:
-On: 2011-09-02 13:04:29.584707 Event: init Caller
-On: 2011-09-02 13:04:29.584726 Event: sip
-On: 2011-09-02 13:04:31.589550 Event: Connected to Caller Handler
-On: 2011-09-02 13:04:31.589950 Event: Caller Handler respond
-On: 2011-09-02 13:04:31.590679 Event: Caller handler : Ready
-On: 2011-09-02 13:04:31.590718 Event: init Receiver
-On: 2011-09-02 13:04:31.590741 Event: unisip
-On: 2011-09-02 13:04:33.594421 Event: Connected to Receiver Handler
-On: 2011-09-02 13:04:33.594764 Event: Receiver Handler respond
-On: 2011-09-02 13:04:33.595457 Event: Receiver handler : Ready
-On: 2011-09-02 13:04:33.595495 Event: Start Call
-On: 2011-09-02 13:04:33.595556 Event: Waiting Feedback
-On: 2011-09-02 13:05:03.595791 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:02.641693 ------------------
-On: 2011-09-02 13:09:02.641830 Event: init Caller
-On: 2011-09-02 13:09:02.641850 Event: sip
-On: 2011-09-02 13:09:04.647125 Event: Connected to Caller Handler
-On: 2011-09-02 13:09:04.647767 Event: Caller Handler respond
-On: 2011-09-02 13:09:04.648935 Event: Caller handler : Ready
-On: 2011-09-02 13:09:04.649021 Event: init Receiver
-On: 2011-09-02 13:09:04.649044 Event: landline
-On: 2011-09-02 13:09:06.656899 Event: Connected to Receiver Handler
-On: 2011-09-02 13:09:06.657181 Event: Receiver Handler respond
-On: 2011-09-02 13:09:06.659748 Event: Receiver handler : Ready
-On: 2011-09-02 13:09:06.659786 Event: Start Call
-On: 2011-09-02 13:09:06.659847 Event: Waiting Feedback
-On: 2011-09-02 13:09:13.238259 Event: Test Succeed
-On: 2011-09-02 13:09:13.247357 Event:
-On: 2011-09-02 13:09:13.247417 Event: init Caller
-On: 2011-09-02 13:09:13.247435 Event: sip
-On: 2011-09-02 13:09:15.251937 Event: Connected to Caller Handler
-On: 2011-09-02 13:09:15.252220 Event: Caller Handler respond
-On: 2011-09-02 13:09:15.252946 Event: Caller handler : Ready
-On: 2011-09-02 13:09:15.252984 Event: init Receiver
-On: 2011-09-02 13:09:15.253008 Event: unisip
-On: 2011-09-02 13:09:17.258093 Event: Connected to Receiver Handler
-On: 2011-09-02 13:09:17.258378 Event: Receiver Handler respond
-On: 2011-09-02 13:09:17.259084 Event: Receiver handler : Ready
-On: 2011-09-02 13:09:17.259121 Event: Start Call
-On: 2011-09-02 13:09:17.259183 Event: Waiting Feedback
-On: 2011-09-02 13:09:20.312755 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:37.637599 ------------------
-On: 2011-09-02 13:15:37.637663 Event: init Caller
-On: 2011-09-02 13:15:37.637682 Event: sip
-On: 2011-09-02 13:15:39.642941 Event: Connected to Caller Handler
-On: 2011-09-02 13:15:39.643236 Event: Caller Handler respond
-On: 2011-09-02 13:15:39.643967 Event: Caller handler : Ready
-On: 2011-09-02 13:15:39.644003 Event: init Receiver
-On: 2011-09-02 13:15:39.644028 Event: landline
-On: 2011-09-02 13:15:41.648975 Event: Connected to Receiver Handler
-On: 2011-09-02 13:15:41.649337 Event: Receiver Handler respond
-On: 2011-09-02 13:15:41.651502 Event: Receiver handler : Ready
-On: 2011-09-02 13:15:41.651540 Event: Start Call
-On: 2011-09-02 13:15:41.651599 Event: Waiting Feedback
-On: 2011-09-02 13:15:50.629049 Event: Test Failed
-On: 2011-09-02 13:15:50.637139 Event:
-On: 2011-09-02 13:15:50.637197 Event: init Caller
-On: 2011-09-02 13:15:50.637215 Event: sip
-On: 2011-09-02 13:15:52.640454 Event: Connected to Caller Handler
-On: 2011-09-02 13:15:52.640806 Event: Caller Handler respond
-On: 2011-09-02 13:15:52.641530 Event: Caller handler : Ready
-On: 2011-09-02 13:15:52.641566 Event: init Receiver
-On: 2011-09-02 13:15:52.641590 Event: unisip
-On: 2011-09-02 13:15:54.645612 Event: Connected to Receiver Handler
-On: 2011-09-02 13:15:54.646019 Event: Receiver Handler respond
-On: 2011-09-02 13:15:54.647105 Event: Receiver handler : Ready
-On: 2011-09-02 13:15:54.647144 Event: Start Call
-On: 2011-09-02 13:15:54.647206 Event: Waiting Feedback
-On: 2011-09-02 13:15:57.758864 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:19:13.508499 ------------------
-On: 2011-09-02 13:19:13.508577 Event: init Caller
-On: 2011-09-02 13:19:13.508596 Event: sip
-On: 2011-09-02 13:19:15.513781 Event: Connected to Caller Handler
-On: 2011-09-02 13:19:15.514080 Event: Caller Handler respond
-On: 2011-09-02 13:19:15.514811 Event: Caller handler : Ready
-On: 2011-09-02 13:19:15.514853 Event: init Receiver
-On: 2011-09-02 13:19:15.514877 Event: GSMExt.O2
-On: 2011-09-02 13:19:17.518679 Event: Connected to Receiver Handler
-On: 2011-09-02 13:19:17.518968 Event: Receiver Handler respond
-On: 2011-09-02 13:19:17.519149 Event: Receiver handler : Ready
-On: 2011-09-02 13:19:17.519179 Event: Start Call
-On: 2011-09-02 13:19:17.519230 Event: Waiting Feedback
-On: 2011-09-02 13:19:39.030524 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:20:10.076476 ------------------
-On: 2011-09-02 13:20:10.076554 Event: init Caller
-On: 2011-09-02 13:20:10.076574 Event: sip
-On: 2011-09-02 13:20:12.081798 Event: Connected to Caller Handler
-On: 2011-09-02 13:20:12.082100 Event: Caller Handler respond
-On: 2011-09-02 13:20:12.082828 Event: Caller handler : Ready
-On: 2011-09-02 13:20:12.082869 Event: init Receiver
-On: 2011-09-02 13:20:12.082894 Event: GSMExt.O2
-On: 2011-09-02 13:20:14.086675 Event: Connected to Receiver Handler
-On: 2011-09-02 13:20:14.086970 Event: Receiver Handler respond
-On: 2011-09-02 13:20:14.087147 Event: Receiver handler : Ready
-On: 2011-09-02 13:20:14.087177 Event: Start Call
-On: 2011-09-02 13:20:14.087226 Event: Waiting Feedback
-On: 2011-09-02 13:20:35.136213 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:21:01.610728 ------------------
-On: 2011-09-02 13:21:01.610805 Event: init Caller
-On: 2011-09-02 13:21:01.610824 Event: sip
-On: 2011-09-02 13:21:03.615958 Event: Connected to Caller Handler
-On: 2011-09-02 13:21:03.616251 Event: Caller Handler respond
-On: 2011-09-02 13:21:03.616991 Event: Caller handler : Ready
-On: 2011-09-02 13:21:03.617033 Event: init Receiver
-On: 2011-09-02 13:21:03.617058 Event: GSMExt.O2
-On: 2011-09-02 13:21:05.622314 Event: Connected to Receiver Handler
-On: 2011-09-02 13:21:05.622597 Event: Receiver Handler respond
-On: 2011-09-02 13:21:05.622778 Event: Receiver handler : Ready
-On: 2011-09-02 13:21:05.622806 Event: Start Call
-On: 2011-09-02 13:21:05.622856 Event: Waiting Feedback
-On: 2011-09-02 13:21:26.215228 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:29:17.812561 ------------------
-On: 2011-09-02 13:29:17.812640 Event: init Caller
-On: 2011-09-02 13:29:17.812660 Event: sip
-On: 2011-09-02 13:29:19.817817 Event: Connected to Caller Handler
-On: 2011-09-02 13:29:19.818345 Event: Caller Handler respond
-On: 2011-09-02 13:29:19.819103 Event: Caller handler : Ready
-On: 2011-09-02 13:29:19.819144 Event: init Receiver
-On: 2011-09-02 13:29:19.819168 Event: GSMExt.O2
-On: 2011-09-02 13:29:21.822807 Event: Connected to Receiver Handler
-On: 2011-09-02 13:29:21.823161 Event: Receiver Handler respond
-On: 2011-09-02 13:29:21.823346 Event: Receiver handler : Ready
-On: 2011-09-02 13:29:21.823375 Event: Start Call
-On: 2011-09-02 13:29:21.823424 Event: Waiting Feedback
-On: 2011-09-02 13:29:47.222920 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:45:57.943323 ------------------
-On: 2011-09-02 13:45:57.943398 Event: init Caller
-On: 2011-09-02 13:45:57.943418 Event: sip
-On: 2011-09-02 13:45:59.948336 Event: Connected to Caller Handler
-On: 2011-09-02 13:45:59.948639 Event: Caller Handler respond
-On: 2011-09-02 13:45:59.949368 Event: Caller handler : Ready
-On: 2011-09-02 13:45:59.949409 Event: init Receiver
-On: 2011-09-02 13:45:59.949434 Event: GSMExt.O2
-On: 2011-09-02 13:46:01.954630 Event: Connected to Receiver Handler
-On: 2011-09-02 13:46:01.954927 Event: Receiver Handler respond
-On: 2011-09-02 13:46:01.955110 Event: Receiver handler : Ready
-On: 2011-09-02 13:46:01.955140 Event: Start Call
-On: 2011-09-02 13:46:01.955191 Event: Waiting Feedback
-On: 2011-09-02 13:46:23.726910 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:49:53.213947 ------------------
-On: 2011-09-02 13:49:53.214026 Event: init Caller
-On: 2011-09-02 13:49:53.214045 Event: sip
-On: 2011-09-02 13:49:55.217988 Event: Connected to Caller Handler
-On: 2011-09-02 13:49:55.218301 Event: Caller Handler respond
-On: 2011-09-02 13:49:55.219031 Event: Caller handler : Ready
-On: 2011-09-02 13:49:55.219066 Event: init Receiver
-On: 2011-09-02 13:49:55.219090 Event: GSMExt.O2
-On: 2011-09-02 13:49:57.222667 Event: Connected to Receiver Handler
-On: 2011-09-02 13:49:57.222952 Event: Receiver Handler respond
-On: 2011-09-02 13:49:57.223128 Event: Receiver handler : Ready
-On: 2011-09-02 13:49:57.223156 Event: Start Call
-On: 2011-09-02 13:49:57.223205 Event: Waiting Feedback
-On: 2011-09-02 13:50:18.855495 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:55:01.889409 ------------------
-On: 2011-09-02 13:55:01.889481 Event: init Caller
-On: 2011-09-02 13:55:01.889501 Event: sip
-On: 2011-09-02 13:55:03.894714 Event: Connected to Caller Handler
-On: 2011-09-02 13:55:03.895000 Event: Caller Handler respond
-On: 2011-09-02 13:55:03.895730 Event: Caller handler : Ready
-On: 2011-09-02 13:55:03.895773 Event: init Receiver
-On: 2011-09-02 13:55:03.895798 Event: GSMExt.O2
-On: 2011-09-02 13:55:05.900959 Event: Connected to Receiver Handler
-On: 2011-09-02 13:55:05.901245 Event: Receiver Handler respond
-On: 2011-09-02 13:55:05.901419 Event: Receiver handler : Ready
-On: 2011-09-02 13:55:05.901448 Event: Start Call
-On: 2011-09-02 13:55:05.901497 Event: Waiting Feedback
-On: 2011-09-02 13:55:28.120619 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:01:05.619501 ------------------
-On: 2011-09-09 12:01:05.619577 Event: init Caller
-On: 2011-09-09 12:01:05.619599 Event: sip
-On: 2011-09-09 12:01:07.623842 Event: Connected to Caller Handler
-On: 2011-09-09 12:01:07.624141 Event: Caller Handler respond
-On: 2011-09-09 12:01:07.625241 Event: Caller handler : Ready
-On: 2011-09-09 12:01:07.625281 Event: init Receiver
-On: 2011-09-09 12:01:07.625302 Event: GSMExt.O2
-On: 2011-09-09 12:01:09.633642 Event: Connected to Receiver Handler
-On: 2011-09-09 12:01:09.633923 Event: Receiver Handler respond
-On: 2011-09-09 12:01:09.634113 Event: Receiver handler : Ready
-On: 2011-09-09 12:01:09.634144 Event: Start Call
-On: 2011-09-09 12:01:09.634195 Event: Waiting Feedback
-On: 2011-09-09 12:01:22.266054 Event: Test Succeed
-On: 2011-09-09 12:01:27.277575 Event:
-On: 2011-09-09 12:01:27.277634 Event: init Caller
-On: 2011-09-09 12:01:27.277652 Event: sip
-On: 2011-09-09 12:01:29.282370 Event: Connected to Caller Handler
-On: 2011-09-09 12:01:29.282725 Event: Caller Handler respond
-On: 2011-09-09 12:01:29.283468 Event: Caller handler : Ready
-On: 2011-09-09 12:01:29.283508 Event: init Receiver
-On: 2011-09-09 12:01:29.283529 Event: GSMExt.Voda
-On: 2011-09-09 12:01:31.288720 Event: Connected to Receiver Handler
-On: 2011-09-09 12:01:31.289008 Event: Receiver Handler respond
-On: 2011-09-09 12:01:31.289199 Event: Receiver handler : Ready
-On: 2011-09-09 12:01:31.289228 Event: Start Call
-On: 2011-09-09 12:01:31.289279 Event: Waiting Feedback
-On: 2011-09-09 12:01:43.808688 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:10.615217 ------------------
-On: 2011-09-09 12:04:10.615292 Event: init Caller
-On: 2011-09-09 12:04:10.615314 Event: sip
-On: 2011-09-09 12:04:12.620325 Event: Connected to Caller Handler
-On: 2011-09-09 12:04:12.620691 Event: Caller Handler respond
-On: 2011-09-09 12:04:12.621478 Event: Caller handler : Ready
-On: 2011-09-09 12:04:12.621519 Event: init Receiver
-On: 2011-09-09 12:04:12.621540 Event: landline
-On: 2011-09-09 12:04:14.626109 Event: Connected to Receiver Handler
-On: 2011-09-09 12:04:14.626460 Event: Receiver Handler respond
-On: 2011-09-09 12:04:14.628417 Event: Receiver handler : Ready
-On: 2011-09-09 12:04:14.628455 Event: Start Call
-On: 2011-09-09 12:04:14.628512 Event: Waiting Feedback
-On: 2011-09-09 12:04:21.365130 Event: Test Succeed
-On: 2011-09-09 12:04:26.381644 Event:
-On: 2011-09-09 12:04:26.381698 Event: init Caller
-On: 2011-09-09 12:04:26.381716 Event: sip
-On: 2011-09-09 12:04:28.386440 Event: Connected to Caller Handler
-On: 2011-09-09 12:04:28.386789 Event: Caller Handler respond
-On: 2011-09-09 12:04:28.387534 Event: Caller handler : Ready
-On: 2011-09-09 12:04:28.387573 Event: init Receiver
-On: 2011-09-09 12:04:28.387594 Event: unisip
-On: 2011-09-09 12:04:30.392544 Event: Connected to Receiver Handler
-On: 2011-09-09 12:04:30.392822 Event: Receiver Handler respond
-On: 2011-09-09 12:04:30.393628 Event: Receiver handler : Ready
-On: 2011-09-09 12:04:30.393666 Event: Start Call
-On: 2011-09-09 12:04:30.393850 Event: Waiting Feedback
-On: 2011-09-09 12:04:33.442773 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:09:01.536879 ------------------
-On: 2011-09-09 12:09:01.536956 Event: init Caller
-On: 2011-09-09 12:09:01.536978 Event: sip
-On: 2011-09-09 12:09:03.542094 Event: Connected to Caller Handler
-On: 2011-09-09 12:09:03.542383 Event: Caller Handler respond
-On: 2011-09-09 12:09:03.543125 Event: Caller handler : Ready
-On: 2011-09-09 12:09:03.543165 Event: init Receiver
-On: 2011-09-09 12:09:03.543185 Event: GSMRZ1
-On: 2011-09-09 12:09:05.548629 Event: Connected to Receiver Handler
-On: 2011-09-09 12:09:05.548909 Event: Receiver Handler respond
-On: 2011-09-09 12:09:05.549100 Event: Receiver handler : Ready
-On: 2011-09-09 12:09:05.549129 Event: Start Call
-On: 2011-09-09 12:09:05.549179 Event: Waiting Feedback
-On: 2011-09-09 12:09:10.345535 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:01.144322 ------------------
-On: 2011-09-09 12:46:01.144390 Event: init Caller
-On: 2011-09-09 12:46:01.144413 Event: sip
-On: 2011-09-09 12:46:03.149521 Event: Connected to Caller Handler
-On: 2011-09-09 12:46:03.149816 Event: Caller Handler respond
-On: 2011-09-09 12:46:03.150558 Event: Caller handler : Ready
-On: 2011-09-09 12:46:03.150599 Event: init Receiver
-On: 2011-09-09 12:46:03.150620 Event: landline
-On: 2011-09-09 12:46:05.154250 Event: Connected to Receiver Handler
-On: 2011-09-09 12:46:05.154530 Event: Receiver Handler respond
-On: 2011-09-09 12:46:05.156606 Event: Receiver handler : Ready
-On: 2011-09-09 12:46:05.156646 Event: Start Call
-On: 2011-09-09 12:46:05.156706 Event: Waiting Feedback
-On: 2011-09-09 12:46:13.516381 Event: Test Succeed
-On: 2011-09-09 12:46:18.533509 Event:
-On: 2011-09-09 12:46:18.533571 Event: init Caller
-On: 2011-09-09 12:46:18.533589 Event: sip
-On: 2011-09-09 12:46:20.538367 Event: Connected to Caller Handler
-On: 2011-09-09 12:46:20.538645 Event: Caller Handler respond
-On: 2011-09-09 12:46:20.539395 Event: Caller handler : Ready
-On: 2011-09-09 12:46:20.539434 Event: init Receiver
-On: 2011-09-09 12:46:20.539455 Event: unisip
-On: 2011-09-09 12:46:22.544487 Event: Connected to Receiver Handler
-On: 2011-09-09 12:46:22.544849 Event: Receiver Handler respond
-On: 2011-09-09 12:46:22.545635 Event: Receiver handler : Ready
-On: 2011-09-09 12:46:22.545674 Event: Start Call
-On: 2011-09-09 12:46:22.545732 Event: Waiting Feedback
-On: 2011-09-09 12:46:25.620472 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:47:36.088306 ------------------
-On: 2011-09-09 12:47:36.088376 Event: init Caller
-On: 2011-09-09 12:47:36.088398 Event: sip
-On: 2011-09-09 12:47:38.093513 Event: Connected to Caller Handler
-On: 2011-09-09 12:47:38.093811 Event: Caller Handler respond
-On: 2011-09-09 12:47:38.094524 Event: Caller handler : Ready
-On: 2011-09-09 12:47:38.094565 Event: init Receiver
-On: 2011-09-09 12:47:38.094588 Event: GSMExt.O2
-On: 2011-09-09 12:47:40.099336 Event: Connected to Receiver Handler
-On: 2011-09-09 12:47:40.099640 Event: Receiver Handler respond
-On: 2011-09-09 12:47:40.099832 Event: Receiver handler : Ready
-On: 2011-09-09 12:47:40.099861 Event: Start Call
-On: 2011-09-09 12:47:40.099912 Event: Waiting Feedback
-On: 2011-09-09 12:47:54.244354 Event: Test Succeed
-On: 2011-09-09 12:47:59.255888 Event:
-On: 2011-09-09 12:47:59.255948 Event: init Caller
-On: 2011-09-09 12:47:59.255967 Event: sip
-On: 2011-09-09 12:48:01.260814 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:01.261091 Event: Caller Handler respond
-On: 2011-09-09 12:48:01.261878 Event: Caller handler : Ready
-On: 2011-09-09 12:48:01.261916 Event: init Receiver
-On: 2011-09-09 12:48:01.261939 Event: GSMExt.Voda
-On: 2011-09-09 12:48:03.266290 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:03.266567 Event: Receiver Handler respond
-On: 2011-09-09 12:48:03.266752 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:03.266781 Event: Start Call
-On: 2011-09-09 12:48:03.266831 Event: Waiting Feedback
-On: 2011-09-09 12:48:19.537540 Event: Test Failed
-On: 2011-09-09 12:48:24.549113 Event:
-On: 2011-09-09 12:48:24.549173 Event: init Caller
-On: 2011-09-09 12:48:24.549192 Event: sip
-On: 2011-09-09 12:48:26.554040 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:26.554313 Event: Caller Handler respond
-On: 2011-09-09 12:48:26.555048 Event: Caller handler : Ready
-On: 2011-09-09 12:48:26.555089 Event: init Receiver
-On: 2011-09-09 12:48:26.555110 Event: GSMExt.Eplus
-On: 2011-09-09 12:48:28.558631 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:28.558907 Event: Receiver Handler respond
-On: 2011-09-09 12:48:28.559092 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:28.559122 Event: Start Call
-On: 2011-09-09 12:48:28.559170 Event: Waiting Feedback
-On: 2011-09-09 12:48:42.790837 Event: Test Succeed
-On: 2011-09-09 12:48:47.802750 Event:
-On: 2011-09-09 12:48:47.802811 Event: init Caller
-On: 2011-09-09 12:48:47.802830 Event: sip
-On: 2011-09-09 12:48:49.807600 Event: Connected to Caller Handler
-On: 2011-09-09 12:48:49.807872 Event: Caller Handler respond
-On: 2011-09-09 12:48:49.808614 Event: Caller handler : Ready
-On: 2011-09-09 12:48:49.808652 Event: init Receiver
-On: 2011-09-09 12:48:49.808675 Event: GSMExt.Tm
-On: 2011-09-09 12:48:51.813820 Event: Connected to Receiver Handler
-On: 2011-09-09 12:48:51.814101 Event: Receiver Handler respond
-On: 2011-09-09 12:48:51.814289 Event: Receiver handler : Ready
-On: 2011-09-09 12:48:51.814319 Event: Start Call
-On: 2011-09-09 12:48:51.814369 Event: Waiting Feedback
-On: 2011-09-09 12:49:06.814537 Event: Test Failed
-On: 2011-09-09 12:49:11.825921 Event:
-On: 2011-09-09 12:49:11.825980 Event: init Caller
-On: 2011-09-09 12:49:11.825999 Event: sip
-On: 2011-09-09 12:49:13.830202 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:13.830473 Event: Caller Handler respond
-On: 2011-09-09 12:49:13.831213 Event: Caller handler : Ready
-On: 2011-09-09 12:49:13.831251 Event: init Receiver
-On: 2011-09-09 12:49:13.831272 Event: GSMRZ1
-On: 2011-09-09 12:49:15.835950 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:15.836309 Event: Receiver Handler respond
-On: 2011-09-09 12:49:15.836522 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:15.836547 Event: Start Call
-On: 2011-09-09 12:49:15.836595 Event: Waiting Feedback
-On: 2011-09-09 12:49:20.733540 Event: Test Succeed
-On: 2011-09-09 12:49:29.796274 Event:
-On: 2011-09-09 12:49:29.796334 Event: init Caller
-On: 2011-09-09 12:49:29.796353 Event: sip
-On: 2011-09-09 12:49:31.801098 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:31.801495 Event: Caller Handler respond
-On: 2011-09-09 12:49:31.802466 Event: Caller handler : Ready
-On: 2011-09-09 12:49:31.802506 Event: init Receiver
-On: 2011-09-09 12:49:31.802527 Event: landline
-On: 2011-09-09 12:49:33.806467 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:33.806746 Event: Receiver Handler respond
-On: 2011-09-09 12:49:33.808977 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:33.809018 Event: Start Call
-On: 2011-09-09 12:49:33.809076 Event: Waiting Feedback
-On: 2011-09-09 12:49:40.461582 Event: Test Succeed
-On: 2011-09-09 12:49:45.481119 Event:
-On: 2011-09-09 12:49:45.481178 Event: init Caller
-On: 2011-09-09 12:49:45.481197 Event: sip
-On: 2011-09-09 12:49:47.485941 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:47.486300 Event: Caller Handler respond
-On: 2011-09-09 12:49:47.487042 Event: Caller handler : Ready
-On: 2011-09-09 12:49:47.487082 Event: init Receiver
-On: 2011-09-09 12:49:47.487103 Event: unisip
-On: 2011-09-09 12:49:49.490090 Event: Connected to Receiver Handler
-On: 2011-09-09 12:49:49.490452 Event: Receiver Handler respond
-On: 2011-09-09 12:49:49.491203 Event: Receiver handler : Ready
-On: 2011-09-09 12:49:49.491242 Event: Start Call
-On: 2011-09-09 12:49:49.491302 Event: Waiting Feedback
-On: 2011-09-09 12:49:52.569543 Event: Test Succeed
-On: 2011-09-09 12:49:57.610176 Event:
-On: 2011-09-09 12:49:57.610237 Event: init Caller
-On: 2011-09-09 12:49:57.610256 Event: GSMRZ1
-On: 2011-09-09 12:49:59.620522 Event: Connected to Caller Handler
-On: 2011-09-09 12:49:59.620792 Event: Caller Handler respond
-On: 2011-09-09 12:49:59.620981 Event: Caller handler : Ready
-On: 2011-09-09 12:49:59.621010 Event: init Receiver
-On: 2011-09-09 12:49:59.621029 Event: landline
-On: 2011-09-09 12:50:01.624373 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:01.624646 Event: Receiver Handler respond
-On: 2011-09-09 12:50:01.626604 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:01.626643 Event: Start Call
-On: 2011-09-09 12:50:01.629568 Event: Waiting Feedback
-On: 2011-09-09 12:50:07.097630 Event: Test Succeed
-On: 2011-09-09 12:50:12.113981 Event:
-On: 2011-09-09 12:50:12.114041 Event: init Caller
-On: 2011-09-09 12:50:12.114060 Event: GSMRZ1
-On: 2011-09-09 12:50:14.119019 Event: Connected to Caller Handler
-On: 2011-09-09 12:50:14.119291 Event: Caller Handler respond
-On: 2011-09-09 12:50:14.119481 Event: Caller handler : Ready
-On: 2011-09-09 12:50:14.119511 Event: init Receiver
-On: 2011-09-09 12:50:14.119530 Event: unisip
-On: 2011-09-09 12:50:16.124483 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:16.124845 Event: Receiver Handler respond
-On: 2011-09-09 12:50:16.125623 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:16.125663 Event: Start Call
-On: 2011-09-09 12:50:16.129569 Event: Waiting Feedback
-On: 2011-09-09 12:50:19.921589 Event: Test Succeed
-On: 2011-09-09 12:50:24.963154 Event:
-On: 2011-09-09 12:50:24.963216 Event: init Caller
-On: 2011-09-09 12:50:24.963235 Event: landline
-On: 2011-09-09 12:50:26.967918 Event: Connected to Caller Handler
-On: 2011-09-09 12:50:26.968274 Event: Caller Handler respond
-On: 2011-09-09 12:50:26.970586 Event: Caller handler : Ready
-On: 2011-09-09 12:50:26.970625 Event: init Receiver
-On: 2011-09-09 12:50:26.970647 Event: GSMRZ1
-On: 2011-09-09 12:50:28.975496 Event: Connected to Receiver Handler
-On: 2011-09-09 12:50:28.975776 Event: Receiver Handler respond
-On: 2011-09-09 12:50:28.975963 Event: Receiver handler : Ready
-On: 2011-09-09 12:50:28.975993 Event: Start Call
-On: 2011-09-09 12:50:28.976044 Event: Waiting Feedback
-On: 2011-09-09 12:50:58.976271 Event: Test Failed
-On: 2011-09-09 12:51:03.983591 Event:
-On: 2011-09-09 12:51:03.983642 Event: init Caller
-On: 2011-09-09 12:51:03.983660 Event: GSMExt.O2
-On: 2011-09-09 12:51:05.992451 Event: Connected to Caller Handler
-On: 2011-09-09 12:51:05.992726 Event: Caller Handler respond
-On: 2011-09-09 12:51:05.992918 Event: Caller handler : Ready
-On: 2011-09-09 12:51:05.992948 Event: init Receiver
-On: 2011-09-09 12:51:05.992968 Event: GSMRZ1
-On: 2011-09-09 12:51:07.998170 Event: Connected to Receiver Handler
-On: 2011-09-09 12:51:07.998675 Event: Receiver Handler respond
-On: 2011-09-09 12:51:07.998877 Event: Receiver handler : Ready
-On: 2011-09-09 12:51:07.998904 Event: Start Call
-On: 2011-09-09 12:51:08.001577 Event: Waiting Feedback
-On: 2011-09-09 12:51:18.169584 Event: Test Failed
-On: 2011-09-09 12:51:23.175667 Event:
-On: 2011-09-09 12:51:23.175720 Event: init Caller
-On: 2011-09-09 12:51:23.175738 Event: GSMExt.Voda
-On: 2011-09-09 12:51:25.180773 Event: Connected to Caller Handler
-On: 2011-09-09 12:51:25.181042 Event: Caller Handler respond
-On: 2011-09-09 12:51:25.181230 Event: Caller handler : Ready
-On: 2011-09-09 12:51:25.181259 Event: init Receiver
-On: 2011-09-09 12:51:25.181278 Event: GSMRZ1
-On: 2011-09-09 12:51:27.186469 Event: Connected to Receiver Handler
-On: 2011-09-09 12:51:27.186746 Event: Receiver Handler respond
-On: 2011-09-09 12:51:27.186931 Event: Receiver handler : Ready
-On: 2011-09-09 12:51:27.186960 Event: Start Call
-On: 2011-09-09 12:51:27.189454 Event: Waiting Feedback
-On: 2011-09-09 12:51:35.661555 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:58:19.454818 ------------------
-On: 2011-09-09 12:58:19.454891 Event: init Caller
-On: 2011-09-09 12:58:19.454914 Event: sip
-On: 2011-09-09 12:58:21.458456 Event: Connected to Caller Handler
-On: 2011-09-09 12:58:21.458751 Event: Caller Handler respond
-On: 2011-09-09 12:58:21.459501 Event: Caller handler : Ready
-On: 2011-09-09 12:58:21.459540 Event: init Receiver
-On: 2011-09-09 12:58:21.459562 Event: GSMExt.Voda
-On: 2011-09-09 12:58:23.464764 Event: Connected to Receiver Handler
-On: 2011-09-09 12:58:23.465052 Event: Receiver Handler respond
-On: 2011-09-09 12:58:23.465240 Event: Receiver handler : Ready
-On: 2011-09-09 12:58:23.465270 Event: Start Call
-On: 2011-09-09 12:58:23.465321 Event: Waiting Feedback
-On: 2011-09-09 12:58:37.115022 Event: Test Succeed
-On: 2011-09-09 12:58:42.127750 Event:
-On: 2011-09-09 12:58:42.127809 Event: init Caller
-On: 2011-09-09 12:58:42.127828 Event: sip
-On: 2011-09-09 12:58:44.132655 Event: Connected to Caller Handler
-On: 2011-09-09 12:58:44.132928 Event: Caller Handler respond
-On: 2011-09-09 12:58:44.133715 Event: Caller handler : Ready
-On: 2011-09-09 12:58:44.133755 Event: init Receiver
-On: 2011-09-09 12:58:44.133776 Event: GSMExt.O2
-On: 2011-09-09 12:58:46.137720 Event: Connected to Receiver Handler
-On: 2011-09-09 12:58:46.138000 Event: Receiver Handler respond
-On: 2011-09-09 12:58:46.138189 Event: Receiver handler : Ready
-On: 2011-09-09 12:58:46.138219 Event: Start Call
-On: 2011-09-09 12:58:46.138268 Event: Waiting Feedback
-On: 2011-09-09 12:58:59.126955 Event: Test Succeed
-On: 2011-09-09 12:59:04.145864 Event:
-On: 2011-09-09 12:59:04.145924 Event: init Caller
-On: 2011-09-09 12:59:04.145942 Event: sip
-On: 2011-09-09 12:59:06.152317 Event: Connected to Caller Handler
-On: 2011-09-09 12:59:06.152679 Event: Caller Handler respond
-On: 2011-09-09 12:59:06.153467 Event: Caller handler : Ready
-On: 2011-09-09 12:59:06.153504 Event: init Receiver
-On: 2011-09-09 12:59:06.153525 Event: GSMExt.Eplus
-On: 2011-09-09 12:59:08.158353 Event: Connected to Receiver Handler
-On: 2011-09-09 12:59:08.158637 Event: Receiver Handler respond
-On: 2011-09-09 12:59:08.158826 Event: Receiver handler : Ready
-On: 2011-09-09 12:59:08.158856 Event: Start Call
-On: 2011-09-09 12:59:08.161443 Event: Waiting Feedback
-On: 2011-09-09 12:59:21.542318 Event: Test Succeed
-On: 2011-09-09 12:59:26.556958 Event:
-On: 2011-09-09 12:59:26.557015 Event: init Caller
-On: 2011-09-09 12:59:26.557034 Event: sip
-On: 2011-09-09 12:59:28.561206 Event: Connected to Caller Handler
-On: 2011-09-09 12:59:28.561603 Event: Caller Handler respond
-On: 2011-09-09 12:59:28.562346 Event: Caller handler : Ready
-On: 2011-09-09 12:59:28.562385 Event: init Receiver
-On: 2011-09-09 12:59:28.562406 Event: GSMExt.Tm
-On: 2011-09-09 12:59:30.568388 Event: Connected to Receiver Handler
-On: 2011-09-09 12:59:30.568665 Event: Receiver Handler respond
-On: 2011-09-09 12:59:30.568851 Event: Receiver handler : Ready
-On: 2011-09-09 12:59:30.568879 Event: Start Call
-On: 2011-09-09 12:59:30.568927 Event: Waiting Feedback
-On: 2011-09-09 12:59:45.569112 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:04:57.723379 ------------------
-On: 2011-09-09 13:04:57.723453 Event: init Caller
-On: 2011-09-09 13:04:57.723475 Event: sip
-On: 2011-09-09 13:04:59.728595 Event: Connected to Caller Handler
-On: 2011-09-09 13:04:59.728885 Event: Caller Handler respond
-On: 2011-09-09 13:04:59.730024 Event: Caller handler : Ready
-On: 2011-09-09 13:04:59.730076 Event: init Receiver
-On: 2011-09-09 13:04:59.730097 Event: GSMExt.Tm
-On: 2011-09-09 13:05:01.734340 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:01.734609 Event: Receiver Handler respond
-On: 2011-09-09 13:05:01.734790 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:01.734815 Event: Start Call
-On: 2011-09-09 13:05:01.734865 Event: Waiting Feedback
-On: 2011-09-09 13:05:15.031001 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:05:25.980348 ------------------
-On: 2011-09-09 13:05:25.980415 Event: init Caller
-On: 2011-09-09 13:05:25.980437 Event: sip
-On: 2011-09-09 13:05:27.985494 Event: Connected to Caller Handler
-On: 2011-09-09 13:05:27.985861 Event: Caller Handler respond
-On: 2011-09-09 13:05:27.986592 Event: Caller handler : Ready
-On: 2011-09-09 13:05:27.986629 Event: init Receiver
-On: 2011-09-09 13:05:27.986652 Event: GSMExt.O2
-On: 2011-09-09 13:05:29.990123 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:29.990408 Event: Receiver Handler respond
-On: 2011-09-09 13:05:29.990585 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:29.990609 Event: Start Call
-On: 2011-09-09 13:05:29.990658 Event: Waiting Feedback
-On: 2011-09-09 13:05:42.643801 Event: Test Succeed
-On: 2011-09-09 13:05:47.655181 Event:
-On: 2011-09-09 13:05:47.655238 Event: init Caller
-On: 2011-09-09 13:05:47.655256 Event: sip
-On: 2011-09-09 13:05:49.660085 Event: Connected to Caller Handler
-On: 2011-09-09 13:05:49.660436 Event: Caller Handler respond
-On: 2011-09-09 13:05:49.661518 Event: Caller handler : Ready
-On: 2011-09-09 13:05:49.661575 Event: init Receiver
-On: 2011-09-09 13:05:49.661599 Event: GSMExt.Voda
-On: 2011-09-09 13:05:51.666317 Event: Connected to Receiver Handler
-On: 2011-09-09 13:05:51.666592 Event: Receiver Handler respond
-On: 2011-09-09 13:05:51.666774 Event: Receiver handler : Ready
-On: 2011-09-09 13:05:51.666798 Event: Start Call
-On: 2011-09-09 13:05:51.666847 Event: Waiting Feedback
-On: 2011-09-09 13:06:05.667291 Event: Test Succeed
-On: 2011-09-09 13:06:10.678591 Event:
-On: 2011-09-09 13:06:10.678653 Event: init Caller
-On: 2011-09-09 13:06:10.678671 Event: sip
-On: 2011-09-09 13:06:12.683667 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:12.683938 Event: Caller Handler respond
-On: 2011-09-09 13:06:12.684680 Event: Caller handler : Ready
-On: 2011-09-09 13:06:12.684714 Event: init Receiver
-On: 2011-09-09 13:06:12.684735 Event: GSMExt.Eplus
-On: 2011-09-09 13:06:14.689915 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:14.690180 Event: Receiver Handler respond
-On: 2011-09-09 13:06:14.690356 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:14.690379 Event: Start Call
-On: 2011-09-09 13:06:14.690429 Event: Waiting Feedback
-On: 2011-09-09 13:06:28.728315 Event: Test Succeed
-On: 2011-09-09 13:06:33.739613 Event:
-On: 2011-09-09 13:06:33.739672 Event: init Caller
-On: 2011-09-09 13:06:33.739691 Event: sip
-On: 2011-09-09 13:06:35.745154 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:35.745459 Event: Caller Handler respond
-On: 2011-09-09 13:06:35.746205 Event: Caller handler : Ready
-On: 2011-09-09 13:06:35.746246 Event: init Receiver
-On: 2011-09-09 13:06:35.746267 Event: GSMExt.Tm
-On: 2011-09-09 13:06:37.752416 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:37.752695 Event: Receiver Handler respond
-On: 2011-09-09 13:06:37.752889 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:37.752919 Event: Start Call
-On: 2011-09-09 13:06:37.752972 Event: Waiting Feedback
-On: 2011-09-09 13:06:50.907924 Event: Test Succeed
-On: 2011-09-09 13:06:55.915835 Event:
-On: 2011-09-09 13:06:55.915895 Event: init Caller
-On: 2011-09-09 13:06:55.915913 Event: sip
-On: 2011-09-09 13:06:57.920870 Event: Connected to Caller Handler
-On: 2011-09-09 13:06:57.921224 Event: Caller Handler respond
-On: 2011-09-09 13:06:57.921995 Event: Caller handler : Ready
-On: 2011-09-09 13:06:57.922035 Event: init Receiver
-On: 2011-09-09 13:06:57.922055 Event: GSMRZ1
-On: 2011-09-09 13:06:59.926777 Event: Connected to Receiver Handler
-On: 2011-09-09 13:06:59.927043 Event: Receiver Handler respond
-On: 2011-09-09 13:06:59.927219 Event: Receiver handler : Ready
-On: 2011-09-09 13:06:59.927244 Event: Start Call
-On: 2011-09-09 13:06:59.927290 Event: Waiting Feedback
-On: 2011-09-09 13:07:04.713563 Event: Test Succeed
-On: 2011-09-09 13:07:13.778583 Event:
-On: 2011-09-09 13:07:13.778642 Event: init Caller
-On: 2011-09-09 13:07:13.778661 Event: sip
-On: 2011-09-09 13:07:15.783404 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:15.783757 Event: Caller Handler respond
-On: 2011-09-09 13:07:15.784719 Event: Caller handler : Ready
-On: 2011-09-09 13:07:15.784758 Event: init Receiver
-On: 2011-09-09 13:07:15.784779 Event: landline
-On: 2011-09-09 13:07:17.789693 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:17.790052 Event: Receiver Handler respond
-On: 2011-09-09 13:07:17.792634 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:17.792673 Event: Start Call
-On: 2011-09-09 13:07:17.792729 Event: Waiting Feedback
-On: 2011-09-09 13:07:24.559737 Event: Test Succeed
-On: 2011-09-09 13:07:29.579205 Event:
-On: 2011-09-09 13:07:29.579265 Event: init Caller
-On: 2011-09-09 13:07:29.579284 Event: sip
-On: 2011-09-09 13:07:31.584117 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:31.584470 Event: Caller Handler respond
-On: 2011-09-09 13:07:31.585202 Event: Caller handler : Ready
-On: 2011-09-09 13:07:31.585240 Event: init Receiver
-On: 2011-09-09 13:07:31.585261 Event: unisip
-On: 2011-09-09 13:07:33.590249 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:33.590521 Event: Receiver Handler respond
-On: 2011-09-09 13:07:33.591254 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:33.591292 Event: Start Call
-On: 2011-09-09 13:07:33.591350 Event: Waiting Feedback
-On: 2011-09-09 13:07:36.677009 Event: Test Succeed
-On: 2011-09-09 13:07:41.722972 Event:
-On: 2011-09-09 13:07:41.723030 Event: init Caller
-On: 2011-09-09 13:07:41.723048 Event: GSMRZ1
-On: 2011-09-09 13:07:43.728040 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:43.728319 Event: Caller Handler respond
-On: 2011-09-09 13:07:43.728513 Event: Caller handler : Ready
-On: 2011-09-09 13:07:43.728544 Event: init Receiver
-On: 2011-09-09 13:07:43.728563 Event: landline
-On: 2011-09-09 13:07:45.732870 Event: Connected to Receiver Handler
-On: 2011-09-09 13:07:45.733224 Event: Receiver Handler respond
-On: 2011-09-09 13:07:45.735013 Event: Receiver handler : Ready
-On: 2011-09-09 13:07:45.735050 Event: Start Call
-On: 2011-09-09 13:07:45.737574 Event: Waiting Feedback
-On: 2011-09-09 13:07:52.373582 Event: Test Succeed
-On: 2011-09-09 13:07:57.387174 Event:
-On: 2011-09-09 13:07:57.387237 Event: init Caller
-On: 2011-09-09 13:07:57.387255 Event: GSMRZ1
-On: 2011-09-09 13:07:59.392300 Event: Connected to Caller Handler
-On: 2011-09-09 13:07:59.392572 Event: Caller Handler respond
-On: 2011-09-09 13:07:59.392762 Event: Caller handler : Ready
-On: 2011-09-09 13:07:59.392791 Event: init Receiver
-On: 2011-09-09 13:07:59.392809 Event: unisip
-On: 2011-09-09 13:08:01.397824 Event: Connected to Receiver Handler
-On: 2011-09-09 13:08:01.398174 Event: Receiver Handler respond
-On: 2011-09-09 13:08:01.398902 Event: Receiver handler : Ready
-On: 2011-09-09 13:08:01.398943 Event: Start Call
-On: 2011-09-09 13:08:01.401568 Event: Waiting Feedback
-On: 2011-09-09 13:08:04.657590 Event: Test Succeed
-On: 2011-09-09 13:08:09.702428 Event:
-On: 2011-09-09 13:08:09.702487 Event: init Caller
-On: 2011-09-09 13:08:09.702505 Event: landline
-On: 2011-09-09 13:08:11.707232 Event: Connected to Caller Handler
-On: 2011-09-09 13:08:11.707582 Event: Caller Handler respond
-On: 2011-09-09 13:08:11.709940 Event: Caller handler : Ready
-On: 2011-09-09 13:08:11.709976 Event: init Receiver
-On: 2011-09-09 13:08:11.709997 Event: GSMRZ1
-On: 2011-09-09 13:08:13.714305 Event: Connected to Receiver Handler
-On: 2011-09-09 13:08:13.714577 Event: Receiver Handler respond
-On: 2011-09-09 13:08:13.714765 Event: Receiver handler : Ready
-On: 2011-09-09 13:08:13.714794 Event: Start Call
-On: 2011-09-09 13:08:13.714845 Event: Waiting Feedback
-On: 2011-09-09 13:08:22.022370 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:38:38.166477 ------------------
-On: 2011-09-09 15:38:38.166549 Event: init Caller
-On: 2011-09-09 15:38:38.166571 Event: sip
-On: 2011-09-09 15:38:40.171649 Event: Connected to Caller Handler
-On: 2011-09-09 15:38:40.171946 Event: Caller Handler respond
-On: 2011-09-09 15:38:40.172683 Event: Caller handler : Ready
-On: 2011-09-09 15:38:40.172724 Event: init Receiver
-On: 2011-09-09 15:38:40.172746 Event: GSMRZ3
-On: 2011-09-09 15:38:42.177853 Event: Cannt connect to Receiver
-On: 2011-09-09 15:38:42.177912 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:39:17.005589 ------------------
-On: 2011-09-09 15:39:17.005666 Event: init Caller
-On: 2011-09-09 15:39:17.005689 Event: sip
-On: 2011-09-09 15:39:19.018101 Event: Connected to Caller Handler
-On: 2011-09-09 15:39:19.018392 Event: Caller Handler respond
-On: 2011-09-09 15:39:19.019134 Event: Caller handler : Ready
-On: 2011-09-09 15:39:19.019174 Event: init Receiver
-On: 2011-09-09 15:39:19.019195 Event: GSMRZ3
-On: 2011-09-09 15:39:21.025622 Event: Cannt connect to Receiver
-On: 2011-09-09 15:39:21.025683 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:41:18.355443 ------------------
-On: 2011-09-09 15:41:18.355514 Event: init Caller
-On: 2011-09-09 15:41:18.355536 Event: sip
-On: 2011-09-09 15:41:20.360646 Event: Connected to Caller Handler
-On: 2011-09-09 15:41:20.360934 Event: Caller Handler respond
-On: 2011-09-09 15:41:20.361723 Event: Caller handler : Ready
-On: 2011-09-09 15:41:20.361762 Event: init Receiver
-On: 2011-09-09 15:41:20.361782 Event: GSMRZ3
-On: 2011-09-09 15:41:22.365990 Event: Connected to Receiver Handler
-On: 2011-09-09 15:41:22.370408 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:42:14.399425 ------------------
-On: 2011-09-09 15:42:14.399502 Event: init Caller
-On: 2011-09-09 15:42:14.399525 Event: sip
-On: 2011-09-09 15:42:16.404668 Event: Connected to Caller Handler
-On: 2011-09-09 15:42:16.405286 Event: Caller Handler respond
-On: 2011-09-09 15:42:16.406163 Event: Caller handler : Ready
-On: 2011-09-09 15:42:16.406205 Event: init Receiver
-On: 2011-09-09 15:42:16.406226 Event: GSMRZ3
-On: 2011-09-09 15:42:18.411125 Event: Connected to Receiver Handler
-On: 2011-09-09 15:42:18.414418 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:43:04.829692 ------------------
-On: 2011-09-09 15:43:04.829764 Event: init Caller
-On: 2011-09-09 15:43:04.829786 Event: sip
-On: 2011-09-09 15:43:06.841993 Event: Connected to Caller Handler
-On: 2011-09-09 15:43:06.842272 Event: Caller Handler respond
-On: 2011-09-09 15:43:06.843022 Event: Caller handler : Ready
-On: 2011-09-09 15:43:06.843061 Event: init Receiver
-On: 2011-09-09 15:43:06.843083 Event: GSMRZ3
-On: 2011-09-09 15:43:08.850163 Event: Connected to Receiver Handler
-On: 2011-09-09 15:43:08.853444 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:21.525747 ------------------
-On: 2011-09-09 15:44:21.525822 Event: init Caller
-On: 2011-09-09 15:44:21.525843 Event: sip
-On: 2011-09-09 15:44:23.538345 Event: Connected to Caller Handler
-On: 2011-09-09 15:44:23.538628 Event: Caller Handler respond
-On: 2011-09-09 15:44:23.539375 Event: Caller handler : Ready
-On: 2011-09-09 15:44:23.539416 Event: init Receiver
-On: 2011-09-09 15:44:23.539438 Event: GSMRZ3
-On: 2011-09-09 15:44:25.545285 Event: Cannt connect to Receiver
-On: 2011-09-09 15:44:25.545346 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:44:52.539262 ------------------
-On: 2011-09-09 15:44:52.539335 Event: init Caller
-On: 2011-09-09 15:44:52.539357 Event: sip
-On: 2011-09-09 15:44:54.551775 Event: Connected to Caller Handler
-On: 2011-09-09 15:44:54.552067 Event: Caller Handler respond
-On: 2011-09-09 15:44:54.552811 Event: Caller handler : Ready
-On: 2011-09-09 15:44:54.552850 Event: init Receiver
-On: 2011-09-09 15:44:54.552871 Event: GSMRZ3
-On: 2011-09-09 15:44:56.557792 Event: Connected to Receiver Handler
-On: 2011-09-09 15:44:56.561747 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:46:13.961524 ------------------
-On: 2011-09-09 15:46:13.961597 Event: init Caller
-On: 2011-09-09 15:46:13.961619 Event: sip
-On: 2011-09-09 15:46:15.974008 Event: Connected to Caller Handler
-On: 2011-09-09 15:46:15.974299 Event: Caller Handler respond
-On: 2011-09-09 15:46:15.975039 Event: Caller handler : Ready
-On: 2011-09-09 15:46:15.975079 Event: init Receiver
-On: 2011-09-09 15:46:15.975101 Event: GSMRZ3
-On: 2011-09-09 15:46:17.978498 Event: Connected to Receiver Handler
-On: 2011-09-09 15:46:17.981154 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 15:47:36.519692 ------------------
-On: 2011-09-09 15:47:36.519768 Event: init Caller
-On: 2011-09-09 15:47:36.519791 Event: sip
-On: 2011-09-09 15:47:38.524889 Event: Connected to Caller Handler
-On: 2011-09-09 15:47:38.525189 Event: Caller Handler respond
-On: 2011-09-09 15:47:38.525975 Event: Caller handler : Ready
-On: 2011-09-09 15:47:38.526016 Event: init Receiver
-On: 2011-09-09 15:47:38.526038 Event: GSMRZ3
-On: 2011-09-09 15:47:40.529667 Event: Connected to Receiver Handler
-On: 2011-09-09 15:47:40.534197 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:25:11.501596 ------------------
-On: 2011-09-09 16:25:11.501711 Event: init Caller
-On: 2011-09-09 16:25:11.501734 Event: sip
-On: 2011-09-09 16:25:13.506862 Event: Connected to Caller Handler
-On: 2011-09-09 16:25:13.507161 Event: Caller Handler respond
-On: 2011-09-09 16:25:13.507907 Event: Caller handler : Ready
-On: 2011-09-09 16:25:13.507949 Event: init Receiver
-On: 2011-09-09 16:25:13.507972 Event: GSMExt.O2
-On: 2011-09-09 16:25:15.513157 Event: Connected to Receiver Handler
-On: 2011-09-09 16:25:15.513442 Event: Receiver Handler respond
-On: 2011-09-09 16:25:15.513813 Event: Receiver handler : Ready
-On: 2011-09-09 16:25:15.513859 Event: Start Call
-On: 2011-09-09 16:25:15.513931 Event: Waiting Feedback
-On: 2011-09-09 16:25:45.514156 Event: Test Failed
-On: 2011-09-09 16:25:50.528093 Event:
-On: 2011-09-09 16:25:50.528155 Event: init Caller
-On: 2011-09-09 16:25:50.528174 Event: sip
-On: 2011-09-09 16:25:52.532634 Event: Connected to Caller Handler
-On: 2011-09-09 16:25:52.533754 Event: Caller Handler respond
-On: 2011-09-09 16:25:52.534507 Event: Caller handler : Ready
-On: 2011-09-09 16:25:52.534541 Event: init Receiver
-On: 2011-09-09 16:25:52.534564 Event: GSMExt.Voda
-On: 2011-09-09 16:25:54.538545 Event: Connected to Receiver Handler
-On: 2011-09-09 16:25:54.538833 Event: Receiver Handler respond
-On: 2011-09-09 16:25:54.539022 Event: Receiver handler : Ready
-On: 2011-09-09 16:25:54.539052 Event: Start Call
-On: 2011-09-09 16:25:54.539103 Event: Waiting Feedback
-On: 2011-09-09 16:26:24.539324 Event: Test Failed
-On: 2011-09-09 16:26:29.552109 Event:
-On: 2011-09-09 16:26:29.552172 Event: init Caller
-On: 2011-09-09 16:26:29.552191 Event: sip
-On: 2011-09-09 16:26:31.557153 Event: Connected to Caller Handler
-On: 2011-09-09 16:26:31.557432 Event: Caller Handler respond
-On: 2011-09-09 16:26:31.558229 Event: Caller handler : Ready
-On: 2011-09-09 16:26:31.558268 Event: init Receiver
-On: 2011-09-09 16:26:31.558289 Event: GSMExt.Eplus
-On: 2011-09-09 16:26:33.562541 Event: Connected to Receiver Handler
-On: 2011-09-09 16:26:33.562820 Event: Receiver Handler respond
-On: 2011-09-09 16:26:33.563007 Event: Receiver handler : Ready
-On: 2011-09-09 16:26:33.563033 Event: Start Call
-On: 2011-09-09 16:26:33.563086 Event: Waiting Feedback
-On: 2011-09-09 16:26:46.616731 Event: Test Succeed
-On: 2011-09-09 16:26:51.628872 Event:
-On: 2011-09-09 16:26:51.628933 Event: init Caller
-On: 2011-09-09 16:26:51.628952 Event: sip
-On: 2011-09-09 16:26:53.633844 Event: Connected to Caller Handler
-On: 2011-09-09 16:26:53.634120 Event: Caller Handler respond
-On: 2011-09-09 16:26:53.634874 Event: Caller handler : Ready
-On: 2011-09-09 16:26:53.634914 Event: init Receiver
-On: 2011-09-09 16:26:53.634937 Event: GSMExt.Tm
-On: 2011-09-09 16:26:55.638782 Event: Connected to Receiver Handler
-On: 2011-09-09 16:26:55.639067 Event: Receiver Handler respond
-On: 2011-09-09 16:26:55.639262 Event: Receiver handler : Ready
-On: 2011-09-09 16:26:55.639291 Event: Start Call
-On: 2011-09-09 16:26:55.639344 Event: Waiting Feedback
-On: 2011-09-09 16:27:25.639570 Event: Test Failed
-On: 2011-09-09 16:27:30.652101 Event:
-On: 2011-09-09 16:27:30.652163 Event: init Caller
-On: 2011-09-09 16:27:30.652182 Event: sip
-On: 2011-09-09 16:27:32.658995 Event: Connected to Caller Handler
-On: 2011-09-09 16:27:32.659274 Event: Caller Handler respond
-On: 2011-09-09 16:27:32.660398 Event: Caller handler : Ready
-On: 2011-09-09 16:27:32.660440 Event: init Receiver
-On: 2011-09-09 16:27:32.660461 Event: GSMRZ1
-On: 2011-09-09 16:27:34.669451 Event: Connected to Receiver Handler
-On: 2011-09-09 16:27:34.669694 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-09-09 16:27:41.860752 Event:
-On: 2011-09-09 16:27:41.860816 Event: init Caller
-On: 2011-09-09 16:27:41.860835 Event: sip
-On: 2011-09-09 16:27:43.865777 Event: Connected to Caller Handler
-On: 2011-09-09 16:27:43.866060 Event: Caller Handler respond
-On: 2011-09-09 16:27:43.866817 Event: Caller handler : Ready
-On: 2011-09-09 16:27:43.866857 Event: init Receiver
-On: 2011-09-09 16:27:43.866878 Event: landline
-On: 2011-09-09 16:27:45.884530 Event: Connected to Receiver Handler
-On: 2011-09-09 16:27:45.884812 Event: Receiver Handler respond
-On: 2011-09-09 16:27:45.886880 Event: Receiver handler : Ready
-On: 2011-09-09 16:27:45.886919 Event: Start Call
-On: 2011-09-09 16:27:45.886982 Event: Waiting Feedback
-On: 2011-09-09 16:27:55.022218 Event: Test Succeed
-On: 2011-09-09 16:28:00.039575 Event:
-On: 2011-09-09 16:28:00.039637 Event: init Caller
-On: 2011-09-09 16:28:00.039656 Event: sip
-On: 2011-09-09 16:28:02.044563 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:02.044842 Event: Caller Handler respond
-On: 2011-09-09 16:28:02.045588 Event: Caller handler : Ready
-On: 2011-09-09 16:28:02.045661 Event: init Receiver
-On: 2011-09-09 16:28:02.045683 Event: unisip
-On: 2011-09-09 16:28:04.050423 Event: Connected to Receiver Handler
-On: 2011-09-09 16:28:04.050710 Event: Receiver Handler respond
-On: 2011-09-09 16:28:04.051456 Event: Receiver handler : Ready
-On: 2011-09-09 16:28:04.051497 Event: Start Call
-On: 2011-09-09 16:28:04.051558 Event: Waiting Feedback
-On: 2011-09-09 16:28:07.102584 Event: Test Succeed
-On: 2011-09-09 16:28:12.134342 Event:
-On: 2011-09-09 16:28:12.134401 Event: init Caller
-On: 2011-09-09 16:28:12.134420 Event: GSMRZ1
-On: 2011-09-09 16:28:14.145857 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:14.146064 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-09 16:28:19.176736 Event:
-On: 2011-09-09 16:28:19.176797 Event: init Caller
-On: 2011-09-09 16:28:19.176816 Event: landline
-On: 2011-09-09 16:28:21.181792 Event: Connected to Caller Handler
-On: 2011-09-09 16:28:21.182071 Event: Caller Handler respond
-On: 2011-09-09 16:28:21.184344 Event: Caller handler : Ready
-On: 2011-09-09 16:28:21.184380 Event: init Receiver
-On: 2011-09-09 16:28:21.184401 Event: GSMRZ1
-On: 2011-09-09 16:28:23.193862 Event: Connected to Receiver Handler
-On: 2011-09-09 16:28:23.194063 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:00.969790 ------------------
-On: 2011-09-09 21:08:00.969865 Event: init Caller
-On: 2011-09-09 21:08:00.969886 Event: unisip
-On: 2011-09-09 21:08:02.980850 Event: Connected to Caller Handler
-On: 2011-09-09 21:08:02.981142 Event: Caller Handler respond
-On: 2011-09-09 21:08:02.981921 Event: Caller handler : Ready
-On: 2011-09-09 21:08:02.981960 Event: init Receiver
-On: 2011-09-09 21:08:02.981981 Event: GSMRZ1
-On: 2011-09-09 21:08:04.986319 Event: Cannt connect to Receiver
-On: 2011-09-09 21:08:04.986379 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:53.445300 ------------------
-On: 2011-09-09 21:08:53.445370 Event: init Caller
-On: 2011-09-09 21:08:53.445392 Event: unisip
-On: 2011-09-09 21:08:55.450322 Event: Connected to Caller Handler
-On: 2011-09-09 21:08:55.451413 Event: Caller Handler respond
-On: 2011-09-09 21:08:55.452162 Event: Caller handler : Ready
-On: 2011-09-09 21:08:55.452201 Event: init Receiver
-On: 2011-09-09 21:08:55.452223 Event: GSMRZ1
-On: 2011-09-09 21:08:57.459859 Event: Connected to Receiver Handler
-On: 2011-09-09 21:08:57.465867 Event: 998 General Handler Error: Could not connect Destination handler
-On: 2011-09-09 21:09:02.495184 Event:
-On: 2011-09-09 21:09:02.495243 Event: init Caller
-On: 2011-09-09 21:09:02.495262 Event: landline
-On: 2011-09-09 21:09:04.504559 Event: Connected to Caller Handler
-On: 2011-09-09 21:09:04.504831 Event: Caller Handler respond
-On: 2011-09-09 21:09:04.506698 Event: Caller handler : Ready
-On: 2011-09-09 21:09:04.506738 Event: init Receiver
-On: 2011-09-09 21:09:04.506760 Event: GSMRZ3
-On: 2011-09-09 21:09:08.512336 Event: Cannt connect to Receiver
-On: 2011-09-09 21:09:08.512397 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:13:07.507600 ------------------
-On: 2011-09-09 21:13:07.507677 Event: init Caller
-On: 2011-09-09 21:13:07.507699 Event: sip
-On: 2011-09-09 21:13:09.522704 Event: Connected to Caller Handler
-On: 2011-09-09 21:13:09.523006 Event: Caller Handler respond
-On: 2011-09-09 21:13:09.523731 Event: Caller handler : Ready
-On: 2011-09-09 21:13:09.523772 Event: init Receiver
-On: 2011-09-09 21:13:09.523794 Event: GSMRZ3
-On: 2011-09-09 21:13:13.529591 Event: Connected to Receiver Handler
-On: 2011-09-09 21:13:13.533832 Event: 998 General Handler Error: Could not connect Destination handler
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:00.420114 ------------------
-On: 2011-09-09 21:14:00.420191 Event: init Caller
-On: 2011-09-09 21:14:00.420213 Event: sip
-On: 2011-09-09 21:14:02.425415 Event: Connected to Caller Handler
-On: 2011-09-09 21:14:02.426089 Event: Caller Handler respond
-On: 2011-09-09 21:14:02.427264 Event: Caller handler : Ready
-On: 2011-09-09 21:14:02.427320 Event: init Receiver
-On: 2011-09-09 21:14:02.427343 Event: GSMRZ3
-On: 2011-09-09 21:14:06.434536 Event: Connected to Receiver Handler
-On: 2011-09-09 21:14:06.441749 Event: Receiver Handler respond
-On: 2011-09-09 21:14:06.444010 Event: Receiver handler : Ready
-On: 2011-09-09 21:14:06.444065 Event: Start Call
-On: 2011-09-09 21:14:06.444242 Event: Waiting Feedback
-On: 2011-09-09 21:14:11.369826 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:14:57.117840 ------------------
-On: 2011-09-09 21:14:57.117913 Event: init Caller
-On: 2011-09-09 21:14:57.117935 Event: sip
-On: 2011-09-09 21:14:59.130128 Event: Connected to Caller Handler
-On: 2011-09-09 21:14:59.130427 Event: Caller Handler respond
-On: 2011-09-09 21:14:59.131170 Event: Caller handler : Ready
-On: 2011-09-09 21:14:59.131210 Event: init Receiver
-On: 2011-09-09 21:14:59.131232 Event: GSMRZ3
-On: 2011-09-09 21:15:03.136410 Event: Connected to Receiver Handler
-On: 2011-09-09 21:15:03.142535 Event: Receiver Handler respond
-On: 2011-09-09 21:15:03.145325 Event: Receiver handler : Ready
-On: 2011-09-09 21:15:03.145370 Event: Start Call
-On: 2011-09-09 21:15:03.145541 Event: Waiting Feedback
-On: 2011-09-09 21:15:09.068103 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 17:09:00.728602 ------------------
-On: 2011-09-11 17:09:00.728644 Event: init Caller
-On: 2011-09-11 17:09:00.728656 Event: sip
-On: 2011-09-11 17:09:02.732816 Event: Cannt connect to Caller
-On: 2011-09-11 17:09:02.732904 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 17:12:41.790169 ------------------
-On: 2011-09-11 17:12:41.790210 Event: init Caller
-On: 2011-09-11 17:12:41.790222 Event: sip
-On: 2011-09-11 17:12:43.792959 Event: Cannt connect to Caller
-On: 2011-09-11 17:12:43.793048 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:03:36.779374 ------------------
-On: 2011-09-11 18:03:36.779413 Event: init Caller
-On: 2011-09-11 18:03:36.779422 Event: sip
-On: 2011-09-11 18:03:38.782111 Event: Cannt connect to Caller
-On: 2011-09-11 18:03:38.782203 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:04:37.341843 ------------------
-On: 2011-09-11 18:04:37.341948 Event: init Caller
-On: 2011-09-11 18:04:37.341987 Event: sip
-On: 2011-09-11 18:04:39.345359 Event: Cannt connect to Caller
-On: 2011-09-11 18:04:39.345473 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:07:03.854906 ------------------
-On: 2011-09-11 18:07:03.855042 Event: init Caller
-On: 2011-09-11 18:07:03.855103 Event: sip
-On: 2011-09-11 18:07:05.861608 Event: Cannt connect to Caller
-On: 2011-09-11 18:07:05.861697 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:11:09.529265 ------------------
-On: 2011-09-11 18:11:09.529404 Event: init Caller
-On: 2011-09-11 18:11:09.529439 Event: sip
-On: 2011-09-11 18:11:11.534537 Event: Cannt connect to Caller
-On: 2011-09-11 18:11:11.534623 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:12:15.313131 ------------------
-On: 2011-09-11 18:12:15.313234 Event: init Caller
-On: 2011-09-11 18:12:15.313261 Event: sip
-On: 2011-09-11 18:12:17.319036 Event: Cannt connect to Caller
-On: 2011-09-11 18:12:17.319074 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:12:33.874934 ------------------
-On: 2011-09-11 18:12:33.875032 Event: init Caller
-On: 2011-09-11 18:12:33.875042 Event: sip
-On: 2011-09-11 18:12:35.879340 Event: Cannt connect to Caller
-On: 2011-09-11 18:12:35.879369 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:18:17.188273 ------------------
-On: 2011-09-11 18:18:17.188316 Event: init Caller
-On: 2011-09-11 18:18:17.188328 Event: sip
-On: 2011-09-11 18:18:19.191827 Event: Cannt connect to Caller
-On: 2011-09-11 18:18:19.191947 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:18:36.745305 ------------------
-On: 2011-09-11 18:18:36.745337 Event: init Caller
-On: 2011-09-11 18:18:36.745346 Event: sip
-On: 2011-09-11 18:18:38.747369 Event: Cannt connect to Caller
-On: 2011-09-11 18:18:38.747401 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:25:24.464017 ------------------
-On: 2011-09-11 18:25:24.464049 Event: init Caller
-On: 2011-09-11 18:25:24.464057 Event: sip
-On: 2011-09-11 18:25:26.467729 Event: Cannt connect to Caller
-On: 2011-09-11 18:25:26.467818 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:30:05.961247 ------------------
-On: 2011-09-11 18:30:05.961355 Event: init Caller
-On: 2011-09-11 18:30:05.961392 Event: sip
-On: 2011-09-11 18:30:07.965743 Event: Cannt connect to Caller
-On: 2011-09-11 18:30:07.965769 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:36:02.337076 ------------------
-On: 2011-09-11 18:36:02.337160 Event: init Caller
-On: 2011-09-11 18:36:02.337184 Event: sip
-On: 2011-09-11 18:36:04.342938 Event: Cannt connect to Caller
-On: 2011-09-11 18:36:04.343055 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:37:58.892202 ------------------
-On: 2011-09-11 18:37:58.892262 Event: init Caller
-On: 2011-09-11 18:37:58.892281 Event: sip
-On: 2011-09-11 18:38:00.895264 Event: Cannt connect to Caller
-On: 2011-09-11 18:38:00.895294 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:38:18.801428 ------------------
-On: 2011-09-11 18:38:18.801565 Event: init Caller
-On: 2011-09-11 18:38:18.801619 Event: sip
-On: 2011-09-11 18:38:20.807920 Event: Cannt connect to Caller
-On: 2011-09-11 18:38:20.808012 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:56:14.182605 ------------------
-On: 2011-09-11 18:56:14.182719 Event: init Caller
-On: 2011-09-11 18:56:14.182765 Event: GSMRZ1
-On: 2011-09-11 18:56:16.188036 Event: Cannt connect to Caller
-On: 2011-09-11 18:56:16.188139 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-11 18:56:21.197728 Event:
-On: 2011-09-11 18:56:21.197808 Event: init Caller
-On: 2011-09-11 18:56:21.197852 Event: GSMRZ1
-On: 2011-09-11 18:56:23.204170 Event: Cannt connect to Caller
-On: 2011-09-11 18:56:23.204284 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 18:57:08.109769 ------------------
-On: 2011-09-11 18:57:08.109876 Event: init Caller
-On: 2011-09-11 18:57:08.109904 Event: sip
-On: 2011-09-11 18:57:10.115635 Event: Cannt connect to Caller
-On: 2011-09-11 18:57:10.115726 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-11 18:57:15.124884 Event:
-On: 2011-09-11 18:57:15.124959 Event: init Caller
-On: 2011-09-11 18:57:15.124999 Event: GSMRZ1
-On: 2011-09-11 18:57:17.134182 Event: Cannt connect to Caller
-On: 2011-09-11 18:57:17.134288 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:14:29.860229 ------------------
-On: 2011-09-11 19:14:29.860278 Event: init Caller
-On: 2011-09-11 19:14:29.860293 Event: sip
-On: 2011-09-11 19:14:31.865167 Event: Cannt connect to Caller
-On: 2011-09-11 19:14:31.865261 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-11 19:14:36.881814 Event:
-On: 2011-09-11 19:14:36.881891 Event: init Caller
-On: 2011-09-11 19:14:36.881919 Event: sip
-On: 2011-09-11 19:14:38.888353 Event: Cannt connect to Caller
-On: 2011-09-11 19:14:38.888476 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:16:26.409515 ------------------
-On: 2011-09-11 19:16:26.409646 Event: init Caller
-On: 2011-09-11 19:16:26.409694 Event: sip
-On: 2011-09-11 19:16:28.415345 Event: Cannt connect to Caller
-On: 2011-09-11 19:16:28.415434 Event: 999 General Handler Error: Could not connect to Caller handler
-On: 2011-09-11 19:16:33.428601 Event:
-On: 2011-09-11 19:16:33.428674 Event: init Caller
-On: 2011-09-11 19:16:33.428701 Event: sip
-On: 2011-09-11 19:16:35.434593 Event: Cannt connect to Caller
-On: 2011-09-11 19:16:35.434722 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 19:24:41.075362 ------------------
-On: 2011-09-11 19:24:41.075405 Event: init Caller
-On: 2011-09-11 19:24:41.075417 Event: sip
-On: 2011-09-11 19:24:43.078338 Event: Cannt connect to Caller
-On: 2011-09-11 19:24:43.078436 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:31:38.457360 ------------------
-On: 2011-09-11 20:31:38.457491 Event: init Caller
-On: 2011-09-11 20:31:38.457538 Event: sip
-On: 2011-09-11 20:31:40.463746 Event: Connected to Caller Handler
-On: 2011-09-11 20:31:40.464064 Event: Caller Handler respond
-On: 2011-09-11 20:31:40.464927 Event: Caller handler : Ready
-On: 2011-09-11 20:31:40.464985 Event: init Receiver
-On: 2011-09-11 20:31:40.465021 Event: GSMRZ1
-On: 2011-09-11 20:31:42.470713 Event: Connected to Receiver Handler
-On: 2011-09-11 20:31:42.471164 Event: Receiver Handler respond
-On: 2011-09-11 20:31:42.471400 Event: Receiver handler : Ready
-On: 2011-09-11 20:31:42.471452 Event: Start Call
-On: 2011-09-11 20:31:42.471567 Event: Waiting Feedback
-On: 2011-09-11 20:31:47.318911 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:32:16.608858 ------------------
-On: 2011-09-11 20:32:16.608924 Event: init Caller
-On: 2011-09-11 20:32:16.608946 Event: sip
-On: 2011-09-11 20:32:18.613940 Event: Connected to Caller Handler
-On: 2011-09-11 20:32:18.614250 Event: Caller Handler respond
-On: 2011-09-11 20:32:18.615259 Event: Caller handler : Ready
-On: 2011-09-11 20:32:18.615323 Event: init Receiver
-On: 2011-09-11 20:32:18.615374 Event: GSMRZ1
-On: 2011-09-11 20:32:20.621587 Event: Connected to Receiver Handler
-On: 2011-09-11 20:32:20.621793 Event: Receiver Handler respond
-On: 2011-09-11 20:32:20.621856 Event: Receiver handler : Ready
-On: 2011-09-11 20:32:20.621870 Event: Start Call
-On: 2011-09-11 20:32:20.621909 Event: Waiting Feedback
-On: 2011-09-11 20:32:26.154889 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:35:28.724160 ------------------
-On: 2011-09-11 20:35:28.724292 Event: init Caller
-On: 2011-09-11 20:35:28.724353 Event: sip
-On: 2011-09-11 20:35:30.730249 Event: Connected to Caller Handler
-On: 2011-09-11 20:35:30.730351 Event: Caller Handler respond
-On: 2011-09-11 20:35:30.731224 Event: Caller handler : Ready
-On: 2011-09-11 20:35:30.731270 Event: init Receiver
-On: 2011-09-11 20:35:30.731286 Event: GSMRZ1
-On: 2011-09-11 20:35:32.735982 Event: Connected to Receiver Handler
-On: 2011-09-11 20:35:32.736408 Event: Receiver Handler respond
-On: 2011-09-11 20:35:32.736614 Event: Receiver handler : Ready
-On: 2011-09-11 20:35:32.736653 Event: Start Call
-On: 2011-09-11 20:35:32.736740 Event: Waiting Feedback
-On: 2011-09-11 20:35:37.982890 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:41:52.692499 ------------------
-On: 2011-09-11 20:41:52.692533 Event: init Caller
-On: 2011-09-11 20:41:52.692542 Event: sip
-On: 2011-09-11 20:41:54.694227 Event: Connected to Caller Handler
-On: 2011-09-11 20:41:54.694318 Event: Caller Handler respond
-On: 2011-09-11 20:41:54.694602 Event: Caller handler : Ready
-On: 2011-09-11 20:41:54.694619 Event: init Receiver
-On: 2011-09-11 20:41:54.694631 Event: GSMRZ1
-On: 2011-09-11 20:41:56.697735 Event: Connected to Receiver Handler
-On: 2011-09-11 20:41:56.698162 Event: Receiver Handler respond
-On: 2011-09-11 20:41:56.698407 Event: Receiver handler : Ready
-On: 2011-09-11 20:41:56.698461 Event: Start Call
-On: 2011-09-11 20:41:56.698590 Event: Waiting Feedback
-On: 2011-09-11 20:42:02.138887 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:49:36.700025 ------------------
-On: 2011-09-11 20:49:36.700068 Event: init Caller
-On: 2011-09-11 20:49:36.700082 Event: sip
-On: 2011-09-11 20:49:38.704535 Event: Connected to Caller Handler
-On: 2011-09-11 20:49:38.704800 Event: Caller Handler respond
-On: 2011-09-11 20:49:38.705692 Event: Caller handler : Ready
-On: 2011-09-11 20:49:38.705753 Event: init Receiver
-On: 2011-09-11 20:49:38.705797 Event: GSMRZ1
-On: 2011-09-11 20:49:40.711718 Event: Connected to Receiver Handler
-On: 2011-09-11 20:49:40.712163 Event: Receiver Handler respond
-On: 2011-09-11 20:49:40.712380 Event: Receiver handler : Ready
-On: 2011-09-11 20:49:40.712435 Event: Start Call
-On: 2011-09-11 20:49:40.712566 Event: Waiting Feedback
-On: 2011-09-11 20:49:46.566905 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-11 20:51:45.982791 ------------------
-On: 2011-09-11 20:51:45.982970 Event: init Caller
-On: 2011-09-11 20:51:45.983007 Event: sip
-On: 2011-09-11 20:51:47.993860 Event: Connected to Caller Handler
-On: 2011-09-11 20:51:47.994166 Event: Caller Handler respond
-On: 2011-09-11 20:51:47.995190 Event: Caller handler : Ready
-On: 2011-09-11 20:51:47.995266 Event: init Receiver
-On: 2011-09-11 20:51:47.995315 Event: GSMRZ1
-On: 2011-09-11 20:51:50.000125 Event: Connected to Receiver Handler
-On: 2011-09-11 20:51:50.000694 Event: Receiver Handler respond
-On: 2011-09-11 20:51:50.001102 Event: Receiver handler : Ready
-On: 2011-09-11 20:51:50.001162 Event: Start Call
-On: 2011-09-11 20:51:50.001295 Event: Waiting Feedback
-On: 2011-09-11 20:51:54.838883 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:34:10.205401 ------------------
-On: 2011-09-12 14:34:10.205447 Event: init Caller
-On: 2011-09-12 14:34:10.205462 Event: sip
-On: 2011-09-12 14:34:12.208949 Event: Connected to Caller Handler
-On: 2011-09-12 14:34:12.209250 Event: Caller Handler respond
-On: 2011-09-12 14:34:12.210169 Event: Caller handler : Ready
-On: 2011-09-12 14:34:12.210233 Event: init Receiver
-On: 2011-09-12 14:34:12.210267 Event: GSMRZ1
-On: 2011-09-12 14:34:14.215590 Event: Connected to Receiver Handler
-On: 2011-09-12 14:34:14.216140 Event: Receiver Handler respond
-On: 2011-09-12 14:34:14.216512 Event: Receiver handler : Ready
-On: 2011-09-12 14:34:14.216580 Event: Start Call
-On: 2011-09-12 14:34:14.216706 Event: Waiting Feedback
-On: 2011-09-12 14:34:19.731896 Event: Test Succeed
-On: 2011-09-12 14:34:24.746967 Event:
-On: 2011-09-12 14:34:24.747026 Event: init Caller
-On: 2011-09-12 14:34:24.747048 Event: sip
-On: 2011-09-12 14:34:26.751200 Event: Connected to Caller Handler
-On: 2011-09-12 14:34:26.751849 Event: Caller Handler respond
-On: 2011-09-12 14:34:26.753256 Event: Caller handler : Ready
-On: 2011-09-12 14:34:26.753320 Event: init Receiver
-On: 2011-09-12 14:34:26.753372 Event: GSMRZ1
-On: 2011-09-12 14:34:28.757684 Event: Connected to Receiver Handler
-On: 2011-09-12 14:34:28.758059 Event: Receiver Handler respond
-On: 2011-09-12 14:34:28.758264 Event: Receiver handler : Ready
-On: 2011-09-12 14:34:28.758308 Event: Start Call
-On: 2011-09-12 14:34:28.758417 Event: Waiting Feedback
-On: 2011-09-12 14:34:33.871885 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:36:28.694527 ------------------
-On: 2011-09-12 14:36:28.694622 Event: init Caller
-On: 2011-09-12 14:36:28.694654 Event: sip
-On: 2011-09-12 14:36:30.699989 Event: Connected to Caller Handler
-On: 2011-09-12 14:36:30.700292 Event: Caller Handler respond
-On: 2011-09-12 14:36:30.701194 Event: Caller handler : Ready
-On: 2011-09-12 14:36:30.701254 Event: init Receiver
-On: 2011-09-12 14:36:30.701290 Event: GSMRZ1
-On: 2011-09-12 14:36:32.707534 Event: Connected to Receiver Handler
-On: 2011-09-12 14:36:32.708056 Event: Receiver Handler respond
-On: 2011-09-12 14:36:32.708306 Event: Receiver handler : Ready
-On: 2011-09-12 14:36:32.708358 Event: Start Call
-On: 2011-09-12 14:36:32.708557 Event: Waiting Feedback
-On: 2011-09-12 14:36:38.611914 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:40:53.066071 ------------------
-On: 2011-09-12 14:40:53.066183 Event: init Caller
-On: 2011-09-12 14:40:53.066233 Event: GSMRZ1
-On: 2011-09-12 14:40:55.075870 Event: Connected to Caller Handler
-On: 2011-09-12 14:40:55.076256 Event: Caller Handler respond
-On: 2011-09-12 14:40:55.076495 Event: Caller handler : Ready
-On: 2011-09-12 14:40:55.076551 Event: init Receiver
-On: 2011-09-12 14:40:55.076597 Event: GSMExt.Eplus
-On: 2011-09-12 14:40:57.081593 Event: Connected to Receiver Handler
-On: 2011-09-12 14:40:57.081949 Event: Receiver Handler respond
-On: 2011-09-12 14:40:57.082144 Event: Receiver handler : Ready
-On: 2011-09-12 14:40:57.082184 Event: Start Call
-On: 2011-09-12 14:40:57.082251 Event: Waiting Feedback
-On: 2011-09-12 14:41:08.595881 Event: Test Failed
-On: 2011-09-12 14:41:13.602896 Event:
-On: 2011-09-12 14:41:13.602972 Event: init Caller
-On: 2011-09-12 14:41:13.603012 Event: GSMRZ1
-On: 2011-09-12 14:41:15.609223 Event: Connected to Caller Handler
-On: 2011-09-12 14:41:15.609484 Event: Caller Handler respond
-On: 2011-09-12 14:41:15.609605 Event: Caller handler : Ready
-On: 2011-09-12 14:41:15.609618 Event: init Receiver
-On: 2011-09-12 14:41:15.609631 Event: GSMExt.Voda
-On: 2011-09-12 14:41:17.614861 Event: Connected to Receiver Handler
-On: 2011-09-12 14:41:17.615150 Event: Receiver Handler respond
-On: 2011-09-12 14:41:17.615318 Event: Receiver handler : Ready
-On: 2011-09-12 14:41:17.615341 Event: Start Call
-On: 2011-09-12 14:41:17.615399 Event: Waiting Feedback
-On: 2011-09-12 14:41:28.439910 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:42:00.864581 ------------------
-On: 2011-09-12 14:42:00.864620 Event: init Caller
-On: 2011-09-12 14:42:00.864632 Event: GSMRZ1
-On: 2011-09-12 14:42:02.872222 Event: Connected to Caller Handler
-On: 2011-09-12 14:42:02.872515 Event: Caller Handler respond
-On: 2011-09-12 14:42:02.872626 Event: Caller handler : Ready
-On: 2011-09-12 14:42:02.872641 Event: init Receiver
-On: 2011-09-12 14:42:02.872654 Event: GSMExt.Tm
-On: 2011-09-12 14:42:04.876197 Event: Connected to Receiver Handler
-On: 2011-09-12 14:42:04.876341 Event: Receiver Handler respond
-On: 2011-09-12 14:42:04.876405 Event: Receiver handler : Ready
-On: 2011-09-12 14:42:04.876419 Event: Start Call
-On: 2011-09-12 14:42:04.876455 Event: Waiting Feedback
-On: 2011-09-12 14:42:17.287890 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:43:07.173824 ------------------
-On: 2011-09-12 14:43:07.173854 Event: init Caller
-On: 2011-09-12 14:43:07.173861 Event: GSMRZ1
-On: 2011-09-12 14:43:09.176663 Event: Connected to Caller Handler
-On: 2011-09-12 14:43:09.176862 Event: Caller Handler respond
-On: 2011-09-12 14:43:09.176929 Event: Caller handler : Ready
-On: 2011-09-12 14:43:09.176943 Event: init Receiver
-On: 2011-09-12 14:43:09.176955 Event: GSMExt.O2
-On: 2011-09-12 14:43:11.181121 Event: Connected to Receiver Handler
-On: 2011-09-12 14:43:11.181618 Event: Receiver Handler respond
-On: 2011-09-12 14:43:11.181991 Event: Receiver handler : Ready
-On: 2011-09-12 14:43:11.182047 Event: Start Call
-On: 2011-09-12 14:43:11.182174 Event: Waiting Feedback
-On: 2011-09-12 14:43:31.643967 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:43:58.999093 ------------------
-On: 2011-09-12 14:43:58.999207 Event: init Caller
-On: 2011-09-12 14:43:58.999257 Event: GSMRZ1
-On: 2011-09-12 14:44:01.004178 Event: Connected to Caller Handler
-On: 2011-09-12 14:44:01.004318 Event: Caller Handler respond
-On: 2011-09-12 14:44:01.004386 Event: Caller handler : Ready
-On: 2011-09-12 14:44:01.004400 Event: init Receiver
-On: 2011-09-12 14:44:01.004412 Event: GSMExt.Tm
-On: 2011-09-12 14:44:03.009007 Event: Connected to Receiver Handler
-On: 2011-09-12 14:44:03.009428 Event: Receiver Handler respond
-On: 2011-09-12 14:44:03.009659 Event: Receiver handler : Ready
-On: 2011-09-12 14:44:03.009711 Event: Start Call
-On: 2011-09-12 14:44:03.009834 Event: Waiting Feedback
-On: 2011-09-12 14:44:13.703910 Event: Test Failed
-
-
-------------------STARTED THE LOGGING 2011-09-12 14:56:53.169158 ------------------
-On: 2011-09-12 14:56:53.169217 Event: init Caller
-On: 2011-09-12 14:56:53.169236 Event: sip
-On: 2011-09-12 14:56:55.173344 Event: Connected to Caller Handler
-On: 2011-09-12 14:56:55.173435 Event: Caller Handler respond
-On: 2011-09-12 14:56:55.173987 Event: Caller handler : Ready
-On: 2011-09-12 14:56:55.174013 Event: init Receiver
-On: 2011-09-12 14:56:55.174026 Event: GSMRZ1
-On: 2011-09-12 14:56:57.176555 Event: Connected to Receiver Handler
-On: 2011-09-12 14:56:57.176755 Event: Receiver Handler respond
-On: 2011-09-12 14:56:57.176814 Event: Receiver handler : Ready
-On: 2011-09-12 14:56:57.176827 Event: Start Call
-On: 2011-09-12 14:56:57.176860 Event: Waiting Feedback
-On: 2011-09-12 14:57:02.143899 Event: Test Succeed
-On: 2011-09-12 14:57:07.157256 Event:
-On: 2011-09-12 14:57:07.157315 Event: init Caller
-On: 2011-09-12 14:57:07.157339 Event: sip
-On: 2011-09-12 14:57:09.160178 Event: Connected to Caller Handler
-On: 2011-09-12 14:57:09.160274 Event: Caller Handler respond
-On: 2011-09-12 14:57:09.161034 Event: Caller handler : Ready
-On: 2011-09-12 14:57:09.161093 Event: init Receiver
-On: 2011-09-12 14:57:09.161134 Event: GSMRZ1
-On: 2011-09-12 14:57:11.164102 Event: Connected to Receiver Handler
-On: 2011-09-12 14:57:11.164658 Event: Receiver Handler respond
-On: 2011-09-12 14:57:11.164998 Event: Receiver handler : Ready
-On: 2011-09-12 14:57:11.165040 Event: Start Call
-On: 2011-09-12 14:57:11.165134 Event: Waiting Feedback
-On: 2011-09-12 14:57:16.499888 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:01:21.325887 ------------------
-On: 2011-09-12 15:01:21.325918 Event: init Caller
-On: 2011-09-12 15:01:21.325927 Event: sip
-On: 2011-09-12 15:01:23.328366 Event: Connected to Caller Handler
-On: 2011-09-12 15:01:23.328551 Event: Caller Handler respond
-On: 2011-09-12 15:01:23.328811 Event: Caller handler : Ready
-On: 2011-09-12 15:01:23.328827 Event: init Receiver
-On: 2011-09-12 15:01:23.328837 Event: GSMRZ1
-On: 2011-09-12 15:01:25.332284 Event: Connected to Receiver Handler
-On: 2011-09-12 15:01:25.332436 Event: Receiver Handler respond
-On: 2011-09-12 15:01:25.332513 Event: Receiver handler : Ready
-On: 2011-09-12 15:01:25.332531 Event: Start Call
-On: 2011-09-12 15:01:25.332571 Event: Waiting Feedback
-On: 2011-09-12 15:01:30.483886 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:14:53.913525 ------------------
-On: 2011-09-12 15:14:53.913569 Event: init Caller
-On: 2011-09-12 15:14:53.913584 Event: sip
-On: 2011-09-12 15:14:55.916671 Event: Connected to Caller Handler
-On: 2011-09-12 15:14:55.916881 Event: Caller Handler respond
-On: 2011-09-12 15:14:55.917788 Event: Caller handler : Ready
-On: 2011-09-12 15:14:55.917850 Event: init Receiver
-On: 2011-09-12 15:14:55.917911 Event: GSMRZ1
-On: 2011-09-12 15:14:57.923118 Event: Connected to Receiver Handler
-On: 2011-09-12 15:14:57.923500 Event: Receiver Handler respond
-On: 2011-09-12 15:14:57.923778 Event: Receiver handler : Ready
-On: 2011-09-12 15:14:57.923874 Event: Start Call
-On: 2011-09-12 15:14:57.924013 Event: Waiting Feedback
-On: 2011-09-12 15:15:03.759917 Event: Test Succeed
-On: 2011-09-12 15:15:08.767952 Event:
-On: 2011-09-12 15:15:08.767974 Event: init Caller
-On: 2011-09-12 15:15:08.767981 Event: sip
-On: 2011-09-12 15:15:10.772022 Event: Connected to Caller Handler
-On: 2011-09-12 15:15:10.772110 Event: Caller Handler respond
-On: 2011-09-12 15:15:10.772874 Event: Caller handler : Ready
-On: 2011-09-12 15:15:10.772931 Event: init Receiver
-On: 2011-09-12 15:15:10.772978 Event: GSMRZ1
-On: 2011-09-12 15:15:12.776245 Event: Connected to Receiver Handler
-On: 2011-09-12 15:15:12.776402 Event: Receiver Handler respond
-On: 2011-09-12 15:15:12.776516 Event: Receiver handler : Ready
-On: 2011-09-12 15:15:12.776531 Event: Start Call
-On: 2011-09-12 15:15:12.776571 Event: Waiting Feedback
-On: 2011-09-12 15:15:17.859927 Event: Test Succeed
-On: 2011-09-12 15:15:22.870540 Event:
-On: 2011-09-12 15:15:22.870574 Event: init Caller
-On: 2011-09-12 15:15:22.870586 Event: sip
-On: 2011-09-12 15:15:24.874805 Event: Connected to Caller Handler
-On: 2011-09-12 15:15:24.874977 Event: Caller Handler respond
-On: 2011-09-12 15:15:24.875254 Event: Caller handler : Ready
-On: 2011-09-12 15:15:24.875271 Event: init Receiver
-On: 2011-09-12 15:15:24.875300 Event: GSMRZ1
-On: 2011-09-12 15:15:26.879108 Event: Connected to Receiver Handler
-On: 2011-09-12 15:15:26.879263 Event: Receiver Handler respond
-On: 2011-09-12 15:15:26.879323 Event: Receiver handler : Ready
-On: 2011-09-12 15:15:26.879337 Event: Start Call
-On: 2011-09-12 15:15:26.879369 Event: Waiting Feedback
-On: 2011-09-12 15:15:31.983910 Event: Test Succeed
-On: 2011-09-12 15:15:37.001318 Event:
-On: 2011-09-12 15:15:37.001398 Event: init Caller
-On: 2011-09-12 15:15:37.001448 Event: sip
-On: 2011-09-12 15:15:39.006943 Event: Connected to Caller Handler
-On: 2011-09-12 15:15:39.007235 Event: Caller Handler respond
-On: 2011-09-12 15:15:39.008401 Event: Caller handler : Ready
-On: 2011-09-12 15:15:39.008444 Event: init Receiver
-On: 2011-09-12 15:15:39.008476 Event: GSMRZ1
-On: 2011-09-12 15:15:41.014150 Event: Connected to Receiver Handler
-On: 2011-09-12 15:15:41.014722 Event: Receiver Handler respond
-On: 2011-09-12 15:15:41.015052 Event: Receiver handler : Ready
-On: 2011-09-12 15:15:41.015117 Event: Start Call
-On: 2011-09-12 15:15:41.015228 Event: Waiting Feedback
-On: 2011-09-12 15:15:46.127890 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:19:33.514645 ------------------
-On: 2011-09-12 15:19:33.514692 Event: init Caller
-On: 2011-09-12 15:19:33.514706 Event: sip
-On: 2011-09-12 15:19:35.518839 Event: Connected to Caller Handler
-On: 2011-09-12 15:19:35.519032 Event: Caller Handler respond
-On: 2011-09-12 15:19:35.519311 Event: Caller handler : Ready
-On: 2011-09-12 15:19:35.519327 Event: init Receiver
-On: 2011-09-12 15:19:35.519337 Event: GSMRZ1
-On: 2011-09-12 15:19:37.524250 Event: Connected to Receiver Handler
-On: 2011-09-12 15:19:37.524477 Event: Receiver Handler respond
-On: 2011-09-12 15:19:37.524745 Event: Receiver handler : Ready
-On: 2011-09-12 15:19:37.524757 Event: Start Call
-On: 2011-09-12 15:19:37.524789 Event: Waiting Feedback
-On: 2011-09-12 15:19:42.659912 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:26:13.009271 ------------------
-On: 2011-09-12 15:26:13.009323 Event: init Caller
-On: 2011-09-12 15:26:13.009338 Event: sip
-On: 2011-09-12 15:26:15.012554 Event: Connected to Caller Handler
-On: 2011-09-12 15:26:15.012763 Event: Caller Handler respond
-On: 2011-09-12 15:26:15.013592 Event: Caller handler : Ready
-On: 2011-09-12 15:26:15.013651 Event: init Receiver
-On: 2011-09-12 15:26:15.013684 Event: GSMRZ1
-On: 2011-09-12 15:26:17.019439 Event: Connected to Receiver Handler
-On: 2011-09-12 15:26:17.020017 Event: Receiver Handler respond
-On: 2011-09-12 15:26:17.020284 Event: Receiver handler : Ready
-On: 2011-09-12 15:26:17.020326 Event: Start Call
-On: 2011-09-12 15:26:17.020416 Event: Waiting Feedback
-On: 2011-09-12 15:26:22.843962 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:27:36.780252 ------------------
-On: 2011-09-12 15:27:36.780297 Event: init Caller
-On: 2011-09-12 15:27:36.780311 Event: sip
-On: 2011-09-12 15:27:38.782983 Event: Connected to Caller Handler
-On: 2011-09-12 15:27:38.783144 Event: Caller Handler respond
-On: 2011-09-12 15:27:38.783469 Event: Caller handler : Ready
-On: 2011-09-12 15:27:38.783485 Event: init Receiver
-On: 2011-09-12 15:27:38.783497 Event: GSMRZ1
-On: 2011-09-12 15:27:40.788420 Event: Connected to Receiver Handler
-On: 2011-09-12 15:27:40.788631 Event: Receiver Handler respond
-On: 2011-09-12 15:27:40.788693 Event: Receiver handler : Ready
-On: 2011-09-12 15:27:40.788707 Event: Start Call
-On: 2011-09-12 15:27:40.788743 Event: Waiting Feedback
-On: 2011-09-12 15:27:46.383940 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:28:25.079719 ------------------
-On: 2011-09-12 15:28:25.079863 Event: init Caller
-On: 2011-09-12 15:28:25.079904 Event: sip
-On: 2011-09-12 15:28:27.084713 Event: Connected to Caller Handler
-On: 2011-09-12 15:28:27.084928 Event: Caller Handler respond
-On: 2011-09-12 15:28:27.085214 Event: Caller handler : Ready
-On: 2011-09-12 15:28:27.085231 Event: init Receiver
-On: 2011-09-12 15:28:27.085266 Event: GSMRZ1
-On: 2011-09-12 15:28:29.089098 Event: Connected to Receiver Handler
-On: 2011-09-12 15:28:29.089321 Event: Receiver Handler respond
-On: 2011-09-12 15:28:29.089394 Event: Receiver handler : Ready
-On: 2011-09-12 15:28:29.089411 Event: Start Call
-On: 2011-09-12 15:28:29.089450 Event: Waiting Feedback
-On: 2011-09-12 15:28:34.667915 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:32:13.440099 ------------------
-On: 2011-09-12 15:32:13.440204 Event: init Caller
-On: 2011-09-12 15:32:13.440235 Event: sip
-On: 2011-09-12 15:32:15.444023 Event: Connected to Caller Handler
-On: 2011-09-12 15:32:15.444129 Event: Caller Handler respond
-On: 2011-09-12 15:32:15.444437 Event: Caller handler : Ready
-On: 2011-09-12 15:32:15.444456 Event: init Receiver
-On: 2011-09-12 15:32:15.444471 Event: GSMRZ1
-On: 2011-09-12 15:32:17.448107 Event: Connected to Receiver Handler
-On: 2011-09-12 15:32:17.448246 Event: Receiver Handler respond
-On: 2011-09-12 15:32:17.448308 Event: Receiver handler : Ready
-On: 2011-09-12 15:32:17.448322 Event: Start Call
-On: 2011-09-12 15:32:17.448357 Event: Waiting Feedback
-On: 2011-09-12 15:32:23.207912 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:35:08.100387 ------------------
-On: 2011-09-12 15:35:08.100419 Event: init Caller
-On: 2011-09-12 15:35:08.100428 Event: sip
-On: 2011-09-12 15:35:10.104745 Event: Connected to Caller Handler
-On: 2011-09-12 15:35:10.104964 Event: Caller Handler respond
-On: 2011-09-12 15:35:10.105834 Event: Caller handler : Ready
-On: 2011-09-12 15:35:10.105898 Event: init Receiver
-On: 2011-09-12 15:35:10.105932 Event: GSMRZ1
-On: 2011-09-12 15:35:12.110002 Event: Connected to Receiver Handler
-On: 2011-09-12 15:35:12.110443 Event: Receiver Handler respond
-On: 2011-09-12 15:35:12.110680 Event: Receiver handler : Ready
-On: 2011-09-12 15:35:12.110734 Event: Start Call
-On: 2011-09-12 15:35:12.110858 Event: Waiting Feedback
-On: 2011-09-12 15:35:17.147916 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:44:47.298852 ------------------
-On: 2011-09-12 15:44:47.298992 Event: init Caller
-On: 2011-09-12 15:44:47.299047 Event: sip
-On: 2011-09-12 15:44:49.310051 Event: Connected to Caller Handler
-On: 2011-09-12 15:44:49.310150 Event: Caller Handler respond
-On: 2011-09-12 15:44:49.310425 Event: Caller handler : Ready
-On: 2011-09-12 15:44:49.310441 Event: init Receiver
-On: 2011-09-12 15:44:49.310453 Event: GSMRZ1
-On: 2011-09-12 15:44:51.312180 Event: Connected to Receiver Handler
-On: 2011-09-12 15:44:51.312382 Event: Receiver Handler respond
-On: 2011-09-12 15:44:51.312452 Event: Receiver handler : Ready
-On: 2011-09-12 15:44:51.312463 Event: Start Call
-On: 2011-09-12 15:44:51.312488 Event: Waiting Feedback
-On: 2011-09-12 15:44:56.207969 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:45:56.339850 ------------------
-On: 2011-09-12 15:45:56.339891 Event: init Caller
-On: 2011-09-12 15:45:56.339905 Event: sip
-On: 2011-09-12 15:45:58.344175 Event: Connected to Caller Handler
-On: 2011-09-12 15:45:58.344273 Event: Caller Handler respond
-On: 2011-09-12 15:45:58.344554 Event: Caller handler : Ready
-On: 2011-09-12 15:45:58.344569 Event: init Receiver
-On: 2011-09-12 15:45:58.344580 Event: GSMRZ1
-On: 2011-09-12 15:46:00.348151 Event: Connected to Receiver Handler
-On: 2011-09-12 15:46:00.348300 Event: Receiver Handler respond
-On: 2011-09-12 15:46:00.348411 Event: Receiver handler : Ready
-On: 2011-09-12 15:46:00.348425 Event: Start Call
-On: 2011-09-12 15:46:00.348459 Event: Waiting Feedback
-On: 2011-09-12 15:46:05.651926 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:47:38.080001 ------------------
-On: 2011-09-12 15:47:38.080043 Event: init Caller
-On: 2011-09-12 15:47:38.080056 Event: sip
-On: 2011-09-12 15:47:40.082968 Event: Connected to Caller Handler
-On: 2011-09-12 15:47:40.083282 Event: Caller Handler respond
-On: 2011-09-12 15:47:40.084342 Event: Caller handler : Ready
-On: 2011-09-12 15:47:40.084404 Event: init Receiver
-On: 2011-09-12 15:47:40.084458 Event: GSMRZ1
-On: 2011-09-12 15:47:42.088511 Event: Connected to Receiver Handler
-On: 2011-09-12 15:47:42.088738 Event: Receiver Handler respond
-On: 2011-09-12 15:47:42.088900 Event: Receiver handler : Ready
-On: 2011-09-12 15:47:42.088955 Event: Start Call
-On: 2011-09-12 15:47:42.089086 Event: Waiting Feedback
-On: 2011-09-12 15:47:47.091912 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:53:45.383372 ------------------
-On: 2011-09-12 15:53:45.383404 Event: init Caller
-On: 2011-09-12 15:53:45.383413 Event: sip
-On: 2011-09-12 15:53:47.386626 Event: Connected to Caller Handler
-On: 2011-09-12 15:53:57.386765 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:54:15.000416 ------------------
-On: 2011-09-12 15:54:15.000458 Event: init Caller
-On: 2011-09-12 15:54:15.000471 Event: sip
-On: 2011-09-12 15:54:17.012378 Event: Connected to Caller Handler
-On: 2011-09-12 15:54:27.012517 Event: 999 General Handler Error: Could not connect to Caller handler
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:55:01.248710 ------------------
-On: 2011-09-12 15:55:01.248776 Event: init Caller
-On: 2011-09-12 15:55:01.248793 Event: sip
-On: 2011-09-12 15:55:03.252890 Event: Connected to Caller Handler
-On: 2011-09-12 15:55:03.253437 Event: Caller Handler respond
-On: 2011-09-12 15:55:03.254690 Event: Caller handler : Ready
-On: 2011-09-12 15:55:03.254744 Event: init Receiver
-On: 2011-09-12 15:55:03.254787 Event: GSMRZ1
-On: 2011-09-12 15:55:05.261160 Event: Connected to Receiver Handler
-On: 2011-09-12 15:55:05.261551 Event: Receiver Handler respond
-On: 2011-09-12 15:55:05.261744 Event: Receiver handler : Ready
-On: 2011-09-12 15:55:05.261788 Event: Start Call
-On: 2011-09-12 15:55:05.261885 Event: Waiting Feedback
-On: 2011-09-12 15:55:10.551910 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 15:57:53.185530 ------------------
-On: 2011-09-12 15:57:53.185580 Event: init Caller
-On: 2011-09-12 15:57:53.185593 Event: sip
-On: 2011-09-12 15:57:55.190881 Event: Connected to Caller Handler
-On: 2011-09-12 15:57:55.191202 Event: Caller Handler respond
-On: 2011-09-12 15:57:55.192219 Event: Caller handler : Ready
-On: 2011-09-12 15:57:55.192280 Event: init Receiver
-On: 2011-09-12 15:57:55.192316 Event: GSMRZ1
-On: 2011-09-12 15:57:57.197288 Event: Connected to Receiver Handler
-On: 2011-09-12 15:57:57.197451 Event: Receiver Handler respond
-On: 2011-09-12 15:57:57.197521 Event: Receiver handler : Ready
-On: 2011-09-12 15:57:57.197536 Event: Start Call
-On: 2011-09-12 15:57:57.197587 Event: Waiting Feedback
-On: 2011-09-12 15:58:02.635903 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:02:31.594819 ------------------
-On: 2011-09-12 16:02:31.594942 Event: init Caller
-On: 2011-09-12 16:02:31.594997 Event: sip
-On: 2011-09-12 16:02:33.598064 Event: Connected to Caller Handler
-On: 2011-09-12 16:02:33.598239 Event: Caller Handler respond
-On: 2011-09-12 16:02:33.598680 Event: Caller handler : Ready
-On: 2011-09-12 16:02:33.598708 Event: init Receiver
-On: 2011-09-12 16:02:33.598742 Event: GSMRZ1
-On: 2011-09-12 16:02:35.604197 Event: Connected to Receiver Handler
-On: 2011-09-12 16:02:35.604461 Event: Receiver Handler respond
-On: 2011-09-12 16:02:35.604629 Event: Receiver handler : Ready
-On: 2011-09-12 16:02:35.604655 Event: Start Call
-On: 2011-09-12 16:02:35.604691 Event: Waiting Feedback
-On: 2011-09-12 16:02:41.331907 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:05:09.592109 ------------------
-On: 2011-09-12 16:05:09.592184 Event: init Caller
-On: 2011-09-12 16:05:09.592212 Event: sip
-On: 2011-09-12 16:05:11.597239 Event: Connected to Caller Handler
-On: 2011-09-12 16:05:11.597538 Event: Caller Handler respond
-On: 2011-09-12 16:05:11.597994 Event: Caller handler : Ready
-On: 2011-09-12 16:05:11.598009 Event: init Receiver
-On: 2011-09-12 16:05:11.598018 Event: GSMRZ1
-On: 2011-09-12 16:05:13.603519 Event: Connected to Receiver Handler
-On: 2011-09-12 16:05:13.603802 Event: Receiver Handler respond
-On: 2011-09-12 16:05:13.604119 Event: Receiver handler : Ready
-On: 2011-09-12 16:05:13.604157 Event: Start Call
-On: 2011-09-12 16:05:13.604232 Event: Waiting Feedback
-On: 2011-09-12 16:05:19.495916 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:08:29.324953 ------------------
-On: 2011-09-12 16:08:29.325061 Event: init Caller
-On: 2011-09-12 16:08:29.325100 Event: sip
-On: 2011-09-12 16:08:31.332587 Event: Connected to Caller Handler
-On: 2011-09-12 16:08:31.332869 Event: Caller Handler respond
-On: 2011-09-12 16:08:31.333704 Event: Caller handler : Ready
-On: 2011-09-12 16:08:31.333740 Event: init Receiver
-On: 2011-09-12 16:08:31.333763 Event: GSMRZ1
-On: 2011-09-12 16:08:33.337712 Event: Connected to Receiver Handler
-On: 2011-09-12 16:08:33.337854 Event: Receiver Handler respond
-On: 2011-09-12 16:08:33.337919 Event: Receiver handler : Ready
-On: 2011-09-12 16:08:33.337934 Event: Start Call
-On: 2011-09-12 16:08:33.337972 Event: Waiting Feedback
-On: 2011-09-12 16:08:39.355884 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:11:31.945294 ------------------
-On: 2011-09-12 16:11:31.945341 Event: init Caller
-On: 2011-09-12 16:11:31.945355 Event: sip
-On: 2011-09-12 16:11:33.948245 Event: Connected to Caller Handler
-On: 2011-09-12 16:11:33.948388 Event: Caller Handler respond
-On: 2011-09-12 16:11:33.948742 Event: Caller handler : Ready
-On: 2011-09-12 16:11:33.948756 Event: init Receiver
-On: 2011-09-12 16:11:33.948767 Event: GSMRZ1
-On: 2011-09-12 16:11:35.951477 Event: Connected to Receiver Handler
-On: 2011-09-12 16:11:35.952027 Event: Receiver Handler respond
-On: 2011-09-12 16:11:35.952446 Event: Receiver handler : Ready
-On: 2011-09-12 16:11:35.952518 Event: Start Call
-On: 2011-09-12 16:11:35.952658 Event: Waiting Feedback
-On: 2011-09-12 16:11:41.543987 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:12:10.887381 ------------------
-On: 2011-09-12 16:12:10.887486 Event: init Caller
-On: 2011-09-12 16:12:10.887519 Event: sip
-On: 2011-09-12 16:12:12.899399 Event: Connected to Caller Handler
-On: 2011-09-12 16:12:12.899678 Event: Caller Handler respond
-On: 2011-09-12 16:12:12.900753 Event: Caller handler : Ready
-On: 2011-09-12 16:12:12.900831 Event: init Receiver
-On: 2011-09-12 16:12:12.900841 Event: GSMRZ1
-On: 2011-09-12 16:12:14.905413 Event: Connected to Receiver Handler
-On: 2011-09-12 16:12:14.905713 Event: Receiver Handler respond
-On: 2011-09-12 16:12:14.905898 Event: Receiver handler : Ready
-On: 2011-09-12 16:12:14.905938 Event: Start Call
-On: 2011-09-12 16:12:14.905995 Event: Waiting Feedback
-On: 2011-09-12 16:12:20.399932 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:15:14.715723 ------------------
-On: 2011-09-12 16:15:14.715756 Event: init Caller
-On: 2011-09-12 16:15:14.715766 Event: sip
-On: 2011-09-12 16:15:16.718783 Event: Connected to Caller Handler
-On: 2011-09-12 16:15:16.718887 Event: Caller Handler respond
-On: 2011-09-12 16:15:16.719163 Event: Caller handler : Ready
-On: 2011-09-12 16:15:16.719180 Event: init Receiver
-On: 2011-09-12 16:15:16.719193 Event: GSMRZ1
-On: 2011-09-12 16:15:18.724543 Event: Connected to Receiver Handler
-On: 2011-09-12 16:15:18.724972 Event: Receiver Handler respond
-On: 2011-09-12 16:15:18.725288 Event: Receiver handler : Ready
-On: 2011-09-12 16:15:18.725334 Event: Start Call
-On: 2011-09-12 16:15:18.725438 Event: Waiting Feedback
-On: 2011-09-12 16:15:23.999909 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:18:24.801300 ------------------
-On: 2011-09-12 16:18:24.801410 Event: init Caller
-On: 2011-09-12 16:18:24.801442 Event: sip
-On: 2011-09-12 16:18:26.806305 Event: Connected to Caller Handler
-On: 2011-09-12 16:18:26.806389 Event: Caller Handler respond
-On: 2011-09-12 16:18:26.806726 Event: Caller handler : Ready
-On: 2011-09-12 16:18:26.806739 Event: init Receiver
-On: 2011-09-12 16:18:26.806748 Event: GSMRZ1
-On: 2011-09-12 16:18:28.809700 Event: Connected to Receiver Handler
-On: 2011-09-12 16:18:28.809995 Event: Receiver Handler respond
-On: 2011-09-12 16:18:28.810132 Event: Receiver handler : Ready
-On: 2011-09-12 16:18:28.810157 Event: Start Call
-On: 2011-09-12 16:18:28.810209 Event: Waiting Feedback
-On: 2011-09-12 16:18:34.635897 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:18:58.791058 ------------------
-On: 2011-09-12 16:18:58.791109 Event: init Caller
-On: 2011-09-12 16:18:58.791122 Event: sip
-On: 2011-09-12 16:19:00.794608 Event: Connected to Caller Handler
-On: 2011-09-12 16:19:00.794868 Event: Caller Handler respond
-On: 2011-09-12 16:19:00.795590 Event: Caller handler : Ready
-On: 2011-09-12 16:19:00.795639 Event: init Receiver
-On: 2011-09-12 16:19:00.795683 Event: GSMRZ1
-On: 2011-09-12 16:19:02.800546 Event: Connected to Receiver Handler
-On: 2011-09-12 16:19:02.800692 Event: Receiver Handler respond
-On: 2011-09-12 16:19:02.800750 Event: Receiver handler : Ready
-On: 2011-09-12 16:19:02.800764 Event: Start Call
-On: 2011-09-12 16:19:02.800799 Event: Waiting Feedback
-On: 2011-09-12 16:19:07.579909 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:20:40.718551 ------------------
-On: 2011-09-12 16:20:40.718585 Event: init Caller
-On: 2011-09-12 16:20:40.718594 Event: sip
-On: 2011-09-12 16:20:42.723573 Event: Connected to Caller Handler
-On: 2011-09-12 16:20:42.723900 Event: Caller Handler respond
-On: 2011-09-12 16:20:42.724823 Event: Caller handler : Ready
-On: 2011-09-12 16:20:42.724882 Event: init Receiver
-On: 2011-09-12 16:20:42.724915 Event: GSMRZ1
-On: 2011-09-12 16:20:44.730847 Event: Connected to Receiver Handler
-On: 2011-09-12 16:20:44.731339 Event: Receiver Handler respond
-On: 2011-09-12 16:20:44.731596 Event: Receiver handler : Ready
-On: 2011-09-12 16:20:44.731655 Event: Start Call
-On: 2011-09-12 16:20:44.731790 Event: Waiting Feedback
-On: 2011-09-12 16:20:49.983881 Event: Test Succeed
-
-
-------------------STARTED THE LOGGING 2011-09-12 16:23:21.764250 ------------------
-On: 2011-09-12 16:23:21.764356 Event: init Caller
-On: 2011-09-12 16:23:21.764389 Event: sip
-On: 2011-09-12 16:23:23.769985 Event: Connected to Caller Handler
-On: 2011-09-12 16:23:23.770303 Event: Caller Handler respond
-On: 2011-09-12 16:23:23.771161 Event: Caller handler : Ready
-On: 2011-09-12 16:23:23.771218 Event: init Receiver
-On: 2011-09-12 16:23:23.771253 Event: GSMRZ1
-On: 2011-09-12 16:23:25.775726 Event: Connected to Receiver Handler
-On: 2011-09-12 16:23:25.776442 Event: Receiver Handler respond
-On: 2011-09-12 16:23:25.776696 Event: Receiver handler : Ready
-On: 2011-09-12 16:23:25.776754 Event: Start Call
-On: 2011-09-12 16:23:25.776887 Event: Waiting Feedback
-On: 2011-09-12 16:23:31.215906 Event: Test Succeed
diff --git a/notFinishedCode/tricode/University SIP handler.log b/notFinishedCode/tricode/University SIP handler.log
deleted file mode 100755
index 719aa51..0000000
--- a/notFinishedCode/tricode/University SIP handler.log
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:04:32.304692 ------------------
-On: 2011-09-02 13:04:32.326564 Event: try to Connect to Controller
-On: 2011-09-02 13:04:33.594674 Event: init state
-On: 2011-09-02 13:04:33.594893 Event: Register Account to SIP server
-On: 2011-09-02 13:04:33.595281 Event: 100
-On: 2011-09-02 13:04:33.595360 Event: Receiver Handler Ready
-On: 2011-09-02 13:04:33.595726 Event: RECEIVE START
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:09:15.977494 ------------------
-On: 2011-09-02 13:09:15.998474 Event: try to Connect to Controller
-On: 2011-09-02 13:09:17.258282 Event: init state
-On: 2011-09-02 13:09:17.258513 Event: Register Account to SIP server
-On: 2011-09-02 13:09:17.258914 Event: 100
-On: 2011-09-02 13:09:17.258990 Event: Receiver Handler Ready
-On: 2011-09-02 13:09:17.259293 Event: RECEIVE START
-On: 2011-09-02 13:09:20.302293 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-02 13:09:20.302735 Event: Call Connecting
-On: 2011-09-02 13:09:20.302771 Event: 200
-On: 2011-09-02 13:09:20.302916 Event: Answer call
-On: 2011-09-02 13:09:20.302948 Event: Hangup call
-On: 2011-09-02 13:09:20.303101 Event: CALL OK
-On: 2011-09-02 13:09:20.318751 Event: Terminate
-On: 2011-09-02 13:09:20.318809 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-02 13:15:53.384248 ------------------
-On: 2011-09-02 13:15:53.404888 Event: try to Connect to Controller
-On: 2011-09-02 13:15:54.645917 Event: init state
-On: 2011-09-02 13:15:54.646162 Event: Register Account to SIP server
-On: 2011-09-02 13:15:54.646926 Event: 100
-On: 2011-09-02 13:15:54.647006 Event: Receiver Handler Ready
-On: 2011-09-02 13:15:54.647317 Event: RECEIVE START
-On: 2011-09-02 13:15:57.703829 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-02 13:15:57.704282 Event: Call Connecting
-On: 2011-09-02 13:15:57.704321 Event: 200
-On: 2011-09-02 13:15:57.704467 Event: Answer call
-On: 2011-09-02 13:15:57.704499 Event: Hangup call
-On: 2011-09-02 13:15:57.704653 Event: CALL OK
-On: 2011-09-02 13:15:57.762627 Event: Terminate
-On: 2011-09-02 13:15:57.762682 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:04:29.084275 ------------------
-On: 2011-09-09 12:04:29.105612 Event: try to Connect to Controller
-On: 2011-09-09 12:04:30.392727 Event: init state
-On: 2011-09-09 12:04:30.392956 Event: Register Account to SIP server
-On: 2011-09-09 12:04:30.393369 Event: 100
-On: 2011-09-09 12:04:30.393492 Event: Receiver Handler Ready
-On: 2011-09-09 12:04:30.393794 Event: RECEIVE START
-On: 2011-09-09 12:04:33.406739 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:04:33.407190 Event: Call Connecting
-On: 2011-09-09 12:04:33.407228 Event: 200
-On: 2011-09-09 12:04:33.407372 Event: Answer call
-On: 2011-09-09 12:04:33.407404 Event: Hangup call
-On: 2011-09-09 12:04:33.407554 Event: CALL OK
-On: 2011-09-09 12:04:33.442980 Event: Terminate
-On: 2011-09-09 12:04:33.443020 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:46:21.313738 ------------------
-On: 2011-09-09 12:46:21.334312 Event: try to Connect to Controller
-On: 2011-09-09 12:46:22.544750 Event: init state
-On: 2011-09-09 12:46:22.544990 Event: Register Account to SIP server
-On: 2011-09-09 12:46:22.545449 Event: 100
-On: 2011-09-09 12:46:22.545533 Event: Receiver Handler Ready
-On: 2011-09-09 12:46:22.545841 Event: RECEIVE START
-On: 2011-09-09 12:46:25.582830 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:46:25.583290 Event: Call Connecting
-On: 2011-09-09 12:46:25.583330 Event: 200
-On: 2011-09-09 12:46:25.583479 Event: Answer call
-On: 2011-09-09 12:46:25.583511 Event: Hangup call
-On: 2011-09-09 12:46:25.583669 Event: CALL OK
-On: 2011-09-09 12:46:25.621186 Event: Terminate
-On: 2011-09-09 12:46:25.621244 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:49:48.195086 ------------------
-On: 2011-09-09 12:49:48.215338 Event: try to Connect to Controller
-On: 2011-09-09 12:49:49.490355 Event: init state
-On: 2011-09-09 12:49:49.490592 Event: Register Account to SIP server
-On: 2011-09-09 12:49:49.491014 Event: 100
-On: 2011-09-09 12:49:49.491099 Event: Receiver Handler Ready
-On: 2011-09-09 12:49:49.491411 Event: RECEIVE START
-On: 2011-09-09 12:49:52.517371 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 12:49:52.517908 Event: Call Connecting
-On: 2011-09-09 12:49:52.517951 Event: 200
-On: 2011-09-09 12:49:52.518098 Event: Answer call
-On: 2011-09-09 12:49:52.518129 Event: Hangup call
-On: 2011-09-09 12:49:52.518284 Event: CALL OK
-On: 2011-09-09 12:49:52.570535 Event: Terminate
-On: 2011-09-09 12:49:52.570596 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 12:50:14.891424 ------------------
-On: 2011-09-09 12:50:14.936914 Event: try to Connect to Controller
-On: 2011-09-09 12:50:16.124750 Event: init state
-On: 2011-09-09 12:50:16.124983 Event: Register Account to SIP server
-On: 2011-09-09 12:50:16.125436 Event: 100
-On: 2011-09-09 12:50:16.125523 Event: Receiver Handler Ready
-On: 2011-09-09 12:50:16.129709 Event: RECEIVE START
-On: 2011-09-09 12:50:18.370496 Event: {Call "RZ-GSM" <sip:4661447@132.230.252.228>}
-On: 2011-09-09 12:50:18.370955 Event: Call Connecting
-On: 2011-09-09 12:50:18.370992 Event: 200
-On: 2011-09-09 12:50:18.371140 Event: Answer call
-On: 2011-09-09 12:50:18.371172 Event: Hangup call
-On: 2011-09-09 12:50:18.371328 Event: CALL OK
-On: 2011-09-09 12:50:18.472220 Event: Call Disconnected
-On: 2011-09-09 12:50:19.921802 Event: Terminate
-On: 2011-09-09 12:50:19.921842 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:07:32.278782 ------------------
-On: 2011-09-09 13:07:32.299423 Event: try to Connect to Controller
-On: 2011-09-09 13:07:33.590429 Event: init state
-On: 2011-09-09 13:07:33.590655 Event: Register Account to SIP server
-On: 2011-09-09 13:07:33.591069 Event: 100
-On: 2011-09-09 13:07:33.591151 Event: Receiver Handler Ready
-On: 2011-09-09 13:07:33.591458 Event: RECEIVE START
-On: 2011-09-09 13:07:36.649672 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 13:07:36.650122 Event: Call Connecting
-On: 2011-09-09 13:07:36.650161 Event: 200
-On: 2011-09-09 13:07:36.650309 Event: Answer call
-On: 2011-09-09 13:07:36.650340 Event: Hangup call
-On: 2011-09-09 13:07:36.650497 Event: CALL OK
-On: 2011-09-09 13:07:36.678333 Event: Terminate
-On: 2011-09-09 13:07:36.678394 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 13:08:00.165614 ------------------
-On: 2011-09-09 13:08:00.186025 Event: try to Connect to Controller
-On: 2011-09-09 13:08:01.398081 Event: init state
-On: 2011-09-09 13:08:01.398313 Event: Register Account to SIP server
-On: 2011-09-09 13:08:01.398714 Event: 100
-On: 2011-09-09 13:08:01.398800 Event: Receiver Handler Ready
-On: 2011-09-09 13:08:01.401705 Event: RECEIVE START
-On: 2011-09-09 13:08:03.207171 Event: {Call "RZ-GSM" <sip:4661447@132.230.252.228>}
-On: 2011-09-09 13:08:03.207631 Event: Call Connecting
-On: 2011-09-09 13:08:03.207667 Event: 200
-On: 2011-09-09 13:08:03.207816 Event: Answer call
-On: 2011-09-09 13:08:03.207847 Event: Hangup call
-On: 2011-09-09 13:08:03.208004 Event: CALL OK
-On: 2011-09-09 13:08:03.309111 Event: Call Disconnected
-On: 2011-09-09 13:08:04.657806 Event: Terminate
-On: 2011-09-09 13:08:04.657845 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 16:28:02.715191 ------------------
-On: 2011-09-09 16:28:02.735656 Event: try to Connect to Controller
-On: 2011-09-09 16:28:04.050616 Event: init state
-On: 2011-09-09 16:28:04.050846 Event: Register Account to SIP server
-On: 2011-09-09 16:28:04.051267 Event: 100
-On: 2011-09-09 16:28:04.051354 Event: Receiver Handler Ready
-On: 2011-09-09 16:28:04.051668 Event: RECEIVE START
-On: 2011-09-09 16:28:07.090304 Event: {Call "mpselftest1" <sip:4661928@132.230.252.228>}
-On: 2011-09-09 16:28:07.090768 Event: Call Connecting
-On: 2011-09-09 16:28:07.090805 Event: 200
-On: 2011-09-09 16:28:07.090952 Event: Answer call
-On: 2011-09-09 16:28:07.090983 Event: Hangup call
-On: 2011-09-09 16:28:07.091140 Event: CALL OK
-On: 2011-09-09 16:28:07.103922 Event: Terminate
-On: 2011-09-09 16:28:07.103986 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:01.714588 ------------------
-On: 2011-09-09 21:08:01.735512 Event: try to Connect to Controller
-On: 2011-09-09 21:08:02.981051 Event: init state
-On: 2011-09-09 21:08:02.981281 Event: Register Account to SIP server
-On: 2011-09-09 21:08:02.981731 Event: 100
-On: 2011-09-09 21:08:02.981817 Event: Caller Handler Ready
-On: 2011-09-09 21:08:04.986563 Event: Terminate
-On: 2011-09-09 21:08:04.986601 Event: Goodbye
-
-
-------------------STARTED THE LOGGING 2011-09-09 21:08:54.198907 ------------------
-On: 2011-09-09 21:08:54.219863 Event: try to Connect to Controller
-On: 2011-09-09 21:08:55.451295 Event: init state
-On: 2011-09-09 21:08:55.451563 Event: Register Account to SIP server
-On: 2011-09-09 21:08:55.451977 Event: 100
-On: 2011-09-09 21:08:55.452058 Event: Caller Handler Ready
-On: 2011-09-09 21:08:57.466097 Event: Terminate
-On: 2011-09-09 21:08:57.466137 Event: Goodbye
diff --git a/notFinishedCode/tricode/class/pBarcode128.class.php b/notFinishedCode/tricode/class/pBarcode128.class.php
deleted file mode 100644
index 07f5db8..0000000
--- a/notFinishedCode/tricode/class/pBarcode128.class.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
- /*
- pBarcode128 - class to create barcodes (128B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode128
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
-
- /* Class creator */
- function pBarcode128($BasePath="")
- {
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/128B.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."128B.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[1]]["ID"] = $Values[0];
- $this->Codes[$Values[1]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Asc"] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode128($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- function encode128($Value,$Format="")
- {
- $this->Result = "11010010000";
- $this->CRC = 104;
- $TextString = "";
-
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( isset($this->Codes[$CharCode]) )
- {
- $this->Result = $this->Result.$this->Codes[$CharCode]["Code"];
- $this->CRC = $this->CRC + $i*$this->Codes[$CharCode]["ID"];
- $TextString = $TextString.chr($CharCode);
- }
- }
- $this->CRC = $this->CRC - floor($this->CRC/103)*103;
-
- $this->Result = $this->Result.$this->Reverse[$this->CRC]["Code"];
- $this->Result = $this->Result."1100011101011";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode128($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pBarcode39.class.php b/notFinishedCode/tricode/class/pBarcode39.class.php
deleted file mode 100644
index 8d57b71..0000000
--- a/notFinishedCode/tricode/class/pBarcode39.class.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
- /*
- pBarcode39 - class to create barcodes (39B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode39
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
- var $MOD43;
-
- /* Class creator */
- function pBarcode39($BasePath="",$EnableMOD43=FALSE)
- {
- $this->MOD43 = $EnableMOD43;
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/39.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."data/39.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[0]] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode39($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- /* Create the encoded string */
- function encode39($Value)
- {
- $this->Result = "100101101101"."0";
- $TextString = "";
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( $CharCode >= 97 && $CharCode <= 122 ) { $CharCode = $CharCode - 32; }
-
- if ( isset($this->Codes[chr($CharCode)]) )
- {
- $this->Result = $this->Result.$this->Codes[chr($CharCode)]."0";
- $TextString = $TextString.chr($CharCode);
- }
- }
-
- if ( $this->MOD43 )
- {
- $Checksum = $this->checksum($TextString);
- $this->Result = $this->Result.$this->Codes[$Checksum]."0";
- }
-
- $this->Result = $this->Result."100101101101";
- $TextString = "*".$TextString."*";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode39($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function checksum( $string )
- {
- $checksum = 0;
- $length = strlen( $string );
- $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';
-
- for( $i=0; $i < $length; ++$i )
- $checksum += strpos( $charset, $string[$i] );
-
- return substr( $charset, ($checksum % 43), 1 );
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pBubble.class.php b/notFinishedCode/tricode/class/pBubble.class.php
deleted file mode 100644
index 483a1f3..0000000
--- a/notFinishedCode/tricode/class/pBubble.class.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
- /*
- pBubble - class to draw bubble charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pBubble class definition */
- class pBubble
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pBubble($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function bubbleScale($DataSeries,$WeightSeries)
- {
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- /* Parse each data series to find the new min & max boundaries to scale */
- $NewPositiveSerie = ""; $NewNegativeSerie = ""; $MaxValues = 0; $LastPositive = 0; $LastNegative = 0;
- foreach($DataSeries as $Key => $SerieName)
- {
- $SerieWeightName = $WeightSeries[$Key];
-
- $this->pDataObject->setSerieDrawable($SerieWeightName,FALSE);
-
- if ( count($this->pDataObject->Data["Series"][$SerieName]["Data"]) > $MaxValues ) { $MaxValues = count($this->pDataObject->Data["Series"][$SerieName]["Data"]); }
-
- foreach($this->pDataObject->Data["Series"][$SerieName]["Data"] as $Key => $Value)
- {
- if ( $Value >= 0 )
- {
- $BubbleBounds = $Value + $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewPositiveSerie[$Key]) )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
- elseif ( $NewPositiveSerie[$Key] < $BubbleBounds )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
-
- $LastPositive = $BubbleBounds;
- }
- else
- {
- $BubbleBounds = $Value - $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewNegativeSerie[$Key]) )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
- elseif ( $NewNegativeSerie[$Key] > $BubbleBounds )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
-
- $LastNegative = $BubbleBounds;
- }
- }
- }
-
- /* Check for missing values and all the fake positive serie */
- if ( $NewPositiveSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewPositiveSerie[$i])) { $NewPositiveSerie[$i] = $LastPositive; } }
-
- $this->pDataObject->addPoints($NewPositiveSerie,"BubbleFakePositiveSerie");
- }
-
- /* Check for missing values and all the fake negative serie */
- if ( $NewNegativeSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewNegativeSerie[$i])) { $NewNegativeSerie[$i] = $LastNegative; } }
-
- $this->pDataObject->addPoints($NewNegativeSerie,"BubbleFakeNegativeSerie");
- }
- }
-
- function resetSeriesColors()
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $ID = 0;
- foreach($Data["Series"] as $SerieName => $SeriesParameters)
- {
- if ( $SeriesParameters["isDrawable"] )
- {
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["R"] = $Palette[$ID]["R"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["G"] = $Palette[$ID]["G"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["B"] = $Palette[$ID]["B"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["Alpha"] = $Palette[$ID]["Alpha"];
- $ID++;
- }
- }
- }
-
- /* Prepare the scale */
- function drawBubbleChart($DataSeries,$WeightSeries,$Format="")
- {
- $ForceAlpha = isset($Format["ForceAlpha"]) ? $Format["ForceAlpha"] : VOID;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $DrawSquare = isset($Format["DrawSquare"]) ? $Format["DrawSquare"] : FALSE;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( isset($Data["Series"]["BubbleFakePositiveSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakePositiveSerie",FALSE); }
- if ( isset($Data["Series"]["BubbleFakeNegativeSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakeNegativeSerie",FALSE); }
-
- $this->resetSeriesColors();
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- foreach($DataSeries as $Key => $SerieName)
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Data["Series"][$SerieName]["Description"])) { $SerieDescription = $Data["Series"][$SerieName]["Description"]; } else { $SerieDescription = $SerieName; }
-
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"]);
-
- if ( $ForceAlpha != VOID ) { $Color["Alpha"]=$ForceAlpha; }
-
- if ( $DrawBorder )
- {
- $Color["BorderAlpha"] = $BorderAlpha;
-
- if ( $Surrounding != NULL )
- { $Color["BorderR"] = $Palette[$Key]["R"]+$Surrounding; $Color["BorderG"] = $Palette[$Key]["G"]+$Surrounding; $Color["BorderB"] = $Palette[$Key]["B"]+$Surrounding; }
- else
- { $Color["BorderR"] = $BorderR; $Color["BorderG"] = $BorderG; $Color["BorderB"] = $BorderB; }
-
- if ( $ForceAlpha != VOID ) { $Color["BorderAlpha"] = $ForceAlpha/2; }
- }
-
- foreach($Data["Series"][$SerieName]["Data"] as $iKey => $Point)
- {
- $Weight = $Point + $Data["Series"][$WeightSeries[$Key]]["Data"][$iKey];
-
- $PosArray = $this->pChartObject->scaleComputeY($Point,array("AxisID"=>$AxisID));
- $WeightArray = $this->pChartObject->scaleComputeY($Weight,array("AxisID"=>$AxisID));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
- $Y = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
- $X = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-
- function writeBubbleLabel($SerieName,$SerieWeightName,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[] = $Point; }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !isset($Data["Series"][$SerieName]) || !isset($Data["Series"][$SerieWeightName]) )
- return(0);
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Data["Series"][$SerieName]["Color"]["R"],"G"=>$Data["Series"][$SerieName]["Color"]["G"],"B"=>$Data["Series"][$SerieName]["Color"]["B"],"Alpha"=>$Data["Series"][$SerieName]["Color"]["Alpha"]);
-
- foreach($Points as $Key => $Point)
- {
- $Value = $Data["Series"][$SerieName]["Data"][$Point];
- $PosArray = $this->pChartObject->scaleComputeY($Value,array("AxisID"=>$AxisID));
-
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Point]) )
- $Abscissa = $Data["Series"][$Data["Abscissa"]]["Data"][$Point]." : ";
- else
- $Abscissa = "";
-
- $Value = $this->pChartObject->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
- $Weight = $Data["Series"][$SerieWeightName]["Data"][$Point];
- $Caption = $Abscissa.$Value." / ".$Weight;
-
- if ( isset($Data["Series"][$SerieName]["Description"]) )
- $Description = $Data["Series"][$SerieName]["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Color,"Caption"=>$Caption);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- $X = floor($X + $Point * $XStep);
- $Y = floor($PosArray);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $X = floor($PosArray);
- $Y = floor($Y + $Point * $YStep);
- }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pCache.class.php b/notFinishedCode/tricode/class/pCache.class.php
deleted file mode 100644
index 07d1d4e..0000000
--- a/notFinishedCode/tricode/class/pCache.class.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
- /*
- pCache - speed up the rendering by caching up the pictures
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pCache
- {
- var $CacheFolder;
- var $CacheIndex;
- var $CacheDB;
-
- /* Class creator */
- function pCache($Settings="")
- {
- $CacheFolder = isset($Settings["CacheFolder"]) ? $Settings["CacheFolder"] : "cache";
- $CacheIndex = isset($Settings["CacheIndex"]) ? $Settings["CacheIndex"] : "index.db";
- $CacheDB = isset($Settings["CacheDB"]) ? $Settings["CacheDB"] : "cache.db";
-
- $this->CacheFolder = $CacheFolder;
- $this->CacheIndex = $CacheIndex;
- $this->CacheDB = $CacheDB;
-
- if (!file_exists($this->CacheFolder."/".$this->CacheIndex)) { touch($this->CacheFolder."/".$this->CacheIndex); }
- if (!file_exists($this->CacheFolder."/".$this->CacheDB)) { touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Flush the cache contents */
- function flush()
- {
- if (file_exists($this->CacheFolder."/".$this->CacheIndex)) { unlink($this->CacheFolder."/".$this->CacheIndex); touch($this->CacheFolder."/".$this->CacheIndex); }
- if (file_exists($this->CacheFolder."/".$this->CacheDB)) { unlink($this->CacheFolder."/".$this->CacheDB); touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Return the MD5 of the data array to clearly identify the chart */
- function getHash($Data,$Marker="")
- { return(md5($Marker.serialize($Data->Data))); }
-
- /* Write the generated picture to the cache */
- function writeToCache($ID,$pChartObject)
- {
- /* Compute the paths */
- $TemporaryFile = $this->CacheFolder."/tmp_".rand(0,1000).".png";
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Flush the picture to a temporary file */
- imagepng($pChartObject->Picture ,$TemporaryFile);
-
- /* Retrieve the files size */
- $PictureSize = filesize($TemporaryFile);
- $DBSize = filesize($Database);
-
- /* Save the index */
- $Handle = fopen($Index,"a");
- fwrite($Handle, $ID.",".$DBSize.",".$PictureSize.",".time().",0 \r\n");
- fclose($Handle);
-
- /* Get the picture raw contents */
- $Handle = fopen($TemporaryFile,"r");
- $Raw = fread($Handle,$PictureSize);
- fclose($Handle);
-
- /* Save the picture in the solid database file */
- $Handle = fopen($Database,"a");
- fwrite($Handle, $Raw);
- fclose($Handle);
-
- /* Remove temporary file */
- unlink($TemporaryFile);
- }
-
- /* Remove object older than the specified TS */
- function removeOlderThan($Expiry)
- { $this->dbRemoval(array("Expiry"=>$Expiry)); }
-
- /* Remove an object from the cache */
- function remove($ID)
- { $this->dbRemoval(array("Name"=>$ID)); }
-
- /* Remove with specified criterias */
- function dbRemoval($Settings)
- {
- $ID = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Expiry = isset($Settings["Expiry"]) ? $Settings["Expiry"] : -(24*60*60);
- $TS = time()-$Expiry;
-
- /* Compute the paths */
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
- $DatabaseTemp = $this->CacheFolder."/".$this->CacheDB.".tmp";
- $IndexTemp = $this->CacheFolder."/".$this->CacheIndex.".tmp";
-
- /* Single file removal */
- if ( $ID != NULL )
- {
- /* Retrieve object informations */
- $Object = $this->isInCache($ID,TRUE);
-
- /* If it's not in the cache DB, go away */
- if ( !$Object ) { return(0); }
- }
-
- /* Create the temporary files */
- if (!file_exists($DatabaseTemp)) { touch($DatabaseTemp); }
- if (!file_exists($IndexTemp)) { touch($IndexTemp); }
-
- /* Open the file handles */
- $IndexHandle = @fopen($Index, "r");
- $IndexTempHandle = @fopen($IndexTemp, "w");
- $DBHandle = @fopen($Database, "r");
- $DBTempHandle = @fopen($DatabaseTemp, "w");
-
- /* Remove the selected ID from the database */
- while (!feof($IndexHandle))
- {
- $Entry = fgets($IndexHandle, 4096);
- $Entry = str_replace("\r","",$Entry);
- $Entry = str_replace("\n","",$Entry);
- $Settings = preg_split("/,/",$Entry);
-
- if ( $Entry != "" )
- {
- $PicID = $Settings[0];
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = $Settings[4];
-
- if ( $Settings[0] != $ID && $GeneratedTS > $TS)
- {
- $CurrentPos = ftell($DBTempHandle);
- fwrite($IndexTempHandle, $PicID.",".$CurrentPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
-
- fseek($DBHandle,$DBPos);
- $Picture = fread($DBHandle,$PicSize);
- fwrite($DBTempHandle,$Picture);
- }
- }
- }
-
- /* Close the handles */
- fclose($IndexHandle);
- fclose($IndexTempHandle);
- fclose($DBHandle);
- fclose($DBTempHandle);
-
- /* Remove the prod files */
- unlink($Database);
- unlink($Index);
-
- /* Swap the temp & prod DB */
- rename($DatabaseTemp,$Database);
- rename($IndexTemp,$Index);
- }
-
- function isInCache($ID,$Verbose=FALSE,$UpdateHitsCount=FALSE)
- {
- /* Compute the paths */
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Search the picture in the index file */
- $Handle = @fopen($Index, "r");
- while (!feof($Handle))
- {
- $IndexPos = ftell($Handle);
- $Entry = fgets($Handle, 4096);
- if ( $Entry != "" )
- {
- $Settings = preg_split("/,/",$Entry);
- $PicID = $Settings[0];
- if ( $PicID == $ID )
- {
- fclose($Handle);
-
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = intval($Settings[4]);
-
- if ( $UpdateHitsCount )
- {
- $Hits++;
- if ( strlen($Hits) < 7 ) { $Hits = $Hits.str_repeat(" ",7-strlen($Hits)); }
-
- $Handle = @fopen($Index, "r+");
- fseek($Handle,$IndexPos);
- fwrite($Handle, $PicID.",".$DBPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
- fclose($Handle);
- }
-
- if ($Verbose)
- { return(array("DBPos"=>$DBPos,"PicSize"=>$PicSize,"GeneratedTS"=>$GeneratedTS,"Hits"=>$Hits)); }
- else
- { return(TRUE); }
- }
- }
- }
- fclose($Handle);
-
- /* Picture isn't in the cache */
- return(FALSE);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($ID,$Destination="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->saveFromCache($ID,$Destination);
- else
- $this->strokeFromCache($ID);
- }
-
- function strokeFromCache($ID)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- header('Content-type: image/png');
- echo $Picture;
-
- return(TRUE);
- }
-
- function saveFromCache($ID,$Destination)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- /* Flush the picture to a file */
- $Handle = fopen($Destination,"w");
- fwrite($Handle,$Picture);
- fclose($Handle);
-
- /* All went fine */
- return(TRUE);
- }
-
- function getFromCache($ID)
- {
- /* Compute the path */
- $Database = $this->CacheFolder."/".$this->CacheDB;
-
- /* Lookup for the picture in the cache */
- $CacheInfo = $this->isInCache($ID,TRUE,TRUE);
-
- /* Not in the cache */
- if (!$CacheInfo) { return(NULL); }
-
- /* Get the database extended information */
- $DBPos = $CacheInfo["DBPos"];
- $PicSize = $CacheInfo["PicSize"];
-
- /* Extract the picture from the solid cache file */
- $Handle = @fopen($Database, "r");
- fseek($Handle,$DBPos);
- $Picture = fread($Handle,$PicSize);
- fclose($Handle);
-
- /* Return back the raw picture data */
- return($Picture);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pData.class.php b/notFinishedCode/tricode/class/pData.class.php
deleted file mode 100644
index 9cfbc3f..0000000
--- a/notFinishedCode/tricode/class/pData.class.php
+++ /dev/null
@@ -1,723 +0,0 @@
-<?php
- /*
- pDraw - class to manipulate data arrays
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Axis configuration */
- define("AXIS_FORMAT_DEFAULT" , 680001);
- define("AXIS_FORMAT_TIME" , 680002);
- define("AXIS_FORMAT_DATE" , 680003);
- define("AXIS_FORMAT_METRIC" , 680004);
- define("AXIS_FORMAT_CURRENCY" , 680005);
-
- /* Axis position */
- define("AXIS_POSITION_LEFT" , 681001);
- define("AXIS_POSITION_RIGHT" , 681002);
- define("AXIS_POSITION_TOP" , 681001);
- define("AXIS_POSITION_BOTTOM" , 681002);
-
- /* Families of data points */
- define("SERIE_SHAPE_FILLEDCIRCLE" , 681011);
- define("SERIE_SHAPE_FILLEDTRIANGLE" , 681012);
- define("SERIE_SHAPE_FILLEDSQUARE" , 681013);
- define("SERIE_SHAPE_FILLEDDIAMOND" , 681017);
- define("SERIE_SHAPE_CIRCLE" , 681014);
- define("SERIE_SHAPE_TRIANGLE" , 681015);
- define("SERIE_SHAPE_SQUARE" , 681016);
- define("SERIE_SHAPE_DIAMOND" , 681018);
-
- /* Axis position */
- define("AXIS_X" , 682001);
- define("AXIS_Y" , 682002);
-
- /* Define value limits */
- define("ABSOLUTE_MIN" , -10000000000000);
- define("ABSOLUTE_MAX" , 10000000000000);
-
- /* Replacement to the PHP NULL keyword */
- define("VOID" , 0.123456789);
-
- /* pData class definition */
- class pData
- {
- var $Data;
-
- var $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Class creator */
- function pData()
- {
- $this->Data = "";
- $this->Data["XAxisDisplay"] = AXIS_FORMAT_DEFAULT;
- $this->Data["XAxisFormat"] = NULL;
- $this->Data["XAxisName"] = NULL;
- $this->Data["XAxisUnit"] = NULL;
- $this->Data["Abscissa"] = NULL;
- $this->Data["Axis"][0]["Display"] = AXIS_FORMAT_DEFAULT;
- $this->Data["Axis"][0]["Position"] = AXIS_POSITION_LEFT;
- $this->Data["Axis"][0]["Identity"] = AXIS_Y;
- }
-
- /* Add a single point or an array to the given serie */
- function addPoints($Values,$SerieName="Serie1")
- {
- if (!isset($this->Data["Series"][$SerieName]))
- $this->initialise($SerieName);
-
- if ( is_array($Values) )
- {
- foreach($Values as $Key => $Value)
- { $this->Data["Series"][$SerieName]["Data"][] = $Value; }
- }
- else
- $this->Data["Series"][$SerieName]["Data"][] = $Values;
-
- if ( $Values != VOID )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Strip VOID values */
- function stripVOID($Values)
- { $Result = array(); foreach($Values as $Key => $Value) { if ( $Value != VOID ) { $Result[] = $Value; } } return($Result); }
-
- /* Return the number of values contained in a given serie */
- function getSerieCount($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return(sizeof($this->Data["Series"][$Serie]["Data"])); } else { return(0); } }
-
- /* Remove a serie from the pData object */
- function removeSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie])) { unset($this->Data["Series"][$Serie]); } }
- }
-
- /* Return a value from given serie & index */
- function getValueAt($Serie,$Index=0)
- { if (isset($this->Data["Series"][$Serie]["Data"][$Index])) { return($this->Data["Series"][$Serie]["Data"][$Index]); } else { return(NULL); } }
-
- /* Return the values array */
- function getValues($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return($this->Data["Series"][$Serie]["Data"]); } else { return(NULL); } }
-
- /* Reverse the values in the given serie */
- function reverseSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]["Data"])) { $this->Data["Series"][$Serie]["Data"] = array_reverse($this->Data["Series"][$Serie]["Data"]); } }
- }
-
- /* Return the sum of the serie values */
- function getSum($Serie)
- { if (isset($this->Data["Series"][$Serie])) { return(array_sum($this->Data["Series"][$Serie]["Data"])); } else { return(NULL); } }
-
- /* Return the max value of a given serie */
- function getMax($Serie)
- { if (isset($this->Data["Series"][$Serie]["Max"])) { return($this->Data["Series"][$Serie]["Max"]); } else { return(NULL); } }
-
- /* Return the min value of a given serie */
- function getMin($Serie)
- { if (isset($this->Data["Series"][$Serie]["Min"])) { return($this->Data["Series"][$Serie]["Min"]); } else { return(NULL); } }
-
- /* Set the description of a given serie */
- function setSerieShape($Series,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Shape"] = $Shape; } }
- }
-
- /* Set the description of a given serie */
- function setSerieDescription($Series,$Description="My serie")
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Description"] = $Description; } }
- }
-
- /* Set a serie as "drawable" while calling a rendering function */
- function setSerieDrawable($Series,$Drawable=TRUE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["isDrawable"] = $Drawable; } }
- }
-
- /* Set the icon associated to a given serie */
- function setSeriePicture($Series,$Picture=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Picture"] = $Picture; } }
- }
-
- /* Set the name of the X Axis */
- function setXAxisName($Name)
- { $this->Data["XAxisName"] = $Name; }
-
- /* Set the display mode of the X Axis */
- function setXAxisDisplay($Mode,$Format=NULL)
- { $this->Data["XAxisDisplay"] = $Mode; $this->Data["XAxisFormat"] = $Format; }
-
- /* Set the unit that will be displayed on the X axis */
- function setXAxisUnit($Unit)
- { $this->Data["XAxisUnit"] = $Unit; }
-
- /* Set the serie that will be used as abscissa */
- function setAbscissa($Serie)
- { if (isset($this->Data["Series"][$Serie])) { $this->Data["Abscissa"] = $Serie; } }
-
- /* Set the name of the abscissa axis */
- function setAbscissaName($Name)
- { $this->Data["AbscissaName"] = $Name; }
-
- /* Create a scatter group specifyin X and Y data series */
- function setScatterSerie($SerieX,$SerieY,$ID=0)
- { if (isset($this->Data["Series"][$SerieX]) && isset($this->Data["Series"][$SerieY]) ) { $this->initScatterSerie($ID); $this->Data["ScatterSeries"][$ID]["X"] = $SerieX; $this->Data["ScatterSeries"][$ID]["Y"] = $SerieY; } }
-
- /* Set the shape of a given sctatter serie */
- function setScatterSerieShape($ID,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Shape"] = $Shape; } }
-
- /* Set the description of a given scatter serie */
- function setScatterSerieDescription($ID,$Description="My serie")
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Description"] = $Description; } }
-
- /* Set the icon associated to a given scatter serie */
- function setScatterSeriePicture($ID,$Picture=NULL)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Picture"] = $Picture; } }
-
- /* Set a scatter serie as "drawable" while calling a rendering function */
- function setScatterSerieDrawable($ID ,$Drawable=TRUE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["isDrawable"] = $Drawable; } }
-
- /* Define if a scatter serie should be draw with ticks */
- function setScatterSerieTicks($ID,$Width=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Ticks"] = $Width; } }
-
- /* Define if a scatter serie should be draw with a special weight */
- function setScatterSerieWeight($ID,$Weight=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Weight"] = $Weight; } }
-
- /* Associate a color to a scatter serie */
- function setScatterSerieColor($ID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["ScatterSeries"][$ID]) )
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = $R;
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = $G;
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = $B;
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
- /* Compute the series limits for an individual and global point of view */
- function limits()
- {
- $GlobalMin = ABSOLUTE_MAX;
- $GlobalMax = ABSOLUTE_MIN;
-
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"] == TRUE)
- {
- if ( $GlobalMin > $this->Data["Series"][$Key]["Min"] ) { $GlobalMin = $this->Data["Series"][$Key]["Min"]; }
- if ( $GlobalMax < $this->Data["Series"][$Key]["Max"] ) { $GlobalMax = $this->Data["Series"][$Key]["Max"]; }
- }
- }
- $this->Data["Min"] = $GlobalMin;
- $this->Data["Max"] = $GlobalMax;
-
- return(array($GlobalMin,$GlobalMax));
- }
-
- /* Mark all series as drawable */
- function drawAll()
- { foreach($this->Data["Series"] as $Key => $Value) { if ( $this->Data["Abscissa"] != $Key ) { $this->Data["Series"][$Key]["isDrawable"]=TRUE; } } }
-
- /* Return the average value of the given serie */
- function getSerieAverage($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- return(array_sum($SerieData)/sizeof($SerieData));
- }
- else
- return(NULL);
- }
-
- /* Return the geometric mean of the given serie */
- function getGeometricMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 1; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum * $Value; }
- return(pow($Seriesum,1/sizeof($SerieData)));
- }
- else
- return(NULL);
- }
-
- /* Return the harmonic mean of the given serie */
- function getHarmonicMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 0; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum + 1/$Value; }
- return(sizeof($SerieData)/$Seriesum);
- }
- else
- return(NULL);
- }
-
- /* Return the standard deviation of the given serie */
- function getStandardDeviation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
-
- $DeviationSum = 0;
- foreach($SerieData as $Key => $Value)
- $DeviationSum = $DeviationSum + ($Value-$Average)*($Value-$Average);
-
- $Deviation = sqrt($DeviationSum/count($SerieData));
-
- return($Deviation);
- }
- else
- return(NULL);
- }
-
- /* Return the Coefficient of variation of the given serie */
- function getCoefficientOfVariation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $StandardDeviation = $this->getStandardDeviation($Serie);
-
- if ( $StandardDeviation != 0 )
- return($StandardDeviation/$Average);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the median value of the given serie */
- function getSerieMedian($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- sort($SerieData);
- $SerieCenter = floor(sizeof($SerieData)/2);
-
- if ( isset($SerieData[$SerieCenter]) )
- return($SerieData[$SerieCenter]);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the x th percentil of the given serie */
- function getSeriePercentile($Serie="Serie1",$Percentil=95)
- {
- if (!isset($this->Data["Series"][$Serie]["Data"])) { return(NULL); }
-
- $Values = count($this->Data["Series"][$Serie]["Data"])-1;
- if ( $Values < 0 ) { $Values = 0; }
-
- $PercentilID = floor(($Values/100)*$Percentil+.5);
- $SortedValues = $this->Data["Series"][$Serie]["Data"];
- sort($SortedValues);
-
- if ( is_numeric($SortedValues[$PercentilID]) )
- return($SortedValues[$PercentilID]);
- else
- return(NULL);
- }
-
- /* Add random values to a given serie */
- function addRandomValues($SerieName="Serie1",$Options="")
- {
- $Values = isset($Options["Values"]) ? $Options["Values"] : 20;
- $Min = isset($Options["Min"]) ? $Options["Min"] : 0;
- $Max = isset($Options["Max"]) ? $Options["Max"] : 100;
- $withFloat = isset($Options["withFloat"]) ? $Options["withFloat"] : FALSE;
-
- for ($i=0;$i<=$Values;$i++)
- {
- if ( $withFloat ) { $Value = rand($Min*100,$Max*100)/100; } else { $Value = rand($Min,$Max); }
- $this->addPoints($Value,$SerieName);
- }
- }
-
- /* Test if we have valid data */
- function containsData()
- {
- if (!isset($this->Data["Series"])) { return(FALSE); }
-
- $Result = FALSE;
- foreach($this->Data["Series"] as $Key => $Value)
- { if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"]==TRUE) { $Result=TRUE; } }
- return($Result);
- }
-
- /* Set the display mode of an Axis */
- function setAxisDisplay($AxisID,$Mode=AXIS_FORMAT_DEFAULT,$Format=NULL)
- {
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Display"] = $Mode;
- if ( $Format != NULL ) { $this->Data["Axis"][$AxisID]["Format"] = $Format; }
- }
- }
-
- /* Set the position of an Axis */
- function setAxisPosition($AxisID,$Position=AXIS_POSITION_LEFT)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Position"] = $Position; } }
-
- /* Associate an unit to an axis */
- function setAxisUnit($AxisID,$Unit)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Unit"] = $Unit; } }
-
- /* Associate a name to an axis */
- function setAxisName($AxisID,$Name)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Name"] = $Name; } }
-
- /* Associate a color to an axis */
- function setAxisColor($AxisID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Color"]["R"] = $R;
- $this->Data["Axis"][$AxisID]["Color"]["G"] = $G;
- $this->Data["Axis"][$AxisID]["Color"]["B"] = $B;
- $this->Data["Axis"][$AxisID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
-
- /* Design an axis as X or Y member */
- function setAxisXY($AxisID,$Identity=AXIS_Y)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Identity"] = $Identity; } }
-
- /* Associate one data serie with one axis */
- function setSerieOnAxis($Series,$AxisID)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie)
- {
- $PreviousAxis = $this->Data["Series"][$Serie]["Axis"];
-
- /* Create missing axis */
- if ( !isset($this->Data["Axis"][$AxisID] ) )
- { $this->Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; $this->Data["Axis"][$AxisID]["Identity"] = AXIS_Y;}
-
- $this->Data["Series"][$Serie]["Axis"] = $AxisID;
-
- /* Cleanup unused axis */
- $Found = FALSE;
- foreach($this->Data["Series"] as $SerieName => $Values) { if ( $Values["Axis"] == $PreviousAxis ) { $Found = TRUE; } }
- if (!$Found) { unset($this->Data["Axis"][$PreviousAxis]); }
- }
- }
-
- /* Define if a serie should be draw with ticks */
- function setSerieTicks($Series,$Width=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Ticks"] = $Width; } }
- }
-
- /* Define if a serie should be draw with a special weight */
- function setSerieWeight($Series,$Weight=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Weight"] = $Weight; } }
- }
-
- /* Returns the palette of the given serie */
- function getSeriePalette($Serie)
- {
- if ( !isset($this->Data["Series"][$Serie]) ) { return(NULL); }
-
- $Result = "";
- $Result["R"] = $this->Data["Series"][$Serie]["Color"]["R"];
- $Result["G"] = $this->Data["Series"][$Serie]["Color"]["G"];
- $Result["B"] = $this->Data["Series"][$Serie]["Color"]["B"];
- $Result["Alpha"] = $this->Data["Series"][$Serie]["Color"]["Alpha"];
-
- return($Result);
- }
-
- /* Set the color of one serie */
- function setPalette($Series,$Format=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
-
- foreach($Series as $Key => $Serie)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $OldR = $this->Data["Series"][$Serie]["Color"]["R"]; $OldG = $this->Data["Series"][$Serie]["Color"]["G"]; $OldB = $this->Data["Series"][$Serie]["Color"]["B"];
- $this->Data["Series"][$Serie]["Color"]["R"] = $R;
- $this->Data["Series"][$Serie]["Color"]["G"] = $G;
- $this->Data["Series"][$Serie]["Color"]["B"] = $B;
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = $Alpha;
-
- /* Do reverse processing on the internal palette array */
- foreach ($this->Palette as $Key => $Value)
- { if ($Value["R"] == $OldR && $Value["G"] == $OldG && $Value["B"] == $OldB) { $this->Palette[$Key]["R"] = $R; $this->Palette[$Key]["G"] = $G; $this->Palette[$Key]["B"] = $B; $this->Palette[$Key]["Alpha"] = $Alpha;} }
- }
- }
- }
-
- /* Load a palette file */
- function loadPalette($FileName,$Overwrite=FALSE)
- {
- if ( !file_exists($FileName) ) { return(-1); }
- if ( $Overwrite ) { $this->Palette = ""; }
-
- $fileHandle = @fopen($FileName, "r");
- if (!$fileHandle) { return(-1); }
- while (!feof($fileHandle))
- {
- $buffer = fgets($fileHandle, 4096);
- if ( preg_match("/,/",$buffer) )
- {
- list($R,$G,$B,$Alpha) = preg_split("/,/",$buffer);
- if ( $this->Palette == "" ) { $ID = 0; } else { $ID = count($this->Palette); }
- $this->Palette[$ID] = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- }
- }
- fclose($fileHandle);
-
- /* Apply changes to current series */
- $ID = 0;
- if ( isset($this->Data["Series"]))
- {
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( !isset($this->Palette[$ID]) )
- $this->Data["Series"][$Key]["Color"] = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>0);
- else
- $this->Data["Series"][$Key]["Color"] = $this->Palette[$ID];
- $ID++;
- }
- }
- }
-
- /* Initialise a given scatter serie */
- function initScatterSerie($ID)
- {
- if ( isset($this->Data["ScatterSeries"][$ID]) ) { return(0); }
-
- $this->Data["ScatterSeries"][$ID]["Description"] = "Scatter ".$ID;
- $this->Data["ScatterSeries"][$ID]["isDrawable"] = TRUE;
- $this->Data["ScatterSeries"][$ID]["Picture"] = NULL;
- $this->Data["ScatterSeries"][$ID]["Ticks"] = 0;
- $this->Data["ScatterSeries"][$ID]["Weight"] = 0;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["ScatterSeries"][$ID]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = 100;
- }
- }
-
- /* Initialise a given serie */
- function initialise($Serie)
- {
- if ( isset($this->Data["Series"]) ) { $ID = count($this->Data["Series"]); } else { $ID = 0; }
-
- $this->Data["Series"][$Serie]["Description"] = $Serie;
- $this->Data["Series"][$Serie]["isDrawable"] = TRUE;
- $this->Data["Series"][$Serie]["Picture"] = NULL;
- $this->Data["Series"][$Serie]["Max"] = NULL;
- $this->Data["Series"][$Serie]["Min"] = NULL;
- $this->Data["Series"][$Serie]["Axis"] = 0;
- $this->Data["Series"][$Serie]["Ticks"] = 0;
- $this->Data["Series"][$Serie]["Weight"] = 0;
- $this->Data["Series"][$Serie]["Shape"] = SERIE_SHAPE_FILLEDCIRCLE;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["Series"][$Serie]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["Series"][$Serie]["Color"]["R"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["G"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["B"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = 100;
- }
- }
-
- function normalize($NormalizationFactor=100,$UnitChange=NULL,$Round=1)
- {
- $Abscissa = $this->Data["Abscissa"];
-
- $SelectedSeries = "";
- $MaxVal = 0;
- foreach($this->Data["Axis"] as $AxisID => $Axis)
- {
- if ( $UnitChange != NULL ) { $this->Data["Axis"][$AxisID]["Unit"] = $UnitChange; }
-
- foreach($this->Data["Series"] as $SerieName => $Serie)
- {
- if ($Serie["Axis"] == $AxisID && $Serie["isDrawable"] == TRUE && $SerieName != $Abscissa)
- {
- $SelectedSeries[$SerieName] = $SerieName;
-
- if ( count($Serie["Data"] ) > $MaxVal ) { $MaxVal = count($Serie["Data"]); }
- }
- }
- }
-
- for($i=0;$i<=$MaxVal-1;$i++)
- {
- $Factor = 0;
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
- if ( $Value != VOID )
- $Factor = $Factor + abs($Value);
- }
-
- if ( $Factor != 0 )
- {
- $Factor = $NormalizationFactor / $Factor;
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
-
- if ( $Value != VOID && $Factor != $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = round(abs($Value)*$Factor,$Round);
- elseif ( $Value == VOID || $Value == 0 )
- $this->Data["Series"][$SerieName]["Data"][$i] = VOID;
- elseif ( $Factor == $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = $NormalizationFactor;
- }
- }
- }
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Load data from a CSV (or similar) data source */
- function importFromCSV($FileName,$Options="")
- {
- $Delimiter = isset($Options["Delimiter"]) ? $Options["Delimiter"] : ",";
- $GotHeader = isset($Options["GotHeader"]) ? $Options["GotHeader"] : FALSE;
- $SkipColumns = isset($Options["SkipColumns"]) ? $Options["SkipColumns"] : array(-1);
- $DefaultSerieName = isset($Options["DefaultSerieName"]) ? $Options["DefaultSerieName"] : "Serie";
-
- $Handle = @fopen($FileName,"r");
- if ($Handle)
- {
- $HeaderParsed = FALSE; $SerieNames = "";
- while (!feof($Handle))
- {
- $Buffer = fgets($Handle, 4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/".$Delimiter."/",$Buffer);
-
- if ( $Buffer != "" )
- {
- if ( $GotHeader && !$HeaderParsed )
- {
- foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $Name; } }
- $HeaderParsed = TRUE;
- }
- else
- {
- if ($SerieNames == "" ) { foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $DefaultSerieName.$Key; } } }
- foreach($Values as $Key => $Value) { if ( !in_array($Key,$SkipColumns) ) { $this->addPoints($Value,$SerieNames[$Key]); } }
- }
- }
- }
- fclose($Handle);
- }
- }
-
- /* Return the data & configuration of the series */
- function getData()
- { return($this->Data); }
-
- /* Save a palette element */
- function savePalette($ID,$Color)
- { $this->Palette[$ID] = $Color; }
-
- /* Return the palette of the series */
- function getPalette()
- { return($this->Palette); }
-
- /* Called by the scaling algorithm to save the config */
- function saveAxisConfig($Axis) { $this->Data["Axis"]=$Axis; }
-
- /* Save the Y Margin if set */
- function saveYMargin($Value) { $this->Data["YMargin"]=$Value; }
-
- /* Save extended configuration to the pData object */
- function saveExtendedData($Tag,$Values) { $this->Data["Extended"][$Tag]=$Values; }
-
- /* Called by the scaling algorithm to save the orientation of the scale */
- function saveOrientation($Orientation) { $this->Data["Orientation"]=$Orientation; }
-
- /* Convert a string to a single elements array */
- function convertToArray($Value)
- { $Values = ""; $Values[] = $Value; return($Values); }
-
- /* Class string wrapper */
- function __toString()
- { return("pData object."); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pDraw.class.php b/notFinishedCode/tricode/class/pDraw.class.php
deleted file mode 100644
index 85e408e..0000000
--- a/notFinishedCode/tricode/class/pDraw.class.php
+++ /dev/null
@@ -1,5799 +0,0 @@
-<?php
- /*
- pDraw - class extension with drawing methods
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("DIRECTION_VERTICAL" , 690001);
- define("DIRECTION_HORIZONTAL" , 690002);
-
- define("SCALE_POS_LEFTRIGHT" , 690101);
- define("SCALE_POS_TOPBOTTOM" , 690102);
-
- define("SCALE_MODE_FLOATING" , 690201);
- define("SCALE_MODE_START0" , 690202);
- define("SCALE_MODE_ADDALL" , 690203);
- define("SCALE_MODE_ADDALL_START0" , 690204);
- define("SCALE_MODE_MANUAL" , 690205);
-
- define("SCALE_SKIP_NONE" , 690301);
- define("SCALE_SKIP_SAME" , 690302);
- define("SCALE_SKIP_NUMBERS" , 690303);
-
- define("TEXT_ALIGN_TOPLEFT" , 690401);
- define("TEXT_ALIGN_TOPMIDDLE" , 690402);
- define("TEXT_ALIGN_TOPRIGHT" , 690403);
- define("TEXT_ALIGN_MIDDLELEFT" , 690404);
- define("TEXT_ALIGN_MIDDLEMIDDLE" , 690405);
- define("TEXT_ALIGN_MIDDLERIGHT" , 690406);
- define("TEXT_ALIGN_BOTTOMLEFT" , 690407);
- define("TEXT_ALIGN_BOTTOMMIDDLE" , 690408);
- define("TEXT_ALIGN_BOTTOMRIGHT" , 690409);
-
- define("POSITION_TOP" , 690501);
- define("POSITION_BOTTOM" , 690502);
-
- define("LABEL_POS_LEFT" , 690601);
- define("LABEL_POS_CENTER" , 690602);
- define("LABEL_POS_RIGHT" , 690603);
- define("LABEL_POS_TOP" , 690604);
- define("LABEL_POS_BOTTOM" , 690605);
- define("LABEL_POS_INSIDE" , 690606);
- define("LABEL_POS_OUTSIDE" , 690607);
-
- define("ORIENTATION_HORIZONTAL" , 690701);
- define("ORIENTATION_VERTICAL" , 690702);
-
- define("LEGEND_NOBORDER" , 690800);
- define("LEGEND_BOX" , 690801);
- define("LEGEND_ROUND" , 690802);
-
- define("LEGEND_VERTICAL" , 690901);
- define("LEGEND_HORIZONTAL" , 690902);
-
- define("LEGEND_FAMILY_BOX" , 691051);
- define("LEGEND_FAMILY_CIRCLE" , 691052);
- define("LEGEND_FAMILY_LINE" , 691053);
-
- define("DISPLAY_AUTO" , 691001);
- define("DISPLAY_MANUAL" , 691002);
-
- define("LABELING_ALL" , 691011);
- define("LABELING_DIFFERENT" , 691012);
-
- define("BOUND_MIN" , 691021);
- define("BOUND_MAX" , 691022);
- define("BOUND_BOTH" , 691023);
-
- define("BOUND_LABEL_POS_TOP" , 691031);
- define("BOUND_LABEL_POS_BOTTOM" , 691032);
- define("BOUND_LABEL_POS_AUTO" , 691033);
-
- define("CAPTION_LEFT_TOP" , 691041);
- define("CAPTION_RIGHT_BOTTOM" , 691042);
-
- define("GRADIENT_SIMPLE" , 691051);
- define("GRADIENT_EFFECT_CAN" , 691052);
-
- define("LABEL_TITLE_NOBACKGROUND" , 691061);
- define("LABEL_TITLE_BACKGROUND" , 691062);
-
- define("LABEL_POINT_NONE" , 691071);
- define("LABEL_POINT_CIRCLE" , 691072);
- define("LABEL_POINT_BOX" , 691073);
-
- define("PI" , 3.14159265);
- define("ALL" , 69);
- define("NONE" , 31);
- define("AUTO" , 690000);
- define("OUT_OF_SIGHT" , -10000000000000);
-
- class pDraw
- {
- /* Returns the number of drawable series */
- function countDrawableSeries()
- {
- $Results = 0;
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- { if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] ) { $Results++; } }
-
- return($Results);
- }
-
- /* Fix box coordinates */
- function fixBoxCoordinates($Xa,$Ya,$Xb,$Yb)
- {
- $X1 = min($Xa,$Xb); $Y1 = min($Ya,$Yb);
- $X2 = max($Xa,$Xb); $Y2 = max($Ya,$Yb);
-
- return(array($X1,$Y1,$X2,$Y2));
- }
-
- /* Draw a polygon */
- function drawPolygon($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $SkipX = isset($Format["SkipX"]) ? $Format["SkipX"] : OUT_OF_SIGHT;
- $SkipY = isset($Format["SkipY"]) ? $Format["SkipY"] : OUT_OF_SIGHT;
-
- /* Calling the ImageFilledPolygon() function over the $Points array will round it */
- $Backup = $Points;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ( $SkipX != OUT_OF_SIGHT ) { $SkipX = floor($SkipX); }
- if ( $SkipY != OUT_OF_SIGHT ) { $SkipY = floor($SkipY); }
-
- $RestoreShadow = $this->Shadow;
- if ( !$NoFill )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- { $Shadow[] = $Points[$i] + $this->ShadowX; $Shadow[] = $Points[$i+1] + $this->ShadowY; }
- $this->drawPolygon($Shadow,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"NoBorder"=>TRUE));
- }
-
- $FillColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
-
- if ( count($Points) >= 6 )
- { ImageFilledPolygon($this->Picture,$Points,count($Points)/2,$FillColor); }
- }
-
- if ( !$NoBorder )
- {
- $Points = $Backup;
-
- if ( $NoFill )
- $BorderSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- else
- $BorderSettings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- {
- if ( isset($Points[$i+2]) )
- {
- if ( !($Points[$i] == $Points[$i+2] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[$i+3] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[$i+2],$Points[$i+3],$BorderSettings);
- }
- else
- {
- if ( !($Points[$i] == $Points[0] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[1] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[0],$Points[1],$BorderSettings);
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Apply AALias correction to the rounded box boundaries */
- function offsetCorrection($Value,$Mode)
- {
- $Value = round($Value,1);
-
- if ( $Value == 0 && $Mode == 1 ) { return(.9); }
- if ( $Value == 0 ) { return(0); }
-
- if ( $Mode == 1)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.9); }; if ( $Value == .2 ) { return(.8); }; if ( $Value == .3 ) { return(.8); }; if ( $Value == .4 ) { return(.7); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.6); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 2)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.8); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 3)
- { if ( $Value == 1 ) { return(.1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.9); }; if ( $Value == .6 ) { return(.6); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.4); }; if ( $Value == .9 ) { return(.5); }; }
-
- if ( $Mode == 4)
- { if ( $Value == 1 ) { return(-1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.1); }; if ( $Value == .5 ) { return(-.1); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.1); }; if ( $Value == .8 ) { return(.1); }; if ( $Value == .9 ) { return(.1); }; }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1))/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1))/2); }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- if ( $this->Antialias )
- {
- $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- $this->drawLine($X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- imageline($this->Picture,$X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- imageline($this->Picture,$X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- imageline($this->Picture,$X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $X = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+180)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+90)*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos($i*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin($i*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+270)*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin(($i+270)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- /* Temporary fix for AA issue */
- $Y1 = floor($Y1); $Y2 = floor($Y2); $X1 = floor($X1); $X2 = floor($X2);
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius*2 ) { $Radius = floor((($X2-$X1))/4); }
- if ( $Y2 - $Y1 < $Radius*2 ) { $Radius = floor((($Y2-$Y1))/4); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- $YTop = $Y1+$Radius;
- $YBottom = $Y2-$Radius;
-
- $Step = 360 / (2 * PI * $Radius);
- $Positions = ""; $Radius--; $MinY = ""; $MaxY = "";
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+180)*PI/180) * $Radius + $YTop);
- if ( $MinY == "" || $Yp > $MinY ) { $MinY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+90)*PI/180) * $Radius + $YBottom);
- if ( $MaxY == "" || $Yp < $MaxY ) { $MaxY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
- }
-
- $ManualColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- foreach($Positions as $Yp => $Bounds)
- {
- $X1 = $Bounds["X1"]; $X1Dec = $this->getFirstDecimal($X1); if ( $X1Dec != 0 ) { $X1 = floor($X1)+1; }
- $X2 = $Bounds["X2"]; $X2Dec = $this->getFirstDecimal($X2); if ( $X2Dec != 0 ) { $X2 = floor($X2)-1; }
- imageline($this->Picture,$X1,$Yp,$X2,$Yp,$ManualColor);
- }
- $this->drawFilledRectangle($X1,$MinY+1,floor($X2),$MaxY-1,$Color);
-
- $Radius++;
- $this->drawRoundedRectangle($X1,$Y1,$X2+1,$Y2-1,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle_deprecated($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1)+2)/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1)+2)/2); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- if ( $this->getFirstDecimal($X2) >= 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($X1) <= 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
-
- if ( !$this->Antialias ) { $XOffset1 = 1; $XOffset2 = 1; }
-
- $YTop = floor($Y1+$Radius);
- $YBottom = floor($Y2-$Radius);
-
- $this->drawFilledRectangle($X1-$XOffset1,$YTop,$X2+$XOffset2,$YBottom,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE));
-
- $Step = 360 / (2 * PI * $Radius);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $Color2 = $this->allocateColor($this->Picture,255,0,0,$Alpha);
- $Drawn = "";
-
- if ( $Alpha < 100 ) { $Drawn[$YTop] = FALSE; }
- if ( $Alpha < 100 ) { $Drawn[$YBottom] = TRUE; }
-
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+180)*PI/180) * $Radius + $YTop;
-
- if ( $this->getFirstDecimal($Xp1) > 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+90)*PI/180) * $Radius + $YBottom;
-
- if ( $this->getFirstDecimal($Xp1) > 7 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 7 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
- }
-
- $this->drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle */
- function drawRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $this->Antialias )
- {
- if ( $NoAngle )
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1+1,$X2,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1+1,$X1,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1,$X2,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1,$X1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagerectangle($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- }
- }
-
- /* Draw a filled rectangle */
- function drawFilledRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : NULL;
- $Dash = isset($Format["Dash"]) ? $Format["Dash"] : FALSE;
- $DashStep = isset($Format["DashStep"]) ? $Format["DashStep"] : 4;
- $DashR = isset($Format["DashR"]) ? $Format["DashR"] : 0;
- $DashG = isset($Format["DashG"]) ? $Format["DashG"] : 0;
- $DashB = isset($Format["DashB"]) ? $Format["DashB"] : 0;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- if ( $NoAngle )
- {
- imagefilledrectangle($this->Picture,ceil($X1)+1,ceil($Y1),floor($X2)-1,floor($Y2),$Color);
- imageline($this->Picture,ceil($X1),ceil($Y1)+1,ceil($X1),floor($Y2)-1,$Color);
- imageline($this->Picture,floor($X2),ceil($Y1)+1,floor($X2),floor($Y2)-1,$Color);
- }
- else
- imagefilledrectangle($this->Picture,ceil($X1),ceil($Y1),floor($X2),floor($Y2),$Color);
-
- if ( $Dash )
- {
- if ( $BorderR != -1 ) { $iX1=$X1+1; $iY1=$Y1+1; $iX2=$X2-1; $iY2=$Y2-1; } else { $iX1=$X1; $iY1=$Y1; $iX2=$X2; $iY2=$Y2; }
-
- $Color = $this->allocateColor($this->Picture,$DashR,$DashG,$DashB,$Alpha);
- $Y=$iY1-$DashStep;
- for($X=$iX1; $X<=$iX2+($iY2-$iY1); $X=$X+$DashStep)
- {
- $Y=$Y+$DashStep;
- if ( $X > $iX2 ) { $Xa = $X-($X-$iX2); $Ya = $iY1+($X-$iX2); } else { $Xa = $X; $Ya = $iY1; }
- if ( $Y > $iY2 ) { $Xb = $iX1+($Y-$iY2); $Yb = $Y-($Y-$iY2); } else { $Xb = $iX1; $Yb = $Y; }
- imageline($this->Picture,$Xa,$Ya,$Xb,$Yb,$Color);
- }
- }
-
- if ( $this->Antialias && !$NoBorder )
- {
- if ( $X1 < ceil($X1) )
- {
- $AlphaA = $Alpha * (ceil($X1) - $X1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1)-1,ceil($Y1),ceil($X1)-1,floor($Y2),$Color);
- }
-
- if ( $Y1 < ceil($Y1) )
- {
- $AlphaA = $Alpha * (ceil($Y1) - $Y1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),ceil($Y1)-1,floor($X2),ceil($Y1)-1,$Color);
- }
-
- if ( $X2 > floor($X2) )
- {
- $AlphaA = $Alpha * (.5-($X2 - floor($X2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,floor($X2)+1,ceil($Y1),floor($X2)+1,floor($Y2),$Color);
- }
-
- if ( $Y2 > floor($Y2) )
- {
- $AlphaA = $Alpha * (.5-($Y2 - floor($Y2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),floor($Y2)+1,floor($X2),floor($Y2)+1,$Color);
- }
- }
-
- if ( $BorderR != -1 )
- $this->drawRectangle($X1,$Y1,$X2,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangular marker of the specified size */
- function drawRectangleMarker($X,$Y,$Format="")
- {
- $Size = isset($Format["Size"]) ? $Format["Size"] : 4;
-
- $HalfSize = floor($Size/2);
- $this->drawFilledRectangle($X-$HalfSize,$Y-$HalfSize,$X+$HalfSize,$Y+$HalfSize,$Format);
- }
-
- /* Drawn a spline based on the bezier function */
- function drawSpline($Coordinates,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 30;
- $Forces = isset($Format["Forces"]) ? $Format["Forces"] : NULL;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
-
- $Cpt = NULL; $Mode = NULL; $Result = "";
- for($i=1;$i<=count($Coordinates)-1;$i++)
- {
- $X1 = $Coordinates[$i-1][0]; $Y1 = $Coordinates[$i-1][1];
- $X2 = $Coordinates[$i][0]; $Y2 = $Coordinates[$i][1];
-
- if ( $Forces != NULL ) { $Force = $Forces[$i]; }
-
- /* First segment */
- if ( $i == 1 )
- { $Xv1 = $X1; $Yv1 = $Y1; }
- else
- {
- $Angle1 = $this->getAngle($XLast,$YLast,$X1,$Y1);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos($Angle2 * PI / 180) * $Force + $X1;
- $YOff = sin($Angle2 * PI / 180) * $Force + $Y1;
-
- $Xv1 = cos($Angle1 * PI / 180) * $Force + $XOff;
- $Yv1 = sin($Angle1 * PI / 180) * $Force + $YOff;
- }
-
- /* Last segment */
- if ( $i == count($Coordinates)-1 )
- { $Xv2 = $X2; $Yv2 = $Y2; }
- else
- {
- $Angle1 = $this->getAngle($X2,$Y2,$Coordinates[$i+1][0],$Coordinates[$i+1][1]);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos(($Angle2+180) * PI / 180) * $Force + $X2;
- $YOff = sin(($Angle2+180) * PI / 180) * $Force + $Y2;
-
- $Xv2 = cos(($Angle1+180) * PI / 180) * $Force + $XOff;
- $Yv2 = sin(($Angle1+180) * PI / 180) * $Force + $YOff;
- }
-
- $Path = $this->drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format);
- if ($PathOnly) { $Result[] = $Path; }
-
- $XLast = $X1; $YLast = $Y1;
- }
-
- return($Result);
- }
-
- /* Draw a bezier curve with two controls points */
- function drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoDraw = isset($Format["NoDraw"]) ? $Format["NoDraw"] : FALSE;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $DrawArrow = isset($Format["DrawArrow"]) ? $Format["DrawArrow"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 10;
- $ArrowRatio = isset($Format["ArrowRatio"]) ? $Format["ArrowRatio"] : .5;
- $ArrowTwoHeads = isset($Format["ArrowTwoHeads"]) ? $Format["ArrowTwoHeads"] : FALSE;
-
- if ( $Segments == NULL )
- {
- $Length = $this->getLength($X1,$Y1,$X2,$Y2);
- $Precision = ($Length*125)/1000;
- }
- else
- $Precision = $Segments;
-
- $P[0]["X"] = $X1; $P[0]["Y"] = $Y1;
- $P[1]["X"] = $Xv1; $P[1]["Y"] = $Yv1;
- $P[2]["X"] = $Xv2; $P[2]["Y"] = $Yv2;
- $P[3]["X"] = $X2; $P[3]["Y"] = $Y2;
-
- /* Compute the bezier points */
- $Q = ""; $ID = 0; $Path = "";
- for($i=0;$i<=$Precision;$i=$i+1)
- {
- $u = $i / $Precision;
-
- $C = "";
- $C[0] = (1 - $u) * (1 - $u) * (1 - $u);
- $C[1] = ($u * 3) * (1 - $u) * (1 - $u);
- $C[2] = 3 * $u * $u * (1 - $u);
- $C[3] = $u * $u * $u;
-
- for($j=0;$j<=3;$j++)
- {
- if ( !isset($Q[$ID]) ) { $Q[$ID] = ""; }
- if ( !isset($Q[$ID]["X"]) ) { $Q[$ID]["X"] = 0; }
- if ( !isset($Q[$ID]["Y"]) ) { $Q[$ID]["Y"] = 0; }
-
- $Q[$ID]["X"] = $Q[$ID]["X"] + $P[$j]["X"] * $C[$j];
- $Q[$ID]["Y"] = $Q[$ID]["Y"] + $P[$j]["Y"] * $C[$j];
- }
- $ID++;
- }
- $Q[$ID]["X"] = $X2; $Q[$ID]["Y"] = $Y2;
-
- if ( !$NoDraw )
- {
- /* Display the control points */
- if ( $ShowC && !$PathOnly )
- {
- $Xv1 = floor($Xv1); $Yv1 = floor($Yv1); $Xv2 = floor($Xv2); $Yv2 = floor($Yv2);
-
- $this->drawLine($X1,$Y1,$X2,$Y2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
-
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv1,$Yv1,$MyMarkerSettings);
- $this->drawText($Xv1+4,$Yv1,"v1");
- $MyMarkerSettings = array("R"=>0,"G"=>0,"B"=>255,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv2,$Yv2,$MyMarkerSettings);
- $this->drawText($Xv2+4,$Yv2,"v2");
- }
-
- /* Draw the bezier */
- $LastX = NULL; $LastY = NULL; $Cpt = NULL; $Mode = NULL; $ArrowS = NULL;
- foreach ($Q as $Key => $Point)
- {
- $X = $Point["X"]; $Y = $Point["Y"];
-
- /* Get the first segment */
- if ( $ArrowS == NULL && $LastX != NULL && $LastY != NULL )
- { $ArrowS["X2"] = $LastX; $ArrowS["Y2"] = $LastY; $ArrowS["X1"] = $X; $ArrowS["Y1"] = $Y; }
-
- if ( $LastX != NULL && $LastY != NULL && !$PathOnly)
- list($Cpt,$Mode) = $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Cpt"=>$Cpt,"Mode"=>$Mode,"Weight"=>$Weight));
-
- /* Get the last segment */
- $ArrowE["X1"] = $LastX; $ArrowE["Y1"] = $LastY; $ArrowE["X2"] = $X; $ArrowE["Y2"] = $Y;
-
- $LastX = $X; $LastY = $Y;
- }
-
- if ( $DrawArrow && !$PathOnly )
- {
- $ArrowSettings = array("FillR"=>$R,"FillG"=>$G,"FillB"=>$B,"Alpha"=>$Alpha,"Size"=>$ArrowSize,"Ratio"=>$ArrowRatio);
- if ( $ArrowTwoHeads )
- $this->drawArrow($ArrowS["X1"],$ArrowS["Y1"],$ArrowS["X2"],$ArrowS["Y2"],$ArrowSettings);
-
- $this->drawArrow($ArrowE["X1"],$ArrowE["Y1"],$ArrowE["X2"],$ArrowE["Y2"],$ArrowSettings);
- }
- }
- return($Q);
- }
-
- /* Draw a line between two points */
- function drawLine($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Cpt = isset($Format["Cpt"]) ? $Format["Cpt"] : 1;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : 1;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $this->Antialias == FALSE && $Ticks == NULL )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imageline($this->Picture,$X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$ShadowColor);
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- return(0);
- }
-
- $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));
- if ( $Distance == 0 ) { return(-1); }
-
- /* Derivative algorithm for overweighted lines, re-route to polygons primitives */
- if ( $Weight != NULL )
- {
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
- $PolySettings = array ("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderAlpha"=>$Alpha);
-
- if ( $Ticks == NULL )
- {
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y2;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y2;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- else
- {
- for($i=0;$i<=$Distance;$i=$i+$Ticks*2)
- {
- $Xa = (($X2-$X1)/$Distance) * $i + $X1; $Ya = (($Y2-$Y1)/$Distance) * $i + $Y1;
- $Xb = (($X2-$X1)/$Distance) * ($i+$Ticks) + $X1; $Yb = (($Y2-$Y1)/$Distance) * ($i+$Ticks) + $Y1;
-
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Yb;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Yb;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- }
-
- return(1);
- }
-
- $XStep = ($X2-$X1) / $Distance;
- $YStep = ($Y2-$Y1) / $Distance;
-
- for($i=0;$i<=$Distance;$i++)
- {
- $X = $i * $XStep + $X1;
- $Y = $i * $YStep + $Y1;
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $RT = $Parameters["R"]; } else { $RT = 0; }
- if ( isset($Parameters["G"]) ) { $GT = $Parameters["G"]; } else { $GT = 0; }
- if ( isset($Parameters["B"]) ) { $BT = $Parameters["B"]; } else { $BT = 0; }
- if ( isset($Parameters["Alpha"]) ) { $AlphaT = $Parameters["Alpha"]; } else { $AlphaT = 0; }
- $Color = array("R"=>$RT,"G"=>$GT,"B"=>$BT,"Alpha"=>$AlphaT);
- }
- }
- }
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,$Color);
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,$Color);
- }
-
- return(array($Cpt,$Mode));
- }
-
- /* Draw a circle */
- function drawCircle($Xc,$Yc,$Height,$Width,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Height = abs($Height);
- $Width = abs($Width);
-
- if ( $Height == 0 ) { $Height = 1; }
- if ( $Width == 0 ) { $Width = 1; }
- $Xc = floor($Xc); $Yc = floor($Yc);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawCircle($Xc+$this->ShadowX,$Yc+$this->ShadowY,$Height,$Width,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- if ( $Width == 0 ) { $Width = $Height; }
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- $Step = 360 / (2 * PI * max($Width,$Height));
- $Mode = 1; $Cpt = 1;
- for($i=0;$i<=360;$i=$i+$Step)
- {
- $X = cos($i*PI/180) * $Height + $Xc;
- $Y = sin($i*PI/180) * $Width + $Yc;
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- }
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a filled circle */
- function drawFilledCircle($X,$Y,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Radius == 0 ) { $Radius = 1; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- $X = floor($X); $Y = floor($Y);
-
- $Radius = abs($Radius);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledCircle($X+$this->ShadowX,$Y+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- $this->Mask = "";
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- for ($i=0; $i<=$Radius*2; $i++)
- {
- $Slice = sqrt($Radius * $Radius - ($Radius - $i) * ($Radius - $i));
- $XPos = floor($Slice);
- $YPos = $Y + $i - $Radius;
- $AAlias = $Slice - floor($Slice);
-
- $this->Mask[$X-$XPos][$YPos] = TRUE;
- $this->Mask[$X+$XPos][$YPos] = TRUE;
- imageline($this->Picture,$X-$XPos,$YPos,$X+$XPos,$YPos,$Color);
- }
- if ( $this->Antialias )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- $this->Mask = "";
-
- if ( $BorderR != -1 )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Write text */
- function drawText($X,$Y,$Text,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Align = isset($Format["Align"]) ? $Format["Align"] : TEXT_ALIGN_BOTTOMLEFT;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $ShowOrigine = isset($Format["ShowOrigine"]) ? $Format["ShowOrigine"] : FALSE;
- $TOffset = isset($Format["TOffset"]) ? $Format["TOffset"] : 2;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : FALSE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : TRUE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 6;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : FALSE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 6;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 255;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 255;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 255;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxBorderG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxBorderB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxBorderAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $NoShadow = isset($Format["NoShadow"]) ? $Format["NoShadow"] : FALSE;
-
- $Shadow = $this->Shadow;
- if ( $NoShadow ) { $this->Shadow = FALSE; }
-
- if ( $BoxSurrounding != "" ) { $BoxBorderR = $BoxR - $BoxSurrounding; $BoxBorderG = $BoxG - $BoxSurrounding; $BoxBorderB = $BoxB - $BoxSurrounding; $BoxBorderAlpha = $Boxalpha; }
-
- if ( $ShowOrigine )
- {
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($X,$Y,$MyMarkerSettings);
- }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text);
-
- if ( $DrawBox && ($Angle == 0 || $Angle == 90 || $Angle == 180 || $Angle == 270))
- {
- $T[0]["X"]=0;$T[0]["Y"]=0;$T[1]["X"]=0;$T[1]["Y"]=0;$T[2]["X"]=0;$T[2]["Y"]=0;$T[3]["X"]=0;$T[3]["Y"]=0;
- if ( $Angle == 0 ) { $T[0]["X"]=-$TOffset;$T[0]["Y"]=$TOffset;$T[1]["X"]=$TOffset;$T[1]["Y"]=$TOffset;$T[2]["X"]=$TOffset;$T[2]["Y"]=-$TOffset;$T[3]["X"]=-$TOffset;$T[3]["Y"]=-$TOffset; }
-
- $X1 = min($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) - $BorderOffset + 3;
- $Y1 = min($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) - $BorderOffset;
- $X2 = max($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) + $BorderOffset + 3;
- $Y2 = max($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) + $BorderOffset - 3;
-
- $X1 = $X1 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y1 = $Y1 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
- $X2 = $X2 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y2 = $Y2 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
-
- $Settings = array("R"=>$BoxR,"G"=>$BoxG,"B"=>$BoxB,"Alpha"=>$BoxAlpha,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"BorderAlpha"=>$BoxBorderAlpha);
-
- if ( $BoxRounded )
- { $this->drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$RoundedRadius,$Settings); }
- else
- { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Settings); }
- }
-
- $X = $X - $TxtPos[$Align]["X"] + $X;
- $Y = $Y - $TxtPos[$Align]["Y"] + $Y;
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $C_ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagettftext($this->Picture,$FontSize,$Angle,$X+$this->ShadowX,$Y+$this->ShadowY,$C_ShadowColor,$FontName,$Text);
- }
-
- $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagettftext($this->Picture,$FontSize,$Angle,$X,$Y,$C_TextColor,$FontName,$Text);
-
- $this->Shadow = $Shadow;
-
- return($TxtPos);
- }
-
- /* Draw a gradient within a defined area */
- function drawGradientArea($X1,$Y1,$X2,$Y2,$Direction,$Format="")
- {
- $StartR = isset($Format["StartR"]) ? $Format["StartR"] : 90;
- $StartG = isset($Format["StartG"]) ? $Format["StartG"] : 90;
- $StartB = isset($Format["StartB"]) ? $Format["StartB"] : 90;
- $EndR = isset($Format["EndR"]) ? $Format["EndR"] : 0;
- $EndG = isset($Format["EndG"]) ? $Format["EndG"] : 0;
- $EndB = isset($Format["EndB"]) ? $Format["EndB"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Levels = isset($Format["Levels"]) ? $Format["Levels"] : NULL;
-
- $Shadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- if ( $StartR == $EndR && $StartG == $EndG && $StartB == $EndB )
- {
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,array("R"=>$StartR,"G"=>$StartG,"B"=>$StartB,"Alpha"=>$Alpha));
- return(0);
- }
-
- if ( $Levels != NULL )
- { $EndR=$StartR+$Levels; $EndG=$StartG+$Levels; $EndB=$StartB+$Levels; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $Direction == DIRECTION_VERTICAL ) { $Width = abs($Y2-$Y1); }
- if ( $Direction == DIRECTION_HORIZONTAL ) { $Width = abs($X2-$X1); }
-
- $Step = max(abs($EndR-$StartR),abs($EndG-$StartG),abs($EndB-$StartB));
- $StepSize = $Width/$Step;
- $RStep = ($EndR-$StartR)/$Step;
- $GStep = ($EndG-$StartG)/$Step;
- $BStep = ($EndB-$StartB)/$Step;
-
- $R=$StartR;$G=$StartG;$B=$StartB;
- switch($Direction)
- {
- case DIRECTION_VERTICAL:
- $StartY = $Y1; $EndY = floor($Y2)+1; $LastY2 = $StartY;
- for($i=0;$i<=$Step;$i++)
- {
- $Y2 = floor($StartY + ($i * $StepSize));
-
- if ($Y2 > $EndY) { $Y2 = $EndY; }
- if (($Y1 != $Y2 && $Y1 < $Y2) || $Y2 == $EndY)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $LastY2 = max($LastY2,$Y2);
- $Y1 = $Y2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $LastY2 < $EndY && isset($Color)) { for ($i=$LastY2+1;$i<=$EndY;$i++) { $this->drawLine($X1,$i,$X2,$i,$Color); } }
- break;
-
- case DIRECTION_HORIZONTAL:
- $StartX = $X1; $EndX = $X2;
- for($i=0;$i<=$Step;$i++)
- {
- $X2 = floor($StartX + ($i * $StepSize));
-
- if ($X2 > $EndX) { $X2 = $EndX; }
- if (($X1 != $X2 && $X1 < $X2) || $X2 == $EndX)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $X1 = $X2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $X2 < $EndX && isset($Color)) { $this->drawFilledRectangle($X2,$Y1,$EndX,$Y2,$Color); }
- break;
- }
-
- $this->Shadow = $Shadow;
-
- }
-
- /* Draw an aliased pixel */
- function drawAntialiasPixel($X,$Y,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( !$this->Antialias )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $PlotColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$PlotColor);
-
- return(0);
- }
-
- $Plot = "";
- $Xi = floor($X);
- $Yi = floor($Y);
-
- if ( $Xi == $X && $Yi == $Y)
- {
- if ( $Alpha == 100 )
- $this->drawAlphaPixel($X,$Y,100,$R,$G,$B);
- else
- $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
- }
- else
- {
- $Alpha1 = (((1 - ($X - floor($X))) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
-
- $Alpha2 = ((($X - floor($X)) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
-
- $Alpha3 = (((1 - ($X - floor($X))) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
-
- $Alpha4 = ((($X - floor($X)) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
- }
- }
-
- /* Draw a semi-transparent pixel */
- function drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
- {
- if ( isset($this->Mask[$X])) { if ( isset($this->Mask[$X][$Y]) ) { return(0); } }
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $AlphaFactor = floor(($Alpha / 100) * $this->Shadowa);
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$AlphaFactor);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $C_Aliased = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
- }
-
- /* Convert apha to base 10 */
- function convertAlpha($AlphaValue)
- { return((127/100)*(100-$AlphaValue)); }
-
- /* Allocate a color with transparency */
- function allocateColor($Picture,$R,$G,$B,$Alpha=100)
- {
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
- if ( $Alpha < 0 ) { $Alpha = 0; }
- if ( $Alpha > 100) { $Alpha = 100; }
-
- $Alpha = $this->convertAlpha($Alpha);
- return(imagecolorallocatealpha($Picture,$R,$G,$B,$Alpha));
- }
-
- /* Load a PNG file and draw it over the chart */
- function drawFromPNG($X,$Y,$FileName)
- { $this->drawFromPicture(1,$FileName,$X,$Y); }
-
- /* Load a GIF file and draw it over the chart */
- function drawFromGIF($X,$Y,$FileName)
- { $this->drawFromPicture(2,$FileName,$X,$Y); }
-
- /* Load a JPEG file and draw it over the chart */
- function drawFromJPG($X,$Y,$FileName)
- { $this->drawFromPicture(3,$FileName,$X,$Y); }
-
- function getPicInfo($FileName)
- {
- $Infos = getimagesize($FileName);
- $Width = $Infos[0];
- $Height = $Infos[1];
- $Type = $Infos["mime"];
-
- if ( $Type == "image/png") { $Type = 1; }
- if ( $Type == "image/gif") { $Type = 2; }
- if ( $Type == "image/jpeg ") { $Type = 3; }
-
- return(array($Width,$Height,$Type));
- }
-
- /* Generic loader function for external pictures */
- function drawFromPicture($PicType,$FileName,$X,$Y)
- {
- if ( file_exists($FileName))
- {
- list($Width,$Height) = $this->getPicInfo($FileName);
-
- if ( $PicType == 1 )
- { $Raster = imagecreatefrompng($FileName); }
- elseif ( $PicType == 2 )
- { $Raster = imagecreatefromgif($FileName); }
- elseif ( $PicType == 3 )
- { $Raster = imagecreatefromjpeg($FileName); }
- else
- { return(0); }
-
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- if ( $PicType == 3 )
- $this->drawFilledRectangle($X+$this->ShadowX,$Y+$this->ShadowY,$X+$Width+$this->ShadowX,$Y+$Height+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- else
- {
- $TranparentID = imagecolortransparent($Raster);
- for ($Xc=0;$Xc<=$Width-1;$Xc++)
- {
- for ($Yc=0;$Yc<=$Height-1;$Yc++)
- {
- $RGBa = imagecolorat($Raster,$Xc,$Yc);
- $Values = imagecolorsforindex($Raster,$RGBa);
- if ( $Values["alpha"] < 120 )
- {
- $AlphaFactor = floor(($this->Shadowa / 100) * ((100 / 127) * (127-$Values["alpha"])));
- $this->drawAlphaPixel($X+$Xc+$this->ShadowX,$Y+$Yc+$this->ShadowY,$AlphaFactor,$this->ShadowR,$this->ShadowG,$this->ShadowB);
- }
- }
- }
- }
- }
- $this->Shadow = $RestoreShadow;
-
- imagecopy($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height);
- imagedestroy($Raster);
- }
- }
-
- /* Draw an arrow */
- function drawArrow($X1,$Y1,$X2,$Y2,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Ratio = isset($Format["Ratio"]) ? $Format["Ratio"] : .5;
- $TwoHeads = isset($Format["TwoHeads"]) ? $Format["TwoHeads"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : FALSE;
-
- /* Calculate the line angle */
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- /* Override Shadow support, this will be managed internally */
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawArrow($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("FillR"=>$this->ShadowR,"FillG"=>$this->ShadowG,"FillB"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Size"=>$Size,"Ratio"=>$Ratio,"TwoHeads"=>$TwoHeads,"Ticks"=>$Ticks));
- }
-
- /* Draw the 1st Head */
- $TailX = cos(($Angle-180)*PI/180)*$Size+$X2;
- $TailY = sin(($Angle-180)*PI/180)*$Size+$Y2;
-
- $Points = "";
- $Points[] = $X2; $Points[] = $Y2;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = $X2; $Points[] = $Y2;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- /* Draw the second head */
- if ( $TwoHeads )
- {
- $Angle = $this->getAngle($X2,$Y2,$X1,$Y1);
-
- $TailX2 = cos(($Angle-180)*PI/180)*$Size+$X1;
- $TailY2 = sin(($Angle-180)*PI/180)*$Size+$Y1;
-
- $Points = "";
- $Points[] = $X1; $Points[] = $Y1;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = $X1; $Points[] = $Y1;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->drawLine($TailX,$TailY,$TailX2,$TailY2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- $this->drawLine($X1,$Y1,$TailX,$TailY,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- /* Re-enable shadows */
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a label with associated arrow */
- function drawArrowLabel($X1,$Y1,$Text,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Length = isset($Format["Length"]) ? $Format["Length"] : 50;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 315;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Position = isset($Format["Position"]) ? $Format["Position"] : POSITION_TOP;
- $RoundPos = isset($Format["RoundPos"]) ? $Format["RoundPos"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Angle = $Angle % 360;
-
- $X2 = sin(($Angle+180)*PI/180)*$Length+$X1;
- $Y2 = cos(($Angle+180)*PI/180)*$Length+$Y1;
-
- if ( $RoundPos && $Angle > 0 && $Angle < 180 ) { $Y2 = ceil($Y2); }
- if ( $RoundPos && $Angle > 180 ) { $Y2 = floor($Y2); }
-
- $this->drawArrow($X2,$Y2,$X1,$Y1,$Format);
-
- $Size = imagettfbbox($FontSize,0,$FontName,$Text);
- $TxtWidth = max(abs($Size[2]-$Size[0]),abs($Size[0]-$Size[6]));
- $TxtHeight = max(abs($Size[1]-$Size[7]),abs($Size[3]-$Size[1]));
-
- if ( $Angle > 0 && $Angle < 180 )
- {
- $this->drawLine($X2,$Y2,$X2-$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_BOTTOMRIGHT));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPRIGHT));
- }
- else
- {
- $this->drawLine($X2,$Y2,$X2+$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPLEFT));
- }
- }
-
- /* Draw a progress bar filled with specified % */
- function drawProgress($X,$Y,$Percent,$Format="")
- {
- if ( $Percent > 100 ) { $Percent = 100; }
- if ( $Percent < 0 ) { $Percent = 0; }
-
- $Width = isset($Format["Width"]) ? $Format["Width"] : 200;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 20;
- $Orientation = isset($Format["Orientation"]) ? $Format["Orientation"] : ORIENTATION_HORIZONTAL;
- $ShowLabel = isset($Format["ShowLabel"]) ? $Format["ShowLabel"] : FALSE;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : LABEL_POS_INSIDE;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 10;
- $R = isset($Format["R"]) ? $Format["R"] : 130;
- $G = isset($Format["G"]) ? $Format["G"] : 130;
- $B = isset($Format["B"]) ? $Format["B"] : 130;
- $RFade = isset($Format["RFade"]) ? $Format["RFade"] : -1;
- $GFade = isset($Format["GFade"]) ? $Format["GFade"] : -1;
- $BFade = isset($Format["BFade"]) ? $Format["BFade"] : -1;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 0;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 0;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 0;
- $BoxBackR = isset($Format["BoxBackR"]) ? $Format["BoxBackR"] : 255;
- $BoxBackG = isset($Format["BoxBackG"]) ? $Format["BoxBackG"] : 255;
- $BoxBackB = isset($Format["BoxBackB"]) ? $Format["BoxBackB"] : 255;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $RFade = (($RFade-$R)/100)*$Percent+$R;
- $GFade = (($GFade-$G)/100)*$Percent+$G;
- $BFade = (($BFade-$B)/100)*$Percent+$B;
- }
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( $BoxSurrounding != NULL ) { $BoxBorderR = $BoxBackR + $Surrounding; $BoxBorderG = $BoxBackG + $Surrounding; $BoxBorderB = $BoxBackB + $Surrounding; }
-
- if ( $Orientation == ORIENTATION_VERTICAL )
- {
- $InnerHeight = (($Height-2)/100)*$Percent;
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y-$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$RFade,"StartG"=>$GFade,"StartB"=>$BFade,"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,DIRECTION_VERTICAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_BOTTOM ) { $this->drawText($X+($Width/2),$Y+$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_TOP ) { $this->drawText($X+($Width/2),$Y-$Height-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+($Width/2),$Y-$InnerHeight-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT,"Angle"=>90)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y-($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"Angle"=>90)); }
- }
- else
- {
- if ( $Percent == 100 )
- $InnerWidth = $Width-1;
- else
- $InnerWidth = (($Width-2)/100)*$Percent;
-
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y+$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$R,"StartG"=>$G,"StartB"=>$B,"EndR"=>$RFade,"EndG"=>$GFade,"EndB"=>$BFade);
- $this->drawGradientArea($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,DIRECTION_HORIZONTAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_LEFT ) { $this->drawText($X-$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_RIGHT ) { $this->drawText($X+$Width+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+$InnerWidth+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- }
- }
-
- /* Get the legend box size */
- function getLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $X=100; $Y=100;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the legend of the active series */
- function drawLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
- $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( isset($Serie["Picture"]) )
- {
- $Picture = $Serie["Picture"];
- list($PicWidth,$PicHeight) = $this->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- foreach($Lines as $Key => $Value)
- $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
-
- $this->Shadow = $RestoreShadow;
- }
-
- function drawScale($Format="")
- {
- $Pos = isset($Format["Pos"]) ? $Format["Pos"] : SCALE_POS_LEFTRIGHT;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : AUTO;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : TRUE;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $AutoAxisLabels = isset($Format["AutoAxisLabels"]) ? $Format["AutoAxisLabels"] : TRUE;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 20;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 20;
- $LabelingMethod = isset($Format["LabelingMethod"]) ? $Format["LabelingMethod"] : LABELING_ALL;
- $LabelSkip = isset($Format["LabelSkip"]) ? $Format["LabelSkip"] : 0;
- $LabelRotation = isset($Format["LabelRotation"]) ? $Format["LabelRotation"] : 0;
- $SkippedAxisTicks = isset($Format["SkippedAxisTicks"]) ? $Format["SkippedAxisTicks"] : $GridTicks+2;
- $SkippedAxisR = isset($Format["SkippedAxisR"]) ? $Format["SkippedAxisR"] : $GridR;
- $SkippedAxisG = isset($Format["SkippedAxisG"]) ? $Format["SkippedAxisG"] : $GridG;
- $SkippedAxisB = isset($Format["SkippedAxisB"]) ? $Format["SkippedAxisB"] : $GridB;
- $SkippedAxisAlpha = isset($Format["SkippedAxisAlpha"]) ? $Format["SkippedAxisAlpha"] : $GridAlpha-30;
- $SkippedTickR = isset($Format["SkippedTickR"]) ? $Format["SkippedTickR"] : $TickRo;
- $SkippedTickG = isset($Format["SkippedTickG"]) ? $Format["SkippedTickG"] : $TickGo;
- $SkippedTickB = isset($Format["SkippedTicksB"]) ? $Format["SkippedTickB"] : $TickBo;
- $SkippedTickAlpha = isset($Format["SkippedTickAlpha"]) ? $Format["SkippedTickAlpha"] : $TickAlpha-80;
- $SkippedInnerTickWidth = isset($Format["SkippedInnerTickWidth"]) ? $Format["SkippedInnerTickWidth"] : 0;
- $SkippedOuterTickWidth = isset($Format["SkippedOuterTickWidth"]) ? $Format["SkippedOuterTickWidth"] : 2;
-
- /* Floating scale require X & Y margins to be set manually */
- if ( $Floating && ( $XMargin == AUTO || $YMargin == 0 ) ) { $Floating = FALSE; }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE || $DrawYLines == FALSE ) { $DrawYLines = array("zarma"=>"31"); }
-
- /* Define the color for the skipped elements */
- $SkippedAxisColor = array("R"=>$SkippedAxisR,"G"=>$SkippedAxisG,"B"=>$SkippedAxisB,"Alpha"=>$SkippedAxisAlpha,"Ticks"=>$SkippedAxisTicks);
- $SkippedTickColor = array("R"=>$SkippedTickR,"G"=>$SkippedTickG,"B"=>$SkippedTickB,"Alpha"=>$SkippedTickAlpha);
-
- $Data = $this->DataSet->getData();
- if ( isset($Data["Abscissa"]) ) { $Abscissa = $Data["Abscissa"]; } else { $Abscissa = NULL; }
-
- /* Unset the abscissa axis, needed if we display multiple charts on the same picture */
- if ( $Abscissa != NULL )
- {
- foreach($Data["Axis"] as $AxisID => $Parameters)
- { if ($Parameters["Identity"] == AXIS_X) { unset($Data["Axis"][$AxisID]); } }
- }
-
- /* Build the scale settings */
- $GotXAxis = FALSE;
- foreach($Data["Axis"] as $AxisID => $AxisParameter)
- {
- if ( $AxisParameter["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
-
- if ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1 - $YMargin*2; }
- elseif ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_X)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1 - $YMargin*2;; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING || $Mode == SCALE_MODE_START0 )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] && $Data["Abscissa"] != $SerieID)
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- if ( $Mode == SCALE_MODE_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
- elseif ( $Mode == SCALE_MODE_ADDALL || $Mode == SCALE_MODE_ADDALL_START0 )
- {
- $Series = "";
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["Axis"] == $AxisID && $SerieParameter["isDrawable"] && $Data["Abscissa"] != $SerieID ) { $Series[$SerieID] = count($Data["Series"][$SerieID]["Data"]); } }
-
- for ($ID=0;$ID<=max($Series)-1;$ID++)
- {
- $PointMin = 0; $PointMax = 0;
- foreach($Series as $SerieID => $ValuesCount )
- {
- if (isset($Data["Series"][$SerieID]["Data"][$ID]) && $Data["Series"][$SerieID]["Data"][$ID] != NULL )
- {
- $Value = $Data["Series"][$SerieID]["Data"][$ID];
- if ( $Value > 0 ) { $PointMax = $PointMax + $Value; } else { $PointMin = $PointMin + $Value; }
- }
- }
- $AxisMax = max($AxisMax,$PointMax);
- $AxisMin = min($AxisMin,$PointMin);
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- $MaxDivs = floor($Height/$MinDivHeight);
-
- if ( $Mode == SCALE_MODE_ADDALL_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
-
- $Scale = $this->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisParameter["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Still no X axis */
- if ( $GotXAxis == FALSE )
- {
- if ( $Abscissa != NULL )
- {
- $Points = count($Data["Series"][$Abscissa]["Data"]);
- if ( $AutoAxisLabels )
- $AxisName = isset($Data["Series"][$Abscissa]["Description"]) ? $Data["Series"][$Abscissa]["Description"] : NULL;
- else
- $AxisName = NULL;
- }
- else
- {
- $Points = 0;
- $AxisName = isset($Data["XAxisName"]) ? $Data["XAxisName"] : NULL;
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["isDrawable"] ) { $Points = max($Points,count($SerieParameter["Data"])); } }
- }
-
- $AxisID = count($Data["Axis"]);
- $Data["Axis"][$AxisID]["Identity"] = AXIS_X;
- if ( $Pos == SCALE_POS_LEFTRIGHT ) { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_BOTTOM; } else { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; }
- if ( isset($Data["AbscissaName"]) ) { $Data["Axis"][$AxisID]["Name"] = $Data["AbscissaName"]; }
- if ( $XMargin == AUTO )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- if ( $Points == 1 )
- $Data["Axis"][$AxisID]["Margin"] = $Height / 2;
- else
- $Data["Axis"][$AxisID]["Margin"] = ($Height/$Points) / 2;
- }
- else
- { $Data["Axis"][$AxisID]["Margin"] = $XMargin; }
- $Data["Axis"][$AxisID]["Rows"] = $Points-1;
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- $this->DataSet->saveOrientation($Pos);
- $this->DataSet->saveAxisConfig($Data["Axis"]);
- $this->DataSet->saveYMargin($YMargin);
-
- $FontColorRo = $this->FontColorR; $FontColorGo = $this->FontColorG; $FontColorBo = $this->FontColorB;
-
- $AxisPos["L"] = $this->GraphAreaX1; $AxisPos["R"] = $this->GraphAreaX2; $AxisPos["T"] = $this->GraphAreaY1; $AxisPos["B"] = $this->GraphAreaY2;
- foreach($Data["Axis"] as $AxisID => $Parameters)
- {
- if ( isset($Parameters["Color"]) )
- {
- $AxisR = $Parameters["Color"]["R"]; $AxisG = $Parameters["Color"]["G"]; $AxisB = $Parameters["Color"]["B"];
- $TickR = $Parameters["Color"]["R"]; $TickG = $Parameters["Color"]["G"]; $TickB = $Parameters["Color"]["B"];
- $this->setFontProperties(array("R"=>$Parameters["Color"]["R"],"G"=>$Parameters["Color"]["G"],"B"=>$Parameters["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $Parameters["Identity"] == AXIS_X )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / ($Parameters["Rows"]); }
-
- $MaxBottom = $AxisPos["B"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$SkippedInnerTickWidth,$XPos,$YPos+$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($XPos != $this->GraphAreaX1 && $XPos != $this->GraphAreaX2) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / $Parameters["Rows"]; }
-
- $MinTop = $AxisPos["T"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-2-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$SkippedInnerTickWidth,$XPos,$YPos-$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$InnerTickWidth,$XPos,$YPos-$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -2; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MinLeft = $AxisPos["L"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["L"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos-$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos-$SkippedOuterTickWidth,$YPos,$XPos+$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($YPos != $this->GraphAreaY1 && $YPos != $this->GraphAreaY2) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[0]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 7; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MaxRight = $AxisPos["R"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["R"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos+$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxRight = max($MaxRight,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos+$SkippedOuterTickWidth,$YPos,$XPos-$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos+$OuterTickWidth,$YPos,$XPos-$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxRight+4;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxRight = $Bounds[1]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxRight + $this->FontSize;
- }
-
- $AxisPos["R"] = $MaxRight + $ScaleSpacing;
- }
- }
- }
-
-
-
- if ( $Parameters["Identity"] == AXIS_Y )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxLeft + $this->FontSize;
- }
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-2,$Value,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $TxtHeight = $YPos-$OuterTickWidth-2-($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+2,$Value,array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $TxtHeight = $YPos+$OuterTickWidth+2+($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- }
- }
- }
- }
-
- function isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip)
- {
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value != $LastValue ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value == $LastValue ) { return(FALSE); }
- if ( $LabelingMethod == LABELING_ALL && $LabelSkip == 0 ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_ALL && ($ID+$LabelSkip) % ($LabelSkip+1) != 1 ) { return(FALSE); }
-
- return(TRUE);
- }
-
- /* Compute the scale, check for the best visual factors */
- function computeScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID=0)
- {
- /* Compute each factors */
- $Results = "";
- foreach ($Factors as $Key => $Factor)
- $Results[$Factor] = $this->processScale($XMin,$XMax,$MaxDivs,array($Factor),$AxisID);
-
- /* Remove scales that are creating to much decimals */
- $GoodScaleFactors = "";
- foreach ($Results as $Key => $Result)
- {
- $Decimals = preg_split("/\./",$Result["RowHeight"]);
- if ( (!isset($Decimals[1])) || (strlen($Decimals[1]) < 6) ) { $GoodScaleFactors[] = $Key; }
- }
-
- /* Found no correct scale, shame,... returns the 1st one as default */
- if ( $GoodScaleFactors == "" ) { return($Results[$Factors[0]]); }
-
- /* Find the factor that cause the maximum number of Rows */
- $MaxRows = 0; $BestFactor = 0;
- foreach($GoodScaleFactors as $Key => $Factor)
- { if ( $Results[$Factor]["Rows"] > $MaxRows ) { $MaxRows = $Results[$Factor]["Rows"]; $BestFactor = $Factor; } }
-
- /* Return the best visual scale */
- return($Results[$BestFactor]);
- }
-
- /* Compute the best matching scale based on size & factors */
- function processScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID)
- {
- $ScaleHeight = abs(ceil($XMax)-floor($XMin));
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Format"]) )
- $Format = $this->DataSet->Data["Axis"][$AxisID]["Format"];
- else
- $Format = NULL;
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Display"]) )
- $Mode = $this->DataSet->Data["Axis"][$AxisID]["Display"];
- else
- $Mode = AXIS_FORMAT_DEFAULT;
-
- $Scale = "";
- if ( $XMin != $XMax )
- {
- $Found = FALSE; $Rescaled = FALSE; $Scaled10Factor = .0001; $Result = 0;
- while(!$Found)
- {
- foreach($Factors as $Key => $Factor)
- {
- if ( !$Found )
- {
- if ( !($this->modulo($XMin,$Factor*$Scaled10Factor) == 0) || ($XMin != floor($XMin))) { $XMinRescaled = floor($XMin/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor; } else { $XMinRescaled = $XMin; }
- if ( !($this->modulo($XMax,$Factor*$Scaled10Factor) == 0) || ($XMax != floor($XMax))) { $XMaxRescaled = floor($XMax/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor+($Factor*$Scaled10Factor); } else { $XMaxRescaled = $XMax; }
- $ScaleHeightRescaled = abs($XMaxRescaled-$XMinRescaled);
-
- if ( !$Found && floor($ScaleHeightRescaled/($Factor*$Scaled10Factor)) <= $MaxDivs ) { $Found = TRUE; $Rescaled = TRUE; $Result = $Factor * $Scaled10Factor; }
- }
- }
- $Scaled10Factor = $Scaled10Factor * 10;
- }
-
- /* ReCall Min / Max / Height */
- if ( $Rescaled ) { $XMin = $XMinRescaled; $XMax = $XMaxRescaled; $ScaleHeight = $ScaleHeightRescaled; }
-
- /* Compute rows size */
- $Rows = floor($ScaleHeight / $Result); if ( $Rows == 0 ) { $Rows = 1; }
- $RowHeight = $ScaleHeight / $Rows;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
-
- /* Compute the needed decimals for the metric view to avoid repetition of the same X Axis labels */
- if ( $Mode == AXIS_FORMAT_METRIC && $Format == NULL )
- {
- $Done = FALSE; $GoodDecimals = 0;
- for($Decimals=0;$Decimals<=10;$Decimals++)
- {
- if ( !$Done )
- {
- $LastLabel = "zob"; $ScaleOK = TRUE;
- for($i=0;$i<=$Rows;$i++)
- {
- $Value = $XMin + $i*$RowHeight;
- $Label = $this->scaleFormat($Value,AXIS_FORMAT_METRIC,$Decimals);
-
- if ( $LastLabel == $Label ) { $ScaleOK = FALSE; }
- $LastLabel = $Label;
- }
- if ( $ScaleOK ) { $Done = TRUE; $GoodDecimals = $Decimals; }
- }
- }
-
- $Scale["Format"] = $GoodDecimals;
- }
- }
- else
- {
- /* If all values are the same we keep a +1/-1 scale */
- $Rows = 2; $XMin = $XMax-1; $XMax = $XMax+1; $RowHeight = 1;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
- }
-
- return($Scale);
- }
-
- function modulo($Value1,$Value2)
- {
- if (floor($Value2) == 0) { return(0); }
- if (floor($Value2) != 0) { return($Value1 % $Value2); }
-
- $MinValue = min($Value1,$Value2); $Factor = 10;
- while ( floor($MinValue*$Factor) == 0 )
- { $Factor = $Factor * 10; }
-
- return(($Value1*$Factor) % ($Value2*$Factor));
- }
-
- /* Draw a threshold with the computed scale */
- function drawThreshold($Value,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 50;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 6;
- $Wide = isset($Format["Wide"]) ? $Format["Wide"] : FALSE;
- $WideFactor = isset($Format["WideFactor"]) ? $Format["WideFactor"] : 5;
- $WriteCaption = isset($Format["WriteCaption"]) ? $Format["WriteCaption"] : FALSE;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : NULL;
- $CaptionAlign = isset($Format["CaptionAlign"]) ? $Format["CaptionAlign"] : CAPTION_LEFT_TOP;
- $CaptionOffset = isset($Format["CaptionOffset"]) ? $Format["CaptionOffset"] : 10;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 30;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha,
- "R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha);
-
- if ( $Caption == NULL ) { $Caption = $Value; }
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $YPos >= $this->GraphAreaY1 && $YPos <= $this->GraphAreaY2 )
- {
- $this->drawLine($this->GraphAreaX1,$YPos,$this->GraphAreaX2,$YPos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($this->GraphAreaX1,$YPos-1,$this->GraphAreaX2,$YPos-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($this->GraphAreaX1,$YPos+1,$this->GraphAreaX2,$YPos+1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $X = $this->GraphAreaX1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- { $X = $this->GraphAreaX2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
-
- $this->drawText($X,$YPos,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$YPos));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $XPos >= $this->GraphAreaX1 && $XPos <= $this->GraphAreaX2 )
- {
- $this->drawLine($XPos,$this->GraphAreaY1,$XPos,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($XPos-1,$this->GraphAreaY1,$XPos-1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($XPos+1,$this->GraphAreaY1,$XPos+1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $Y = $this->GraphAreaY1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- else
- { $Y = $this->GraphAreaY2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
-
- $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $this->drawText($XPos,$Y,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$XPos));
- }
- }
-
- /* Draw a threshold with the computed scale */
- function drawThresholdArea($Value1,$Value2,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 20;
- $Border = isset($Format["Border"]) ? $Format["Border"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha + 20;
- $BorderTicks = isset($Format["BorderTicks"]) ? $Format["BorderTicks"] : 2;
-
- if ($BorderAlpha >100) { $BorderAlpha = 100;}
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $YPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $YPos1 > $this->GraphAreaY2 ) { $YPos1 = $this->GraphAreaY2; } if ( $YPos1 < $this->GraphAreaY1 ) { $YPos1 = $this->GraphAreaY1; }
- if ( $YPos2 > $this->GraphAreaY2 ) { $YPos2 = $this->GraphAreaY2; } if ( $YPos2 < $this->GraphAreaY1 ) { $YPos2 = $this->GraphAreaY1; }
-
- $this->drawFilledRectangle($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($this->GraphAreaX1+1,$YPos2,$this->GraphAreaX2-1,$YPos2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$YPos1,"Y2"=>$YPos2));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $XPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $XPos1 > $this->GraphAreaX2 ) { $XPos1 = $this->GraphAreaX2; } if ( $XPos1 < $this->GraphAreaX1 ) { $XPos1 = $this->GraphAreaX1; }
- if ( $XPos2 > $this->GraphAreaX2 ) { $XPos2 = $this->GraphAreaX2; } if ( $XPos2 < $this->GraphAreaX1 ) { $XPos2 = $this->GraphAreaX1; }
-
- $this->drawFilledRectangle($XPos1,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($XPos1,$this->GraphAreaY1+1,$XPos1,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($XPos2,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$XPos1,"Y2"=>$XPos2));
- }
- }
-
- function scaleGetXSettings()
- {
- $Data = $this->DataSet->getData();
- foreach($Data["Axis"] as $AxisID => $Settings)
- {
- if ( $Settings["Identity"] == AXIS_X )
- {
- $Rows = $Settings["Rows"];
-
- return(array($Settings["Margin"],$Rows));
- }
- }
- }
-
- function scaleComputeY($Values,$Option="",$ReturnOnly0Height=FALSE)
- {
- $AxisID = isset($Option["AxisID"]) ? $Option["AxisID"] : 0;
- $SerieName = isset($Option["SerieName"]) ? $Option["SerieName"] : NULL;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $SerieName != NULL ) { $AxisID = $Data["Series"][$SerieName]["Axis"]; }
- if ( !is_array($Values) ) { $tmp = $Values; $Values = ""; $Values[0] = $tmp; }
-
- $Result = "";
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
- else
- {
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleWidth = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Width / $ScaleWidth;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
-
- if ( count($Result) == 1 )
- return($Result[0]);
- else
- return($Result);
- }
-
- /* Format the axis values */
- function scaleFormat($Value,$Mode=NULL,$Format=NULL,$Unit=NULL)
- {
- if ( $Value == VOID ) { return(""); }
-
- if ( $Mode == AXIS_FORMAT_DATE )
- { if ( $Format == NULL ) { $Pattern = "d/m/Y"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_TIME )
- { if ( $Format == NULL ) { $Pattern = "H:i:s"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_CURRENCY )
- { return($Format.number_format($Value,2)); }
-
- if ( $Mode == AXIS_FORMAT_METRIC )
- {
- if (abs($Value) > 1000000000)
- return(round($Value/1000000000,$Format)."g".$Unit);
- if (abs($Value) > 1000000)
- return(round($Value/1000000,$Format)."m".$Unit);
- elseif (abs($Value) >= 1000)
- return(round($Value/1000,$Format)."k".$Unit);
-
- }
- return($Value.$Unit);
- }
-
- /* Write Max value on a chart */
- function writeBounds($Type=BOUND_BOTH,$Format=NULL)
- {
- $MaxLabelTxt = isset($Format["MaxLabelTxt"]) ? $Format["MaxLabelTxt"] : "max=";
- $MinLabelTxt = isset($Format["MinLabelTxt"]) ? $Format["MinLabelTxt"] : "min=";
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : 1;
- $ExcludedSeries = isset($Format["ExcludedSeries"]) ? $Format["ExcludedSeries"] : "";
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $MaxDisplayR = isset($Format["MaxDisplayR"]) ? $Format["MaxDisplayR"] : 0;
- $MaxDisplayG = isset($Format["MaxDisplayG"]) ? $Format["MaxDisplayG"] : 0;
- $MaxDisplayB = isset($Format["MaxDisplayB"]) ? $Format["MaxDisplayB"] : 0;
- $MinDisplayR = isset($Format["MinDisplayR"]) ? $Format["MinDisplayR"] : 255;
- $MinDisplayG = isset($Format["MinDisplayG"]) ? $Format["MinDisplayG"] : 255;
- $MinDisplayB = isset($Format["MinDisplayB"]) ? $Format["MinDisplayB"] : 255;
- $MinLabelPos = isset($Format["MinLabelPos"]) ? $Format["MinLabelPos"] : BOUND_LABEL_POS_AUTO;
- $MaxLabelPos = isset($Format["MaxLabelPos"]) ? $Format["MaxLabelPos"] : BOUND_LABEL_POS_AUTO;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 20;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha);
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Data = $this->DataSet->getData();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && !isset($ExcludedSeries[$SerieName]))
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $MinValue = $this->DataSet->getMin($SerieName);
- $MaxValue = $this->DataSet->getMax($SerieName);
-
- $MinPos = VOID; $MaxPos = VOID;
- foreach($Serie["Data"] as $Key => $Value)
- {
- if ( $Value == $MinValue && $MinPos == VOID ) { $MinPos = $Key; }
- if ( $Value == $MaxValue ) { $MaxPos = $Key; }
- }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaX1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat(round($MaxValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat(round($MinValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos-$DisplayOffset+$YOffset,$Label,$CaptionSettings);
- }
- }
- else
- {
- $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaY1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat($MaxValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat($MinValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
- }
- }
- }
- }
-
- /* Draw a plot chart */
- function drawPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 50;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 50;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 50;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( isset($Serie["Picture"]) )
- { $Picture = $Serie["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->getPicInfo($Picture); }
- else { $Picture = NULL; $PicOffset = 0; }
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Shape = $Serie["Shape"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicHeight / 2; $PlotSize = 0; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset-$PlotSize-$BorderSize-$PicOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicWidth / 2; $PlotSize = 0; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset+$PlotSize+$BorderSize+$PicOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a spline chart */
- function drawSplineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL; // 234
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL; // 55
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL; // 26
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y == VOID && $LastY != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $Y != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X == VOID && $LastX != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodX != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $X != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $X != VOID ) { $LastGoodX = $X; $LastGoodY = $Y; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
- }
- }
-
- /* Draw a filled spline chart */
- function drawFilledSplineChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- if ( $AroundZero ) { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- $LastX = ""; $LastY = "";
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y-.5); /* -.5 for AA visual fix */
-
- $X = $X + $XStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y);
-
- $Y = $Y + $YStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawLineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- { $this->drawText($X+$DisplayOffset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawZoneChart($SerieA,$SerieB,$Format=NULL)
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 150;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 150;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 150;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 50;
- $LineTicks = isset($Format["LineTicks"]) ? $Format["LineTicks"] : 1;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 150;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 150;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 150;
- $AreaAlpha = isset($Format["AreaAlpha"]) ? $Format["AreaAlpha"] : 5;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Series"][$SerieA]["Data"]) || !isset($Data["Series"][$SerieB]["Data"]) ) { return(0); }
- $SerieAData = $Data["Series"][$SerieA]["Data"];
- $SerieBData = $Data["Series"][$SerieB]["Data"];
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArrayA = $this->scaleComputeY($SerieAData,array("AxisID"=>$AxisID));
- $PosArrayB = $this->scaleComputeY($SerieBData,array("AxisID"=>$AxisID));
- if ( count($PosArrayA) != count($PosArrayB) ) { return(0); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastX = NULL; $LastY1 = NULL; $LastY2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $Y1)
- {
- $Y2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X; $BoundsA[] = $Y1;
- $BoundsB[] = $X; $BoundsB[] = $Y2;
-
- $LastX = $X;
- $LastY1 = $Y1; $LastY2 = $Y2;
-
- $X = $X + $XStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastY = NULL; $LastX1 = NULL; $LastX2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $X1)
- {
- $X2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X1; $BoundsA[] = $Y;
- $BoundsB[] = $X2; $BoundsB[] = $Y;
-
- $LastY = $Y;
- $LastX1 = $X1; $LastX2 = $X2;
-
- $Y = $Y + $YStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- }
-
- /* Draw a step chart */
- function drawStepChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : FALSE;
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Y <= $LastY ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$X,$LastY,$Color);
- $this->drawLine($X,$LastY,$X,$Y,$Color);
- if ( $ReCenter && $X+$XStep < $this->GraphAreaX2 - $XMargin )
- {
- $this->drawLine($X,$Y,$X+$XStep,$Y,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- { if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); } }
- }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- if ( $ReCenter )
- {
- $this->drawLine($LastGoodX+$XStep,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX+$XStep-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- {
- $this->drawLine($LastGoodX,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- $this->drawLine($X,$LastGoodY,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif( !$BreakVoid && $LastGoodY == NULL && $Y != VOID )
- {
- $this->drawLine($this->GraphAreaX1 + $XMargin,$Y,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($this->GraphAreaX1+$XMargin-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$this->GraphAreaX2 - $XMargin,$LastY,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($this->GraphAreaX2-$XMargin+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $X >= $LastX ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$LastX,$Y,$Color);
- $this->drawLine($LastX,$Y,$X,$Y,$Color);
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- $this->drawLine($LastGoodX,$LastGoodY,$LastGoodX,$LastGoodY+$YStep,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($LastGoodY+$YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$LastGoodY+$YStep,$LastGoodX,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY+$YStep-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$Y,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif ( $X != VOID && $LastGoodY == NULL && !$BreakVoid )
- {
- $this->drawLine($X,$this->GraphAreaY1 + $XMargin,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($this->GraphAreaY1+$XMargin-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( !$Init && $ReCenter ) { $Y = $Y - $YStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$LastX,$this->GraphAreaY2 - $XMargin,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$ImageMapPlotSize).",".floor($this->GraphAreaY2-$XMargin+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- }
- }
- }
-
- /* Draw a step chart */
- function drawFilledStepChart($Format=NULL)
- {
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
- if ( $ForceTransparency != NULL ) { $Color["Alpha"] = $ForceTransparency; } else { $Color["Alpha"] = $Alpha; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = ""; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $YZero;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $LastX; $Points[] = $YZero; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX+$XStep/2; $Points[] = $LastY;
- $Points[] = $LastX+$XStep/2; $Points[] = $YZero;
- }
- else
- { $Points[] = $LastX; $Points[] = $YZero; }
-
- $this->drawPolygon($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = "";
- foreach($PosArray as $Key => $X)
- {
- if ( $X == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $YZero; $Points[] = $Y;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $YZero; $Points[] = $LastY; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( $LastX == NULL && $ReCenter ) { $Y = $Y - $YStep/2; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX; $Points[] = $LastY+$YStep/2;
- $Points[] = $YZero; $Points[] = $LastY+$YStep/2;
- }
- else
- { $Points[] = $YZero; $Points[] = $LastY; }
-
- $this->drawPolygon($Points,$Color);
- }
- }
- }
- }
-
- /* Draw an area chart */
- function drawAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : 25;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Areas = ""; $AreaID = 0;
- $Areas[$AreaID][] = $this->GraphAreaX1 + $XMargin;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y == VOID && isset($Areas[$AreaID]) )
- {
- if($LastX == NULL)
- { $Areas[$AreaID][] = $X; }
- else
- { $Areas[$AreaID][] = $LastX; }
-
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- $AreaID++;
- }
- elseif ($Y != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- $Areas[$AreaID][] = $X;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X;
- $X = $X + $XStep;
- }
- $Areas[$AreaID][] = $LastX;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Areas = ""; $AreaID = 0;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $this->GraphAreaY1 + $XMargin;
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X == VOID && isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
-
- if($LastY == NULL)
- { $Areas[$AreaID][] = $Y; }
- else
- { $Areas[$AreaID][] = $LastY; }
-
- $AreaID++;
- }
- elseif ($X != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $Y;
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $LastY;
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- }
- }
- }
-
-
- /* Draw a bar chart */
- function drawBarChart($Format=NULL)
- {
- $Floating0Serie = isset($Format["Floating0Serie"]) ? $Format["Floating0Serie"] : NULL;
- $Floating0Value = isset($Format["Floating0Value"]) ? $Format["Floating0Value"] : NULL;
- $Draw0Line = isset($Format["Draw0Line"]) ? $Format["Draw0Line"] : FALSE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayPos = isset($Format["DisplayPos"]) ? $Format["DisplayPos"] : LABEL_POS_OUTSIDE;
- $DisplayShadow = isset($Format["DisplayShadow"]) ? $Format["DisplayShadow"] : TRUE;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $TxtMargin = isset($Format["TxtMargin"]) ? $Format["TxtMargin"] : 6;
- $OverrideColors = isset($Format["OverrideColors"]) ? $Format["OverrideColors"] : NULL;
- $OverrideSurrounding = isset($Format["OverrideSurrounding"]) ? $Format["OverrideSurrounding"] : 30;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $OverrideColors != NULL )
- {
- $OverrideColors = $this->validatePalette($OverrideColors,$OverrideSurrounding);
- $this->DataSet->saveExtendedData("Palette",$OverrideColors);
- }
-
- $RestoreShadow = $this->Shadow;
-
- $SeriesCount = $this->countDrawableSeries();
- $CurrentSerie = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Floating0Value != NULL )
- { $YZero = $this->scaleComputeY($Floating0Value,array("AxisID"=>$Serie["Axis"])); }
- else
- { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- if ( $XDivs == 0 ) { $XSize = ($this->GraphAreaX2-$this->GraphAreaX1)/($SeriesCount+$Interleave); } else { $XSize = ($XStep / ($SeriesCount+$Interleave) ); }
-
- $XOffset = -($XSize*$SeriesCount)/2 + $CurrentSerie * $XSize;
- if ( $X + $XOffset <= $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $X + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $XOffset + $XSize / 2;
-
- if ( $Rounded || $BorderR != -1) { $XSpace = 1; } else { $XSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0;
- foreach($PosArray as $Key => $Y2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- { $Value = $Data["Series"][$Floating0Serie]["Data"][$Key]; }
- else
- { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $Y2 != VOID )
- {
- $BarHeight = $Y1 - $Y2;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y1,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset+$XSpace).",".floor($Y1).",".floor($X+$XOffset+$XSize-$XSpace).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle($X+$XOffset+$XSpace+1,min($Y1,$Y2)+1,$X+$XOffset+$XSize-$XSpace-1,max($Y1,$Y2)-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_VERTICAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSpan-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor1);
- $this->drawGradientArea($X+$XOffset+$XSpan+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($Y1 - $Y2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $Y1 - $Y2 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1)-$Line0Width,$Line0Color);
- $this->drawLine($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1),$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,90,$Caption);
- $TxtHeight = $TxtPos[0]["Y"] - $TxtPos[1]["Y"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtHeight) < abs($BarHeight) )
- {
- $CenterX = (($X+$XOffset+$XSize-$XSpace)-($X+$XOffset+$XSpace))/2 + $X+$XOffset+$XSpace;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"Angle"=>90));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$XOffset+$XSize/2,$Y2-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-
- $X = $X + $XStep;
- $ID++;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- if ( $XDivs == 0 ) { $YSize = ($this->GraphAreaY2-$this->GraphAreaY1)/($SeriesCount+$Interleave); } else { $YSize = ($YStep / ($SeriesCount+$Interleave) ); }
-
- $YOffset = -($YSize*$SeriesCount)/2 + $CurrentSerie * $YSize;
- if ( $Y + $YOffset <= $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $Y + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $YOffset + $YSize / 2;
-
- if ( $Rounded || $BorderR != -1 ) { $YSpace = 1; } else { $YSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0 ;
- foreach($PosArray as $Key => $X2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- $Value = $Data["Series"][$Floating0Serie]["Data"][$Key];
- else { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $X2 != VOID )
- {
- $BarWidth = $X2 - $X1;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X1,$Y+$YOffset+$YSpace,$X1,$Y+$YOffset+$YSize-$YSpace,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1).",".floor($Y+$YOffset+$YSpace).",".floor($X2).",".floor($Y+$YOffset+$YSize-$YSpace),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle(min($X1,$X2)+1,$Y+$YOffset+$YSpace+1,max($X1,$X2)-1,$Y+$YOffset+$YSize-$YSpace-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_HORIZONTAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSpan-$YSpace,DIRECTION_VERTICAL,$GradienColor1);
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpan,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_VERTICAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($X1 - $X2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $X2 - $X1 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle(floor($X1),$Y+$YOffset+$YSpace,floor($X1)+$Line0Width,$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- $this->drawLine(floor($X1),$Y+$YOffset+$YSpace,floor($X1),$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = $TxtPos[1]["X"] - $TxtPos[0]["X"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtWidth) < abs($BarWidth) )
- {
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = (($Y+$YOffset+$YSize-$YSpace)-($Y+$YOffset+$YSpace))/2 + ($Y+$YOffset+$YSpace);
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X2+$Offset,$Y+$YOffset+$YSize/2,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- $Y = $Y + $YStep;
- $ID++;
- }
- }
- $CurrentSerie++;
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedBarChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- $Color = array("TransCorner"=>TRUE,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $XSize = ($XStep / (1+$Interleave) );
- $XOffset = -($XSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Height)
- {
- if ( $Height != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $Y1 != $YZero) ) { $YSpaceUp = 1; } else { $YSpaceUp = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $Y1 != $YZero) ) { $YSpaceDown = 1; } else { $YSpaceDown = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset).",".floor($Y1-$YSpaceUp+$YSpaceDown).",".floor($X+$XOffset+$XSize).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X+$XOffset+1,$X+$XOffset+$XSize),min($Y1-$YSpaceUp+$YSpaceDown,$Y2)+1,max($X+$XOffset+1,$X+$XOffset+$XSize)-1,max($Y1-$YSpaceUp+$YSpaceDown,$Y2)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_VERTICAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSpan,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor1);
- $this->drawGradientArea($X+$XSpan+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = ( ($X+$XOffset+$XSize) - ($X+$XOffset) ) / 2 + $X+$XOffset;
- $YCenter = ( ($Y2) - ($Y1-$YSpaceUp+$YSpaceDown) ) / 2 + $Y1-$YSpaceUp+$YSpaceDown;
-
- $this->drawText($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
-
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $YSize = $YStep / (1+$Interleave);
- $YOffset = -($YSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Width)
- {
- if ( $Width != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $X1 != $YZero) ) { $XSpaceLeft = 2; } else { $XSpaceLeft = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $X1 != $YZero) ) { $XSpaceRight = 2; } else { $XSpaceRight = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1+$XSpaceLeft).",".floor($Y+$YOffset).",".floor($X2-$XSpaceRight).",".floor($Y+$YOffset+$YSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X1+$XSpaceLeft,$X2-$XSpaceRight)+1,min($Y+$YOffset,$Y+$YOffset+$YSize)+1,max($X1+$XSpaceLeft,$X2-$XSpaceRight)-1,max($Y+$YOffset,$Y+$YOffset+$YSize)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_HORIZONTAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSpan,DIRECTION_VERTICAL,$GradientColor1);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset+$YSpan,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_VERTICAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = ( $X2 - $X1 ) / 2 + $X1;
- $YCenter = ( ($Y+$YOffset+$YSize) - ($Y+$YOffset) ) / 2 + $Y+$YOffset;
-
- $this->drawText($XCenter,$YCenter,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
-
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- /* Determine if we only have positive or negatives values */
- $Sign["+"] = 0; $Sign["-"] = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- { foreach($Serie["Data"] as $Key => $Value) { if ($Value > 0) { $Sign["+"]++; } elseif ($Value < 0) { $Sign["-"]++; } } }
- }
- if ( $Sign["+"] == 0 || $Sign["-"] == 0 ) { $SingleWay = TRUE; } else { $SingleWay = FALSE; }
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
-
- if ( $ForceTransparency != NULL ) { $Alpha = $ForceTransparency; }
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL )
- { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- else
- { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipY"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipY"]); }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] >= 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $Y1- $BarHeight / 2;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- /* Reset the X axis parser for the negative values pass */
- $X = $this->GraphAreaX1 + $XMargin;
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] < 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $BarHeight / 2 + $Y1;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipX"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipX"]); }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] >= 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 + $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
-
- /* Reset the X axis parser for the negative values pass */
- $Y = $this->GraphAreaY1 + $XMargin;
-
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] < 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 - $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- }
- }
- }
-
- /* Returns a random color */
- function getRandomColor($Alpha=100)
- { return(array("R"=>rand(0,255),"G"=>rand(0,255),"B"=>rand(0,255),"Alpha"=>$Alpha)); }
-
- /* Validate a palette */
- function validatePalette($Colors,$Surrounding=NULL)
- {
- $Result = "";
-
- if ( !is_array($Colors) ) { return($this->getRandomColor()); }
-
- foreach($Colors as $Key => $Values)
- {
- if ( isset($Values["R"]) ) { $Result[$Key]["R"] = $Values["R"]; } else { $Result[$Key]["R"] = rand(0,255); }
- if ( isset($Values["G"]) ) { $Result[$Key]["G"] = $Values["G"]; } else { $Result[$Key]["G"] = rand(0,255); }
- if ( isset($Values["B"]) ) { $Result[$Key]["B"] = $Values["B"]; } else { $Result[$Key]["B"] = rand(0,255); }
- if ( isset($Values["Alpha"]) ) { $Result[$Key]["Alpha"] = $Values["Alpha"]; } else { $Result[$Key]["Alpha"] = 100; }
-
- if ( $Surrounding != NULL )
- {
- $Result[$Key]["BorderR"] = $Result[$Key]["R"] + $Surrounding;
- $Result[$Key]["BorderG"] = $Result[$Key]["G"] + $Surrounding;
- $Result[$Key]["BorderB"] = $Result[$Key]["B"] + $Surrounding;
- }
- else
- {
- if ( isset($Values["BorderR"]) ) { $Result[$Key]["BorderR"] = $Values["BorderR"]; } else { $Result[$Key]["BorderR"] = $Result[$Key]["R"]; }
- if ( isset($Values["BorderG"]) ) { $Result[$Key]["BorderG"] = $Values["BorderG"]; } else { $Result[$Key]["BorderG"] = $Result[$Key]["G"]; }
- if ( isset($Values["BorderB"]) ) { $Result[$Key]["BorderB"] = $Values["BorderB"]; } else { $Result[$Key]["BorderB"] = $Result[$Key]["B"]; }
- if ( isset($Values["BorderAlpha"]) ) { $Result[$Key]["BorderAlpha"] = $Values["BorderAlpha"]; } else { $Result[$Key]["BorderAlpha"] = $Result[$Key]["Alpha"]; }
- }
- }
-
- return($Result);
- }
-
- /* Draw the derivative chart associated to the data series */
- function drawDerivative($Format=NULL)
- {
- $Offset = isset($Format["Offset"]) ? $Format["Offset"] : 10;
- $SerieSpacing = isset($Format["SerieSpacing"]) ? $Format["SerieSpacing"] : 3;
- $DerivativeHeight = isset($Format["DerivativeHeight"]) ? $Format["DerivativeHeight"] : 4;
- $ShadedSlopeBox = isset($Format["ShadedSlopeBox"]) ? $Format["ShadedSlopeBox"] : FALSE;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 20;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : TRUE;
- $CaptionHeight = isset($Format["CaptionHeight"]) ? $Format["CaptionHeight"] : 10;
- $CaptionWidth = isset($Format["CaptionWidth"]) ? $Format["CaptionWidth"] : 20;
- $CaptionMargin = isset($Format["CaptionMargin"]) ? $Format["CaptionMargin"] : 4;
- $CaptionLine = isset($Format["CaptionLine"]) ? $Format["CaptionLine"] : FALSE;
- $CaptionBox = isset($Format["CaptionBox"]) ? $Format["CaptionBox"] : FALSE;
- $CaptionBorderR = isset($Format["CaptionBorderR"]) ? $Format["CaptionBorderR"] : 0;
- $CaptionBorderG = isset($Format["CaptionBorderG"]) ? $Format["CaptionBorderG"] : 0;
- $CaptionBorderB = isset($Format["CaptionBorderB"]) ? $Format["CaptionBorderB"] : 0;
- $CaptionFillR = isset($Format["CaptionFillR"]) ? $Format["CaptionFillR"] : 255;
- $CaptionFillG = isset($Format["CaptionFillG"]) ? $Format["CaptionFillG"] : 255;
- $CaptionFillB = isset($Format["CaptionFillB"]) ? $Format["CaptionFillB"] : 255;
- $CaptionFillAlpha = isset($Format["CaptionFillAlpha"]) ? $Format["CaptionFillAlpha"] : 80;
- $PositiveSlopeStartR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 184;
- $PositiveSlopeStartG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 234;
- $PositiveSlopeStartB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 88;
- $PositiveSlopeEndR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 239;
- $PositiveSlopeEndG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 31;
- $PositiveSlopeEndB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 36;
- $NegativeSlopeStartR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 184;
- $NegativeSlopeStartG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 234;
- $NegativeSlopeStartB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 88;
- $NegativeSlopeEndR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 67;
- $NegativeSlopeEndG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 124;
- $NegativeSlopeEndB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 227;
-
- $Data = $this->DataSet->getData();
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- $YPos = $this->DataSet->Data["GraphArea"]["Y2"] + $Offset;
- else
- $XPos = $this->DataSet->Data["GraphArea"]["X2"] + $Offset;
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $Caption )
- {
- if ( $CaptionLine )
- {
- $StartX = floor($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndX = floor($this->GraphAreaX1-$CaptionMargin+$XMargin);
-
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($StartX,$YPos,$EndX,$YPos+$CaptionHeight,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($StartX+2,$YPos+($CaptionHeight/2),$EndX-2,$YPos+($CaptionHeight/2),$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin,$YPos,$this->GraphAreaX1-$CaptionMargin+$XMargin,$YPos+$CaptionHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $TopY = $YPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomY = $YPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartX = floor($this->GraphAreaX1+$XMargin);
- $EndX = floor($this->GraphAreaX2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastX != NULL )
- { $Slope = ($LastY - $Y); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $Y == VOID )
- { $LastX = NULL; $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastY != NULL )
- {
- $Slope = ($LastY - $Y);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL ) // && $Slope != 0
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($LastX,$TopY,$X,$BottomY,DIRECTION_HORIZONTAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL ) // || $Slope == 0
- $this->drawFilledRectangle(floor($LastX),$TopY,floor($X),$BottomY,$Color);
-
- $LastColor = $Color;
- }
-
- if ( $Y == VOID )
- { $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $X = $X + $XStep;
- }
-
- $YPos = $YPos + $CaptionHeight + $SerieSpacing;
- }
- else
- {
- if ( $Caption )
- {
- $StartY = floor($this->GraphAreaY1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndY = floor($this->GraphAreaY1-$CaptionMargin+$XMargin);
- if ( $CaptionLine )
- {
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($XPos+($CaptionHeight/2),$StartY+2,$XPos+($CaptionHeight/2),$EndY-2,$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $TopX = $XPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomX = $XPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartY = floor($this->GraphAreaY1+$XMargin);
- $EndY = floor($this->GraphAreaY2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- { $Slope = ($X - $LastX); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- {
- $Slope = ($X - $LastX);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL )
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
-
- $this->drawGradientArea($TopX,$LastY,$BottomX,$Y,DIRECTION_VERTICAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL )
- $this->drawFilledRectangle($TopX,floor($LastY),$BottomX,floor($Y),$Color);
-
- $LastColor = $Color;
- }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $Y = $Y + $XStep;
- }
-
- $XPos = $XPos + $CaptionHeight + $SerieSpacing;
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- }
-
- /* Draw the line of best fit */
- function drawBestFit($Format="")
- {
- $OverrideTicks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $OverrideR = isset($Format["R"]) ? $Format["R"] : VOID;
- $OverrideG = isset($Format["G"]) ? $Format["G"] : VOID;
- $OverrideB = isset($Format["B"]) ? $Format["B"] : VOID;
- $OverrideAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : VOID;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $OverrideR != VOID && $OverrideG != VOID && $OverrideB != VOID ) { $R = $OverrideR; $G = $OverrideG; $B = $OverrideB; } else { $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; }
- if ( $OverrideTicks == NULL ) { $Ticks = $Serie["Ticks"]; } else { $Ticks = $OverrideTicks; }
- if ( $OverrideAlpha == VOID ) { $Alpha = $Serie["Color"]["Alpha"]; } else { $Alpha = $OverrideAlpha; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $Y)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
-
- $X = $X + $XStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->GraphAreaX1 + $XMargin;
- $Y1 = $M * $X1 + $B;
- $X2 = $this->GraphAreaX2 - $XMargin;
- $Y2 = $M * $X2 + $B;
-
- if ( $Y1 < $this->GraphAreaY1 ) { $X1 = $X1 + ($this->GraphAreaY1-$Y1); $Y1 = $this->GraphAreaY1; }
- if ( $Y1 > $this->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->GraphAreaY2); $Y1 = $this->GraphAreaY2; }
- if ( $Y2 < $this->GraphAreaY1 ) { $X2 = $X2 - ($this->GraphAreaY1-$Y2); $Y2 = $this->GraphAreaY1; }
- if ( $Y2 > $this->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->GraphAreaY2); $Y2 = $this->GraphAreaY2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $X)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $Y;
- $Sy = $Sy + $X;
- $Sxx = $Sxx + $Y*$Y;
-
- $Y = $Y + $YStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $Y1 = $this->GraphAreaY1 + $XMargin;
- $X1 = $M * $Y1 + $B;
- $Y2 = $this->GraphAreaY2 - $XMargin;
- $X2 = $M * $Y2 + $B;
-
- if ( $X1 < $this->GraphAreaX1 ) { $Y1 = $Y1 + ($this->GraphAreaX1-$X1); $X1 = $this->GraphAreaX1; }
- if ( $X1 > $this->GraphAreaX2 ) { $Y1 = $Y1 + ($X1-$this->GraphAreaX2); $X1 = $this->GraphAreaX2; }
- if ( $X2 < $this->GraphAreaX1 ) { $Y2 = $Y2 - ($this->GraphAreaY1-$X2); $X2 = $this->GraphAreaX1; }
- if ( $X2 > $this->GraphAreaX2 ) { $Y2 = $Y2 - ($X2-$this->GraphAreaX2); $X2 = $this->GraphAreaX2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Write labels */
- function writeLabel($SeriesName,$Indexes,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $ForceLabels = isset($Format["ForceLabels"]) ? $Format["ForceLabels"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $DrawVerticalLine = isset($Format["DrawVerticalLine"]) ? $Format["DrawVerticalLine"] : FALSE;
- $VerticalLineR = isset($Format["VerticalLineR"]) ? $Format["VerticalLineR"] : 0;
- $VerticalLineG = isset($Format["VerticalLineG"]) ? $Format["VerticalLineG"] : 0;
- $VerticalLineB = isset($Format["VerticalLineB"]) ? $Format["VerticalLineB"] : 0;
- $VerticalLineAlpha = isset($Format["VerticalLineAlpha"]) ? $Format["VerticalLineAlpha"] : 40;
- $VerticalLineTicks = isset($Format["VerticalLineTicks"]) ? $Format["VerticalLineTicks"] : 2;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( !is_array($Indexes) ) { $Index = $Indexes; $Indexes = ""; $Indexes[] = $Index; }
- if ( !is_array($SeriesName) ) { $SerieName = $SeriesName; $SeriesName = ""; $SeriesName[] = $SerieName; }
- if ( $ForceLabels != NULL && !is_array($ForceLabels) ) { $ForceLabel = $ForceLabels; $ForceLabels = ""; $ForceLabels[] = $ForceLabel; }
-
- foreach ($Indexes as $Key => $Index)
- {
- $Series = "";
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($X,$this->GraphAreaY1+$Data["YMargin"],$X,$this->GraphAreaY2-$Data["YMargin"],array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinY = $this->GraphAreaY2;
- foreach ($SeriesName as $iKey => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->GraphAreaX1 + $XMargin + $Index * $XStep + $SerieOffset);
- $Y = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
-
- if ($Y < $MinY) { $MinY = $Y; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($X,$MinY-3,$Description,$Series,$Format);
-
- }
- else
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($this->GraphAreaX1+$Data["YMargin"],$Y,$this->GraphAreaX2-$Data["YMargin"],$Y,array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinX = $this->GraphAreaX2;
- foreach ($SeriesName as $Key => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- if ( isset($Data["Extended"]["Palette"][$Index] ) )
- {
- $Serie["R"] = $Data["Extended"]["Palette"][$Index]["R"];
- $Serie["G"] = $Data["Extended"]["Palette"][$Index]["G"];
- $Serie["B"] = $Data["Extended"]["Palette"][$Index]["B"];
- $Serie["Alpha"] = $Data["Extended"]["Palette"][$Index]["Alpha"];
- }
- else
- {
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
- }
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
- $Y = floor($this->GraphAreaY1 + $XMargin + $Index * $XStep + $SerieOffset);
-
- if ($X < $MinX) { $MinX = $X; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($MinX,$Y-3,$Description,$Series,$Format);
-
- }
- }
- }
-
- /* Draw a label box */
- function drawLabelBox($X,$Y,$Title,$Captions,$Format="")
- {
- $NoTitle = isset($Format["NoTitle"]) ? $Format["NoTitle"] : NULL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 50;
- $DrawSerieColor = isset($Format["DrawSerieColor"]) ? $Format["DrawSerieColor"] : TRUE;
- $SerieR = isset($Format["SerieR"]) ? $Format["SerieR"] : NULL;
- $SerieG = isset($Format["SerieG"]) ? $Format["SerieG"] : NULL;
- $SerieB = isset($Format["SerieB"]) ? $Format["SerieB"] : NULL;
- $SerieAlpha = isset($Format["SerieAlpha"]) ? $Format["SerieAlpha"] : NULL;
- $SerieBoxSize = isset($Format["SerieBoxSize"]) ? $Format["SerieBoxSize"] : 6;
- $SerieBoxSpacing = isset($Format["SerieBoxSpacing"]) ? $Format["SerieBoxSpacing"] : 4;
- $VerticalMargin = isset($Format["VerticalMargin"]) ? $Format["VerticalMargin"] : 10;
- $HorizontalMargin = isset($Format["HorizontalMargin"]) ? $Format["HorizontalMargin"] : 8;
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $TitleMode = isset($Format["TitleMode"]) ? $Format["TitleMode"] : LABEL_TITLE_NOBACKGROUND;
- $TitleR = isset($Format["TitleR"]) ? $Format["TitleR"] : $R;
- $TitleG = isset($Format["TitleG"]) ? $Format["TitleG"] : $G;
- $TitleB = isset($Format["TitleB"]) ? $Format["TitleB"] : $B;
- $TitleBackgroundR = isset($Format["TitleBackgroundR"]) ? $Format["TitleBackgroundR"] : 0;
- $TitleBackgroundG = isset($Format["TitleBackgroundG"]) ? $Format["TitleBackgroundG"] : 0;
- $TitleBackgroundB = isset($Format["TitleBackgroundB"]) ? $Format["TitleBackgroundB"] : 0;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 220;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 220;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 220;
-
- if ( !$DrawSerieColor ) { $SerieBoxSize = 0; $SerieBoxSpacing = 0; }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Title);
- $TitleWidth = ($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2;
- $TitleHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- if ( $NoTitle ) { $TitleWidth = 0; $TitleHeight = 0; }
-
- $CaptionWidth = 0; $CaptionHeight = -$HorizontalMargin;
- foreach($Captions as $Key =>$Caption)
- {
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Caption["Caption"]);
- $CaptionWidth = max($CaptionWidth,($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2);
- $CaptionHeight = $CaptionHeight + max(($TxtPos[0]["Y"] - $TxtPos[2]["Y"]),($SerieBoxSize+2)) + $HorizontalMargin;
- }
-
- if ( $CaptionHeight <= 5 ) { $CaptionHeight = $CaptionHeight + $HorizontalMargin/2; }
-
- if ( $DrawSerieColor ) { $CaptionWidth = $CaptionWidth + $SerieBoxSize + $SerieBoxSpacing; }
-
- $BoxWidth = max($BoxWidth,$TitleWidth,$CaptionWidth);
-
- $XMin = $X - 5 - floor(($BoxWidth-10) / 2);
- $XMax = $X + 5 + floor(($BoxWidth-10) / 2);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow == TRUE )
- {
- $this->Shadow = FALSE;
-
- $Poly = "";
- $Poly[] = $X+$this->ShadowX; $Poly[] = $Y+$this->ShadowX;
- $Poly[] = $X+5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
-
- if ( $NoTitle )
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- }
- else
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- }
-
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $X-5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $this->drawPolygon($Poly,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- /* Draw the background */
- $GradientSettings = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB);
- if ( $NoTitle )
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- else
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- $Poly = ""; $Poly[] = $X; $Poly[] = $Y; $Poly[] = $X-5; $Poly[] = $Y-5; $Poly[] = $X+5; $Poly[] = $Y-5;
- $this->drawPolygon($Poly,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB,"NoBorder"=>TRUE));
-
- /* Outer border */
- $OuterBorderColor = $this->allocateColor($this->Picture,100,100,100,100);
- imageline($this->Picture,$XMin,$Y-5,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X+5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X+5,$Y-5,$XMax,$Y-5,$OuterBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$OuterBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$OuterBorderColor);
- }
-
- /* Inner border */
- $InnerBorderColor = $this->allocateColor($this->Picture,255,255,255,100);
- imageline($this->Picture,$XMin+1,$Y-6,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X+5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X+5,$Y-6,$XMax-1,$Y-6,$InnerBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$InnerBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$InnerBorderColor);
- }
-
- /* Draw the separator line */
- if ( $TitleMode == LABEL_TITLE_NOBACKGROUND && !$NoTitle )
- {
- $YPos = $Y-7-$CaptionHeight-$HorizontalMargin-$HorizontalMargin/2;
- $XMargin = $VerticalMargin / 2;
- $this->drawLine($XMin+$XMargin,$YPos+1,$XMax-$XMargin,$YPos+1,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB));
- $this->drawLine($XMin+$XMargin,$YPos,$XMax-$XMargin,$YPos,array("R"=>$GradientStartR,"G"=>$GradientStartG,"B"=>$GradientStartB));
- }
- elseif ( $TitleMode == LABEL_TITLE_BACKGROUND )
- {
- $this->drawFilledRectangle($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2,array("R"=>$TitleBackgroundR,"G"=>$TitleBackgroundG,"B"=>$TitleBackgroundB));
- imageline($this->Picture,$XMin+1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$XMax-1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$InnerBorderColor);
- }
-
- /* Write the description */
- if ( !$NoTitle )
- $this->drawText($XMin+$VerticalMargin,$Y-7-$CaptionHeight-$HorizontalMargin*2,$Title,array("Align"=>TEXT_ALIGN_BOTTOMLEFT,"R"=>$TitleR,"G"=>$TitleG,"B"=>$TitleB));
-
- /* Write the value */
- $YPos = $Y-5-$HorizontalMargin; $XPos = $XMin+$VerticalMargin+$SerieBoxSize+$SerieBoxSpacing;
- foreach($Captions as $Key => $Caption)
- {
- $CaptionTxt = $Caption["Caption"];
- $TxtPos = $this->getTextBox($XPos,$YPos,$FontName,$FontSize,0,$CaptionTxt);
- $CaptionHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- /* Write the serie color if needed */
- if ( $DrawSerieColor )
- {
- $BoxSettings = array("R"=>$Caption["Format"]["R"],"G"=>$Caption["Format"]["G"],"B"=>$Caption["Format"]["B"],"Alpha"=>$Caption["Format"]["Alpha"],"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $this->drawFilledRectangle($XMin+$VerticalMargin,$YPos-$SerieBoxSize,$XMin+$VerticalMargin+$SerieBoxSize,$YPos,$BoxSettings);
- }
-
- $this->drawText($XPos,$YPos,$CaptionTxt,array("Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- $YPos = $YPos - $CaptionHeight - $HorizontalMargin;
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a basic shape */
- function drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha)
- {
- if ( $Shape == SERIE_SHAPE_FILLEDCIRCLE )
- {
- if ( $PlotBorder ) { $this->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledCircle($X,$Y,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDSQUARE )
- {
- if ( $PlotBorder ) { $this->drawFilledRectangle($X-$PlotSize-$BorderSize,$Y-$PlotSize-$BorderSize,$X+$PlotSize+$BorderSize,$Y+$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDTRIANGLE )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X-$PlotSize; $Pos[]=$Y+$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_TRIANGLE )
- {
- $this->drawLine($X,$Y-$PlotSize,$X-$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X-$PlotSize,$Y+$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X+$PlotSize,$Y+$PlotSize,$X,$Y-$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_SQUARE )
- $this->drawRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_CIRCLE )
- $this->drawCircle($X,$Y,$PlotSize,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_DIAMOND )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("NoFill"=>TRUE,"BorderR"=>$R,"BorderG"=>$G,"BorderB"=>$B,"BorderAlpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDDIAMOND )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- function drawPolygonChart($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- $AllIntegers = TRUE;
- for($i=0;$i<=count($Points)-2;$i=$i+2)
- { if ( $this->getFirstDecimal($Points[$i+1]) != 0 ) { $AllIntegers = FALSE; } }
-
- /* Convert polygon to segments */
- $Segments = "";
- for($i=2;$i<=count($Points)-2;$i=$i+2)
- { $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[$i],"Y2"=>$Points[$i+1]); }
- $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[0],"Y2"=>$Points[1]);
-
- /* Simplify straight lines */
- $Result = ""; $inHorizon = FALSE; $LastX = VOID;
- foreach($Segments as $Key => $Pos)
- {
- if ( $Pos["Y1"] != $Pos["Y2"] )
- {
- if ( $inHorizon ) { $inHorizon = FALSE; $Result[] = array("X1"=>$LastX,"Y1"=>$Pos["Y1"],"X2"=>$Pos["X1"],"Y2"=>$Pos["Y1"]); }
-
- $Result[] = array("X1"=>$Pos["X1"],"Y1"=>$Pos["Y1"],"X2"=>$Pos["X2"],"Y2"=>$Pos["Y2"]);
- }
- else { if ( !$inHorizon ) { $inHorizon = TRUE; $LastX = $Pos["X1"];} }
- }
- $Segments = $Result;
-
- /* Do we have something to draw */
- if ( $Segments == "" ) { return(0); }
-
- /* For segments debugging purpose */
- //foreach($Segments as $Key => $Pos)
- // echo $Pos["X1"].",".$Pos["Y1"].",".$Pos["X2"].",".$Pos["Y2"]."\r\n";
-
- /* Find out the min & max Y boundaries */
- $MinY = OUT_OF_SIGHT; $MaxY = OUT_OF_SIGHT;
- foreach($Segments as $Key => $Coords)
- {
- if ( $MinY == OUT_OF_SIGHT || $MinY > min($Coords["Y1"],$Coords["Y2"]) ) { $MinY = min($Coords["Y1"],$Coords["Y2"]); }
- if ( $MaxY == OUT_OF_SIGHT || $MaxY < max($Coords["Y1"],$Coords["Y2"]) ) { $MaxY = max($Coords["Y1"],$Coords["Y2"]); }
- }
-
- if ( $AllIntegers ) { $YStep = 1; } else { $YStep = .5; }
-
- $MinY = floor($MinY); $MaxY = floor($MaxY);
-
- /* Scan each Y lines */
- $DefaultColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $DebugLine = 0; $DebugColor = $this->allocateColor($this->Picture,255,0,0,100);
-
- $MinY = floor($MinY); $MaxY = floor($MaxY); $YStep = 1;
-
- if ( !$NoFill )
- {
- //if ( $DebugLine ) { $MinY = $DebugLine; $MaxY = $DebugLine; }
- for($Y=$MinY;$Y<=$MaxY;$Y=$Y+$YStep)
- {
- $Intersections = ""; $LastSlope = NULL; $RestoreLast = "-";
- foreach($Segments as $Key => $Coords)
- {
- $X1 = $Coords["X1"]; $X2 = $Coords["X2"]; $Y1 = $Coords["Y1"]; $Y2 = $Coords["Y2"];
-
- if ( min($Y1,$Y2) <= $Y && max($Y1,$Y2) >= $Y )
- {
- if ( $Y1 == $Y2 )
- { $X = $X1; }
- else
- { $X = $X1 + ( ($Y-$Y1)*$X2 - ($Y-$Y1)*$X1 ) / ($Y2-$Y1); }
-
- $X = floor($X);
-
- if ( $X2 == $X1 )
- { $Slope = "!"; }
- else
- {
- $SlopeC = ($Y2 - $Y1) / ($X2 - $X1);
- if( $SlopeC == 0 )
- { $Slope = "="; }
- elseif( $SlopeC > 0 )
- { $Slope = "+"; }
- elseif ( $SlopeC < 0 )
- { $Slope = "-"; }
- }
-
- if ( !is_array($Intersections) )
- { $Intersections[] = $X; }
- elseif( !in_array($X,$Intersections) )
- { $Intersections[] = $X; }
- elseif( in_array($X,$Intersections) )
- {
- if ($Y == $DebugLine) { echo $Slope."/".$LastSlope."(".$X.") "; }
-
- if ( $Slope == "=" && $LastSlope == "-" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope != "!" && $LastSlope != "=" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope == "!" && $Slope == "+" ) { $Intersections[] = $X; }
- }
-
- if ( is_array($Intersections) && in_array($X,$Intersections) && $LastSlope == "=" && ($Slope == "-" )) { $Intersections[] = $X; }
-
- $LastSlope = $Slope;
- }
- }
- if ( $RestoreLast != "-" ) { $Intersections[] = $RestoreLast; echo "@".$Y."\r\n"; }
-
- if ( is_array($Intersections) )
- {
- sort($Intersections);
-
- if ($Y == $DebugLine) { print_r($Intersections); }
-
- /* Remove NULL plots */
- $Result = "";
- for($i=0;$i<=count($Intersections)-1;$i=$i+2)
- {
- if ( isset($Intersections[$i+1]) )
- { if ( $Intersections[$i] != $Intersections[$i+1] ) { $Result[] = $Intersections[$i]; $Result[] = $Intersections[$i+1]; } }
- }
-
- if ( is_array($Result) )
- {
- $Intersections = $Result;
-
- $LastX = OUT_OF_SIGHT;
- foreach($Intersections as $Key => $X)
- {
- if ( $LastX == OUT_OF_SIGHT )
- $LastX = $X;
- elseif ( $LastX != OUT_OF_SIGHT )
- {
- if ( $this->getFirstDecimal($LastX) > 1 ) { $LastX++; }
-
- $Color = $DefaultColor;
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $R = $Parameters["R"]; } else { $R = 0; }
- if ( isset($Parameters["G"]) ) { $G = $Parameters["G"]; } else { $G = 0; }
- if ( isset($Parameters["B"]) ) { $B = $Parameters["B"]; } else { $B = 0; }
- if ( isset($Parameters["Alpha"]) ) { $Alpha = $Parameters["Alpha"]; } else { $Alpha = 100; }
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- }
- }
- }
-
- imageline($this->Picture,$LastX,$Y,$X,$Y,$Color);
-
- if ( $Y == $DebugLine) { imageline($this->Picture,$LastX,$Y,$X,$Y,$DebugColor); }
-
- $LastX = OUT_OF_SIGHT;
- }
- }
- }
- }
- }
- }
-
- /* Draw the polygon border, if required */
- if ( !$NoBorder)
- {
- foreach($Segments as $Key => $Coords)
- $this->drawLine($Coords["X1"],$Coords["Y1"],$Coords["X2"],$Coords["Y2"],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Threshold"=>$Threshold));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pImage.class.php b/notFinishedCode/tricode/class/pImage.class.php
deleted file mode 100644
index 4684e3c..0000000
--- a/notFinishedCode/tricode/class/pImage.class.php
+++ /dev/null
@@ -1,343 +0,0 @@
-<?php
- /*
- pDraw - pChart core class
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* The GD extension is mandatory */
- if (!extension_loaded('gd') && !extension_loaded('gd2'))
- {
- echo "GD extension must be loaded. \r\n";
- exit();
- }
-
- define("IMAGE_MAP_STORAGE_FILE" , 680001);
- define("IMAGE_MAP_STORAGE_SESSION" , 680002);
-
- class pImage extends pDraw
- {
- /* Image settings, size, quality, .. */
- var $XSize = NULL; // Width of the picture
- var $YSize = NULL; // Height of the picture
- var $Picture = NULL; // GD picture object
- var $Antialias = TRUE; // Turn antialias on or off
- var $AntialiasQuality = 0; // Quality of the antialiasing implementation (0-1)
- var $Mask = ""; // Already drawn pixels mask (Filled circle implementation)
- var $TransparentBackground = FALSE; // Just to know if we need to flush the alpha channels when rendering
-
- /* Graph area settings */
- var $GraphAreaX1 = NULL; // Graph area X origin
- var $GraphAreaY1 = NULL; // Graph area Y origin
- var $GraphAreaX2 = NULL; // Graph area bottom right X position
- var $GraphAreaY2 = NULL; // Graph area bottom right Y position
-
- /* Scale settings */
- var $ScaleMinDivHeight = 20; // Minimum height for scame divs
-
- /* Font properties */
- var $FontName = "fonts/GeosansLight.ttf"; // Default font file
- var $FontSize = 12; // Default font size
- var $FontBox = NULL; // Return the bounding box of the last written string
- var $FontColorR = 0; // Default color settings
- var $FontColorG = 0; // Default color settings
- var $FontColorB = 0; // Default color settings
- var $FontColorA = 100; // Default transparency
-
- /* Shadow properties */
- var $Shadow = TRUE; // Turn shadows on or off
- var $ShadowX = NULL; // X Offset of the shadow
- var $ShadowY = NULL; // Y Offset of the shadow
- var $ShadowR = NULL; // R component of the shadow
- var $ShadowG = NULL; // G component of the shadow
- var $ShadowB = NULL; // B component of the shadow
- var $Shadowa = NULL; // Alpha level of the shadow
-
- /* Image map */
- var $ImageMap = NULL; // Aray containing the image map
- var $ImageMapIndex = "pChart"; // Name of the session array
- var $ImageMapStorageMode = NULL; // Save the current imagemap storage mode
- var $ImageMapAutoDelete = TRUE; // Automatic deletion of the image map temp files
-
- /* Data Set */
- var $DataSet = NULL; // Attached dataset
-
- /* Class constructor */
- function pImage($XSize,$YSize,$DataSet=NULL,$TransparentBackground=FALSE)
- {
- $this->TransparentBackground = $TransparentBackground;
-
- if ( $DataSet != NULL ) { $this->DataSet = $DataSet; }
-
- $this->XSize = $XSize;
- $this->YSize = $YSize;
- $this->Picture = imagecreatetruecolor($XSize,$YSize);
-
- if ( $this->TransparentBackground )
- {
- imagealphablending($this->Picture,FALSE);
- imagefilledrectangle($this->Picture, 0,0,$XSize, $YSize, imagecolorallocatealpha($this->Picture, 255, 255, 255, 127));
- imagealphablending($this->Picture,TRUE);
- imagesavealpha($this->Picture,true);
- }
- else
- {
- $C_White = $this->AllocateColor($this->Picture,255,255,255);
- imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
- }
- }
-
- /* Enable / Disable and set shadow properties */
- function setShadow($Enabled=TRUE,$Format="")
- {
- $X = isset($Format["X"]) ? $Format["X"] : 2;
- $Y = isset($Format["Y"]) ? $Format["Y"] : 2;
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 10;
-
- $this->Shadow = $Enabled;
- $this->ShadowX = $X;
- $this->ShadowY = $Y;
- $this->ShadowR = $R;
- $this->ShadowG = $G;
- $this->ShadowB = $B;
- $this->Shadowa = $Alpha;
- }
-
- /* Set the graph area position */
- function setGraphArea($X1,$Y1,$X2,$Y2)
- {
- if ( $X2 < $X1 || $X1 == $X2 || $Y2 < $Y1 || $Y1 == $Y2 ) { return(-1); }
-
- $this->GraphAreaX1 = $X1; $this->DataSet->Data["GraphArea"]["X1"] = $X1;
- $this->GraphAreaY1 = $Y1; $this->DataSet->Data["GraphArea"]["Y1"] = $Y1;
- $this->GraphAreaX2 = $X2; $this->DataSet->Data["GraphArea"]["X2"] = $X2;
- $this->GraphAreaY2 = $Y2; $this->DataSet->Data["GraphArea"]["Y2"] = $Y2;
- }
-
- /* Return the width of the picture */
- function getWidth()
- { return($this->XSize); }
-
- /* Return the heigth of the picture */
- function getHeight()
- { return($this->YSize); }
-
- /* Render the picture to a file */
- function render($FileName)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
- imagepng($this->Picture,$FileName);
- }
-
- /* Render the picture to a web browser stream */
- function stroke($BrowserExpire=FALSE)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
-
- if ( $BrowserExpire )
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache");
- header("Pragma: no-cache");
- }
-
- header('Content-type: image/png');
- imagepng($this->Picture);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($FileName="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->Render($FileName);
- else
- $this->Stroke();
- }
-
- /* Return the length between two points */
- function getLength($X1,$Y1,$X2,$Y2)
- { return(sqrt(pow(max($X1,$X2)-min($X1,$X2),2)+pow(max($Y1,$Y2)-min($Y1,$Y2),2))); }
-
- /* Return the orientation of a line */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- /* Return the surrounding box of text area */
- function getTextBox_deprecated($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $Size = imagettfbbox($FontSize,$Angle,$FontName,$Text);
- $Width = $this->getLength($Size[0],$Size[1],$Size[2],$Size[3])+1;
- $Height = $this->getLength($Size[2],$Size[3],$Size[4],$Size[5])+1;
-
- $RealPos[0]["X"] = $X; $RealPos[0]["Y"] = $Y;
- $RealPos[1]["X"] = cos((360-$Angle)*PI/180)*$Width + $RealPos[0]["X"]; $RealPos[1]["Y"] = sin((360-$Angle)*PI/180)*$Width + $RealPos[0]["Y"];
- $RealPos[2]["X"] = cos((270-$Angle)*PI/180)*$Height + $RealPos[1]["X"]; $RealPos[2]["Y"] = sin((270-$Angle)*PI/180)*$Height + $RealPos[1]["Y"];
- $RealPos[3]["X"] = cos((180-$Angle)*PI/180)*$Width + $RealPos[2]["X"]; $RealPos[3]["Y"] = sin((180-$Angle)*PI/180)*$Width + $RealPos[2]["Y"];
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
-
- return($RealPos);
- }
-
- /* Return the surrounding box of text area */
- function getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $coords = imagettfbbox($FontSize, 0, $FontName, $Text);
-
- $a = deg2rad($Angle); $ca = cos($a); $sa = sin($a); $RealPos = array();
- for($i = 0; $i < 7; $i += 2)
- {
- $RealPos[$i/2]["X"] = $X + round($coords[$i] * $ca + $coords[$i+1] * $sa);
- $RealPos[$i/2]["Y"] = $Y + round($coords[$i+1] * $ca - $coords[$i] * $sa);
- }
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPLEFT]["X"] = $RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPLEFT]["Y"] = $RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_TOPRIGHT]["X"] = $RealPos[2]["X"]; $RealPos[TEXT_ALIGN_TOPRIGHT]["Y"] = $RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[0]["X"])/2+$RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[1]["Y"])/2+$RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPMIDDLE]["X"] = ($RealPos[2]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPMIDDLE]["Y"] = ($RealPos[3]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLELEFT]["X"] = ($RealPos[0]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLELEFT]["Y"] = ($RealPos[0]["Y"]-$RealPos[3]["Y"])/2+$RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLERIGHT]["X"] = ($RealPos[1]["X"]-$RealPos[2]["X"])/2+$RealPos[2]["X"]; $RealPos[TEXT_ALIGN_MIDDLERIGHT]["Y"] = ($RealPos[1]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
-
- return($RealPos);
- }
-
- /* Set current font properties */
- function setFontProperties($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : -1;
- $G = isset($Format["G"]) ? $Format["G"] : -1;
- $B = isset($Format["B"]) ? $Format["B"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : NULL;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : NULL;
-
- if ( $R != -1) { $this->FontColorR = $R; }
- if ( $G != -1) { $this->FontColorG = $G; }
- if ( $B != -1) { $this->FontColorB = $B; }
- if ( $Alpha != NULL) { $this->FontColorA = $Alpha; }
-
- if ( $FontName != NULL )
- $this->FontName = $FontName;
-
- if ( $FontSize != NULL )
- $this->FontSize = $FontSize;
- }
-
- /* Returns the 1st decimal values (used to correct AA bugs) */
- function getFirstDecimal($Value)
- {
- $Values = preg_split("/\./",$Value);
- if ( isset($Values[1]) ) { return(substr($Values[1],0,1)); } else { return(0); }
- }
-
- /* Attach a dataset to your pChart Object */
- function setDataSet(&$DataSet)
- { $this->DataSet = $DataSet; }
-
- /* Print attached dataset contents to STDOUT */
- function printDataSet()
- { print_r($this->DataSet); }
-
- /* Initialise the image map methods */
- function initialiseImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ($StorageMode == IMAGE_MAP_STORAGE_SESSION)
- {
- if(!isset($_SESSION)) { session_start(); }
- $_SESSION[$this->ImageMapIndex] = NULL;
- }
- elseif($StorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $this->ImageMapFileName = $UniqueID;
- $this->ImageMapStorageFolder = $StorageFolder;
-
- if (file_exists($StorageFolder."/".$UniqueID.".map")) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
-
- /* Add a zone to the image map */
- function addToImageMap($Type,$Plots,$Color=NULL,$Title=NULL,$Message=NULL)
- {
- if ( $this->ImageMapStorageMode == NULL ) { $this->initialiseImageMap(); }
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { $this->initialiseImageMap(); }
- $_SESSION[$this->ImageMapIndex][] = array($Type,$Plots,$Color,$Title,$Message);
- }
- elseif($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $Handle = fopen($this->ImageMapStorageFolder."/".$this->ImageMapFileName.".map", 'a');
- fwrite($Handle, $Type.";".$Plots.";".$Color.";".$Title.";".$Message."\r\n");
- fclose($Handle);
- }
- }
-
- /* Dump the image map */
- function dumpImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { session_start(); }
- if ( $_SESSION[$Name] != NULL )
- {
- foreach($_SESSION[$Name] as $Key => $Params)
- { echo $Params[0].";".$Params[1].";".$Params[2].";".$Params[3].";".$Params[4]."\r\n"; }
- }
- }
- elseif( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE )
- {
- if (file_exists($StorageFolder."/".$UniqueID.".map"))
- {
- $Handle = @fopen($StorageFolder."/".$UniqueID.".map", "r");
- if ($Handle) { while (($Buffer = fgets($Handle, 4096)) !== false) { echo $Buffer; } }
- fclose($Handle);
-
- if ( $this->ImageMapAutoDelete ) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
- exit();
- }
-
- /* Return the HTML converted color from the RGB composite values */
- function toHTMLColor($R,$G,$B)
- {
- $R=intval($R); $G=intval($G); $B=intval($B);
- $R=dechex($R<0?0:($R>255?255:$R)); $G=dechex($G<0?0:($G>255?255:$G));$B=dechex($B<0?0:($B>255?255:$B));
- $Color="#".(strlen($R) < 2?'0':'').$R; $Color.=(strlen($G) < 2?'0':'').$G; $Color.= (strlen($B) < 2?'0':'').$B;
- return($Color);
- }
-
- /* Reverse an array of points */
- function reversePlots($Plots)
- {
- $Result = "";
- for($i=count($Plots)-2;$i>=0;$i=$i-2) { $Result[] = $Plots[$i]; $Result[] = $Plots[$i+1]; }
- return($Result);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pIndicator.class.php b/notFinishedCode/tricode/class/pIndicator.class.php
deleted file mode 100644
index 4f7f23b..0000000
--- a/notFinishedCode/tricode/class/pIndicator.class.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
- /*
- pIndicator - class to draw indicators
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("INDICATOR_CAPTION_DEFAULT" , 700001);
- define("INDICATOR_CAPTION_EXTENDED" , 700002);
-
- define("INDICATOR_CAPTION_INSIDE" , 700011);
- define("INDICATOR_CAPTION_BOTTOM" , 700012);
-
- define("INDICATOR_VALUE_BUBBLE" , 700021);
- define("INDICATOR_VALUE_LABEL" , 700022);
-
- /* pIndicator class definition */
- class pIndicator
- {
- var $pChartObject;
-
- /* Class creator */
- function pIndicator($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- }
-
- /* Draw an indicator */
- function draw($X,$Y,$Width,$Height,$Format="")
- {
- $Values = isset($Format["Values"]) ? $Format["Values"] : VOID;
- $IndicatorSections = isset($Format["IndicatorSections"]) ? $Format["IndicatorSections"] : NULL;
- $ValueDisplay = isset($Format["ValueDisplay"]) ? $Format["ValueDisplay"] : INDICATOR_VALUE_BUBBLE;
- $SectionsMargin = isset($Format["SectionsMargin"]) ? $Format["SectionsMargin"] : 4;
- $DrawLeftHead = isset($Format["DrawLeftHead"]) ? $Format["DrawLeftHead"] : TRUE;
- $DrawRightHead = isset($Format["DrawRightHead"]) ? $Format["DrawRightHead"] : TRUE;
- $HeadSize = isset($Format["HeadSize"]) ? $Format["HeadSize"] : floor($Height/4);
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 4;
- $CaptionLayout = isset($Format["CaptionLayout"]) ? $Format["CaptionLayout"] : INDICATOR_CAPTION_EXTENDED;
- $CaptionPosition = isset($Format["CaptionPosition"]) ? $Format["CaptionPosition"] : INDICATOR_CAPTION_INSIDE;
- $CaptionColorFactor = isset($Format["CaptionColorFactor"]) ? $Format["CaptionColorFactor"] : NULL;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $SubCaptionColorFactor = isset($Format["SubCaptionColorFactor"]) ? $Format["SubCaptionColorFactor"] : NULL;
- $SubCaptionR = isset($Format["SubCaptionR"]) ? $Format["SubCaptionR"] : 50;
- $SubCaptionG = isset($Format["SubCaptionG"]) ? $Format["SubCaptionG"] : 50;
- $SubCaptionB = isset($Format["SubCaptionB"]) ? $Format["SubCaptionB"] : 50;
- $SubCaptionAlpha = isset($Format["SubCaptionAlpha"]) ? $Format["SubCaptionAlpha"] : 100;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $CaptionFontName = isset($Format["CaptionFontName"]) ? $Format["CaptionFontName"] : $this->pChartObject->FontName;
- $CaptionFontSize = isset($Format["CaptionFontSize"]) ? $Format["CaptionFontSize"] : $this->pChartObject->FontSize;
- $Unit = isset($Format["Unit"]) ? $Format["Unit"] : "";
-
- /* Convert the Values to display to an array if needed */
- if ( !is_array($Values) ) { $Value = $Values; $Values = ""; $Values[] = $Value; }
-
- /* No section, let's die */
- if ( $IndicatorSections == NULL ) { return(0); }
-
- /* Determine indicator visual configuration */
- $OverallMin = $IndicatorSections[0]["End"]; $OverallMax = $IndicatorSections[0]["Start"];
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Settings["End"] > $OverallMax ) { $OverallMax = $Settings["End"]; }
- if ( $Settings["Start"] < $OverallMin ) { $OverallMin = $Settings["Start"]; }
- }
- $RealWidth = $Width - (count($IndicatorSections)-1)*$SectionsMargin;
- $XScale = $RealWidth / ($OverallMax-$OverallMin);
-
- $X1 = $X; $ValuesPos = "";
- foreach ($IndicatorSections as $Key => $Settings)
- {
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]);
- $Caption = $Settings["Caption"];
- $SubCaption = $Settings["Start"]." - ".$Settings["End"];
-
- $X2 = $X1 + ($Settings["End"] - $Settings["Start"]) * $XScale;
-
- if ( $Key == 0 && $DrawLeftHead )
- {
- $Poly = ""; $Poly[] = $X1-1; $Poly[] = $Y; $Poly[] = $X1-1; $Poly[] = $Y+$Height; $Poly[] = $X1-1-$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X1-2,$Y,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X1-2,$Y+$Height,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- }
-
- /* Determine the position of the breaks */
- $Break = "";
- foreach($Values as $iKey => $Value)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $XBreak = $X1 + ($Value - $Settings["Start"]) * $XScale;
- $ValuesPos[$Value] = $XBreak;
- $Break[] = floor($XBreak);
- }
- }
-
- if ( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- if ( $Break == "" )
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
- else
- {
- sort($Break);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y; $LastPointWritten = FALSE;
- foreach($Break as $iKey => $Value)
- {
- if ( $Value-5 >= $X1 )
- { $Poly[] = $Value-5; $Poly[] = $Y; }
- elseif ($X1 - ($Value-5) > 0 )
- {
- $Offset = $X1 - ($Value-5);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y + $Offset;
- }
-
- $Poly[] = $Value; $Poly[] = $Y+5;
-
- if ( $Value+5 <= $X2 )
- { $Poly[] = $Value+5; $Poly[] = $Y; }
- elseif (($Value+5) > $X2 )
- {
- $Offset = ($Value+5) - $X2;
- $Poly[] = $X2; $Poly[] = $Y + $Offset;
- $LastPointWritten = TRUE;
- }
-
- }
- if ( !$LastPointWritten ) { $Poly[] = $X2; $Poly[] = $Y; }
- $Poly[] = $X2; $Poly[] = $Y+$Height;
- $Poly[] = $X1; $Poly[] = $Y+$Height;
-
- $this->pChartObject->drawPolygon($Poly,$Color);
- }
- }
- else
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
-
- if ( $Key == count($IndicatorSections)-1 && $DrawRightHead )
- {
- $Poly = ""; $Poly[] = $X2+1; $Poly[] = $Y; $Poly[] = $X2+1; $Poly[] = $Y+$Height; $Poly[] = $X2+1+$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X2+1,$Y,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X2+1,$Y+$Height,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- }
-
- if ( $CaptionPosition == INDICATOR_CAPTION_INSIDE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $YOffset = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$SubCaption);
- $YOffset = $YOffset + ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding*2;
- }
-
- $XOffset = $TextPadding;
- }
- else
- { $YOffset = 0; $XOffset = 0; }
-
- if ( $CaptionColorFactor == NULL )
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha); }
- else
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$CaptionColorFactor,"G"=>$Settings["G"]+$CaptionColorFactor,"B"=>$Settings["B"]+$CaptionColorFactor); }
-
- if ( $SubCaptionColorFactor == NULL )
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$SubCaptionR,"G"=>$SubCaptionG,"B"=>$SubCaptionB,"Alpha"=>$SubCaptionAlpha);
- else
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$SubCaptionColorFactor,"G"=>$Settings["G"]+$SubCaptionColorFactor,"B"=>$Settings["B"]+$SubCaptionColorFactor);
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_DEFAULT )
- $this->pChartObject->drawText($X1,$Y+$Height+$TextPadding,$Caption,$CaptionColor);
- elseif ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $CaptionHeight = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
-
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$TextPadding,$Caption,$CaptionColor);
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$CaptionHeight+$TextPadding*2,$SubCaption,$SubCaptionColor);
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- $X1 = $X2 + $SectionsMargin;
- }
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- foreach($Values as $Key => $Value)
- {
- if ( $Value >= $OverallMin && $Value <= $OverallMax )
- {
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $X1 = $ValuesPos[$Value]; //$X + $Key*$SectionsMargin + ($Value - $OverallMin) * $XScale;
-
- if ( $ValueDisplay == INDICATOR_VALUE_BUBBLE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y,$ValueFontName,$ValueFontSize,0,$Value.$Unit);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $TextPadding*4)/2);
-
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius+4,array("R"=>$Settings["R"]+20,"G"=>$Settings["G"]+20,"B"=>$Settings["B"]+20));
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius,array("R"=>255,"G"=>255,"B"=>255));
-
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize);
- $this->pChartObject->drawText($X1-1,$Y-1,$Value.$Unit,$TextSettings);
- }
- elseif( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- $Caption = "";
- $Caption[] = array("Format"=>array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>100),"Caption"=>$Value.$Unit);
- $this->pChartObject->drawLabelBox(floor($X1),floor($Y)+2,"Value - ".$Settings["Caption"],$Caption);
- }
- }
- $X1 = $X2 + $SectionsMargin;
- }
- }
- }
- $this->pChartObject->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pPie.class.php b/notFinishedCode/tricode/class/pPie.class.php
deleted file mode 100644
index 8940b4d..0000000
--- a/notFinishedCode/tricode/class/pPie.class.php
+++ /dev/null
@@ -1,1493 +0,0 @@
-<?php
- /*
- pPie - class to draw pie charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Class return codes */
- define("PIE_NO_ABSCISSA" , 140001);
- define("PIE_NO_DATASERIE" , 140002);
- define("PIE_SUMISNULL" , 140003);
- define("PIE_RENDERED" , 140000);
-
- define("PIE_LABEL_COLOR_AUTO" , 140010);
- define("PIE_LABEL_COLOR_MANUAL", 140011);
-
- define("PIE_VALUE_NATURAL" , 140020);
- define("PIE_VALUE_PERCENTAGE" , 140021);
-
- define("PIE_VALUE_INSIDE" , 140030);
- define("PIE_VALUE_OUTSIDE" , 140031);
-
- /* pPie class definition */
- class pPie
- {
- var $pChartObject;
- var $pDataObject;
- var $LabelPos = "" ;
-
- /* Class creator */
- function pPie($Object,$pDataObject)
- {
- /* Cache the pChart object reference */
- $this->pChartObject = $Object;
-
- /* Cache the pData object reference */
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a pie chart */
- function draw2DPie($X,$Y,$Format="")
- {
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DPie($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- if ( !$SecondPass && !$Shadow )
- {
- if ( !$Border )
- $Settings["Surrounding"] = 10;
- else
- { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- }
-
- $Plots = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
-
- $Plots[] = $X0; $Plots[] = $Y0;
-
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $SecondPass && ( $i<90 )) { $Yc++; }
- if ( $SecondPass && ( $i>180 && $i<270 )) { $Xc++; }
- if ( $SecondPass && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
-
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- if ( $DrawLabels && !$Shadow && !$SecondPass )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- $Settings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB);
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
- }
-
- if ( $WriteValues != NULL && !$Shadow )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = ($Value*$ScaleFactor) + $Offset; if ( $EndAngle > 360 ) { $EndAngle = 0; }
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $Y;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius)/2 + $Y;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle + $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D pie chart */
- function draw3DPie($X,$Y,$Format="")
- {
- /* Rendering layout */
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 80;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .5;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 20;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_INSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y;
- }
- $Slices[$Slice][] = $X0; $Slices[$Slice][] = $Y0; $SliceAngle[$Slice][] = 0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y;
-
- if ( ($SecondPass || $RestoreShadow ) && ( $i<90 )) { $Yc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>90 && $i<180 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>180 && $i<270 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Slices[$Slice][] = $Xc; $Slices[$Slice][] = $Yc; $SliceAngle[$Slice][] = $i;
- }
-
- $Offset = $i - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom shadow if needed */
- if ( $RestoreShadow && ($this->pChartObject->ShadowX != 0 || $this->pChartObject->ShadowY !=0 ))
- {
- foreach($Slices as $SliceID => $Plots)
- {
- $ShadowPie = "";
- for($i=0;$i<count($Plots);$i=$i+2)
- { $ShadowPie[] = $Plots[$i]+$this->pChartObject->ShadowX; $ShadowPie[] = $Plots[$i+1]+$this->pChartObject->ShadowY; }
-
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa,"NoBorder"=>TRUE);
- $this->pChartObject->drawPolygon($ShadowPie,$Settings);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X + $this->pChartObject->ShadowX;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y + $this->pChartObject->ShadowY;
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots,$Settings);
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30;; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
- }
- }
- }
-
- /* Draw the two vertical edges */
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- if ( $Visible[$SliceID]["Start"] && isset($Plots[2])) /* Empty error handling */
- {
- $this->pChartObject->drawLine($Plots[2],$Plots[3],$Plots[2],$Plots[3]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[2]; $Border[] = $Plots[3] - $SliceHeight; $Border[] = $Plots[2]; $Border[] = $Plots[3];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
- if ( $Visible[$SliceID]["End"] )
- {
- $this->pChartObject->drawLine($Plots[count($Plots)-2],$Plots[count($Plots)-1],$Plots[count($Plots)-2],$Plots[count($Plots)-1]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
-
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1] - $SliceHeight; $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- /* Draw the rounded edges */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- for ($j=2;$j<count($Plots)-2;$j=$j+2)
- {
- $Angle = $SliceAngle[$SliceID][$j/2];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Border = "";
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3] - $SliceHeight;
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1] - $SliceHeight;
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
- }
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 270 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 270 )
- {
- $Xc = cos((270-90)*PI/180) * $Radius + $X;
- $Yc = sin((270-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 90 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 90 )
- {
- $Xc = cos((0)*PI/180) * $Radius + $X;
- $Yc = sin((0)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- }
- }
-
- /* Draw the top splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 20; $Settings["G"]+= 20; $Settings["B"]+= 20;
-
- $Top = "";
- for($j=0;$j<count($Plots);$j=$j+2) { $Top[] = $Plots[$j]; $Top[] = $Plots[$j+1]- $SliceHeight; }
- $this->pChartObject->drawPolygon($Top,$Settings);
-
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Top),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][count($Slices)-$SliceID-1],$Values[$SliceID]); }
- }
-
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- { $Settings = array("R"=>$Palette[$ID]["R"]+30,"G"=>$Palette[$ID]["G"]+30,"B"=>$Palette[$ID]["B"]+30,"Alpha"=>$Palette[$ID]["Alpha"]); }
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y- $SliceHeight; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y - $SliceHeight;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- if ($i < 270 && $i > 90 ) { $this->pChartObject->drawAntialiasPixel($Xc,$Yc+$SliceHeight,$Settings); }
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- if ( $WriteValues != NULL )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($Radius*$SkewFactor)+$ValuePadding) + $Y - $SliceHeight;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius*$SkewFactor)/2 + $Y - $SliceHeight;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( isset($Data["Series"][$Data["Abscissa"]]["Data"][$ID]) )
- {
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$ID];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius,TRUE);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw the legend of pie chart */
- function drawPieLegend($X,$Y,$Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$BoxSize+4,$vY+$BoxSize/2,$FontName,$FontSize,0,$Value);
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vY=$vY+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vX=$Boundaries["R"]+$XStep;
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $R = $Palette[$Key]["R"]; $G = $Palette[$Key]["G"]; $B = $Palette[$Key]["B"];
-
- $this->pChartObject->drawFilledRectangle($X+1,$Y+1,$X+$BoxSize+1,$Y+$BoxSize+1,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X,$Y,$X+$BoxSize,$Y+$BoxSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- if ( $Mode == LEGEND_VERTICAL )
- {
- $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $Y=$Y+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $BoxArray = $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $X=$BoxArray[1]["X"]+2+$XStep;
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Set the color of the specified slice */
- function setSliceColor($SliceID,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- $this->pDataObject->Palette[$SliceID]["R"] = $R;
- $this->pDataObject->Palette[$SliceID]["G"] = $G;
- $this->pDataObject->Palette[$SliceID]["B"] = $B;
- $this->pDataObject->Palette[$SliceID]["Alpha"] = $Alpha;
- }
-
- /* Internally used compute the label positions */
- function writePieLabel($X,$Y,$Label,$Angle,$Settings,$Stacked,$Xc=0,$Yc=0,$Radius=0,$Reversed=FALSE)
- {
- $LabelOffset = 30;
- $FontName = $this->pChartObject->FontName;
- $FontSize = $this->pChartObject->FontSize;
-
- if ( !$Stacked )
- {
- $Settings["Angle"] = 360-$Angle;
- $Settings["Length"] = 25;
- $Settings["Size"] = 8;
-
- $this->pChartObject->drawArrowLabel($X,$Y," ".$Label." ",$Settings);
- }
- else
- {
- $X2 = cos(deg2rad($Angle-90))*20+$X;
- $Y2 = sin(deg2rad($Angle-90))*20+$Y;
-
- $TxtPos = $this->pChartObject->getTextBox($X,$Y,$FontName,$FontSize,0,$Label);
- $Height = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
- $YTop = $Y2 - $Height/2 - 2;
- $YBottom = $Y2 + $Height/2 + 2;
-
- if ( $this->LabelPos != "" )
- {
- $Done = FALSE;
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( !$Done )
- {
- if ( $Angle <= 90 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 90 && $Angle <= 180 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 180 && $Angle <= 270 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 270 && $Angle <= 360 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- }
- }
- }
-
- $LabelSettings = array("YTop"=>$YTop,"YBottom"=>$YBottom,"Label"=>$Label,"Angle"=>$Angle,"X1"=>$X,"Y1"=>$Y,"X2"=>$X2,"Y2"=>$Y2);
- if ( $Angle <= 180 ) { $LabelSettings["X3"] = $Xc+$Radius+$LabelOffset; }
- if ( $Angle > 180 ) { $LabelSettings["X3"] = $Xc-$Radius-$LabelOffset; }
- $this->LabelPos[] = $LabelSettings;
- }
- }
-
- /* Internally used to shift label positions */
- function shift($StartAngle,$EndAngle,$Offset,$Reversed)
- {
- if ( $Reversed ) { $Offset = -$Offset; }
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( $Settings["Angle"] > $StartAngle && $Settings["Angle"] <= $EndAngle ) { $this->LabelPos[$Key]["YTop"] = $Settings["YTop"] + $Offset; $this->LabelPos[$Key]["YBottom"] = $Settings["YBottom"] + $Offset; $this->LabelPos[$Key]["Y2"] = $Settings["Y2"] + $Offset; }
- }
- }
-
- /* Internally used to write the re-computed labels */
- function writeShiftedLabels()
- {
- if ( $this->LabelPos == "" ) { return(0); }
- foreach($this->LabelPos as $Key => $Settings)
- {
- $X1 = $Settings["X1"]; $Y1 = $Settings["Y1"];
- $X2 = $Settings["X2"]; $Y2 = $Settings["Y2"];
- $X3 = $Settings["X3"];
- $Angle = $Settings["Angle"];
- $Label = $Settings["Label"];
-
- $this->pChartObject->drawArrow($X2,$Y2,$X1,$Y1,array("Size"=>8));
- if ( $Angle <= 180 )
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3+2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- }
- else
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3-2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- }
- }
- }
-
- /* Draw a ring chart */
- function draw2DRing($X,$Y,$Format="")
- {
- $OuterRadius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $InnerRadius = isset($Format["Radius"]) ? $Format["Radius"] : 30;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 5;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = 0; } // count($Values)
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DRing($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- {
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- $BorderColor = $Settings;
- }
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- if ( $Border )
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
- else
- $BorderColor = $Settings;
- }
-
- $Plots = ""; $Boundaries = ""; $AAPixels = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $OuterRadius + $Y;
-
- if ( !isset($Boundaries[0]["X1"]) ) { $Boundaries[0]["X1"] = $Xc; $Boundaries[0]["Y1"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[1]["X1"] = $Xc; $Boundaries[1]["Y1"] = $Yc;
- $Lasti = $EndAngle;
-
- for($i=$EndAngle;$i>=$Offset;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius-1) + $Y;
-
- if ( !isset($Boundaries[1]["X2"]) ) { $Boundaries[1]["X2"] = $Xc; $Boundaries[1]["Y2"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * $InnerRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $InnerRadius + $Y;
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[0]["X2"] = $Xc; $Boundaries[0]["Y2"] = $Yc;
-
- /* Draw the polygon */
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- /* Smooth the edges using AA */
- foreach($AAPixels as $iKey => $Pos ) { $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$BorderColor); }
- $this->pChartObject->drawLine($Boundaries[0]["X1"],$Boundaries[0]["Y1"],$Boundaries[0]["X2"],$Boundaries[0]["Y2"],$BorderColor);
- $this->pChartObject->drawLine($Boundaries[1]["X1"],$Boundaries[1]["Y1"],$Boundaries[1]["X2"],$Boundaries[1]["Y2"],$BorderColor);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $OuterRadius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $Lasti; $ID++;
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- if ( $WriteValues && !$Shadow )
- {
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset+($Value*$ScaleFactor);
- if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = $Offset+($Value*$ScaleFactor)/2;
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $Y;
- if ( $Angle >=0 && $Angle <= 90 ) { $Align = TEXT_ALIGN_BOTTOMLEFT; }
- if ( $Angle > 90 && $Angle <= 180 ) { $Align = TEXT_ALIGN_TOPLEFT; }
- if ( $Angle > 180 && $Angle <= 270 ) { $Align = TEXT_ALIGN_TOPRIGHT; }
- if ( $Angle > 270 ) { $Align = TEXT_ALIGN_BOTTOMRIGHT; }
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $Y;
- $Align = TEXT_ALIGN_MIDDLEMIDDLE;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,array("Align"=>$Align,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB));
- $Offset = $EndAngle;
- }
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D ring chart */
- function draw3DRing($X,$Y,$Format="")
- {
- /* Rendering layout */
- $OuterRadius = isset($Format["OuterRadius"]) ? $Format["OuterRadius"] : 100;
- $InnerRadius = isset($Format["InnerRadius"]) ? $Format["InnerRadius"] : 30;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .6;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 10;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 10;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 10;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $Cf = isset($Format["Cf"]) ? $Format["Cf"] : 20;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : $SliceHeight + 15;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon ring elements */
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- $Step = (360 / (2 * PI * $OuterRadius))/2;
- $OutX1 = VOID; $OutY1 = VOID;
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
-
- if ( $OutX1 == VOID ) { $OutX1 = $Xc; $OutY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $OutX2 = $Xc; $OutY2 = $Yc;
-
- $Slices[$Slice]["Angle"][] = VOID;
- $Lasti = $i;
-
- $Step = (360 / (2 * PI * $InnerRadius))/2;
- $InX1 = VOID; $InY1 = VOID;
- for($i=$EndAngle;$i<=$Offset;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- if ( $InX1 == VOID ) { $InX1 = $Xc; $InY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $InX2 = $Xc; $InY2 = $Yc;
-
- $Slices[$Slice]["InX1"] = $InX1; $Slices[$Slice]["InY1"] = $InY1;
- $Slices[$Slice]["InX2"] = $InX2; $Slices[$Slice]["InY2"] = $InY2;
- $Slices[$Slice]["OutX1"] = $OutX1; $Slices[$Slice]["OutY1"] = $OutY1;
- $Slices[$Slice]["OutX2"] = $OutX2; $Slices[$Slice]["OutY2"] = $OutY2;
-
- $Offset = $Lasti - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots["BottomPoly"],$Settings);
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["OutX2"],$Plots["OutY2"],$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["OutX1"],$Plots["OutY1"],$Settings);
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
- /* Draw the vertical edges (semi-visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Settings);
- }
-
- /* Draw the inner vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Inner )
- {
- if (( $Angle < 90 || $Angle > 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $InnerPlotsA[] = $Xo; $InnerPlotsA[] = $Yo;
- $InnerPlotsB[] = $Xo; $InnerPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
-
- if ( $InnerPlotsA != "" )
- { $InnerPlots = array_merge($InnerPlotsA,$this->arrayReverse($InnerPlotsB)); $this->pChartObject->drawPolygon($InnerPlots,$Settings); }
- }
-
-
- /* Draw the splice top and left poly */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*1.5; $Settings["G"] = $Settings["G"]+$Cf*1.5; $Settings["B"] = $Settings["B"]+$Cf*1.5;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle < 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"];
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
-
- if ( $EndAngle > 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"];
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
- }
-
-
- /* Draw the vertical edges (visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle <= 270 && $StartAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $EndAngle <= 270 && $EndAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- }
-
-
- /* Draw the outer vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $OuterPlotsA = ""; $OuterPlotsB = ""; $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Outer )
- {
- if ( ( $Angle > 90 && $Angle < 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $OuterPlotsA[] = $Xo; $OuterPlotsA[] = $Yo;
- $OuterPlotsB[] = $Xo; $OuterPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
- if ( $OuterPlotsA != "" )
- { $OuterPlots = array_merge($OuterPlotsA,$this->arrayReverse($OuterPlotsB)); $this->pChartObject->drawPolygon($OuterPlots,$Settings); }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
-
- /* Draw the top pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*2; $Settings["G"] = $Settings["G"]+$Cf*2; $Settings["B"] = $Settings["B"]+$Cf*2;
-
- $this->pChartObject->drawPolygon($Plots["TopPoly"],$Settings);
-
-//print_r($Data["Series"][$Data["Abscissa"]]["Data"]);
-//exit();
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots["TopPoly"]),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$SliceID],$Data["Series"][$DataSerie]["Data"][count($Slices)-$SliceID-1]); }
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- }
-
- if ( $DrawLabels )
- {
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,FALSE);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--; $Slice++;
- }
- }
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Serialize an array */
- function arraySerialize($Data)
- {
- $Result = "";
- foreach($Data as $Key => $Value)
- { if ($Result == "") { $Result = floor($Value); } else { $Result = $Result.",".floor($Value); } }
-
- return($Result);
- }
-
- /* Reverse an array */
- function arrayReverse($Plots)
- {
- $Result = "";
-
- for($i=count($Plots)-1;$i>=0;$i=$i-2)
- { $Result[] = $Plots[$i-1]; $Result[] = $Plots[$i]; }
-
- return($Result);
- }
-
- /* Remove unused series & values */
- function clean0Values($Data,$Palette,$DataSerie,$AbscissaSerie)
- {
- $NewPalette = ""; $NewData = ""; $NewAbscissa = "";
-
- /* Remove unused series */
- foreach($Data["Series"] as $SerieName => $SerieSettings)
- { if ( $SerieName != $DataSerie && $SerieName != $AbscissaSerie ) { unset($Data["Series"][$SerieName]); } }
-
- /* Remove NULL values */
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ($Value != 0 )
- {
- $NewData[] = $Value;
- $NewAbscissa[] = $Data["Series"][$AbscissaSerie]["Data"][$Key];
- if ( isset($Palette[$Key]) ) { $NewPalette[] = $Palette[$Key]; }
- }
- }
- $Data["Series"][$DataSerie]["Data"] = $NewData;
- $Data["Series"][$AbscissaSerie]["Data"] = $NewAbscissa;
-
- return(array($Data,$NewPalette));
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pRadar.class.php b/notFinishedCode/tricode/class/pRadar.class.php
deleted file mode 100644
index 6235c99..0000000
--- a/notFinishedCode/tricode/class/pRadar.class.php
+++ /dev/null
@@ -1,669 +0,0 @@
-<?php
- /*
- pRadar - class to draw radar charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SEGMENT_HEIGHT_AUTO" , 690001);
-
- define("RADAR_LAYOUT_STAR" , 690011);
- define("RADAR_LAYOUT_CIRCLE" , 690012);
-
- define("RADAR_LABELS_ROTATED" , 690021);
- define("RADAR_LABELS_HORIZONTAL" , 690022);
-
- /* pRadar class definition */
- class pRadar
- {
- var $pChartObject;
-
- /* Class creator */
- function pRadar()
- { }
-
- /* Draw a radar chart */
- function drawRadar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : 0;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["AxisFontName"]) ? $Format["AxisFontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["AxisFontSize"]) ? $Format["AxisFontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $Layout = isset($Format["Layout"]) ? $Format["Layout"] : RADAR_LAYOUT_STAR;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $SkipLabels = isset($Format["SkipLabels"]) ? $Format["SkipLabels"] : 1;
- $LabelMiddle = isset($Format["LabelMiddle"]) ? $Format["LabelMiddle"] : FALSE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : TRUE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : 40;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
- if ( $LabelMiddle && $SkipLabels == 1 )
- { $Axisoffset = (360/$Points)/2; }
- elseif ( $LabelMiddle && $SkipLabels != 1 )
- { $Axisoffset = (360/($Points/$SkipLabels))/2; }
- elseif ( !$LabelMiddle )
- { $Axisoffset = 0; }
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $PointArray = "";
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $PointArray = "";
-
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- $ColorDotted = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha*.8, "Ticks"=>2);
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX1 = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $Object->drawLine($EdgeX1,$EdgeY1,$EdgeX2,$EdgeY2,$Color);
- }
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $Label = $j * $SegmentHeight;
-
- if ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- elseif ( $Layout == RADAR_LAYOUT_STAR )
- {
- $EdgeX1 = cos(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $EdgeX1 = ($EdgeX2 - $EdgeX1)/2 + $EdgeX1;
- $EdgeY1 = ($EdgeY2 - $EdgeY1)/2 + $EdgeY1;
- }
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- if ($ID % $SkipLabels == 0)
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color); }
- else
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$ColorDotted); }
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
-
- if ( $LabelSerie != "" )
- { $Label = isset($Data["Series"][$LabelSerie]["Data"][$ID]) ? $Data["Series"][$LabelSerie]["Data"][$ID] : ""; }
- else
- $Label = $ID;
-
- if ($ID % $SkipLabels == 0)
- {
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-($i+$AxisRotation+$Axisoffset))-90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataS)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataS["Data"] as $Key => $Value)
- {
- $Angle = (360/$Points) * $Key;
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- $Plot[$ID][] = array($X,$Y,$Value);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataS["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]." = ".$Value); }
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
-
-
-
- /* Draw a radar chart */
- function drawPolar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : -90;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $AxisSteps = isset($Format["AxisSteps"]) ? $Format["AxisSteps"] : 20;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : FALSE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : NULL;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( $AxisBoxRounded ) { $DrawAxisValues = TRUE; }
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $Label = $j*$SegmentHeight;
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<=359;$i=$i+$AxisSteps)
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color);
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
- $Label = $i."°";
-
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-$i),"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataSet)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataSet["Data"] as $Key => $Value)
- {
- $Angle = $Data["Series"][$LabelSerie]["Data"][$Key];
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataSet["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]."&deg = ".$Value); }
-
- $Plot[$ID][] = array($X,$Y,$Value);
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
-
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pScatter.class.php b/notFinishedCode/tricode/class/pScatter.class.php
deleted file mode 100644
index 55ef1c7..0000000
--- a/notFinishedCode/tricode/class/pScatter.class.php
+++ /dev/null
@@ -1,954 +0,0 @@
-<?php
- /*
- pScatter - class to draw scatter charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SCATTER_MISSING_X_SERIE" , 190001);
- define("SCATTER_MISSING_Y_SERIE" , 190002);
-
- /* pScatter class definition */
- class pScatter
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pScatter($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function drawScatterScale($Format="")
- {
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $XLabelsRotation = isset($Format["XLabelsRotation"]) ? $Format["XLabelsRotation"] : 90;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : 0;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : ALL;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 10;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 10;
-
- /* Check if we have at least both one X and Y axis */
- $GotXAxis = FALSE; $GotYAxis = FALSE;
- foreach($this->pDataObject->Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
- if ( $AxisSettings["Identity"] == AXIS_Y ) { $GotYAxis = TRUE; }
- }
- if ( !$GotXAxis ) { return(SCATTER_MISSING_X_SERIE); }
- if ( !$GotYAxis ) { return(SCATTER_MISSING_Y_SERIE); }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE ) { $DrawYLines = array("zarma"=>"31"); }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X)
- { $Width = $this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1 - $XMargin*2; }
- else
- { $Width = $this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1 - $YMargin*2; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] )
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
-
- /* Full manual scale */
- if ( isset($ManualScale[$AxisID]["Rows"]) && isset($ManualScale[$AxisID]["RowHeight"]) )
- $Scale = array("Rows"=>$ManualScale[$AxisID]["Rows"],"RowHeight"=>$ManualScale[$AxisID]["RowHeight"],"XMin"=>$ManualScale[$AxisID]["Min"],"XMax"=>$ManualScale[$AxisID]["Max"]);
- else
- {
- $MaxDivs = floor($Width/$MinDivHeight);
- $Scale = $this->pChartObject->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
- }
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisSettings["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Get the default font color */
- $FontColorRo = $this->pChartObject->FontColorR; $FontColorGo = $this->pChartObject->FontColorG; $FontColorBo = $this->pChartObject->FontColorB;
-
- /* Set the original boundaries */
- $AxisPos["L"] = $this->pChartObject->GraphAreaX1; $AxisPos["R"] = $this->pChartObject->GraphAreaX2; $AxisPos["T"] = $this->pChartObject->GraphAreaY1; $AxisPos["B"] = $this->pChartObject->GraphAreaY2;
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( isset($AxisSettings["Color"]) )
- {
- $AxisR = $AxisSettings["Color"]["R"]; $AxisG = $AxisSettings["Color"]["G"]; $AxisB = $AxisSettings["Color"]["B"];
- $TickR = $AxisSettings["Color"]["R"]; $TickG = $AxisSettings["Color"]["G"]; $TickB = $AxisSettings["Color"]["B"];
- $this->pChartObject->setFontProperties(array("R"=>$AxisSettings["Color"]["R"],"G"=>$AxisSettings["Color"]["G"],"B"=>$AxisSettings["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->pChartObject->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $AxisSettings["Identity"] == AXIS_X )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $XLabelsRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["B"],$this->pChartObject->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$InnerSubTickWidth,$XPos+$SubTicksSize,$YPos+$OuterSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos+$OuterTickWidth+$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+2+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y2"] = $MaxBottom + $this->pChartObject->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_TOP )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $SLabelxRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["T"],$this->pChartObject->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos-$OuterTickWidth-$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-4-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $AxisSettings["Identity"] == AXIS_Y )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1,$AxisPos["L"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_RIGHT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1,$AxisPos["R"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines)) ) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$InnerSubTickWidth,$YPos-$SubTicksSize,$XPos+$OuterSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X2"] = $MaxLeft + $this->pChartObject->FontSize;
- }
-
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- }
-
- $this->pDataObject->saveAxisConfig($Data["Axis"]);
- }
-
- /* Draw a scatter plot chart */
- function drawScatterPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 250;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 250;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 250;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 1;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- if ( isset($Series["Picture"]) && $Series["Picture"] != "" )
- { $Picture = $Series["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->pChartObject->getPicInfo($Picture); }
- else
- { $Picture = NULL; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
-
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PlotSize+$BorderSize),$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
-
- if( isset($Series["Shape"]) )
- { $this->pChartObject->drawShape($X,$Y,$Series["Shape"],$PlotSize,$PlotBorder,$BorderSize,$Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"],$Series["Color"]["Alpha"],$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- elseif ( $Picture == NULL )
- {
- if ( $PlotBorder ) { $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,$BorderColor); }
- $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize,$Color);
- }
- else
- { $this->pChartObject->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- }
- }
- }
- }
- }
-
- /* Draw a scatter line chart */
- function drawScatterLineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- /* Parse all the series to draw */
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $Color["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $Color["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID && $LastX != VOID && $LastY != VOID)
- $this->pChartObject->drawLine($LastX,$LastY,$X,$Y,$Color);
-
- $LastX = $X; $LastY = $Y;
- }
- }
- }
- }
-
- /* Draw a scatter spline chart */
- function drawScatterSplineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $SplineSettings = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $SplineSettings["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $SplineSettings["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID; $WayPoints = ""; $Forces = "";
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
- $Force = $this->pChartObject->getLength($LastX,$LastY,$X,$Y)/5;
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID )
- { $WayPoints[] = array($X,$Y); $Forces[] = $Force; }
-
- if ( $Y == VOID || $X == VOID )
- { $SplineSettings["Forces"] = $Forces; $this->pChartObject->drawSpline($WayPoints,$SplineSettings); $WayPoints = ""; $Forces = "";}
-
- $LastX = $X; $LastY = $Y;
- }
- $SplineSettings["Forces"] = $Forces;
- $this->pChartObject->drawSpline($WayPoints,$SplineSettings);
- }
- }
- }
-
- /* Return the scaled plot position */
- function getPosArray($Values,$AxisID)
- {
- $Data = $this->pDataObject->getData();
-
- if ( !is_array($Values) ) { $Values = array($Values); }
-
- if ( $Data["Axis"][$AxisID]["Identity"] == AXIS_X )
- {
- $Height = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- else
- {
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- }
-
- /* Draw the legend of the active series */
- function drawScatterLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->Shadow = FALSE;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $R = $Series["Color"]["R"]; $G = $Series["Color"]["G"]; $B = $Series["Color"]["B"];
- $Ticks = $Series["Ticks"]; $Weight = $Series["Weight"];
-
- if ( isset($Series["Picture"]) )
- {
- $Picture = $Series["Picture"];
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->pChartObject->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->pChartObject->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->pChartObject->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->pChartObject->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- foreach($Lines as $Key => $Value)
- $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Get the legend box size */
- function getScatterLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- $X=100; $Y=100;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the line of best fit */
- function drawScatterBestFit($Format="")
- {
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 0;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- $Color["Ticks"] = $Ticks;
-
- $PosArrayX = $Data["Series"][$Series["X"]]["Data"];
- $PosArrayY = $Data["Series"][$Series["Y"]]["Data"];
-
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
- }
-
- $n = count($PosArrayX);
-
- if ((($n*$Sxx) == ($Sx*$Sx)))
- {
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $X2 = $X1;
- $Y1 = $this->pChartObject->GraphAreaY1;
- $Y2 = $this->pChartObject->GraphAreaY2;
- }
- else
- {
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $Y1 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMin"] + $B,$SerieYAxis);
- $X2 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMax"],$SerieXAxis);
- $Y2 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMax"] + $B,$SerieYAxis);
-
- $RealM = -($Y2-$Y1)/($X2-$X1);
-
- if ( $Y1 < $this->pChartObject->GraphAreaY1 ) { $X1 = $X1 + ($this->pChartObject->GraphAreaY1-$Y1/$RealM); $Y1 = $this->pChartObject->GraphAreaY1; }
- if ( $Y1 > $this->pChartObject->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->pChartObject->GraphAreaY2)/$RealM; $Y1 = $this->pChartObject->GraphAreaY2; }
- if ( $Y2 < $this->pChartObject->GraphAreaY1 ) { $X2 = $X2 - ($this->pChartObject->GraphAreaY1-$Y2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY1; }
- if ( $Y2 > $this->pChartObject->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->pChartObject->GraphAreaY2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY2; }
- }
-
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
-
- function writeScatterLabel($ScatterSerieID,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : NULL;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[0] = $Point; }
-
- if ( !isset($Data["ScatterSeries"][$ScatterSerieID]) )
- return(0);
-
- $Series = $Data["ScatterSeries"][$ScatterSerieID];
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- foreach($Points as $Key => $Point)
- {
- if ( isset($PosArrayX[$Point]) && isset($PosArrayY[$Point]) )
- {
- $X = floor($PosArrayX[$Point]);
- $Y = floor($PosArrayY[$Point]);
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Serie = "";
- $Serie["R"] = $Series["Color"]["R"];
- $Serie["G"] = $Series["Color"]["G"];
- $Serie["B"] = $Series["Color"]["B"];
- $Serie["Alpha"] = $Series["Color"]["Alpha"];
-
- $XAxisMode = $Data["Axis"][$SerieXAxis]["Display"];
- $XAxisFormat = $Data["Axis"][$SerieXAxis]["Format"];
- $XAxisUnit = $Data["Axis"][$SerieXAxis]["Unit"];
- if ( $Decimals == NULL ) { $XValue = $SerieValuesX[$Point]; } else { $XValue = round($SerieValuesX[$Point],$Decimals); }
- $XValue = $this->pChartObject->scaleFormat($XValue,$XAxisMode,$XAxisFormat,$XAxisUnit);
-
- $YAxisMode = $Data["Axis"][$SerieYAxis]["Display"];
- $YAxisFormat = $Data["Axis"][$SerieYAxis]["Format"];
- $YAxisUnit = $Data["Axis"][$SerieYAxis]["Unit"];
- if ( $Decimals == NULL ) { $YValue = $SerieValuesY[$Point]; } else { $YValue = round($SerieValuesY[$Point],$Decimals); }
- $YValue = $this->pChartObject->scaleFormat($YValue,$YAxisMode,$YAxisFormat,$YAxisUnit);
-
- $Caption = $XValue." / ".$YValue;
-
- if ( isset($Series["Description"]) )
- $Description = $Series["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pSplit.class.php b/notFinishedCode/tricode/class/pSplit.class.php
deleted file mode 100644
index 0a62c3d..0000000
--- a/notFinishedCode/tricode/class/pSplit.class.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
- /*
- pSplit - class to draw spline splitted charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("TEXT_POS_TOP" , 690001);
- define("TEXT_POS_RIGHT" , 690002);
-
- /* pSplit class definition */
- class pSplit
- {
- var $pChartObject;
-
- /* Class creator */
- function pSplit()
- { }
-
- /* Create the encoded string */
- function drawSplitPath($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $Spacing = isset($Format["Spacing"]) ? $Format["Spacing"] : 20;
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 2;
- $TextPos = isset($Format["TextPos"]) ? $Format["TextPos"] : TEXT_POS_TOP;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 70;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 15;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- $LabelSerie = $Data["Abscissa"];
- $DataSerie = "";
-
- foreach($Data["Series"] as $SerieName => $Value)
- { if ( $SerieName != $LabelSerie && $DataSerie == "" ) { $DataSerie = $SerieName; } }
-
- $DataSerieSum = array_sum($Data["Series"][$DataSerie]["Data"]);
- $DataSerieCount = count($Data["Series"][$DataSerie]["Data"]);
-
- /* Scale Processing */
- if ( $TextPos == TEXT_POS_RIGHT )
- $YScale = (($Y2-$Y1) - (($DataSerieCount+1)*$Spacing)) / $DataSerieSum;
- else
- $YScale = (($Y2-$Y1) - ($DataSerieCount*$Spacing)) / $DataSerieSum;
- $LeftHeight = $DataSerieSum * $YScale;
-
- /* Re-compute graph width depending of the text mode choosen */
- if ( $TextPos == TEXT_POS_RIGHT )
- {
- $MaxWidth = 0;
- foreach($Data["Series"][$LabelSerie]["Data"] as $Key => $Label)
- {
- $Boundardies = $Object->getTextBox(0,0,$Object->FontName,$Object->FontSize,0,$Label);
- if ( $Boundardies[1]["X"] > $MaxWidth ) { $MaxWidth = $Boundardies[1]["X"] + $TextPadding*2; }
- }
- $X2 = $X2 - $MaxWidth;
- }
-
- /* Drawing */
- $LeftY = ((($Y2-$Y1) / 2) + $Y1) - ($LeftHeight/2);
- $RightY = $Y1;
- $VectorX = (($X2-$X1) / 2);
-
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ( isset($Data["Series"][$LabelSerie]["Data"][$Key]) )
- $Label = $Data["Series"][$LabelSerie]["Data"][$Key];
- else
- $Label = "-";
-
- $LeftY1 = $LeftY;
- $LeftY2 = $LeftY + $Value * $YScale;
-
- $RightY1 = $RightY + $Spacing;
- $RightY2 = $RightY + $Spacing + $Value * $YScale;;
-
- $Settings = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"],"NoDraw"=>TRUE,"Segments"=>$Segments,"Surrounding"=>$Surrounding);
-
- $PolyGon = "";
-
- $Angle = $Object->getAngle($X2,$RightY1,$X1,$LeftY1);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
-
- $Points = $Object->drawBezier($X1,$LeftY1,$X2,$RightY1,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
-
- $Angle = $Object->getAngle($X2,$RightY2,$X1,$LeftY2);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
-
- $Points = $Object->drawBezier($X1,$LeftY2,$X2,$RightY2,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- $Points = array_reverse($Points);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
- $Object->drawPolygon($PolyGon,$Settings);
-
- if ( $TextPos == TEXT_POS_RIGHT )
- $Object->drawText($X2+$TextPadding,($RightY2-$RightY1)/2+$RightY1,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- else
- $Object->drawText($X2,$RightY1-$TextPadding,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT));
-
- $LeftY = $LeftY2;
- $RightY = $RightY2;
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pSpring.class.php b/notFinishedCode/tricode/class/pSpring.class.php
deleted file mode 100644
index fcfc8f2..0000000
--- a/notFinishedCode/tricode/class/pSpring.class.php
+++ /dev/null
@@ -1,868 +0,0 @@
-<?php
- /*
- pSpring - class to draw spring graphs
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("NODE_TYPE_FREE" , 690001);
- define("NODE_TYPE_CENTRAL" , 690002);
-
- define("NODE_SHAPE_CIRCLE" , 690011);
- define("NODE_SHAPE_TRIANGLE" , 690012);
- define("NODE_SHAPE_SQUARE" , 690013);
-
- define("ALGORITHM_RANDOM" , 690021);
- define("ALGORITHM_WEIGHTED" , 690022);
- define("ALGORITHM_CIRCULAR" , 690023);
- define("ALGORITHM_CENTRAL" , 690024);
-
- define("LABEL_CLASSIC" , 690031);
- define("LABEL_LIGHT" , 690032);
-
- /* pSpring class definition */
- class pSpring
- {
- var $History;
- var $pChartObject;
- var $Data;
- var $Links;
- var $X1;
- var $Y1;
- var $X2;
- var $Y2;
- var $AutoComputeFreeZone;
- var $Labels;
-
- /* Class creator */
- function pSpring()
- {
- /* Initialise data arrays */
- $this->Data = "";
- $this->Links = "";
-
- /* Set nodes defaults */
- $this->Default["R"] = 255;
- $this->Default["G"] = 255;
- $this->Default["B"] = 255;
- $this->Default["Alpha"] = 100;
- $this->Default["BorderR"] = 0;
- $this->Default["BorderG"] = 0;
- $this->Default["BorderB"] = 0;
- $this->Default["BorderAlpha"] = 100;
- $this->Default["Surrounding"] = NULL;
- $this->Default["BackgroundR"] = 255;
- $this->Default["BackgroundG"] = 255;
- $this->Default["BackgroundB"] = 255;
- $this->Default["BackgroundAlpha"] = 0;
- $this->Default["Force"] = 1;
- $this->Default["NodeType"] = NODE_TYPE_FREE;
- $this->Default["Size"] = 5;
- $this->Default["Shape"] = NODE_SHAPE_CIRCLE;
- $this->Default["FreeZone"] = 40;
- $this->Default["LinkR"] = 0;
- $this->Default["LinkG"] = 0;
- $this->Default["LinkB"] = 0;
- $this->Default["LinkAlpha"] = 0;
-
- $this->Labels["Type"] = LABEL_CLASSIC;
- $this->Labels["R"] = 0;
- $this->Labels["G"] = 0;
- $this->Labels["B"] = 0;
- $this->Labels["Alpha"] = 100;
-
- $this->AutoComputeFreeZone = FALSE;
- }
-
- /* Set default links options */
- function setLinkDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["LinkR"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["LinkG"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["LinkB"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["LinkAlpha"] = $Settings["Alpha"]; }
- }
-
- /* Set default links options */
- function setLabelsSettings($Settings="")
- {
- if ( isset($Settings["Type"]) ) { $this->Labels["Type"] = $Settings["Type"]; }
- if ( isset($Settings["R"]) ) { $this->Labels["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Labels["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Labels["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Labels["Alpha"] = $Settings["Alpha"]; }
- }
-
- /* Auto compute the FreeZone size based on the number of connections */
- function autoFreeZone()
- {
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- { $this->Data[$Key]["FreeZone"] = count($Settings["Connections"])*10 + 20; }
- else
- { $this->Data[$Key]["FreeZone"] = 20; }
- }
-
- }
-
- /* Set link properties */
- function linkProperties($FromNode,$ToNode,$Settings)
- {
- if ( !isset($this->Data[$FromNode]) ) { return(0); }
- if ( !isset($this->Data[$ToNode]) ) { return(0); }
-
- $R = isset($Settings["R"]) ? $Settings["R"] : 0;
- $G = isset($Settings["G"]) ? $Settings["G"] : 0;
- $B = isset($Settings["B"]) ? $Settings["B"] : 0;
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : 100;
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Ticks = isset($Settings["Ticks"]) ? $Settings["Ticks"] : NULL;
-
- $this->Links[$FromNode][$ToNode]["R"] = $R; $this->Links[$ToNode][$FromNode]["R"] = $R;
- $this->Links[$FromNode][$ToNode]["G"] = $G; $this->Links[$ToNode][$FromNode]["G"] = $G;
- $this->Links[$FromNode][$ToNode]["B"] = $B; $this->Links[$ToNode][$FromNode]["B"] = $B;
- $this->Links[$FromNode][$ToNode]["Alpha"] = $Alpha; $this->Links[$ToNode][$FromNode]["Alpha"] = $Alpha;
- $this->Links[$FromNode][$ToNode]["Name"] = $Name; $this->Links[$ToNode][$FromNode]["Name"] = $Name;
- $this->Links[$FromNode][$ToNode]["Ticks"] = $Ticks; $this->Links[$ToNode][$FromNode]["Ticks"] = $Ticks;
- }
-
- function setNodeDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Default["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Default["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Default["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Default["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Default["Surrounding"] = $Settings["Surrounding"]; }
- if ( isset($Settings["BackgroundR"]) ) { $this->Default["BackgroundR"] = $Settings["BackgroundR"]; }
- if ( isset($Settings["BackgroundG"]) ) { $this->Default["BackgroundG"] = $Settings["BackgroundG"]; }
- if ( isset($Settings["BackgroundB"]) ) { $this->Default["BackgroundB"] = $Settings["BackgroundB"]; }
- if ( isset($Settings["BackgroundAlpha"]) ) { $this->Default["BackgroundAlpha"] = $Settings["BackgroundAlpha"]; }
- if ( isset($Settings["NodeType"]) ) { $this->Default["NodeType"] = $Settings["NodeType"]; }
- if ( isset($Settings["Size"]) ) { $this->Default["Size"] = $Settings["Size"]; }
- if ( isset($Settings["Shape"]) ) { $this->Default["Shape"] = $Settings["Shape"]; }
- if ( isset($Settings["FreeZone"]) ) { $this->Default["FreeZone"] = $Settings["FreeZone"]; }
- }
-
- /* Add a node */
- function addNode($NodeID,$Settings="")
- {
- /* if the node already exists, ignore */
- if (isset($this->Data[$NodeID])) { return(0); }
-
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : "Node ".$NodeID;
- $Connections = isset($Settings["Connections"]) ? $Settings["Connections"] : NULL;
-
- $R = isset($Settings["R"]) ? $Settings["R"] : $this->Default["R"];
- $G = isset($Settings["G"]) ? $Settings["G"] : $this->Default["G"];
- $B = isset($Settings["B"]) ? $Settings["B"] : $this->Default["B"];
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : $this->Default["Alpha"];
- $BorderR = isset($Settings["BorderR"]) ? $Settings["BorderR"] : $this->Default["BorderR"];
- $BorderG = isset($Settings["BorderG"]) ? $Settings["BorderG"] : $this->Default["BorderG"];
- $BorderB = isset($Settings["BorderB"]) ? $Settings["BorderB"] : $this->Default["BorderB"];
- $BorderAlpha = isset($Settings["BorderAlpha"]) ? $Settings["BorderAlpha"] : $this->Default["BorderAlpha"];
- $Surrounding = isset($Settings["Surrounding"]) ? $Settings["Surrounding"] : $this->Default["Surrounding"];
- $BackgroundR = isset($Settings["BackgroundR"]) ? $Settings["BackgroundR"] : $this->Default["BackgroundR"];
- $BackgroundG = isset($Settings["BackgroundG"]) ? $Settings["BackgroundG"] : $this->Default["BackgroundG"];
- $BackgroundB = isset($Settings["BackgroundB"]) ? $Settings["BackgroundB"] : $this->Default["BackgroundB"];
- $BackgroundAlpha = isset($Settings["BackgroundAlpha"]) ? $Settings["BackgroundAlpha"] : $this->Default["BackgroundAlpha"];
- $Force = isset($Settings["Force"]) ? $Settings["Force"] : $this->Default["Force"];
- $NodeType = isset($Settings["NodeType"]) ? $Settings["NodeType"] : $this->Default["NodeType"];
- $Size = isset($Settings["Size"]) ? $Settings["Size"] : $this->Default["Size"];
- $Shape = isset($Settings["Shape"]) ? $Settings["Shape"] : $this->Default["Shape"];
- $FreeZone = isset($Settings["FreeZone"]) ? $Settings["FreeZone"] : $this->Default["FreeZone"];
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $this->Data[$NodeID]["R"] = $R; $this->Data[$NodeID]["G"] = $G; $this->Data[$NodeID]["B"] = $B; $this->Data[$NodeID]["Alpha"] = $Alpha;
- $this->Data[$NodeID]["BorderR"] = $BorderR; $this->Data[$NodeID]["BorderG"] = $BorderG; $this->Data[$NodeID]["BorderB"] = $BorderB; $this->Data[$NodeID]["BorderAlpha"] = $BorderAlpha;
- $this->Data[$NodeID]["BackgroundR"] = $BackgroundR; $this->Data[$NodeID]["BackgroundG"] = $BackgroundG; $this->Data[$NodeID]["BackgroundB"] = $BackgroundB; $this->Data[$NodeID]["BackgroundAlpha"] = $BackgroundAlpha;
- $this->Data[$NodeID]["Name"] = $Name;
- $this->Data[$NodeID]["Force"] = $Force;
- $this->Data[$NodeID]["Type"] = $NodeType;
- $this->Data[$NodeID]["Size"] = $Size;
- $this->Data[$NodeID]["Shape"] = $Shape;
- $this->Data[$NodeID]["FreeZone"] = $FreeZone;
- if ( $Connections != NULL )
- {
- if ( is_array($Connections ) )
- {
- foreach($Connections as $Key => $Value)
- $this->Data[$NodeID]["Connections"][] = $Value;
- }
- else
- $this->Data[$NodeID]["Connections"][] = $Connections;
- }
- }
-
- /* Set color attribute for a list of nodes */
- function setNodesColor($Nodes,$Settings="")
- {
- if ( is_array($Nodes) )
- {
- foreach ($Nodes as $Key => $NodeID)
- {
- if (isset($this->Data[$NodeID]) )
- {
- if ( isset($Settings["R"]) ) { $this->Data[$NodeID]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$NodeID]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$NodeID]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$NodeID]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$NodeID]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$NodeID]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$NodeID]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$NodeID]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$NodeID]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
- }
- else
- {
- if ( isset($Settings["R"]) ) { $this->Data[$Nodes]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$Nodes]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$Nodes]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$Nodes]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$Nodes]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$Nodes]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$Nodes]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$Nodes]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$Nodes]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
-
- /* Returns all the nodes details */
- function dumpNodes()
- { return($this->Data); }
-
- /* Check if a connection exists and create it if required */
- function checkConnection($SourceID, $TargetID)
- {
- if ( isset($this->Data[$SourceID]["Connections"]) )
- {
- foreach ($this->Data[$SourceID]["Connections"] as $Key => $ConnectionID)
- { if ( $TargetID == $ConnectionID ) { return(TRUE); } }
- }
- $this->Data[$SourceID]["Connections"][] = $TargetID;
- }
- /* Get the median linked nodes position */
- function getMedianOffset($Key,$X,$Y)
- {
- $Cpt = 1;
- if ( isset($this->Data[$Key]["Connections"]) )
- {
- foreach($this->Data[$Key]["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]["X"]) && isset($this->Data[$NodeID]["Y"]) )
- {
- $X = $X + $this->Data[$NodeID]["X"];
- $Y = $Y + $this->Data[$NodeID]["Y"];
- $Cpt++;
- }
- }
- }
- return(array("X"=>$X/$Cpt,"Y"=>$Y/$Cpt));
- }
-
- /* Return the ID of the attached partner with the biggest weight */
- function getBiggestPartner($Key)
- {
- if ( !isset($this->Data[$Key]["Connections"]) ) { return(""); }
-
- $MaxWeight = 0; $Result = "";
- foreach($this->Data[$Key]["Connections"] as $Key => $PeerID)
- {
- if ( $this->Data[$PeerID]["Weight"] > $MaxWeight )
- { $MaxWeight = $this->Data[$PeerID]["Weight"]; $Result = $PeerID; }
- }
- return($Result);
- }
-
- /* Do the initial node positions computing pass */
- function firstPass($Algorithm)
- {
- $CenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $CenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $ConnectionID)
- $this->checkConnection($ConnectionID,$Key);
- }
- }
-
- if ( $this->AutoComputeFreeZone ) { $this->autoFreeZone(); }
-
- /* Get the max number of connections */
- $MaxConnections = 0;
- foreach($this->Data as $Key => $Settings)
- { if ( isset($Settings["Connections"]) ) { if ( $MaxConnections < count($Settings["Connections"] ) ) { $MaxConnections = count($Settings["Connections"]); } } }
-
- if ( $Algorithm == ALGORITHM_WEIGHTED )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $this->Data[$Key]["X"] = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $this->Data[$Key]["Y"] = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CENTRAL )
- {
- /* Put a weight on each nodes */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- $this->Data[$Key]["Weight"] = count($Settings["Connections"]);
- else
- $this->Data[$Key]["Weight"] = 0;
- }
-
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $BiggestPartner = $this->getBiggestPartner($Key);
- if ( $BiggestPartner != "" )
- {
- $Ring = $this->Data[$BiggestPartner]["FreeZone"];
- $Weight = $this->Data[$BiggestPartner]["Weight"];
- $AngleDivision = 360 / $this->Data[$BiggestPartner]["Weight"];
- $Done = FALSE; $Tries = 0;
- while (!$Done && $Tries <= $Weight*2)
- {
- $Tries++;
- $Angle = floor(rand(0,$Weight)*$AngleDivision);
- if ( !isset($this->Data[$BiggestPartner]["Angular"][$Angle]) || !isset($this->Data[$BiggestPartner]["Angular"]) )
- {
- $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle;
- $Done = TRUE;
- }
- }
- if ( !$Done )
- { $Angle = rand(0,360); $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle; }
-
- $X = cos(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["X"];
- $Y = sin(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["Y"];
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CIRCULAR )
- {
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $X = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $Y = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
-
- $MedianOffset = $this->getMedianOffset($Key,$X,$Y);
-
- $this->Data[$Key]["X"] = $MedianOffset["X"];
- $this->Data[$Key]["Y"] = $MedianOffset["Y"];
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_RANDOM )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- $this->Data[$Key]["X"] = $CenterX + rand(-20,20);
- $this->Data[$Key]["Y"] = $CenterY + rand(-20,20);
- }
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- }
- }
- }
-
- /* Compute one pass */
- function doPass()
- {
- /* Compute vectors */
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- unset($this->Data[$Key]["Vectors"]);
-
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- /* Repulsion vectors */
- foreach($this->Data as $Key2 => $Settings2)
- {
- if ( $Key != $Key2 )
- {
- $X2 = $this->Data[$Key2]["X"];
- $Y2 = $this->Data[$Key2]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2) + 180;
-
- /* Nodes too close, repulsion occurs */
- if ( $Distance < $FreeZone )
- {
- $Force = log(pow(2,$FreeZone-$Distance));
- if ( $Force > 1 )
- { $this->Data[$Key]["Vectors"][] = array("Type"=>"R","Angle"=>$Angle % 360,"Force"=>$Force); }
- }
- }
- }
-
- /* Attraction vectors */
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- if ( $Distance > $FreeZone )
- $Force = log(($Distance-$FreeZone)+1);
- else
- { $Force = log(($FreeZone-$Distance)+1); ($Angle = $Angle + 180); }
-
- if ( $Force > 1 )
- $this->Data[$Key]["Vectors"][] = array("Type"=>"A","Angle"=>$Angle % 360,"Force"=>$Force);
- }
- }
- }
- }
- }
-
- /* Move the nodes accoding to the vectors */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
-
- $X = cos(deg2rad($Angle)) * $Force * $Factor + $X;
- $Y = sin(deg2rad($Angle)) * $Force * $Factor + $Y;
- }
- }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
-
- function lastPass()
- {
- /* Put everything inside the graph area */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $this->X1 ) { $X = $this->X1; }
- if ( $X > $this->X2 ) { $X = $this->X2; }
- if ( $Y < $this->Y1 ) { $Y = $this->Y1; }
- if ( $Y > $this->Y2 ) { $Y = $this->Y2; }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
-
- /* Dump all links */
- $Links = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- $Links[] = array("X1"=>$X1,"Y1"=>$Y1,"X2"=>$X2,"Y2"=>$Y2,"Source"=>$Settings["Name"],"Destination"=>$this->Data[$NodeID]["Name"]);
- }
- }
- }
- }
-
- /* Check collisions */
- $Conflicts = 0;
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- foreach($Links as $IDLinks => $Link)
- {
- $X3 = $Link["X1"]; $Y3 = $Link["Y1"]; $X4 = $Link["X2"]; $Y4 = $Link["Y2"];
-
- if ( !($X1 == $X3 && $X2 == $X4 && $Y1 == $Y3 && $Y2 == $Y4 ) )
- {
- if ( $this->intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4) )
- {
- if ( $Link["Source"] != $Settings["Name"] && $Link["Source"] != $this->Data[$NodeID]["Name"] && $Link["Destination"] != $Settings["Name"] && $Link["Destination"] != $this->Data[$NodeID]["Name"] )
- { $Conflicts++; }
- }
- }
- }
- }
- }
- }
- }
- return($Conflicts/2);
- }
-
- /* Center the graph */
- function center()
- {
- /* Determine the real center */
- $TargetCenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $TargetCenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Get current boundaries */
- $XMin = $this->X2; $XMax = $this->X1;
- $YMin = $this->Y2; $YMax = $this->Y1;
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $XMin) { $XMin = $X; }
- if ( $X > $XMax) { $XMax = $X; }
- if ( $Y < $YMin) { $YMin = $Y; }
- if ( $Y > $YMax) { $YMax = $Y; }
- }
- $CurrentCenterX = ($XMax - $XMin) / 2 + $XMin;
- $CurrentCenterY = ($YMax - $YMin) / 2 + $YMin;
-
- /* Compute the offset to apply */
- $XOffset = $TargetCenterX - $CurrentCenterX;
- $YOffset = $TargetCenterY - $CurrentCenterY;
-
- /* Correct the points position */
- foreach($this->Data as $Key => $Settings)
- {
- $this->Data[$Key]["X"] = $Settings["X"] + $XOffset;
- $this->Data[$Key]["Y"] = $Settings["Y"] + $YOffset;
- }
- }
-
- /* Create the encoded string */
- function drawSpring($Object,$Settings="")
- {
- $this->pChartObject = $Object;
-
- $Pass = isset($Settings["Pass"]) ? $Settings["Pass"] : 50;
- $Retries = isset($Settings["Retry"]) ? $Settings["Retry"] : 10;
- $this->MagneticForceA = isset($Settings["MagneticForceA"]) ? $Settings["MagneticForceA"] : 1.5;
- $this->MagneticForceR = isset($Settings["MagneticForceR"]) ? $Settings["MagneticForceR"] : 2;
- $this->RingSize = isset($Settings["RingSize"]) ? $Settings["RingSize"] : 40;
- $DrawVectors = isset($Settings["DrawVectors"]) ? $Settings["DrawVectors"] : FALSE;
- $DrawQuietZone = isset($Settings["DrawQuietZone"]) ? $Settings["DrawQuietZone"] : FALSE;
- $CenterGraph = isset($Settings["CenterGraph"]) ? $Settings["CenterGraph"] : TRUE;
- $TextPadding = isset($Settings["TextPadding"]) ? $Settings["TextPadding"] : 4;
- $Algorithm = isset($Settings["Algorithm"]) ? $Settings["Algorithm"] : ALGORITHM_WEIGHTED;
-
- $FontSize = $Object->FontSize;
- $this->X1 = $Object->GraphAreaX1;
- $this->Y1 = $Object->GraphAreaY1;
- $this->X2 = $Object->GraphAreaX2;
- $this->Y2 = $Object->GraphAreaY2;
-
- $Conflicts = 1; $Jobs = 0; $this->History["MinimumConflicts"] = -1;
- while ($Conflicts != 0 && $Jobs < $Retries )
- {
- $Jobs++;
-
- /* Compute the initial settings */
- $this->firstPass($Algorithm);
-
- /* Apply the vectors */
- if ( $Pass > 0 )
- {
- for ($i=0; $i<=$Pass; $i++) { $this->doPass(); }
- }
-
- $Conflicts = $this->lastPass();
- if ( $this->History["MinimumConflicts"] == -1 || $Conflicts < $this->History["MinimumConflicts"] )
- { $this->History["MinimumConflicts"] = $Conflicts; $this->History["Result"] = $this->Data; }
- }
-
- $Conflicts = $this->History["MinimumConflicts"];
- $this->Data = $this->History["Result"];
-
- if ( $CenterGraph ) { $this->center(); }
-
- /* Draw the connections */
- $Drawn = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( !isset($Drawn[$Key]) ) { $Drawn[$Key] = ""; }
- if ( !isset($Drawn[$NodeID]) ) { $Drawn[$NodeID] = ""; }
-
- if ( isset($this->Data[$NodeID]) && !isset($Drawn[$Key][$NodeID]) && !isset($Drawn[$NodeID][$Key]) )
- {
- $Color = array("R"=>$this->Default["LinkR"],"G"=>$this->Default["LinkG"],"B"=>$this->Default["LinkB"],"Alpha"=>$this->Default["Alpha"]);
-
- if ( $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["R"]) )
- { $Color = array("R"=>$this->Links[$Key][$NodeID]["R"],"G"=>$this->Links[$Key][$NodeID]["G"],"B"=>$this->Links[$Key][$NodeID]["B"],"Alpha"=>$this->Links[$Key][$NodeID]["Alpha"]); }
-
- if ( isset($this->Links[$Key][$NodeID]["Ticks"]) )
- { $Color["Ticks"] = $this->Links[$Key][$NodeID]["Ticks"]; }
- }
-
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $this->pChartObject->drawLine($X,$Y,$X2,$Y2,$Color);
- $Drawn[$Key][$NodeID] = TRUE;
-
- if ( isset($this->Links) && $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["Name"]) || isset($this->Links[$NodeID][$Key]["Name"]) )
- {
- $Name = isset($this->Links[$Key][$NodeID]["Name"]) ? $this->Links[$Key][$NodeID]["Name"] : $this->Links[$NodeID][$Key]["Name"];
- $TxtX = ($X2 - $X)/2 + $X;
- $TxtY = ($Y2 - $Y)/2 + $Y;
-
- if ( $X <= $X2 )
- $Angle = (360-$this->getAngle($X,$Y,$X2,$Y2)) % 360;
- else
- $Angle = (360-$this->getAngle($X2,$Y2,$X,$Y)) % 360;
-
- $Settings = $Color;
- $Settings["Angle"] = $Angle;
- $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE;
- $this->pChartObject->drawText($TxtX,$TxtY,$Name,$Settings);
- }
- }
- }
- }
- }
- }
-
- /* Draw the quiet zones */
- if ( $DrawQuietZone )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $FreeZone = $Settings["FreeZone"];
-
- $this->pChartObject->drawFilledCircle($X,$Y,$FreeZone,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>2));
- }
- }
-
-
- /* Draw the nodes */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $Name = $Settings["Name"];
- $FreeZone = $Settings["FreeZone"];
- $Shape = $Settings["Shape"];
- $Size = $Settings["Size"];
-
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>$Settings["Alpha"],"BorderR"=>$Settings["BorderR"],"BorderG"=>$Settings["BorderG"],"BorderB"=>$Settings["BorderB"],"BorderApha"=>$Settings["BorderAlpha"]);
-
- if ( $Shape == NODE_SHAPE_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X,$Y,$Size,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_TRIANGLE )
- {
- $Points = "";
- $Points[] = cos(deg2rad(270)) * $Size + $X; $Points[] = sin(deg2rad(270)) * $Size + $Y;
- $Points[] = cos(deg2rad(45)) * $Size + $X; $Points[] = sin(deg2rad(45)) * $Size + $Y;
- $Points[] = cos(deg2rad(135)) * $Size + $X; $Points[] = sin(deg2rad(135)) * $Size + $Y;
- $this->pChartObject->drawPolygon($Points,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_SQUARE )
- {
- $Offset = $Size/2; $Size = $Size / 2;
- $this->pChartObject->drawFilledRectangle($X-$Offset,$Y-$Offset,$X+$Offset,$Y+$Offset,$Color);
- }
-
- if ( $Name != "" )
- {
- $LabelOptions = array("R"=>$this->Labels["R"],"G"=>$this->Labels["G"],"B"=>$this->Labels["B"],"Alpha"=>$this->Labels["Alpha"]);
-
- if ( $this->Labels["Type"] == LABEL_LIGHT )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_BOTTOMLEFT;
- $this->pChartObject->drawText($X,$Y,$Name,$LabelOptions);
- }
- elseif ( $this->Labels["Type"] == LABEL_CLASSIC )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $LabelOptions["DrawBox"] = TRUE;
- $LabelOptions["BoxAlpha"] = 50;
- $LabelOptions["BorderOffset"] = 4;
- $LabelOptions["RoundedRadius"] = 3;
- $LabelOptions["BoxRounded"] = TRUE;
- $LabelOptions["NoShadow"] = TRUE;
-
- $this->pChartObject->drawText($X,$Y+$Size+$TextPadding,$Name,$LabelOptions);
- }
- }
- }
-
- /* Draw the vectors */
- if ( $DrawVectors )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
- $Color = $Type == "A" ? array("FillR"=>255,"FillG"=>0,"FillB"=>0) : array("FillR"=>0,"FillG"=>255,"FillB"=>0);
-
- $X2 = cos(deg2rad($Angle)) * $Force * $Factor + $X1;
- $Y2 = sin(deg2rad($Angle)) * $Force * $Factor + $Y1;
-
- $this->pChartObject->drawArrow($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- return(array("Pass"=>$Jobs,"Conflicts"=>$Conflicts));
- }
-
- /* Return the distance between two points */
- function getDistance($X1,$Y1,$X2,$Y2)
- { return (sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1))); }
-
- /* Return the angle made by a line and the X axis */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- function intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4)
- {
- $A = (($X3 * $Y4 - $X4 * $Y3) * ($X1 - $X2) - ($X1 * $Y2 - $X2 * $Y1) * ($X3 - $X4));
- $B = (($Y1 - $Y2) * ($X3 - $X4) - ($Y3 - $Y4) * ($X1 - $X2));
-
- if ( $B == 0 ) { return(FALSE); }
- $Xi = $A / $B;
-
- $C = ($X1 - $X2);
- if ( $C == 0 ) { return(FALSE); }
- $Yi = $Xi * (($Y1 - $Y2)/$C) + (($X1 * $Y2 - $X2 * $Y1)/$C);
-
- if ( $Xi >= min($X1,$X2) && $Xi >= min($X3,$X4) && $Xi <= max($X1,$X2) && $Xi <= max($X3,$X4))
- {
- if ( $Yi >= min($Y1,$Y2) && $Yi >= min($Y3,$Y4) && $Yi <= max($Y1,$Y2) && $Yi <= max($Y3,$Y4))
- { return(TRUE); }
- }
-
- return(FALSE);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pStock.class.php b/notFinishedCode/tricode/class/pStock.class.php
deleted file mode 100644
index 7f9dbfb..0000000
--- a/notFinishedCode/tricode/class/pStock.class.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
- /*
- pStock - class to draw stock charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("STOCK_MISSING_SERIE" , 180001);
-
- /* pStock class definition */
- class pStock
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pStock($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a stock chart */
- function drawStockChart($Format="")
- {
- $SerieOpen = isset($Format["SerieOpen"]) ? $Format["SerieOpen"] : "Open";
- $SerieClose = isset($Format["SerieClose"]) ? $Format["SerieClose"] : "Close";
- $SerieMin = isset($Format["SerieMin"]) ? $Format["SerieMin"] : "Min";
- $SerieMax = isset($Format["SerieMax"]) ? $Format["SerieMax"] : "Max";
- $SerieMedian = isset($Format["SerieMedian"]) ? $Format["SerieMedian"] : NULL;
- $LineWidth = isset($Format["LineWidth"]) ? $Format["LineWidth"] : 1;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 0;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 0;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 0;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 100;
- $ExtremityWidth = isset($Format["ExtremityWidth"]) ? $Format["ExtremityWidth"] : 1;
- $ExtremityLength = isset($Format["ExtremityLength"]) ? $Format["ExtremityLength"] : 3;
- $ExtremityR = isset($Format["ExtremityR"]) ? $Format["ExtremityR"] : 0;
- $ExtremityG = isset($Format["ExtremityG"]) ? $Format["ExtremityG"] : 0;
- $ExtremityB = isset($Format["ExtremityB"]) ? $Format["ExtremityB"] : 0;
- $ExtremityAlpha = isset($Format["ExtremityAlpha"]) ? $Format["ExtremityAlpha"] : 100;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 8;
- $BoxUpR = isset($Format["BoxUpR"]) ? $Format["BoxUpR"] : 188;
- $BoxUpG = isset($Format["BoxUpG"]) ? $Format["BoxUpG"] : 224;
- $BoxUpB = isset($Format["BoxUpB"]) ? $Format["BoxUpB"] : 46;
- $BoxUpAlpha = isset($Format["BoxUpAlpha"]) ? $Format["BoxUpAlpha"] : 100;
- $BoxUpSurrounding = isset($Format["BoxUpSurrounding"]) ? $Format["BoxUpSurrounding"] : NULL;
- $BoxUpBorderR = isset($Format["BoxUpBorderR"]) ? $Format["BoxUpBorderR"] : $BoxUpR-20;
- $BoxUpBorderG = isset($Format["BoxUpBorderG"]) ? $Format["BoxUpBorderG"] : $BoxUpG-20;
- $BoxUpBorderB = isset($Format["BoxUpBorderB"]) ? $Format["BoxUpBorderB"] : $BoxUpB-20;
- $BoxUpBorderAlpha = isset($Format["BoxUpBorderAlpha"]) ? $Format["BoxUpBorderAlpha"] : 100;
- $BoxDownR = isset($Format["BoxDownR"]) ? $Format["BoxDownR"] : 224;
- $BoxDownG = isset($Format["BoxDownG"]) ? $Format["BoxDownG"] : 100;
- $BoxDownB = isset($Format["BoxDownB"]) ? $Format["BoxDownB"] : 46;
- $BoxDownAlpha = isset($Format["BoxDownAlpha"]) ? $Format["BoxDownAlpha"] : 100;
- $BoxDownSurrounding= isset($Format["BoxDownSurrounding"]) ? $Format["BoxDownSurrounding"] : NULL;
- $BoxDownBorderR = isset($Format["BoxDownBorderR"]) ? $Format["BoxDownBorderR"] : $BoxDownR-20;
- $BoxDownBorderG = isset($Format["BoxDownBorderG"]) ? $Format["BoxDownBorderG"] : $BoxDownG-20;
- $BoxDownBorderB = isset($Format["BoxDownBorderB"]) ? $Format["BoxDownBorderB"] : $BoxDownB-20;
- $BoxDownBorderAlpha= isset($Format["BoxDownBorderAlpha"]) ? $Format["BoxDownBorderAlpha"] : 100;
- $ShadowOnBoxesOnly = isset($Format["ShadowOnBoxesOnly"]) ? $Format["ShadowOnBoxesOnly"] : TRUE;
- $MedianR = isset($Format["MedianR"]) ? $Format["MedianR"] : 255;
- $MedianG = isset($Format["MedianG"]) ? $Format["MedianG"] : 0;
- $MedianB = isset($Format["MedianB"]) ? $Format["MedianB"] : 0;
- $MedianAlpha = isset($Format["MedianAlpha"]) ? $Format["MedianAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : "Stock Chart";
-
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( $BoxUpSurrounding != NULL ) { $BoxUpBorderR = $BoxUpR + $BoxUpSurrounding; $BoxUpBorderG = $BoxUpG + $BoxUpSurrounding; $BoxUpBorderB = $BoxUpB + $BoxUpSurrounding; }
- if ( $BoxDownSurrounding != NULL ) { $BoxDownBorderR = $BoxDownR + $BoxDownSurrounding; $BoxDownBorderG = $BoxDownG + $BoxDownSurrounding; $BoxDownBorderB = $BoxDownB + $BoxDownSurrounding; }
-
- if ( $LineWidth != 1 ) { $LineOffset = $LineWidth / 2; }
- $BoxOffset = $BoxWidth / 2;
-
- $Data = $this->pChartObject->DataSet->getData();
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- if ( !isset($Data["Series"][$SerieOpen]) || !isset($Data["Series"][$SerieClose]) || !isset($Data["Series"][$SerieMin]) || !isset($Data["Series"][$SerieMax]) )
- return(STOCK_MISSING_SERIE);
-
- $Plots = "";
- foreach($Data["Series"][$SerieOpen]["Data"] as $Key => $Value)
- {
- $Point = "";
- if ( isset($Data["Series"][$SerieClose]["Data"][$Key]) || isset($Data["Series"][$SerieMin]["Data"][$Key]) || isset($Data["Series"][$SerieMax]["Data"][$Key]) )
- $Point = array($Value,$Data["Series"][$SerieClose]["Data"][$Key],$Data["Series"][$SerieMin]["Data"][$Key],$Data["Series"][$SerieMax]["Data"][$Key]);
- if ( $SerieMedian != NULL && isset($Data["Series"][$SerieMedian]["Data"][$Key]) )
- $Point[] = $Data["Series"][$SerieMedian]["Data"][$Key];
-
- $Plots[] = $Point;
- }
-
- $AxisID = $Data["Series"][$SerieOpen]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $YZero = $this->pChartObject->scaleComputeY(0,array("AxisID"=>$AxisID));
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $LineSettings = array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha);
- $ExtremitySettings = array("R"=>$ExtremityR,"G"=>$ExtremityG,"B"=>$ExtremityB,"Alpha"=>$ExtremityAlpha);
- $BoxUpSettings = array("R"=>$BoxUpR,"G"=>$BoxUpG,"B"=>$BoxUpB,"Alpha"=>$BoxUpAlpha,"BorderR"=>$BoxUpBorderR,"BorderG"=>$BoxUpBorderG,"BorderB"=>$BoxUpBorderB,"BorderAlpha"=>$BoxUpBorderAlpha);
- $BoxDownSettings = array("R"=>$BoxDownR,"G"=>$BoxDownG,"B"=>$BoxDownB,"Alpha"=>$BoxDownAlpha,"BorderR"=>$BoxDownBorderR,"BorderG"=>$BoxDownBorderG,"BorderB"=>$BoxDownBorderB,"BorderAlpha"=>$BoxDownBorderAlpha);
- $MedianSettings = array("R"=>$MedianR,"G"=>$MedianG,"B"=>$MedianB,"Alpha"=>$MedianAlpha);
-
- foreach($Plots as $Key =>$Points)
- {
- $PosArray = $this->pChartObject->scaleComputeY($Points,array("AxisID"=>$AxisID));
-
- $Values = "Open :".$Data["Series"][$SerieOpen]["Data"][$Key]."<BR>Close : ".$Data["Series"][$SerieClose]["Data"][$Key]."<BR>Min : ".$Data["Series"][$SerieMin]["Data"][$Key]."<BR>Max : ".$Data["Series"][$SerieMax]["Data"][$Key]."<BR>";
- if ( $SerieMedian != NULL ) { $Values = $Values."Median : ".$Data["Series"][$SerieMedian]["Data"][$Key]."<BR>"; }
- if ( $PosArray[0] > $PosArray[1] ) { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxUpR,$BoxUpG,$BoxUpB); } else { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxDownR,$BoxDownG,$BoxDownB); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->pChartObject->GraphAreaY2-1 ) { $YZero = $this->pChartObject->GraphAreaY2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaY1+1 ) { $YZero = $this->pChartObject->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($X,$PosArray[2],$X,$PosArray[3],$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$LineOffset,$PosArray[2],$X+$LineOffset,$PosArray[3],$LineSettings);
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2],$ExtremitySettings);
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3],$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]).",".floor($X+$ExtremityLength).",".floor($PosArray[3]),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2]-$ExtremityWidth,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3]+$ExtremityWidth,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]-$ExtremityWidth).",".floor($X+$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] > $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[4],$X+$ExtremityLength,$PosArray[4],$MedianSettings);
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $YZero > $this->pChartObject->GraphAreaX2-1 ) { $YZero = $this->pChartObject->GraphAreaX2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaX1+1 ) { $YZero = $this->pChartObject->GraphAreaX1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($PosArray[2],$Y,$PosArray[3],$Y,$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$LineOffset,$PosArray[3],$Y+$LineOffset,$LineSettings);
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($PosArray[2],$Y-$ExtremityLength,$PosArray[2],$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawLine($PosArray[3],$Y-$ExtremityLength,$PosArray[3],$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$ExtremityLength,$PosArray[2]-$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($PosArray[3],$Y-$ExtremityLength,$PosArray[3]+$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]-$ExtremityWidth).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] < $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($PosArray[4],$Y-$ExtremityLength,$PosArray[4],$Y+$ExtremityLength,$MedianSettings);
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/class/pSurface.class.php b/notFinishedCode/tricode/class/pSurface.class.php
deleted file mode 100644
index f887ac0..0000000
--- a/notFinishedCode/tricode/class/pSurface.class.php
+++ /dev/null
@@ -1,315 +0,0 @@
-<?php
- /*
- pSurface - class to draw surface charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("UNKNOWN" , 0.123456789);
- define("IGNORED" , -1);
-
- define("LABEL_POSITION_LEFT" , 880001);
- define("LABEL_POSITION_RIGHT" , 880002);
- define("LABEL_POSITION_TOP" , 880003);
- define("LABEL_POSITION_BOTTOM" , 880004);
-
- /* pStock class definition */
- class pSurface
- {
- var $pChartObject;
- var $GridSizeX;
- var $GridSizeY;
- var $Points;
-
- /* Class creator */
- function pSurface($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- $this->GridSize = 10;
- $this->Points = "";
- }
-
- /* Define the grid size and initialise the 2D matrix */
- function setGrid($XSize=10,$YSize=10)
- {
- for($X=0; $X<=$XSize; $X++) { for($Y=0; $Y<=$YSize; $Y++) { $this->Points[$X][$Y]=UNKNOWN; } }
-
- $this->GridSizeX = $XSize;
- $this->GridSizeY = $YSize;
- }
-
- /* Add a point on the grid */
- function addPoint($X,$Y,$Value,$Force=TRUE)
- {
- if ( $X < 0 || $X >$this->GridSizeX ) { return(0); }
- if ( $Y < 0 || $Y >$this->GridSizeY ) { return(0); }
-
- if ( $this->Points[$X][$Y] == UNKNOWN || $Force )
- $this->Points[$X][$Y] = $Value;
- elseif ( $this->Points[$X][$Y] == UNKNOWN )
- $this->Points[$X][$Y] = $Value;
- else
- $this->Points[$X][$Y] = ($this->Points[$X][$Y] + $Value)/2;
- }
-
- /* Write the X labels */
- function writeXLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_TOP;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_TOP )
- {
- $YPos = $this->pChartObject->GraphAreaY1 - $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- }
- elseif ( $Position == LABEL_POSITION_BOTTOM )
- {
- $YPos = $this->pChartObject->GraphAreaY2 + $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- }
- else
- return(-1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- $XPos = floor($X0+$X*$XSize + $XSize/2);
-
- if( $Labels == NULL || !isset($Labels[$X]) )
- $Value = $X+$CountOffset;
- else
- $Value = $Labels[$X];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Write the Y labels */
- function writeYLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_LEFT;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $Y0 = $this->pChartObject->GraphAreaY1;
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_LEFT )
- { $XPos = $this->pChartObject->GraphAreaX1 - $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- elseif ( $Position == LABEL_POSITION_RIGHT )
- { $XPos = $this->pChartObject->GraphAreaX2 + $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- return(-1);
-
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $YPos = floor($Y0+$Y*$YSize + $YSize/2);
-
- if( $Labels == NULL || !isset($Labels[$Y]) )
- $Value = $Y+$CountOffset;
- else
- $Value = $Labels[$Y];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Draw the area arround the specified Threshold */
- function drawContour($Threshold,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 3;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 0;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED && $Value >= $Threshold)
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $X > 0 && $this->Points[$X-1][$Y] != UNKNOWN && $this->Points[$X-1][$Y] != IGNORED && $this->Points[$X-1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X1,$Y2,$Color);
- if ( $Y > 0 && $this->Points[$X][$Y-1] != UNKNOWN && $this->Points[$X][$Y-1] != IGNORED && $this->Points[$X][$Y-1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y1,$Color);
- if ( $X < $this->GridSizeX && $this->Points[$X+1][$Y] != UNKNOWN && $this->Points[$X+1][$Y] != IGNORED && $this->Points[$X+1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X2,$Y1,$X2,$Y2,$Color);
- if ( $Y < $this->GridSizeY && $this->Points[$X][$Y+1] != UNKNOWN && $this->Points[$X][$Y+1] != IGNORED && $this->Points[$X][$Y+1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y2,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Draw the surface chart */
- function drawSurface($Format="")
- {
- $Palette = isset($Format["Palette"]) ? $Format["Palette"] : NULL;
- $ShadeR1 = isset($Format["ShadeR1"]) ? $Format["ShadeR1"] : 77;
- $ShadeG1 = isset($Format["ShadeG1"]) ? $Format["ShadeG1"] : 205;
- $ShadeB1 = isset($Format["ShadeB1"]) ? $Format["ShadeB1"] : 21;
- $ShadeA1 = isset($Format["ShadeA1"]) ? $Format["ShadeA1"] : 40;
- $ShadeR2 = isset($Format["ShadeR2"]) ? $Format["ShadeR2"] : 227;
- $ShadeG2 = isset($Format["ShadeG2"]) ? $Format["ShadeG2"] : 135;
- $ShadeB2 = isset($Format["ShadeB2"]) ? $Format["ShadeB2"] : 61;
- $ShadeA2 = isset($Format["ShadeA2"]) ? $Format["ShadeA2"] : 100;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : -1;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 1;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED )
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $Palette != NULL )
- {
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["R"]) ) { $R = $Palette[$Value]["R"]; } else { $R = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["G"]) ) { $G = $Palette[$Value]["G"]; } else { $G = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["B"]) ) { $B = $Palette[$Value]["B"]; } else { $B = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["Alpha"]) ) { $Alpha = $Palette[$Value]["Alpha"]; } else { $Alpha = 1000; }
- }
- else
- {
- $R = (($ShadeR2-$ShadeR1)/100)*$Value + $ShadeR1;
- $G = (($ShadeG2-$ShadeG1)/100)*$Value + $ShadeG1;
- $B = (($ShadeB2-$ShadeB1)/100)*$Value + $ShadeB1;
- $Alpha = (($ShadeA2-$ShadeA1)/100)*$Value + $ShadeA1;
- }
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Border ) { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- if ( $Surrounding != -1 ) { $Settings["BorderR"] = $R+$Surrounding; $Settings["BorderG"] = $G+$Surrounding; $Settings["BorderB"] = $B+$Surrounding; }
-
- $this->pChartObject->drawFilledRectangle($X1,$Y1,$X2-1,$Y2-1,$Settings);
- }
- }
- }
- }
-
- /* Compute the missing points */
- function computeMissing()
- {
- $Missing = "";
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] == UNKNOWN )
- $Missing[] = $X.",".$Y;
- }
- }
- shuffle($Missing);
-
- foreach($Missing as $Key => $Pos)
- {
- $Pos = preg_split("/,/",$Pos);
- $X = $Pos[0];
- $Y = $Pos[1];
-
- if ( $this->Points[$X][$Y] == UNKNOWN )
- {
- $NearestNeighbor = $this->getNearestNeighbor($X,$Y);
-
- $Value = 0; $Points = 0;
- for($Xi=$X-$NearestNeighbor;$Xi<=$X+$NearestNeighbor;$Xi++)
- {
- for($Yi=$Y-$NearestNeighbor;$Yi<=$Y+$NearestNeighbor;$Yi++)
- {
- if ($Xi >=0 && $Yi >= 0 && $Xi <= $this->GridSizeX && $Yi <= $this->GridSizeY && $this->Points[$Xi][$Yi] != UNKNOWN && $this->Points[$Xi][$Yi] != IGNORED)
- {
- $Value = $Value + $this->Points[$Xi][$Yi]; $Points++;
- }
- }
- }
-
- if ( $Points != 0 ) { $this->Points[$X][$Y] = $Value / $Points; }
- }
- }
- }
-
- /* Return the nearest Neighbor distance of a point */
- function getNearestNeighbor($Xp,$Yp)
- {
- $Nearest = UNKNOWN;
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] != UNKNOWN && $this->Points[$X][$Y] != IGNORED )
- {
- $DistanceX = max($Xp,$X)-min($Xp,$X);
- $DistanceY = max($Yp,$Y)-min($Yp,$Y);
- $Distance = max($DistanceX,$DistanceY);
- if ( $Distance < $Nearest || $Nearest == UNKNOWN ) { $Nearest = $Distance; }
- }
- }
- }
- return($Nearest);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/tricode/css/Critical.png b/notFinishedCode/tricode/css/Critical.png
deleted file mode 100644
index e025d19..0000000
--- a/notFinishedCode/tricode/css/Critical.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/Help.png b/notFinishedCode/tricode/css/Help.png
deleted file mode 100644
index 42a8f7c..0000000
--- a/notFinishedCode/tricode/css/Help.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/Info.png b/notFinishedCode/tricode/css/Info.png
deleted file mode 100644
index 5a7a2c3..0000000
--- a/notFinishedCode/tricode/css/Info.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/Warning.png b/notFinishedCode/tricode/css/Warning.png
deleted file mode 100644
index 0af654e..0000000
--- a/notFinishedCode/tricode/css/Warning.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/chk_off.png b/notFinishedCode/tricode/css/chk_off.png
deleted file mode 100755
index 1514d51..0000000
--- a/notFinishedCode/tricode/css/chk_off.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/chk_on.png b/notFinishedCode/tricode/css/chk_on.png
deleted file mode 100755
index a9925a0..0000000
--- a/notFinishedCode/tricode/css/chk_on.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/formCSS.css b/notFinishedCode/tricode/css/formCSS.css
deleted file mode 100644
index f94bd72..0000000
--- a/notFinishedCode/tricode/css/formCSS.css
+++ /dev/null
@@ -1,46 +0,0 @@
-/* fancyform styles edited by Refik Hadzialic*/
-html
-{
-font-family:Arial,Helvetica,sans-serif;
-}
-.form label
-{
-display:block;
-padding:0.0em;
-padding-left:22px;
-/*background-position:9px center;*/
-background-repeat:no-repeat;
-/*border:1px solid #252525;*/
-clear:both;cursor:pointer;
-
-font-family:Arial,Helvetica,sans-serif;
-font-style:normal;
-font-size:15px;
-}
-
-.checked
-{
-background-color:#fff;
-background-image:url(chk_on.png);
-}
-
-.unchecked
-{
-background-color:#fff;
-background-image:url(chk_off.png);
-}
-
-.leftcol
-{
-float:left;
-clear:left;
-width:30%;
-}
-
-.rightcol
-{
-float:left;
-clear:right;
-width:50%;
-}
-
diff --git a/notFinishedCode/tricode/css/info_rhombus.png b/notFinishedCode/tricode/css/info_rhombus.png
deleted file mode 100644
index 036733e..0000000
--- a/notFinishedCode/tricode/css/info_rhombus.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/information.png b/notFinishedCode/tricode/css/information.png
deleted file mode 100644
index 93c67f2..0000000
--- a/notFinishedCode/tricode/css/information.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/link.gif b/notFinishedCode/tricode/css/link.gif
deleted file mode 100644
index daada04..0000000
--- a/notFinishedCode/tricode/css/link.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/css/tableCSS.css b/notFinishedCode/tricode/css/tableCSS.css
deleted file mode 100644
index 2a7f54d..0000000
--- a/notFinishedCode/tricode/css/tableCSS.css
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -------------------------------------------------------
-Author: Vitaly Friedman but edited by Refik Hadzialic
-Theme: Green Life - A Fresh, Warm and Readable Table
-URL: http://www.alvit.de/vf
--------------------------------------------------------
-*/
-
- html {
- height: 100%;
- }
- #main {
- float: left;
- width: 350px;
- }
- #sidebar
- {
- float: left;
- width: 700px;
- }
- #footer
- {
- position: absolute;
- bottom: 1px;
- padding-top: 0px;
- padding-right: 220px;
- padding-left: 350px;
- border: 1px solid black;
- }
- body {
- background-color: #F0F0F0;
- font-family: verdana, verdana, ariel;
- height: 100%;
- }
-
- a.pChart
- {
- text-decoration: none;
- color: #6A6A6A;
- }
-
- table {
- font: 11px verdana,verdana, arial;
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- text-align: left;
- color: #333;
- line-height: 19px;
- }
-
- caption {
- font-size: 14px;
- font-weight: bold;
- margin-bottom: 20px;
- text-align: left;
- text-transform: uppercase;
- }
-
- td {
- margin: 0;
- padding: 20px 10px;
- border: 1px dotted #f5f5f5;
- }
-
-
- th {
- font-weight: normal;
- text-transform: uppercase;
- }
-
- thead tr th {
- background-color: #575757;
- padding: 20px 10px;
- color: #fff;
- font-weight: bold;
- border-right: 2px solid #333;
- text-transform: uppercase;
- text-align:center;
- }
-
- tfoot tr th, tfoot tr td {
- background-color: transparent;
- padding: 20px 10px;
- color: #ccc;
- border-top: 1px solid #ccc;
- }
-
- tbody tr th {
- padding: 20px 10px;
- border-bottom: 1px dotted #fafafa;
- }
-
- tr {
- background-color: #FBFDF6;
- }
- tr.odd {
- background-color: #EDF7DC;
- }
-
- tr:hover {
- }
-
- tr:hover td, tr:hover td a, tr:hover th a {
- color: #a10000;
- }
-
- td:hover {
- }
-
- tr:hover th a:hover {
- background-color: #F7FBEF;
- border-bottom: 2px solid #86C200;
- }
-
- table a {
- color: #608117;
- background-image: none;
- text-decoration: none;
- border-bottom: 1px dotted #8A8F95;
- padding: 2px;
- padding-right: 12px; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:hover {
- color: #BBC4CD;
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:visited {
- text-decoration: none;
- border-bottom: 1px dotted #333;
- text-decoration: none;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
-
- table a:visited:hover {
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
diff --git a/notFinishedCode/tricode/css/tooltip.css b/notFinishedCode/tricode/css/tooltip.css
deleted file mode 100644
index 3a50734..0000000
--- a/notFinishedCode/tricode/css/tooltip.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.tooltip {
- border-bottom: 1px dotted #000000; color: #000000; outline: none;
- cursor: help; text-decoration: none;
- position: relative;
- }
- .tooltip span {
- margin-left: -999em;
- position: absolute;
- }
- .tooltip:hover span {
- border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
- font-family: Calibri, Tahoma, Geneva, sans-serif;
- position: absolute; left: 1em; top: 2em; z-index: 99;
- margin-left: 0; width: 250px;
- }
- .tooltip:hover img {
- border: 0; margin: -10px 0 0 -55px;
- float: left; position: absolute;
- }
- .tooltip:hover em {
- font-family: Candara, Tahoma, Geneva, sans-serif; font-size: 1.2em; font-weight: bold;
- display: block; padding: 0.2em 0 0.6em 0;
- }
- .classic { padding: 0.8em 1em; }
- .custom { padding: 0.5em 0.8em 0.8em 2em; }
- * html a:hover { background: transparent; }
- .classic {background: #f8ff88; border: 1px solid #FFAD33; }
- .critical { background: #f8ff88; border: 1px solid #FF3334; }
- .help { background: #f8ff88; border: 1px solid #2BB0D7; }
- .info { background: #f8ff88; border: 1px solid #2BB0D7; }
- .warning { background: #f8ff88; border: 1px solid #FFAD33; }
-
diff --git a/notFinishedCode/tricode/css/visitedLink.gif b/notFinishedCode/tricode/css/visitedLink.gif
deleted file mode 100644
index f7f1867..0000000
--- a/notFinishedCode/tricode/css/visitedLink.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/delayedLoading.js b/notFinishedCode/tricode/delayedLoading.js
deleted file mode 100644
index b76bbe3..0000000
--- a/notFinishedCode/tricode/delayedLoading.js
+++ /dev/null
@@ -1,228 +0,0 @@
- /*
- delayedLoader - JS to delay out of sight pictures rendering
-
- Version : 2.0.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 10/12/10
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- var PictureCache = new Array();
- var PictureCount = 0;
- var WaitPicture = "wait.gif";
- var DivClassName = "pChart";
- var DefaultWidth = 70;
- var DefaultHeight = 230;
- var DefaultAlt = "pChart rendered picture";
-
-
- /* Do the DOM document processing */
- function loaderInit()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- /* Enumerate the tags */
- Links = document.getElementsByTagName("a");
- for (i = 0; i < Links.length; i++)
- {
- className = Links[i].className;
-
- if ( className == DivClassName )
- {
- ObjectWidth = Links[i].getAttribute("data-pchart-width");
- ObjectHeight = Links[i].getAttribute("data-pchart-height");
- ObjectID = Links[i].id;
- ObjectTop = Links[i].offsetTop;
- ObjectURL = Links[i].href;
- ObjectAlt = Links[i].getAttribute("data-pchart-alt");
-
- if ( ObjectWidth == null ) { ObjectWidth = DefaultWidth; }
- if ( ObjectHeight == null ) { ObjectHeight = DefaultHeight; }
- if ( ObjectAlt == null ) { ObjectAlt = DefaultAlt; }
-
- if (ObjectID == "") { ObjectID = "pChart-"+i; Links[i].id = ObjectID; }
-
- PictureCache[PictureCount] = new Array();
- PictureCache[PictureCount][0] = ObjectID;
- PictureCache[PictureCount][1] = ObjectTop;
- PictureCache[PictureCount][2] = ObjectURL;
- PictureCache[PictureCount][3] = ObjectAlt;
- PictureCache[PictureCount][4] = ObjectWidth;
- PictureCache[PictureCount][5] = ObjectHeight;
-
- PictureCount++;
- }
- }
-
- /* Replace the <A> tags by <DIV> ones and attach the loader */
- for(i=0;i<PictureCount;i++)
- {
- ATag = document.getElementById(PictureCache[i][0]);
- DivTag = document.createElement("div");
- DivID = "pChart-Div"+i; PictureCache[i][0] = DivID;
-
- DivTag.setAttribute("id", DivID);
- DivTag.style.width = PictureCache[i][4];
- DivTag.style.height = PictureCache[i][5];
- DivTag.style.backgroundColor = "#E0E0E0";
-
- DivTag2 = ATag.parentNode.replaceChild(DivTag, ATag);
-
- DivTop = DivTag.offsetTop;
- PictureCache[i][1] = DivTop;
-
- changeOpac(50, i);
- changeContent("<img src='"+WaitPicture+"' width=24 height=24 alt=''/>",i);
-
- if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); }
- }
- }
-
- /* Replace the contents of the delayed loading DIV */
- function changeContent(html, id)
- { DivID = PictureCache[id][0]; document.getElementById(DivID).innerHTML = html; }
-
- /* Trigger the picture rendering when the pChart DIV became visible */
- function triggerVisible(PictureID)
- {
- if ( !PictureCache[PictureID][6] == true )
- {
- PictureCache[PictureID][6] = true;
- ajaxRender(PictureCache[PictureID][2],PictureID);
- }
- }
-
- /* Catch the navigator window scrolling event */
- function scrollEvent()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- for(i=0;i<=PictureCount-1;i++) { if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); } }
- }
-
- /* Cross browser X/Y window offset gatherer */
- function getScrollXY()
- {
- var scrOfX = 0, scrOfY = 0;
-
- if( typeof( window.pageYOffset ) == 'number' )
- { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; }
- else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
- { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; }
- else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
- { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; }
-
- return [ scrOfX, scrOfY ];
- }
-
- /* Cross browser X/Y window size gatherer */
- function getWindowSize()
- {
- var myWidth = 0, myHeight = 0;
-
- if( typeof( window.innerWidth ) == 'number' )
- { myWidth = window.innerWidth; myHeight = window.innerHeight; }
- else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
- { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
- else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
- { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
-
- return [ myWidth, myHeight ];
- }
-
- /* Cross browser alpha transparency changer */
- function changeOpac(opacity, id)
- {
- DivID = PictureCache[id][0];
-
- var object = document.getElementById(DivID).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- /* Shade in-out function */
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- }
-
- /* Start the loader */
- function StartFade(PictureID)
- {
- Loader = new Image();
- URL = PictureCache[PictureID][2];
- Loader.src = URL;
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* check the picture loading status */
- function CheckLoadingStatus(PictureID)
- {
- DivID = PictureCache[PictureID][0];
- URL = PictureCache[PictureID][2];
- Alt = PictureCache[PictureID][3];
-
- if ( Loader.complete == true )
- {
- changeOpac(0, PictureID);
- HTMLResult = "<center><img src='" + URL + "' alt='"+Alt+"'/></center>";
- document.getElementById(DivID).innerHTML = HTMLResult;
-
- opacity(PictureID,0,100,100);
- }
- else
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* Compute the pChart picture in background */
- function ajaxRender(URL,PictureID)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function()
- { if (xmlhttp.readyState==4) { StartFade(PictureID); } }
- xmlhttp.send(null)
- }
diff --git a/notFinishedCode/tricode/execute.php b/notFinishedCode/tricode/execute.php
deleted file mode 100755
index a384da1..0000000
--- a/notFinishedCode/tricode/execute.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
- $ip = "localhost";
- $port = 34600;
- $startApp = fsockopen($ip, $port, $errno, $error, 5);
- if (!$startApp)
- {
- printf('ERROR');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(500);
- fclose($startApp);
-
- }
-?>
-</div>
-</body>
-</html>
-
diff --git a/notFinishedCode/tricode/fonts/Bedizen.ttf b/notFinishedCode/tricode/fonts/Bedizen.ttf
deleted file mode 100644
index d115733..0000000
--- a/notFinishedCode/tricode/fonts/Bedizen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/Forgotte.ttf b/notFinishedCode/tricode/fonts/Forgotte.ttf
deleted file mode 100644
index a2f7f4a..0000000
--- a/notFinishedCode/tricode/fonts/Forgotte.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/GeosansLight.ttf b/notFinishedCode/tricode/fonts/GeosansLight.ttf
deleted file mode 100644
index 055932a..0000000
--- a/notFinishedCode/tricode/fonts/GeosansLight.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/MankSans.ttf b/notFinishedCode/tricode/fonts/MankSans.ttf
deleted file mode 100644
index a6146a9..0000000
--- a/notFinishedCode/tricode/fonts/MankSans.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/Silkscreen.ttf b/notFinishedCode/tricode/fonts/Silkscreen.ttf
deleted file mode 100644
index ae4425d..0000000
--- a/notFinishedCode/tricode/fonts/Silkscreen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/advent_light.ttf b/notFinishedCode/tricode/fonts/advent_light.ttf
deleted file mode 100644
index 514030a..0000000
--- a/notFinishedCode/tricode/fonts/advent_light.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/calibri.ttf b/notFinishedCode/tricode/fonts/calibri.ttf
deleted file mode 100644
index 8b6e3c9..0000000
--- a/notFinishedCode/tricode/fonts/calibri.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/pf_arma_five.ttf b/notFinishedCode/tricode/fonts/pf_arma_five.ttf
deleted file mode 100644
index db04ec3..0000000
--- a/notFinishedCode/tricode/fonts/pf_arma_five.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/fonts/verdana.ttf b/notFinishedCode/tricode/fonts/verdana.ttf
deleted file mode 100644
index 5a059d2..0000000
--- a/notFinishedCode/tricode/fonts/verdana.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/gsmselftest.py b/notFinishedCode/tricode/gsmselftest.py
deleted file mode 100755
index 3e82b27..0000000
--- a/notFinishedCode/tricode/gsmselftest.py
+++ /dev/null
@@ -1,783 +0,0 @@
-#! /usr/bin/env python
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-def ping(handler):
-
- global serverStatus
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- serverStatus = server.ping(1)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- serverStatus = server.ping(1)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ3':
- server = PingClass.Ping('localhost')
- serverStatus = server.ping(1)
-
- elif handler == 'GSMRZ2':
- server = PingClass.Ping('10.4.58.241')
- serverStatus = server.ping(1)
- else:
- serverStatus = 1
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-def initTest(callFrom,callTo):
- global dest
- global caller
- global callAdd
- global accCaller
- global recAdd
- global destNo
- global accDest
- global result
- global repeatTest
-
- initDB()
-
- if dbStatus != 0:
-
- dest = db.deviceAddress(str(callTo))
-
- caller = db.deviceAddress(str(callFrom))
-
- callAdd = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destAdd = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callAdd, accCaller, callTo, destAdd, destNo, accDest)
- makeTest.FuncTest()
-
- result = str(makeTest.testResult)
-
- else:
- print "No connection to Database"
-
- return result
-
-def initTrueTable():
- nanoBTS1 = None
- nanoBTS2 = None
- nanoBTS3 = None
- o2Card = None
- eplusCard = None
- vodaCard = None
- tmobileCard = None
- outgoingLandline = None
- asteriskServer = None
-
- for x in resultsList:
-
- destination = x[1]
- result = x[2]
- caller = x[0]
-
- if destination == 'GSMRZ1':
- if result =='486':
- nanoBTS1 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
-
- if destination == 'GSMRZ1':
- if result == '200':
- nanoBTS1 = True
- elif result =='200':
- nanoBTS1 = True
-
- elif destination == 'GSMRZ2':
- if result =='486':
- nanoBTS2 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS2 = True
- elif result =='200':
- nanoBTS2 = True
-
- elif destination == 'GSMRZ3':
- if result =='486':
- nanoBTS3 = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ3':
- if result == '200':
- nanoBTS3 = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- nanoBTS3 = True
- elif result =='200':
- nanoBTS3 = True
-
- elif destination == 'GSMExt.O2':
- if result =='486':
- o2Card = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.O2':
- if result == '200':
- o2Card = True
-
- if destination == 'GSMExt.O2':
- if result == '200':
- o2Card = True
- elif result =='200':
- o2Card = True
-
- elif destination == 'GSMExt.Voda':
- if result =='486':
- vodaCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
-
- if destination == 'GSMExt.Voda':
- if result == '200':
- vodaCard = True
- elif result =='200':
- vodaCard = True
-
- elif destination == 'GSMExt.Eplus':
- if result =='486':
- eplusCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
-
- if destination == 'GSMExt.Eplus':
- if result == '200':
- eplusCard = True
- elif result =='200':
- eplusCard = True
-
- elif destination == 'GSMExt.Tm':
- if result =='486':
- tmobileCard = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
-
- if destination == 'GSMExt.Tm':
- if result == '200':
- tmobileCard = True
- elif result =='200':
- tmobileCard = True
-
- elif destination == 'sip':
- if result =='486':
- asteriskServer = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'sip':
- if result == '200':
- asteriskServer = True
-
- if destination == 'sip':
- if result == '200':
- asteriskServer = True
-
- elif result =='200':
- asteriskServer = True
-
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
-
- if destination == 'landline':
- if result =='486':
- outgoingLandline = False
- for y in resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
- if destination == 'landline':
- if result == '200':
- outgoingLandline = True
-
- print '\n'
- if o2Card == False and eplusCard == False and vodaCard == False and tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if o2Card == False:
- print "O2 card indicate having problem"
- if eplusCard == False:
- print "eplus card indicate having problem"
- if vodaCard == False:
- print "vodaphone card indicate having problem"
- if tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if nanoBTS1 == False and nanoBTS2 == False and nanoBTS3 == False:
- print 'openBSC down'
- else:
- if nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if outgoingLandline == False:
- print 'outgoing from GSM RZ to landline having problem'
- print '\n'
-
- if asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-
-def doTest(callFrom,callTo):
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
- print 'Call From : ', callFrom
- print 'Call Destination : ', callTo
- initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, result])
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
- sleep(5)
- else:
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- print '[failed] 500 '+callFrom+ ' Server Internal Error'
-
-def doSipTest():
-
- print '--SIP Part Test--'
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- for callTo in destList:
-
- callFrom = 'sip'
- doTest(callFrom, callTo)
-
-def doLandlineTest():
-
- print '--Landline Part Test--'
- destList = ['GSMRZ1','unisip', 'sip']
-
- for callTo in destList:
-
- callFrom = 'landline'
- doTest(callFrom, callTo)
-
-def doGsmrzTest():
-
- print '--GSM Part Test--'
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest(callFrom, callTo)
- resultsList.append([callFrom, callTo, result])
- initTrueTable()
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- for callFrom in callList:
- for callTo in destList:
- doTest(callFrom, callTo)
- resultsList.append([callFrom, callTo, result])
- initTrueTable()
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def smartTest():
- ping('sip')
- if serverStatus == 0:
- print "Dont have connection to SIP Asterisk server, can't make a test"
- sys.exit(1)
-
- callerList = ['sip']
- destinationList = ['SIP', 'GSMExt']
- #destinationList = ['GSMExt', 'GSMRZ', 'SIP', 'RZOutgoing', 'RZincoming']
- for callFrom in callerList:
- for destination in destinationList:
-
- if destination == 'GSMRZ':
- print "make a call to GSMRZ1"
- initTest(callFrom,'GSMRZ1')
-
- if result == '200':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "all network on GSMRZ are working"
- elif result == '486':
- print "BTS 3 Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 2 Down"
- elif result == '486':
- print "BTS 2 and 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ2"
- initTest(callFrom,'GSMRZ2')
-
- if result == '200':
- print "make a call to GSMRZ3"
- initTest(callFrom,'GSMRZ3')
-
- if result == '200':
- print "BTS 1 Down"
- elif result == '486':
- print "BTS 1 & 3 indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
- print "make a call to GSMRZ3"
-
- if result == '200':
- print "BTS 1 & 2 indicate having problem"
- elif result == '486':
- print "OpenBSc Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
-
- elif destination == 'GSMExt':
-
- initTest(callFrom,'GSMExt.O2')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "All network on GSM external are working"
- elif result == '486':
- print "T-Mobile card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile and E-Plus card indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone card indicate having problem"
- elif result == '486':
- print "T-Mobile and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "Vodaphone and E-Plus card indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "Incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Voda')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 card indicate having problem"
- elif result == '486':
- print "T-Mobile and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and E-Plus cards indicate having problem"
- elif result == '486':
- print "T-Mobile, E-Plus and O2 cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Eplus')
- if result == '200':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2 and Vodaphone cards indicate having problem"
- elif result == '486':
- print "T-Mobile, O2 and Vodaphone cards indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '486':
-
- initTest(callFrom,'GSMExt.Tm')
- if result == '200':
- print "O2, E-Plus and Vodaphone cards indicate having problem"
- elif result == '486':
- print "GSM External Modem Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif destination == 'SIP':
-
- ping('landline')
- if serverStatus <> 0:
- initTest(callFrom,'landline')
-
- if result == '200':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result =='200':
- print "All SIP network are working"
- elif result == '486':
- print "University telephone network indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
-
- elif result == '486':
- ping('unisip')
- if serverStatus <> 0:
- initTest(callFrom,'unisip')
-
- if result == '200':
- print "Landline indicate having problem"
- elif result == '486':
- print "SIP Network Down"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to SIP Gate server, check your connection"
-
- elif destination == 'RZOutgoing':
-
- ping('landline')
- if serverStatus <> 0:
- initTest('GSMRZ1','landline')
-
- if result == '200':
- ping('unisip')
- if serverStatus <> 0:
- initTest('GSMRZ1','unisip')
-
- if result =='200':
- print "Outgoing call from GSM RZ is working"
-
- elif result == '486':
- print "Outgoing call from GSM RZ to UTN indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
-
- elif result == '486':
- ping('unisip')
- if serverStatus <> 0:
- initTest('GSMRZ1','unisip')
-
- if result == '200':
- print "Outgoing call from GSM RZ to Landline indicate having problem"
-
- elif result == '486':
- print "Outgoing call from GSM RZ to Landline and UTN indicate having problem"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to University telephone network server, check your connection"
- else:
- print "incomplete test, Handler having error, please do one more test"
- else:
- print "No connection to SIP Gate server, check your connection"
-
- elif destination == 'RZincoming':
-
- ping('landline')
- if serverStatus <> 0:
- initTest('landline', 'GSMRZ1')
-
- if result == '486':
-
- initTest('GSMExt.O2','GSMRZ1')
-
- if result =='200':
- print "incoming call to GSM RZ working"
-
- elif result == '486':
-
- initTest('GSMExt.Voda','GSMRZ1')
- if result =='200':
- print "incoming call to GSM RZ working"
- elif result == '486':
- print "incoming call to GSM RZ notworking"
- else:
- print "incomplete test, GSM Handler having error, please do one more test"
- else:
- print "incomplete test, Handler having error, please do one more test"
-
- elif result == '200':
- print "incoming call to GSM RZ working"
- else:
- print "No connection to SIP Gate server, check your connection"
-
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsmrz':
- doGsmrzTest()
-
- elif command == '--gsmext':
- doGsmExtTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--smart':
- smartTest()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
- ping(callFrom)
-
- if serverStatus <> 0:
-
- ping(callTo)
- if serverStatus <> 0:
-
- initTest(callFrom,callTo)
-
- db.addResult(taskID, result)
-
- resultsList.append([callFrom, callTo, result])
-
- db.errorCode(result)
- print 'Result : ' +result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- sleep(5)
-
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callTo+ ' Server Internal Error'
- else:
- db.addResult(taskID, '500')
- print '[failed] 500 '+callFrom+' Server Internal Error'
- db.cleanTasksList()
-
- # fetch result list and make adjustment about the result
- print '\n'
- initTrueTable()
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/notFinishedCode/tricode/gsmselftest1.py b/notFinishedCode/tricode/gsmselftest1.py
deleted file mode 100755
index 69cbffa..0000000
--- a/notFinishedCode/tricode/gsmselftest1.py
+++ /dev/null
@@ -1,300 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
-
-
-def initTrueTable():
- initResult = trueTableClass.trueTable(resultsList)
- initResult.initTrueTable()
-
- if initResult.o2Card == False and initResult.eplusCard == False and initResult.vodaCard == False and initResult.tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if initResult.o2Card == False:
- print "O2 card indicate having problem"
- if initResult.eplusCard == False:
- print "eplus card indicate having problem"
- if initResult.vodaCard == False:
- print "vodaphone card indicate having problem"
- if initResult.tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if initResult.nanoBTS1 == False and initResult.nanoBTS2 == False and initResult.nanoBTS3 == False:
- print 'openBSC down'
- else:
- if initResult.nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if initResult.nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if initResult.nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if initResult.outgoingLandline == False:
- print 'outgoing from GSM RZ to landline having problem'
- print '\n'
-
- if initResult.asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif initResult.asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-def doSipTest():
-
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable()
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
-
-def findPort(portName):
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def updateDevice():
-
- while True:
- print "Mobile device configuration"
- print "Menu: s = start device configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 's':
- i = 0
- while i !=10:
- portName ='ttyUSB'+str(i)
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :', listNum[0]
- print 'IME :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
-
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
-
-
- if input == "q":
- break
- sys.exit()
-
-if len(sys.argv) > 1:
-
- command = sys.argv[1]
- print ' '
-
- if command == '--all':
- doAllTest()
-
- elif command == '--sip':
- doSipTest()
-
- elif command == '--gsmrz':
- doGsmrzTest()
-
- elif command == '--gsmext':
- doGsmExtTest()
-
- elif command == '--landline':
- doLandlineTest()
-
- elif command == '--smart':
- regularTest()
-
- elif command == '--devconf':
- updateDevice()
-
- elif command == '--help':
- file = open('help.txt', 'r')
- print file.read()
-
- else:
- print "command not found, Type '--help', '--credits' for more information."
- print '\n'
-else:
-
- initDB()
- if dbStatus == 1:
-
- if db.anyTasksToDo() == 1:
-
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +makeTest.result+ ' ' +db.errCode
-
- db.deleteTempTask(taskID)
- i = i+1
-
- db.cleanTasksList()
-
-
- print '\n'
- initTrueTable() # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
- else:
- sys.exit(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/notFinishedCode/tricode/gsmselftest2.py b/notFinishedCode/tricode/gsmselftest2.py
deleted file mode 100755
index 37272c1..0000000
--- a/notFinishedCode/tricode/gsmselftest2.py
+++ /dev/null
@@ -1,370 +0,0 @@
-#! /usr/bin/env python
-from serial import * #serial port library
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import trueTableClass
-import initTestClass
-import usbDetectClass
-from time import sleep
-import ServerClassSoftware
-
-global resultsList
-resultsList = list()
-
-GSMListPrefix = [['GSMExt.Tm','0151'],['GSMExt.Tm','0160'],['GSMExt.Tm','0170'],['GSMExt.Tm','0171'],['GSMExt.Tm','0175'],['GSMExt.Voda','0152'],['GSMExt.Voda','0162'],['GSMExt.Voda','0172'],['GSMExt.Voda','0173'],['GSMExt.Voda','0174'],['GSMExt.Eplus','0157'],['GSMExt.Eplus','0177'],['GSMExt.Eplus','0155'],['GSMExt.Eplus','0163'],['GSMExt.Eplus','0178'],['GSMExt.O2','0159'],['GSMExt.O2','0176'],['GSMExt.O2','0179'],['GSMRZ1','0761']]
-
-
-def allPing():
-
- global sipGate
- global sipServer
- global unisip
- global gsmBox1
- global gsmBox2
-
- server = PingClass.Ping('sipgate.de')
- sipGate = server.ping(1)
-
- server = PingClass.Ping('132.230.4.8')
- sipServer = server.ping(1)
-
- server = PingClass.Ping('132.230.252.228')
- unisip = server.ping(1)
-
- server = PingClass.Ping('localhost')
- gsmBox1 = server.ping(1)
-
- server = PingClass.Ping('10.4.58.241')
- gsmBox2 = server.ping(1)
-
-def initDB():
- global dbStatus
- global db
-
- db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- db.connectDB()
- dbStatus = db.connectDB()
- if dbStatus == 1:
- print 'Lock the mutex: ' + str(db.lockMutex(100))
-
-def initTrueTable(x):
- initResult = trueTableClass.trueTable(x)
- initResult.initTrueTable()
- print '\n'
- if initResult.o2Card == False and initResult.eplusCard == False and initResult.vodaCard == False and initResult.tmobileCard == False:
- print 'GSM BOX Modem down'
- else:
- if initResult.o2Card == False:
- print "O2 card indicate having problem"
- if initResult.eplusCard == False:
- print "eplus card indicate having problem"
- if initResult.vodaCard == False:
- print "vodaphone card indicate having problem"
- if initResult.tmobileCard == False:
- print "T-Mobile card indicate having problem"
- print '\n'
-
- if initResult.nanoBTS1 == True or initResult.nanoBTS2 == True or initResult.nanoBTS3 == True:
- print 'openBSC working'
-
- if initResult.nanoBTS1 == False and initResult.nanoBTS2 == False and initResult.nanoBTS3 == False:
- print 'openBSC down'
- else:
- if initResult.nanoBTS1 == False:
- print "nanoBTS 1 indicate having problem"
- if initResult.nanoBTS2 == False:
- print "nanoBTS 2 indicate having problem"
- if initResult.nanoBTS3 == False:
- print "nanoBTS 3 indicate having problem"
-
- if initResult.outgoingLandline == False:
- print 'outgoing call to outside network having problem'
- print '\n'
-
- if initResult.asteriskServer == False:
- print "Asterisk server indicate having problem"
- elif initResult.asteriskServer == True:
- print 'Asterisk server working good'
- print '\n'
-
-def doSipTest():
-
- destList = ['gsmr1','gsmr2', 'gsmr3', 'landline', 'unisip', 'GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm' ]
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'sip'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
-
-def doLandlineTest():
-
- destList = ['GSMRZ1','unisip', 'sip']
- doTest = initTestClass.doTest()
- for callTo in destList:
-
- callFrom = 'landline'
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmrzTest():
-
- destList = ['GSMRZ1','GSMRZ2', 'GSMRZ3']
- callList = ['sip']
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
-
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doGsmExtTest():
-
- destList = ['GSMExt.O2', 'GSMExt.Voda', 'GSMExt.Eplus', 'GSMExt.Tm']
- callList = ['sip']
-
- doTest = initTestClass.doTest()
-
- for callFrom in callList:
- for callTo in destList:
- doTest.initTest(callFrom,callTo)
- resultsList.append([callFrom, callTo, doTest.result])
- initTrueTable(resultsList)
-
-def doAllTest():
-
- doSipTest()
- doLandlineTest()
- doGsmrzTest()
- doGsmExtTest()
-
-def regularTest():
- regulartest = initTestClass.doTest()
- regulartest.smartTest()
- initTrueTable(regulartest.smartResultList)
-
-def findPort(portName):
- global connect
- global prefix
- global num
- global IMEI
- global portClass
- sleep(0.5)
- portLog = os.popen('dmesg | grep \'pl2303 converter now attached to '+portName+'\'').read()
- sleep(0.5)
- if portLog != '':
- connect = 1
- portClass = usbDetectClass.serialPort(portName)
- portClass.findNumber()
- portClass.findIMEI()
- IMEI = portClass.IMEI
- num = portClass.number
- number = portClass.number
- prefix = number[0:4]
- else:
- connect = 0
-
-def initDevice(deviceName):
- print 'Device Name :',deviceName
- print ' Device IMEI : ',
- imei = sys.stdin.readline().rstrip("\r\n")
- print 'Phone number : ',
- number = sys.stdin.readline().rstrip("\r\n")
- print 'Port Name : /dev/',
- portName = sys.stdin.readline().rstrip("\r\n")
- print ''
-
- if deviceName == 'GSMRZ2' or deviceName == 'GSMRZ2':
- if number =='':
- print ' == cant save device configuration, number missing =='
- else:
- portClass.initUpdate(deviceName, portName, number)
- else:
- if imei == '' or portName == '':
- print ' == cant save device configuration, please fill IMEI / port name of the device =='
- else:
- findPort(portName)
- if connect == 1:
- if str(IMEI) != str(imei) and str(num) != str(number):
- print '== error, device not found =='
- elif str(IMEI) == str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added =='
- elif str(num) == str(number) and str(IMEI) != str(imei):
- portClass.initUpdate(deviceName, portName, number)
- print '== Device succeced added, but have different IMEI =='
- else:
- print '== error, no device connected =='
-
-
-def updateDevice():
- quit = False
- while quit != True:
- print ''
- print "Mobile device configuration"
- print "Menu: s = automatic device configuration, m = Manual configuration, q = quit : ",
- input = sys.stdin.readline().rstrip("\r\n")
- print ''
- if input == 'm':
-
- while True:
- print ''
- print "Mobile device name: "
- print " 1. GSM O2"
- print " 2. GSM Vodafone"
- print " 3. GSM Eplus"
- print " 4. GSM T-Mobile"
- print " 5. GSM RZ 1"
- print " 6. GSM RZ 2"
- print " 7. GSM RZ 3"
- print " 8. Back to menu"
- print ""
- print "you choise : ",
- input = sys.stdin.readline().rstrip("\r\n")
-
- if input == '8':
- break
- elif input == '1':
- initDevice('GSMExt.O2')
- elif input == '2':
- initDevice('GSMExt.Voda')
- elif input == '3':
- initDevice('GSMExt.Eplus')
- elif input == '4':
- initDevice('GSMExt.Tm')
- elif input == '5':
- initDevice('GSMRZ1')
- elif input == '6':
- initDevice('GSMRZ2')
- elif input == '7':
- initDevice('GSMRZ3')
- else:
- print 'please choose between 1-8'
- if input == 's':
- i = 0
- x = 0
- while i !=10:
- portName ='ttyUSB'+str(i)
- findPort(portName)
- i=i+1
- if connect == 1:
- for listNum in GSMListPrefix:
- if prefix == listNum[1]:
- print 'Device Name :',listNum[0]
- print 'IMEI :',IMEI
- print 'Phone Number :',num
- print 'Port Name : /dev/'+portName
- x=x+1
- newPortName = '/dev/'+portName
- portClass.initUpdate(listNum[0], newPortName, num)
- print '\n'
-
- print '== FINISH =='
- print 'Found '+str(x)+' devices'
-
- if input == "q":
- break
- sys.exit()
-
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-
-initDB()
-resultsList = list()
-if dbStatus == 1:
- server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
- tried = server.openSocket(3)
-
- if tried == 'TIMEOUT':
- closeFunction(db,server)
-
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- print test
- if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
- else:
- sys.exit('WE DIDN\'T RECEIVE THE CONFIRMATION')
-
-# updateDevice()
- if db.anyTasksToDo() == 1:
- #allPing()
- i=0
- makeTest = initTestClass.doTest()
- for item in db.tasksList:
-
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item[3]
-
- #if i == 0:
- #db.updatePingResult(taskNo, sipServer, sipGate, unisip, gsmBox1, gsmBox2)
- print '\n'
- print 'Task ID :', taskID
- print 'Calling From :', callFrom
- print 'To :', callTo
-
-
- makeTest.initTest(callFrom,callTo)
-
- db.addResult(taskID, makeTest.result)
-
- resultsList.append([callFrom, callTo, makeTest.result])
-
- db.errorCode(makeTest.result)
- print 'Result : ' +str(makeTest.result)+ ' ' +str(db.errCode)
-
- message = '|' + str(callFrom) + '|' + str(callTo) + '|' + str(makeTest.result) + '|' + str(db.errCode)
-
- if server.sendData(message+ chr(10)) == 1:
- print 'data sent successfully'
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
- print test
- if test == 'CONTINUE':
- print 'continue test'
-
-
-
- db.deleteTempTask(taskID)
- i = i+1
- db.cleanTasksList()
-
- if server.connected == 1:
- server.sendData('TEST DONE\n')
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(db,server)
-
- if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
- print 'release mutex says ', db.releaseMutex()
-
- print '\n'
- #initTrueTable(resultsList) # fetch result list and make adjustment about the result
- else:
- print "--- No job at all ---"
-
-print db.closeDBConn()
-
-del db
-del server
diff --git a/notFinishedCode/tricode/help.txt b/notFinishedCode/tricode/help.txt
deleted file mode 100755
index 5a9062e..0000000
--- a/notFinishedCode/tricode/help.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-Usage: python gsmselftest.py [option]
-
-Options and arguments (and corresponding environment variables):
-
---all : To execute all test case
---sip : To execute ALL test case
---gsmrz : To check whether GSM RZ network having problem or not
---gsmext : To check whether GSM BOX modem having problem or not
---landline : To check incoming call from Landline
---smart : To test only important point in the network and identify which part having problem.
---devconf : To configuration USB device
-
- example : gsmselftest.py --devconf
diff --git a/notFinishedCode/tricode/icons/blackberry_dunno.png b/notFinishedCode/tricode/icons/blackberry_dunno.png
deleted file mode 100644
index 4ee9ee0..0000000
--- a/notFinishedCode/tricode/icons/blackberry_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/blackberry_fail.png b/notFinishedCode/tricode/icons/blackberry_fail.png
deleted file mode 100644
index 650d942..0000000
--- a/notFinishedCode/tricode/icons/blackberry_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/blackberry_work.png b/notFinishedCode/tricode/icons/blackberry_work.png
deleted file mode 100644
index 3fe1d09..0000000
--- a/notFinishedCode/tricode/icons/blackberry_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/box_dunno.png b/notFinishedCode/tricode/icons/box_dunno.png
deleted file mode 100644
index 744ec7a..0000000
--- a/notFinishedCode/tricode/icons/box_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/box_fail.png b/notFinishedCode/tricode/icons/box_fail.png
deleted file mode 100644
index 3398e05..0000000
--- a/notFinishedCode/tricode/icons/box_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/box_work.png b/notFinishedCode/tricode/icons/box_work.png
deleted file mode 100644
index 666fced..0000000
--- a/notFinishedCode/tricode/icons/box_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/server_dunno.png b/notFinishedCode/tricode/icons/server_dunno.png
deleted file mode 100644
index 588514e..0000000
--- a/notFinishedCode/tricode/icons/server_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/server_fail.png b/notFinishedCode/tricode/icons/server_fail.png
deleted file mode 100644
index a699864..0000000
--- a/notFinishedCode/tricode/icons/server_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/server_work.png b/notFinishedCode/tricode/icons/server_work.png
deleted file mode 100644
index 210979f..0000000
--- a/notFinishedCode/tricode/icons/server_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/sip_dunno.png b/notFinishedCode/tricode/icons/sip_dunno.png
deleted file mode 100644
index e494a61..0000000
--- a/notFinishedCode/tricode/icons/sip_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/sip_fail.png b/notFinishedCode/tricode/icons/sip_fail.png
deleted file mode 100644
index 02d7029..0000000
--- a/notFinishedCode/tricode/icons/sip_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/sip_work.png b/notFinishedCode/tricode/icons/sip_work.png
deleted file mode 100644
index 5774487..0000000
--- a/notFinishedCode/tricode/icons/sip_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/telephone_dunno.png b/notFinishedCode/tricode/icons/telephone_dunno.png
deleted file mode 100644
index 2ac9dd6..0000000
--- a/notFinishedCode/tricode/icons/telephone_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/telephone_fail.png b/notFinishedCode/tricode/icons/telephone_fail.png
deleted file mode 100644
index 222050d..0000000
--- a/notFinishedCode/tricode/icons/telephone_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/telephone_work.png b/notFinishedCode/tricode/icons/telephone_work.png
deleted file mode 100644
index 5086dd2..0000000
--- a/notFinishedCode/tricode/icons/telephone_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/uni-network_dunno.png b/notFinishedCode/tricode/icons/uni-network_dunno.png
deleted file mode 100644
index 7d99f0e..0000000
--- a/notFinishedCode/tricode/icons/uni-network_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/uni-network_fail.png b/notFinishedCode/tricode/icons/uni-network_fail.png
deleted file mode 100644
index 3da0a70..0000000
--- a/notFinishedCode/tricode/icons/uni-network_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/icons/uni-network_work.png b/notFinishedCode/tricode/icons/uni-network_work.png
deleted file mode 100644
index fdc7989..0000000
--- a/notFinishedCode/tricode/icons/uni-network_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/initTestClass.py b/notFinishedCode/tricode/initTestClass.py
deleted file mode 100755
index 8552e20..0000000
--- a/notFinishedCode/tricode/initTestClass.py
+++ /dev/null
@@ -1,147 +0,0 @@
-import sys
-import ControllerClass
-import DbClass
-import PingClass
-import random
-from time import sleep
-
-class doTest:
-
- def ping(self,handler):
-
- if handler == 'landline':
- server = PingClass.Ping('sipgate.de')
- self.serverStatus = server.ping(2)
-
- elif handler == 'sip':
- server = PingClass.Ping('132.230.4.8')
- self.serverStatus = server.ping(2)
-
- elif handler == 'unisip':
- server = PingClass.Ping('132.230.252.228')
- self.serverStatus = server.ping(2)
-
- elif handler == 'GSMRZ3':
- server = PingClass.Ping('localhost')
- self.serverStatus = server.ping(2)
-
- elif handler == 'GSMRZ2':
- server = PingClass.Ping('10.4.58.241')
- self.serverStatus = server.ping(2)
- else:
- self.serverStatus = 1
-
-
- def initDB(self):
-
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initaccount(self,account,handler):
- if handler == 'sip' or handler == 'unisip' or handler == 'landline':
- if account[1] != '' or account[2] != '' or account[3] != '' or account[4] != '': # checking available sip account, is there enough information about the account such as username, password,server
- self.status = 1
- else:
- self.status = 0
- else:
- if account[0] != '' or account[1] != '':
- self.status = 1
- else:
- self.status = 0
-
- def initTest(self, callFrom, callTo):
-
- self.initDB()
-
- if self.dbStatus != 0:
-
- self.ping(callFrom)
- if self.serverStatus <> 0:
- self.ping(callTo)
- if self.serverStatus <> 0:
-
- dest = self.db.deviceAddress(str(callTo))
- caller = self.db.deviceAddress(str(callFrom))
-
- self.initaccount(caller,callFrom)
- if self.status == 1:
- self.initaccount(dest,callTo)
- if self.status == 1:
- callPortName = caller[0]
- accCaller = caller[2]+':'+caller[3]+':'+caller[4]+':'
-
- destPortName = dest[0]
- destNo = dest[1]
- accDest = dest[2]+':'+dest[3]+':'+dest[4]+':'
-
- makeTest = ControllerClass.doTheTest(callFrom, callPortName, accCaller, callTo, destPortName, destNo, accDest)
- makeTest.FuncTest()
- self.result = str(makeTest.testResult)
- else:
- self.result = 100
- else:
- self.result = 100
-
- sleep(5)
- else:
- self.result = 500
- else:
- self.result = 500
-
- else:
- self.result = 333
-
- return self.result
-
- def isThere(keyword,lists):
- x = 0
- for item in lists:
-
- if item == keyword:
- return 1
- else:
- x = x+1
-
- def smartTest(self):
- global handlerError
- smartResultList = list()
- testPendingList = list()
- #callerList = ['sip']
- destList = ['GSMRZ1','GSMRZ2','GSMRZ3','GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
- gsmList = ['GSMExt.O2','GSMExt.Voda','GSMExt.Eplus','GSMExt.Tm']
- gsmRZList = ['GSMRZ1','GSMRZ2','GSMRZ3']
-
- i = random.randint(0, len(gsmRZList)-1)
- callTo = gsmRZList[i]
- self.initTest('unisip',callTo)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
- openBSC = self.result
- self.smartResultList.append(['unisip', callTo, self.result])
-
- if openBSC == 200:
- for callFrom in gsmRZList:
- i = random.randint(3, len(destList)-1) # need to check wheter the caller and dest is same
- callTo = destList[i]
- self.initTest(callFrom,callTo)
- destList.remove(callTo)
- self.smartResultList.append([callFrom, callTo, self.result])
-
- i = random.randint(0, len(gsmRZList)-1) #
- callTo = gsmRZList[i]
- self.initTest('landline',callTo)
- gsmRZList.remove(callTo)
- destList.remove(callTo)
- self.smartResultList.append(['landline', callTo, self.result])
-
- for callTo in destList:
- callFrom = 'sip'
- self.initTest(callFrom,callTo)
- self.smartResultList.append([callFrom, callTo, self.result])
-
- return self.smartResultList
-
-
-
-
diff --git a/notFinishedCode/tricode/initTestClass.pyc b/notFinishedCode/tricode/initTestClass.pyc
deleted file mode 100755
index 8447c84..0000000
--- a/notFinishedCode/tricode/initTestClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/loader.gif b/notFinishedCode/tricode/loader.gif
deleted file mode 100644
index 240d4e1..0000000
--- a/notFinishedCode/tricode/loader.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/moocheck.js b/notFinishedCode/tricode/moocheck.js
deleted file mode 100644
index 0c364aa..0000000
--- a/notFinishedCode/tricode/moocheck.js
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
-* FancyForm 0.95
-* By Vacuous Virtuoso, lipidity.com
-* ---
-* Checkbox and radio input replacement script.
-* Toggles defined class when input is selected.
-*/
-
-var FancyForm = {
- start: function(elements, options){
- if(FancyForm.initing != undefined) return;
- if($type(elements)!='array') elements = $$('input');
- if(!options) options = [];
- FancyForm.onclasses = ($type(options['onClasses']) == 'object') ? options['onClasses'] : {
- checkbox: 'checked',
- radio: 'selected'
- }
- FancyForm.offclasses = ($type(options['offClasses']) == 'object') ? options['offClasses'] : {
- checkbox: 'unchecked',
- radio: 'unselected'
- }
- if($type(options['extraClasses']) == 'object'){
- FancyForm.extra = options['extraClasses'];
- } else if(options['extraClasses']){
- FancyForm.extra = {
- checkbox: 'f_checkbox',
- radio: 'f_radio',
- on: 'f_on',
- off: 'f_off',
- all: 'fancy'
- }
- } else {
- FancyForm.extra = {};
- }
- FancyForm.onSelect = $pick(options['onSelect'], function(el){});
- FancyForm.onDeselect = $pick(options['onDeselect'], function(el){});
- FancyForm.chks = [];
- FancyForm.add(elements);
- $each($$('form'), function(x) {
- x.addEvent('reset', function(a) {
- window.setTimeout(function(){FancyForm.chks.each(function(x){FancyForm.update(x);x.inputElement.blur()})}, 200);
- });
- });
- },
- add: function(elements){
- if($type(elements) == 'element')
- elements = [elements];
- FancyForm.initing = 1;
- var keeps = [];
- var newChks = elements.filter(function(chk){
- if($type(chk) != 'element' || chk.inputElement || (chk.get('tag') == 'input' && chk.getParent().inputElement))
- return false;
- if(chk.get('tag') == 'input' && (FancyForm.onclasses[chk.getProperty('type')])){
- var el = chk.getParent();
- if(el.getElement('input')==chk){
- el.type = chk.getProperty('type');
- el.inputElement = chk;
- this.push(el);
- } else {
- chk.addEvent('click',function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- }
- } else if((chk.inputElement = chk.getElement('input')) && (FancyForm.onclasses[(chk.type = chk.inputElement.getProperty('type'))])){
- return true;
- }
- return false;
- }.bind(keeps));
- newChks = newChks.combine(keeps);
- newChks.each(function(chk){
- var c = chk.inputElement;
- c.setStyle('position', 'absolute');
- c.setStyle('left', '-9999px');
- chk.addEvent('selectStart', function(f){f.stop()});
- chk.name = c.getProperty('name');
- FancyForm.update(chk);
- });
- newChks.each(function(chk){
- var c = chk.inputElement;
- chk.addEvent('click', function(f){
- f.stop(); f.type = 'prop';
- c.fireEvent('click', f, 1);
- });
- chk.addEvent('mousedown', function(f){
- if($type(c.onmousedown) == 'function')
- c.onmousedown();
- f.preventDefault();
- });
- chk.addEvent('mouseup', function(f){
- if($type(c.onmouseup) == 'function')
- c.onmouseup();
- });
- c.addEvent('focus', function(f){
- if(FancyForm.focus)
- chk.setStyle('outline', '1px dotted');
- });
- c.addEvent('blur', function(f){
- chk.setStyle('outline', 0);
- });
- c.addEvent('click', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- if(c.getProperty('disabled')) // c.getStyle('position') != 'absolute'
- return;
- if (!chk.hasClass(FancyForm.onclasses[chk.type]))
- c.setProperty('checked', 'checked');
- else if(chk.type != 'radio')
- c.setProperty('checked', false);
- if(f.type == 'prop')
- FancyForm.focus = 0;
- FancyForm.update(chk);
- FancyForm.focus = 1;
- if(f.type == 'prop' && !FancyForm.initing && $type(c.onclick) == 'function')
- c.onclick();
- });
- c.addEvent('mouseup', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- c.addEvent('mousedown', function(f){
- if(f.event.stopPropagation) f.event.stopPropagation();
- });
- if(extraclass = FancyForm.extra[chk.type])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['all'])
- chk.addClass(extraclass);
- });
- FancyForm.chks.combine(newChks);
- FancyForm.initing = 0;
- },
- update: function(chk){
- if(chk.inputElement.getProperty('checked')) {
- chk.removeClass(FancyForm.offclasses[chk.type]);
- chk.addClass(FancyForm.onclasses[chk.type]);
- if (chk.type == 'radio'){
- FancyForm.chks.each(function(other){
- if (other.name == chk.name && other != chk) {
- other.inputElement.setProperty('checked', false);
- FancyForm.update(other);
- }
- });
- }
- if(extraclass = FancyForm.extra['on'])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['off'])
- chk.removeClass(extraclass);
- if(!FancyForm.initing)
- FancyForm.onSelect(chk);
- } else {
- chk.removeClass(FancyForm.onclasses[chk.type]);
- chk.addClass(FancyForm.offclasses[chk.type]);
- if(extraclass = FancyForm.extra['off'])
- chk.addClass(extraclass);
- if(extraclass = FancyForm.extra['on'])
- chk.removeClass(extraclass);
- if(!FancyForm.initing)
- FancyForm.onDeselect(chk);
- }
- if(!FancyForm.initing)
- chk.inputElement.focus();
- },
- all: function(){
- FancyForm.chks.each(function(chk){
- chk.inputElement.setProperty('checked', 'checked');
- FancyForm.update(chk);
- });
- },
- none: function(){
- FancyForm.chks.each(function(chk){
- chk.inputElement.setProperty('checked', false);
- FancyForm.update(chk);
- });
- }
-};
-
-window.addEvent('domready', function(){
- FancyForm.start();
-});
diff --git a/notFinishedCode/tricode/mootools.js b/notFinishedCode/tricode/mootools.js
deleted file mode 100644
index 45b1f3e..0000000
--- a/notFinishedCode/tricode/mootools.js
+++ /dev/null
@@ -1,126 +0,0 @@
-//MooTools, <http://mootools.net>, My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2008 Valerio Proietti, <http://mad4milk.net>, MIT Style License.
-
-var MooTools={'version':'1.2.0','build':''};var Native=function(options){options=options||{};var afterImplement=options.afterImplement||function(){};var generics=options.generics;generics=(generics!==false);var legacy=options.legacy;var initialize=options.initialize;var protect=options.protect;var name=options.name;var object=initialize||legacy;object.constructor=Native;object.$family={name:'native'};if(legacy&&initialize)object.prototype=legacy.prototype;object.prototype.constructor=object;if(name){var family=name.toLowerCase();object.prototype.$family={name:family};Native.typize(object,family);}
-var add=function(obj,name,method,force){if(!protect||force||!obj.prototype[name])obj.prototype[name]=method;if(generics)Native.genericize(obj,name,protect);afterImplement.call(obj,name,method);return obj;};object.implement=function(a1,a2,a3){if(typeof a1=='string')return add(this,a1,a2,a3);for(var p in a1)add(this,p,a1[p],a2);return this;};object.alias=function(a1,a2,a3){if(typeof a1=='string'){a1=this.prototype[a1];if(a1)add(this,a2,a1,a3);}else{for(var a in a1)this.alias(a,a1[a],a2);}
-return this;};return object;};Native.implement=function(objects,properties){for(var i=0,l=objects.length;i<l;i++)objects[i].implement(properties);};Native.genericize=function(object,property,check){if((!check||!object[property])&&typeof object.prototype[property]=='function')object[property]=function(){var args=Array.prototype.slice.call(arguments);return object.prototype[property].apply(args.shift(),args);};};Native.typize=function(object,family){if(!object.type)object.type=function(item){return($type(item)===family);};};Native.alias=function(objects,a1,a2,a3){for(var i=0,j=objects.length;i<j;i++)objects[i].alias(a1,a2,a3);};(function(objects){for(var name in objects)Native.typize(objects[name],name);})({'boolean':Boolean,'native':Native,'object':Object});(function(objects){for(var name in objects)new Native({name:name,initialize:objects[name],protect:true});})({'String':String,'Function':Function,'Number':Number,'Array':Array,'RegExp':RegExp,'Date':Date});(function(object,methods){for(var i=methods.length;i--;i)Native.genericize(object,methods[i],true);return arguments.callee;})
-(Array,['pop','push','reverse','shift','sort','splice','unshift','concat','join','slice','toString','valueOf','indexOf','lastIndexOf'])
-(String,['charAt','charCodeAt','concat','indexOf','lastIndexOf','match','replace','search','slice','split','substr','substring','toLowerCase','toUpperCase','valueOf']);function $chk(obj){return!!(obj||obj===0);};function $clear(timer){clearTimeout(timer);clearInterval(timer);return null;};function $defined(obj){return(obj!=undefined);};function $empty(){};function $arguments(i){return function(){return arguments[i];};};function $lambda(value){return(typeof value=='function')?value:function(){return value;};};function $extend(original,extended){for(var key in(extended||{}))original[key]=extended[key];return original;};function $unlink(object){var unlinked;switch($type(object)){case'object':unlinked={};for(var p in object)unlinked[p]=$unlink(object[p]);break;case'hash':unlinked=$unlink(object.getClean());break;case'array':unlinked=[];for(var i=0,l=object.length;i<l;i++)unlinked[i]=$unlink(object[i]);break;default:return object;}
-return unlinked;};function $merge(){var mix={};for(var i=0,l=arguments.length;i<l;i++){var object=arguments[i];if($type(object)!='object')continue;for(var key in object){var op=object[key],mp=mix[key];mix[key]=(mp&&$type(op)=='object'&&$type(mp)=='object')?$merge(mp,op):$unlink(op);}}
-return mix;};function $pick(){for(var i=0,l=arguments.length;i<l;i++){if(arguments[i]!=undefined)return arguments[i];}
-return null;};function $random(min,max){return Math.floor(Math.random()*(max-min+1)+min);};function $splat(obj){var type=$type(obj);return(type)?((type!='array'&&type!='arguments')?[obj]:obj):[];};var $time=Date.now||function(){return new Date().getTime();};function $try(){for(var i=0,l=arguments.length;i<l;i++){try{return arguments[i]();}catch(e){}}
-return null;};function $type(obj){if(obj==undefined)return false;if(obj.$family)return(obj.$family.name=='number'&&!isFinite(obj))?false:obj.$family.name;if(obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return(/\S/).test(obj.nodeValue)?'textnode':'whitespace';}}else if(typeof obj.length=='number'){if(obj.callee)return'arguments';else if(obj.item)return'collection';}
-return typeof obj;};var Hash=new Native({name:'Hash',initialize:function(object){if($type(object)=='hash')object=$unlink(object.getClean());for(var key in object)this[key]=object[key];return this;}});Hash.implement({getLength:function(){var length=0;for(var key in this){if(this.hasOwnProperty(key))length++;}
-return length;},forEach:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key))fn.call(bind,this[key],key,this);}},getClean:function(){var clean={};for(var key in this){if(this.hasOwnProperty(key))clean[key]=this[key];}
-return clean;}});Hash.alias('forEach','each');function $H(object){return new Hash(object);};Array.implement({forEach:function(fn,bind){for(var i=0,l=this.length;i<l;i++)fn.call(bind,this[i],i,this);}});Array.alias('forEach','each');function $A(iterable){if(iterable.item){var array=[];for(var i=0,l=iterable.length;i<l;i++)array[i]=iterable[i];return array;}
-return Array.prototype.slice.call(iterable);};function $each(iterable,fn,bind){var type=$type(iterable);((type=='arguments'||type=='collection'||type=='array')?Array:Hash).each(iterable,fn,bind);};var Browser=new Hash({Engine:{name:'unknown',version:''},Platform:{name:(navigator.platform.match(/mac|win|linux/i)||['other'])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime)},Plugins:{}});if(window.opera)Browser.Engine={name:'presto',version:(document.getElementsByClassName)?950:925};else if(window.ActiveXObject)Browser.Engine={name:'trident',version:(window.XMLHttpRequest)?5:4};else if(!navigator.taintEnabled)Browser.Engine={name:'webkit',version:(Browser.Features.xpath)?420:419};else if(document.getBoxObjectFor!=null)Browser.Engine={name:'gecko',version:(document.getElementsByClassName)?19:18};Browser.Engine[Browser.Engine.name]=Browser.Engine[Browser.Engine.name+Browser.Engine.version]=true;if(window.orientation!=undefined)Browser.Platform.name='ipod';Browser.Platform[Browser.Platform.name]=true;Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject('MSXML2.XMLHTTP');});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var version=($try(function(){return navigator.plugins['Shockwave Flash'].description;},function(){return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');})||'0 r0').match(/\d+/g);return{version:parseInt(version[0]||0+'.'+version[1]||0),build:parseInt(version[2]||0)};})();function $exec(text){if(!text)return text;if(window.execScript){window.execScript(text);}else{var script=document.createElement('script');script.setAttribute('type','text/javascript');script.text=text;document.head.appendChild(script);document.head.removeChild(script);}
-return text;};Native.UID=1;var $uid=(Browser.Engine.trident)?function(item){return(item.uid||(item.uid=[Native.UID++]))[0];}:function(item){return item.uid||(item.uid=Native.UID++);};var Window=new Native({name:'Window',legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(win){$uid(win);if(!win.Element){win.Element=$empty;if(Browser.Engine.webkit)win.document.createElement("iframe");win.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};}
-return $extend(win,Window.Prototype);},afterImplement:function(property,value){window[property]=Window.Prototype[property]=value;}});Window.Prototype={$family:{name:'window'}};new Window(window);var Document=new Native({name:'Document',legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(doc){$uid(doc);doc.head=doc.getElementsByTagName('head')[0];doc.html=doc.getElementsByTagName('html')[0];doc.window=doc.defaultView||doc.parentWindow;if(Browser.Engine.trident4)$try(function(){doc.execCommand("BackgroundImageCache",false,true);});return $extend(doc,Document.Prototype);},afterImplement:function(property,value){document[property]=Document.Prototype[property]=value;}});Document.Prototype={$family:{name:'document'}};new Document(document);Array.implement({every:function(fn,bind){for(var i=0,l=this.length;i<l;i++){if(!fn.call(bind,this[i],i,this))return false;}
-return true;},filter:function(fn,bind){var results=[];for(var i=0,l=this.length;i<l;i++){if(fn.call(bind,this[i],i,this))results.push(this[i]);}
-return results;},clean:function(){return this.filter($defined);},indexOf:function(item,from){var len=this.length;for(var i=(from<0)?Math.max(0,len+from):from||0;i<len;i++){if(this[i]===item)return i;}
-return-1;},map:function(fn,bind){var results=[];for(var i=0,l=this.length;i<l;i++)results[i]=fn.call(bind,this[i],i,this);return results;},some:function(fn,bind){for(var i=0,l=this.length;i<l;i++){if(fn.call(bind,this[i],i,this))return true;}
-return false;},associate:function(keys){var obj={},length=Math.min(this.length,keys.length);for(var i=0;i<length;i++)obj[keys[i]]=this[i];return obj;},link:function(object){var result={};for(var i=0,l=this.length;i<l;i++){for(var key in object){if(object[key](this[i])){result[key]=this[i];delete object[key];break;}}}
-return result;},contains:function(item,from){return this.indexOf(item,from)!=-1;},extend:function(array){for(var i=0,j=array.length;i<j;i++)this.push(array[i]);return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;},include:function(item){if(!this.contains(item))this.push(item);return this;},combine:function(array){for(var i=0,l=array.length;i<l;i++)this.include(array[i]);return this;},erase:function(item){for(var i=this.length;i--;i){if(this[i]===item)this.splice(i,1);}
-return this;},empty:function(){this.length=0;return this;},flatten:function(){var array=[];for(var i=0,l=this.length;i<l;i++){var type=$type(this[i]);if(!type)continue;array=array.concat((type=='array'||type=='collection'||type=='arguments')?Array.flatten(this[i]):this[i]);}
-return array;},hexToRgb:function(array){if(this.length!=3)return null;var rgb=this.map(function(value){if(value.length==1)value+=value;return value.toInt(16);});return(array)?rgb:'rgb('+rgb+')';},rgbToHex:function(array){if(this.length<3)return null;if(this.length==4&&this[3]==0&&!array)return'transparent';var hex=[];for(var i=0;i<3;i++){var bit=(this[i]-0).toString(16);hex.push((bit.length==1)?'0'+bit:bit);}
-return(array)?hex:'#'+hex.join('');}});Function.implement({extend:function(properties){for(var property in properties)this[property]=properties[property];return this;},create:function(options){var self=this;options=options||{};return function(event){var args=options.arguments;args=(args!=undefined)?$splat(args):Array.slice(arguments,(options.event)?1:0);if(options.event)args=[event||window.event].extend(args);var returns=function(){return self.apply(options.bind||null,args);};if(options.delay)return setTimeout(returns,options.delay);if(options.periodical)return setInterval(returns,options.periodical);if(options.attempt)return $try(returns);return returns();};},pass:function(args,bind){return this.create({arguments:args,bind:bind});},attempt:function(args,bind){return this.create({arguments:args,bind:bind,attempt:true})();},bind:function(bind,args){return this.create({bind:bind,arguments:args});},bindWithEvent:function(bind,args){return this.create({bind:bind,event:true,arguments:args});},delay:function(delay,bind,args){return this.create({delay:delay,bind:bind,arguments:args})();},periodical:function(interval,bind,args){return this.create({periodical:interval,bind:bind,arguments:args})();},run:function(args,bind){return this.apply(bind,$splat(args));}});Number.implement({limit:function(min,max){return Math.min(max,Math.max(min,this));},round:function(precision){precision=Math.pow(10,precision||0);return Math.round(this*precision)/precision;},times:function(fn,bind){for(var i=0;i<this;i++)fn.call(bind,i,this);},toFloat:function(){return parseFloat(this);},toInt:function(base){return parseInt(this,base||10);}});Number.alias('times','each');(function(math){var methods={};math.each(function(name){if(!Number[name])methods[name]=function(){return Math[name].apply(null,[this].concat($A(arguments)));};});Number.implement(methods);})(['abs','acos','asin','atan','atan2','ceil','cos','exp','floor','log','max','min','pow','sin','sqrt','tan']);String.implement({test:function(regex,params){return((typeof regex=='string')?new RegExp(regex,params):regex).test(this);},contains:function(string,separator){return(separator)?(separator+this+separator).indexOf(separator+string+separator)>-1:this.indexOf(string)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,'');},clean:function(){return this.replace(/\s+/g,' ').trim();},camelCase:function(){return this.replace(/-\D/g,function(match){return match.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(match){return('-'+match.charAt(0).toLowerCase());});},capitalize:function(){return this.replace(/\b[a-z]/g,function(match){return match.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,'\\$1');},toInt:function(base){return parseInt(this,base||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(array){var hex=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(hex)?hex.slice(1).hexToRgb(array):null;},rgbToHex:function(array){var rgb=this.match(/\d{1,3}/g);return(rgb)?rgb.rgbToHex(array):null;},stripScripts:function(option){var scripts='';var text=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){scripts+=arguments[1]+'\n';return'';});if(option===true)$exec(scripts);else if($type(option)=='function')option(scripts,text);return text;},substitute:function(object,regexp){return this.replace(regexp||(/\\?\{([^}]+)\}/g),function(match,name){if(match.charAt(0)=='\\')return match.slice(1);return(object[name]!=undefined)?object[name]:'';});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(value){for(var key in this){if(this.hasOwnProperty(key)&&this[key]===value)return key;}
-return null;},hasValue:function(value){return(Hash.keyOf(this,value)!==null);},extend:function(properties){Hash.each(properties,function(value,key){Hash.set(this,key,value);},this);return this;},combine:function(properties){Hash.each(properties,function(value,key){Hash.include(this,key,value);},this);return this;},erase:function(key){if(this.hasOwnProperty(key))delete this[key];return this;},get:function(key){return(this.hasOwnProperty(key))?this[key]:null;},set:function(key,value){if(!this[key]||this.hasOwnProperty(key))this[key]=value;return this;},empty:function(){Hash.each(this,function(value,key){delete this[key];},this);return this;},include:function(key,value){var k=this[key];if(k==undefined)this[key]=value;return this;},map:function(fn,bind){var results=new Hash;Hash.each(this,function(value,key){results.set(key,fn.call(bind,value,key,this));},this);return results;},filter:function(fn,bind){var results=new Hash;Hash.each(this,function(value,key){if(fn.call(bind,value,key,this))results.set(key,value);},this);return results;},every:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key)&&!fn.call(bind,this[key],key))return false;}
-return true;},some:function(fn,bind){for(var key in this){if(this.hasOwnProperty(key)&&fn.call(bind,this[key],key))return true;}
-return false;},getKeys:function(){var keys=[];Hash.each(this,function(value,key){keys.push(key);});return keys;},getValues:function(){var values=[];Hash.each(this,function(value){values.push(value);});return values;},toQueryString:function(base){var queryString=[];Hash.each(this,function(value,key){if(base)key=base+'['+key+']';var result;switch($type(value)){case'object':result=Hash.toQueryString(value,key);break;case'array':var qs={};value.each(function(val,i){qs[i]=val;});result=Hash.toQueryString(qs,key);break;default:result=key+'='+encodeURIComponent(value);}
-if(value!=undefined)queryString.push(result);});return queryString.join('&');}});Hash.alias({keyOf:'indexOf',hasValue:'contains'});var Event=new Native({name:'Event',initialize:function(event,win){win=win||window;var doc=win.document;event=event||win.event;if(event.$extended)return event;this.$extended=true;var type=event.type;var target=event.target||event.srcElement;while(target&&target.nodeType==3)target=target.parentNode;if(type.test(/key/)){var code=event.which||event.keyCode;var key=Event.Keys.keyOf(code);if(type=='keydown'){var fKey=code-111;if(fKey>0&&fKey<13)key='f'+fKey;}
-key=key||String.fromCharCode(code).toLowerCase();}else if(type.match(/(click|mouse|menu)/i)){doc=(!doc.compatMode||doc.compatMode=='CSS1Compat')?doc.html:doc.body;var page={x:event.pageX||event.clientX+doc.scrollLeft,y:event.pageY||event.clientY+doc.scrollTop};var client={x:(event.pageX)?event.pageX-win.pageXOffset:event.clientX,y:(event.pageY)?event.pageY-win.pageYOffset:event.clientY};if(type.match(/DOMMouseScroll|mousewheel/)){var wheel=(event.wheelDelta)?event.wheelDelta/120:-(event.detail||0)/3;}
-var rightClick=(event.which==3)||(event.button==2);var related=null;if(type.match(/over|out/)){switch(type){case'mouseover':related=event.relatedTarget||event.fromElement;break;case'mouseout':related=event.relatedTarget||event.toElement;}
-if(!(function(){while(related&&related.nodeType==3)related=related.parentNode;return true;}).create({attempt:Browser.Engine.gecko})())related=false;}}
-return $extend(this,{event:event,type:type,page:page,client:client,rightClick:rightClick,wheel:wheel,relatedTarget:related,target:target,code:code,key:key,shift:event.shiftKey,control:event.ctrlKey,alt:event.altKey,meta:event.metaKey});}});Event.Keys=new Hash({'enter':13,'up':38,'down':40,'left':37,'right':39,'esc':27,'space':32,'backspace':8,'tab':9,'delete':46});Event.implement({stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation)this.event.stopPropagation();else this.event.cancelBubble=true;return this;},preventDefault:function(){if(this.event.preventDefault)this.event.preventDefault();else this.event.returnValue=false;return this;}});var Class=new Native({name:'Class',initialize:function(properties){properties=properties||{};var klass=function(empty){for(var key in this)this[key]=$unlink(this[key]);for(var mutator in Class.Mutators){if(!this[mutator])continue;Class.Mutators[mutator](this,this[mutator]);delete this[mutator];}
-this.constructor=klass;if(empty===$empty)return this;var self=(this.initialize)?this.initialize.apply(this,arguments):this;if(this.options&&this.options.initialize)this.options.initialize.call(this);return self;};$extend(klass,this);klass.constructor=Class;klass.prototype=properties;return klass;}});Class.implement({implement:function(){Class.Mutators.Implements(this.prototype,Array.slice(arguments));return this;}});Class.Mutators={Implements:function(self,klasses){$splat(klasses).each(function(klass){$extend(self,($type(klass)=='class')?new klass($empty):klass);});},Extends:function(self,klass){var instance=new klass($empty);delete instance.parent;delete instance.parentOf;for(var key in instance){var current=self[key],previous=instance[key];if(current==undefined){self[key]=previous;continue;}
-var ctype=$type(current),ptype=$type(previous);if(ctype!=ptype)continue;switch(ctype){case'function':if(!arguments.callee.caller)self[key]=eval('('+String(current).replace(/\bthis\.parent\(\s*(\))?/g,function(full,close){return'arguments.callee._parent_.call(this'+(close||', ');})+')');self[key]._parent_=previous;break;case'object':self[key]=$merge(previous,current);}}
-self.parent=function(){return arguments.callee.caller._parent_.apply(this,arguments);};self.parentOf=function(descendant){return descendant._parent_.apply(this,Array.slice(arguments,1));};}};var Chain=new Class({chain:function(){this.$chain=(this.$chain||[]).extend(arguments);return this;},callChain:function(){return(this.$chain&&this.$chain.length)?this.$chain.shift().apply(this,arguments):false;},clearChain:function(){if(this.$chain)this.$chain.empty();return this;}});var Events=new Class({addEvent:function(type,fn,internal){type=Events.removeOn(type);if(fn!=$empty){this.$events=this.$events||{};this.$events[type]=this.$events[type]||[];this.$events[type].include(fn);if(internal)fn.internal=true;}
-return this;},addEvents:function(events){for(var type in events)this.addEvent(type,events[type]);return this;},fireEvent:function(type,args,delay){type=Events.removeOn(type);if(!this.$events||!this.$events[type])return this;this.$events[type].each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},removeEvent:function(type,fn){type=Events.removeOn(type);if(!this.$events||!this.$events[type])return this;if(!fn.internal)this.$events[type].erase(fn);return this;},removeEvents:function(type){for(var e in this.$events){if(type&&type!=e)continue;var fns=this.$events[e];for(var i=fns.length;i--;i)this.removeEvent(e,fns[i]);}
-return this;}});Events.removeOn=function(string){return string.replace(/^on([A-Z])/,function(full,first){return first.toLowerCase();});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent)return this;for(var option in this.options){if($type(this.options[option])!='function'||!(/^on[A-Z]/).test(option))continue;this.addEvent(option,this.options[option]);delete this.options[option];}
-return this;}});Document.implement({newElement:function(tag,props){if(Browser.Engine.trident&&props){['name','type','checked'].each(function(attribute){if(!props[attribute])return;tag+=' '+attribute+'="'+props[attribute]+'"';if(attribute!='checked')delete props[attribute];});tag='<'+tag+'>';}
-return $.element(this.createElement(tag)).set(props);},newTextNode:function(text){return this.createTextNode(text);},getDocument:function(){return this;},getWindow:function(){return this.defaultView||this.parentWindow;},purge:function(){var elements=this.getElementsByTagName('*');for(var i=0,l=elements.length;i<l;i++)Browser.freeMem(elements[i]);}});var Element=new Native({name:'Element',legacy:window.Element,initialize:function(tag,props){var konstructor=Element.Constructors.get(tag);if(konstructor)return konstructor(props);if(typeof tag=='string')return document.newElement(tag,props);return $(tag).set(props);},afterImplement:function(key,value){if(!Array[key])Elements.implement(key,Elements.multi(key));Element.Prototype[key]=value;}});Element.Prototype={$family:{name:'element'}};Element.Constructors=new Hash;var IFrame=new Native({name:'IFrame',generics:false,initialize:function(){var params=Array.link(arguments,{properties:Object.type,iframe:$defined});var props=params.properties||{};var iframe=$(params.iframe)||false;var onload=props.onload||$empty;delete props.onload;props.id=props.name=$pick(props.id,props.name,iframe.id,iframe.name,'IFrame_'+$time());iframe=new Element(iframe||'iframe',props);var onFrameLoad=function(){var host=$try(function(){return iframe.contentWindow.location.host;});if(host&&host==window.location.host){var win=new Window(iframe.contentWindow);var doc=new Document(iframe.contentWindow.document);$extend(win.Element.prototype,Element.Prototype);}
-onload.call(iframe.contentWindow,iframe.contentWindow.document);};(!window.frames[props.id])?iframe.addListener('load',onFrameLoad):onFrameLoad();return iframe;}});var Elements=new Native({initialize:function(elements,options){options=$extend({ddup:true,cash:true},options);elements=elements||[];if(options.ddup||options.cash){var uniques={},returned=[];for(var i=0,l=elements.length;i<l;i++){var el=$.element(elements[i],!options.cash);if(options.ddup){if(uniques[el.uid])continue;uniques[el.uid]=true;}
-returned.push(el);}
-elements=returned;}
-return(options.cash)?$extend(elements,this):elements;}});Elements.implement({filter:function(filter,bind){if(!filter)return this;return new Elements(Array.filter(this,(typeof filter=='string')?function(item){return item.match(filter);}:filter,bind));}});Elements.multi=function(property){return function(){var items=[];var elements=true;for(var i=0,j=this.length;i<j;i++){var returns=this[i][property].apply(this[i],arguments);items.push(returns);if(elements)elements=($type(returns)=='element');}
-return(elements)?new Elements(items):items;};};Window.implement({$:function(el,nocash){if(el&&el.$family&&el.uid)return el;var type=$type(el);return($[type])?$[type](el,nocash,this.document):null;},$$:function(selector){if(arguments.length==1&&typeof selector=='string')return this.document.getElements(selector);var elements=[];var args=Array.flatten(arguments);for(var i=0,l=args.length;i<l;i++){var item=args[i];switch($type(item)){case'element':item=[item];break;case'string':item=this.document.getElements(item,true);break;default:item=false;}
-if(item)elements.extend(item);}
-return new Elements(elements);},getDocument:function(){return this.document;},getWindow:function(){return this;}});$.string=function(id,nocash,doc){id=doc.getElementById(id);return(id)?$.element(id,nocash):null;};$.element=function(el,nocash){$uid(el);if(!nocash&&!el.$family&&!(/^object|embed$/i).test(el.tagName)){var proto=Element.Prototype;for(var p in proto)el[p]=proto[p];};return el;};$.object=function(obj,nocash,doc){if(obj.toElement)return $.element(obj.toElement(doc),nocash);return null;};$.textnode=$.whitespace=$.window=$.document=$arguments(0);Native.implement([Element,Document],{getElement:function(selector,nocash){return $(this.getElements(selector,true)[0]||null,nocash);},getElements:function(tags,nocash){tags=tags.split(',');var elements=[];var ddup=(tags.length>1);tags.each(function(tag){var partial=this.getElementsByTagName(tag.trim());(ddup)?elements.extend(partial):elements=partial;},this);return new Elements(elements,{ddup:ddup,cash:!nocash});}});Element.Storage={get:function(uid){return(this[uid]||(this[uid]={}));}};Element.Inserters=new Hash({before:function(context,element){if(element.parentNode)element.parentNode.insertBefore(context,element);},after:function(context,element){if(!element.parentNode)return;var next=element.nextSibling;(next)?element.parentNode.insertBefore(context,next):element.parentNode.appendChild(context);},bottom:function(context,element){element.appendChild(context);},top:function(context,element){var first=element.firstChild;(first)?element.insertBefore(context,first):element.appendChild(context);}});Element.Inserters.inside=Element.Inserters.bottom;Element.Inserters.each(function(value,key){var Key=key.capitalize();Element.implement('inject'+Key,function(el){value(this,$(el,true));return this;});Element.implement('grab'+Key,function(el){value($(el,true),this);return this;});});Element.implement({getDocument:function(){return this.ownerDocument;},getWindow:function(){return this.ownerDocument.getWindow();},getElementById:function(id,nocash){var el=this.ownerDocument.getElementById(id);if(!el)return null;for(var parent=el.parentNode;parent!=this;parent=parent.parentNode){if(!parent)return null;}
-return $.element(el,nocash);},set:function(prop,value){switch($type(prop)){case'object':for(var p in prop)this.set(p,prop[p]);break;case'string':var property=Element.Properties.get(prop);(property&&property.set)?property.set.apply(this,Array.slice(arguments,1)):this.setProperty(prop,value);}
-return this;},get:function(prop){var property=Element.Properties.get(prop);return(property&&property.get)?property.get.apply(this,Array.slice(arguments,1)):this.getProperty(prop);},erase:function(prop){var property=Element.Properties.get(prop);(property&&property.erase)?property.erase.apply(this,Array.slice(arguments,1)):this.removeProperty(prop);return this;},match:function(tag){return(!tag||Element.get(this,'tag')==tag);},inject:function(el,where){Element.Inserters.get(where||'bottom')(this,$(el,true));return this;},wraps:function(el,where){el=$(el,true);return this.replaces(el).grab(el,where);},grab:function(el,where){Element.Inserters.get(where||'bottom')($(el,true),this);return this;},appendText:function(text,where){return this.grab(this.getDocument().newTextNode(text),where);},adopt:function(){Array.flatten(arguments).each(function(element){element=$(element,true);if(element)this.appendChild(element);},this);return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},clone:function(contents,keepid){switch($type(this)){case'element':var attributes={};for(var j=0,l=this.attributes.length;j<l;j++){var attribute=this.attributes[j],key=attribute.nodeName.toLowerCase();if(Browser.Engine.trident&&(/input/i).test(this.tagName)&&(/width|height/).test(key))continue;var value=(key=='style'&&this.style)?this.style.cssText:attribute.nodeValue;if(!$chk(value)||key=='uid'||(key=='id'&&!keepid))continue;if(value!='inherit'&&['string','number'].contains($type(value)))attributes[key]=value;}
-var element=new Element(this.nodeName.toLowerCase(),attributes);if(contents!==false){for(var i=0,k=this.childNodes.length;i<k;i++){var child=Element.clone(this.childNodes[i],true,keepid);if(child)element.grab(child);}}
-return element;case'textnode':return document.newTextNode(this.nodeValue);}
-return null;},replaces:function(el){el=$(el,true);el.parentNode.replaceChild(this,el);return this;},hasClass:function(className){return this.className.contains(className,' ');},addClass:function(className){if(!this.hasClass(className))this.className=(this.className+' '+className).clean();return this;},removeClass:function(className){this.className=this.className.replace(new RegExp('(^|\\s)'+className+'(?:\\s|$)'),'$1').clean();return this;},toggleClass:function(className){return this.hasClass(className)?this.removeClass(className):this.addClass(className);},getComputedStyle:function(property){if(this.currentStyle)return this.currentStyle[property.camelCase()];var computed=this.getWindow().getComputedStyle(this,null);return(computed)?computed.getPropertyValue([property.hyphenate()]):null;},empty:function(){$A(this.childNodes).each(function(node){Browser.freeMem(node);Element.empty(node);Element.dispose(node);},this);return this;},destroy:function(){Browser.freeMem(this.empty().dispose());return null;},getSelected:function(){return new Elements($A(this.options).filter(function(option){return option.selected;}));},toQueryString:function(){var queryString=[];this.getElements('input, select, textarea').each(function(el){if(!el.name||el.disabled)return;var value=(el.tagName.toLowerCase()=='select')?Element.getSelected(el).map(function(opt){return opt.value;}):((el.type=='radio'||el.type=='checkbox')&&!el.checked)?null:el.value;$splat(value).each(function(val){if(val)queryString.push(el.name+'='+encodeURIComponent(val));});});return queryString.join('&');},getProperty:function(attribute){var EA=Element.Attributes,key=EA.Props[attribute];var value=(key)?this[key]:this.getAttribute(attribute,2);return(EA.Bools[attribute])?!!value:(key)?value:value||null;},getProperties:function(){var args=$A(arguments);return args.map(function(attr){return this.getProperty(attr);},this).associate(args);},setProperty:function(attribute,value){var EA=Element.Attributes,key=EA.Props[attribute],hasValue=$defined(value);if(key&&EA.Bools[attribute])value=(value||!hasValue)?true:false;else if(!hasValue)return this.removeProperty(attribute);(key)?this[key]=value:this.setAttribute(attribute,value);return this;},setProperties:function(attributes){for(var attribute in attributes)this.setProperty(attribute,attributes[attribute]);return this;},removeProperty:function(attribute){var EA=Element.Attributes,key=EA.Props[attribute],isBool=(key&&EA.Bools[attribute]);(key)?this[key]=(isBool)?false:'':this.removeAttribute(attribute);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;}});(function(){var walk=function(element,walk,start,match,all,nocash){var el=element[start||walk];var elements=[];while(el){if(el.nodeType==1&&(!match||Element.match(el,match))){elements.push(el);if(!all)break;}
-el=el[walk];}
-return(all)?new Elements(elements,{ddup:false,cash:!nocash}):$(elements[0],nocash);};Element.implement({getPrevious:function(match,nocash){return walk(this,'previousSibling',null,match,false,nocash);},getAllPrevious:function(match,nocash){return walk(this,'previousSibling',null,match,true,nocash);},getNext:function(match,nocash){return walk(this,'nextSibling',null,match,false,nocash);},getAllNext:function(match,nocash){return walk(this,'nextSibling',null,match,true,nocash);},getFirst:function(match,nocash){return walk(this,'nextSibling','firstChild',match,false,nocash);},getLast:function(match,nocash){return walk(this,'previousSibling','lastChild',match,false,nocash);},getParent:function(match,nocash){return walk(this,'parentNode',null,match,false,nocash);},getParents:function(match,nocash){return walk(this,'parentNode',null,match,true,nocash);},getChildren:function(match,nocash){return walk(this,'nextSibling','firstChild',match,true,nocash);},hasChild:function(el){el=$(el,true);return(!!el&&$A(this.getElementsByTagName(el.tagName)).contains(el));}});})();Element.Properties=new Hash;Element.Properties.style={set:function(style){this.style.cssText=style;},get:function(){return this.style.cssText;},erase:function(){this.style.cssText='';}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();}};Element.Properties.href={get:function(){return(!this.href)?null:this.href.replace(new RegExp('^'+document.location.protocol+'\/\/'+document.location.host),'');}};Element.Properties.html={set:function(){return this.innerHTML=Array.flatten(arguments).join('');}};Native.implement([Element,Window,Document],{addListener:function(type,fn){if(this.addEventListener)this.addEventListener(type,fn,false);else this.attachEvent('on'+type,fn);return this;},removeListener:function(type,fn){if(this.removeEventListener)this.removeEventListener(type,fn,false);else this.detachEvent('on'+type,fn);return this;},retrieve:function(property,dflt){var storage=Element.Storage.get(this.uid);var prop=storage[property];if($defined(dflt)&&!$defined(prop))prop=storage[property]=dflt;return $pick(prop);},store:function(property,value){var storage=Element.Storage.get(this.uid);storage[property]=value;return this;},eliminate:function(property){var storage=Element.Storage.get(this.uid);delete storage[property];return this;}});Element.Attributes=new Hash({Props:{'html':'innerHTML','class':'className','for':'htmlFor','text':(Browser.Engine.trident)?'innerText':'textContent'},Bools:['compact','nowrap','ismap','declare','noshade','checked','disabled','readonly','multiple','selected','noresize','defer'],Camels:['value','accessKey','cellPadding','cellSpacing','colSpan','frameBorder','maxLength','readOnly','rowSpan','tabIndex','useMap']});Browser.freeMem=function(item){if(!item)return;if(Browser.Engine.trident&&(/object/i).test(item.tagName)){for(var p in item){if(typeof item[p]=='function')item[p]=$empty;}
-Element.dispose(item);}
-if(item.uid&&item.removeEvents)item.removeEvents();};(function(EA){var EAB=EA.Bools,EAC=EA.Camels;EA.Bools=EAB=EAB.associate(EAB);Hash.extend(Hash.combine(EA.Props,EAB),EAC.associate(EAC.map(function(v){return v.toLowerCase();})));EA.erase('Camels');})(Element.Attributes);window.addListener('unload',function(){window.removeListener('unload',arguments.callee);document.purge();if(Browser.Engine.trident)CollectGarbage();});Element.Properties.events={set:function(events){this.addEvents(events);}};Native.implement([Element,Window,Document],{addEvent:function(type,fn){var events=this.retrieve('events',{});events[type]=events[type]||{'keys':[],'values':[]};if(events[type].keys.contains(fn))return this;events[type].keys.push(fn);var realType=type,custom=Element.Events.get(type),condition=fn,self=this;if(custom){if(custom.onAdd)custom.onAdd.call(this,fn);if(custom.condition){condition=function(event){if(custom.condition.call(this,event))return fn.call(this,event);return false;};}
-realType=custom.base||realType;}
-var defn=function(){return fn.call(self);};var nativeEvent=Element.NativeEvents[realType]||0;if(nativeEvent){if(nativeEvent==2){defn=function(event){event=new Event(event,self.getWindow());if(condition.call(self,event)===false)event.stop();};}
-this.addListener(realType,defn);}
-events[type].values.push(defn);return this;},removeEvent:function(type,fn){var events=this.retrieve('events');if(!events||!events[type])return this;var pos=events[type].keys.indexOf(fn);if(pos==-1)return this;var key=events[type].keys.splice(pos,1)[0];var value=events[type].values.splice(pos,1)[0];var custom=Element.Events.get(type);if(custom){if(custom.onRemove)custom.onRemove.call(this,fn);type=custom.base||type;}
-return(Element.NativeEvents[type])?this.removeListener(type,value):this;},addEvents:function(events){for(var event in events)this.addEvent(event,events[event]);return this;},removeEvents:function(type){var events=this.retrieve('events');if(!events)return this;if(!type){for(var evType in events)this.removeEvents(evType);events=null;}else if(events[type]){while(events[type].keys[0])this.removeEvent(type,events[type].keys[0]);events[type]=null;}
-return this;},fireEvent:function(type,args,delay){var events=this.retrieve('events');if(!events||!events[type])return this;events[type].keys.each(function(fn){fn.create({'bind':this,'delay':delay,'arguments':args})();},this);return this;},cloneEvents:function(from,type){from=$(from);var fevents=from.retrieve('events');if(!fevents)return this;if(!type){for(var evType in fevents)this.cloneEvents(from,evType);}else if(fevents[type]){fevents[type].keys.each(function(fn){this.addEvent(type,fn);},this);}
-return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};(function(){var $check=function(event){var related=event.relatedTarget;if(related==undefined)return true;if(related===false)return false;return($type(this)!='document'&&related!=this&&related.prefix!='xul'&&!this.hasChild(related));};Element.Events=new Hash({mouseenter:{base:'mouseover',condition:$check},mouseleave:{base:'mouseout',condition:$check},mousewheel:{base:(Browser.Engine.gecko)?'DOMMouseScroll':'mousewheel'}});})();Element.Properties.styles={set:function(styles){this.setStyles(styles);}};Element.Properties.opacity={set:function(opacity,novisibility){if(!novisibility){if(opacity==0){if(this.style.visibility!='hidden')this.style.visibility='hidden';}else{if(this.style.visibility!='visible')this.style.visibility='visible';}}
-if(!this.currentStyle||!this.currentStyle.hasLayout)this.style.zoom=1;if(Browser.Engine.trident)this.style.filter=(opacity==1)?'':'alpha(opacity='+opacity*100+')';this.style.opacity=opacity;this.store('opacity',opacity);},get:function(){return this.retrieve('opacity',1);}};Element.implement({setOpacity:function(value){return this.set('opacity',value,true);},getOpacity:function(){return this.get('opacity');},setStyle:function(property,value){switch(property){case'opacity':return this.set('opacity',parseFloat(value));case'float':property=(Browser.Engine.trident)?'styleFloat':'cssFloat';}
-property=property.camelCase();if($type(value)!='string'){var map=(Element.Styles.get(property)||'@').split(' ');value=$splat(value).map(function(val,i){if(!map[i])return'';return($type(val)=='number')?map[i].replace('@',Math.round(val)):val;}).join(' ');}else if(value==String(Number(value))){value=Math.round(value);}
-this.style[property]=value;return this;},getStyle:function(property){switch(property){case'opacity':return this.get('opacity');case'float':property=(Browser.Engine.trident)?'styleFloat':'cssFloat';}
-property=property.camelCase();var result=this.style[property];if(!$chk(result)){result=[];for(var style in Element.ShortStyles){if(property!=style)continue;for(var s in Element.ShortStyles[style])result.push(this.getStyle(s));return result.join(' ');}
-result=this.getComputedStyle(property);}
-if(result){result=String(result);var color=result.match(/rgba?\([\d\s,]+\)/);if(color)result=result.replace(color[0],color[0].rgbToHex());}
-if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(result)))){if(property.test(/^(height|width)$/)){var values=(property=='width')?['left','right']:['top','bottom'],size=0;values.each(function(value){size+=this.getStyle('border-'+value+'-width').toInt()+this.getStyle('padding-'+value).toInt();},this);return this['offset'+property.capitalize()]-size+'px';}
-if(Browser.Engine.presto&&String(result).test('px'))return result;if(property.test(/(border(.+)Width|margin|padding)/))return'0px';}
-return result;},setStyles:function(styles){for(var style in styles)this.setStyle(style,styles[style]);return this;},getStyles:function(){var result={};Array.each(arguments,function(key){result[key]=this.getStyle(key);},this);return result;}});Element.Styles=new Hash({left:'@px',top:'@px',bottom:'@px',right:'@px',width:'@px',height:'@px',maxWidth:'@px',maxHeight:'@px',minWidth:'@px',minHeight:'@px',backgroundColor:'rgb(@, @, @)',backgroundPosition:'@px @px',color:'rgb(@, @, @)',fontSize:'@px',letterSpacing:'@px',lineHeight:'@px',clip:'rect(@px @px @px @px)',margin:'@px @px @px @px',padding:'@px @px @px @px',border:'@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)',borderWidth:'@px @px @px @px',borderStyle:'@ @ @ @',borderColor:'rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)',zIndex:'@','zoom':'@',fontWeight:'@',textIndent:'@px',opacity:'@'});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};['Top','Right','Bottom','Left'].each(function(direction){var Short=Element.ShortStyles;var All=Element.Styles;['margin','padding'].each(function(style){var sd=style+direction;Short[style][sd]=All[sd]='@px';});var bd='border'+direction;Short.border[bd]=All[bd]='@px @ rgb(@, @, @)';var bdw=bd+'Width',bds=bd+'Style',bdc=bd+'Color';Short[bd]={};Short.borderWidth[bdw]=Short[bd][bdw]=All[bdw]='@px';Short.borderStyle[bds]=Short[bd][bds]=All[bds]='@';Short.borderColor[bdc]=Short[bd][bdc]=All[bdc]='rgb(@, @, @)';});(function(){Element.implement({scrollTo:function(x,y){if(isBody(this)){this.getWindow().scrollTo(x,y);}else{this.scrollLeft=x;this.scrollTop=y;}
-return this;},getSize:function(){if(isBody(this))return this.getWindow().getSize();return{x:this.offsetWidth,y:this.offsetHeight};},getScrollSize:function(){if(isBody(this))return this.getWindow().getScrollSize();return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(isBody(this))return this.getWindow().getScroll();return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var element=this,position={x:0,y:0};while(element&&!isBody(element)){position.x+=element.scrollLeft;position.y+=element.scrollTop;element=element.parentNode;}
-return position;},getOffsetParent:function(){var element=this;if(isBody(element))return null;if(!Browser.Engine.trident)return element.offsetParent;while((element=element.parentNode)&&!isBody(element)){if(styleString(element,'position')!='static')return element;}
-return null;},getOffsets:function(){var element=this,position={x:0,y:0};if(isBody(this))return position;while(element&&!isBody(element)){position.x+=element.offsetLeft;position.y+=element.offsetTop;if(Browser.Engine.gecko){if(!borderBox(element)){position.x+=leftBorder(element);position.y+=topBorder(element);}
-var parent=element.parentNode;if(parent&&styleString(parent,'overflow')!='visible'){position.x+=leftBorder(parent);position.y+=topBorder(parent);}}else if(element!=this&&(Browser.Engine.trident||Browser.Engine.webkit)){position.x+=leftBorder(element);position.y+=topBorder(element);}
-element=element.offsetParent;if(Browser.Engine.trident){while(element&&!element.currentStyle.hasLayout)element=element.offsetParent;}}
-if(Browser.Engine.gecko&&!borderBox(this)){position.x-=leftBorder(this);position.y-=topBorder(this);}
-return position;},getPosition:function(relative){if(isBody(this))return{x:0,y:0};var offset=this.getOffsets(),scroll=this.getScrolls();var position={x:offset.x-scroll.x,y:offset.y-scroll.y};var relativePosition=(relative&&(relative=$(relative)))?relative.getPosition():{x:0,y:0};return{x:position.x-relativePosition.x,y:position.y-relativePosition.y};},getCoordinates:function(element){if(isBody(this))return this.getWindow().getCoordinates();var position=this.getPosition(element),size=this.getSize();var obj={left:position.x,top:position.y,width:size.x,height:size.y};obj.right=obj.left+obj.width;obj.bottom=obj.top+obj.height;return obj;},computePosition:function(obj){return{left:obj.x-styleNumber(this,'margin-left'),top:obj.y-styleNumber(this,'margin-top')};},position:function(obj){return this.setStyles(this.computePosition(obj));}});Native.implement([Document,Window],{getSize:function(){var win=this.getWindow();if(Browser.Engine.presto||Browser.Engine.webkit)return{x:win.innerWidth,y:win.innerHeight};var doc=getCompatElement(this);return{x:doc.clientWidth,y:doc.clientHeight};},getScroll:function(){var win=this.getWindow();var doc=getCompatElement(this);return{x:win.pageXOffset||doc.scrollLeft,y:win.pageYOffset||doc.scrollTop};},getScrollSize:function(){var doc=getCompatElement(this);var min=this.getSize();return{x:Math.max(doc.scrollWidth,min.x),y:Math.max(doc.scrollHeight,min.y)};},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var size=this.getSize();return{top:0,left:0,bottom:size.y,right:size.x,height:size.y,width:size.x};}});var styleString=Element.getComputedStyle;function styleNumber(element,style){return styleString(element,style).toInt()||0;};function borderBox(element){return styleString(element,'-moz-box-sizing')=='border-box';};function topBorder(element){return styleNumber(element,'border-top-width');};function leftBorder(element){return styleNumber(element,'border-left-width');};function isBody(element){return(/^(?:body|html)$/i).test(element.tagName);};function getCompatElement(element){var doc=element.getDocument();return(!doc.compatMode||doc.compatMode=='CSS1Compat')?doc.html:doc.body;};})();Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y;},getWidth:function(){return this.getSize().x;},getScrollTop:function(){return this.getScroll().y;},getScrollLeft:function(){return this.getScroll().x;},getScrollHeight:function(){return this.getScrollSize().y;},getScrollWidth:function(){return this.getScrollSize().x;},getTop:function(){return this.getPosition().y;},getLeft:function(){return this.getPosition().x;}});Native.implement([Document,Element],{getElements:function(expression,nocash){expression=expression.split(',');var items,local={};for(var i=0,l=expression.length;i<l;i++){var selector=expression[i],elements=Selectors.Utils.search(this,selector,local);if(i!=0&&elements.item)elements=$A(elements);items=(i==0)?elements:(items.item)?$A(items).concat(elements):items.concat(elements);}
-return new Elements(items,{ddup:(expression.length>1),cash:!nocash});}});Element.implement({match:function(selector){if(!selector)return true;var tagid=Selectors.Utils.parseTagAndID(selector);var tag=tagid[0],id=tagid[1];if(!Selectors.Filters.byID(this,id)||!Selectors.Filters.byTag(this,tag))return false;var parsed=Selectors.Utils.parseSelector(selector);return(parsed)?Selectors.Utils.filter(this,parsed,{}):true;}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};Selectors.Utils={chk:function(item,uniques){if(!uniques)return true;var uid=$uid(item);if(!uniques[uid])return uniques[uid]=true;return false;},parseNthArgument:function(argument){if(Selectors.Cache.nth[argument])return Selectors.Cache.nth[argument];var parsed=argument.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!parsed)return false;var inta=parseInt(parsed[1]);var a=(inta||inta===0)?inta:1;var special=parsed[2]||false;var b=parseInt(parsed[3])||0;if(a!=0){b--;while(b<1)b+=a;while(b>=a)b-=a;}else{a=b;special='index';}
-switch(special){case'n':parsed={a:a,b:b,special:'n'};break;case'odd':parsed={a:2,b:0,special:'n'};break;case'even':parsed={a:2,b:1,special:'n'};break;case'first':parsed={a:0,special:'index'};break;case'last':parsed={special:'last-child'};break;case'only':parsed={special:'only-child'};break;default:parsed={a:(a-1),special:'index'};}
-return Selectors.Cache.nth[argument]=parsed;},parseSelector:function(selector){if(Selectors.Cache.parsed[selector])return Selectors.Cache.parsed[selector];var m,parsed={classes:[],pseudos:[],attributes:[]};while((m=Selectors.RegExps.combined.exec(selector))){var cn=m[1],an=m[2],ao=m[3],av=m[4],pn=m[5],pa=m[6];if(cn){parsed.classes.push(cn);}else if(pn){var parser=Selectors.Pseudo.get(pn);if(parser)parsed.pseudos.push({parser:parser,argument:pa});else parsed.attributes.push({name:pn,operator:'=',value:pa});}else if(an){parsed.attributes.push({name:an,operator:ao,value:av});}}
-if(!parsed.classes.length)delete parsed.classes;if(!parsed.attributes.length)delete parsed.attributes;if(!parsed.pseudos.length)delete parsed.pseudos;if(!parsed.classes&&!parsed.attributes&&!parsed.pseudos)parsed=null;return Selectors.Cache.parsed[selector]=parsed;},parseTagAndID:function(selector){var tag=selector.match(Selectors.RegExps.tag);var id=selector.match(Selectors.RegExps.id);return[(tag)?tag[1]:'*',(id)?id[1]:false];},filter:function(item,parsed,local){var i;if(parsed.classes){for(i=parsed.classes.length;i--;i){var cn=parsed.classes[i];if(!Selectors.Filters.byClass(item,cn))return false;}}
-if(parsed.attributes){for(i=parsed.attributes.length;i--;i){var att=parsed.attributes[i];if(!Selectors.Filters.byAttribute(item,att.name,att.operator,att.value))return false;}}
-if(parsed.pseudos){for(i=parsed.pseudos.length;i--;i){var psd=parsed.pseudos[i];if(!Selectors.Filters.byPseudo(item,psd.parser,psd.argument,local))return false;}}
-return true;},getByTagAndID:function(ctx,tag,id){if(id){var item=(ctx.getElementById)?ctx.getElementById(id,true):Element.getElementById(ctx,id,true);return(item&&Selectors.Filters.byTag(item,tag))?[item]:[];}else{return ctx.getElementsByTagName(tag);}},search:function(self,expression,local){var splitters=[];var selectors=expression.trim().replace(Selectors.RegExps.splitter,function(m0,m1,m2){splitters.push(m1);return':)'+m2;}).split(':)');var items,match,filtered,item;for(var i=0,l=selectors.length;i<l;i++){var selector=selectors[i];if(i==0&&Selectors.RegExps.quick.test(selector)){items=self.getElementsByTagName(selector);continue;}
-var splitter=splitters[i-1];var tagid=Selectors.Utils.parseTagAndID(selector);var tag=tagid[0],id=tagid[1];if(i==0){items=Selectors.Utils.getByTagAndID(self,tag,id);}else{var uniques={},found=[];for(var j=0,k=items.length;j<k;j++)found=Selectors.Getters[splitter](found,items[j],tag,id,uniques);items=found;}
-var parsed=Selectors.Utils.parseSelector(selector);if(parsed){filtered=[];for(var m=0,n=items.length;m<n;m++){item=items[m];if(Selectors.Utils.filter(item,parsed,local))filtered.push(item);}
-items=filtered;}}
-return items;}};Selectors.Getters={' ':function(found,self,tag,id,uniques){var items=Selectors.Utils.getByTagAndID(self,tag,id);for(var i=0,l=items.length;i<l;i++){var item=items[i];if(Selectors.Utils.chk(item,uniques))found.push(item);}
-return found;},'>':function(found,self,tag,id,uniques){var children=Selectors.Utils.getByTagAndID(self,tag,id);for(var i=0,l=children.length;i<l;i++){var child=children[i];if(child.parentNode==self&&Selectors.Utils.chk(child,uniques))found.push(child);}
-return found;},'+':function(found,self,tag,id,uniques){while((self=self.nextSibling)){if(self.nodeType==1){if(Selectors.Utils.chk(self,uniques)&&Selectors.Filters.byTag(self,tag)&&Selectors.Filters.byID(self,id))found.push(self);break;}}
-return found;},'~':function(found,self,tag,id,uniques){while((self=self.nextSibling)){if(self.nodeType==1){if(!Selectors.Utils.chk(self,uniques))break;if(Selectors.Filters.byTag(self,tag)&&Selectors.Filters.byID(self,id))found.push(self);}}
-return found;}};Selectors.Filters={byTag:function(self,tag){return(tag=='*'||(self.tagName&&self.tagName.toLowerCase()==tag));},byID:function(self,id){return(!id||(self.id&&self.id==id));},byClass:function(self,klass){return(self.className&&self.className.contains(klass,' '));},byPseudo:function(self,parser,argument,local){return parser.call(self,argument,local);},byAttribute:function(self,name,operator,value){var result=Element.prototype.getProperty.call(self,name);if(!result)return false;if(!operator||value==undefined)return true;switch(operator){case'=':return(result==value);case'*=':return(result.contains(value));case'^=':return(result.substr(0,value.length)==value);case'$=':return(result.substr(result.length-value.length)==value);case'!=':return(result!=value);case'~=':return result.contains(value,' ');case'|=':return result.contains(value,'-');}
-return false;}};Selectors.Pseudo=new Hash({empty:function(){return!(this.innerText||this.textContent||'').length;},not:function(selector){return!Element.match(this,selector);},contains:function(text){return(this.innerText||this.textContent||'').contains(text);},'first-child':function(){return Selectors.Pseudo.index.call(this,0);},'last-child':function(){var element=this;while((element=element.nextSibling)){if(element.nodeType==1)return false;}
-return true;},'only-child':function(){var prev=this;while((prev=prev.previousSibling)){if(prev.nodeType==1)return false;}
-var next=this;while((next=next.nextSibling)){if(next.nodeType==1)return false;}
-return true;},'nth-child':function(argument,local){argument=(argument==undefined)?'n':argument;var parsed=Selectors.Utils.parseNthArgument(argument);if(parsed.special!='n')return Selectors.Pseudo[parsed.special].call(this,parsed.a,local);var count=0;local.positions=local.positions||{};var uid=$uid(this);if(!local.positions[uid]){var self=this;while((self=self.previousSibling)){if(self.nodeType!=1)continue;count++;var position=local.positions[$uid(self)];if(position!=undefined){count=position+count;break;}}
-local.positions[uid]=count;}
-return(local.positions[uid]%parsed.a==parsed.b);},index:function(index){var element=this,count=0;while((element=element.previousSibling)){if(element.nodeType==1&&++count>index)return false;}
-return(count==index);},even:function(argument,local){return Selectors.Pseudo['nth-child'].call(this,'2n+1',local);},odd:function(argument,local){return Selectors.Pseudo['nth-child'].call(this,'2n',local);}});Element.Events.domready={onAdd:function(fn){if(Browser.loaded)fn.call(this);}};(function(){var domready=function(){if(Browser.loaded)return;Browser.loaded=true;window.fireEvent('domready');document.fireEvent('domready');};switch(Browser.Engine.name){case'webkit':(function(){(['loaded','complete'].contains(document.readyState))?domready():arguments.callee.delay(50);})();break;case'trident':var temp=document.createElement('div');(function(){($try(function(){temp.doScroll('left');return $(temp).inject(document.body).set('html','temp').dispose();}))?domready():arguments.callee.delay(50);})();break;default:window.addEvent('load',domready);document.addEvent('DOMContentLoaded',domready);}})();var JSON=new Hash({encode:function(obj){switch($type(obj)){case'string':return'"'+obj.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case'array':return'['+String(obj.map(JSON.encode).filter($defined))+']';case'object':case'hash':var string=[];Hash.each(obj,function(value,key){var json=JSON.encode(value);if(json)string.push(JSON.encode(key)+':'+json);});return'{'+string+'}';case'number':case'boolean':return String(obj);case false:return'null';}
-return null;},$specialChars:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},$replaceChars:function(chr){return JSON.$specialChars[chr]||'\\u00'+Math.floor(chr.charCodeAt()/16).toString(16)+(chr.charCodeAt()%16).toString(16);},decode:function(string,secure){if($type(string)!='string'||!string.length)return null;if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'')))return null;return eval('('+string+')');}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(key,options){this.key=key;this.setOptions(options);},write:function(value){value=encodeURIComponent(value);if(this.options.domain)value+='; domain='+this.options.domain;if(this.options.path)value+='; path='+this.options.path;if(this.options.duration){var date=new Date();date.setTime(date.getTime()+this.options.duration*24*60*60*1000);value+='; expires='+date.toGMTString();}
-if(this.options.secure)value+='; secure';this.options.document.cookie=this.key+'='+value;return this;},read:function(){var value=this.options.document.cookie.match('(?:^|;)\\s*'+this.key.escapeRegExp()+'=([^;]*)');return(value)?decodeURIComponent(value[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write('');return this;}});Cookie.write=function(key,value,options){return new Cookie(key,options).write(value);};Cookie.read=function(key){return new Cookie(key).read();};Cookie.dispose=function(key,options){return new Cookie(key,options).dispose();};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:'high',allowScriptAccess:'always',wMode:'transparent',swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;},initialize:function(path,options){this.instance='Swiff_'+$time();this.setOptions(options);options=this.options;var id=this.id=options.id||this.instance;var container=$(options.container);Swiff.CallBacks[this.instance]={};var params=options.params,vars=options.vars,callBacks=options.callBacks;var properties=$extend({height:options.height,width:options.width},options.properties);var self=this;for(var callBack in callBacks){Swiff.CallBacks[this.instance][callBack]=(function(option){return function(){return option.apply(self.object,arguments);};})(callBacks[callBack]);vars[callBack]='Swiff.CallBacks.'+this.instance+'.'+callBack;}
-params.flashVars=Hash.toQueryString(vars);if(Browser.Engine.trident){properties.classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';params.movie=path;}else{properties.type='application/x-shockwave-flash';properties.data=path;}
-var build='<object id="'+id+'"';for(var property in properties)build+=' '+property+'="'+properties[property]+'"';build+='>';for(var param in params){if(params[param])build+='<param name="'+param+'" value="'+params[param]+'" />';}
-build+='</object>';this.object=((container)?container.empty():new Element('div')).set('html',build).firstChild;},replaces:function(element){element=$(element,true);element.parentNode.replaceChild(this.toElement(),element);return this;},inject:function(element){$(element,true).appendChild(this.toElement());return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+'</invoke>');return eval(rs);};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:'ignore',transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;}},initialize:function(options){this.subject=this.subject||this;this.setOptions(options);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var wait=this.options.wait;if(wait===false)this.options.link='cancel';},step:function(){var time=$time();if(time<this.time+this.options.duration){var delta=this.options.transition((time-this.time)/this.options.duration);this.set(this.compute(this.from,this.to,delta));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(now){return now;},compute:function(from,to,delta){return Fx.compute(from,to,delta);},check:function(caller){if(!this.timer)return true;switch(this.options.link){case'cancel':this.cancel();return true;case'chain':this.chain(caller.bind(this,Array.slice(arguments,1)));return false;}
-return false;},start:function(from,to){if(!this.check(arguments.callee,from,to))return this;this.from=from;this.to=to;this.time=0;this.startTimer();this.onStart();return this;},complete:function(){if(this.stopTimer())this.onComplete();return this;},cancel:function(){if(this.stopTimer())this.onCancel();return this;},onStart:function(){this.fireEvent('start',this.subject);},onComplete:function(){this.fireEvent('complete',this.subject);if(!this.callChain())this.fireEvent('chainComplete',this.subject);},onCancel:function(){this.fireEvent('cancel',this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();return this;},stopTimer:function(){if(!this.timer)return false;this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer)return false;this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(from,to,delta){return(to-from)*delta+from;};Fx.Durations={'short':250,'normal':500,'long':1000};Fx.CSS=new Class({Extends:Fx,prepare:function(element,property,values){values=$splat(values);var values1=values[1];if(!$chk(values1)){values[1]=values[0];values[0]=element.getStyle(property);}
-var parsed=values.map(this.parse);return{from:parsed[0],to:parsed[1]};},parse:function(value){value=$lambda(value)();value=(typeof value=='string')?value.split(' '):$splat(value);return value.map(function(val){val=String(val);var found=false;Fx.CSS.Parsers.each(function(parser,key){if(found)return;var parsed=parser.parse(val);if($chk(parsed))found={value:parsed,parser:parser};});found=found||{value:val,parser:Fx.CSS.Parsers.String};return found;});},compute:function(from,to,delta){var computed=[];(Math.min(from.length,to.length)).times(function(i){computed.push({value:from[i].parser.compute(from[i].value,to[i].value,delta),parser:from[i].parser});});computed.$family={name:'fx:css:value'};return computed;},serve:function(value,unit){if($type(value)!='fx:css:value')value=this.parse(value);var returned=[];value.each(function(bit){returned=returned.concat(bit.parser.serve(bit.value,unit));});return returned;},render:function(element,property,value,unit){element.setStyle(property,this.serve(value,unit));},search:function(selector){if(Fx.CSS.Cache[selector])return Fx.CSS.Cache[selector];var to={};Array.each(document.styleSheets,function(sheet,j){var href=sheet.href;if(href&&href.contains('://')&&!href.contains(document.domain))return;var rules=sheet.rules||sheet.cssRules;Array.each(rules,function(rule,i){if(!rule.style)return;var selectorText=(rule.selectorText)?rule.selectorText.replace(/^\w+/,function(m){return m.toLowerCase();}):null;if(!selectorText||!selectorText.test('^'+selector+'$'))return;Element.Styles.each(function(value,style){if(!rule.style[style]||Element.ShortStyles[style])return;value=String(rule.style[style]);to[style]=(value.test(/^rgb/))?value.rgbToHex():value;});});});return Fx.CSS.Cache[selector]=to;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(value){if(value.match(/^#[0-9a-f]{3,6}$/i))return value.hexToRgb(true);return((value=value.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[value[1],value[2],value[3]]:false;},compute:function(from,to,delta){return from.map(function(value,i){return Math.round(Fx.compute(from[i],to[i],delta));});},serve:function(value){return value.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(value,unit){return(unit)?value+unit:value;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(element,options){this.element=this.subject=$(element);this.parent(options);},set:function(property,now){if(arguments.length==1){now=property;property=this.property||this.options.property;}
-this.render(this.element,property,now,this.options.unit);return this;},start:function(property,from,to){if(!this.check(arguments.callee,property,from,to))return this;var args=Array.flatten(arguments);this.property=this.options.property||args.shift();var parsed=this.prepare(this.element,this.property,args);return this.parent(parsed.from,parsed.to);}});Element.Properties.tween={set:function(options){var tween=this.retrieve('tween');if(tween)tween.cancel();return this.eliminate('tween').store('tween:options',$extend({link:'cancel'},options));},get:function(options){if(options||!this.retrieve('tween')){if(options||!this.retrieve('tween:options'))this.set('tween',options);this.store('tween',new Fx.Tween(this,this.retrieve('tween:options')));}
-return this.retrieve('tween');}};Element.implement({tween:function(property,from,to){this.get('tween').start(arguments);return this;},fade:function(how){var fade=this.get('tween'),o='opacity',toggle;how=$pick(how,'toggle');switch(how){case'in':fade.start(o,1);break;case'out':fade.start(o,0);break;case'show':fade.set(o,1);break;case'hide':fade.set(o,0);break;case'toggle':var flag=this.retrieve('fade:flag',this.get('opacity')==1);fade.start(o,(flag)?0:1);this.store('fade:flag',!flag);toggle=true;break;default:fade.start(o,arguments);}
-if(!toggle)this.eliminate('fade:flag');return this;},highlight:function(start,end){if(!end){end=this.retrieve('highlight:original',this.getStyle('background-color'));end=(end=='transparent')?'#fff':end;}
-var tween=this.get('tween');tween.start('background-color',start||'#ffff88',end).chain(function(){this.setStyle('background-color',this.retrieve('highlight:original'));tween.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(element,options){this.element=this.subject=$(element);this.parent(options);},set:function(now){if(typeof now=='string')now=this.search(now);for(var p in now)this.render(this.element,p,now[p],this.options.unit);return this;},compute:function(from,to,delta){var now={};for(var p in from)now[p]=this.parent(from[p],to[p],delta);return now;},start:function(properties){if(!this.check(arguments.callee,properties))return this;if(typeof properties=='string')properties=this.search(properties);var from={},to={};for(var p in properties){var parsed=this.prepare(this.element,p,properties[p]);from[p]=parsed.from;to[p]=parsed.to;}
-return this.parent(from,to);}});Element.Properties.morph={set:function(options){var morph=this.retrieve('morph');if(morph)morph.cancel();return this.eliminate('morph').store('morph:options',$extend({link:'cancel'},options));},get:function(options){if(options||!this.retrieve('morph')){if(options||!this.retrieve('morph:options'))this.set('morph',options);this.store('morph',new Fx.Morph(this,this.retrieve('morph:options')));}
-return this.retrieve('morph');}};Element.implement({morph:function(props){this.get('morph').start(props);return this;}});(function(){var old=Fx.prototype.initialize;Fx.prototype.initialize=function(options){old.call(this,options);var trans=this.options.transition;if(typeof trans=='string'&&(trans=trans.split(':'))){var base=Fx.Transitions;base=base[trans[0]]||base[trans[0].capitalize()];if(trans[1])base=base['ease'+trans[1].capitalize()+(trans[2]?trans[2].capitalize():'')];this.options.transition=base;}};})();Fx.Transition=function(transition,params){params=$splat(params);return $extend(transition,{easeIn:function(pos){return transition(pos,params);},easeOut:function(pos){return 1-transition(1-pos,params);},easeInOut:function(pos){return(pos<=0.5)?transition(2*pos,params)/2:(2-transition(2*(1-pos),params))/2;}});};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(transitions){for(var transition in transitions)Fx.Transitions[transition]=new Fx.Transition(transitions[transition]);};Fx.Transitions.extend({Pow:function(p,x){return Math.pow(p,x[0]||6);},Expo:function(p){return Math.pow(2,8*(p-1));},Circ:function(p){return 1-Math.sin(Math.acos(p));},Sine:function(p){return 1-Math.sin((1-p)*Math.PI/2);},Back:function(p,x){x=x[0]||1.618;return Math.pow(p,2)*((x+1)*p-x);},Bounce:function(p){var value;for(var a=0,b=1;1;a+=b,b/=2){if(p>=(7-4*a)/11){value=-Math.pow((11-6*a-11*p)/4,2)+b*b;break;}}
-return value;},Elastic:function(p,x){return Math.pow(2,10*--p)*Math.cos(20*p*Math.PI*(x[0]||1)/3);}});['Quad','Cubic','Quart','Quint'].each(function(transition,i){Fx.Transitions[transition]=new Fx.Transition(function(p){return Math.pow(p,[i+2]);});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:'',data:'',headers:{'X-Requested-With':'XMLHttpRequest','Accept':'text/javascript, text/html, application/xml, text/xml, */*'},async:true,format:false,method:'post',link:'ignore',isSuccess:null,emulation:true,urlEncoded:true,encoding:'utf-8',evalScripts:false,evalResponse:false},initialize:function(options){this.xhr=new Browser.Request();this.setOptions(options);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running)return;this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}
-this.xhr.onreadystatechange=$empty;},isSuccess:function(){return((this.status>=200)&&(this.status<300));},processScripts:function(text){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader('Content-type')))return $exec(text);return text.stripScripts(this.options.evalScripts);},success:function(text,xml){this.onSuccess(this.processScripts(text),xml);},onSuccess:function(){this.fireEvent('complete',arguments).fireEvent('success',arguments).callChain();},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent('complete').fireEvent('failure',this.xhr);},setHeader:function(name,value){this.headers.set(name,value);return this;},getHeader:function(name){return $try(function(){return this.xhr.getResponseHeader(name);}.bind(this));},check:function(caller){if(!this.running)return true;switch(this.options.link){case'cancel':this.cancel();return true;case'chain':this.chain(caller.bind(this,Array.slice(arguments,1)));return false;}
-return false;},send:function(options){if(!this.check(arguments.callee,options))return this;this.running=true;var type=$type(options);if(type=='string'||type=='element')options={data:options};var old=this.options;options=$extend({data:old.data,url:old.url,method:old.method},options);var data=options.data,url=options.url,method=options.method;switch($type(data)){case'element':data=$(data).toQueryString();break;case'object':case'hash':data=Hash.toQueryString(data);}
-if(this.options.format){var format='format='+this.options.format;data=(data)?format+'&'+data:format;}
-if(this.options.emulation&&['put','delete'].contains(method)){var _method='_method='+method;data=(data)?_method+'&'+data:_method;method='post';}
-if(this.options.urlEncoded&&method=='post'){var encoding=(this.options.encoding)?'; charset='+this.options.encoding:'';this.headers.set('Content-type','application/x-www-form-urlencoded'+encoding);}
-if(data&&method=='get'){url=url+(url.contains('?')?'&':'?')+data;data=null;}
-this.xhr.open(method.toUpperCase(),url,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(value,key){if(!$try(function(){this.xhr.setRequestHeader(key,value);return true;}.bind(this)))this.fireEvent('exception',[key,value]);},this);this.fireEvent('request');this.xhr.send(data);if(!this.options.async)this.onStateChange();return this;},cancel:function(){if(!this.running)return this;this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent('cancel');return this;}});(function(){var methods={};['get','post','put','delete','GET','POST','PUT','DELETE'].each(function(method){methods[method]=function(){var params=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(params,{method:method.toLowerCase()}));};});Request.implement(methods);})();Element.Properties.send={set:function(options){var send=this.retrieve('send');if(send)send.cancel();return this.eliminate('send').store('send:options',$extend({data:this,link:'cancel',method:this.get('method')||'post',url:this.get('action')},options));},get:function(options){if(options||!this.retrieve('send')){if(options||!this.retrieve('send:options'))this.set('send',options);this.store('send',new Request(this.retrieve('send:options')));}
-return this.retrieve('send');}};Element.implement({send:function(url){var sender=this.get('send');sender.send({data:this,url:url||sender.options.url});return this;}});Request.HTML=new Class({Extends:Request,options:{update:false,evalScripts:true,filter:false},processHTML:function(text){var match=text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);text=(match)?match[1]:text;var container=new Element('div');return $try(function(){var root='<root>'+text+'</root>',doc;if(Browser.Engine.trident){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async=false;doc.loadXML(root);}else{doc=new DOMParser().parseFromString(root,'text/xml');}
-root=doc.getElementsByTagName('root')[0];for(var i=0,k=root.childNodes.length;i<k;i++){var child=Element.clone(root.childNodes[i],true,true);if(child)container.grab(child);}
-return container;})||container.set('html',text);},success:function(text){var options=this.options,response=this.response;response.html=text.stripScripts(function(script){response.javascript=script;});var temp=this.processHTML(response.html);response.tree=temp.childNodes;response.elements=temp.getElements('*');if(options.filter)response.tree=response.elements.filter(options.filter);if(options.update)$(options.update).empty().adopt(response.tree);if(options.evalScripts)$exec(response.javascript);this.onSuccess(response.tree,response.elements,response.html,response.javascript);}});Element.Properties.load={set:function(options){var load=this.retrieve('load');if(load)send.cancel();return this.eliminate('load').store('load:options',$extend({data:this,link:'cancel',update:this,method:'get'},options));},get:function(options){if(options||!this.retrieve('load')){if(options||!this.retrieve('load:options'))this.set('load',options);this.store('load',new Request.HTML(this.retrieve('load:options')));}
-return this.retrieve('load');}};Element.implement({load:function(){this.get('load').send(Array.link(arguments,{data:Object.type,url:String.type}));return this;}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(options){this.parent(options);this.headers.extend({'Accept':'application/json','X-Request':'JSON'});},success:function(text){this.response.json=JSON.decode(text,this.options.secure);this.onSuccess(this.response.json,text);}});
diff --git a/notFinishedCode/tricode/mutexFunctions.php b/notFinishedCode/tricode/mutexFunctions.php
deleted file mode 100644
index af45610..0000000
--- a/notFinishedCode/tricode/mutexFunctions.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?
-//Mutex functions
-function Lock($lockName,$seconds)
-{
- $sql = "SELECT GET_LOCK('$lockName', $seconds);";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function IsLocked($lockName)
-{
- $sql = "SELECT IS_FREE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function ReleaseLock($lockName)
-{
- $sql = "SELECT RELEASE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-//End of mutex functions
-?>
diff --git a/notFinishedCode/tricode/mutexTry.php b/notFinishedCode/tricode/mutexTry.php
deleted file mode 100755
index 9e07b3d..0000000
--- a/notFinishedCode/tricode/mutexTry.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
-include 'insertData.php'; //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
- include 'post.php'; // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
-
- if($taskAmount!=0)
- {
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(500);
- fclose($startApp);
- }
-
- //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
- sleep(1); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
-
- fwrite($fp, "START TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- //test finished successfully
- $GSMRZ1 = 0;
- $GSMRZ2 = 0;
- $GSMRZ3 = 0;
-
- $SIP = 0;
- $UNISIP = 0;
- $LANDLINE = 0;
- $LSFKS = 0;
-
- $GSMEE = 0;
- $GSMEV = 0;
- $GSMET = 0;
- $GSMEO = 0;
-
- $SIPP = 0;
- $LANDLINEP = 0;
- $UNISIPP = 0;
- $NANOBTS1P = 0;
- $NANOBTS2P = 0;
- /////////// end of test!
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer">Number of tasks: '.$taskAmount.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- $received = str_replace("\n",'',$received);
- $dataForTable = explode("|", $received);
- $callFrom = strtoupper($dataForTable[1]);
- $callTo = strtoupper($dataForTable[2]);
- $testStatus = strtoupper($dataForTable[3]);
- //ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
-
- if($callFrom == 'SIP' || $callTo == 'SIP')
- {
- if($testStatus == '200')
- {
- $SIP = 1;
- echo 'SIP set to 1';
- }
- }
- if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
- {
- if($testStatus == '200')
- {
- echo 'GSMRZ1 set to 1';
- $GSMRZ1 = 1;
- }
- }
-
- //END OF TEST CASE EXAMPLE
- echo '<tr>
- <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
- <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
- <td> ' . $dataForTable[4] . ' </td>
- <td>' . $dataForTable[3] . '</td>
- </tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/notFinishedCode/tricode/networkResult.php b/notFinishedCode/tricode/networkResult.php
deleted file mode 100644
index 512fe86..0000000
--- a/notFinishedCode/tricode/networkResult.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("class/pData.class.php");
-
- include("class/pDraw.class.php");
- include("class/pImage.class.php");
-
- include("class/pSurface.class.php");
- //test case php defined for defining the colors and what's OK and what's wrong!
- include 'testCase.php';
-
- //Triangle function used for defining a triangle, used later to draw a triangle polygon!
- function Triangle($x,$y)
- {
- $Bx = $x - 7;
- $By = $y + 18;
- $Cx = $x + 7;
- $Cy = $y + 18;
- return array($x,$y,$Bx,$By,$Cx,$Cy);
- }
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array($GSMINTPercent,$GSMEXTPercent,$SIPPercent,$UNISIPPercent,$LANDLINEPercent),"Hits");
- $MyData->setAxisName(0,"Network operability");
- $MyData->addPoints(array("GSM University","GSM External","SIP","Uni.Tel.network","Landline"),"Networks");
- $MyData->setSerieDescription("Networks","Networks");
- $MyData->setAbscissa("Networks");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,430,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
-// $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,430,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,429,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Network Test Results - UNI FREIBURG",array("R"=>255,"G"=>255,"B"=>255));
-
-
-
- //CONNECTIONS
- /* BTS PICTURE INTERNAL CONNECTIONS */
- $myPicture->drawLine(80,170,185,230,$BTS1PING); //BTS1 PING
- $myPicture->drawLine(75,225,185,225,$BTS2PING); //BTS2 PING
- $myPicture->drawLine(75,288,185,220,$BTS2PING); //BTS3 PING
- /*GSMBOX LINES */
- $myPicture->drawLine(181,65,299,150); //BTS3 PING
- $myPicture->drawLine(250,65,308,150); //BTS3 PING
- $myPicture->drawLine(347,65,309,150); //BTS3 PING
- $myPicture->drawLine(410,70,316,150); //BTS3 PING
-
- //Arrow for GSM-Box
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(303,209,303,161,$arrowSettings);
-
- //Arrow for Landline
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(313,210,393,171,$arrowSettings);
-
- //Arrow for University telephone network
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(303,298,303,239,$arrowSettings);
-
- //SIP
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(316,220,393,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(346,218,"SIP",$TextSettings);
-
- //IAX
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(192,220,297,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(235,218,"IAX",$TextSettings);
- //######################################
-
- //BTS1
- $Points = Triangle(74,155);
- $myPicture->drawPolygon($Points, $BTS1COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,169,"nanoBTS0",$TextSettings);
- //##################################
-
- //BTS2
- $Points = Triangle(74,215);
- $myPicture->drawPolygon($Points, $BTS2COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,229,"nanoBTS1",$TextSettings);
- //###################################
-
- //BTS3
- $Points = Triangle(74,275);
- $myPicture->drawPolygon($Points, $BTS3COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,289,"nanoBTS3",$TextSettings);
- //###################################
-
-
-
- //LsfKs-Asterisk
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(295,210,$LSFKSCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(270,257," LsfKs-Asterisk",$TextSettings);
- //###############################
-
-
- //Open BSC
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,210,$GSMINTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(155,275," OpenBSC \r\n LCR \r\n Asterisk",$TextSettings);
- //###############################
-
-
- //E-plus
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,50,$GSMEECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(171,40,"E-Plus",$TextSettings);
- //###############################
-
-
- //Vodaphone
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(231,50,$GSMEVCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(218,40,"Vodafone",$TextSettings);
- //###############################
-
-
- //T-mobile
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(336,50,$GSMETCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(330,40,"T-Mobile",$TextSettings);
- //###############################
-
-
- //O2
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(396,50,$GSMEOCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(404,40,"02",$TextSettings);
- //###############################
-
-
- //GSMBOX
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(293,140,$GSMEXTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,157,"GSM-Box",$TextSettings);
- //###############################
-
-
- //LANDLINE
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,147,$LANDLINECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(388,137,"Landline",$TextSettings);
- //###############################
-
-
- //University SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(283,297,$UNISIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,365,"University telephone network",$TextSettings);
- //###############################
-
-
- //SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,208,$SIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(399,256,"SIP",$TextSettings);
- //###############################
-
- //PING RESULTS
- //START ############################################
- $myPicture->setGraphArea(530,280,660,290);
-
- // Create the surface object
- $mySurface = new pSurface($myPicture);
-
- // Set the grid size
- $mySurface->setGrid(4,0);
-
- $mySurface->writeXLabels(array("Angle"=>45,"Labels"=>array("SIP","Landline","Uni. Telephone","nanoBTS 1","nanoBTS 2")));
- $mySurface->writeYLabels(array("Labels"=>array("Ping")));
-
- $Palette = array(1=>array("R"=>0,"G"=>255,"B"=>0, "Alpha"=>40),
- 0=>array("R"=>255,"G"=>0,"B"=>1, "Alpha"=>40));
-
- $mySurface->addPoint(0,0,$SIPP);
- $mySurface->addPoint(1,0,$LANDLINEP);
- $mySurface->addPoint(2,0,$UNISIPP);
- $mySurface->addPoint(3,0,$NANOBTS1P);
- $mySurface->addPoint(4,0,$NANOBTS2P);
-
- // Draw the surface chart
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40,"Palette"=>$Palette));
-
-
- //A BIT OF STATISTICS
- /* Draw the chart scale */
- $myPicture->setGraphArea(520,50,685,220);
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
-
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
-
-/* $Palette = array("1"=>array("R"=>91,"G"=>184,"B"=>202,"Alpha"=>100),
- "2"=>array("R"=>166,"G"=>218,"B"=>215,"Alpha"=>100),
- "3"=>array("R"=>223,"G"=>227,"B"=>203,"Alpha"=>100),
- "0"=>array("R"=>114,"G"=>176,"B"=>180,"Alpha"=>100),
- "4"=>array("R"=>241,"G"=>233,"B"=>214,"Alpha"=>100));
-*/
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
- //############################################STATISTICS
-
- //DATE AND TEST NUMBER
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>9);
- $myPicture->drawText(460,425,"Task #:32432 07.09.2011 21:19:00",$TextSettings);
- //###########################################################
-
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("example.drawFilledCircle.png");
-?>
diff --git a/notFinishedCode/tricode/post.php b/notFinishedCode/tricode/post.php
deleted file mode 100644
index 56d0c24..0000000
--- a/notFinishedCode/tricode/post.php
+++ /dev/null
@@ -1,470 +0,0 @@
-<?
-$sipgsmrz1 = $_REQUEST["sip_gsmrz1"]; //SIP to GSMRZ1
-$sipgsmrz2 = $_REQUEST["sip_gsmrz2"]; //SIP to GSMRZ2
-$sipgsmrz3 = $_REQUEST["sip_gsmrz3"]; //SIP to GSMRZ3
-
-$sipland = $_REQUEST["sip_landln"]; //SIP to landline
-$sipuniv = $_REQUEST["sip_sipuniv"]; //SIP to University
-
-$gsmrzsip1 = $_REQUEST["gsmrz1_sip"]; //GSMRZ1 to SIP
-$gsmrzsip2 = $_REQUEST["gsmrz2_sip"]; //GSMRZ2 to SIP
-$gsmrzsip3 = $_REQUEST["gsmrz3_sip"]; //GSMRZ3 to SIP
-
-
-$gsm2gsm12 = $_REQUEST["gsmrz1_gsmrz2"]; //GSMRZ1 to GSMRZ2
-$gsm2gsm13 = $_REQUEST["gsmrz1_gsmrz3"]; //GSMRZ1 to GSMRZ3
-$gsm2gsm23 = $_REQUEST["gsmrz2_gsmrz3"]; //GSMRZ2 to GSMRZ3
-
-$landsip = $_REQUEST["landline_sip"]; //Landline to SIP
-
-$landgsmrz1 = $_REQUEST["landline_gsmrz1"]; //Landline to GSMRZ1
-$landgsmrz2 = $_REQUEST["landline_gsmrz2"]; //Landline to GSMRZ1
-$landgsmrz3 = $_REQUEST["landline_gsmrz3"]; //Landline to GSMRZ1
-
-//Add allso for external GSM
-$gsmrz1gsmee = $_REQUEST["gsmrz1_gsmee"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmev = $_REQUEST["gsmrz1_gsmev"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmet = $_REQUEST["gsmrz1_gsmet"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmeo = $_REQUEST["gsmrz1_gsmeo"]; //GSMRZ1 to E-Plus
-
-
-$gsmrz2gsmee = $_REQUEST["gsmrz2_gsmee"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmev = $_REQUEST["gsmrz2_gsmev"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmet = $_REQUEST["gsmrz2_gsmet"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmeo = $_REQUEST["gsmrz2_gsmeo"]; //GSMRZ2 to E-Plus
-
-
-$gsmrz3gsmee = $_REQUEST["gsmrz3_gsmee"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmev = $_REQUEST["gsmrz3_gsmev"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmet = $_REQUEST["gsmrz3_gsmet"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmeo = $_REQUEST["gsmrz3_gsmeo"]; //GSMRZ3 to E-Plus
-
-
-$unisipgsmee = $_REQUEST["unisip_gsmee"]; //GSMRZ3 to E-Plus
-$unisipgsmev = $_REQUEST["unisip_gsmev"]; //GSMRZ3 to E-Plus
-$unisipgsmet = $_REQUEST["unisip_gsmet"]; //GSMRZ3 to E-Plus
-$unisipgsmeo = $_REQUEST["unisip_gsmeo"]; //GSMRZ3 to E-Plus
-//############################################################
-$taskNo = getNewTaskNo();
-$errorAdding = 0;
-$taskAmount = 0;
-
-/*function insertTask($me,$mb,$md)
-{
- echo $me.$mb.$md;
- return 1;
-}*/
-
-if($sipgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipland == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','landline');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipuniv == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','unisip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm12 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm13 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm23 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landsip == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz1gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz2gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz3gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-
-if($unisipgsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-?>
diff --git a/notFinishedCode/tricode/script.sh b/notFinishedCode/tricode/script.sh
deleted file mode 100755
index 00c0279..0000000
--- a/notFinishedCode/tricode/script.sh
+++ /dev/null
@@ -1 +0,0 @@
-gnome-terminal
diff --git a/notFinishedCode/tricode/sshtest.py b/notFinishedCode/tricode/sshtest.py
deleted file mode 100755
index f18139e..0000000
--- a/notFinishedCode/tricode/sshtest.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-import os
-import subprocess
-import SSHTunnelBox1Class
-import SSHTunnelBox2Class
-import ClientClass
-from time import sleep
-
-portDest = 46000#should be 9
-box2 = SSHTunnelBox2Class.SSHTunneling(portDest, 50008, '132.230.4.67', 'lsfks', 'r')#ip??
-print box2.startTunneling()
-#sleep(2)
-receiver = ClientClass.Connection('localhost', portDest)
-print receiver.connect()
-box2.killTunneling()
diff --git a/notFinishedCode/tricode/startSoftware.py b/notFinishedCode/tricode/startSoftware.py
deleted file mode 100644
index 02e4f6a..0000000
--- a/notFinishedCode/tricode/startSoftware.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import ServerClass
-import subprocess
-
-while 1:
- server = ServerClass.ServerHandler(34600)
- tried = server.openSocket()
-
- test = server.receiveData(2)
- if test == 'START APP':
- print 'start'
- subprocess.Popen(args=['gnome-terminal','--command=python gsmselftest2.py'])
- print server.closeConnection()
- del server
-
diff --git a/notFinishedCode/tricode/startTest.php b/notFinishedCode/tricode/startTest.php
deleted file mode 100644
index abfa812..0000000
--- a/notFinishedCode/tricode/startTest.php
+++ /dev/null
@@ -1,438 +0,0 @@
-<html>
-<head>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Uni-Freiburg Network test</title>
-<link rel="stylesheet" href="css/formCSS.css" type="text/css" media="screen">
-<link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body>
-<div>
-Please select the type of the test you would like to perform or manually choose your tests! Then please press the submit button!
-</div>
-<div>
-<form>
- <a class="tooltip" href="#">
- <input type=button value="Simple test" onClick="simpleTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Simple test</em>
- Press simple test if you want to test the network for</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Smart test" onClick="smartTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Smart test</em>
- This is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Full test" onClick="fullTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Full test</em>
- Press full test if you want to test every part of the university network. To execute this test the highest amount of time will be required, however this test produces the highest amount of information!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Deselect all values" onClick="deselectAll()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Deselect all</em>
- Press deselect all if you want to deselect all the values you have selected to be executed for the test!</span>
- </a>
-</form>
-</div>
-<div class='section form'>
-<form name="testForm" form action="mutexTry.php" method="POST">
- <div class='leftcol'>
- <label><input type="checkbox" name='sip_gsmrz1'> SIP to RZ-GSM 1</label>
- <label><input type="checkbox" name="sip_gsmrz2"> SIP to RZ-GSM 2</label>
- <label><input type="checkbox" name="sip_gsmrz3"> SIP to RZ-GSM 3</label>
-
- <label><input type="checkbox" name="sip_landln"> SIP to Landline</label>
- <label><input type="checkbox" name="sip_sipuniv"> SIP to Uni.telephone</label>
-
-
- <label><input type="checkbox" name="gsmrz1_sip"> RZ-GSM 1 to SIP</label>
- <label><input type="checkbox" name="gsmrz2_sip"> RZ-GSM 2 to SIP</label>
- <label><input type="checkbox" name="gsmrz3_sip"> RZ-GSM 3 to SIP</label>
-
- <label><input type="checkbox" name="gsmrz1_gsmrz2"> RZ-GSM 1 to RZ-GSM 2</label>
- <label><input type="checkbox" name="gsmrz1_gsmrz3"> RZ-GSM 1 to RZ-GSM 3</label>
- <label><input type="checkbox" name="gsmrz2_gsmrz3"> RZ-GSM 2 to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="landline_sip"> Landline to SIP </label>
-
- <label><input type="checkbox" name="landline_gsmrz1"> Landline to RZ-GSM 1</label>
- <label><input type="checkbox" name="landline_gsmrz2"> Landline to RZ-GSM 2</label>
- <label><input type="checkbox" name="landline_gsmrz3"> Landline to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="gsmrz1_gsmee"> RZ-GSM 1 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz1_gsmev"> RZ-GSM 1 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz1_gsmet"> RZ-GSM 1 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz1_gsmeo"> RZ-GSM 1 to O2</label>
-
- <label><input type="checkbox" name="gsmrz2_gsmee"> RZ-GSM 2 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz2_gsmev"> RZ-GSM 2 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz2_gsmet"> RZ-GSM 2 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz2_gsmeo"> RZ-GSM 2 to O2</label>
-
- <label><input type="checkbox" name="gsmrz3_gsmee"> RZ-GSM 3 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz3_gsmev"> RZ-GSM 3 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz3_gsmet"> RZ-GSM 3 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz3_gsmeo"> RZ-GSM 3 to O2</label>
-
-
- <label><input type="checkbox" name="unisip_gsmee"> Uni.telephone to E-Plus</label>
- <label><input type="checkbox" name="unisip_gsmev"> Uni.telephone to Vodaphone</label>
- <label><input type="checkbox" name="unisip_gsmet"> Uni.telephone to T-Mobile</label>
- <label><input type="checkbox" name="unisip_gsmeo"> Uni.telephone to O2</label>
-
-
-
-
- <input type=SUBMIT value="Submit">
-
- </div>
-</form>
-</div>
-
-<script type="text/javascript" src="mootools.js"></script>
-<script type="text/javascript" src="moocheck.js"></script>
-<script type = "text/javascript">
-function simpleTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the simple test should do!
-}
-
-function fullTest()
-{
- document.testForm.sip_gsmrz1.checked=true
- document.testForm.sip_gsmrz2.checked=true
- document.testForm.sip_gsmrz3.checked=true
-
- document.testForm.sip_landln.checked=true
- document.testForm.sip_sipuniv.checked=true
-
- document.testForm.gsmrz1_gsmrz2.checked=true
- document.testForm.gsmrz1_gsmrz3.checked=true
- document.testForm.gsmrz2_gsmrz3.checked=true
-
- document.testForm.gsmrz1_sip.checked=true
- document.testForm.gsmrz2_sip.checked=true
- document.testForm.gsmrz3_sip.checked=true
-
- document.testForm.landline_sip.checked=true
-
- document.testForm.landline_gsmrz1.checked=true
- document.testForm.landline_gsmrz2.checked=true
- document.testForm.landline_gsmrz3.checked=true
-
- document.testForm.gsmrz1_gsmee.checked=true
- document.testForm.gsmrz1_gsmev.checked=true
- document.testForm.gsmrz1_gsmet.checked=true
- document.testForm.gsmrz1_gsmeo.checked=true
-
- document.testForm.gsmrz2_gsmee.checked=true
- document.testForm.gsmrz2_gsmev.checked=true
- document.testForm.gsmrz2_gsmet.checked=true
- document.testForm.gsmrz2_gsmeo.checked=true
-
- document.testForm.gsmrz3_gsmee.checked=true
- document.testForm.gsmrz3_gsmev.checked=true
- document.testForm.gsmrz3_gsmet.checked=true
- document.testForm.gsmrz3_gsmeo.checked=true
-
- document.testForm.unisip_gsmee.checked=true
- document.testForm.unisip_gsmev.checked=true
- document.testForm.unisip_gsmet.checked=true
- document.testForm.unisip_gsmeo.checked=true
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-
-function smartTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the smart test should do
-}
-
-function deselectAll()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-</script>
-</body>
-</html>
diff --git a/notFinishedCode/tricode/testCase.php b/notFinishedCode/tricode/testCase.php
deleted file mode 100644
index c9e12ee..0000000
--- a/notFinishedCode/tricode/testCase.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?
- //color definitions
- $colorDunno = array("R"=>216,"G"=>166,"B"=>14,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorFail = array("R"=>255, "G"=>25, "B"=>25,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorWork = array("R"=>150,"G"=>215,"B"=>121,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
-
-
-$GSMRZ1 = $_GET['RZ1'];
-$GSMRZ2 = $_GET['RZ2'];
-$GSMRZ3 = $_GET['RZ3'];
-
-$SIP = $_GET['S'];
-$UNISIP = $_GET['US'];
-$LANDLINE = $_GET['LL'];
-$LSFKS = $_GET['LS'];
-
-$GSMEE = $_GET['EE'];
-$GSMEV = $_GET['EV'];
-$GSMET = $_GET['ET'];
-$GSMEO = $_GET['EO'];
-
-
-$SIPP = $_GET['SP'];
-$LANDLINEP = $_GET['SGP'];
-$UNISIPP = $_GET['USP'];
-$NANOBTS1P = $_GET['NBP1'];
-$NANOBTS2P = $_GET['NBP2'];
-/*
-$GSMRZ1 = 0;
-$GSMRZ2 = -10;
-$GSMRZ3 = 10;
-
-$SIP = 4;
-$UNISIP = 0;
-$LANDLINE = 1;
-$LSFKS = 1;
-
-$GSMEE = 10;
-$GSMEV = 10;
-$GSMET = -10;
-$GSMEO = 10;
-*/
-$GSMEXTCOL = 'icons/box_dunno.png';
-$GSMINTCOL = "icons/server_dunno.png";
-$LSFKSCOL = "icons/server_dunno.png";
-
-$SIPCOL = 'icons/sip_dunno';
-$UNISIPCOL = 'icons/uni-network_dunno.png';
-$LANDLINECOL = 'icons/telephone_dunno.png';
-
-$BTS1COL = $colorDunno;
-$BTS2COL = $colorDunno;
-$BTS3COL = $colorDunno;
-
-$GSMEECOL = 'icons/blackberry_dunno.png';
-$GSMEVCOL = 'icons/blackberry_dunno.png';
-$GSMETCOL = 'icons/blackberry_dunno.png';
-$GSMEOCOL = 'icons/blackberry_dunno.png';
-
-
-$BTS1PING = array("R"=>255,"G"=>0,"B"=>0); //put here the color :)
-$BTS1PING["Ticks"]=2;
-$BTS1PING["Weight"]=0;
-
-$BTS2PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS2PING["Ticks"]=2;
-$BTS2PING["Weight"]=0;
-
-$BTS3PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS3PING["Ticks"]=2;
-$BTS3PING["Weight"]=0;
-
-if ($GSMRZ1 > 0 || $GSMRZ2 > 0 || $GSMRZ3 > 0)
-{
- $GSMINT = 1;
- $GSMINTCOL = 'icons/server_work.png';
-}
-elseif($GSMRZ1 < 0 || $GSMRZ2 < 0 || $GSMRZ3 < 0)
-{
- $GSMINT = -1;
- $GSMINTCOL = 'icons/server_fail.png';
-}
-
-if($LANDLINE>0)
-{
- $LANDLINECOL = 'icons/telephone_work.png';
-}
-elseif($LANDLINE<0)
-{
- $LANDLINECOL = 'icons/telephone_fail.png';
-}
-
-if($SIP > 0 && $GSMINT > 0)
-{
- $LSFKS = 1;
-}
-
-if($LSFKS>0)
-{
- $LSFKSCOL = 'icons/server_work.png';
-}
-elseif($LSFKS<0)
-{
- $LSFKSCOL = 'icons/server_fail.png';
-}
-
-if($SIP>0)
-{
- $SIPCOL = 'icons/sip_work.png';
-}
-elseif($SIP<0)
-{
- $SIPCOL = 'icons/sip_fail.png';
-}
-
-if($UNISIP > 0)
-{
- $UNISIPCOL = 'icons/uni-network_work.png';
-}
-elseif($UNISIP < 0)
-{
- $UNISIPCOL = 'icons/uni-network_fail.png';
-}
-
-if($GSMEE > 0 || $GSMEV > 0 || $GSMET > 0 || $GSMEO > 0)
-{
- $GSMEXTCOL = 'icons/box_work.png';
-}
-elseif($GSMEE < 0 || $GSMEV < 0 || $GSMET < 0 || $GSMEO < 0)
-{
- $GSMEXTCOL = 'icons/box_fail.png';
-}
-
-if($GSMRZ1 > 0)
-{
- $BTS1COL = $colorWork;
-}
-elseif($GSMRZ1 < 0)
-{
- $BTS1COL = $colorFail;
-}
-
-if($GSMRZ2 > 0)
-{
- $BTS2COL = $colorWork;
-}
-elseif($GSMRZ2 < 0)
-{
- $BTS2COL = $colorFail;
-}
-
-if($GSMRZ3 > 0)
-{
- $BTS3COL = $colorWork;
-}
-elseif($GSMRZ3 < 0)
-{
- $BTS3COL = $colorFail;
-}
-
-if($GSMEE > 0)
-{
- $GSMEECOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEE < 0)
-{
- $GSMEECOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEV > 0)
-{
- $GSMEVCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEV < 0)
-{
- $GSMEVCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMET > 0)
-{
- $GSMETCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMET < 0)
-{
- $GSMETCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEO > 0)
-{
- $GSMEOCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEO < 0)
-{
- $GSMEOCOL = 'icons/blackberry_fail.png';
-}
-
-
-
-//NETWORK OPERABILITY
-$GSMINTPercent = rand(1,100);
-$GSMEXTPercent = rand(1,100);
-$SIPPercent = rand(1,100);
-$UNISIPPercent = rand(1,100);
-$LANDLINEPercent = rand(1,100);
-
-//print_r($GSMINTCOL);
-// add here to set the color for each node after the test ;)
-// setNode(0,$SIPCOL) or something as that :)
-?>
diff --git a/notFinishedCode/tricode/trueTableClass.py b/notFinishedCode/tricode/trueTableClass.py
deleted file mode 100755
index 0409527..0000000
--- a/notFinishedCode/tricode/trueTableClass.py
+++ /dev/null
@@ -1,198 +0,0 @@
-
-class trueTable:
- def __init__(self, resultsList):
-
- self.resultsList = resultsList
- self.nanoBTS1 = None
- self.nanoBTS2 = None
- self.nanoBTS3 = None
- self.o2Card = None
- self.eplusCard = None
- self.vodaCard = None
- self.tmobileCard = None
- self.outgoingLandline = None
- self.asteriskServer = None
-
- def initTrueTable(self):
-
-
- for x in self.resultsList:
-
- destination = x[1]
- result = x[2]
- caller = x[0]
-
- if destination == 'GSMRZ1':
- if result =='486':
- self.nanoBTS1 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ1':
- if result == '200':
- self.nanoBTS1 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ1':
- if result == '200':
- self.nanoBTS1 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS1 = True
- self.asteriskServer = True
-
- elif destination == 'GSMRZ2':
- if result =='486':
- self.nanoBTS2 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ2':
- if result == '200':
- self.nanoBTS2 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- self.nanoBTS2 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS2 = True
- self.asteriskServer = True
-
- elif destination == 'GSMRZ3':
- if result =='486':
- self.nanoBTS3 = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMRZ3':
- if result == '200':
- self.nanoBTS3 = True
- self.asteriskServer = True
-
- if destination == 'GSMRZ2':
- if result == '200':
- self.nanoBTS3 = True
- self.asteriskServer = True
- elif result =='200':
- self.nanoBTS3 = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.O2':
- if result =='486':
- self.o2Card = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.O2':
- if result == '200':
- self.o2Card = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.O2':
- if result == '200':
- self.o2Card = True
- self.asteriskServer = True
- elif result =='200':
- self.o2Card = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Voda':
- if result =='486':
- self.vodaCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Voda':
- if result == '200':
- self.vodaCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Voda':
- if result == '200':
- self.vodaCard = True
- self.asteriskServer = True
- elif result =='200':
- self.vodaCard = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Eplus':
- if result =='486':
- self.eplusCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Eplus':
- if result == '200':
- self.eplusCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Eplus':
- if result == '200':
- self.eplusCard = True
- self.asteriskServer = True
- elif result =='200':
- self.eplusCard = True
- self.asteriskServer = True
-
- elif destination == 'GSMExt.Tm':
- if result =='486':
- self.tmobileCard = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'GSMExt.Tm':
- if result == '200':
- self.tmobileCard = True
- self.asteriskServer = True
-
- if destination == 'GSMExt.Tm':
- if result == '200':
- self.tmobileCard = True
- self.asteriskServer = True
- elif result =='200':
- self.tmobileCard = True
- self.asteriskServer = True
-
- elif destination == 'sip':
- if result =='486':
- self.asteriskServer = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if call == 'sip':
- if result == '200':
- self.asteriskServer = True
-
- if destination == 'sip':
- if result == '200':
- self.asteriskServer = True
-
- elif result =='200':
- self.asteriskServer = True
-
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
-
- if destination == 'landline':
- if result =='486':
- self.outgoingLandline = False
- for y in self.resultsList:
- call = y[0]
- destination = y[1]
- result = y[2]
- if caller == 'GSMRZ1' or caller == 'GSMRZ2' or caller == 'GSMRZ3':
- if destination == 'landline':
- if result == '200':
- self.outgoingLandline = True
- self.asteriskServer = True
-
-
diff --git a/notFinishedCode/tricode/trueTableClass.pyc b/notFinishedCode/tricode/trueTableClass.pyc
deleted file mode 100755
index 9597b8b..0000000
--- a/notFinishedCode/tricode/trueTableClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/usbDetectClass.py b/notFinishedCode/tricode/usbDetectClass.py
deleted file mode 100755
index 19ed52b..0000000
--- a/notFinishedCode/tricode/usbDetectClass.py
+++ /dev/null
@@ -1,88 +0,0 @@
-from serial import * #serial port library
-import sys
-from time import sleep
-import DbClass
-
-
-class serialPort:
-
- def __init__(self, portAddress):
- self.portAddress = portAddress
- self.portExist = 0
- self.IMEI = 'IME not found'
- self.number = 'number not found'
- self.updateStatus = None
-
- def initDB(self):
- self.db = DbClass.DBMySQLConnection('root', 'randompasswordSQL', 'localhost', 'gsmselftesting')
- self.db.connectDB()
- self.dbStatus = self.db.connectDB()
-
- def initUpdate(self, deviceName, newPortName, newNumber):
- self.initDB()
-
- if self.dbStatus != 0:
- self.db.updateGSMDevice(deviceName, newPortName, newNumber)
- else:
- print 'No connection to database'
-
- def portInit(self):
- self.portExist = 0
- try:
- self.ser = Serial(
- port='/dev/'+self.portAddress,
- baudrate=19200,
- bytesize=EIGHTBITS,
- parity=PARITY_NONE,
- stopbits=STOPBITS_ONE)
- self.ser.open()
- self.ser.isOpen()
- self.portExist = 1
-
- except Exception, e:
- print 'error'
- return 0
-
- def isInteger(self, x):
- try:
- int(x)
- return True
- except:
- return False
-
- def findIMEI(self):
- self.portInit()
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+GSN\r')
- sleep(0.5)
- self.ser.write('AT+GSN\r')
- result = self.ser.read(25)
- self.IMEI = result[result.find('3'):15+result.find('3')]
-
- else:
- self.IMEI = 'port not found'
- return 0
- def findNumber(self):
- self.portInit()
-
- if self.portExist == 1:
- self.ser.flushInput() #clean the input buffer for serial port
- self.ser.write('AT+CNUM\r')
- sleep(0.5)
- readNum = self.ser.read(35)
-
- self.ser.close()
- firstQuote = readNum.find('"')
- cutString = readNum [firstQuote:]
- secondQuote = cutString.find(',')
- number = cutString[1:secondQuote-1]
-
- if number != '':
- self.number = number
- else:
- self.number = 'number not found'
-
- else:
- self.number = 'port not found'
- return 0
diff --git a/notFinishedCode/tricode/usbDetectClass.pyc b/notFinishedCode/tricode/usbDetectClass.pyc
deleted file mode 100755
index 9bc60bd..0000000
--- a/notFinishedCode/tricode/usbDetectClass.pyc
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/tricode/wait.gif b/notFinishedCode/tricode/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/notFinishedCode/tricode/wait.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/ServerClass.py b/notFinishedCode/web/ServerClass.py
deleted file mode 100644
index 93c2f8e..0000000
--- a/notFinishedCode/web/ServerClass.py
+++ /dev/null
@@ -1,152 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandler:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
- try:
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- self.connection, self.address = self.s.accept()
- self.connected = 1
- self.onceConnected = 1
- return 1
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/web/ServerClassSoftware.py b/notFinishedCode/web/ServerClassSoftware.py
deleted file mode 100644
index 206411e..0000000
--- a/notFinishedCode/web/ServerClassSoftware.py
+++ /dev/null
@@ -1,162 +0,0 @@
-import socket
-import sys
-import os
-import string
-import signal
-
-class TimeoutException(Exception):
- pass
-
-class ServerHandlerSoftware:
-
- def __init__(self,p):
- self.port = p
- self.host = None #symbolic name meaning all available interfaces
- self.s = None
- self.connected = 0
- self.address = "127.0.0.1" #address of the main controller
- self.onceConnected = 0
- self.error = 'No error'
-
- self.debugMode = 0
-
- def openSocket(self, timeoutVar):
- self.error = 'No error'
- for res in socket.getaddrinfo(self.host, self.port, socket.AF_UNSPEC,
- socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
- af, socktype, proto, canonname, sa = res
-
-
- try:
-
- self.s = socket.socket(af, socktype, proto)
- self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #this resolves the bug with live packets
- self.s.settimeout(timeoutVar)
-
- except socket.error, msg:
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- try:
- self.s.bind(sa)
- self.s.listen(1)
-
- except socket.error, msg:
- self.s.close()
- self.s = None
- self.connected = 0
- self.error = str(msg)
- continue
-
- break
-
- if self.s is None:
- self.connected = 0
- return 0
- else: #accept the connection
- try:
- self.connection, self.address = self.s.accept()
- self.s.settimeout(0)
- self.connected = 1
- self.onceConnected = 1
- return 1
- except socket.timeout:
- return 'TIMEOUT'
-
- def connectedTo(self):
- return self.address
-
- def receiveData(self, timeout):
- if self.connected == 1:
-
- def timeout_handler(signum, frame):
- raise TimeoutException()
-
- try:
-
- old_handler = signal.signal(signal.SIGALRM, timeout_handler)
- signal.alarm(timeout) #start the timeout alarm, for timeout seconds
-
- data = self.connection.recv(1024)
-
- #stop the timeout function
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if not data:
- self.connected = 0
- return 'NO DATA'
- else:
- return data
-
- except TimeoutException:
- #timeout happened
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
- return 'TIMEOUT'
-
- except Exception, e:
- #stop the timeout timer
- signal.signal(signal.SIGALRM, old_handler)
- signal.alarm(0)
-
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connected = 0
- if error[0:11] == '[Errno 104]':
- return 3 #the other side reset the connection,[Errno 104] Connection reset by peer
-
- return 2
- else:
- return 0
-
- def sendData(self, data):
- if self.connected == 1:
- try:
- self.connection.send(data)
- return 1
-
- except Exception, e:
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- self.connecected = 0
- return 2
- else:
- return 0
-
- def closeConnection(self):
- if self.onceConnected == 1:
- try:
- self.connected = 0
- SHUT_RDWR = 2
- self.connection.shutdown(SHUT_RDWR)
- self.connection.close()
- return 1
- except Exception, e:
- self.connected = 0
- error = str(e)
- if self.debugMode == 1:
- import traceback
- print traceback.format_exc()
- print e
- if error[0:11] == '[Errno 107]':
- return 3 #the other side closed the connection before us [Errno 107] Transport endpoint is not connected
- return 2
- else:
- return 0
-
- def killPort(self):
- killResult = os.popen('lsof -i tcp:' + str(self.port) + ' | grep "python " | awk -F" " ' + "'{print $2}'").read()
- killResult = killResult.replace('\n','')
- print killResult
- if killResult!='':
- print killResult
- killPort = os.popen("kill -9 " + killResult).read()
- return 1
- return 0
diff --git a/notFinishedCode/web/ajax.php b/notFinishedCode/web/ajax.php
deleted file mode 100644
index ed8f4b6..0000000
--- a/notFinishedCode/web/ajax.php
+++ /dev/null
@@ -1,167 +0,0 @@
-
-<head> <title> Results page </title> <style>
-/* -------------------------------------------------------
-Author: Vitaly Friedman
-Theme: Green Life - A Fresh, Warm and Readable Table
-URL: http://www.alvit.de/vf
--------------------------------------------------------
-*/
-
- table {
- font: 11px verdana,verdana, arial;
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- text-align: left;
- color: #333;
- line-height: 19px;
- }
-
- caption {
- font-size: 14px;
- font-weight: bold;
- margin-bottom: 20px;
- text-align: left;
- text-transform: uppercase;
- }
-
- td {
- margin: 0;
- padding: 20px 10px;
- border: 1px dotted #f5f5f5;
- }
-
-
- th {
- font-weight: normal;
- text-transform: uppercase;
- }
-
- thead tr th {
- background-color: #575757;
- padding: 20px 10px;
- color: #fff;
- font-weight: bold;
- border-right: 2px solid #333;
- text-transform: uppercase;
- text-align:center;
- }
-
- tfoot tr th, tfoot tr td {
- background-color: transparent;
- padding: 20px 10px;
- color: #ccc;
- border-top: 1px solid #ccc;
- }
-
- tbody tr th {
- padding: 20px 10px;
- border-bottom: 1px dotted #fafafa;
- }
-
- tr {
- background-color: #FBFDF6;
- }
- tr.odd {
- background-color: #EDF7DC;
- }
-
- tr:hover {
- }
-
- tr:hover td, tr:hover td a, tr:hover th a {
- color: #a10000;
- }
-
- td:hover {
- }
-
- tr:hover th a:hover {
- background-color: #F7FBEF;
- border-bottom: 2px solid #86C200;
- }
-
- table a {
- color: #608117;
- background-image: none;
- text-decoration: none;
- border-bottom: 1px dotted #8A8F95;
- padding: 2px;
- padding-right: 12px; background: transparent url(http://www.alvit.de/vf/csstablegallery/link.gif) no-repeat 100% 50%;
- }
-
- table a:hover {
- color: #BBC4CD;
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/link.gif) no-repeat 100% 50%;
- }
-
- table a:visited {
- text-decoration: none;
- border-bottom: 1px dotted #333;
- text-decoration: none;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/visitedLink.gif) no-repeat 100% 50%;
- }
-
- table a:visited:hover {
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(http://www.alvit.de/vf/csstablegallery/visitedLink.gif) no-repeat 100% 50%;
- }
-</style>
-<html>
-<head>
-<title>Simple Ajax Example</title>
-<script language="Javascript">
-function xmlhttpPost(strURL) {
- var xmlHttpReq = false;
- var self = this;
-
- // Mozilla/Safari
- if (window.XMLHttpRequest) {
- self.xmlHttpReq = new XMLHttpRequest();
- }
- // IE
- else if (window.ActiveXObject) {
- self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
- }
-
- self.xmlHttpReq.open('POST', strURL, true);
- self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- updatepage('<img src="loader.gif" alt="Loading"/>');
- self.xmlHttpReq.onreadystatechange = function() {
- if (self.xmlHttpReq.readyState == 3) {
- updatepage(self.xmlHttpReq.responseText);
- }
- // updatepage(self.xmlHttpReq.responseText);
- }
- self.xmlHttpReq.send(getquerystring());
-}
-
-function getquerystring() {
- var form = document.forms['f1'];
- var word = form.word.value;
- qstr = 'w=' + escape(word); // NOTE: no '?' before querystring
- return qstr;
-}
-
-function updatepage(str){
- document.getElementById("result").innerHTML = str;
-}
-</script>
-</head>
-<body>
-<form name="f1">
-<p>
- word: <input name="word" type="hidden" value="ludnica?refa?tela">
- <input value="Go" type="button" onclick='JavaScript:xmlhttpPost("/socket2.php")'></p>
- <div id="result"></div>
-</form>
-</body>
-</html>
-
diff --git a/notFinishedCode/web/class/pBarcode128.class.php b/notFinishedCode/web/class/pBarcode128.class.php
deleted file mode 100644
index 07f5db8..0000000
--- a/notFinishedCode/web/class/pBarcode128.class.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
- /*
- pBarcode128 - class to create barcodes (128B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode128
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
-
- /* Class creator */
- function pBarcode128($BasePath="")
- {
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/128B.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."128B.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[1]]["ID"] = $Values[0];
- $this->Codes[$Values[1]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Code"] = $Values[2];
- $this->Reverse[$Values[0]]["Asc"] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode128($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- function encode128($Value,$Format="")
- {
- $this->Result = "11010010000";
- $this->CRC = 104;
- $TextString = "";
-
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( isset($this->Codes[$CharCode]) )
- {
- $this->Result = $this->Result.$this->Codes[$CharCode]["Code"];
- $this->CRC = $this->CRC + $i*$this->Codes[$CharCode]["ID"];
- $TextString = $TextString.chr($CharCode);
- }
- }
- $this->CRC = $this->CRC - floor($this->CRC/103)*103;
-
- $this->Result = $this->Result.$this->Reverse[$this->CRC]["Code"];
- $this->Result = $this->Result."1100011101011";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode128($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pBarcode39.class.php b/notFinishedCode/web/class/pBarcode39.class.php
deleted file mode 100644
index 8d57b71..0000000
--- a/notFinishedCode/web/class/pBarcode39.class.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?php
- /*
- pBarcode39 - class to create barcodes (39B)
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pBarcode39
- {
- var $Codes;
- var $Reverse;
- var $Result;
- var $pChartObject;
- var $CRC;
- var $MOD43;
-
- /* Class creator */
- function pBarcode39($BasePath="",$EnableMOD43=FALSE)
- {
- $this->MOD43 = $EnableMOD43;
- $this->Codes = "";
- $this->Reverse = "";
-
- $FileHandle = @fopen($BasePath."data/39.db", "r");
-
- if (!$FileHandle) { die("Cannot find barcode database (".$BasePath."data/39.db)."); }
-
- while (!feof($FileHandle))
- {
- $Buffer = fgets($FileHandle,4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/;/",$Buffer);
-
- $this->Codes[$Values[0]] = $Values[1];
- }
- fclose($FileHandle);
- }
-
- /* Return the projected size of a barcode */
- function getSize($TextString,$Format="")
- {
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : 12;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
-
- $TextString = $this->encode39($TextString);
- $BarcodeLength = strlen($this->Result);
-
- if ( $DrawArea ) { $WOffset = 20; } else { $WOffset = 0; }
- if ( $ShowLegend ) { $HOffset = $FontSize+$LegendOffset+$WOffset; } else { $HOffset = 0; }
-
- $X1 = cos($Angle * PI / 180) * ($WOffset+$BarcodeLength);
- $Y1 = sin($Angle * PI / 180) * ($WOffset+$BarcodeLength);
-
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * ($HOffset+$Height);
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * ($HOffset+$Height);
-
-
- $AreaWidth = max(abs($X1),abs($X2));
- $AreaHeight = max(abs($Y1),abs($Y2));
-
- return(array("Width"=>$AreaWidth,"Height"=>$AreaHeight));
- }
-
- /* Create the encoded string */
- function encode39($Value)
- {
- $this->Result = "100101101101"."0";
- $TextString = "";
- for($i=1;$i<=strlen($Value);$i++)
- {
- $CharCode = ord($this->mid($Value,$i,1));
- if ( $CharCode >= 97 && $CharCode <= 122 ) { $CharCode = $CharCode - 32; }
-
- if ( isset($this->Codes[chr($CharCode)]) )
- {
- $this->Result = $this->Result.$this->Codes[chr($CharCode)]."0";
- $TextString = $TextString.chr($CharCode);
- }
- }
-
- if ( $this->MOD43 )
- {
- $Checksum = $this->checksum($TextString);
- $this->Result = $this->Result.$this->Codes[$Checksum]."0";
- }
-
- $this->Result = $this->Result."100101101101";
- $TextString = "*".$TextString."*";
-
- return($TextString);
- }
-
- /* Create the encoded string */
- function draw($Object,$Value,$X,$Y,$Format="")
- {
- $this->pChartObject = $Object;
-
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 30;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $ShowLegend = isset($Format["ShowLegend"]) ? $Format["ShowLegend"] : FALSE;
- $LegendOffset = isset($Format["LegendOffset"]) ? $Format["LegendOffset"] : 5;
- $DrawArea = isset($Format["DrawArea"]) ? $Format["DrawArea"] : FALSE;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 255;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 255;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 255;
- $AreaBorderR = isset($Format["AreaBorderR"]) ? $Format["AreaBorderR"] : $AreaR;
- $AreaBorderG = isset($Format["AreaBorderG"]) ? $Format["AreaBorderG"] : $AreaG;
- $AreaBorderB = isset($Format["AreaBorderB"]) ? $Format["AreaBorderB"] : $AreaB;
-
- $TextString = $this->encode39($Value);
-
- if ( $DrawArea )
- {
- $X1 = $X + cos(($Angle-135) * PI / 180) * 10;
- $Y1 = $Y + sin(($Angle-135) * PI / 180) * 10;
-
- $X2 = $X1 + cos($Angle * PI / 180) * (strlen($this->Result)+20);
- $Y2 = $Y1 + sin($Angle * PI / 180) * (strlen($this->Result)+20);
-
- if ( $ShowLegend )
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset+$this->pChartObject->FontSize+10);
- }
- else
- {
- $X3 = $X2 + cos(($Angle+90) * PI / 180) * ($Height+20);
- $Y3 = $Y2 + sin(($Angle+90) * PI / 180) * ($Height+20);
- }
-
- $X4 = $X3 + cos(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
- $Y4 = $Y3 + sin(($Angle+180) * PI / 180) * (strlen($this->Result)+20);
-
- $Polygon = array($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4);
- $Settings = array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"BorderR"=>$AreaBorderR,"BorderG"=>$AreaBorderG,"BorderB"=>$AreaBorderB);
- $this->pChartObject->drawPolygon($Polygon,$Settings);
- }
-
- for($i=1;$i<=strlen($this->Result);$i++)
- {
- if ( $this->mid($this->Result,$i,1) == 1 )
- {
- $X1 = $X + cos($Angle * PI / 180) * $i;
- $Y1 = $Y + sin($Angle * PI / 180) * $i;
- $X2 = $X1 + cos(($Angle+90) * PI / 180) * $Height;
- $Y2 = $Y1 + sin(($Angle+90) * PI / 180) * $Height;
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Settings);
- }
- }
-
- if ( $ShowLegend )
- {
- $X1 = $X + cos($Angle * PI / 180) * (strlen($this->Result)/2);
- $Y1 = $Y + sin($Angle * PI / 180) * (strlen($this->Result)/2);
-
- $LegendX = $X1 + cos(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
- $LegendY = $Y1 + sin(($Angle+90) * PI / 180) * ($Height+$LegendOffset);
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Angle"=>-$Angle,"Align"=>TEXT_ALIGN_TOPMIDDLE);
- $this->pChartObject->drawText($LegendX,$LegendY,$TextString,$Settings);
- }
- }
-
- function checksum( $string )
- {
- $checksum = 0;
- $length = strlen( $string );
- $charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';
-
- for( $i=0; $i < $length; ++$i )
- $checksum += strpos( $charset, $string[$i] );
-
- return substr( $charset, ($checksum % 43), 1 );
- }
-
- function left($value,$NbChar) { return substr($value,0,$NbChar); }
- function right($value,$NbChar) { return substr($value,strlen($value)-$NbChar,$NbChar); }
- function mid($value,$Depart,$NbChar) { return substr($value,$Depart-1,$NbChar); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pBubble.class.php b/notFinishedCode/web/class/pBubble.class.php
deleted file mode 100644
index 483a1f3..0000000
--- a/notFinishedCode/web/class/pBubble.class.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
- /*
- pBubble - class to draw bubble charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pBubble class definition */
- class pBubble
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pBubble($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function bubbleScale($DataSeries,$WeightSeries)
- {
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- /* Parse each data series to find the new min & max boundaries to scale */
- $NewPositiveSerie = ""; $NewNegativeSerie = ""; $MaxValues = 0; $LastPositive = 0; $LastNegative = 0;
- foreach($DataSeries as $Key => $SerieName)
- {
- $SerieWeightName = $WeightSeries[$Key];
-
- $this->pDataObject->setSerieDrawable($SerieWeightName,FALSE);
-
- if ( count($this->pDataObject->Data["Series"][$SerieName]["Data"]) > $MaxValues ) { $MaxValues = count($this->pDataObject->Data["Series"][$SerieName]["Data"]); }
-
- foreach($this->pDataObject->Data["Series"][$SerieName]["Data"] as $Key => $Value)
- {
- if ( $Value >= 0 )
- {
- $BubbleBounds = $Value + $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewPositiveSerie[$Key]) )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
- elseif ( $NewPositiveSerie[$Key] < $BubbleBounds )
- { $NewPositiveSerie[$Key] = $BubbleBounds; }
-
- $LastPositive = $BubbleBounds;
- }
- else
- {
- $BubbleBounds = $Value - $this->pDataObject->Data["Series"][$SerieWeightName]["Data"][$Key];
-
- if ( !isset($NewNegativeSerie[$Key]) )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
- elseif ( $NewNegativeSerie[$Key] > $BubbleBounds )
- { $NewNegativeSerie[$Key] = $BubbleBounds; }
-
- $LastNegative = $BubbleBounds;
- }
- }
- }
-
- /* Check for missing values and all the fake positive serie */
- if ( $NewPositiveSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewPositiveSerie[$i])) { $NewPositiveSerie[$i] = $LastPositive; } }
-
- $this->pDataObject->addPoints($NewPositiveSerie,"BubbleFakePositiveSerie");
- }
-
- /* Check for missing values and all the fake negative serie */
- if ( $NewNegativeSerie != "" )
- {
- for ($i=0; $i<$MaxValues; $i++) { if (!isset($NewNegativeSerie[$i])) { $NewNegativeSerie[$i] = $LastNegative; } }
-
- $this->pDataObject->addPoints($NewNegativeSerie,"BubbleFakeNegativeSerie");
- }
- }
-
- function resetSeriesColors()
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $ID = 0;
- foreach($Data["Series"] as $SerieName => $SeriesParameters)
- {
- if ( $SeriesParameters["isDrawable"] )
- {
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["R"] = $Palette[$ID]["R"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["G"] = $Palette[$ID]["G"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["B"] = $Palette[$ID]["B"];
- $this->pDataObject->Data["Series"][$SerieName]["Color"]["Alpha"] = $Palette[$ID]["Alpha"];
- $ID++;
- }
- }
- }
-
- /* Prepare the scale */
- function drawBubbleChart($DataSeries,$WeightSeries,$Format="")
- {
- $ForceAlpha = isset($Format["ForceAlpha"]) ? $Format["ForceAlpha"] : VOID;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $DrawSquare = isset($Format["DrawSquare"]) ? $Format["DrawSquare"] : FALSE;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( !is_array($DataSeries) ) { $DataSeries = array($DataSeries); }
- if ( !is_array($WeightSeries) ) { $WeightSeries = array($WeightSeries); }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( isset($Data["Series"]["BubbleFakePositiveSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakePositiveSerie",FALSE); }
- if ( isset($Data["Series"]["BubbleFakeNegativeSerie"] ) ) { $this->pDataObject->setSerieDrawable("BubbleFakeNegativeSerie",FALSE); }
-
- $this->resetSeriesColors();
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- foreach($DataSeries as $Key => $SerieName)
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Data["Series"][$SerieName]["Description"])) { $SerieDescription = $Data["Series"][$SerieName]["Description"]; } else { $SerieDescription = $SerieName; }
-
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"]);
-
- if ( $ForceAlpha != VOID ) { $Color["Alpha"]=$ForceAlpha; }
-
- if ( $DrawBorder )
- {
- $Color["BorderAlpha"] = $BorderAlpha;
-
- if ( $Surrounding != NULL )
- { $Color["BorderR"] = $Palette[$Key]["R"]+$Surrounding; $Color["BorderG"] = $Palette[$Key]["G"]+$Surrounding; $Color["BorderB"] = $Palette[$Key]["B"]+$Surrounding; }
- else
- { $Color["BorderR"] = $BorderR; $Color["BorderG"] = $BorderG; $Color["BorderB"] = $BorderB; }
-
- if ( $ForceAlpha != VOID ) { $Color["BorderAlpha"] = $ForceAlpha/2; }
- }
-
- foreach($Data["Series"][$SerieName]["Data"] as $iKey => $Point)
- {
- $Weight = $Point + $Data["Series"][$WeightSeries[$Key]]["Data"][$iKey];
-
- $PosArray = $this->pChartObject->scaleComputeY($Point,array("AxisID"=>$AxisID));
- $WeightArray = $this->pChartObject->scaleComputeY($Weight,array("AxisID"=>$AxisID));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
- $Y = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
- $X = floor($PosArray); $CircleRadius = floor(abs($PosArray - $WeightArray)/2);
-
- if ( $DrawSquare )
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$CircleRadius).",".floor($Y-$CircleRadius).",".floor($X+$CircleRadius).",".floor($Y+$CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledRectangle($X-$CircleRadius,$Y-$CircleRadius,$X+$CircleRadius,$Y+$CircleRadius,$Color);
- }
- else
- {
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($CircleRadius),$this->pChartObject->toHTMLColor($Palette[$Key]["R"],$Palette[$Key]["G"],$Palette[$Key]["B"]),$SerieDescription,$Data["Series"][$WeightSeries[$Key]]["Data"][$iKey]); }
- $this->pChartObject->drawFilledCircle($X,$Y,$CircleRadius,$Color);
- }
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-
- function writeBubbleLabel($SerieName,$SerieWeightName,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[] = $Point; }
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !isset($Data["Series"][$SerieName]) || !isset($Data["Series"][$SerieWeightName]) )
- return(0);
-
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- $AxisID = $Data["Series"][$SerieName]["Axis"];
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $Color = array("R"=>$Data["Series"][$SerieName]["Color"]["R"],"G"=>$Data["Series"][$SerieName]["Color"]["G"],"B"=>$Data["Series"][$SerieName]["Color"]["B"],"Alpha"=>$Data["Series"][$SerieName]["Color"]["Alpha"]);
-
- foreach($Points as $Key => $Point)
- {
- $Value = $Data["Series"][$SerieName]["Data"][$Point];
- $PosArray = $this->pChartObject->scaleComputeY($Value,array("AxisID"=>$AxisID));
-
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Point]) )
- $Abscissa = $Data["Series"][$Data["Abscissa"]]["Data"][$Point]." : ";
- else
- $Abscissa = "";
-
- $Value = $this->pChartObject->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
- $Weight = $Data["Series"][$SerieWeightName]["Data"][$Point];
- $Caption = $Abscissa.$Value." / ".$Weight;
-
- if ( isset($Data["Series"][$SerieName]["Description"]) )
- $Description = $Data["Series"][$SerieName]["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Color,"Caption"=>$Caption);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- $X = floor($X + $Point * $XStep);
- $Y = floor($PosArray);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $X = floor($PosArray);
- $Y = floor($Y + $Point * $YStep);
- }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pCache.class.php b/notFinishedCode/web/class/pCache.class.php
deleted file mode 100644
index 07d1d4e..0000000
--- a/notFinishedCode/web/class/pCache.class.php
+++ /dev/null
@@ -1,280 +0,0 @@
-<?php
- /*
- pCache - speed up the rendering by caching up the pictures
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* pData class definition */
- class pCache
- {
- var $CacheFolder;
- var $CacheIndex;
- var $CacheDB;
-
- /* Class creator */
- function pCache($Settings="")
- {
- $CacheFolder = isset($Settings["CacheFolder"]) ? $Settings["CacheFolder"] : "cache";
- $CacheIndex = isset($Settings["CacheIndex"]) ? $Settings["CacheIndex"] : "index.db";
- $CacheDB = isset($Settings["CacheDB"]) ? $Settings["CacheDB"] : "cache.db";
-
- $this->CacheFolder = $CacheFolder;
- $this->CacheIndex = $CacheIndex;
- $this->CacheDB = $CacheDB;
-
- if (!file_exists($this->CacheFolder."/".$this->CacheIndex)) { touch($this->CacheFolder."/".$this->CacheIndex); }
- if (!file_exists($this->CacheFolder."/".$this->CacheDB)) { touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Flush the cache contents */
- function flush()
- {
- if (file_exists($this->CacheFolder."/".$this->CacheIndex)) { unlink($this->CacheFolder."/".$this->CacheIndex); touch($this->CacheFolder."/".$this->CacheIndex); }
- if (file_exists($this->CacheFolder."/".$this->CacheDB)) { unlink($this->CacheFolder."/".$this->CacheDB); touch($this->CacheFolder."/".$this->CacheDB); }
- }
-
- /* Return the MD5 of the data array to clearly identify the chart */
- function getHash($Data,$Marker="")
- { return(md5($Marker.serialize($Data->Data))); }
-
- /* Write the generated picture to the cache */
- function writeToCache($ID,$pChartObject)
- {
- /* Compute the paths */
- $TemporaryFile = $this->CacheFolder."/tmp_".rand(0,1000).".png";
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Flush the picture to a temporary file */
- imagepng($pChartObject->Picture ,$TemporaryFile);
-
- /* Retrieve the files size */
- $PictureSize = filesize($TemporaryFile);
- $DBSize = filesize($Database);
-
- /* Save the index */
- $Handle = fopen($Index,"a");
- fwrite($Handle, $ID.",".$DBSize.",".$PictureSize.",".time().",0 \r\n");
- fclose($Handle);
-
- /* Get the picture raw contents */
- $Handle = fopen($TemporaryFile,"r");
- $Raw = fread($Handle,$PictureSize);
- fclose($Handle);
-
- /* Save the picture in the solid database file */
- $Handle = fopen($Database,"a");
- fwrite($Handle, $Raw);
- fclose($Handle);
-
- /* Remove temporary file */
- unlink($TemporaryFile);
- }
-
- /* Remove object older than the specified TS */
- function removeOlderThan($Expiry)
- { $this->dbRemoval(array("Expiry"=>$Expiry)); }
-
- /* Remove an object from the cache */
- function remove($ID)
- { $this->dbRemoval(array("Name"=>$ID)); }
-
- /* Remove with specified criterias */
- function dbRemoval($Settings)
- {
- $ID = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Expiry = isset($Settings["Expiry"]) ? $Settings["Expiry"] : -(24*60*60);
- $TS = time()-$Expiry;
-
- /* Compute the paths */
- $Database = $this->CacheFolder."/".$this->CacheDB;
- $Index = $this->CacheFolder."/".$this->CacheIndex;
- $DatabaseTemp = $this->CacheFolder."/".$this->CacheDB.".tmp";
- $IndexTemp = $this->CacheFolder."/".$this->CacheIndex.".tmp";
-
- /* Single file removal */
- if ( $ID != NULL )
- {
- /* Retrieve object informations */
- $Object = $this->isInCache($ID,TRUE);
-
- /* If it's not in the cache DB, go away */
- if ( !$Object ) { return(0); }
- }
-
- /* Create the temporary files */
- if (!file_exists($DatabaseTemp)) { touch($DatabaseTemp); }
- if (!file_exists($IndexTemp)) { touch($IndexTemp); }
-
- /* Open the file handles */
- $IndexHandle = @fopen($Index, "r");
- $IndexTempHandle = @fopen($IndexTemp, "w");
- $DBHandle = @fopen($Database, "r");
- $DBTempHandle = @fopen($DatabaseTemp, "w");
-
- /* Remove the selected ID from the database */
- while (!feof($IndexHandle))
- {
- $Entry = fgets($IndexHandle, 4096);
- $Entry = str_replace("\r","",$Entry);
- $Entry = str_replace("\n","",$Entry);
- $Settings = preg_split("/,/",$Entry);
-
- if ( $Entry != "" )
- {
- $PicID = $Settings[0];
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = $Settings[4];
-
- if ( $Settings[0] != $ID && $GeneratedTS > $TS)
- {
- $CurrentPos = ftell($DBTempHandle);
- fwrite($IndexTempHandle, $PicID.",".$CurrentPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
-
- fseek($DBHandle,$DBPos);
- $Picture = fread($DBHandle,$PicSize);
- fwrite($DBTempHandle,$Picture);
- }
- }
- }
-
- /* Close the handles */
- fclose($IndexHandle);
- fclose($IndexTempHandle);
- fclose($DBHandle);
- fclose($DBTempHandle);
-
- /* Remove the prod files */
- unlink($Database);
- unlink($Index);
-
- /* Swap the temp & prod DB */
- rename($DatabaseTemp,$Database);
- rename($IndexTemp,$Index);
- }
-
- function isInCache($ID,$Verbose=FALSE,$UpdateHitsCount=FALSE)
- {
- /* Compute the paths */
- $Index = $this->CacheFolder."/".$this->CacheIndex;
-
- /* Search the picture in the index file */
- $Handle = @fopen($Index, "r");
- while (!feof($Handle))
- {
- $IndexPos = ftell($Handle);
- $Entry = fgets($Handle, 4096);
- if ( $Entry != "" )
- {
- $Settings = preg_split("/,/",$Entry);
- $PicID = $Settings[0];
- if ( $PicID == $ID )
- {
- fclose($Handle);
-
- $DBPos = $Settings[1];
- $PicSize = $Settings[2];
- $GeneratedTS = $Settings[3];
- $Hits = intval($Settings[4]);
-
- if ( $UpdateHitsCount )
- {
- $Hits++;
- if ( strlen($Hits) < 7 ) { $Hits = $Hits.str_repeat(" ",7-strlen($Hits)); }
-
- $Handle = @fopen($Index, "r+");
- fseek($Handle,$IndexPos);
- fwrite($Handle, $PicID.",".$DBPos.",".$PicSize.",".$GeneratedTS.",".$Hits."\r\n");
- fclose($Handle);
- }
-
- if ($Verbose)
- { return(array("DBPos"=>$DBPos,"PicSize"=>$PicSize,"GeneratedTS"=>$GeneratedTS,"Hits"=>$Hits)); }
- else
- { return(TRUE); }
- }
- }
- }
- fclose($Handle);
-
- /* Picture isn't in the cache */
- return(FALSE);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($ID,$Destination="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->saveFromCache($ID,$Destination);
- else
- $this->strokeFromCache($ID);
- }
-
- function strokeFromCache($ID)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- header('Content-type: image/png');
- echo $Picture;
-
- return(TRUE);
- }
-
- function saveFromCache($ID,$Destination)
- {
- /* Get the raw picture from the cache */
- $Picture = $this->getFromCache($ID);
-
- /* Do we have a hit? */
- if ( $Picture == NULL ) { return(FALSE); }
-
- /* Flush the picture to a file */
- $Handle = fopen($Destination,"w");
- fwrite($Handle,$Picture);
- fclose($Handle);
-
- /* All went fine */
- return(TRUE);
- }
-
- function getFromCache($ID)
- {
- /* Compute the path */
- $Database = $this->CacheFolder."/".$this->CacheDB;
-
- /* Lookup for the picture in the cache */
- $CacheInfo = $this->isInCache($ID,TRUE,TRUE);
-
- /* Not in the cache */
- if (!$CacheInfo) { return(NULL); }
-
- /* Get the database extended information */
- $DBPos = $CacheInfo["DBPos"];
- $PicSize = $CacheInfo["PicSize"];
-
- /* Extract the picture from the solid cache file */
- $Handle = @fopen($Database, "r");
- fseek($Handle,$DBPos);
- $Picture = fread($Handle,$PicSize);
- fclose($Handle);
-
- /* Return back the raw picture data */
- return($Picture);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pData.class.php b/notFinishedCode/web/class/pData.class.php
deleted file mode 100644
index 9cfbc3f..0000000
--- a/notFinishedCode/web/class/pData.class.php
+++ /dev/null
@@ -1,723 +0,0 @@
-<?php
- /*
- pDraw - class to manipulate data arrays
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Axis configuration */
- define("AXIS_FORMAT_DEFAULT" , 680001);
- define("AXIS_FORMAT_TIME" , 680002);
- define("AXIS_FORMAT_DATE" , 680003);
- define("AXIS_FORMAT_METRIC" , 680004);
- define("AXIS_FORMAT_CURRENCY" , 680005);
-
- /* Axis position */
- define("AXIS_POSITION_LEFT" , 681001);
- define("AXIS_POSITION_RIGHT" , 681002);
- define("AXIS_POSITION_TOP" , 681001);
- define("AXIS_POSITION_BOTTOM" , 681002);
-
- /* Families of data points */
- define("SERIE_SHAPE_FILLEDCIRCLE" , 681011);
- define("SERIE_SHAPE_FILLEDTRIANGLE" , 681012);
- define("SERIE_SHAPE_FILLEDSQUARE" , 681013);
- define("SERIE_SHAPE_FILLEDDIAMOND" , 681017);
- define("SERIE_SHAPE_CIRCLE" , 681014);
- define("SERIE_SHAPE_TRIANGLE" , 681015);
- define("SERIE_SHAPE_SQUARE" , 681016);
- define("SERIE_SHAPE_DIAMOND" , 681018);
-
- /* Axis position */
- define("AXIS_X" , 682001);
- define("AXIS_Y" , 682002);
-
- /* Define value limits */
- define("ABSOLUTE_MIN" , -10000000000000);
- define("ABSOLUTE_MAX" , 10000000000000);
-
- /* Replacement to the PHP NULL keyword */
- define("VOID" , 0.123456789);
-
- /* pData class definition */
- class pData
- {
- var $Data;
-
- var $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>176,"G"=>46,"B"=>224,"Alpha"=>100),
- "5"=>array("R"=>224,"G"=>46,"B"=>117,"Alpha"=>100),
- "6"=>array("R"=>92,"G"=>224,"B"=>46,"Alpha"=>100),
- "7"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Class creator */
- function pData()
- {
- $this->Data = "";
- $this->Data["XAxisDisplay"] = AXIS_FORMAT_DEFAULT;
- $this->Data["XAxisFormat"] = NULL;
- $this->Data["XAxisName"] = NULL;
- $this->Data["XAxisUnit"] = NULL;
- $this->Data["Abscissa"] = NULL;
- $this->Data["Axis"][0]["Display"] = AXIS_FORMAT_DEFAULT;
- $this->Data["Axis"][0]["Position"] = AXIS_POSITION_LEFT;
- $this->Data["Axis"][0]["Identity"] = AXIS_Y;
- }
-
- /* Add a single point or an array to the given serie */
- function addPoints($Values,$SerieName="Serie1")
- {
- if (!isset($this->Data["Series"][$SerieName]))
- $this->initialise($SerieName);
-
- if ( is_array($Values) )
- {
- foreach($Values as $Key => $Value)
- { $this->Data["Series"][$SerieName]["Data"][] = $Value; }
- }
- else
- $this->Data["Series"][$SerieName]["Data"][] = $Values;
-
- if ( $Values != VOID )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Strip VOID values */
- function stripVOID($Values)
- { $Result = array(); foreach($Values as $Key => $Value) { if ( $Value != VOID ) { $Result[] = $Value; } } return($Result); }
-
- /* Return the number of values contained in a given serie */
- function getSerieCount($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return(sizeof($this->Data["Series"][$Serie]["Data"])); } else { return(0); } }
-
- /* Remove a serie from the pData object */
- function removeSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie])) { unset($this->Data["Series"][$Serie]); } }
- }
-
- /* Return a value from given serie & index */
- function getValueAt($Serie,$Index=0)
- { if (isset($this->Data["Series"][$Serie]["Data"][$Index])) { return($this->Data["Series"][$Serie]["Data"][$Index]); } else { return(NULL); } }
-
- /* Return the values array */
- function getValues($Serie)
- { if (isset($this->Data["Series"][$Serie]["Data"])) { return($this->Data["Series"][$Serie]["Data"]); } else { return(NULL); } }
-
- /* Reverse the values in the given serie */
- function reverseSerie($Series)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]["Data"])) { $this->Data["Series"][$Serie]["Data"] = array_reverse($this->Data["Series"][$Serie]["Data"]); } }
- }
-
- /* Return the sum of the serie values */
- function getSum($Serie)
- { if (isset($this->Data["Series"][$Serie])) { return(array_sum($this->Data["Series"][$Serie]["Data"])); } else { return(NULL); } }
-
- /* Return the max value of a given serie */
- function getMax($Serie)
- { if (isset($this->Data["Series"][$Serie]["Max"])) { return($this->Data["Series"][$Serie]["Max"]); } else { return(NULL); } }
-
- /* Return the min value of a given serie */
- function getMin($Serie)
- { if (isset($this->Data["Series"][$Serie]["Min"])) { return($this->Data["Series"][$Serie]["Min"]); } else { return(NULL); } }
-
- /* Set the description of a given serie */
- function setSerieShape($Series,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Shape"] = $Shape; } }
- }
-
- /* Set the description of a given serie */
- function setSerieDescription($Series,$Description="My serie")
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Description"] = $Description; } }
- }
-
- /* Set a serie as "drawable" while calling a rendering function */
- function setSerieDrawable($Series,$Drawable=TRUE)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["isDrawable"] = $Drawable; } }
- }
-
- /* Set the icon associated to a given serie */
- function setSeriePicture($Series,$Picture=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if (isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Picture"] = $Picture; } }
- }
-
- /* Set the name of the X Axis */
- function setXAxisName($Name)
- { $this->Data["XAxisName"] = $Name; }
-
- /* Set the display mode of the X Axis */
- function setXAxisDisplay($Mode,$Format=NULL)
- { $this->Data["XAxisDisplay"] = $Mode; $this->Data["XAxisFormat"] = $Format; }
-
- /* Set the unit that will be displayed on the X axis */
- function setXAxisUnit($Unit)
- { $this->Data["XAxisUnit"] = $Unit; }
-
- /* Set the serie that will be used as abscissa */
- function setAbscissa($Serie)
- { if (isset($this->Data["Series"][$Serie])) { $this->Data["Abscissa"] = $Serie; } }
-
- /* Set the name of the abscissa axis */
- function setAbscissaName($Name)
- { $this->Data["AbscissaName"] = $Name; }
-
- /* Create a scatter group specifyin X and Y data series */
- function setScatterSerie($SerieX,$SerieY,$ID=0)
- { if (isset($this->Data["Series"][$SerieX]) && isset($this->Data["Series"][$SerieY]) ) { $this->initScatterSerie($ID); $this->Data["ScatterSeries"][$ID]["X"] = $SerieX; $this->Data["ScatterSeries"][$ID]["Y"] = $SerieY; } }
-
- /* Set the shape of a given sctatter serie */
- function setScatterSerieShape($ID,$Shape=SERIE_SHAPE_FILLEDCIRCLE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Shape"] = $Shape; } }
-
- /* Set the description of a given scatter serie */
- function setScatterSerieDescription($ID,$Description="My serie")
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Description"] = $Description; } }
-
- /* Set the icon associated to a given scatter serie */
- function setScatterSeriePicture($ID,$Picture=NULL)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Picture"] = $Picture; } }
-
- /* Set a scatter serie as "drawable" while calling a rendering function */
- function setScatterSerieDrawable($ID ,$Drawable=TRUE)
- { if (isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["isDrawable"] = $Drawable; } }
-
- /* Define if a scatter serie should be draw with ticks */
- function setScatterSerieTicks($ID,$Width=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Ticks"] = $Width; } }
-
- /* Define if a scatter serie should be draw with a special weight */
- function setScatterSerieWeight($ID,$Weight=0)
- { if ( isset($this->Data["ScatterSeries"][$ID]) ) { $this->Data["ScatterSeries"][$ID]["Weight"] = $Weight; } }
-
- /* Associate a color to a scatter serie */
- function setScatterSerieColor($ID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["ScatterSeries"][$ID]) )
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = $R;
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = $G;
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = $B;
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
- /* Compute the series limits for an individual and global point of view */
- function limits()
- {
- $GlobalMin = ABSOLUTE_MAX;
- $GlobalMax = ABSOLUTE_MIN;
-
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"] == TRUE)
- {
- if ( $GlobalMin > $this->Data["Series"][$Key]["Min"] ) { $GlobalMin = $this->Data["Series"][$Key]["Min"]; }
- if ( $GlobalMax < $this->Data["Series"][$Key]["Max"] ) { $GlobalMax = $this->Data["Series"][$Key]["Max"]; }
- }
- }
- $this->Data["Min"] = $GlobalMin;
- $this->Data["Max"] = $GlobalMax;
-
- return(array($GlobalMin,$GlobalMax));
- }
-
- /* Mark all series as drawable */
- function drawAll()
- { foreach($this->Data["Series"] as $Key => $Value) { if ( $this->Data["Abscissa"] != $Key ) { $this->Data["Series"][$Key]["isDrawable"]=TRUE; } } }
-
- /* Return the average value of the given serie */
- function getSerieAverage($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- return(array_sum($SerieData)/sizeof($SerieData));
- }
- else
- return(NULL);
- }
-
- /* Return the geometric mean of the given serie */
- function getGeometricMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 1; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum * $Value; }
- return(pow($Seriesum,1/sizeof($SerieData)));
- }
- else
- return(NULL);
- }
-
- /* Return the harmonic mean of the given serie */
- function getHarmonicMean($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- $Seriesum = 0; foreach($SerieData as $Key => $Value) { $Seriesum = $Seriesum + 1/$Value; }
- return(sizeof($SerieData)/$Seriesum);
- }
- else
- return(NULL);
- }
-
- /* Return the standard deviation of the given serie */
- function getStandardDeviation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
-
- $DeviationSum = 0;
- foreach($SerieData as $Key => $Value)
- $DeviationSum = $DeviationSum + ($Value-$Average)*($Value-$Average);
-
- $Deviation = sqrt($DeviationSum/count($SerieData));
-
- return($Deviation);
- }
- else
- return(NULL);
- }
-
- /* Return the Coefficient of variation of the given serie */
- function getCoefficientOfVariation($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $Average = $this->getSerieAverage($Serie);
- $StandardDeviation = $this->getStandardDeviation($Serie);
-
- if ( $StandardDeviation != 0 )
- return($StandardDeviation/$Average);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the median value of the given serie */
- function getSerieMedian($Serie)
- {
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $SerieData = $this->stripVOID($this->Data["Series"][$Serie]["Data"]);
- sort($SerieData);
- $SerieCenter = floor(sizeof($SerieData)/2);
-
- if ( isset($SerieData[$SerieCenter]) )
- return($SerieData[$SerieCenter]);
- else
- return(NULL);
- }
- else
- return(NULL);
- }
-
- /* Return the x th percentil of the given serie */
- function getSeriePercentile($Serie="Serie1",$Percentil=95)
- {
- if (!isset($this->Data["Series"][$Serie]["Data"])) { return(NULL); }
-
- $Values = count($this->Data["Series"][$Serie]["Data"])-1;
- if ( $Values < 0 ) { $Values = 0; }
-
- $PercentilID = floor(($Values/100)*$Percentil+.5);
- $SortedValues = $this->Data["Series"][$Serie]["Data"];
- sort($SortedValues);
-
- if ( is_numeric($SortedValues[$PercentilID]) )
- return($SortedValues[$PercentilID]);
- else
- return(NULL);
- }
-
- /* Add random values to a given serie */
- function addRandomValues($SerieName="Serie1",$Options="")
- {
- $Values = isset($Options["Values"]) ? $Options["Values"] : 20;
- $Min = isset($Options["Min"]) ? $Options["Min"] : 0;
- $Max = isset($Options["Max"]) ? $Options["Max"] : 100;
- $withFloat = isset($Options["withFloat"]) ? $Options["withFloat"] : FALSE;
-
- for ($i=0;$i<=$Values;$i++)
- {
- if ( $withFloat ) { $Value = rand($Min*100,$Max*100)/100; } else { $Value = rand($Min,$Max); }
- $this->addPoints($Value,$SerieName);
- }
- }
-
- /* Test if we have valid data */
- function containsData()
- {
- if (!isset($this->Data["Series"])) { return(FALSE); }
-
- $Result = FALSE;
- foreach($this->Data["Series"] as $Key => $Value)
- { if ( $this->Data["Abscissa"] != $Key && $this->Data["Series"][$Key]["isDrawable"]==TRUE) { $Result=TRUE; } }
- return($Result);
- }
-
- /* Set the display mode of an Axis */
- function setAxisDisplay($AxisID,$Mode=AXIS_FORMAT_DEFAULT,$Format=NULL)
- {
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Display"] = $Mode;
- if ( $Format != NULL ) { $this->Data["Axis"][$AxisID]["Format"] = $Format; }
- }
- }
-
- /* Set the position of an Axis */
- function setAxisPosition($AxisID,$Position=AXIS_POSITION_LEFT)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Position"] = $Position; } }
-
- /* Associate an unit to an axis */
- function setAxisUnit($AxisID,$Unit)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Unit"] = $Unit; } }
-
- /* Associate a name to an axis */
- function setAxisName($AxisID,$Name)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Name"] = $Name; } }
-
- /* Associate a color to an axis */
- function setAxisColor($AxisID,$Format)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Axis"][$AxisID] ) )
- {
- $this->Data["Axis"][$AxisID]["Color"]["R"] = $R;
- $this->Data["Axis"][$AxisID]["Color"]["G"] = $G;
- $this->Data["Axis"][$AxisID]["Color"]["B"] = $B;
- $this->Data["Axis"][$AxisID]["Color"]["Alpha"] = $Alpha;
- }
- }
-
-
- /* Design an axis as X or Y member */
- function setAxisXY($AxisID,$Identity=AXIS_Y)
- { if ( isset($this->Data["Axis"][$AxisID] ) ) { $this->Data["Axis"][$AxisID]["Identity"] = $Identity; } }
-
- /* Associate one data serie with one axis */
- function setSerieOnAxis($Series,$AxisID)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie)
- {
- $PreviousAxis = $this->Data["Series"][$Serie]["Axis"];
-
- /* Create missing axis */
- if ( !isset($this->Data["Axis"][$AxisID] ) )
- { $this->Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; $this->Data["Axis"][$AxisID]["Identity"] = AXIS_Y;}
-
- $this->Data["Series"][$Serie]["Axis"] = $AxisID;
-
- /* Cleanup unused axis */
- $Found = FALSE;
- foreach($this->Data["Series"] as $SerieName => $Values) { if ( $Values["Axis"] == $PreviousAxis ) { $Found = TRUE; } }
- if (!$Found) { unset($this->Data["Axis"][$PreviousAxis]); }
- }
- }
-
- /* Define if a serie should be draw with ticks */
- function setSerieTicks($Series,$Width=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Ticks"] = $Width; } }
- }
-
- /* Define if a serie should be draw with a special weight */
- function setSerieWeight($Series,$Weight=0)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
- foreach($Series as $Key => $Serie) { if ( isset($this->Data["Series"][$Serie]) ) { $this->Data["Series"][$Serie]["Weight"] = $Weight; } }
- }
-
- /* Returns the palette of the given serie */
- function getSeriePalette($Serie)
- {
- if ( !isset($this->Data["Series"][$Serie]) ) { return(NULL); }
-
- $Result = "";
- $Result["R"] = $this->Data["Series"][$Serie]["Color"]["R"];
- $Result["G"] = $this->Data["Series"][$Serie]["Color"]["G"];
- $Result["B"] = $this->Data["Series"][$Serie]["Color"]["B"];
- $Result["Alpha"] = $this->Data["Series"][$Serie]["Color"]["Alpha"];
-
- return($Result);
- }
-
- /* Set the color of one serie */
- function setPalette($Series,$Format=NULL)
- {
- if ( !is_array($Series) ) { $Series = $this->convertToArray($Series); }
-
- foreach($Series as $Key => $Serie)
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( isset($this->Data["Series"][$Serie]) )
- {
- $OldR = $this->Data["Series"][$Serie]["Color"]["R"]; $OldG = $this->Data["Series"][$Serie]["Color"]["G"]; $OldB = $this->Data["Series"][$Serie]["Color"]["B"];
- $this->Data["Series"][$Serie]["Color"]["R"] = $R;
- $this->Data["Series"][$Serie]["Color"]["G"] = $G;
- $this->Data["Series"][$Serie]["Color"]["B"] = $B;
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = $Alpha;
-
- /* Do reverse processing on the internal palette array */
- foreach ($this->Palette as $Key => $Value)
- { if ($Value["R"] == $OldR && $Value["G"] == $OldG && $Value["B"] == $OldB) { $this->Palette[$Key]["R"] = $R; $this->Palette[$Key]["G"] = $G; $this->Palette[$Key]["B"] = $B; $this->Palette[$Key]["Alpha"] = $Alpha;} }
- }
- }
- }
-
- /* Load a palette file */
- function loadPalette($FileName,$Overwrite=FALSE)
- {
- if ( !file_exists($FileName) ) { return(-1); }
- if ( $Overwrite ) { $this->Palette = ""; }
-
- $fileHandle = @fopen($FileName, "r");
- if (!$fileHandle) { return(-1); }
- while (!feof($fileHandle))
- {
- $buffer = fgets($fileHandle, 4096);
- if ( preg_match("/,/",$buffer) )
- {
- list($R,$G,$B,$Alpha) = preg_split("/,/",$buffer);
- if ( $this->Palette == "" ) { $ID = 0; } else { $ID = count($this->Palette); }
- $this->Palette[$ID] = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- }
- }
- fclose($fileHandle);
-
- /* Apply changes to current series */
- $ID = 0;
- if ( isset($this->Data["Series"]))
- {
- foreach($this->Data["Series"] as $Key => $Value)
- {
- if ( !isset($this->Palette[$ID]) )
- $this->Data["Series"][$Key]["Color"] = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>0);
- else
- $this->Data["Series"][$Key]["Color"] = $this->Palette[$ID];
- $ID++;
- }
- }
- }
-
- /* Initialise a given scatter serie */
- function initScatterSerie($ID)
- {
- if ( isset($this->Data["ScatterSeries"][$ID]) ) { return(0); }
-
- $this->Data["ScatterSeries"][$ID]["Description"] = "Scatter ".$ID;
- $this->Data["ScatterSeries"][$ID]["isDrawable"] = TRUE;
- $this->Data["ScatterSeries"][$ID]["Picture"] = NULL;
- $this->Data["ScatterSeries"][$ID]["Ticks"] = 0;
- $this->Data["ScatterSeries"][$ID]["Weight"] = 0;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["ScatterSeries"][$ID]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["ScatterSeries"][$ID]["Color"]["R"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["G"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["B"] = rand(0,255);
- $this->Data["ScatterSeries"][$ID]["Color"]["Alpha"] = 100;
- }
- }
-
- /* Initialise a given serie */
- function initialise($Serie)
- {
- if ( isset($this->Data["Series"]) ) { $ID = count($this->Data["Series"]); } else { $ID = 0; }
-
- $this->Data["Series"][$Serie]["Description"] = $Serie;
- $this->Data["Series"][$Serie]["isDrawable"] = TRUE;
- $this->Data["Series"][$Serie]["Picture"] = NULL;
- $this->Data["Series"][$Serie]["Max"] = NULL;
- $this->Data["Series"][$Serie]["Min"] = NULL;
- $this->Data["Series"][$Serie]["Axis"] = 0;
- $this->Data["Series"][$Serie]["Ticks"] = 0;
- $this->Data["Series"][$Serie]["Weight"] = 0;
- $this->Data["Series"][$Serie]["Shape"] = SERIE_SHAPE_FILLEDCIRCLE;
-
- if ( isset($this->Palette[$ID]) )
- $this->Data["Series"][$Serie]["Color"] = $this->Palette[$ID];
- else
- {
- $this->Data["Series"][$Serie]["Color"]["R"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["G"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["B"] = rand(0,255);
- $this->Data["Series"][$Serie]["Color"]["Alpha"] = 100;
- }
- }
-
- function normalize($NormalizationFactor=100,$UnitChange=NULL,$Round=1)
- {
- $Abscissa = $this->Data["Abscissa"];
-
- $SelectedSeries = "";
- $MaxVal = 0;
- foreach($this->Data["Axis"] as $AxisID => $Axis)
- {
- if ( $UnitChange != NULL ) { $this->Data["Axis"][$AxisID]["Unit"] = $UnitChange; }
-
- foreach($this->Data["Series"] as $SerieName => $Serie)
- {
- if ($Serie["Axis"] == $AxisID && $Serie["isDrawable"] == TRUE && $SerieName != $Abscissa)
- {
- $SelectedSeries[$SerieName] = $SerieName;
-
- if ( count($Serie["Data"] ) > $MaxVal ) { $MaxVal = count($Serie["Data"]); }
- }
- }
- }
-
- for($i=0;$i<=$MaxVal-1;$i++)
- {
- $Factor = 0;
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
- if ( $Value != VOID )
- $Factor = $Factor + abs($Value);
- }
-
- if ( $Factor != 0 )
- {
- $Factor = $NormalizationFactor / $Factor;
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $Value = $this->Data["Series"][$SerieName]["Data"][$i];
-
- if ( $Value != VOID && $Factor != $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = round(abs($Value)*$Factor,$Round);
- elseif ( $Value == VOID || $Value == 0 )
- $this->Data["Series"][$SerieName]["Data"][$i] = VOID;
- elseif ( $Factor == $NormalizationFactor )
- $this->Data["Series"][$SerieName]["Data"][$i] = $NormalizationFactor;
- }
- }
- }
-
- foreach ($SelectedSeries as $Key => $SerieName )
- {
- $this->Data["Series"][$SerieName]["Max"] = max($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- $this->Data["Series"][$SerieName]["Min"] = min($this->stripVOID($this->Data["Series"][$SerieName]["Data"]));
- }
- }
-
- /* Load data from a CSV (or similar) data source */
- function importFromCSV($FileName,$Options="")
- {
- $Delimiter = isset($Options["Delimiter"]) ? $Options["Delimiter"] : ",";
- $GotHeader = isset($Options["GotHeader"]) ? $Options["GotHeader"] : FALSE;
- $SkipColumns = isset($Options["SkipColumns"]) ? $Options["SkipColumns"] : array(-1);
- $DefaultSerieName = isset($Options["DefaultSerieName"]) ? $Options["DefaultSerieName"] : "Serie";
-
- $Handle = @fopen($FileName,"r");
- if ($Handle)
- {
- $HeaderParsed = FALSE; $SerieNames = "";
- while (!feof($Handle))
- {
- $Buffer = fgets($Handle, 4096);
- $Buffer = str_replace(chr(10),"",$Buffer);
- $Buffer = str_replace(chr(13),"",$Buffer);
- $Values = preg_split("/".$Delimiter."/",$Buffer);
-
- if ( $Buffer != "" )
- {
- if ( $GotHeader && !$HeaderParsed )
- {
- foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $Name; } }
- $HeaderParsed = TRUE;
- }
- else
- {
- if ($SerieNames == "" ) { foreach($Values as $Key => $Name) { if ( !in_array($Key,$SkipColumns) ) { $SerieNames[$Key] = $DefaultSerieName.$Key; } } }
- foreach($Values as $Key => $Value) { if ( !in_array($Key,$SkipColumns) ) { $this->addPoints($Value,$SerieNames[$Key]); } }
- }
- }
- }
- fclose($Handle);
- }
- }
-
- /* Return the data & configuration of the series */
- function getData()
- { return($this->Data); }
-
- /* Save a palette element */
- function savePalette($ID,$Color)
- { $this->Palette[$ID] = $Color; }
-
- /* Return the palette of the series */
- function getPalette()
- { return($this->Palette); }
-
- /* Called by the scaling algorithm to save the config */
- function saveAxisConfig($Axis) { $this->Data["Axis"]=$Axis; }
-
- /* Save the Y Margin if set */
- function saveYMargin($Value) { $this->Data["YMargin"]=$Value; }
-
- /* Save extended configuration to the pData object */
- function saveExtendedData($Tag,$Values) { $this->Data["Extended"][$Tag]=$Values; }
-
- /* Called by the scaling algorithm to save the orientation of the scale */
- function saveOrientation($Orientation) { $this->Data["Orientation"]=$Orientation; }
-
- /* Convert a string to a single elements array */
- function convertToArray($Value)
- { $Values = ""; $Values[] = $Value; return($Values); }
-
- /* Class string wrapper */
- function __toString()
- { return("pData object."); }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pDraw.class.php b/notFinishedCode/web/class/pDraw.class.php
deleted file mode 100644
index 85e408e..0000000
--- a/notFinishedCode/web/class/pDraw.class.php
+++ /dev/null
@@ -1,5799 +0,0 @@
-<?php
- /*
- pDraw - class extension with drawing methods
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("DIRECTION_VERTICAL" , 690001);
- define("DIRECTION_HORIZONTAL" , 690002);
-
- define("SCALE_POS_LEFTRIGHT" , 690101);
- define("SCALE_POS_TOPBOTTOM" , 690102);
-
- define("SCALE_MODE_FLOATING" , 690201);
- define("SCALE_MODE_START0" , 690202);
- define("SCALE_MODE_ADDALL" , 690203);
- define("SCALE_MODE_ADDALL_START0" , 690204);
- define("SCALE_MODE_MANUAL" , 690205);
-
- define("SCALE_SKIP_NONE" , 690301);
- define("SCALE_SKIP_SAME" , 690302);
- define("SCALE_SKIP_NUMBERS" , 690303);
-
- define("TEXT_ALIGN_TOPLEFT" , 690401);
- define("TEXT_ALIGN_TOPMIDDLE" , 690402);
- define("TEXT_ALIGN_TOPRIGHT" , 690403);
- define("TEXT_ALIGN_MIDDLELEFT" , 690404);
- define("TEXT_ALIGN_MIDDLEMIDDLE" , 690405);
- define("TEXT_ALIGN_MIDDLERIGHT" , 690406);
- define("TEXT_ALIGN_BOTTOMLEFT" , 690407);
- define("TEXT_ALIGN_BOTTOMMIDDLE" , 690408);
- define("TEXT_ALIGN_BOTTOMRIGHT" , 690409);
-
- define("POSITION_TOP" , 690501);
- define("POSITION_BOTTOM" , 690502);
-
- define("LABEL_POS_LEFT" , 690601);
- define("LABEL_POS_CENTER" , 690602);
- define("LABEL_POS_RIGHT" , 690603);
- define("LABEL_POS_TOP" , 690604);
- define("LABEL_POS_BOTTOM" , 690605);
- define("LABEL_POS_INSIDE" , 690606);
- define("LABEL_POS_OUTSIDE" , 690607);
-
- define("ORIENTATION_HORIZONTAL" , 690701);
- define("ORIENTATION_VERTICAL" , 690702);
-
- define("LEGEND_NOBORDER" , 690800);
- define("LEGEND_BOX" , 690801);
- define("LEGEND_ROUND" , 690802);
-
- define("LEGEND_VERTICAL" , 690901);
- define("LEGEND_HORIZONTAL" , 690902);
-
- define("LEGEND_FAMILY_BOX" , 691051);
- define("LEGEND_FAMILY_CIRCLE" , 691052);
- define("LEGEND_FAMILY_LINE" , 691053);
-
- define("DISPLAY_AUTO" , 691001);
- define("DISPLAY_MANUAL" , 691002);
-
- define("LABELING_ALL" , 691011);
- define("LABELING_DIFFERENT" , 691012);
-
- define("BOUND_MIN" , 691021);
- define("BOUND_MAX" , 691022);
- define("BOUND_BOTH" , 691023);
-
- define("BOUND_LABEL_POS_TOP" , 691031);
- define("BOUND_LABEL_POS_BOTTOM" , 691032);
- define("BOUND_LABEL_POS_AUTO" , 691033);
-
- define("CAPTION_LEFT_TOP" , 691041);
- define("CAPTION_RIGHT_BOTTOM" , 691042);
-
- define("GRADIENT_SIMPLE" , 691051);
- define("GRADIENT_EFFECT_CAN" , 691052);
-
- define("LABEL_TITLE_NOBACKGROUND" , 691061);
- define("LABEL_TITLE_BACKGROUND" , 691062);
-
- define("LABEL_POINT_NONE" , 691071);
- define("LABEL_POINT_CIRCLE" , 691072);
- define("LABEL_POINT_BOX" , 691073);
-
- define("PI" , 3.14159265);
- define("ALL" , 69);
- define("NONE" , 31);
- define("AUTO" , 690000);
- define("OUT_OF_SIGHT" , -10000000000000);
-
- class pDraw
- {
- /* Returns the number of drawable series */
- function countDrawableSeries()
- {
- $Results = 0;
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- { if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] ) { $Results++; } }
-
- return($Results);
- }
-
- /* Fix box coordinates */
- function fixBoxCoordinates($Xa,$Ya,$Xb,$Yb)
- {
- $X1 = min($Xa,$Xb); $Y1 = min($Ya,$Yb);
- $X2 = max($Xa,$Xb); $Y2 = max($Ya,$Yb);
-
- return(array($X1,$Y1,$X2,$Y2));
- }
-
- /* Draw a polygon */
- function drawPolygon($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $SkipX = isset($Format["SkipX"]) ? $Format["SkipX"] : OUT_OF_SIGHT;
- $SkipY = isset($Format["SkipY"]) ? $Format["SkipY"] : OUT_OF_SIGHT;
-
- /* Calling the ImageFilledPolygon() function over the $Points array will round it */
- $Backup = $Points;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ( $SkipX != OUT_OF_SIGHT ) { $SkipX = floor($SkipX); }
- if ( $SkipY != OUT_OF_SIGHT ) { $SkipY = floor($SkipY); }
-
- $RestoreShadow = $this->Shadow;
- if ( !$NoFill )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- { $Shadow[] = $Points[$i] + $this->ShadowX; $Shadow[] = $Points[$i+1] + $this->ShadowY; }
- $this->drawPolygon($Shadow,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"NoBorder"=>TRUE));
- }
-
- $FillColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
-
- if ( count($Points) >= 6 )
- { ImageFilledPolygon($this->Picture,$Points,count($Points)/2,$FillColor); }
- }
-
- if ( !$NoBorder )
- {
- $Points = $Backup;
-
- if ( $NoFill )
- $BorderSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- else
- $BorderSettings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- for($i=0;$i<=count($Points)-1;$i=$i+2)
- {
- if ( isset($Points[$i+2]) )
- {
- if ( !($Points[$i] == $Points[$i+2] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[$i+3] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[$i+2],$Points[$i+3],$BorderSettings);
- }
- else
- {
- if ( !($Points[$i] == $Points[0] && $Points[$i] == $SkipX ) && !($Points[$i+1] == $Points[1] && $Points[$i+1] == $SkipY ) )
- $this->drawLine($Points[$i],$Points[$i+1],$Points[0],$Points[1],$BorderSettings);
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Apply AALias correction to the rounded box boundaries */
- function offsetCorrection($Value,$Mode)
- {
- $Value = round($Value,1);
-
- if ( $Value == 0 && $Mode == 1 ) { return(.9); }
- if ( $Value == 0 ) { return(0); }
-
- if ( $Mode == 1)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.9); }; if ( $Value == .2 ) { return(.8); }; if ( $Value == .3 ) { return(.8); }; if ( $Value == .4 ) { return(.7); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.6); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 2)
- { if ( $Value == 1 ) { return(.9); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.5); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.8); }; if ( $Value == .9 ) { return(.9); }; }
-
- if ( $Mode == 3)
- { if ( $Value == 1 ) { return(.1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.4); }; if ( $Value == .5 ) { return(.9); }; if ( $Value == .6 ) { return(.6); }; if ( $Value == .7 ) { return(.7); }; if ( $Value == .8 ) { return(.4); }; if ( $Value == .9 ) { return(.5); }; }
-
- if ( $Mode == 4)
- { if ( $Value == 1 ) { return(-1); }; if ( $Value == .1 ) { return(.1); }; if ( $Value == .2 ) { return(.2); }; if ( $Value == .3 ) { return(.3); }; if ( $Value == .4 ) { return(.1); }; if ( $Value == .5 ) { return(-.1); }; if ( $Value == .6 ) { return(.8); }; if ( $Value == .7 ) { return(.1); }; if ( $Value == .8 ) { return(.1); }; if ( $Value == .9 ) { return(.1); }; }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1))/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1))/2); }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- if ( $this->Antialias )
- {
- $this->drawLine($X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- $this->drawLine($X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- $this->drawLine($X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- $this->drawLine($X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1+$Radius,$Y1,$X2-$Radius,$Y1,$Color);
- imageline($this->Picture,$X2,$Y1+$Radius,$X2,$Y2-$Radius,$Color);
- imageline($this->Picture,$X2-$Radius,$Y2,$X1+$Radius,$Y2,$Color);
- imageline($this->Picture,$X1,$Y1+$Radius,$X1,$Y2-$Radius,$Color);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $X = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+180)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Y = sin(($i+90)*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos($i*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin($i*PI/180) * $Radius + $Y2 - $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $X = cos(($i+270)*PI/180) * $Radius + $X2 - $Radius;
- $Y = sin(($i+270)*PI/180) * $Radius + $Y1 + $Radius;
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- /* Temporary fix for AA issue */
- $Y1 = floor($Y1); $Y2 = floor($Y2); $X1 = floor($X1); $X2 = floor($X2);
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius*2 ) { $Radius = floor((($X2-$X1))/4); }
- if ( $Y2 - $Y1 < $Radius*2 ) { $Radius = floor((($Y2-$Y1))/4); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE);
-
- if ( $Radius <= 0 ) { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color); return(0); }
-
- $YTop = $Y1+$Radius;
- $YBottom = $Y2-$Radius;
-
- $Step = 360 / (2 * PI * $Radius);
- $Positions = ""; $Radius--; $MinY = ""; $MaxY = "";
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+180)*PI/180) * $Radius + $YTop);
- if ( $MinY == "" || $Yp > $MinY ) { $MinY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = floor(sin(($i+90)*PI/180) * $Radius + $YBottom);
- if ( $MaxY == "" || $Yp < $MaxY ) { $MaxY = $Yp; }
-
- if ( $Xp2 >= floor($X2) ) { $Xp2--; }
- $Xp1++;
-
- if ( !isset($Positions[$Yp]) )
- { $Positions[$Yp]["X1"] = $Xp1; $Positions[$Yp]["X2"] = $Xp2; }
- else
- { $Positions[$Yp]["X1"] = ($Positions[$Yp]["X1"]+$Xp1)/2; $Positions[$Yp]["X2"] = ($Positions[$Yp]["X2"]+$Xp2)/2; }
- }
-
- $ManualColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- foreach($Positions as $Yp => $Bounds)
- {
- $X1 = $Bounds["X1"]; $X1Dec = $this->getFirstDecimal($X1); if ( $X1Dec != 0 ) { $X1 = floor($X1)+1; }
- $X2 = $Bounds["X2"]; $X2Dec = $this->getFirstDecimal($X2); if ( $X2Dec != 0 ) { $X2 = floor($X2)-1; }
- imageline($this->Picture,$X1,$Yp,$X2,$Yp,$ManualColor);
- }
- $this->drawFilledRectangle($X1,$MinY+1,floor($X2),$MaxY-1,$Color);
-
- $Radius++;
- $this->drawRoundedRectangle($X1,$Y1,$X2+1,$Y2-1,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle with rounded corners */
- function drawRoundedFilledRectangle_deprecated($X1,$Y1,$X2,$Y2,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $BorderR == -1 ) { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- list($X1,$Y1,$X2,$Y2) = $this->fixBoxCoordinates($X1,$Y1,$X2,$Y2);
-
- if ( $X2 - $X1 < $Radius ) { $Radius = floor((($X2-$X1)+2)/2); }
- if ( $Y2 - $Y1 < $Radius ) { $Radius = floor((($Y2-$Y1)+2)/2); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawRoundedFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- if ( $this->getFirstDecimal($X2) >= 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($X1) <= 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
-
- if ( !$this->Antialias ) { $XOffset1 = 1; $XOffset2 = 1; }
-
- $YTop = floor($Y1+$Radius);
- $YBottom = floor($Y2-$Radius);
-
- $this->drawFilledRectangle($X1-$XOffset1,$YTop,$X2+$XOffset2,$YBottom,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"NoBorder"=>TRUE));
-
- $Step = 360 / (2 * PI * $Radius);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $Color2 = $this->allocateColor($this->Picture,255,0,0,$Alpha);
- $Drawn = "";
-
- if ( $Alpha < 100 ) { $Drawn[$YTop] = FALSE; }
- if ( $Alpha < 100 ) { $Drawn[$YBottom] = TRUE; }
-
- for($i=0;$i<=90;$i=$i+$Step)
- {
- $Xp1 = cos(($i+180)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos(((90-$i)+270)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+180)*PI/180) * $Radius + $YTop;
-
- if ( $this->getFirstDecimal($Xp1) > 5 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 5 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
-
- $Xp1 = cos(($i+90)*PI/180) * $Radius + $X1 + $Radius;
- $Xp2 = cos((90-$i)*PI/180) * $Radius + $X2 - $Radius;
- $Yp = sin(($i+90)*PI/180) * $Radius + $YBottom;
-
- if ( $this->getFirstDecimal($Xp1) > 7 ) { $XOffset1 = 1; } else { $XOffset1 = 0; }
- if ( $this->getFirstDecimal($Xp2) > 7 ) { $XOffset2 = 1; } else { $XOffset2 = 0; }
- if ( $this->getFirstDecimal($Yp) > 5 ) { $YOffset = 1; } else { $YOffset = 0; }
-
- if ( !isset($Drawn[$Yp+$YOffset]) || $Alpha == 100 )
- imageline($this->Picture,$Xp1+$XOffset1,$Yp+$YOffset,$Xp2+$XOffset2,$Yp+$YOffset,$Color);
-
- $Drawn[$Yp+$YOffset] = $Xp2;
- }
-
- $this->drawRoundedRectangle($X1,$Y1,$X2,$Y2,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangle */
- function drawRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $this->Antialias )
- {
- if ( $NoAngle )
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1+1,$X2,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1+1,$X1,$Y2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- {
- $this->drawLine($X1+1,$Y1,$X2-1,$Y1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2,$Y1,$X2,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X2-1,$Y2,$X1+1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- $this->drawLine($X1,$Y1,$X1,$Y2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagerectangle($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- }
- }
-
- /* Draw a filled rectangle */
- function drawFilledRectangle($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : NULL;
- $Dash = isset($Format["Dash"]) ? $Format["Dash"] : FALSE;
- $DashStep = isset($Format["DashStep"]) ? $Format["DashStep"] : 4;
- $DashR = isset($Format["DashR"]) ? $Format["DashR"] : 0;
- $DashG = isset($Format["DashG"]) ? $Format["DashG"] : 0;
- $DashB = isset($Format["DashB"]) ? $Format["DashB"] : 0;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledRectangle($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- if ( $NoAngle )
- {
- imagefilledrectangle($this->Picture,ceil($X1)+1,ceil($Y1),floor($X2)-1,floor($Y2),$Color);
- imageline($this->Picture,ceil($X1),ceil($Y1)+1,ceil($X1),floor($Y2)-1,$Color);
- imageline($this->Picture,floor($X2),ceil($Y1)+1,floor($X2),floor($Y2)-1,$Color);
- }
- else
- imagefilledrectangle($this->Picture,ceil($X1),ceil($Y1),floor($X2),floor($Y2),$Color);
-
- if ( $Dash )
- {
- if ( $BorderR != -1 ) { $iX1=$X1+1; $iY1=$Y1+1; $iX2=$X2-1; $iY2=$Y2-1; } else { $iX1=$X1; $iY1=$Y1; $iX2=$X2; $iY2=$Y2; }
-
- $Color = $this->allocateColor($this->Picture,$DashR,$DashG,$DashB,$Alpha);
- $Y=$iY1-$DashStep;
- for($X=$iX1; $X<=$iX2+($iY2-$iY1); $X=$X+$DashStep)
- {
- $Y=$Y+$DashStep;
- if ( $X > $iX2 ) { $Xa = $X-($X-$iX2); $Ya = $iY1+($X-$iX2); } else { $Xa = $X; $Ya = $iY1; }
- if ( $Y > $iY2 ) { $Xb = $iX1+($Y-$iY2); $Yb = $Y-($Y-$iY2); } else { $Xb = $iX1; $Yb = $Y; }
- imageline($this->Picture,$Xa,$Ya,$Xb,$Yb,$Color);
- }
- }
-
- if ( $this->Antialias && !$NoBorder )
- {
- if ( $X1 < ceil($X1) )
- {
- $AlphaA = $Alpha * (ceil($X1) - $X1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1)-1,ceil($Y1),ceil($X1)-1,floor($Y2),$Color);
- }
-
- if ( $Y1 < ceil($Y1) )
- {
- $AlphaA = $Alpha * (ceil($Y1) - $Y1);
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),ceil($Y1)-1,floor($X2),ceil($Y1)-1,$Color);
- }
-
- if ( $X2 > floor($X2) )
- {
- $AlphaA = $Alpha * (.5-($X2 - floor($X2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,floor($X2)+1,ceil($Y1),floor($X2)+1,floor($Y2),$Color);
- }
-
- if ( $Y2 > floor($Y2) )
- {
- $AlphaA = $Alpha * (.5-($Y2 - floor($Y2)));
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$AlphaA);
- imageline($this->Picture,ceil($X1),floor($Y2)+1,floor($X2),floor($Y2)+1,$Color);
- }
- }
-
- if ( $BorderR != -1 )
- $this->drawRectangle($X1,$Y1,$X2,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks,"NoAngle"=>$NoAngle));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a rectangular marker of the specified size */
- function drawRectangleMarker($X,$Y,$Format="")
- {
- $Size = isset($Format["Size"]) ? $Format["Size"] : 4;
-
- $HalfSize = floor($Size/2);
- $this->drawFilledRectangle($X-$HalfSize,$Y-$HalfSize,$X+$HalfSize,$Y+$HalfSize,$Format);
- }
-
- /* Drawn a spline based on the bezier function */
- function drawSpline($Coordinates,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 30;
- $Forces = isset($Format["Forces"]) ? $Format["Forces"] : NULL;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
-
- $Cpt = NULL; $Mode = NULL; $Result = "";
- for($i=1;$i<=count($Coordinates)-1;$i++)
- {
- $X1 = $Coordinates[$i-1][0]; $Y1 = $Coordinates[$i-1][1];
- $X2 = $Coordinates[$i][0]; $Y2 = $Coordinates[$i][1];
-
- if ( $Forces != NULL ) { $Force = $Forces[$i]; }
-
- /* First segment */
- if ( $i == 1 )
- { $Xv1 = $X1; $Yv1 = $Y1; }
- else
- {
- $Angle1 = $this->getAngle($XLast,$YLast,$X1,$Y1);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos($Angle2 * PI / 180) * $Force + $X1;
- $YOff = sin($Angle2 * PI / 180) * $Force + $Y1;
-
- $Xv1 = cos($Angle1 * PI / 180) * $Force + $XOff;
- $Yv1 = sin($Angle1 * PI / 180) * $Force + $YOff;
- }
-
- /* Last segment */
- if ( $i == count($Coordinates)-1 )
- { $Xv2 = $X2; $Yv2 = $Y2; }
- else
- {
- $Angle1 = $this->getAngle($X2,$Y2,$Coordinates[$i+1][0],$Coordinates[$i+1][1]);
- $Angle2 = $this->getAngle($X1,$Y1,$X2,$Y2);
- $XOff = cos(($Angle2+180) * PI / 180) * $Force + $X2;
- $YOff = sin(($Angle2+180) * PI / 180) * $Force + $Y2;
-
- $Xv2 = cos(($Angle1+180) * PI / 180) * $Force + $XOff;
- $Yv2 = sin(($Angle1+180) * PI / 180) * $Force + $YOff;
- }
-
- $Path = $this->drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format);
- if ($PathOnly) { $Result[] = $Path; }
-
- $XLast = $X1; $YLast = $Y1;
- }
-
- return($Result);
- }
-
- /* Draw a bezier curve with two controls points */
- function drawBezier($X1,$Y1,$X2,$Y2,$Xv1,$Yv1,$Xv2,$Yv2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $ShowC = isset($Format["ShowControl"]) ? $Format["ShowControl"] : FALSE;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $NoDraw = isset($Format["NoDraw"]) ? $Format["NoDraw"] : FALSE;
- $PathOnly = isset($Format["PathOnly"]) ? $Format["PathOnly"] : FALSE;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $DrawArrow = isset($Format["DrawArrow"]) ? $Format["DrawArrow"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 10;
- $ArrowRatio = isset($Format["ArrowRatio"]) ? $Format["ArrowRatio"] : .5;
- $ArrowTwoHeads = isset($Format["ArrowTwoHeads"]) ? $Format["ArrowTwoHeads"] : FALSE;
-
- if ( $Segments == NULL )
- {
- $Length = $this->getLength($X1,$Y1,$X2,$Y2);
- $Precision = ($Length*125)/1000;
- }
- else
- $Precision = $Segments;
-
- $P[0]["X"] = $X1; $P[0]["Y"] = $Y1;
- $P[1]["X"] = $Xv1; $P[1]["Y"] = $Yv1;
- $P[2]["X"] = $Xv2; $P[2]["Y"] = $Yv2;
- $P[3]["X"] = $X2; $P[3]["Y"] = $Y2;
-
- /* Compute the bezier points */
- $Q = ""; $ID = 0; $Path = "";
- for($i=0;$i<=$Precision;$i=$i+1)
- {
- $u = $i / $Precision;
-
- $C = "";
- $C[0] = (1 - $u) * (1 - $u) * (1 - $u);
- $C[1] = ($u * 3) * (1 - $u) * (1 - $u);
- $C[2] = 3 * $u * $u * (1 - $u);
- $C[3] = $u * $u * $u;
-
- for($j=0;$j<=3;$j++)
- {
- if ( !isset($Q[$ID]) ) { $Q[$ID] = ""; }
- if ( !isset($Q[$ID]["X"]) ) { $Q[$ID]["X"] = 0; }
- if ( !isset($Q[$ID]["Y"]) ) { $Q[$ID]["Y"] = 0; }
-
- $Q[$ID]["X"] = $Q[$ID]["X"] + $P[$j]["X"] * $C[$j];
- $Q[$ID]["Y"] = $Q[$ID]["Y"] + $P[$j]["Y"] * $C[$j];
- }
- $ID++;
- }
- $Q[$ID]["X"] = $X2; $Q[$ID]["Y"] = $Y2;
-
- if ( !$NoDraw )
- {
- /* Display the control points */
- if ( $ShowC && !$PathOnly )
- {
- $Xv1 = floor($Xv1); $Yv1 = floor($Yv1); $Xv2 = floor($Xv2); $Yv2 = floor($Yv2);
-
- $this->drawLine($X1,$Y1,$X2,$Y2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>30));
-
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv1,$Yv1,$MyMarkerSettings);
- $this->drawText($Xv1+4,$Yv1,"v1");
- $MyMarkerSettings = array("R"=>0,"G"=>0,"B"=>255,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($Xv2,$Yv2,$MyMarkerSettings);
- $this->drawText($Xv2+4,$Yv2,"v2");
- }
-
- /* Draw the bezier */
- $LastX = NULL; $LastY = NULL; $Cpt = NULL; $Mode = NULL; $ArrowS = NULL;
- foreach ($Q as $Key => $Point)
- {
- $X = $Point["X"]; $Y = $Point["Y"];
-
- /* Get the first segment */
- if ( $ArrowS == NULL && $LastX != NULL && $LastY != NULL )
- { $ArrowS["X2"] = $LastX; $ArrowS["Y2"] = $LastY; $ArrowS["X1"] = $X; $ArrowS["Y1"] = $Y; }
-
- if ( $LastX != NULL && $LastY != NULL && !$PathOnly)
- list($Cpt,$Mode) = $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Cpt"=>$Cpt,"Mode"=>$Mode,"Weight"=>$Weight));
-
- /* Get the last segment */
- $ArrowE["X1"] = $LastX; $ArrowE["Y1"] = $LastY; $ArrowE["X2"] = $X; $ArrowE["Y2"] = $Y;
-
- $LastX = $X; $LastY = $Y;
- }
-
- if ( $DrawArrow && !$PathOnly )
- {
- $ArrowSettings = array("FillR"=>$R,"FillG"=>$G,"FillB"=>$B,"Alpha"=>$Alpha,"Size"=>$ArrowSize,"Ratio"=>$ArrowRatio);
- if ( $ArrowTwoHeads )
- $this->drawArrow($ArrowS["X1"],$ArrowS["Y1"],$ArrowS["X2"],$ArrowS["Y2"],$ArrowSettings);
-
- $this->drawArrow($ArrowE["X1"],$ArrowE["Y1"],$ArrowE["X2"],$ArrowE["Y2"],$ArrowSettings);
- }
- }
- return($Q);
- }
-
- /* Draw a line between two points */
- function drawLine($X1,$Y1,$X2,$Y2,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Cpt = isset($Format["Cpt"]) ? $Format["Cpt"] : 1;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : 1;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $this->Antialias == FALSE && $Ticks == NULL )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imageline($this->Picture,$X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,$ShadowColor);
- }
-
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imageline($this->Picture,$X1,$Y1,$X2,$Y2,$Color);
- return(0);
- }
-
- $Distance = sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1));
- if ( $Distance == 0 ) { return(-1); }
-
- /* Derivative algorithm for overweighted lines, re-route to polygons primitives */
- if ( $Weight != NULL )
- {
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
- $PolySettings = array ("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderAlpha"=>$Alpha);
-
- if ( $Ticks == NULL )
- {
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X1; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y1;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Y2;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $X2; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Y2;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- else
- {
- for($i=0;$i<=$Distance;$i=$i+$Ticks*2)
- {
- $Xa = (($X2-$X1)/$Distance) * $i + $X1; $Ya = (($Y2-$Y1)/$Distance) * $i + $Y1;
- $Xb = (($X2-$X1)/$Distance) * ($i+$Ticks) + $X1; $Yb = (($Y2-$Y1)/$Distance) * ($i+$Ticks) + $Y1;
-
- $Points = "";
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xa; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Ya;
- $Points[] = cos(deg2rad($Angle+90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle+90)) * $Weight + $Yb;
- $Points[] = cos(deg2rad($Angle-90)) * $Weight + $Xb; $Points[] = sin(deg2rad($Angle-90)) * $Weight + $Yb;
-
- $this->drawPolygon($Points,$PolySettings);
- }
- }
-
- return(1);
- }
-
- $XStep = ($X2-$X1) / $Distance;
- $YStep = ($Y2-$Y1) / $Distance;
-
- for($i=0;$i<=$Distance;$i++)
- {
- $X = $i * $XStep + $X1;
- $Y = $i * $YStep + $Y1;
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $RT = $Parameters["R"]; } else { $RT = 0; }
- if ( isset($Parameters["G"]) ) { $GT = $Parameters["G"]; } else { $GT = 0; }
- if ( isset($Parameters["B"]) ) { $BT = $Parameters["B"]; } else { $BT = 0; }
- if ( isset($Parameters["Alpha"]) ) { $AlphaT = $Parameters["Alpha"]; } else { $AlphaT = 0; }
- $Color = array("R"=>$RT,"G"=>$GT,"B"=>$BT,"Alpha"=>$AlphaT);
- }
- }
- }
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,$Color);
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,$Color);
- }
-
- return(array($Cpt,$Mode));
- }
-
- /* Draw a circle */
- function drawCircle($Xc,$Yc,$Height,$Width,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Height = abs($Height);
- $Width = abs($Width);
-
- if ( $Height == 0 ) { $Height = 1; }
- if ( $Width == 0 ) { $Width = 1; }
- $Xc = floor($Xc); $Yc = floor($Yc);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawCircle($Xc+$this->ShadowX,$Yc+$this->ShadowY,$Height,$Width,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- if ( $Width == 0 ) { $Width = $Height; }
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- $Step = 360 / (2 * PI * max($Width,$Height));
- $Mode = 1; $Cpt = 1;
- for($i=0;$i<=360;$i=$i+$Step)
- {
- $X = cos($i*PI/180) * $Height + $Xc;
- $Y = sin($i*PI/180) * $Width + $Yc;
-
- if ( $Ticks != NULL )
- {
- if ( $Cpt % $Ticks == 0 )
- { $Cpt = 0; if ( $Mode == 1 ) { $Mode = 0; } else { $Mode = 1; } }
-
- if ( $Mode == 1 )
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- $Cpt++;
- }
- else
- $this->drawAntialiasPixel($X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
-
- }
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a filled circle */
- function drawFilledCircle($X,$Y,$Radius,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
-
- if ( $Radius == 0 ) { $Radius = 1; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- $X = floor($X); $Y = floor($Y);
-
- $Radius = abs($Radius);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawFilledCircle($X+$this->ShadowX,$Y+$this->ShadowY,$Radius,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Ticks"=>$Ticks));
- }
-
- $this->Mask = "";
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- for ($i=0; $i<=$Radius*2; $i++)
- {
- $Slice = sqrt($Radius * $Radius - ($Radius - $i) * ($Radius - $i));
- $XPos = floor($Slice);
- $YPos = $Y + $i - $Radius;
- $AAlias = $Slice - floor($Slice);
-
- $this->Mask[$X-$XPos][$YPos] = TRUE;
- $this->Mask[$X+$XPos][$YPos] = TRUE;
- imageline($this->Picture,$X-$XPos,$YPos,$X+$XPos,$YPos,$Color);
- }
- if ( $this->Antialias )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- $this->Mask = "";
-
- if ( $BorderR != -1 )
- $this->drawCircle($X,$Y,$Radius,$Radius,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$Ticks));
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Write text */
- function drawText($X,$Y,$Text,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Align = isset($Format["Align"]) ? $Format["Align"] : TEXT_ALIGN_BOTTOMLEFT;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $ShowOrigine = isset($Format["ShowOrigine"]) ? $Format["ShowOrigine"] : FALSE;
- $TOffset = isset($Format["TOffset"]) ? $Format["TOffset"] : 2;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : FALSE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : TRUE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 6;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : FALSE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 6;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 255;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 255;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 255;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxBorderG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxBorderB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxBorderAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 50;
- $NoShadow = isset($Format["NoShadow"]) ? $Format["NoShadow"] : FALSE;
-
- $Shadow = $this->Shadow;
- if ( $NoShadow ) { $this->Shadow = FALSE; }
-
- if ( $BoxSurrounding != "" ) { $BoxBorderR = $BoxR - $BoxSurrounding; $BoxBorderG = $BoxG - $BoxSurrounding; $BoxBorderB = $BoxB - $BoxSurrounding; $BoxBorderAlpha = $Boxalpha; }
-
- if ( $ShowOrigine )
- {
- $MyMarkerSettings = array("R"=>255,"G"=>0,"B"=>0,"BorderR"=>255,"BorderB"=>255,"BorderG"=>255,"Size"=>4);
- $this->drawRectangleMarker($X,$Y,$MyMarkerSettings);
- }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text);
-
- if ( $DrawBox && ($Angle == 0 || $Angle == 90 || $Angle == 180 || $Angle == 270))
- {
- $T[0]["X"]=0;$T[0]["Y"]=0;$T[1]["X"]=0;$T[1]["Y"]=0;$T[2]["X"]=0;$T[2]["Y"]=0;$T[3]["X"]=0;$T[3]["Y"]=0;
- if ( $Angle == 0 ) { $T[0]["X"]=-$TOffset;$T[0]["Y"]=$TOffset;$T[1]["X"]=$TOffset;$T[1]["Y"]=$TOffset;$T[2]["X"]=$TOffset;$T[2]["Y"]=-$TOffset;$T[3]["X"]=-$TOffset;$T[3]["Y"]=-$TOffset; }
-
- $X1 = min($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) - $BorderOffset + 3;
- $Y1 = min($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) - $BorderOffset;
- $X2 = max($TxtPos[0]["X"],$TxtPos[1]["X"],$TxtPos[2]["X"],$TxtPos[3]["X"]) + $BorderOffset + 3;
- $Y2 = max($TxtPos[0]["Y"],$TxtPos[1]["Y"],$TxtPos[2]["Y"],$TxtPos[3]["Y"]) + $BorderOffset - 3;
-
- $X1 = $X1 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y1 = $Y1 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
- $X2 = $X2 - $TxtPos[$Align]["X"] + $X + $T[0]["X"];
- $Y2 = $Y2 - $TxtPos[$Align]["Y"] + $Y + $T[0]["Y"];
-
- $Settings = array("R"=>$BoxR,"G"=>$BoxG,"B"=>$BoxB,"Alpha"=>$BoxAlpha,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"BorderAlpha"=>$BoxBorderAlpha);
-
- if ( $BoxRounded )
- { $this->drawRoundedFilledRectangle($X1,$Y1,$X2,$Y2,$RoundedRadius,$Settings); }
- else
- { $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Settings); }
- }
-
- $X = $X - $TxtPos[$Align]["X"] + $X;
- $Y = $Y - $TxtPos[$Align]["Y"] + $Y;
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $C_ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagettftext($this->Picture,$FontSize,$Angle,$X+$this->ShadowX,$Y+$this->ShadowY,$C_ShadowColor,$FontName,$Text);
- }
-
- $C_TextColor = $this->AllocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagettftext($this->Picture,$FontSize,$Angle,$X,$Y,$C_TextColor,$FontName,$Text);
-
- $this->Shadow = $Shadow;
-
- return($TxtPos);
- }
-
- /* Draw a gradient within a defined area */
- function drawGradientArea($X1,$Y1,$X2,$Y2,$Direction,$Format="")
- {
- $StartR = isset($Format["StartR"]) ? $Format["StartR"] : 90;
- $StartG = isset($Format["StartG"]) ? $Format["StartG"] : 90;
- $StartB = isset($Format["StartB"]) ? $Format["StartB"] : 90;
- $EndR = isset($Format["EndR"]) ? $Format["EndR"] : 0;
- $EndG = isset($Format["EndG"]) ? $Format["EndG"] : 0;
- $EndB = isset($Format["EndB"]) ? $Format["EndB"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Levels = isset($Format["Levels"]) ? $Format["Levels"] : NULL;
-
- $Shadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- if ( $StartR == $EndR && $StartG == $EndG && $StartB == $EndB )
- {
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,array("R"=>$StartR,"G"=>$StartG,"B"=>$StartB,"Alpha"=>$Alpha));
- return(0);
- }
-
- if ( $Levels != NULL )
- { $EndR=$StartR+$Levels; $EndG=$StartG+$Levels; $EndB=$StartB+$Levels; }
-
- if ($X1 > $X2) { list($X1, $X2) = array($X2, $X1); }
- if ($Y1 > $Y2) { list($Y1, $Y2) = array($Y2, $Y1); }
-
- if ( $Direction == DIRECTION_VERTICAL ) { $Width = abs($Y2-$Y1); }
- if ( $Direction == DIRECTION_HORIZONTAL ) { $Width = abs($X2-$X1); }
-
- $Step = max(abs($EndR-$StartR),abs($EndG-$StartG),abs($EndB-$StartB));
- $StepSize = $Width/$Step;
- $RStep = ($EndR-$StartR)/$Step;
- $GStep = ($EndG-$StartG)/$Step;
- $BStep = ($EndB-$StartB)/$Step;
-
- $R=$StartR;$G=$StartG;$B=$StartB;
- switch($Direction)
- {
- case DIRECTION_VERTICAL:
- $StartY = $Y1; $EndY = floor($Y2)+1; $LastY2 = $StartY;
- for($i=0;$i<=$Step;$i++)
- {
- $Y2 = floor($StartY + ($i * $StepSize));
-
- if ($Y2 > $EndY) { $Y2 = $EndY; }
- if (($Y1 != $Y2 && $Y1 < $Y2) || $Y2 == $EndY)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $LastY2 = max($LastY2,$Y2);
- $Y1 = $Y2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $LastY2 < $EndY && isset($Color)) { for ($i=$LastY2+1;$i<=$EndY;$i++) { $this->drawLine($X1,$i,$X2,$i,$Color); } }
- break;
-
- case DIRECTION_HORIZONTAL:
- $StartX = $X1; $EndX = $X2;
- for($i=0;$i<=$Step;$i++)
- {
- $X2 = floor($StartX + ($i * $StepSize));
-
- if ($X2 > $EndX) { $X2 = $EndX; }
- if (($X1 != $X2 && $X1 < $X2) || $X2 == $EndX)
- {
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- $this->drawFilledRectangle($X1,$Y1,$X2,$Y2,$Color);
- $X1 = $X2+1;
- }
- $R = $R + $RStep; $G = $G + $GStep; $B = $B + $BStep;
- }
- if ( $X2 < $EndX && isset($Color)) { $this->drawFilledRectangle($X2,$Y1,$EndX,$Y2,$Color); }
- break;
- }
-
- $this->Shadow = $Shadow;
-
- }
-
- /* Draw an aliased pixel */
- function drawAntialiasPixel($X,$Y,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( !$this->Antialias )
- {
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$this->Shadowa);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $PlotColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$PlotColor);
-
- return(0);
- }
-
- $Plot = "";
- $Xi = floor($X);
- $Yi = floor($Y);
-
- if ( $Xi == $X && $Yi == $Y)
- {
- if ( $Alpha == 100 )
- $this->drawAlphaPixel($X,$Y,100,$R,$G,$B);
- else
- $this->drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B);
- }
- else
- {
- $Alpha1 = (((1 - ($X - floor($X))) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha1 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi,$Alpha1,$R,$G,$B); }
-
- $Alpha2 = ((($X - floor($X)) * (1 - ($Y - floor($Y))) * 100) / 100) * $Alpha;
- if ( $Alpha2 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi,$Alpha2,$R,$G,$B); }
-
- $Alpha3 = (((1 - ($X - floor($X))) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha3 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi,$Yi+1,$Alpha3,$R,$G,$B); }
-
- $Alpha4 = ((($X - floor($X)) * ($Y - floor($Y)) * 100) / 100) * $Alpha;
- if ( $Alpha4 > $this->AntialiasQuality ) { $this->drawAlphaPixel($Xi+1,$Yi+1,$Alpha4,$R,$G,$B); }
- }
- }
-
- /* Draw a semi-transparent pixel */
- function drawAlphaPixel($X,$Y,$Alpha,$R,$G,$B)
- {
- if ( isset($this->Mask[$X])) { if ( isset($this->Mask[$X][$Y]) ) { return(0); } }
-
- if ( $X < 0 || $Y < 0 || $X >= $this->XSize || $Y >= $this->YSize )
- return(-1);
-
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
-
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $AlphaFactor = floor(($Alpha / 100) * $this->Shadowa);
- $ShadowColor = $this->allocateColor($this->Picture,$this->ShadowR,$this->ShadowG,$this->ShadowB,$AlphaFactor);
- imagesetpixel($this->Picture,$X+$this->ShadowX,$Y+$this->ShadowY,$ShadowColor);
- }
-
- $C_Aliased = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- imagesetpixel($this->Picture,$X,$Y,$C_Aliased);
- }
-
- /* Convert apha to base 10 */
- function convertAlpha($AlphaValue)
- { return((127/100)*(100-$AlphaValue)); }
-
- /* Allocate a color with transparency */
- function allocateColor($Picture,$R,$G,$B,$Alpha=100)
- {
- if ( $R < 0 ) { $R = 0; } if ( $R > 255 ) { $R = 255; }
- if ( $G < 0 ) { $G = 0; } if ( $G > 255 ) { $G = 255; }
- if ( $B < 0 ) { $B = 0; } if ( $B > 255 ) { $B = 255; }
- if ( $Alpha < 0 ) { $Alpha = 0; }
- if ( $Alpha > 100) { $Alpha = 100; }
-
- $Alpha = $this->convertAlpha($Alpha);
- return(imagecolorallocatealpha($Picture,$R,$G,$B,$Alpha));
- }
-
- /* Load a PNG file and draw it over the chart */
- function drawFromPNG($X,$Y,$FileName)
- { $this->drawFromPicture(1,$FileName,$X,$Y); }
-
- /* Load a GIF file and draw it over the chart */
- function drawFromGIF($X,$Y,$FileName)
- { $this->drawFromPicture(2,$FileName,$X,$Y); }
-
- /* Load a JPEG file and draw it over the chart */
- function drawFromJPG($X,$Y,$FileName)
- { $this->drawFromPicture(3,$FileName,$X,$Y); }
-
- function getPicInfo($FileName)
- {
- $Infos = getimagesize($FileName);
- $Width = $Infos[0];
- $Height = $Infos[1];
- $Type = $Infos["mime"];
-
- if ( $Type == "image/png") { $Type = 1; }
- if ( $Type == "image/gif") { $Type = 2; }
- if ( $Type == "image/jpeg ") { $Type = 3; }
-
- return(array($Width,$Height,$Type));
- }
-
- /* Generic loader function for external pictures */
- function drawFromPicture($PicType,$FileName,$X,$Y)
- {
- if ( file_exists($FileName))
- {
- list($Width,$Height) = $this->getPicInfo($FileName);
-
- if ( $PicType == 1 )
- { $Raster = imagecreatefrompng($FileName); }
- elseif ( $PicType == 2 )
- { $Raster = imagecreatefromgif($FileName); }
- elseif ( $PicType == 3 )
- { $Raster = imagecreatefromjpeg($FileName); }
- else
- { return(0); }
-
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- if ( $PicType == 3 )
- $this->drawFilledRectangle($X+$this->ShadowX,$Y+$this->ShadowY,$X+$Width+$this->ShadowX,$Y+$Height+$this->ShadowY,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- else
- {
- $TranparentID = imagecolortransparent($Raster);
- for ($Xc=0;$Xc<=$Width-1;$Xc++)
- {
- for ($Yc=0;$Yc<=$Height-1;$Yc++)
- {
- $RGBa = imagecolorat($Raster,$Xc,$Yc);
- $Values = imagecolorsforindex($Raster,$RGBa);
- if ( $Values["alpha"] < 120 )
- {
- $AlphaFactor = floor(($this->Shadowa / 100) * ((100 / 127) * (127-$Values["alpha"])));
- $this->drawAlphaPixel($X+$Xc+$this->ShadowX,$Y+$Yc+$this->ShadowY,$AlphaFactor,$this->ShadowR,$this->ShadowG,$this->ShadowB);
- }
- }
- }
- }
- }
- $this->Shadow = $RestoreShadow;
-
- imagecopy($this->Picture,$Raster,$X,$Y,0,0,$Width,$Height);
- imagedestroy($Raster);
- }
- }
-
- /* Draw an arrow */
- function drawArrow($X1,$Y1,$X2,$Y2,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Ratio = isset($Format["Ratio"]) ? $Format["Ratio"] : .5;
- $TwoHeads = isset($Format["TwoHeads"]) ? $Format["TwoHeads"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : FALSE;
-
- /* Calculate the line angle */
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- /* Override Shadow support, this will be managed internally */
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow && $this->ShadowX != 0 && $this->ShadowY != 0 )
- {
- $this->Shadow = FALSE;
- $this->drawArrow($X1+$this->ShadowX,$Y1+$this->ShadowY,$X2+$this->ShadowX,$Y2+$this->ShadowY,array("FillR"=>$this->ShadowR,"FillG"=>$this->ShadowG,"FillB"=>$this->ShadowB,"Alpha"=>$this->Shadowa,"Size"=>$Size,"Ratio"=>$Ratio,"TwoHeads"=>$TwoHeads,"Ticks"=>$Ticks));
- }
-
- /* Draw the 1st Head */
- $TailX = cos(($Angle-180)*PI/180)*$Size+$X2;
- $TailY = sin(($Angle-180)*PI/180)*$Size+$Y2;
-
- $Points = "";
- $Points[] = $X2; $Points[] = $Y2;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY;
- $Points[] = $X2; $Points[] = $Y2;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- /* Draw the second head */
- if ( $TwoHeads )
- {
- $Angle = $this->getAngle($X2,$Y2,$X1,$Y1);
-
- $TailX2 = cos(($Angle-180)*PI/180)*$Size+$X1;
- $TailY2 = sin(($Angle-180)*PI/180)*$Size+$Y1;
-
- $Points = "";
- $Points[] = $X1; $Points[] = $Y1;
- $Points[] = cos(($Angle-90)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-90)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = cos(($Angle-270)*PI/180)*$Size*$Ratio+$TailX2; $Points[] = sin(($Angle-270)*PI/180)*$Size*$Ratio+$TailY2;
- $Points[] = $X1; $Points[] = $Y1;
-
- /* Visual correction */
- if ($Angle == 180 || $Angle == 360 ) { $Points[4] = $Points[2]; }
- if ($Angle == 90 || $Angle == 270 ) { $Points[5] = $Points[3]; }
-
- $ArrowColor = $this->allocateColor($this->Picture,$FillR,$FillG,$FillB,$Alpha);
- ImageFilledPolygon($this->Picture,$Points,4,$ArrowColor);
-
- $this->drawLine($Points[0],$Points[1],$Points[2],$Points[3],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[2],$Points[3],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- $this->drawLine($Points[0],$Points[1],$Points[4],$Points[5],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
-
- $this->drawLine($TailX,$TailY,$TailX2,$TailY2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- else
- $this->drawLine($X1,$Y1,$TailX,$TailY,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
-
- /* Re-enable shadows */
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a label with associated arrow */
- function drawArrowLabel($X1,$Y1,$Text,$Format="")
- {
- $FillR = isset($Format["FillR"]) ? $Format["FillR"] : 0;
- $FillG = isset($Format["FillG"]) ? $Format["FillG"] : 0;
- $FillB = isset($Format["FillB"]) ? $Format["FillB"] : 0;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $FillR;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $FillG;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $FillB;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Length = isset($Format["Length"]) ? $Format["Length"] : 50;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 315;
- $Size = isset($Format["Size"]) ? $Format["Size"] : 10;
- $Position = isset($Format["Position"]) ? $Format["Position"] : POSITION_TOP;
- $RoundPos = isset($Format["RoundPos"]) ? $Format["RoundPos"] : FALSE;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
-
- $Angle = $Angle % 360;
-
- $X2 = sin(($Angle+180)*PI/180)*$Length+$X1;
- $Y2 = cos(($Angle+180)*PI/180)*$Length+$Y1;
-
- if ( $RoundPos && $Angle > 0 && $Angle < 180 ) { $Y2 = ceil($Y2); }
- if ( $RoundPos && $Angle > 180 ) { $Y2 = floor($Y2); }
-
- $this->drawArrow($X2,$Y2,$X1,$Y1,$Format);
-
- $Size = imagettfbbox($FontSize,0,$FontName,$Text);
- $TxtWidth = max(abs($Size[2]-$Size[0]),abs($Size[0]-$Size[6]));
- $TxtHeight = max(abs($Size[1]-$Size[7]),abs($Size[3]-$Size[1]));
-
- if ( $Angle > 0 && $Angle < 180 )
- {
- $this->drawLine($X2,$Y2,$X2-$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_BOTTOMRIGHT));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPRIGHT));
- }
- else
- {
- $this->drawLine($X2,$Y2,$X2+$TxtWidth,$Y2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- if ( $Position == POSITION_TOP )
- $this->drawText($X2,$Y2-2,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha));
- else
- $this->drawText($X2,$Y2+4,$Text,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$Alpha,"Align"=>TEXT_ALIGN_TOPLEFT));
- }
- }
-
- /* Draw a progress bar filled with specified % */
- function drawProgress($X,$Y,$Percent,$Format="")
- {
- if ( $Percent > 100 ) { $Percent = 100; }
- if ( $Percent < 0 ) { $Percent = 0; }
-
- $Width = isset($Format["Width"]) ? $Format["Width"] : 200;
- $Height = isset($Format["Height"]) ? $Format["Height"] : 20;
- $Orientation = isset($Format["Orientation"]) ? $Format["Orientation"] : ORIENTATION_HORIZONTAL;
- $ShowLabel = isset($Format["ShowLabel"]) ? $Format["ShowLabel"] : FALSE;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : LABEL_POS_INSIDE;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 10;
- $R = isset($Format["R"]) ? $Format["R"] : 130;
- $G = isset($Format["G"]) ? $Format["G"] : 130;
- $B = isset($Format["B"]) ? $Format["B"] : 130;
- $RFade = isset($Format["RFade"]) ? $Format["RFade"] : -1;
- $GFade = isset($Format["GFade"]) ? $Format["GFade"] : -1;
- $BFade = isset($Format["BFade"]) ? $Format["BFade"] : -1;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 0;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 0;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 0;
- $BoxBackR = isset($Format["BoxBackR"]) ? $Format["BoxBackR"] : 255;
- $BoxBackG = isset($Format["BoxBackG"]) ? $Format["BoxBackG"] : 255;
- $BoxBackB = isset($Format["BoxBackB"]) ? $Format["BoxBackB"] : 255;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : NULL;
- $NoAngle = isset($Format["NoAngle"]) ? $Format["NoAngle"] : FALSE;
-
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $RFade = (($RFade-$R)/100)*$Percent+$R;
- $GFade = (($GFade-$G)/100)*$Percent+$G;
- $BFade = (($BFade-$B)/100)*$Percent+$B;
- }
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( $BoxSurrounding != NULL ) { $BoxBorderR = $BoxBackR + $Surrounding; $BoxBorderG = $BoxBackG + $Surrounding; $BoxBorderB = $BoxBackB + $Surrounding; }
-
- if ( $Orientation == ORIENTATION_VERTICAL )
- {
- $InnerHeight = (($Height-2)/100)*$Percent;
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y-$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$RFade,"StartG"=>$GFade,"StartB"=>$BFade,"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,DIRECTION_VERTICAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y-1,$X+$Width-1,$Y-$InnerHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_BOTTOM ) { $this->drawText($X+($Width/2),$Y+$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_TOP ) { $this->drawText($X+($Width/2),$Y-$Height-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+($Width/2),$Y-$InnerHeight-$Margin,$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT,"Angle"=>90)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y-($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"Angle"=>90)); }
- }
- else
- {
- if ( $Percent == 100 )
- $InnerWidth = $Width-1;
- else
- $InnerWidth = (($Width-2)/100)*$Percent;
-
- $this->drawFilledRectangle($X,$Y,$X+$Width,$Y+$Height,array("R"=>$BoxBackR,"G"=>$BoxBackG,"B"=>$BoxBackB,"BorderR"=>$BoxBorderR,"BorderG"=>$BoxBorderG,"BorderB"=>$BoxBorderB,"NoAngle"=>$NoAngle));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- if ( $RFade != -1 && $GFade != -1 && $BFade != -1 )
- {
- $GradientOptions = array("StartR"=>$R,"StartG"=>$G,"StartB"=>$B,"EndR"=>$RFade,"EndG"=>$GFade,"EndB"=>$BFade);
- $this->drawGradientArea($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,DIRECTION_HORIZONTAL,$GradientOptions);
-
- if ( $Surrounding )
- $this->drawRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>255,"G"=>255,"B"=>255,"Alpha"=>$Surrounding));
- }
- else
- $this->drawFilledRectangle($X+1,$Y+1,$X+$InnerWidth,$Y+$Height-1,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $this->Shadow = $RestoreShadow;
-
- if ( $ShowLabel && $LabelPos == LABEL_POS_LEFT ) { $this->drawText($X-$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_RIGHT ) { $this->drawText($X+$Width+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_CENTER ) { $this->drawText($X+($Width/2),$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE)); }
- if ( $ShowLabel && $LabelPos == LABEL_POS_INSIDE ) { $this->drawText($X+$InnerWidth+$Margin,$Y+($Height/2),$Percent."%",array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- }
- }
-
- /* Get the legend box size */
- function getLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $X=100; $Y=100;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the legend of the active series */
- function drawLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->DataSet->getData();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && isset($Serie["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->getPicInfo($Serie["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
-
- $YStep = max($this->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Serie["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $vY = $vY + max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->Shadow; $this->Shadow = FALSE;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"];
- $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( isset($Serie["Picture"]) )
- {
- $Picture = $Serie["Picture"];
- list($PicWidth,$PicHeight) = $this->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- foreach($Lines as $Key => $Value)
- $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Serie["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
-
- $this->Shadow = $RestoreShadow;
- }
-
- function drawScale($Format="")
- {
- $Pos = isset($Format["Pos"]) ? $Format["Pos"] : SCALE_POS_LEFTRIGHT;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : AUTO;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : TRUE;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $AutoAxisLabels = isset($Format["AutoAxisLabels"]) ? $Format["AutoAxisLabels"] : TRUE;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 20;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 20;
- $LabelingMethod = isset($Format["LabelingMethod"]) ? $Format["LabelingMethod"] : LABELING_ALL;
- $LabelSkip = isset($Format["LabelSkip"]) ? $Format["LabelSkip"] : 0;
- $LabelRotation = isset($Format["LabelRotation"]) ? $Format["LabelRotation"] : 0;
- $SkippedAxisTicks = isset($Format["SkippedAxisTicks"]) ? $Format["SkippedAxisTicks"] : $GridTicks+2;
- $SkippedAxisR = isset($Format["SkippedAxisR"]) ? $Format["SkippedAxisR"] : $GridR;
- $SkippedAxisG = isset($Format["SkippedAxisG"]) ? $Format["SkippedAxisG"] : $GridG;
- $SkippedAxisB = isset($Format["SkippedAxisB"]) ? $Format["SkippedAxisB"] : $GridB;
- $SkippedAxisAlpha = isset($Format["SkippedAxisAlpha"]) ? $Format["SkippedAxisAlpha"] : $GridAlpha-30;
- $SkippedTickR = isset($Format["SkippedTickR"]) ? $Format["SkippedTickR"] : $TickRo;
- $SkippedTickG = isset($Format["SkippedTickG"]) ? $Format["SkippedTickG"] : $TickGo;
- $SkippedTickB = isset($Format["SkippedTicksB"]) ? $Format["SkippedTickB"] : $TickBo;
- $SkippedTickAlpha = isset($Format["SkippedTickAlpha"]) ? $Format["SkippedTickAlpha"] : $TickAlpha-80;
- $SkippedInnerTickWidth = isset($Format["SkippedInnerTickWidth"]) ? $Format["SkippedInnerTickWidth"] : 0;
- $SkippedOuterTickWidth = isset($Format["SkippedOuterTickWidth"]) ? $Format["SkippedOuterTickWidth"] : 2;
-
- /* Floating scale require X & Y margins to be set manually */
- if ( $Floating && ( $XMargin == AUTO || $YMargin == 0 ) ) { $Floating = FALSE; }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE || $DrawYLines == FALSE ) { $DrawYLines = array("zarma"=>"31"); }
-
- /* Define the color for the skipped elements */
- $SkippedAxisColor = array("R"=>$SkippedAxisR,"G"=>$SkippedAxisG,"B"=>$SkippedAxisB,"Alpha"=>$SkippedAxisAlpha,"Ticks"=>$SkippedAxisTicks);
- $SkippedTickColor = array("R"=>$SkippedTickR,"G"=>$SkippedTickG,"B"=>$SkippedTickB,"Alpha"=>$SkippedTickAlpha);
-
- $Data = $this->DataSet->getData();
- if ( isset($Data["Abscissa"]) ) { $Abscissa = $Data["Abscissa"]; } else { $Abscissa = NULL; }
-
- /* Unset the abscissa axis, needed if we display multiple charts on the same picture */
- if ( $Abscissa != NULL )
- {
- foreach($Data["Axis"] as $AxisID => $Parameters)
- { if ($Parameters["Identity"] == AXIS_X) { unset($Data["Axis"][$AxisID]); } }
- }
-
- /* Build the scale settings */
- $GotXAxis = FALSE;
- foreach($Data["Axis"] as $AxisID => $AxisParameter)
- {
- if ( $AxisParameter["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
-
- if ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1 - $YMargin*2; }
- elseif ( $Pos == SCALE_POS_LEFTRIGHT && $AxisParameter["Identity"] == AXIS_X)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM && $AxisParameter["Identity"] == AXIS_Y)
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1 - $YMargin*2;; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING || $Mode == SCALE_MODE_START0 )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] && $Data["Abscissa"] != $SerieID)
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- if ( $Mode == SCALE_MODE_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
- elseif ( $Mode == SCALE_MODE_ADDALL || $Mode == SCALE_MODE_ADDALL_START0 )
- {
- $Series = "";
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["Axis"] == $AxisID && $SerieParameter["isDrawable"] && $Data["Abscissa"] != $SerieID ) { $Series[$SerieID] = count($Data["Series"][$SerieID]["Data"]); } }
-
- for ($ID=0;$ID<=max($Series)-1;$ID++)
- {
- $PointMin = 0; $PointMax = 0;
- foreach($Series as $SerieID => $ValuesCount )
- {
- if (isset($Data["Series"][$SerieID]["Data"][$ID]) && $Data["Series"][$SerieID]["Data"][$ID] != NULL )
- {
- $Value = $Data["Series"][$SerieID]["Data"][$ID];
- if ( $Value > 0 ) { $PointMax = $PointMax + $Value; } else { $PointMin = $PointMin + $Value; }
- }
- }
- $AxisMax = max($AxisMax,$PointMax);
- $AxisMin = min($AxisMin,$PointMin);
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- $MaxDivs = floor($Height/$MinDivHeight);
-
- if ( $Mode == SCALE_MODE_ADDALL_START0 ) { $Data["Axis"][$AxisID]["Min"] = 0; }
-
- $Scale = $this->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisParameter["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Still no X axis */
- if ( $GotXAxis == FALSE )
- {
- if ( $Abscissa != NULL )
- {
- $Points = count($Data["Series"][$Abscissa]["Data"]);
- if ( $AutoAxisLabels )
- $AxisName = isset($Data["Series"][$Abscissa]["Description"]) ? $Data["Series"][$Abscissa]["Description"] : NULL;
- else
- $AxisName = NULL;
- }
- else
- {
- $Points = 0;
- $AxisName = isset($Data["XAxisName"]) ? $Data["XAxisName"] : NULL;
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- { if ( $SerieParameter["isDrawable"] ) { $Points = max($Points,count($SerieParameter["Data"])); } }
- }
-
- $AxisID = count($Data["Axis"]);
- $Data["Axis"][$AxisID]["Identity"] = AXIS_X;
- if ( $Pos == SCALE_POS_LEFTRIGHT ) { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_BOTTOM; } else { $Data["Axis"][$AxisID]["Position"] = AXIS_POSITION_LEFT; }
- if ( isset($Data["AbscissaName"]) ) { $Data["Axis"][$AxisID]["Name"] = $Data["AbscissaName"]; }
- if ( $XMargin == AUTO )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- { $Height = $this->GraphAreaX2-$this->GraphAreaX1; }
- else
- { $Height = $this->GraphAreaY2-$this->GraphAreaY1; }
-
- if ( $Points == 1 )
- $Data["Axis"][$AxisID]["Margin"] = $Height / 2;
- else
- $Data["Axis"][$AxisID]["Margin"] = ($Height/$Points) / 2;
- }
- else
- { $Data["Axis"][$AxisID]["Margin"] = $XMargin; }
- $Data["Axis"][$AxisID]["Rows"] = $Points-1;
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- $this->DataSet->saveOrientation($Pos);
- $this->DataSet->saveAxisConfig($Data["Axis"]);
- $this->DataSet->saveYMargin($YMargin);
-
- $FontColorRo = $this->FontColorR; $FontColorGo = $this->FontColorG; $FontColorBo = $this->FontColorB;
-
- $AxisPos["L"] = $this->GraphAreaX1; $AxisPos["R"] = $this->GraphAreaX2; $AxisPos["T"] = $this->GraphAreaY1; $AxisPos["B"] = $this->GraphAreaY2;
- foreach($Data["Axis"] as $AxisID => $Parameters)
- {
- if ( isset($Parameters["Color"]) )
- {
- $AxisR = $Parameters["Color"]["R"]; $AxisG = $Parameters["Color"]["G"]; $AxisB = $Parameters["Color"]["B"];
- $TickR = $Parameters["Color"]["R"]; $TickG = $Parameters["Color"]["G"]; $TickB = $Parameters["Color"]["B"];
- $this->setFontProperties(array("R"=>$Parameters["Color"]["R"],"G"=>$Parameters["Color"]["G"],"B"=>$Parameters["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $Parameters["Identity"] == AXIS_X )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / ($Parameters["Rows"]); }
-
- $MaxBottom = $AxisPos["B"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$SkippedInnerTickWidth,$XPos,$YPos+$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($XPos != $this->GraphAreaX1 && $XPos != $this->GraphAreaX2) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $YLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $YLabelOffset = 2; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $YLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $YLabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Width; } else { $Step = $Width / $Parameters["Rows"]; }
-
- $MinTop = $AxisPos["T"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-$YLabelOffset,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-2-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$SkippedInnerTickWidth,$XPos,$YPos-$SkippedOuterTickWidth,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos,$YPos+$InnerTickWidth,$XPos,$YPos-$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = -6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -2; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = -5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MinLeft = $AxisPos["L"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["L"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos-$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos-$SkippedOuterTickWidth,$YPos,$XPos+$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines && ($YPos != $this->GraphAreaY1 && $YPos != $this->GraphAreaY2) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[0]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $LabelRotation == 0 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 2; }
- if ( $LabelRotation > 0 && $LabelRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $XLabelOffset = 6; }
- if ( $LabelRotation == 180 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 5; }
- if ( $LabelRotation > 180 && $LabelRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $XLabelOffset = 7; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2+($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
-
- if ($Parameters["Rows"] == 0 ) { $Step = $Height; } else { $Step = $Height / $Parameters["Rows"]; }
-
- $MaxRight = $AxisPos["R"];
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY1 + $Parameters["Margin"] + $Step*$i;
- $XPos = $AxisPos["R"];
-
- if ( $Abscissa != NULL )
- { if ( isset($Data["Series"][$Abscissa]["Data"][$i]) ) { $Value = $this->scaleFormat($Data["Series"][$Abscissa]["Data"][$i],$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]); } else { $Value = ""; } }
- else
- {
- if ( isset($Parameters["ScaleMin"]) && isset ($Parameters["RowHeight"]) )
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Data["XAxisDisplay"],$Data["XAxisFormat"],$Data["XAxisUnit"]);
- else
- $Value = $i;
- }
-
- $ID++; $Skipped = TRUE;
- if ( $this->isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip) )
- {
- $Bounds = $this->drawText($XPos+$OuterTickWidth+$XLabelOffset,$YPos,$Value,array("Angle"=>$LabelRotation,"Align"=>$LabelAlign));
- $TxtBox = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxRight = max($MaxRight,$TxtBox);
- $LastValue = $Value;
- $Skipped = FALSE;
- }
-
- if ( $Skipped )
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,$SkippedAxisColor); }
- if ( $SkippedInnerTickWidth !=0 || $SkippedOuterTickWidth != 0 ) { $this->drawLine($XPos+$SkippedOuterTickWidth,$YPos,$XPos-$SkippedInnerTickWidth,$YPos,$SkippedTickColor); }
- }
- else
- {
- if ( $DrawXLines ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $InnerTickWidth !=0 || $OuterTickWidth != 0 ) { $this->drawLine($XPos+$OuterTickWidth,$YPos,$XPos-$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha)); }
- }
-
- }
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxRight+4;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxRight = $Bounds[1]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxRight + $this->FontSize;
- }
-
- $AxisPos["R"] = $MaxRight + $ScaleSpacing;
- }
- }
- }
-
-
-
- if ( $Parameters["Identity"] == AXIS_Y )
- {
- if ( $Pos == SCALE_POS_LEFTRIGHT )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["L"],$this->GraphAreaY1,$AxisPos["L"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["L"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["L"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_RIGHT )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY2-$Parameters["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($AxisPos["R"],$this->GraphAreaY1,$AxisPos["R"],$this->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($AxisPos["R"],$this->GraphAreaY1+$Parameters["Margin"],$AxisPos["R"],$this->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Parameters["Margin"]*2;
- $Step = $Height / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $YPos = $this->GraphAreaY2 - $Parameters["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($this->GraphAreaX1+$FloatingOffset,$LastY,$this->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($this->GraphAreaX1+$FloatingOffset,$YPos,$this->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->GraphAreaY1+($this->GraphAreaY2-$this->GraphAreaY1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->DataSet->Data["GraphArea"]["X2"] = $MaxLeft + $this->FontSize;
- }
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- elseif ( $Pos == SCALE_POS_TOPBOTTOM )
- {
- if ( $Parameters["Position"] == AXIS_POSITION_TOP )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["T"],$this->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["T"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos-$OuterTickWidth-2,$Value,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $TxtHeight = $YPos-$OuterTickWidth-2-($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- elseif ( $Parameters["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->drawLine($this->GraphAreaX1+$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->drawLine($this->GraphAreaX1,$AxisPos["B"],$this->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->drawArrow($this->GraphAreaX2-$Parameters["Margin"],$AxisPos["B"],$this->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Parameters["Margin"]*2;
- $Step = $Width / $Parameters["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$Parameters["Rows"];$i++)
- {
- $XPos = $this->GraphAreaX1 + $Parameters["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->scaleFormat($Parameters["ScaleMin"] + $Parameters["RowHeight"]*$i,$Parameters["Display"],$Parameters["Format"],$Parameters["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->drawFilledRectangle($LastX,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) ) { $this->drawLine($XPos,$this->GraphAreaY1+$FloatingOffset,$XPos,$this->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $Parameters["Rows"] )
- $this->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->drawText($XPos,$YPos+$OuterTickWidth+2,$Value,array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $TxtHeight = $YPos+$OuterTickWidth+2+($Bounds[1]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtHeight);
-
- $LastX = $XPos;
- }
-
- if ( isset($Parameters["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->GraphAreaX1+($this->GraphAreaX2-$this->GraphAreaX1)/2;
- $Bounds = $this->drawText($XPos,$YPos,$Parameters["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->DataSet->Data["GraphArea"]["Y2"] = $MaxBottom + $this->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- }
- }
- }
- }
-
- function isValidLabel($Value,$LastValue,$LabelingMethod,$ID,$LabelSkip)
- {
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value != $LastValue ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_DIFFERENT && $Value == $LastValue ) { return(FALSE); }
- if ( $LabelingMethod == LABELING_ALL && $LabelSkip == 0 ) { return(TRUE); }
- if ( $LabelingMethod == LABELING_ALL && ($ID+$LabelSkip) % ($LabelSkip+1) != 1 ) { return(FALSE); }
-
- return(TRUE);
- }
-
- /* Compute the scale, check for the best visual factors */
- function computeScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID=0)
- {
- /* Compute each factors */
- $Results = "";
- foreach ($Factors as $Key => $Factor)
- $Results[$Factor] = $this->processScale($XMin,$XMax,$MaxDivs,array($Factor),$AxisID);
-
- /* Remove scales that are creating to much decimals */
- $GoodScaleFactors = "";
- foreach ($Results as $Key => $Result)
- {
- $Decimals = preg_split("/\./",$Result["RowHeight"]);
- if ( (!isset($Decimals[1])) || (strlen($Decimals[1]) < 6) ) { $GoodScaleFactors[] = $Key; }
- }
-
- /* Found no correct scale, shame,... returns the 1st one as default */
- if ( $GoodScaleFactors == "" ) { return($Results[$Factors[0]]); }
-
- /* Find the factor that cause the maximum number of Rows */
- $MaxRows = 0; $BestFactor = 0;
- foreach($GoodScaleFactors as $Key => $Factor)
- { if ( $Results[$Factor]["Rows"] > $MaxRows ) { $MaxRows = $Results[$Factor]["Rows"]; $BestFactor = $Factor; } }
-
- /* Return the best visual scale */
- return($Results[$BestFactor]);
- }
-
- /* Compute the best matching scale based on size & factors */
- function processScale($XMin,$XMax,$MaxDivs,$Factors,$AxisID)
- {
- $ScaleHeight = abs(ceil($XMax)-floor($XMin));
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Format"]) )
- $Format = $this->DataSet->Data["Axis"][$AxisID]["Format"];
- else
- $Format = NULL;
-
- if ( isset($this->DataSet->Data["Axis"][$AxisID]["Display"]) )
- $Mode = $this->DataSet->Data["Axis"][$AxisID]["Display"];
- else
- $Mode = AXIS_FORMAT_DEFAULT;
-
- $Scale = "";
- if ( $XMin != $XMax )
- {
- $Found = FALSE; $Rescaled = FALSE; $Scaled10Factor = .0001; $Result = 0;
- while(!$Found)
- {
- foreach($Factors as $Key => $Factor)
- {
- if ( !$Found )
- {
- if ( !($this->modulo($XMin,$Factor*$Scaled10Factor) == 0) || ($XMin != floor($XMin))) { $XMinRescaled = floor($XMin/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor; } else { $XMinRescaled = $XMin; }
- if ( !($this->modulo($XMax,$Factor*$Scaled10Factor) == 0) || ($XMax != floor($XMax))) { $XMaxRescaled = floor($XMax/($Factor*$Scaled10Factor))*$Factor*$Scaled10Factor+($Factor*$Scaled10Factor); } else { $XMaxRescaled = $XMax; }
- $ScaleHeightRescaled = abs($XMaxRescaled-$XMinRescaled);
-
- if ( !$Found && floor($ScaleHeightRescaled/($Factor*$Scaled10Factor)) <= $MaxDivs ) { $Found = TRUE; $Rescaled = TRUE; $Result = $Factor * $Scaled10Factor; }
- }
- }
- $Scaled10Factor = $Scaled10Factor * 10;
- }
-
- /* ReCall Min / Max / Height */
- if ( $Rescaled ) { $XMin = $XMinRescaled; $XMax = $XMaxRescaled; $ScaleHeight = $ScaleHeightRescaled; }
-
- /* Compute rows size */
- $Rows = floor($ScaleHeight / $Result); if ( $Rows == 0 ) { $Rows = 1; }
- $RowHeight = $ScaleHeight / $Rows;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
-
- /* Compute the needed decimals for the metric view to avoid repetition of the same X Axis labels */
- if ( $Mode == AXIS_FORMAT_METRIC && $Format == NULL )
- {
- $Done = FALSE; $GoodDecimals = 0;
- for($Decimals=0;$Decimals<=10;$Decimals++)
- {
- if ( !$Done )
- {
- $LastLabel = "zob"; $ScaleOK = TRUE;
- for($i=0;$i<=$Rows;$i++)
- {
- $Value = $XMin + $i*$RowHeight;
- $Label = $this->scaleFormat($Value,AXIS_FORMAT_METRIC,$Decimals);
-
- if ( $LastLabel == $Label ) { $ScaleOK = FALSE; }
- $LastLabel = $Label;
- }
- if ( $ScaleOK ) { $Done = TRUE; $GoodDecimals = $Decimals; }
- }
- }
-
- $Scale["Format"] = $GoodDecimals;
- }
- }
- else
- {
- /* If all values are the same we keep a +1/-1 scale */
- $Rows = 2; $XMin = $XMax-1; $XMax = $XMax+1; $RowHeight = 1;
-
- /* Return the results */
- $Scale["Rows"] = $Rows; $Scale["RowHeight"] = $RowHeight; $Scale["XMin"] = $XMin; $Scale["XMax"] = $XMax;
- }
-
- return($Scale);
- }
-
- function modulo($Value1,$Value2)
- {
- if (floor($Value2) == 0) { return(0); }
- if (floor($Value2) != 0) { return($Value1 % $Value2); }
-
- $MinValue = min($Value1,$Value2); $Factor = 10;
- while ( floor($MinValue*$Factor) == 0 )
- { $Factor = $Factor * 10; }
-
- return(($Value1*$Factor) % ($Value2*$Factor));
- }
-
- /* Draw a threshold with the computed scale */
- function drawThreshold($Value,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 50;
- $Weight = isset($Format["Weight"]) ? $Format["Weight"] : NULL;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 6;
- $Wide = isset($Format["Wide"]) ? $Format["Wide"] : FALSE;
- $WideFactor = isset($Format["WideFactor"]) ? $Format["WideFactor"] : 5;
- $WriteCaption = isset($Format["WriteCaption"]) ? $Format["WriteCaption"] : FALSE;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : NULL;
- $CaptionAlign = isset($Format["CaptionAlign"]) ? $Format["CaptionAlign"] : CAPTION_LEFT_TOP;
- $CaptionOffset = isset($Format["CaptionOffset"]) ? $Format["CaptionOffset"] : 10;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 30;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha,
- "R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha);
-
- if ( $Caption == NULL ) { $Caption = $Value; }
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $YPos >= $this->GraphAreaY1 && $YPos <= $this->GraphAreaY2 )
- {
- $this->drawLine($this->GraphAreaX1,$YPos,$this->GraphAreaX2,$YPos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($this->GraphAreaX1,$YPos-1,$this->GraphAreaX2,$YPos-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($this->GraphAreaX1,$YPos+1,$this->GraphAreaX2,$YPos+1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $X = $this->GraphAreaX1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- { $X = $this->GraphAreaX2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
-
- $this->drawText($X,$YPos,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$YPos));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos = $this->scaleComputeY($Value,array("AxisID"=>$AxisID));
- if ( $XPos >= $this->GraphAreaX1 && $XPos <= $this->GraphAreaX2 )
- {
- $this->drawLine($XPos,$this->GraphAreaY1,$XPos,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Wide )
- {
- $this->drawLine($XPos-1,$this->GraphAreaY1,$XPos-1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- $this->drawLine($XPos+1,$this->GraphAreaY1,$XPos+1,$this->GraphAreaY2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/$WideFactor,"Ticks"=>$Ticks));
- }
-
- if ( $WriteCaption )
- {
- if ( $CaptionAlign == CAPTION_LEFT_TOP )
- { $Y = $this->GraphAreaY1 + $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- else
- { $Y = $this->GraphAreaY2 - $CaptionOffset; $CaptionSettings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
-
- $CaptionSettings["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $this->drawText($XPos,$Y,$Caption,$CaptionSettings);
- }
- }
-
- return(array("Y"=>$XPos));
- }
- }
-
- /* Draw a threshold with the computed scale */
- function drawThresholdArea($Value1,$Value2,$Format="")
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $R = isset($Format["R"]) ? $Format["R"] : 255;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 20;
- $Border = isset($Format["Border"]) ? $Format["Border"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha + 20;
- $BorderTicks = isset($Format["BorderTicks"]) ? $Format["BorderTicks"] : 2;
-
- if ($BorderAlpha >100) { $BorderAlpha = 100;}
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $YPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $YPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $YPos1 > $this->GraphAreaY2 ) { $YPos1 = $this->GraphAreaY2; } if ( $YPos1 < $this->GraphAreaY1 ) { $YPos1 = $this->GraphAreaY1; }
- if ( $YPos2 > $this->GraphAreaY2 ) { $YPos2 = $this->GraphAreaY2; } if ( $YPos2 < $this->GraphAreaY1 ) { $YPos2 = $this->GraphAreaY1; }
-
- $this->drawFilledRectangle($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos2,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($this->GraphAreaX1+1,$YPos1,$this->GraphAreaX2-1,$YPos1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($this->GraphAreaX1+1,$YPos2,$this->GraphAreaX2-1,$YPos2,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$YPos1,"Y2"=>$YPos2));
- }
-
- if ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- $XPos1 = $this->scaleComputeY($Value1,array("AxisID"=>$AxisID));
- $XPos2 = $this->scaleComputeY($Value2,array("AxisID"=>$AxisID));
-
- if ( $XPos1 > $this->GraphAreaX2 ) { $XPos1 = $this->GraphAreaX2; } if ( $XPos1 < $this->GraphAreaX1 ) { $XPos1 = $this->GraphAreaX1; }
- if ( $XPos2 > $this->GraphAreaX2 ) { $XPos2 = $this->GraphAreaX2; } if ( $XPos2 < $this->GraphAreaX1 ) { $XPos2 = $this->GraphAreaX1; }
-
- $this->drawFilledRectangle($XPos1,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- if ( $Border )
- {
- $this->drawLine($XPos1,$this->GraphAreaY1+1,$XPos1,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- $this->drawLine($XPos2,$this->GraphAreaY1+1,$XPos2,$this->GraphAreaY2-1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Ticks"=>$BorderTicks));
- }
- return(array("Y1"=>$XPos1,"Y2"=>$XPos2));
- }
- }
-
- function scaleGetXSettings()
- {
- $Data = $this->DataSet->getData();
- foreach($Data["Axis"] as $AxisID => $Settings)
- {
- if ( $Settings["Identity"] == AXIS_X )
- {
- $Rows = $Settings["Rows"];
-
- return(array($Settings["Margin"],$Rows));
- }
- }
- }
-
- function scaleComputeY($Values,$Option="",$ReturnOnly0Height=FALSE)
- {
- $AxisID = isset($Option["AxisID"]) ? $Option["AxisID"] : 0;
- $SerieName = isset($Option["SerieName"]) ? $Option["SerieName"] : NULL;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Axis"][$AxisID]) ) { return(-1); }
-
- if ( $SerieName != NULL ) { $AxisID = $Data["Series"][$SerieName]["Axis"]; }
- if ( !is_array($Values) ) { $tmp = $Values; $Values = ""; $Values[0] = $tmp; }
-
- $Result = "";
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $Height = ($this->GraphAreaY2 - $this->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
- else
- {
- $Width = ($this->GraphAreaX2 - $this->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleWidth = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Width / $ScaleWidth;
-
- if ( $ReturnOnly0Height )
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $Step * $Value; } } }
- else
- { foreach($Values as $Key => $Value) { if ( $Value == VOID ) { $Result[] = VOID; } else { $Result[] = $this->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"])); } } }
- }
-
- if ( count($Result) == 1 )
- return($Result[0]);
- else
- return($Result);
- }
-
- /* Format the axis values */
- function scaleFormat($Value,$Mode=NULL,$Format=NULL,$Unit=NULL)
- {
- if ( $Value == VOID ) { return(""); }
-
- if ( $Mode == AXIS_FORMAT_DATE )
- { if ( $Format == NULL ) { $Pattern = "d/m/Y"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_TIME )
- { if ( $Format == NULL ) { $Pattern = "H:i:s"; } else { $Pattern = $Format; } return(date($Pattern,$Value)); }
-
- if ( $Mode == AXIS_FORMAT_CURRENCY )
- { return($Format.number_format($Value,2)); }
-
- if ( $Mode == AXIS_FORMAT_METRIC )
- {
- if (abs($Value) > 1000000000)
- return(round($Value/1000000000,$Format)."g".$Unit);
- if (abs($Value) > 1000000)
- return(round($Value/1000000,$Format)."m".$Unit);
- elseif (abs($Value) >= 1000)
- return(round($Value/1000,$Format)."k".$Unit);
-
- }
- return($Value.$Unit);
- }
-
- /* Write Max value on a chart */
- function writeBounds($Type=BOUND_BOTH,$Format=NULL)
- {
- $MaxLabelTxt = isset($Format["MaxLabelTxt"]) ? $Format["MaxLabelTxt"] : "max=";
- $MinLabelTxt = isset($Format["MinLabelTxt"]) ? $Format["MinLabelTxt"] : "min=";
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : 1;
- $ExcludedSeries = isset($Format["ExcludedSeries"]) ? $Format["ExcludedSeries"] : "";
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $MaxDisplayR = isset($Format["MaxDisplayR"]) ? $Format["MaxDisplayR"] : 0;
- $MaxDisplayG = isset($Format["MaxDisplayG"]) ? $Format["MaxDisplayG"] : 0;
- $MaxDisplayB = isset($Format["MaxDisplayB"]) ? $Format["MaxDisplayB"] : 0;
- $MinDisplayR = isset($Format["MinDisplayR"]) ? $Format["MinDisplayR"] : 255;
- $MinDisplayG = isset($Format["MinDisplayG"]) ? $Format["MinDisplayG"] : 255;
- $MinDisplayB = isset($Format["MinDisplayB"]) ? $Format["MinDisplayB"] : 255;
- $MinLabelPos = isset($Format["MinLabelPos"]) ? $Format["MinLabelPos"] : BOUND_LABEL_POS_AUTO;
- $MaxLabelPos = isset($Format["MaxLabelPos"]) ? $Format["MaxLabelPos"] : BOUND_LABEL_POS_AUTO;
- $DrawBox = isset($Format["DrawBox"]) ? $Format["DrawBox"] : TRUE;
- $DrawBoxBorder = isset($Format["DrawBoxBorder"]) ? $Format["DrawBoxBorder"] : FALSE;
- $BorderOffset = isset($Format["BorderOffset"]) ? $Format["BorderOffset"] : 3;
- $BoxRounded = isset($Format["BoxRounded"]) ? $Format["BoxRounded"] : TRUE;
- $RoundedRadius = isset($Format["RoundedRadius"]) ? $Format["RoundedRadius"] : 3;
- $BoxR = isset($Format["BoxR"]) ? $Format["BoxR"] : 0;
- $BoxG = isset($Format["BoxG"]) ? $Format["BoxG"] : 0;
- $BoxB = isset($Format["BoxB"]) ? $Format["BoxB"] : 0;
- $BoxAlpha = isset($Format["BoxAlpha"]) ? $Format["BoxAlpha"] : 20;
- $BoxSurrounding = isset($Format["BoxSurrounding"]) ? $Format["BoxSurrounding"] : "";
- $BoxBorderR = isset($Format["BoxBorderR"]) ? $Format["BoxBorderR"] : 255;
- $BoxBorderG = isset($Format["BoxBorderG"]) ? $Format["BoxBorderG"] : 255;
- $BoxBorderB = isset($Format["BoxBorderB"]) ? $Format["BoxBorderB"] : 255;
- $BoxBorderAlpha = isset($Format["BoxBorderAlpha"]) ? $Format["BoxBorderAlpha"] : 100;
-
- $CaptionSettings = array("DrawBox"=>$DrawBox,"DrawBoxBorder"=>$DrawBoxBorder,"BorderOffset"=>$BorderOffset,"BoxRounded"=>$BoxRounded,"RoundedRadius"=>$RoundedRadius,
- "BoxR"=>$BoxR,"BoxG"=>$BoxG,"BoxB"=>$BoxB,"BoxAlpha"=>$BoxAlpha,"BoxSurrounding"=>$BoxSurrounding,
- "BoxBorderR"=>$BoxBorderR,"BoxBorderG"=>$BoxBorderG,"BoxBorderB"=>$BoxBorderB,"BoxBorderAlpha"=>$BoxBorderAlpha);
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Data = $this->DataSet->getData();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] && !isset($ExcludedSeries[$SerieName]))
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $MinValue = $this->DataSet->getMin($SerieName);
- $MaxValue = $this->DataSet->getMax($SerieName);
-
- $MinPos = VOID; $MaxPos = VOID;
- foreach($Serie["Data"] as $Key => $Value)
- {
- if ( $Value == $MinValue && $MinPos == VOID ) { $MinPos = $Key; }
- if ( $Value == $MaxValue ) { $MaxPos = $Key; }
- }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaX1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat(round($MaxValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_TOPMIDDLE; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat(round($MinValue,$Decimals),$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($XPos,$YPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = (($this->GraphAreaX1 - $TxtPos[0]["X"])/2); }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -(($TxtPos[1]["X"] - $this->GraphAreaX2)/2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $TxtPos[2]["Y"]; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -($TxtPos[0]["Y"] - $this->GraphAreaY2); }
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($XPos+$XOffset,$YPos-$DisplayOffset+$YOffset,$Label,$CaptionSettings);
- }
- }
- else
- {
- $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs;
- $X = $this->GraphAreaY1 + $XMargin;
- $SerieOffset = isset($Serie["XOffset"]) ? $Serie["XOffset"] : 0;
-
- if ( $Type == BOUND_MAX || $Type == BOUND_BOTH )
- {
- if ( $MaxLabelPos == BOUND_LABEL_POS_TOP || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue >= 0) ) { $YPos = $PosArray[$MaxPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MaxLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MaxLabelPos == BOUND_LABEL_POS_AUTO && $MaxValue < 0) ) { $YPos = $PosArray[$MaxPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MaxPos*$XStep + $SerieOffset;
- $Label = $MaxLabelTxt.$this->scaleFormat($MaxValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MaxDisplayR; $CaptionSettings["G"] = $MaxDisplayG;
- $CaptionSettings["B"] = $MaxDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
-
- if ( $Type == BOUND_MIN || $Type == BOUND_BOTH )
- {
- if ( $MinLabelPos == BOUND_LABEL_POS_TOP || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue >= 0) ) { $YPos = $PosArray[$MinPos] + $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLELEFT; }
- if ( $MinLabelPos == BOUND_LABEL_POS_BOTTOM || ( $MinLabelPos == BOUND_LABEL_POS_AUTO && $MinValue < 0) ) { $YPos = $PosArray[$MinPos] - $DisplayOffset + 2; $Align = TEXT_ALIGN_MIDDLERIGHT; }
-
- $XPos = $X + $MinPos*$XStep + $SerieOffset;
- $Label = $MinLabelTxt.$this->scaleFormat($MinValue,$Mode,$Format,$Unit);
-
- $TxtPos = $this->getTextBox($YPos,$XPos,$this->FontName,$this->FontSize,0,$Label);
- $XOffset = 0; $YOffset = 0;
- if ( $TxtPos[0]["X"] < $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $TxtPos[0]["X"]; }
- if ( $TxtPos[1]["X"] > $this->GraphAreaX2 ) { $XOffset = -($TxtPos[1]["X"] - $this->GraphAreaX2); }
- if ( $TxtPos[2]["Y"] < $this->GraphAreaY1 ) { $YOffset = ($this->GraphAreaY1 - $TxtPos[2]["Y"])/2; }
- if ( $TxtPos[0]["Y"] > $this->GraphAreaY2 ) { $YOffset = -(($TxtPos[0]["Y"] - $this->GraphAreaY2)/2);}
-
- $CaptionSettings["R"] = $MinDisplayR; $CaptionSettings["G"] = $MinDisplayG;
- $CaptionSettings["B"] = $MinDisplayB; $CaptionSettings["Align"] = $Align;
-
- $this->drawText($YPos+$XOffset,$XPos+$YOffset,$Label,$CaptionSettings);
- }
- }
- }
- }
- }
-
- /* Draw a plot chart */
- function drawPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 50;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 50;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 50;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 4;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
- if ( isset($Serie["Picture"]) )
- { $Picture = $Serie["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->getPicInfo($Picture); }
- else { $Picture = NULL; $PicOffset = 0; }
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Shape = $Serie["Shape"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicHeight / 2; $PlotSize = 0; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset-$PlotSize-$BorderSize-$PicOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- if ( $Picture != NULL ) { $PicOffset = $PicWidth / 2; $PlotSize = 0; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset+$PlotSize+$BorderSize+$PicOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X != VOID )
- {
- if ( $RecordImageMap ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$PlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Picture != NULL )
- { $this->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- else
- { $this->drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- }
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a spline chart */
- function drawSplineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL; // 234
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL; // 55
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL; // 26
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y == VOID && $LastY != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $Y != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $LastX = 1; $LastY = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X == VOID && $LastX != NULL )
- { $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight)); $WayPoints = ""; }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodX != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); }
-
- if ( $X != VOID )
- $WayPoints[] = array($X,$Y);
-
- if ( $X != VOID ) { $LastGoodX = $X; $LastGoodY = $Y; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
- }
- }
-
- /* Draw a filled spline chart */
- function drawFilledSplineChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- if ( $AroundZero ) { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $WayPoints = "";
- $Force = $XStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- $LastX = ""; $LastY = "";
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues )
- $this->drawText($X,$Y-$DisplayOffset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $Y == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y-.5); /* -.5 for AA visual fix */
-
- $X = $X + $XStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $Area[$key][0]["X"]; $Corners[] = $YZero;
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"]+1;
- }
- $Corners[] = $Points[$subKey]["X"]-1; $Corners[] = $YZero;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $WayPoints = "";
- $Force = $YStep / 5;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues )
- $this->drawText($X+$DisplayOffset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
-
- if ( $X == VOID )
- {
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- $WayPoints = "";
- }
- else
- $WayPoints[] = array($X,$Y);
-
- $Y = $Y + $YStep;
- }
- $Area = $this->drawSpline($WayPoints,array("Force"=>$Force,"PathOnly"=>TRUE));
-
- if ( $Area != "" )
- {
- foreach ($Area as $key => $Points)
- {
- $Corners = ""; $Corners[] = $YZero; $Corners[] = $Area[$key][0]["Y"];
- foreach($Points as $subKey => $Point)
- {
- if ( $subKey == count($Points)-1) { $Corners[] = $Point["X"]-1; } else { $Corners[] = $Point["X"]; }
- $Corners[] = $Point["Y"];
- }
- $Corners[] = $YZero; $Corners[] = $Points[$subKey]["Y"]-1;
-
- $this->drawPolygonChart($Corners,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha/2,"NoBorder"=>TRUE,"Threshold"=>$Threshold));
- }
- $this->drawSpline($WayPoints,array("Force"=>$Force,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks));
- }
-
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawLineChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $RecordImageMap && $Y != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- { $this->drawText($X+$DisplayOffset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
-
- if ( $RecordImageMap && $X != VOID ) { $this->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- $this->drawLine($LastX,$LastY,$X,$Y,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight));
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- { $this->drawLine($LastGoodX,$LastGoodY,$X,$Y,$BreakSettings); $LastGoodY = NULL; }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a line chart */
- function drawZoneChart($SerieA,$SerieB,$Format=NULL)
- {
- $AxisID = isset($Format["AxisID"]) ? $Format["AxisID"] : 0;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 150;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 150;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 150;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 50;
- $LineTicks = isset($Format["LineTicks"]) ? $Format["LineTicks"] : 1;
- $AreaR = isset($Format["AreaR"]) ? $Format["AreaR"] : 150;
- $AreaG = isset($Format["AreaG"]) ? $Format["AreaG"] : 150;
- $AreaB = isset($Format["AreaB"]) ? $Format["AreaB"] : 150;
- $AreaAlpha = isset($Format["AreaAlpha"]) ? $Format["AreaAlpha"] : 5;
-
- $Data = $this->DataSet->getData();
- if ( !isset($Data["Series"][$SerieA]["Data"]) || !isset($Data["Series"][$SerieB]["Data"]) ) { return(0); }
- $SerieAData = $Data["Series"][$SerieA]["Data"];
- $SerieBData = $Data["Series"][$SerieB]["Data"];
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArrayA = $this->scaleComputeY($SerieAData,array("AxisID"=>$AxisID));
- $PosArrayB = $this->scaleComputeY($SerieBData,array("AxisID"=>$AxisID));
- if ( count($PosArrayA) != count($PosArrayB) ) { return(0); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastX = NULL; $LastY1 = NULL; $LastY2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $Y1)
- {
- $Y2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X; $BoundsA[] = $Y1;
- $BoundsB[] = $X; $BoundsB[] = $Y2;
-
- $LastX = $X;
- $LastY1 = $Y1; $LastY2 = $Y2;
-
- $X = $X + $XStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- $LastY = NULL; $LastX1 = NULL; $LastX2 = NULL;
- $BoundsA = ""; $BoundsB = "";
- foreach($PosArrayA as $Key => $X1)
- {
- $X2 = $PosArrayB[$Key];
-
- $BoundsA[] = $X1; $BoundsA[] = $Y;
- $BoundsB[] = $X2; $BoundsB[] = $Y;
-
- $LastY = $Y;
- $LastX1 = $X1; $LastX2 = $X2;
-
- $Y = $Y + $YStep;
- }
- $Bounds = array_merge($BoundsA,$this->reversePlots($BoundsB));
- $this->drawPolygonChart($Bounds,array("R"=>$AreaR,"G"=>$AreaG,"B"=>$AreaB,"Alpha"=>$AreaAlpha));
-
- for($i=0;$i<=count($BoundsA)-4;$i=$i+2)
- {
- $this->drawLine($BoundsA[$i],$BoundsA[$i+1],$BoundsA[$i+2],$BoundsA[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- $this->drawLine($BoundsB[$i],$BoundsB[$i+1],$BoundsB[$i+2],$BoundsB[$i+3],array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha,"Ticks"=>$LineTicks));
- }
- }
- }
-
- /* Draw a step chart */
- function drawStepChart($Format=NULL)
- {
- $BreakVoid = isset($Format["BreakVoid"]) ? $Format["BreakVoid"] : FALSE;
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $VoidTicks = isset($Format["VoidTicks"]) ? $Format["VoidTicks"] : 4;
- $BreakR = isset($Format["BreakR"]) ? $Format["BreakR"] : NULL;
- $BreakG = isset($Format["BreakG"]) ? $Format["BreakG"] : NULL;
- $BreakB = isset($Format["BreakB"]) ? $Format["BreakB"] : NULL;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 5;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- if ( $BreakR == NULL )
- $BreakSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
- else
- $BreakSettings = array("R"=>$BreakR,"G"=>$BreakG,"B"=>$BreakB,"Alpha"=>$Alpha,"Ticks"=>$VoidTicks,"Weight"=>$Weight);
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Y <= $LastY ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset-$Weight,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$X,$LastY,$Color);
- $this->drawLine($X,$LastY,$X,$Y,$Color);
- if ( $ReCenter && $X+$XStep < $this->GraphAreaX2 - $XMargin )
- {
- $this->drawLine($X,$Y,$X+$XStep,$Y,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- { if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); } }
- }
-
- if ( $Y != VOID && $LastY == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- if ( $ReCenter )
- {
- $this->drawLine($LastGoodX+$XStep,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX+$XStep-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- else
- {
- $this->drawLine($LastGoodX,$LastGoodY,$X,$LastGoodY,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($LastGoodY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- $this->drawLine($X,$LastGoodY,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif( !$BreakVoid && $LastGoodY == NULL && $Y != VOID )
- {
- $this->drawLine($this->GraphAreaX1 + $XMargin,$Y,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($this->GraphAreaX1+$XMargin-$ImageMapPlotSize).",".floor($Y-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$this->GraphAreaX2 - $XMargin,$LastY,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($this->GraphAreaX2-$XMargin+$ImageMapPlotSize).",".floor($LastY+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Init = FALSE;
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $X >= $LastX ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset+$Weight,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- $this->drawLine($LastX,$LastY,$LastX,$Y,$Color);
- $this->drawLine($LastX,$Y,$X,$Y,$Color);
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$XStep+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID && $LastX == NULL && $LastGoodY != NULL && !$BreakVoid )
- {
- $this->drawLine($LastGoodX,$LastGoodY,$LastGoodX,$LastGoodY+$YStep,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($LastGoodY+$YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$LastGoodY+$YStep,$LastGoodX,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastGoodX-$ImageMapPlotSize).",".floor($LastGoodY+$YStep-$ImageMapPlotSize).",".floor($LastGoodX+$ImageMapPlotSize).",".floor($YStep+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- $this->drawLine($LastGoodX,$Y,$X,$Y,$BreakSettings);
- $LastGoodY = NULL;
- }
- elseif ( $X != VOID && $LastGoodY == NULL && !$BreakVoid )
- {
- $this->drawLine($X,$this->GraphAreaY1 + $XMargin,$X,$Y,$BreakSettings);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X-$ImageMapPlotSize).",".floor($this->GraphAreaY1+$XMargin-$ImageMapPlotSize).",".floor($X+$ImageMapPlotSize).",".floor($Y+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( !$Init && $ReCenter ) { $Y = $Y - $YStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
- if ( $ReCenter )
- {
- $this->drawLine($LastX,$LastY,$LastX,$this->GraphAreaY2 - $XMargin,$Color);
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($LastX-$ImageMapPlotSize).",".floor($LastY-$ImageMapPlotSize).",".floor($LastX+$ImageMapPlotSize).",".floor($this->GraphAreaY2-$XMargin+$ImageMapPlotSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
- }
- }
- }
- }
- }
-
- /* Draw a step chart */
- function drawFilledStepChart($Format=NULL)
- {
- $ReCenter = isset($Format["ReCenter"]) ? $Format["ReCenter"] : TRUE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] :FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
- if ( $ForceTransparency != NULL ) { $Color["Alpha"] = $ForceTransparency; } else { $Color["Alpha"] = $Alpha; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !$AroundZero ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = ""; $Init = FALSE;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $YZero;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $Y != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $LastX; $Points[] = $YZero; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $LastY;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $Y != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $Y == VOID ) { $Y = NULL; }
-
- if ( !$Init && $ReCenter ) { $X = $X - $XStep/2; $Init = TRUE; }
- $LastX = $X; $LastY = $Y;
- if ( $LastX < $this->GraphAreaX1 + $XMargin ) { $LastX = $this->GraphAreaX1 + $XMargin; }
- $X = $X + $XStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX+$XStep/2; $Points[] = $LastY;
- $Points[] = $LastX+$XStep/2; $Points[] = $YZero;
- }
- else
- { $Points[] = $LastX; $Points[] = $YZero; }
-
- $this->drawPolygon($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $LastGoodY = NULL; $LastGoodX = NULL; $Points = "";
- foreach($PosArray as $Key => $X)
- {
- if ( $X == VOID && $LastX != NULL && $LastY != NULL && $Points !="" )
- {
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $YZero; $Points[] = $Y;
- $this->drawPolygon($Points,$Color);
- $Points = "";
- }
-
- if ( $X != VOID && $LastX != NULL && $LastY != NULL )
- {
- if ( $Points == "") { $Points[] = $YZero; $Points[] = $LastY; }
- $Points[] = $LastX; $Points[] = $LastY;
- $Points[] = $LastX; $Points[] = $Y;
- $Points[] = $X; $Points[] = $Y;
- }
-
- if ( $X != VOID ) { $LastGoodY = $Y; $LastGoodX = $X; }
- if ( $X == VOID ) { $X = NULL; }
-
- if ( $LastX == NULL && $ReCenter ) { $Y = $Y - $YStep/2; }
- $LastX = $X; $LastY = $Y;
- if ( $LastY < $this->GraphAreaY1 + $XMargin ) { $LastY = $this->GraphAreaY1 + $XMargin; }
- $Y = $Y + $YStep;
- }
-
- if ( $ReCenter )
- {
- $Points[] = $LastX; $Points[] = $LastY+$YStep/2;
- $Points[] = $YZero; $Points[] = $LastY+$YStep/2;
- }
- else
- { $Points[] = $YZero; $Points[] = $LastY; }
-
- $this->drawPolygon($Points,$Color);
- }
- }
- }
- }
-
- /* Draw an area chart */
- function drawAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : 25;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Params)
- {
- $Threshold[$Key]["MinX"] = $this->scaleComputeY($Params["Min"],array("AxisID"=>$Serie["Axis"]));
- $Threshold[$Key]["MaxX"] = $this->scaleComputeY($Params["Max"],array("AxisID"=>$Serie["Axis"]));
- }
- }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Areas = ""; $AreaID = 0;
- $Areas[$AreaID][] = $this->GraphAreaX1 + $XMargin;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Y)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X,$Y-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $Y == VOID && isset($Areas[$AreaID]) )
- {
- if($LastX == NULL)
- { $Areas[$AreaID][] = $X; }
- else
- { $Areas[$AreaID][] = $LastX; }
-
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- $AreaID++;
- }
- elseif ($Y != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- $Areas[$AreaID][] = $X;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X;
- $X = $X + $XStep;
- }
- $Areas[$AreaID][] = $LastX;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaY2-1; }
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Areas = ""; $AreaID = 0;
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $this->GraphAreaY1 + $XMargin;
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin; $LastX = NULL; $LastY = NULL;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $X)
- {
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$Offset,$Y,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("Angle"=>270,"R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align));
- }
-
- if ( $X == VOID && isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
-
- if($LastY == NULL)
- { $Areas[$AreaID][] = $Y; }
- else
- { $Areas[$AreaID][] = $LastY; }
-
- $AreaID++;
- }
- elseif ($X != VOID)
- {
- if ( !isset($Areas[$AreaID]) )
- {
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $Y;
- }
-
- $Areas[$AreaID][] = $X;
- $Areas[$AreaID][] = $Y;
- }
-
- $LastX = $X; $LastY = $Y;
- $Y = $Y + $YStep;
- }
- if ( $AroundZero ) { $Areas[$AreaID][] = $YZero; } else { $Areas[$AreaID][] = $this->GraphAreaX1+1; }
- $Areas[$AreaID][] = $LastY;
-
- $Alpha = $ForceTransparency != NULL ? $ForceTransparency : $Alpha;
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Threshold"=>$Threshold);
- foreach($Areas as $Key => $Points)
- $this->drawPolygonChart($Points,$Color);
- }
- }
- }
- }
-
-
- /* Draw a bar chart */
- function drawBarChart($Format=NULL)
- {
- $Floating0Serie = isset($Format["Floating0Serie"]) ? $Format["Floating0Serie"] : NULL;
- $Floating0Value = isset($Format["Floating0Value"]) ? $Format["Floating0Value"] : NULL;
- $Draw0Line = isset($Format["Draw0Line"]) ? $Format["Draw0Line"] : FALSE;
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayOffset = isset($Format["DisplayOffset"]) ? $Format["DisplayOffset"] : 2;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayPos = isset($Format["DisplayPos"]) ? $Format["DisplayPos"] : LABEL_POS_OUTSIDE;
- $DisplayShadow = isset($Format["DisplayShadow"]) ? $Format["DisplayShadow"] : TRUE;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $AroundZero = isset($Format["AroundZero"]) ? $Format["AroundZero"] : TRUE;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $TxtMargin = isset($Format["TxtMargin"]) ? $Format["TxtMargin"] : 6;
- $OverrideColors = isset($Format["OverrideColors"]) ? $Format["OverrideColors"] : NULL;
- $OverrideSurrounding = isset($Format["OverrideSurrounding"]) ? $Format["OverrideSurrounding"] : 30;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $OverrideColors != NULL )
- {
- $OverrideColors = $this->validatePalette($OverrideColors,$OverrideSurrounding);
- $this->DataSet->saveExtendedData("Palette",$OverrideColors);
- }
-
- $RestoreShadow = $this->Shadow;
-
- $SeriesCount = $this->countDrawableSeries();
- $CurrentSerie = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = $R; $DisplayG = $G; $DisplayB = $B; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Floating0Value != NULL )
- { $YZero = $this->scaleComputeY($Floating0Value,array("AxisID"=>$Serie["Axis"])); }
- else
- { $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"])); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- if ( $XDivs == 0 ) { $XSize = ($this->GraphAreaX2-$this->GraphAreaX1)/($SeriesCount+$Interleave); } else { $XSize = ($XStep / ($SeriesCount+$Interleave) ); }
-
- $XOffset = -($XSize*$SeriesCount)/2 + $CurrentSerie * $XSize;
- if ( $X + $XOffset <= $this->GraphAreaX1 ) { $XOffset = $this->GraphAreaX1 - $X + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $XOffset + $XSize / 2;
-
- if ( $Rounded || $BorderR != -1) { $XSpace = 1; } else { $XSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0;
- foreach($PosArray as $Key => $Y2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- { $Value = $Data["Series"][$Floating0Serie]["Data"][$Key]; }
- else
- { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero < $this->GraphAreaY1+1 ) { $YZero = $this->GraphAreaY1+1; }
-
- if ( $AroundZero ) { $Y1 = $YZero; } else { $Y1 = $this->GraphAreaY2-1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $Y2 != VOID )
- {
- $BarHeight = $Y1 - $Y2;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y1,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset+$XSpace).",".floor($Y1).",".floor($X+$XOffset+$XSize-$XSpace).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle($X+$XOffset+$XSpace+1,min($Y1,$Y2)+1,$X+$XOffset+$XSize-$XSpace-1,max($Y1,$Y2)-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_VERTICAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset+$XSpace,$Y1,$X+$XOffset+$XSpan-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor1);
- $this->drawGradientArea($X+$XOffset+$XSpan+$XSpace,$Y1,$X+$XOffset+$XSize-$XSpace,$Y2,DIRECTION_HORIZONTAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($Y1 - $Y2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $Y1 - $Y2 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1)-$Line0Width,$Line0Color);
- $this->drawLine($X+$XOffset+$XSpace,floor($Y1),$X+$XOffset+$XSize-$XSpace,floor($Y1),$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,90,$Caption);
- $TxtHeight = $TxtPos[0]["Y"] - $TxtPos[1]["Y"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtHeight) < abs($BarHeight) )
- {
- $CenterX = (($X+$XOffset+$XSize-$XSpace)-($X+$XOffset+$XSpace))/2 + $X+$XOffset+$XSpace;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"Angle"=>90));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_BOTTOMMIDDLE; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_TOPMIDDLE; $Offset = -$DisplayOffset; }
- $this->drawText($X+$XOffset+$XSize/2,$Y2-$Offset,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-
- $X = $X + $XStep;
- $ID++;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = 0; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- if ( $XDivs == 0 ) { $YSize = ($this->GraphAreaY2-$this->GraphAreaY1)/($SeriesCount+$Interleave); } else { $YSize = ($YStep / ($SeriesCount+$Interleave) ); }
-
- $YOffset = -($YSize*$SeriesCount)/2 + $CurrentSerie * $YSize;
- if ( $Y + $YOffset <= $this->GraphAreaY1 ) { $YOffset = $this->GraphAreaY1 - $Y + 1 ; }
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = $YOffset + $YSize / 2;
-
- if ( $Rounded || $BorderR != -1 ) { $YSpace = 1; } else { $YSpace = 0; }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $ID = 0 ;
- foreach($PosArray as $Key => $X2)
- {
- if ( $Floating0Serie != NULL )
- {
- if ( isset($Data["Series"][$Floating0Serie]["Data"][$Key]) )
- $Value = $Data["Series"][$Floating0Serie]["Data"][$Key];
- else { $Value = 0; }
-
- $YZero = $this->scaleComputeY($Value,array("AxisID"=>$Serie["Axis"]));
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
- if ( $AroundZero ) { $X1 = $YZero; } else { $X1 = $this->GraphAreaX1+1; }
- }
-
- if ( $OverrideColors != NULL )
- { if ( isset($OverrideColors[$ID]) ) { $Color = array("R"=>$OverrideColors[$ID]["R"],"G"=>$OverrideColors[$ID]["G"],"B"=>$OverrideColors[$ID]["B"],"Alpha"=>$OverrideColors[$ID]["Alpha"],"BorderR"=>$OverrideColors[$ID]["BorderR"],"BorderG"=>$OverrideColors[$ID]["BorderG"],"BorderB"=>$OverrideColors[$ID]["BorderB"]); } else { $Color = $this->getRandomColor(); } }
-
- if ( $X2 != VOID )
- {
- $BarWidth = $X2 - $X1;
-
- if ( $Serie["Data"][$Key] == 0 )
- $this->drawLine($X1,$Y+$YOffset+$YSpace,$X1,$Y+$YOffset+$YSize-$YSpace,$Color);
- else
- {
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1).",".floor($Y+$YOffset+$YSpace).",".floor($X2).",".floor($Y+$YOffset+$YSize-$YSpace),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,$Color);
-
- if ( $InnerColor != NULL ) { $this->drawRectangle(min($X1,$X2)+1,$Y+$YOffset+$YSpace+1,max($X1,$X2)-1,$Y+$YOffset+$YSize-$YSpace-1,$InnerColor); }
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- if ( $Serie["Data"][$Key] >= 0 )
- $GradienColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- else
- $GradienColor = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_HORIZONTAL,$GradienColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradienColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradienColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpace,$X2,$Y+$YOffset+$YSpan-$YSpace,DIRECTION_VERTICAL,$GradienColor1);
- $this->drawGradientArea($X1,$Y+$YOffset+$YSpan,$X2,$Y+$YOffset+$YSize-$YSpace,DIRECTION_VERTICAL,$GradienColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $Draw0Line )
- {
- $Line0Color = array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20);
-
- if ( abs($X1 - $X2) > 3 ) { $Line0Width = 3; } else { $Line0Width = 1; }
- if ( $X2 - $X1 < 0 ) { $Line0Width = -$Line0Width; }
-
- $this->drawFilledRectangle(floor($X1),$Y+$YOffset+$YSpace,floor($X1)+$Line0Width,$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- $this->drawLine(floor($X1),$Y+$YOffset+$YSpace,floor($X1),$Y+$YOffset+$YSize-$YSpace,$Line0Color);
- }
- }
-
- if ( $DisplayValues && $Serie["Data"][$Key] != VOID )
- {
- if ( $DisplayShadow ) { $this->Shadow = TRUE; }
-
- $Caption = $this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = $TxtPos[1]["X"] - $TxtPos[0]["X"] + $TxtMargin;
-
- if ( $DisplayPos == LABEL_POS_INSIDE && abs($TxtWidth) < abs($BarWidth) )
- {
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = (($Y+$YOffset+$YSize-$YSpace)-($Y+$YOffset+$YSpace))/2 + ($Y+$YOffset+$YSpace);
-
- $this->drawText($CenterX,$CenterY,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize));
- }
- else
- {
- if ( $Serie["Data"][$Key] >= 0 ) { $Align = TEXT_ALIGN_MIDDLELEFT; $Offset = $DisplayOffset; } else { $Align = TEXT_ALIGN_MIDDLERIGHT; $Offset = -$DisplayOffset; }
- $this->drawText($X2+$Offset,$Y+$YOffset+$YSize/2,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>$Align,"FontSize"=>$DisplaySize));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- $Y = $Y + $YStep;
- $ID++;
- }
- }
- $CurrentSerie++;
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedBarChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Interleave = isset($Format["Interleave"]) ? $Format["Interleave"] : .5;
- $Rounded = isset($Format["Rounded"]) ? $Format["Rounded"] : FALSE;
- $RoundRadius = isset($Format["RoundRadius"]) ? $Format["RoundRadius"] : 4;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $Gradient = isset($Format["Gradient"]) ? $Format["Gradient"] : FALSE;
- $GradientMode = isset($Format["GradientMode"]) ? $Format["GradientMode"] : GRADIENT_SIMPLE;
- $GradientAlpha = isset($Format["GradientAlpha"]) ? $Format["GradientAlpha"] : 20;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 0;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 0;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 0;
- $InnerSurrounding = isset($Format["InnerSurrounding"]) ? $Format["InnerSurrounding"] : NULL;
- $InnerBorderR = isset($Format["InnerBorderR"]) ? $Format["InnerBorderR"] : -1;
- $InnerBorderG = isset($Format["InnerBorderG"]) ? $Format["InnerBorderG"] : -1;
- $InnerBorderB = isset($Format["InnerBorderB"]) ? $Format["InnerBorderB"] : -1;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- if ( $InnerSurrounding != NULL ) { $InnerBorderR = $R+$InnerSurrounding; $InnerBorderG = $G+$InnerSurrounding; $InnerBorderB = $B+$InnerSurrounding; }
- if ( $InnerBorderR == -1 ) { $InnerColor = NULL; } else { $InnerColor = array("R"=>$InnerBorderR,"G"=>$InnerBorderG,"B"=>$InnerBorderB); }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- if (isset($Serie["Description"])) { $SerieDescription = $Serie["Description"]; } else { $SerieDescription = $SerieName; }
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- $Color = array("TransCorner"=>TRUE,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB);
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $XSize = ($XStep / (1+$Interleave) );
- $XOffset = -($XSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Height)
- {
- if ( $Height != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $Y1 != $YZero) ) { $YSpaceUp = 1; } else { $YSpaceUp = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $Y1 != $YZero) ) { $YSpaceDown = 1; } else { $YSpaceDown = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X+$XOffset).",".floor($Y1-$YSpaceUp+$YSpaceDown).",".floor($X+$XOffset+$XSize).",".floor($Y2),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X+$XOffset,$Y1-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X+$XOffset+1,$X+$XOffset+$XSize),min($Y1-$YSpaceUp+$YSpaceDown,$Y2)+1,max($X+$XOffset+1,$X+$XOffset+$XSize)-1,max($Y1-$YSpaceUp+$YSpaceDown,$Y2)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_VERTICAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $XSpan = floor($XSize / 3);
-
- $this->drawGradientArea($X+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSpan,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor1);
- $this->drawGradientArea($X+$XSpan+$XOffset-.5,$Y1-.5-$YSpaceUp+$YSpaceDown,$X+$XOffset+$XSize,$Y2+.5,DIRECTION_HORIZONTAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = ( ($X+$XOffset+$XSize) - ($X+$XOffset) ) / 2 + $X+$XOffset;
- $YCenter = ( ($Y2) - ($Y1-$YSpaceUp+$YSpaceDown) ) / 2 + $Y1-$YSpaceUp+$YSpaceDown;
-
- $this->drawText($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
-
- $X = $X + $XStep;
- }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $YSize = $YStep / (1+$Interleave);
- $YOffset = -($YSize/2);
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- foreach($PosArray as $Key => $Width)
- {
- if ( $Width != VOID && $Serie["Data"][$Key] != 0 )
- {
- if ( $Serie["Data"][$Key] > 0 ) { $Pos = "+"; } else { $Pos = "-"; }
-
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- if ( ($Rounded || $BorderR != -1) && ($Pos == "+" && $X1 != $YZero) ) { $XSpaceLeft = 2; } else { $XSpaceLeft = 0; }
- if ( ($Rounded || $BorderR != -1) && ($Pos == "-" && $X1 != $YZero) ) { $XSpaceRight = 2; } else { $XSpaceRight = 0; }
-
- if ( $RecordImageMap ) { $this->addToImageMap("RECT",floor($X1+$XSpaceLeft).",".floor($Y+$YOffset).",".floor($X2-$XSpaceRight).",".floor($Y+$YOffset+$YSize),$this->toHTMLColor($R,$G,$B),$SerieDescription,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit)); }
-
- if ( $Rounded )
- $this->drawRoundedFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$RoundRadius,$Color);
- else
- {
- $this->drawFilledRectangle($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,$Color);
-
- if ( $InnerColor != NULL ) { $RestoreShadow = $this->Shadow; $this->Shadow = FALSE; $this->drawRectangle(min($X1+$XSpaceLeft,$X2-$XSpaceRight)+1,min($Y+$YOffset,$Y+$YOffset+$YSize)+1,max($X1+$XSpaceLeft,$X2-$XSpaceRight)-1,max($Y+$YOffset,$Y+$YOffset+$YSize)-1,$InnerColor); $this->Shadow = $RestoreShadow;}
-
- if ( $Gradient )
- {
- $this->Shadow = FALSE;
-
- if ( $GradientMode == GRADIENT_SIMPLE )
- {
- $GradientColor = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_HORIZONTAL,$GradientColor);
- }
- elseif ( $GradientMode == GRADIENT_EFFECT_CAN )
- {
- $GradientColor1 = array("StartR"=>$GradientEndR,"StartG"=>$GradientEndG,"StartB"=>$GradientEndB,"EndR"=>$GradientStartR,"EndG"=>$GradientStartG,"EndB"=>$GradientStartB,"Alpha"=>$GradientAlpha);
- $GradientColor2 = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB,"Alpha"=>$GradientAlpha);
- $YSpan = floor($YSize / 3);
-
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset,$X2-$XSpaceRight,$Y+$YOffset+$YSpan,DIRECTION_VERTICAL,$GradientColor1);
- $this->drawGradientArea($X1+$XSpaceLeft,$Y+$YOffset+$YSpan,$X2-$XSpaceRight,$Y+$YOffset+$YSize,DIRECTION_VERTICAL,$GradientColor2);
- }
- $this->Shadow = $RestoreShadow;
- }
- }
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = ( $X2 - $X1 ) / 2 + $X1;
- $YCenter = ( ($Y+$YOffset+$YSize) - ($Y+$YOffset) ) / 2 + $Y+$YOffset;
-
- $this->drawText($XCenter,$YCenter,$Caption,array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
-
- $Y = $Y + $YStep;
- }
- }
- }
- }
- }
-
- /* Draw a bar chart */
- function drawStackedAreaChart($Format=NULL)
- {
- $DisplayValues = isset($Format["DisplayValues"]) ? $Format["DisplayValues"] : FALSE;
- $DisplayRound = isset($Format["DisplayRound"]) ? $Format["DisplayRound"] : 0;
- $DisplayColor = isset($Format["DisplayColor"]) ? $Format["DisplayColor"] : DISPLAY_MANUAL;
- $DisplayFont = isset($Format["DisplayFont"]) ? $Format["DisplayFont"] : $this->FontName;
- $DisplaySize = isset($Format["DisplaySize"]) ? $Format["DisplaySize"] : $this->FontSize;
- $DisplayR = isset($Format["DisplayR"]) ? $Format["DisplayR"] : 0;
- $DisplayG = isset($Format["DisplayG"]) ? $Format["DisplayG"] : 0;
- $DisplayB = isset($Format["DisplayB"]) ? $Format["DisplayB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : -1;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : -1;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : -1;
- $ForceTransparency = isset($Format["ForceTransparency"]) ? $Format["ForceTransparency"] : NULL;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- $RestoreShadow = $this->Shadow;
-
- /* Determine if we only have positive or negatives values */
- $Sign["+"] = 0; $Sign["-"] = 0;
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- { foreach($Serie["Data"] as $Key => $Value) { if ($Value > 0) { $Sign["+"]++; } elseif ($Value < 0) { $Sign["-"]++; } } }
- }
- if ( $Sign["+"] == 0 || $Sign["-"] == 0 ) { $SingleWay = TRUE; } else { $SingleWay = FALSE; }
-
- $LastX = ""; $LastY = "";
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"];
-
- if ( $ForceTransparency != NULL ) { $Alpha = $ForceTransparency; }
- if ( $DisplayColor == DISPLAY_AUTO ) { $DisplayR = 255; $DisplayG = 255; $DisplayB = 255; }
- if ( $Surrounding != NULL )
- { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
- else
- { $BorderR = $R; $BorderG = $G; $BorderB = $B; }
-
- $AxisID = $Serie["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]),TRUE);
- $YZero = $this->scaleComputeY(0,array("AxisID"=>$Serie["Axis"]));
-
- $this->DataSet->Data["Series"][$SerieName]["XOffset"] = 0;
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
- if ( $YZero > $this->GraphAreaY2-1 ) { $YZero = $this->GraphAreaY2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipY"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipY"]); }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] >= 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $Y1- $BarHeight / 2;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- /* Reset the X axis parser for the negative values pass */
- $X = $this->GraphAreaX1 + $XMargin;
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Height)
- {
- if ( !isset($LastY[$Key] ) ) { $LastY[$Key] = ""; }
- if ( !isset($LastY[$Key][$Pos] ) ) { $LastY[$Key][$Pos] = $YZero; }
-
- if ( $Height != VOID && $Serie["Data"][$Key] < 0)
- {
- $Y1 = $LastY[$Key][$Pos];
- $Y2 = $Y1 - $Height;
-
- $PointsTop[] = $X; $PointsTop[] = $Y2;
- $PointsBottom[] = $X; $PointsBottom[] = $Y1;
-
- if ( $DisplayValues )
- {
- $BarHeight = abs($Y2-$Y1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtHeight = abs($TxtPos[2]["Y"] - $TxtPos[0]["Y"]);
-
- if ( $BarHeight > $TxtHeight )
- {
- $XCenter = $X;
- $YCenter = $BarHeight / 2 + $Y1;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastY[$Key][$Pos] = $Y2;
- }
- else
- { $PointsTop[] = $X; $PointsTop[] = $LastY[$Key][$Pos]; $PointsBottom[] = $X; $PointsBottom[] = $LastY[$Key][$Pos]; }
-
- $X = $X + $XStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- else
- {
- if ( $YZero < $this->GraphAreaX1+1 ) { $YZero = $this->GraphAreaX1+1; }
- if ( $YZero > $this->GraphAreaX2-1 ) { $YZero = $this->GraphAreaX2-1; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB,"SkipX"=>$YZero);
-
- if ( $SingleWay ) { unset($Color["SkipX"]); }
-
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $PointsTop = ""; $PointsBottom = ""; $Labels = ""; $Pos = "+";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] >= 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 + $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
-
- /* Reset the X axis parser for the negative values pass */
- $Y = $this->GraphAreaY1 + $XMargin;
-
-
- $PointsTop = ""; $PointsBottom = ""; $Pos = "-";
- foreach($PosArray as $Key => $Width)
- {
- if ( !isset($LastX[$Key] ) ) { $LastX[$Key] = ""; }
- if ( !isset($LastX[$Key][$Pos] ) ) { $LastX[$Key][$Pos] = $YZero; }
-
- if ( $Width != VOID && $Serie["Data"][$Key] < 0)
- {
- $X1 = $LastX[$Key][$Pos];
- $X2 = $X1 + $Width;
-
- $PointsTop[] = $X1; $PointsTop[] = $Y;
- $PointsBottom[] = $X2; $PointsBottom[] = $Y;
-
- if ( $DisplayValues )
- {
- $BarWidth = abs($X2-$X1);
-
- $Caption = $this->scaleFormat(round($Serie["Data"][$Key],$DisplayRound),$Mode,$Format,$Unit);
- $TxtPos = $this->getTextBox(0,0,$DisplayFont,$DisplaySize,0,$Caption);
- $TxtWidth = abs($TxtPos[1]["X"] - $TxtPos[0]["X"]);
-
- if ( $BarWidth > $TxtWidth )
- {
- $XCenter = $X1 - $BarWidth / 2;
- $YCenter = $Y;
-
- $Labels[] = array($XCenter,$YCenter,$this->scaleFormat($Serie["Data"][$Key],$Mode,$Format,$Unit),array("R"=>$DisplayR,"G"=>$DisplayG,"B"=>$DisplayB,"Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontSize"=>$DisplaySize,"FontName"=>$DisplayFont));
- }
- }
-
- $LastX[$Key][$Pos] = $X2;
- }
- else
- { $PointsTop[] = $LastX[$Key][$Pos]; $PointsTop[] = $Y; $PointsBottom[] = $LastX[$Key][$Pos]; $PointsBottom[] = $Y; }
-
- $Y = $Y + $YStep;
- }
- $Points = $PointsTop;
- for($i=count($PointsBottom)-2;$i>=0;$i-=2) { $Points[] = $PointsBottom[$i]; $Points[] = $PointsBottom[$i+1]; }
- $this->drawPolygon($Points,$Color);
-
- if ( $DisplayValues ) { foreach($Labels as $Key => $Value) { $this->drawText($Value[0],$Value[1],$Value[2],$Value[3]);} }
- }
- }
- }
- }
-
- /* Returns a random color */
- function getRandomColor($Alpha=100)
- { return(array("R"=>rand(0,255),"G"=>rand(0,255),"B"=>rand(0,255),"Alpha"=>$Alpha)); }
-
- /* Validate a palette */
- function validatePalette($Colors,$Surrounding=NULL)
- {
- $Result = "";
-
- if ( !is_array($Colors) ) { return($this->getRandomColor()); }
-
- foreach($Colors as $Key => $Values)
- {
- if ( isset($Values["R"]) ) { $Result[$Key]["R"] = $Values["R"]; } else { $Result[$Key]["R"] = rand(0,255); }
- if ( isset($Values["G"]) ) { $Result[$Key]["G"] = $Values["G"]; } else { $Result[$Key]["G"] = rand(0,255); }
- if ( isset($Values["B"]) ) { $Result[$Key]["B"] = $Values["B"]; } else { $Result[$Key]["B"] = rand(0,255); }
- if ( isset($Values["Alpha"]) ) { $Result[$Key]["Alpha"] = $Values["Alpha"]; } else { $Result[$Key]["Alpha"] = 100; }
-
- if ( $Surrounding != NULL )
- {
- $Result[$Key]["BorderR"] = $Result[$Key]["R"] + $Surrounding;
- $Result[$Key]["BorderG"] = $Result[$Key]["G"] + $Surrounding;
- $Result[$Key]["BorderB"] = $Result[$Key]["B"] + $Surrounding;
- }
- else
- {
- if ( isset($Values["BorderR"]) ) { $Result[$Key]["BorderR"] = $Values["BorderR"]; } else { $Result[$Key]["BorderR"] = $Result[$Key]["R"]; }
- if ( isset($Values["BorderG"]) ) { $Result[$Key]["BorderG"] = $Values["BorderG"]; } else { $Result[$Key]["BorderG"] = $Result[$Key]["G"]; }
- if ( isset($Values["BorderB"]) ) { $Result[$Key]["BorderB"] = $Values["BorderB"]; } else { $Result[$Key]["BorderB"] = $Result[$Key]["B"]; }
- if ( isset($Values["BorderAlpha"]) ) { $Result[$Key]["BorderAlpha"] = $Values["BorderAlpha"]; } else { $Result[$Key]["BorderAlpha"] = $Result[$Key]["Alpha"]; }
- }
- }
-
- return($Result);
- }
-
- /* Draw the derivative chart associated to the data series */
- function drawDerivative($Format=NULL)
- {
- $Offset = isset($Format["Offset"]) ? $Format["Offset"] : 10;
- $SerieSpacing = isset($Format["SerieSpacing"]) ? $Format["SerieSpacing"] : 3;
- $DerivativeHeight = isset($Format["DerivativeHeight"]) ? $Format["DerivativeHeight"] : 4;
- $ShadedSlopeBox = isset($Format["ShadedSlopeBox"]) ? $Format["ShadedSlopeBox"] : FALSE;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 20;
- $DrawBorder = isset($Format["DrawBorder"]) ? $Format["DrawBorder"] : TRUE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Caption = isset($Format["Caption"]) ? $Format["Caption"] : TRUE;
- $CaptionHeight = isset($Format["CaptionHeight"]) ? $Format["CaptionHeight"] : 10;
- $CaptionWidth = isset($Format["CaptionWidth"]) ? $Format["CaptionWidth"] : 20;
- $CaptionMargin = isset($Format["CaptionMargin"]) ? $Format["CaptionMargin"] : 4;
- $CaptionLine = isset($Format["CaptionLine"]) ? $Format["CaptionLine"] : FALSE;
- $CaptionBox = isset($Format["CaptionBox"]) ? $Format["CaptionBox"] : FALSE;
- $CaptionBorderR = isset($Format["CaptionBorderR"]) ? $Format["CaptionBorderR"] : 0;
- $CaptionBorderG = isset($Format["CaptionBorderG"]) ? $Format["CaptionBorderG"] : 0;
- $CaptionBorderB = isset($Format["CaptionBorderB"]) ? $Format["CaptionBorderB"] : 0;
- $CaptionFillR = isset($Format["CaptionFillR"]) ? $Format["CaptionFillR"] : 255;
- $CaptionFillG = isset($Format["CaptionFillG"]) ? $Format["CaptionFillG"] : 255;
- $CaptionFillB = isset($Format["CaptionFillB"]) ? $Format["CaptionFillB"] : 255;
- $CaptionFillAlpha = isset($Format["CaptionFillAlpha"]) ? $Format["CaptionFillAlpha"] : 80;
- $PositiveSlopeStartR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 184;
- $PositiveSlopeStartG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 234;
- $PositiveSlopeStartB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 88;
- $PositiveSlopeEndR = isset($Format["PositiveSlopeStartR"]) ? $Format["PositiveSlopeStartR"] : 239;
- $PositiveSlopeEndG = isset($Format["PositiveSlopeStartG"]) ? $Format["PositiveSlopeStartG"] : 31;
- $PositiveSlopeEndB = isset($Format["PositiveSlopeStartB"]) ? $Format["PositiveSlopeStartB"] : 36;
- $NegativeSlopeStartR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 184;
- $NegativeSlopeStartG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 234;
- $NegativeSlopeStartB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 88;
- $NegativeSlopeEndR = isset($Format["NegativeSlopeStartR"]) ? $Format["NegativeSlopeStartR"] : 67;
- $NegativeSlopeEndG = isset($Format["NegativeSlopeStartG"]) ? $Format["NegativeSlopeStartG"] : 124;
- $NegativeSlopeEndB = isset($Format["NegativeSlopeStartB"]) ? $Format["NegativeSlopeStartB"] : 227;
-
- $Data = $this->DataSet->getData();
-
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- $YPos = $this->DataSet->Data["GraphArea"]["Y2"] + $Offset;
- else
- $XPos = $this->DataSet->Data["GraphArea"]["X2"] + $Offset;
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; $Alpha = $Serie["Color"]["Alpha"]; $Ticks = $Serie["Ticks"]; $Weight = $Serie["Weight"];
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $Caption )
- {
- if ( $CaptionLine )
- {
- $StartX = floor($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndX = floor($this->GraphAreaX1-$CaptionMargin+$XMargin);
-
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($StartX,$YPos,$EndX,$YPos+$CaptionHeight,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($StartX+2,$YPos+($CaptionHeight/2),$EndX-2,$YPos+($CaptionHeight/2),$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($this->GraphAreaX1-$CaptionWidth+$XMargin-$CaptionMargin,$YPos,$this->GraphAreaX1-$CaptionMargin+$XMargin,$YPos+$CaptionHeight,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- $TopY = $YPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomY = $YPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartX = floor($this->GraphAreaX1+$XMargin);
- $EndX = floor($this->GraphAreaX2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($StartX-1,$TopY-1,$EndX+1,$BottomY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastX != NULL )
- { $Slope = ($LastY - $Y); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $Y == VOID )
- { $LastX = NULL; $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $Y)
- {
- if ( $Y != VOID && $LastY != NULL )
- {
- $Slope = ($LastY - $Y);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL ) // && $Slope != 0
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
- $this->drawGradientArea($LastX,$TopY,$X,$BottomY,DIRECTION_HORIZONTAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL ) // || $Slope == 0
- $this->drawFilledRectangle(floor($LastX),$TopY,floor($X),$BottomY,$Color);
-
- $LastColor = $Color;
- }
-
- if ( $Y == VOID )
- { $LastY = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $X = $X + $XStep;
- }
-
- $YPos = $YPos + $CaptionHeight + $SerieSpacing;
- }
- else
- {
- if ( $Caption )
- {
- $StartY = floor($this->GraphAreaY1-$CaptionWidth+$XMargin-$CaptionMargin);
- $EndY = floor($this->GraphAreaY1-$CaptionMargin+$XMargin);
- if ( $CaptionLine )
- {
- $CaptionSettings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks,"Weight"=>$Weight);
- if ( $CaptionBox ) { $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$CaptionFillR,"G"=>$CaptionFillG,"B"=>$CaptionFillB,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB,"Alpha"=>$CaptionFillAlpha)); }
- $this->drawLine($XPos+($CaptionHeight/2),$StartY+2,$XPos+($CaptionHeight/2),$EndY-2,$CaptionSettings);
- }
- else
- $this->drawFilledRectangle($XPos,$StartY,$XPos+$CaptionHeight,$EndY,array("R"=>$R,"G"=>$G,"B"=>$B,"BorderR"=>$CaptionBorderR,"BorderG"=>$CaptionBorderG,"BorderB"=>$CaptionBorderB));
- }
-
-
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- $TopX = $XPos + ($CaptionHeight/2) - ($DerivativeHeight/2);
- $BottomX = $XPos + ($CaptionHeight/2) + ($DerivativeHeight/2);
-
- $StartY = floor($this->GraphAreaY1+$XMargin);
- $EndY = floor($this->GraphAreaY2-$XMargin);
-
- if ( $DrawBackground ) { $this->drawFilledRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha)); }
- if ( $DrawBorder ) { $this->drawRectangle($TopX-1,$StartY-1,$BottomX+1,$EndY+1,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- /* Determine the Max slope index */
- $LastX = NULL; $LastY = NULL; $MinSlope = 0; $MaxSlope = 1;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- { $Slope = ($X - $LastX); if ( $Slope > $MaxSlope ) { $MaxSlope = $Slope; } if ( $Slope < $MinSlope ) { $MinSlope = $Slope; } }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; }
- }
-
- $LastX = NULL; $LastY = NULL; $LastColor = NULL;
- foreach($PosArray as $Key => $X)
- {
- if ( $X != VOID && $LastX != NULL )
- {
- $Slope = ($X - $LastX);
-
- if ( $Slope >= 0 )
- {
- $SlopeIndex = (100 / $MaxSlope) * $Slope;
- $R = (($PositiveSlopeEndR - $PositiveSlopeStartR)/100)*$SlopeIndex+$PositiveSlopeStartR;
- $G = (($PositiveSlopeEndG - $PositiveSlopeStartG)/100)*$SlopeIndex+$PositiveSlopeStartG;
- $B = (($PositiveSlopeEndB - $PositiveSlopeStartB)/100)*$SlopeIndex+$PositiveSlopeStartB;
- }
- elseif ( $Slope < 0 )
- {
- $SlopeIndex = (100 / abs($MinSlope)) * abs($Slope);
- $R = (($NegativeSlopeEndR - $NegativeSlopeStartR)/100)*$SlopeIndex+$NegativeSlopeStartR;
- $G = (($NegativeSlopeEndG - $NegativeSlopeStartG)/100)*$SlopeIndex+$NegativeSlopeStartG;
- $B = (($NegativeSlopeEndB - $NegativeSlopeStartB)/100)*$SlopeIndex+$NegativeSlopeStartB;
- }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B);
-
- if ( $ShadedSlopeBox && $LastColor != NULL )
- {
- $GradientSettings = array("StartR"=>$LastColor["R"],"StartG"=>$LastColor["G"],"StartB"=>$LastColor["B"],"EndR"=>$R,"EndG"=>$G,"EndB"=>$B);
-
- $this->drawGradientArea($TopX,$LastY,$BottomX,$Y,DIRECTION_VERTICAL,$GradientSettings);
- }
- elseif ( !$ShadedSlopeBox || $LastColor == NULL )
- $this->drawFilledRectangle($TopX,floor($LastY),$BottomX,floor($Y),$Color);
-
- $LastColor = $Color;
- }
-
- if ( $X == VOID )
- { $LastX = NULL; }
- else
- { $LastX = $X; $LastY = $Y; }
-
- $Y = $Y + $XStep;
- }
-
- $XPos = $XPos + $CaptionHeight + $SerieSpacing;
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
- }
-
- /* Draw the line of best fit */
- function drawBestFit($Format="")
- {
- $OverrideTicks = isset($Format["Ticks"]) ? $Format["Ticks"] : NULL;
- $OverrideR = isset($Format["R"]) ? $Format["R"] : VOID;
- $OverrideG = isset($Format["G"]) ? $Format["G"] : VOID;
- $OverrideB = isset($Format["B"]) ? $Format["B"] : VOID;
- $OverrideAlpha = isset($Format["Alpha"]) ? $Format["Alpha"] : VOID;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- foreach($Data["Series"] as $SerieName => $Serie)
- {
- if ( $Serie["isDrawable"] == TRUE && $SerieName != $Data["Abscissa"] )
- {
- if ( $OverrideR != VOID && $OverrideG != VOID && $OverrideB != VOID ) { $R = $OverrideR; $G = $OverrideG; $B = $OverrideB; } else { $R = $Serie["Color"]["R"]; $G = $Serie["Color"]["G"]; $B = $Serie["Color"]["B"]; }
- if ( $OverrideTicks == NULL ) { $Ticks = $Serie["Ticks"]; } else { $Ticks = $OverrideTicks; }
- if ( $OverrideAlpha == VOID ) { $Alpha = $Serie["Color"]["Alpha"]; } else { $Alpha = $OverrideAlpha; }
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- $AxisID = $Serie["Axis"];
- $PosArray = $this->scaleComputeY($Serie["Data"],array("AxisID"=>$Serie["Axis"]));
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $Y)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
-
- $X = $X + $XStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->GraphAreaX1 + $XMargin;
- $Y1 = $M * $X1 + $B;
- $X2 = $this->GraphAreaX2 - $XMargin;
- $Y2 = $M * $X2 + $B;
-
- if ( $Y1 < $this->GraphAreaY1 ) { $X1 = $X1 + ($this->GraphAreaY1-$Y1); $Y1 = $this->GraphAreaY1; }
- if ( $Y1 > $this->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->GraphAreaY2); $Y1 = $this->GraphAreaY2; }
- if ( $Y2 < $this->GraphAreaY1 ) { $X2 = $X2 - ($this->GraphAreaY1-$Y2); $Y2 = $this->GraphAreaY1; }
- if ( $Y2 > $this->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->GraphAreaY2); $Y2 = $this->GraphAreaY2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- else
- {
- if ( $XDivs == 0 ) { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $YStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin;
-
- if ( !is_array($PosArray) ) { $Value = $PosArray; $PosArray = ""; $PosArray[0] = $Value; }
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArray as $Key => $X)
- {
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $Y;
- $Sy = $Sy + $X;
- $Sxx = $Sxx + $Y*$Y;
-
- $Y = $Y + $YStep;
- }
- $n = count($PosArray);
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $Y1 = $this->GraphAreaY1 + $XMargin;
- $X1 = $M * $Y1 + $B;
- $Y2 = $this->GraphAreaY2 - $XMargin;
- $X2 = $M * $Y2 + $B;
-
- if ( $X1 < $this->GraphAreaX1 ) { $Y1 = $Y1 + ($this->GraphAreaX1-$X1); $X1 = $this->GraphAreaX1; }
- if ( $X1 > $this->GraphAreaX2 ) { $Y1 = $Y1 + ($X1-$this->GraphAreaX2); $X1 = $this->GraphAreaX2; }
- if ( $X2 < $this->GraphAreaX1 ) { $Y2 = $Y2 - ($this->GraphAreaY1-$X2); $X2 = $this->GraphAreaX1; }
- if ( $X2 > $this->GraphAreaX2 ) { $Y2 = $Y2 - ($X2-$this->GraphAreaX2); $X2 = $this->GraphAreaX2; }
-
- $this->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Write labels */
- function writeLabel($SeriesName,$Indexes,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $ForceLabels = isset($Format["ForceLabels"]) ? $Format["ForceLabels"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $DrawVerticalLine = isset($Format["DrawVerticalLine"]) ? $Format["DrawVerticalLine"] : FALSE;
- $VerticalLineR = isset($Format["VerticalLineR"]) ? $Format["VerticalLineR"] : 0;
- $VerticalLineG = isset($Format["VerticalLineG"]) ? $Format["VerticalLineG"] : 0;
- $VerticalLineB = isset($Format["VerticalLineB"]) ? $Format["VerticalLineB"] : 0;
- $VerticalLineAlpha = isset($Format["VerticalLineAlpha"]) ? $Format["VerticalLineAlpha"] : 40;
- $VerticalLineTicks = isset($Format["VerticalLineTicks"]) ? $Format["VerticalLineTicks"] : 2;
-
- $Data = $this->DataSet->getData();
- list($XMargin,$XDivs) = $this->scaleGetXSettings();
-
- if ( !is_array($Indexes) ) { $Index = $Indexes; $Indexes = ""; $Indexes[] = $Index; }
- if ( !is_array($SeriesName) ) { $SerieName = $SeriesName; $SeriesName = ""; $SeriesName[] = $SerieName; }
- if ( $ForceLabels != NULL && !is_array($ForceLabels) ) { $ForceLabel = $ForceLabels; $ForceLabels = ""; $ForceLabels[] = $ForceLabel; }
-
- foreach ($Indexes as $Key => $Index)
- {
- $Series = "";
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1)/4; } else { $XStep = ($this->GraphAreaX2-$this->GraphAreaX1-$XMargin*2)/$XDivs; }
- $X = $this->GraphAreaX1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($X,$this->GraphAreaY1+$Data["YMargin"],$X,$this->GraphAreaY2-$Data["YMargin"],array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinY = $this->GraphAreaY2;
- foreach ($SeriesName as $iKey => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->GraphAreaX1 + $XMargin + $Index * $XStep + $SerieOffset);
- $Y = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
-
- if ($Y < $MinY) { $MinY = $Y; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($X,$MinY-3,$Description,$Series,$Format);
-
- }
- else
- {
- if ( $XDivs == 0 ) { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1)/4; } else { $XStep = ($this->GraphAreaY2-$this->GraphAreaY1-$XMargin*2)/$XDivs; }
- $Y = $this->GraphAreaY1 + $XMargin + $Index * $XStep;
-
- if ( $DrawVerticalLine ) { $this->drawLine($this->GraphAreaX1+$Data["YMargin"],$Y,$this->GraphAreaX2-$Data["YMargin"],$Y,array("R"=>$VerticalLineR,"G"=>$VerticalLineG,"B"=>$VerticalLineB,"Alpha"=>$VerticalLineAlpha,"Ticks"=>$VerticalLineTicks)); }
-
- $MinX = $this->GraphAreaX2;
- foreach ($SeriesName as $Key => $SerieName)
- {
- if ( isset($Data["Series"][$SerieName]["Data"][$Index]) )
- {
- $AxisID = $Data["Series"][$SerieName]["Axis"];
-
- if ( $OverrideTitle != NULL)
- $Description = $OverrideTitle;
- elseif ( count($SeriesName) == 1 )
- {
- if ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$SerieName]["Description"]." - ".$Data["Series"][$Data["Abscissa"]]["Data"][$Index];
- else
- $Description = $Data["Series"][$SerieName]["Description"];
- }
- elseif ( isset($Data["Abscissa"]) && isset($Data["Series"][$Data["Abscissa"]]["Data"][$Index]) )
- $Description = $Data["Series"][$Data["Abscissa"]]["Data"][$Index];
-
- $AxisMode = $Data["Axis"][$AxisID]["Display"];
- $AxisFormat = $Data["Axis"][$AxisID]["Format"];
- $AxisUnit = $Data["Axis"][$AxisID]["Unit"];
-
- $Serie = "";
- if ( isset($Data["Extended"]["Palette"][$Index] ) )
- {
- $Serie["R"] = $Data["Extended"]["Palette"][$Index]["R"];
- $Serie["G"] = $Data["Extended"]["Palette"][$Index]["G"];
- $Serie["B"] = $Data["Extended"]["Palette"][$Index]["B"];
- $Serie["Alpha"] = $Data["Extended"]["Palette"][$Index]["Alpha"];
- }
- else
- {
- $Serie["R"] = $Data["Series"][$SerieName]["Color"]["R"];
- $Serie["G"] = $Data["Series"][$SerieName]["Color"]["G"];
- $Serie["B"] = $Data["Series"][$SerieName]["Color"]["B"];
- $Serie["Alpha"] = $Data["Series"][$SerieName]["Color"]["Alpha"];
- }
-
- if ( count($SeriesName) == 1 && isset($Data["Series"][$SerieName]["XOffset"]) )
- $SerieOffset = $Data["Series"][$SerieName]["XOffset"];
- else
- $SerieOffset = 0;
-
- $Value = $Data["Series"][$SerieName]["Data"][$Index];
- if ( $ForceLabels != NULL )
- $Caption = isset($ForceLabels[$Key]) ? $ForceLabels[$Key] : "Not set";
- else
- $Caption = $this->scaleFormat($Value,$AxisMode,$AxisFormat,$AxisUnit);
-
- $X = floor($this->scaleComputeY($Value,array("AxisID"=>$AxisID)));
- $Y = floor($this->GraphAreaY1 + $XMargin + $Index * $XStep + $SerieOffset);
-
- if ($X < $MinX) { $MinX = $X; }
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
- }
- }
- $this->drawLabelBox($MinX,$Y-3,$Description,$Series,$Format);
-
- }
- }
- }
-
- /* Draw a label box */
- function drawLabelBox($X,$Y,$Title,$Captions,$Format="")
- {
- $NoTitle = isset($Format["NoTitle"]) ? $Format["NoTitle"] : NULL;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 50;
- $DrawSerieColor = isset($Format["DrawSerieColor"]) ? $Format["DrawSerieColor"] : TRUE;
- $SerieR = isset($Format["SerieR"]) ? $Format["SerieR"] : NULL;
- $SerieG = isset($Format["SerieG"]) ? $Format["SerieG"] : NULL;
- $SerieB = isset($Format["SerieB"]) ? $Format["SerieB"] : NULL;
- $SerieAlpha = isset($Format["SerieAlpha"]) ? $Format["SerieAlpha"] : NULL;
- $SerieBoxSize = isset($Format["SerieBoxSize"]) ? $Format["SerieBoxSize"] : 6;
- $SerieBoxSpacing = isset($Format["SerieBoxSpacing"]) ? $Format["SerieBoxSpacing"] : 4;
- $VerticalMargin = isset($Format["VerticalMargin"]) ? $Format["VerticalMargin"] : 10;
- $HorizontalMargin = isset($Format["HorizontalMargin"]) ? $Format["HorizontalMargin"] : 8;
- $R = isset($Format["R"]) ? $Format["R"] : $this->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->FontColorA;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->FontSize;
- $TitleMode = isset($Format["TitleMode"]) ? $Format["TitleMode"] : LABEL_TITLE_NOBACKGROUND;
- $TitleR = isset($Format["TitleR"]) ? $Format["TitleR"] : $R;
- $TitleG = isset($Format["TitleG"]) ? $Format["TitleG"] : $G;
- $TitleB = isset($Format["TitleB"]) ? $Format["TitleB"] : $B;
- $TitleBackgroundR = isset($Format["TitleBackgroundR"]) ? $Format["TitleBackgroundR"] : 0;
- $TitleBackgroundG = isset($Format["TitleBackgroundG"]) ? $Format["TitleBackgroundG"] : 0;
- $TitleBackgroundB = isset($Format["TitleBackgroundB"]) ? $Format["TitleBackgroundB"] : 0;
- $GradientStartR = isset($Format["GradientStartR"]) ? $Format["GradientStartR"] : 255;
- $GradientStartG = isset($Format["GradientStartG"]) ? $Format["GradientStartG"] : 255;
- $GradientStartB = isset($Format["GradientStartB"]) ? $Format["GradientStartB"] : 255;
- $GradientEndR = isset($Format["GradientEndR"]) ? $Format["GradientEndR"] : 220;
- $GradientEndG = isset($Format["GradientEndG"]) ? $Format["GradientEndG"] : 220;
- $GradientEndB = isset($Format["GradientEndB"]) ? $Format["GradientEndB"] : 220;
-
- if ( !$DrawSerieColor ) { $SerieBoxSize = 0; $SerieBoxSpacing = 0; }
-
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Title);
- $TitleWidth = ($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2;
- $TitleHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- if ( $NoTitle ) { $TitleWidth = 0; $TitleHeight = 0; }
-
- $CaptionWidth = 0; $CaptionHeight = -$HorizontalMargin;
- foreach($Captions as $Key =>$Caption)
- {
- $TxtPos = $this->getTextBox($X,$Y,$FontName,$FontSize,0,$Caption["Caption"]);
- $CaptionWidth = max($CaptionWidth,($TxtPos[1]["X"] - $TxtPos[0]["X"])+$VerticalMargin*2);
- $CaptionHeight = $CaptionHeight + max(($TxtPos[0]["Y"] - $TxtPos[2]["Y"]),($SerieBoxSize+2)) + $HorizontalMargin;
- }
-
- if ( $CaptionHeight <= 5 ) { $CaptionHeight = $CaptionHeight + $HorizontalMargin/2; }
-
- if ( $DrawSerieColor ) { $CaptionWidth = $CaptionWidth + $SerieBoxSize + $SerieBoxSpacing; }
-
- $BoxWidth = max($BoxWidth,$TitleWidth,$CaptionWidth);
-
- $XMin = $X - 5 - floor(($BoxWidth-10) / 2);
- $XMax = $X + 5 + floor(($BoxWidth-10) / 2);
-
- $RestoreShadow = $this->Shadow;
- if ( $this->Shadow == TRUE )
- {
- $this->Shadow = FALSE;
-
- $Poly = "";
- $Poly[] = $X+$this->ShadowX; $Poly[] = $Y+$this->ShadowX;
- $Poly[] = $X+5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
-
- if ( $NoTitle )
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2+$this->ShadowX;
- }
- else
- {
- $Poly[] = $XMax+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3+$this->ShadowX;
- }
-
- $Poly[] = $XMin+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $Poly[] = $X-5+$this->ShadowX; $Poly[] = $Y-5+$this->ShadowX;
- $this->drawPolygon($Poly,array("R"=>$this->ShadowR,"G"=>$this->ShadowG,"B"=>$this->ShadowB,"Alpha"=>$this->Shadowa));
- }
-
- /* Draw the background */
- $GradientSettings = array("StartR"=>$GradientStartR,"StartG"=>$GradientStartG,"StartB"=>$GradientStartB,"EndR"=>$GradientEndR,"EndG"=>$GradientEndG,"EndB"=>$GradientEndB);
- if ( $NoTitle )
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- else
- $this->drawGradientArea($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-6,DIRECTION_VERTICAL,$GradientSettings);
- $Poly = ""; $Poly[] = $X; $Poly[] = $Y; $Poly[] = $X-5; $Poly[] = $Y-5; $Poly[] = $X+5; $Poly[] = $Y-5;
- $this->drawPolygon($Poly,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB,"NoBorder"=>TRUE));
-
- /* Outer border */
- $OuterBorderColor = $this->allocateColor($this->Picture,100,100,100,100);
- imageline($this->Picture,$XMin,$Y-5,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X-5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X,$Y,$X+5,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$X+5,$Y-5,$XMax,$Y-5,$OuterBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$OuterBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5,$OuterBorderColor);
- imageline($this->Picture,$XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$OuterBorderColor);
- }
-
- /* Inner border */
- $InnerBorderColor = $this->allocateColor($this->Picture,255,255,255,100);
- imageline($this->Picture,$XMin+1,$Y-6,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X-5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X,$Y-1,$X+5,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$X+5,$Y-6,$XMax-1,$Y-6,$InnerBorderColor);
- if ( $NoTitle )
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*2,$InnerBorderColor);
- }
- else
- {
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMin+1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-6,$InnerBorderColor);
- imageline($this->Picture,$XMin+1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax-1,$Y-4-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$InnerBorderColor);
- }
-
- /* Draw the separator line */
- if ( $TitleMode == LABEL_TITLE_NOBACKGROUND && !$NoTitle )
- {
- $YPos = $Y-7-$CaptionHeight-$HorizontalMargin-$HorizontalMargin/2;
- $XMargin = $VerticalMargin / 2;
- $this->drawLine($XMin+$XMargin,$YPos+1,$XMax-$XMargin,$YPos+1,array("R"=>$GradientEndR,"G"=>$GradientEndG,"B"=>$GradientEndB));
- $this->drawLine($XMin+$XMargin,$YPos,$XMax-$XMargin,$YPos,array("R"=>$GradientStartR,"G"=>$GradientStartG,"B"=>$GradientStartB));
- }
- elseif ( $TitleMode == LABEL_TITLE_BACKGROUND )
- {
- $this->drawFilledRectangle($XMin,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin*3,$XMax,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2,array("R"=>$TitleBackgroundR,"G"=>$TitleBackgroundG,"B"=>$TitleBackgroundB));
- imageline($this->Picture,$XMin+1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$XMax-1,$Y-5-$TitleHeight-$CaptionHeight-$HorizontalMargin+$HorizontalMargin/2+1,$InnerBorderColor);
- }
-
- /* Write the description */
- if ( !$NoTitle )
- $this->drawText($XMin+$VerticalMargin,$Y-7-$CaptionHeight-$HorizontalMargin*2,$Title,array("Align"=>TEXT_ALIGN_BOTTOMLEFT,"R"=>$TitleR,"G"=>$TitleG,"B"=>$TitleB));
-
- /* Write the value */
- $YPos = $Y-5-$HorizontalMargin; $XPos = $XMin+$VerticalMargin+$SerieBoxSize+$SerieBoxSpacing;
- foreach($Captions as $Key => $Caption)
- {
- $CaptionTxt = $Caption["Caption"];
- $TxtPos = $this->getTextBox($XPos,$YPos,$FontName,$FontSize,0,$CaptionTxt);
- $CaptionHeight = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]);
-
- /* Write the serie color if needed */
- if ( $DrawSerieColor )
- {
- $BoxSettings = array("R"=>$Caption["Format"]["R"],"G"=>$Caption["Format"]["G"],"B"=>$Caption["Format"]["B"],"Alpha"=>$Caption["Format"]["Alpha"],"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $this->drawFilledRectangle($XMin+$VerticalMargin,$YPos-$SerieBoxSize,$XMin+$VerticalMargin+$SerieBoxSize,$YPos,$BoxSettings);
- }
-
- $this->drawText($XPos,$YPos,$CaptionTxt,array("Align"=>TEXT_ALIGN_BOTTOMLEFT));
-
- $YPos = $YPos - $CaptionHeight - $HorizontalMargin;
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Draw a basic shape */
- function drawShape($X,$Y,$Shape,$PlotSize,$PlotBorder,$BorderSize,$R,$G,$B,$Alpha,$BorderR,$BorderG,$BorderB,$BorderAlpha)
- {
- if ( $Shape == SERIE_SHAPE_FILLEDCIRCLE )
- {
- if ( $PlotBorder ) { $this->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledCircle($X,$Y,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDSQUARE )
- {
- if ( $PlotBorder ) { $this->drawFilledRectangle($X-$PlotSize-$BorderSize,$Y-$PlotSize-$BorderSize,$X+$PlotSize+$BorderSize,$Y+$PlotSize+$BorderSize,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha)); }
- $this->drawFilledRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDTRIANGLE )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X-$PlotSize; $Pos[]=$Y+$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_TRIANGLE )
- {
- $this->drawLine($X,$Y-$PlotSize,$X-$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X-$PlotSize,$Y+$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- $this->drawLine($X+$PlotSize,$Y+$PlotSize,$X,$Y-$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_SQUARE )
- $this->drawRectangle($X-$PlotSize,$Y-$PlotSize,$X+$PlotSize,$Y+$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_CIRCLE )
- $this->drawCircle($X,$Y,$PlotSize,$PlotSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- elseif ( $Shape == SERIE_SHAPE_DIAMOND )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("NoFill"=>TRUE,"BorderR"=>$R,"BorderG"=>$G,"BorderB"=>$B,"BorderAlpha"=>$Alpha));
- }
- elseif ( $Shape == SERIE_SHAPE_FILLEDDIAMOND )
- {
- if ( $PlotBorder )
- {
- $Pos = ""; $Pos[]=$X-$PlotSize-$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize-$BorderSize; $Pos[]=$X+$PlotSize+$BorderSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize+$BorderSize;
- $this->drawPolygon($Pos,array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha));
- }
-
- $Pos = ""; $Pos[]=$X-$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y-$PlotSize; $Pos[]=$X+$PlotSize; $Pos[]=$Y; $Pos[]=$X; $Pos[]=$Y+$PlotSize;
- $this->drawPolygon($Pos,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha));
- }
- }
-
- function drawPolygonChart($Points,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $NoFill = isset($Format["NoFill"]) ? $Format["NoFill"] : FALSE;
- $NoBorder = isset($Format["NoBorder"]) ? $Format["NoBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : $R;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : $G;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : $B;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : $Alpha / 2;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Threshold = isset($Format["Threshold"]) ? $Format["Threshold"] : NULL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R+$Surrounding; $BorderG = $G+$Surrounding; $BorderB = $B+$Surrounding; }
-
- $RestoreShadow = $this->Shadow;
- $this->Shadow = FALSE;
-
- $AllIntegers = TRUE;
- for($i=0;$i<=count($Points)-2;$i=$i+2)
- { if ( $this->getFirstDecimal($Points[$i+1]) != 0 ) { $AllIntegers = FALSE; } }
-
- /* Convert polygon to segments */
- $Segments = "";
- for($i=2;$i<=count($Points)-2;$i=$i+2)
- { $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[$i],"Y2"=>$Points[$i+1]); }
- $Segments[] = array("X1"=>$Points[$i-2],"Y1"=>$Points[$i-1],"X2"=>$Points[0],"Y2"=>$Points[1]);
-
- /* Simplify straight lines */
- $Result = ""; $inHorizon = FALSE; $LastX = VOID;
- foreach($Segments as $Key => $Pos)
- {
- if ( $Pos["Y1"] != $Pos["Y2"] )
- {
- if ( $inHorizon ) { $inHorizon = FALSE; $Result[] = array("X1"=>$LastX,"Y1"=>$Pos["Y1"],"X2"=>$Pos["X1"],"Y2"=>$Pos["Y1"]); }
-
- $Result[] = array("X1"=>$Pos["X1"],"Y1"=>$Pos["Y1"],"X2"=>$Pos["X2"],"Y2"=>$Pos["Y2"]);
- }
- else { if ( !$inHorizon ) { $inHorizon = TRUE; $LastX = $Pos["X1"];} }
- }
- $Segments = $Result;
-
- /* Do we have something to draw */
- if ( $Segments == "" ) { return(0); }
-
- /* For segments debugging purpose */
- //foreach($Segments as $Key => $Pos)
- // echo $Pos["X1"].",".$Pos["Y1"].",".$Pos["X2"].",".$Pos["Y2"]."\r\n";
-
- /* Find out the min & max Y boundaries */
- $MinY = OUT_OF_SIGHT; $MaxY = OUT_OF_SIGHT;
- foreach($Segments as $Key => $Coords)
- {
- if ( $MinY == OUT_OF_SIGHT || $MinY > min($Coords["Y1"],$Coords["Y2"]) ) { $MinY = min($Coords["Y1"],$Coords["Y2"]); }
- if ( $MaxY == OUT_OF_SIGHT || $MaxY < max($Coords["Y1"],$Coords["Y2"]) ) { $MaxY = max($Coords["Y1"],$Coords["Y2"]); }
- }
-
- if ( $AllIntegers ) { $YStep = 1; } else { $YStep = .5; }
-
- $MinY = floor($MinY); $MaxY = floor($MaxY);
-
- /* Scan each Y lines */
- $DefaultColor = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- $DebugLine = 0; $DebugColor = $this->allocateColor($this->Picture,255,0,0,100);
-
- $MinY = floor($MinY); $MaxY = floor($MaxY); $YStep = 1;
-
- if ( !$NoFill )
- {
- //if ( $DebugLine ) { $MinY = $DebugLine; $MaxY = $DebugLine; }
- for($Y=$MinY;$Y<=$MaxY;$Y=$Y+$YStep)
- {
- $Intersections = ""; $LastSlope = NULL; $RestoreLast = "-";
- foreach($Segments as $Key => $Coords)
- {
- $X1 = $Coords["X1"]; $X2 = $Coords["X2"]; $Y1 = $Coords["Y1"]; $Y2 = $Coords["Y2"];
-
- if ( min($Y1,$Y2) <= $Y && max($Y1,$Y2) >= $Y )
- {
- if ( $Y1 == $Y2 )
- { $X = $X1; }
- else
- { $X = $X1 + ( ($Y-$Y1)*$X2 - ($Y-$Y1)*$X1 ) / ($Y2-$Y1); }
-
- $X = floor($X);
-
- if ( $X2 == $X1 )
- { $Slope = "!"; }
- else
- {
- $SlopeC = ($Y2 - $Y1) / ($X2 - $X1);
- if( $SlopeC == 0 )
- { $Slope = "="; }
- elseif( $SlopeC > 0 )
- { $Slope = "+"; }
- elseif ( $SlopeC < 0 )
- { $Slope = "-"; }
- }
-
- if ( !is_array($Intersections) )
- { $Intersections[] = $X; }
- elseif( !in_array($X,$Intersections) )
- { $Intersections[] = $X; }
- elseif( in_array($X,$Intersections) )
- {
- if ($Y == $DebugLine) { echo $Slope."/".$LastSlope."(".$X.") "; }
-
- if ( $Slope == "=" && $LastSlope == "-" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope != "!" && $LastSlope != "=" ) { $Intersections[] = $X; }
- if ( $Slope != $LastSlope && $LastSlope == "!" && $Slope == "+" ) { $Intersections[] = $X; }
- }
-
- if ( is_array($Intersections) && in_array($X,$Intersections) && $LastSlope == "=" && ($Slope == "-" )) { $Intersections[] = $X; }
-
- $LastSlope = $Slope;
- }
- }
- if ( $RestoreLast != "-" ) { $Intersections[] = $RestoreLast; echo "@".$Y."\r\n"; }
-
- if ( is_array($Intersections) )
- {
- sort($Intersections);
-
- if ($Y == $DebugLine) { print_r($Intersections); }
-
- /* Remove NULL plots */
- $Result = "";
- for($i=0;$i<=count($Intersections)-1;$i=$i+2)
- {
- if ( isset($Intersections[$i+1]) )
- { if ( $Intersections[$i] != $Intersections[$i+1] ) { $Result[] = $Intersections[$i]; $Result[] = $Intersections[$i+1]; } }
- }
-
- if ( is_array($Result) )
- {
- $Intersections = $Result;
-
- $LastX = OUT_OF_SIGHT;
- foreach($Intersections as $Key => $X)
- {
- if ( $LastX == OUT_OF_SIGHT )
- $LastX = $X;
- elseif ( $LastX != OUT_OF_SIGHT )
- {
- if ( $this->getFirstDecimal($LastX) > 1 ) { $LastX++; }
-
- $Color = $DefaultColor;
- if ( $Threshold != NULL )
- {
- foreach($Threshold as $Key => $Parameters)
- {
- if ( $Y <= $Parameters["MinX"] && $Y >= $Parameters["MaxX"])
- {
- if ( isset($Parameters["R"]) ) { $R = $Parameters["R"]; } else { $R = 0; }
- if ( isset($Parameters["G"]) ) { $G = $Parameters["G"]; } else { $G = 0; }
- if ( isset($Parameters["B"]) ) { $B = $Parameters["B"]; } else { $B = 0; }
- if ( isset($Parameters["Alpha"]) ) { $Alpha = $Parameters["Alpha"]; } else { $Alpha = 100; }
- $Color = $this->allocateColor($this->Picture,$R,$G,$B,$Alpha);
- }
- }
- }
-
- imageline($this->Picture,$LastX,$Y,$X,$Y,$Color);
-
- if ( $Y == $DebugLine) { imageline($this->Picture,$LastX,$Y,$X,$Y,$DebugColor); }
-
- $LastX = OUT_OF_SIGHT;
- }
- }
- }
- }
- }
- }
-
- /* Draw the polygon border, if required */
- if ( !$NoBorder)
- {
- foreach($Segments as $Key => $Coords)
- $this->drawLine($Coords["X1"],$Coords["Y1"],$Coords["X2"],$Coords["Y2"],array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha,"Threshold"=>$Threshold));
- }
-
- $this->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pImage.class.php b/notFinishedCode/web/class/pImage.class.php
deleted file mode 100644
index 4684e3c..0000000
--- a/notFinishedCode/web/class/pImage.class.php
+++ /dev/null
@@ -1,343 +0,0 @@
-<?php
- /*
- pDraw - pChart core class
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* The GD extension is mandatory */
- if (!extension_loaded('gd') && !extension_loaded('gd2'))
- {
- echo "GD extension must be loaded. \r\n";
- exit();
- }
-
- define("IMAGE_MAP_STORAGE_FILE" , 680001);
- define("IMAGE_MAP_STORAGE_SESSION" , 680002);
-
- class pImage extends pDraw
- {
- /* Image settings, size, quality, .. */
- var $XSize = NULL; // Width of the picture
- var $YSize = NULL; // Height of the picture
- var $Picture = NULL; // GD picture object
- var $Antialias = TRUE; // Turn antialias on or off
- var $AntialiasQuality = 0; // Quality of the antialiasing implementation (0-1)
- var $Mask = ""; // Already drawn pixels mask (Filled circle implementation)
- var $TransparentBackground = FALSE; // Just to know if we need to flush the alpha channels when rendering
-
- /* Graph area settings */
- var $GraphAreaX1 = NULL; // Graph area X origin
- var $GraphAreaY1 = NULL; // Graph area Y origin
- var $GraphAreaX2 = NULL; // Graph area bottom right X position
- var $GraphAreaY2 = NULL; // Graph area bottom right Y position
-
- /* Scale settings */
- var $ScaleMinDivHeight = 20; // Minimum height for scame divs
-
- /* Font properties */
- var $FontName = "fonts/GeosansLight.ttf"; // Default font file
- var $FontSize = 12; // Default font size
- var $FontBox = NULL; // Return the bounding box of the last written string
- var $FontColorR = 0; // Default color settings
- var $FontColorG = 0; // Default color settings
- var $FontColorB = 0; // Default color settings
- var $FontColorA = 100; // Default transparency
-
- /* Shadow properties */
- var $Shadow = TRUE; // Turn shadows on or off
- var $ShadowX = NULL; // X Offset of the shadow
- var $ShadowY = NULL; // Y Offset of the shadow
- var $ShadowR = NULL; // R component of the shadow
- var $ShadowG = NULL; // G component of the shadow
- var $ShadowB = NULL; // B component of the shadow
- var $Shadowa = NULL; // Alpha level of the shadow
-
- /* Image map */
- var $ImageMap = NULL; // Aray containing the image map
- var $ImageMapIndex = "pChart"; // Name of the session array
- var $ImageMapStorageMode = NULL; // Save the current imagemap storage mode
- var $ImageMapAutoDelete = TRUE; // Automatic deletion of the image map temp files
-
- /* Data Set */
- var $DataSet = NULL; // Attached dataset
-
- /* Class constructor */
- function pImage($XSize,$YSize,$DataSet=NULL,$TransparentBackground=FALSE)
- {
- $this->TransparentBackground = $TransparentBackground;
-
- if ( $DataSet != NULL ) { $this->DataSet = $DataSet; }
-
- $this->XSize = $XSize;
- $this->YSize = $YSize;
- $this->Picture = imagecreatetruecolor($XSize,$YSize);
-
- if ( $this->TransparentBackground )
- {
- imagealphablending($this->Picture,FALSE);
- imagefilledrectangle($this->Picture, 0,0,$XSize, $YSize, imagecolorallocatealpha($this->Picture, 255, 255, 255, 127));
- imagealphablending($this->Picture,TRUE);
- imagesavealpha($this->Picture,true);
- }
- else
- {
- $C_White = $this->AllocateColor($this->Picture,255,255,255);
- imagefilledrectangle($this->Picture,0,0,$XSize,$YSize,$C_White);
- }
- }
-
- /* Enable / Disable and set shadow properties */
- function setShadow($Enabled=TRUE,$Format="")
- {
- $X = isset($Format["X"]) ? $Format["X"] : 2;
- $Y = isset($Format["Y"]) ? $Format["Y"] : 2;
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 10;
-
- $this->Shadow = $Enabled;
- $this->ShadowX = $X;
- $this->ShadowY = $Y;
- $this->ShadowR = $R;
- $this->ShadowG = $G;
- $this->ShadowB = $B;
- $this->Shadowa = $Alpha;
- }
-
- /* Set the graph area position */
- function setGraphArea($X1,$Y1,$X2,$Y2)
- {
- if ( $X2 < $X1 || $X1 == $X2 || $Y2 < $Y1 || $Y1 == $Y2 ) { return(-1); }
-
- $this->GraphAreaX1 = $X1; $this->DataSet->Data["GraphArea"]["X1"] = $X1;
- $this->GraphAreaY1 = $Y1; $this->DataSet->Data["GraphArea"]["Y1"] = $Y1;
- $this->GraphAreaX2 = $X2; $this->DataSet->Data["GraphArea"]["X2"] = $X2;
- $this->GraphAreaY2 = $Y2; $this->DataSet->Data["GraphArea"]["Y2"] = $Y2;
- }
-
- /* Return the width of the picture */
- function getWidth()
- { return($this->XSize); }
-
- /* Return the heigth of the picture */
- function getHeight()
- { return($this->YSize); }
-
- /* Render the picture to a file */
- function render($FileName)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
- imagepng($this->Picture,$FileName);
- }
-
- /* Render the picture to a web browser stream */
- function stroke($BrowserExpire=FALSE)
- {
- if ( $this->TransparentBackground ) { imagealphablending($this->Picture,false); imagesavealpha($this->Picture,true); }
-
- if ( $BrowserExpire )
- {
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- header("Cache-Control: no-cache");
- header("Pragma: no-cache");
- }
-
- header('Content-type: image/png');
- imagepng($this->Picture);
- }
-
- /* Automatic output method based on the calling interface */
- function autoOutput($FileName="output.png")
- {
- if (php_sapi_name() == "cli")
- $this->Render($FileName);
- else
- $this->Stroke();
- }
-
- /* Return the length between two points */
- function getLength($X1,$Y1,$X2,$Y2)
- { return(sqrt(pow(max($X1,$X2)-min($X1,$X2),2)+pow(max($Y1,$Y2)-min($Y1,$Y2),2))); }
-
- /* Return the orientation of a line */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- /* Return the surrounding box of text area */
- function getTextBox_deprecated($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $Size = imagettfbbox($FontSize,$Angle,$FontName,$Text);
- $Width = $this->getLength($Size[0],$Size[1],$Size[2],$Size[3])+1;
- $Height = $this->getLength($Size[2],$Size[3],$Size[4],$Size[5])+1;
-
- $RealPos[0]["X"] = $X; $RealPos[0]["Y"] = $Y;
- $RealPos[1]["X"] = cos((360-$Angle)*PI/180)*$Width + $RealPos[0]["X"]; $RealPos[1]["Y"] = sin((360-$Angle)*PI/180)*$Width + $RealPos[0]["Y"];
- $RealPos[2]["X"] = cos((270-$Angle)*PI/180)*$Height + $RealPos[1]["X"]; $RealPos[2]["Y"] = sin((270-$Angle)*PI/180)*$Height + $RealPos[1]["Y"];
- $RealPos[3]["X"] = cos((180-$Angle)*PI/180)*$Width + $RealPos[2]["X"]; $RealPos[3]["Y"] = sin((180-$Angle)*PI/180)*$Width + $RealPos[2]["Y"];
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
-
- return($RealPos);
- }
-
- /* Return the surrounding box of text area */
- function getTextBox($X,$Y,$FontName,$FontSize,$Angle,$Text)
- {
- $coords = imagettfbbox($FontSize, 0, $FontName, $Text);
-
- $a = deg2rad($Angle); $ca = cos($a); $sa = sin($a); $RealPos = array();
- for($i = 0; $i < 7; $i += 2)
- {
- $RealPos[$i/2]["X"] = $X + round($coords[$i] * $ca + $coords[$i+1] * $sa);
- $RealPos[$i/2]["Y"] = $Y + round($coords[$i+1] * $ca - $coords[$i] * $sa);
- }
-
- $RealPos[TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos[0]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos[1]["X"]; $RealPos[TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPLEFT]["X"] = $RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPLEFT]["Y"] = $RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_TOPRIGHT]["X"] = $RealPos[2]["X"]; $RealPos[TEXT_ALIGN_TOPRIGHT]["Y"] = $RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[0]["X"])/2+$RealPos[0]["X"]; $RealPos[TEXT_ALIGN_BOTTOMMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[1]["Y"])/2+$RealPos[1]["Y"];
- $RealPos[TEXT_ALIGN_TOPMIDDLE]["X"] = ($RealPos[2]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_TOPMIDDLE]["Y"] = ($RealPos[3]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLELEFT]["X"] = ($RealPos[0]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLELEFT]["Y"] = ($RealPos[0]["Y"]-$RealPos[3]["Y"])/2+$RealPos[3]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLERIGHT]["X"] = ($RealPos[1]["X"]-$RealPos[2]["X"])/2+$RealPos[2]["X"]; $RealPos[TEXT_ALIGN_MIDDLERIGHT]["Y"] = ($RealPos[1]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
- $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["X"] = ($RealPos[1]["X"]-$RealPos[3]["X"])/2+$RealPos[3]["X"]; $RealPos[TEXT_ALIGN_MIDDLEMIDDLE]["Y"] = ($RealPos[0]["Y"]-$RealPos[2]["Y"])/2+$RealPos[2]["Y"];
-
- return($RealPos);
- }
-
- /* Set current font properties */
- function setFontProperties($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : -1;
- $G = isset($Format["G"]) ? $Format["G"] : -1;
- $B = isset($Format["B"]) ? $Format["B"] : -1;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : NULL;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : NULL;
-
- if ( $R != -1) { $this->FontColorR = $R; }
- if ( $G != -1) { $this->FontColorG = $G; }
- if ( $B != -1) { $this->FontColorB = $B; }
- if ( $Alpha != NULL) { $this->FontColorA = $Alpha; }
-
- if ( $FontName != NULL )
- $this->FontName = $FontName;
-
- if ( $FontSize != NULL )
- $this->FontSize = $FontSize;
- }
-
- /* Returns the 1st decimal values (used to correct AA bugs) */
- function getFirstDecimal($Value)
- {
- $Values = preg_split("/\./",$Value);
- if ( isset($Values[1]) ) { return(substr($Values[1],0,1)); } else { return(0); }
- }
-
- /* Attach a dataset to your pChart Object */
- function setDataSet(&$DataSet)
- { $this->DataSet = $DataSet; }
-
- /* Print attached dataset contents to STDOUT */
- function printDataSet()
- { print_r($this->DataSet); }
-
- /* Initialise the image map methods */
- function initialiseImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ($StorageMode == IMAGE_MAP_STORAGE_SESSION)
- {
- if(!isset($_SESSION)) { session_start(); }
- $_SESSION[$this->ImageMapIndex] = NULL;
- }
- elseif($StorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $this->ImageMapFileName = $UniqueID;
- $this->ImageMapStorageFolder = $StorageFolder;
-
- if (file_exists($StorageFolder."/".$UniqueID.".map")) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
-
- /* Add a zone to the image map */
- function addToImageMap($Type,$Plots,$Color=NULL,$Title=NULL,$Message=NULL)
- {
- if ( $this->ImageMapStorageMode == NULL ) { $this->initialiseImageMap(); }
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { $this->initialiseImageMap(); }
- $_SESSION[$this->ImageMapIndex][] = array($Type,$Plots,$Color,$Title,$Message);
- }
- elseif($this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE)
- {
- $Handle = fopen($this->ImageMapStorageFolder."/".$this->ImageMapFileName.".map", 'a');
- fwrite($Handle, $Type.";".$Plots.";".$Color.";".$Title.";".$Message."\r\n");
- fclose($Handle);
- }
- }
-
- /* Dump the image map */
- function dumpImageMap($Name="pChart",$StorageMode=IMAGE_MAP_STORAGE_SESSION,$UniqueID="imageMap",$StorageFolder="tmp")
- {
- $this->ImageMapIndex = $Name;
- $this->ImageMapStorageMode = $StorageMode;
-
- if ( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_SESSION )
- {
- if(!isset($_SESSION)) { session_start(); }
- if ( $_SESSION[$Name] != NULL )
- {
- foreach($_SESSION[$Name] as $Key => $Params)
- { echo $Params[0].";".$Params[1].";".$Params[2].";".$Params[3].";".$Params[4]."\r\n"; }
- }
- }
- elseif( $this->ImageMapStorageMode == IMAGE_MAP_STORAGE_FILE )
- {
- if (file_exists($StorageFolder."/".$UniqueID.".map"))
- {
- $Handle = @fopen($StorageFolder."/".$UniqueID.".map", "r");
- if ($Handle) { while (($Buffer = fgets($Handle, 4096)) !== false) { echo $Buffer; } }
- fclose($Handle);
-
- if ( $this->ImageMapAutoDelete ) { unlink($StorageFolder."/".$UniqueID.".map"); }
- }
- }
- exit();
- }
-
- /* Return the HTML converted color from the RGB composite values */
- function toHTMLColor($R,$G,$B)
- {
- $R=intval($R); $G=intval($G); $B=intval($B);
- $R=dechex($R<0?0:($R>255?255:$R)); $G=dechex($G<0?0:($G>255?255:$G));$B=dechex($B<0?0:($B>255?255:$B));
- $Color="#".(strlen($R) < 2?'0':'').$R; $Color.=(strlen($G) < 2?'0':'').$G; $Color.= (strlen($B) < 2?'0':'').$B;
- return($Color);
- }
-
- /* Reverse an array of points */
- function reversePlots($Plots)
- {
- $Result = "";
- for($i=count($Plots)-2;$i>=0;$i=$i-2) { $Result[] = $Plots[$i]; $Result[] = $Plots[$i+1]; }
- return($Result);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pIndicator.class.php b/notFinishedCode/web/class/pIndicator.class.php
deleted file mode 100644
index 4f7f23b..0000000
--- a/notFinishedCode/web/class/pIndicator.class.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
- /*
- pIndicator - class to draw indicators
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("INDICATOR_CAPTION_DEFAULT" , 700001);
- define("INDICATOR_CAPTION_EXTENDED" , 700002);
-
- define("INDICATOR_CAPTION_INSIDE" , 700011);
- define("INDICATOR_CAPTION_BOTTOM" , 700012);
-
- define("INDICATOR_VALUE_BUBBLE" , 700021);
- define("INDICATOR_VALUE_LABEL" , 700022);
-
- /* pIndicator class definition */
- class pIndicator
- {
- var $pChartObject;
-
- /* Class creator */
- function pIndicator($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- }
-
- /* Draw an indicator */
- function draw($X,$Y,$Width,$Height,$Format="")
- {
- $Values = isset($Format["Values"]) ? $Format["Values"] : VOID;
- $IndicatorSections = isset($Format["IndicatorSections"]) ? $Format["IndicatorSections"] : NULL;
- $ValueDisplay = isset($Format["ValueDisplay"]) ? $Format["ValueDisplay"] : INDICATOR_VALUE_BUBBLE;
- $SectionsMargin = isset($Format["SectionsMargin"]) ? $Format["SectionsMargin"] : 4;
- $DrawLeftHead = isset($Format["DrawLeftHead"]) ? $Format["DrawLeftHead"] : TRUE;
- $DrawRightHead = isset($Format["DrawRightHead"]) ? $Format["DrawRightHead"] : TRUE;
- $HeadSize = isset($Format["HeadSize"]) ? $Format["HeadSize"] : floor($Height/4);
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 4;
- $CaptionLayout = isset($Format["CaptionLayout"]) ? $Format["CaptionLayout"] : INDICATOR_CAPTION_EXTENDED;
- $CaptionPosition = isset($Format["CaptionPosition"]) ? $Format["CaptionPosition"] : INDICATOR_CAPTION_INSIDE;
- $CaptionColorFactor = isset($Format["CaptionColorFactor"]) ? $Format["CaptionColorFactor"] : NULL;
- $CaptionR = isset($Format["CaptionR"]) ? $Format["CaptionR"] : 255;
- $CaptionG = isset($Format["CaptionG"]) ? $Format["CaptionG"] : 255;
- $CaptionB = isset($Format["CaptionB"]) ? $Format["CaptionB"] : 255;
- $CaptionAlpha = isset($Format["CaptionAlpha"]) ? $Format["CaptionAlpha"] : 100;
- $SubCaptionColorFactor = isset($Format["SubCaptionColorFactor"]) ? $Format["SubCaptionColorFactor"] : NULL;
- $SubCaptionR = isset($Format["SubCaptionR"]) ? $Format["SubCaptionR"] : 50;
- $SubCaptionG = isset($Format["SubCaptionG"]) ? $Format["SubCaptionG"] : 50;
- $SubCaptionB = isset($Format["SubCaptionB"]) ? $Format["SubCaptionB"] : 50;
- $SubCaptionAlpha = isset($Format["SubCaptionAlpha"]) ? $Format["SubCaptionAlpha"] : 100;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $CaptionFontName = isset($Format["CaptionFontName"]) ? $Format["CaptionFontName"] : $this->pChartObject->FontName;
- $CaptionFontSize = isset($Format["CaptionFontSize"]) ? $Format["CaptionFontSize"] : $this->pChartObject->FontSize;
- $Unit = isset($Format["Unit"]) ? $Format["Unit"] : "";
-
- /* Convert the Values to display to an array if needed */
- if ( !is_array($Values) ) { $Value = $Values; $Values = ""; $Values[] = $Value; }
-
- /* No section, let's die */
- if ( $IndicatorSections == NULL ) { return(0); }
-
- /* Determine indicator visual configuration */
- $OverallMin = $IndicatorSections[0]["End"]; $OverallMax = $IndicatorSections[0]["Start"];
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Settings["End"] > $OverallMax ) { $OverallMax = $Settings["End"]; }
- if ( $Settings["Start"] < $OverallMin ) { $OverallMin = $Settings["Start"]; }
- }
- $RealWidth = $Width - (count($IndicatorSections)-1)*$SectionsMargin;
- $XScale = $RealWidth / ($OverallMax-$OverallMin);
-
- $X1 = $X; $ValuesPos = "";
- foreach ($IndicatorSections as $Key => $Settings)
- {
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]);
- $Caption = $Settings["Caption"];
- $SubCaption = $Settings["Start"]." - ".$Settings["End"];
-
- $X2 = $X1 + ($Settings["End"] - $Settings["Start"]) * $XScale;
-
- if ( $Key == 0 && $DrawLeftHead )
- {
- $Poly = ""; $Poly[] = $X1-1; $Poly[] = $Y; $Poly[] = $X1-1; $Poly[] = $Y+$Height; $Poly[] = $X1-1-$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X1-2,$Y,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X1-2,$Y+$Height,$X1-2-$HeadSize,$Y+($Height/2),$Color);
- }
-
- /* Determine the position of the breaks */
- $Break = "";
- foreach($Values as $iKey => $Value)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $XBreak = $X1 + ($Value - $Settings["Start"]) * $XScale;
- $ValuesPos[$Value] = $XBreak;
- $Break[] = floor($XBreak);
- }
- }
-
- if ( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- if ( $Break == "" )
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
- else
- {
- sort($Break);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y; $LastPointWritten = FALSE;
- foreach($Break as $iKey => $Value)
- {
- if ( $Value-5 >= $X1 )
- { $Poly[] = $Value-5; $Poly[] = $Y; }
- elseif ($X1 - ($Value-5) > 0 )
- {
- $Offset = $X1 - ($Value-5);
- $Poly = ""; $Poly[] = $X1; $Poly[] = $Y + $Offset;
- }
-
- $Poly[] = $Value; $Poly[] = $Y+5;
-
- if ( $Value+5 <= $X2 )
- { $Poly[] = $Value+5; $Poly[] = $Y; }
- elseif (($Value+5) > $X2 )
- {
- $Offset = ($Value+5) - $X2;
- $Poly[] = $X2; $Poly[] = $Y + $Offset;
- $LastPointWritten = TRUE;
- }
-
- }
- if ( !$LastPointWritten ) { $Poly[] = $X2; $Poly[] = $Y; }
- $Poly[] = $X2; $Poly[] = $Y+$Height;
- $Poly[] = $X1; $Poly[] = $Y+$Height;
-
- $this->pChartObject->drawPolygon($Poly,$Color);
- }
- }
- else
- $this->pChartObject->drawFilledRectangle($X1,$Y,$X2,$Y+$Height,$Color);
-
- if ( $Key == count($IndicatorSections)-1 && $DrawRightHead )
- {
- $Poly = ""; $Poly[] = $X2+1; $Poly[] = $Y; $Poly[] = $X2+1; $Poly[] = $Y+$Height; $Poly[] = $X2+1+$HeadSize; $Poly[] = $Y+($Height/2);
- $this->pChartObject->drawPolygon($Poly,$Color);
- $this->pChartObject->drawLine($X2+1,$Y,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- $this->pChartObject->drawLine($X2+1,$Y+$Height,$X2+1+$HeadSize,$Y+($Height/2),$Color);
- }
-
- if ( $CaptionPosition == INDICATOR_CAPTION_INSIDE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $YOffset = ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$SubCaption);
- $YOffset = $YOffset + ($TxtPos[0]["Y"] - $TxtPos[2]["Y"]) + $TextPadding*2;
- }
-
- $XOffset = $TextPadding;
- }
- else
- { $YOffset = 0; $XOffset = 0; }
-
- if ( $CaptionColorFactor == NULL )
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$CaptionR,"G"=>$CaptionG,"B"=>$CaptionB,"Alpha"=>$CaptionAlpha); }
- else
- { $CaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$CaptionColorFactor,"G"=>$Settings["G"]+$CaptionColorFactor,"B"=>$Settings["B"]+$CaptionColorFactor); }
-
- if ( $SubCaptionColorFactor == NULL )
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$SubCaptionR,"G"=>$SubCaptionG,"B"=>$SubCaptionB,"Alpha"=>$SubCaptionAlpha);
- else
- $SubCaptionColor = array("Align"=>TEXT_ALIGN_TOPLEFT,"FontName"=>$CaptionFontName,"FontSize"=>$CaptionFontSize,"R"=>$Settings["R"]+$SubCaptionColorFactor,"G"=>$Settings["G"]+$SubCaptionColorFactor,"B"=>$Settings["B"]+$SubCaptionColorFactor);
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- if ( $CaptionLayout == INDICATOR_CAPTION_DEFAULT )
- $this->pChartObject->drawText($X1,$Y+$Height+$TextPadding,$Caption,$CaptionColor);
- elseif ( $CaptionLayout == INDICATOR_CAPTION_EXTENDED )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y+$Height+$TextPadding,$CaptionFontName,$CaptionFontSize,0,$Caption);
- $CaptionHeight = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
-
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$TextPadding,$Caption,$CaptionColor);
- $this->pChartObject->drawText($X1+$XOffset,$Y+$Height-$YOffset+$CaptionHeight+$TextPadding*2,$SubCaption,$SubCaptionColor);
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- $X1 = $X2 + $SectionsMargin;
- }
-
- $RestoreShadow = $this->pChartObject->Shadow;
- $this->pChartObject->Shadow = FALSE;
-
- foreach($Values as $Key => $Value)
- {
- if ( $Value >= $OverallMin && $Value <= $OverallMax )
- {
- foreach ($IndicatorSections as $Key => $Settings)
- {
- if ( $Value >= $Settings["Start"] && $Value <= $Settings["End"] )
- {
- $X1 = $ValuesPos[$Value]; //$X + $Key*$SectionsMargin + ($Value - $OverallMin) * $XScale;
-
- if ( $ValueDisplay == INDICATOR_VALUE_BUBBLE )
- {
- $TxtPos = $this->pChartObject->getTextBox($X1,$Y,$ValueFontName,$ValueFontSize,0,$Value.$Unit);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $TextPadding*4)/2);
-
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius+4,array("R"=>$Settings["R"]+20,"G"=>$Settings["G"]+20,"B"=>$Settings["B"]+20));
- $this->pChartObject->drawFilledCircle($X1,$Y,$Radius,array("R"=>255,"G"=>255,"B"=>255));
-
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize);
- $this->pChartObject->drawText($X1-1,$Y-1,$Value.$Unit,$TextSettings);
- }
- elseif( $ValueDisplay == INDICATOR_VALUE_LABEL )
- {
- $Caption = "";
- $Caption[] = array("Format"=>array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>100),"Caption"=>$Value.$Unit);
- $this->pChartObject->drawLabelBox(floor($X1),floor($Y)+2,"Value - ".$Settings["Caption"],$Caption);
- }
- }
- $X1 = $X2 + $SectionsMargin;
- }
- }
- }
- $this->pChartObject->Shadow = $RestoreShadow;
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pPie.class.php b/notFinishedCode/web/class/pPie.class.php
deleted file mode 100644
index 8940b4d..0000000
--- a/notFinishedCode/web/class/pPie.class.php
+++ /dev/null
@@ -1,1493 +0,0 @@
-<?php
- /*
- pPie - class to draw pie charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- /* Class return codes */
- define("PIE_NO_ABSCISSA" , 140001);
- define("PIE_NO_DATASERIE" , 140002);
- define("PIE_SUMISNULL" , 140003);
- define("PIE_RENDERED" , 140000);
-
- define("PIE_LABEL_COLOR_AUTO" , 140010);
- define("PIE_LABEL_COLOR_MANUAL", 140011);
-
- define("PIE_VALUE_NATURAL" , 140020);
- define("PIE_VALUE_PERCENTAGE" , 140021);
-
- define("PIE_VALUE_INSIDE" , 140030);
- define("PIE_VALUE_OUTSIDE" , 140031);
-
- /* pPie class definition */
- class pPie
- {
- var $pChartObject;
- var $pDataObject;
- var $LabelPos = "" ;
-
- /* Class creator */
- function pPie($Object,$pDataObject)
- {
- /* Cache the pChart object reference */
- $this->pChartObject = $Object;
-
- /* Cache the pData object reference */
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a pie chart */
- function draw2DPie($X,$Y,$Format="")
- {
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DPie($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- if ( !$SecondPass && !$Shadow )
- {
- if ( !$Border )
- $Settings["Surrounding"] = 10;
- else
- { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- }
-
- $Plots = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
-
- $Plots[] = $X0; $Plots[] = $Y0;
-
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $SecondPass && ( $i<90 )) { $Yc++; }
- if ( $SecondPass && ( $i>180 && $i<270 )) { $Xc++; }
- if ( $SecondPass && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
-
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- if ( $DrawLabels && !$Shadow && !$SecondPass )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- $Settings = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB);
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius + $Y;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius + $Y;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $i + $DataGapAngle; $ID++;
- }
- }
-
- if ( $WriteValues != NULL && !$Shadow )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 0; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = ($Value*$ScaleFactor) + $Offset; if ( $EndAngle > 360 ) { $EndAngle = 0; }
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $Y;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius)/2 + $Y;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle + $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D pie chart */
- function draw3DPie($X,$Y,$Format="")
- {
- /* Rendering layout */
- $Radius = isset($Format["Radius"]) ? $Format["Radius"] : 80;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .5;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 20;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 0;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 0;
- $SecondPass = isset($Format["SecondPass"]) ? $Format["SecondPass"] : TRUE;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_INSIDE;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 15;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y;
- }
- $Slices[$Slice][] = $X0; $Slices[$Slice][] = $Y0; $SliceAngle[$Slice][] = 0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y;
-
- if ( ($SecondPass || $RestoreShadow ) && ( $i<90 )) { $Yc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>90 && $i<180 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>180 && $i<270 )) { $Xc++; }
- if ( ($SecondPass || $RestoreShadow ) && ( $i>=270 )) { $Xc++; $Yc++; }
-
- $Slices[$Slice][] = $Xc; $Slices[$Slice][] = $Yc; $SliceAngle[$Slice][] = $i;
- }
-
- $Offset = $i - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom shadow if needed */
- if ( $RestoreShadow && ($this->pChartObject->ShadowX != 0 || $this->pChartObject->ShadowY !=0 ))
- {
- foreach($Slices as $SliceID => $Plots)
- {
- $ShadowPie = "";
- for($i=0;$i<count($Plots);$i=$i+2)
- { $ShadowPie[] = $Plots[$i]+$this->pChartObject->ShadowX; $ShadowPie[] = $Plots[$i+1]+$this->pChartObject->ShadowY; }
-
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa,"NoBorder"=>TRUE);
- $this->pChartObject->drawPolygon($ShadowPie,$Settings);
- }
-
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X + $this->pChartObject->ShadowX;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y + $this->pChartObject->ShadowY;
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- }
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots,$Settings);
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30;; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Plots[0],$Plots[1],$Xc,$Yc,$Settings);
- }
- }
- }
-
- /* Draw the two vertical edges */
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- if ( $Visible[$SliceID]["Start"] && isset($Plots[2])) /* Empty error handling */
- {
- $this->pChartObject->drawLine($Plots[2],$Plots[3],$Plots[2],$Plots[3]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[2]; $Border[] = $Plots[3] - $SliceHeight; $Border[] = $Plots[2]; $Border[] = $Plots[3];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
- if ( $Visible[$SliceID]["End"] )
- {
- $this->pChartObject->drawLine($Plots[count($Plots)-2],$Plots[count($Plots)-1],$Plots[count($Plots)-2],$Plots[count($Plots)-1]- $SliceHeight,array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"]));
-
- $Border = "";
- $Border[] = $Plots[0]; $Border[] = $Plots[1]; $Border[] = $Plots[0]; $Border[] = $Plots[1] - $SliceHeight;
- $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1] - $SliceHeight; $Border[] = $Plots[count($Plots)-2]; $Border[] = $Plots[count($Plots)-1];
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- /* Draw the rounded edges */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 10; $Settings["G"]+= 10; $Settings["B"]+= 10; $Settings["NoBorder"] = TRUE;
-
- for ($j=2;$j<count($Plots)-2;$j=$j+2)
- {
- $Angle = $SliceAngle[$SliceID][$j/2];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Border = "";
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3];
- $Border[] = $Plots[$j+2]; $Border[] = $Plots[$j+3] - $SliceHeight;
- $Border[] = $Plots[$j]; $Border[] = $Plots[$j+1] - $SliceHeight;
- $this->pChartObject->drawPolygon($Border,$Settings);
- }
- }
-
- if ( $SecondPass )
- {
- $Settings = $SliceColors[$SliceID];
- if ( $Border )
- { $Settings["R"]+= 30; $Settings["G"]+= 30; $Settings["B"]+= 30; }
-
- if ( isset($SliceAngle[$SliceID][1]) ) /* Empty error handling */
- {
- $Angle = $SliceAngle[$SliceID][1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
- }
-
- $Angle = $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1];
- if ( $Angle < 270 && $Angle > 90 )
- {
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 270 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 270 )
- {
- $Xc = cos((270-90)*PI/180) * $Radius + $X;
- $Yc = sin((270-90)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- if ( isset($SliceAngle[$SliceID][1]) && $SliceAngle[$SliceID][1] > 90 && $SliceAngle[$SliceID][count($SliceAngle[$SliceID])-1] < 90 )
- {
- $Xc = cos((0)*PI/180) * $Radius + $X;
- $Yc = sin((0)*PI/180) * $Radius*$SkewFactor + $Y;
- $this->pChartObject->drawLine($Xc,$Yc,$Xc,$Yc-$SliceHeight,$Settings);
- }
-
- }
- }
-
- /* Draw the top splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID];
- $Settings["R"]+= 20; $Settings["G"]+= 20; $Settings["B"]+= 20;
-
- $Top = "";
- for($j=0;$j<count($Plots);$j=$j+2) { $Top[] = $Plots[$j]; $Top[] = $Plots[$j+1]- $SliceHeight; }
- $this->pChartObject->drawPolygon($Top,$Settings);
-
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Top),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][count($Slices)-$SliceID-1],$Values[$SliceID]); }
- }
-
-
- /* Second pass to smooth the angles */
- if ( $SecondPass )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- $FirstPoint = TRUE;
- if ( $Shadow )
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- else
- {
- if ( $Border )
- { $Settings = array("R"=>$Palette[$ID]["R"]+30,"G"=>$Palette[$ID]["G"]+30,"B"=>$Palette[$ID]["B"]+30,"Alpha"=>$Palette[$ID]["Alpha"]); }
- else
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
- }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ($DataGapAngle == 0)
- { $X0 = $X; $Y0 = $Y- $SliceHeight; }
- else
- {
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $X0 = cos(($Angle-90)*PI/180) * $DataGapRadius + $X;
- $Y0 = sin(($Angle-90)*PI/180) * $DataGapRadius*$SkewFactor + $Y - $SliceHeight;
- }
- $Plots[] = $X0; $Plots[] = $Y0;
-
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $Radius + $X;
- $Yc = sin(($i-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( $FirstPoint ) { $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings); } { $FirstPoint = FALSE; }
-
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
- if ($i < 270 && $i > 90 ) { $this->pChartObject->drawAntialiasPixel($Xc,$Yc+$SliceHeight,$Settings); }
- }
- $this->pChartObject->drawLine($Xc,$Yc,$X0,$Y0,$Settings);
-
- $Offset = $i - $DataGapAngle; $ID--;
- }
- }
-
- if ( $WriteValues != NULL )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- $Settings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB,"Alpha"=>$ValueAlpha);
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
-
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($Radius*$SkewFactor)+$ValuePadding) + $Y - $SliceHeight;
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * ($Radius)/2 + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($Radius*$SkewFactor)/2 + $Y - $SliceHeight;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,$Settings);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels )
- {
- $Step = 360 / (2 * PI * $Radius);
- $Offset = 360; $ID = count($Values)-1;
- foreach($Values as $Key => $Value)
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $Radius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $Radius*$SkewFactor + $Y - $SliceHeight;
-
- if ( isset($Data["Series"][$Data["Abscissa"]]["Data"][$ID]) )
- {
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$ID];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$Radius,TRUE);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $EndAngle - $DataGapAngle; $ID--;
- }
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw the legend of pie chart */
- function drawPieLegend($X,$Y,$Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$BoxSize+4,$vY+$BoxSize/2,$FontName,$FontSize,0,$Value);
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vY=$vY+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$BoxSize/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$BoxSize/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$BoxSize/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$BoxSize/2; }
- $vX=$Boundaries["R"]+$XStep;
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE;
- foreach($Data["Series"][$Data["Abscissa"]]["Data"] as $Key => $Value)
- {
- $R = $Palette[$Key]["R"]; $G = $Palette[$Key]["G"]; $B = $Palette[$Key]["B"];
-
- $this->pChartObject->drawFilledRectangle($X+1,$Y+1,$X+$BoxSize+1,$Y+$BoxSize+1,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X,$Y,$X+$BoxSize,$Y+$BoxSize,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- if ( $Mode == LEGEND_VERTICAL )
- {
- $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $Y=$Y+$YStep;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $BoxArray = $this->pChartObject->drawText($X+$BoxSize+4,$Y+$BoxSize/2,$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT,"FontName"=>$FontName,"FontSize"=>$FontSize));
- $X=$BoxArray[1]["X"]+2+$XStep;
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Set the color of the specified slice */
- function setSliceColor($SliceID,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
-
- $this->pDataObject->Palette[$SliceID]["R"] = $R;
- $this->pDataObject->Palette[$SliceID]["G"] = $G;
- $this->pDataObject->Palette[$SliceID]["B"] = $B;
- $this->pDataObject->Palette[$SliceID]["Alpha"] = $Alpha;
- }
-
- /* Internally used compute the label positions */
- function writePieLabel($X,$Y,$Label,$Angle,$Settings,$Stacked,$Xc=0,$Yc=0,$Radius=0,$Reversed=FALSE)
- {
- $LabelOffset = 30;
- $FontName = $this->pChartObject->FontName;
- $FontSize = $this->pChartObject->FontSize;
-
- if ( !$Stacked )
- {
- $Settings["Angle"] = 360-$Angle;
- $Settings["Length"] = 25;
- $Settings["Size"] = 8;
-
- $this->pChartObject->drawArrowLabel($X,$Y," ".$Label." ",$Settings);
- }
- else
- {
- $X2 = cos(deg2rad($Angle-90))*20+$X;
- $Y2 = sin(deg2rad($Angle-90))*20+$Y;
-
- $TxtPos = $this->pChartObject->getTextBox($X,$Y,$FontName,$FontSize,0,$Label);
- $Height = $TxtPos[0]["Y"] - $TxtPos[2]["Y"];
- $YTop = $Y2 - $Height/2 - 2;
- $YBottom = $Y2 + $Height/2 + 2;
-
- if ( $this->LabelPos != "" )
- {
- $Done = FALSE;
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( !$Done )
- {
- if ( $Angle <= 90 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 90 && $Angle <= 180 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(0,180,-($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 180 && $Angle <= 270 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- if ( $Angle > 270 && $Angle <= 360 && (($YTop >= $Settings["YTop"] && $YTop <= $Settings["YBottom"]) || ($YBottom >= $Settings["YTop"] && $YBottom <= $Settings["YBottom"])))
- { $this->shift(180,360,($Height+2),$Reversed); $Done = TRUE; }
- }
- }
- }
-
- $LabelSettings = array("YTop"=>$YTop,"YBottom"=>$YBottom,"Label"=>$Label,"Angle"=>$Angle,"X1"=>$X,"Y1"=>$Y,"X2"=>$X2,"Y2"=>$Y2);
- if ( $Angle <= 180 ) { $LabelSettings["X3"] = $Xc+$Radius+$LabelOffset; }
- if ( $Angle > 180 ) { $LabelSettings["X3"] = $Xc-$Radius-$LabelOffset; }
- $this->LabelPos[] = $LabelSettings;
- }
- }
-
- /* Internally used to shift label positions */
- function shift($StartAngle,$EndAngle,$Offset,$Reversed)
- {
- if ( $Reversed ) { $Offset = -$Offset; }
- foreach($this->LabelPos as $Key => $Settings)
- {
- if ( $Settings["Angle"] > $StartAngle && $Settings["Angle"] <= $EndAngle ) { $this->LabelPos[$Key]["YTop"] = $Settings["YTop"] + $Offset; $this->LabelPos[$Key]["YBottom"] = $Settings["YBottom"] + $Offset; $this->LabelPos[$Key]["Y2"] = $Settings["Y2"] + $Offset; }
- }
- }
-
- /* Internally used to write the re-computed labels */
- function writeShiftedLabels()
- {
- if ( $this->LabelPos == "" ) { return(0); }
- foreach($this->LabelPos as $Key => $Settings)
- {
- $X1 = $Settings["X1"]; $Y1 = $Settings["Y1"];
- $X2 = $Settings["X2"]; $Y2 = $Settings["Y2"];
- $X3 = $Settings["X3"];
- $Angle = $Settings["Angle"];
- $Label = $Settings["Label"];
-
- $this->pChartObject->drawArrow($X2,$Y2,$X1,$Y1,array("Size"=>8));
- if ( $Angle <= 180 )
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3+2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- }
- else
- {
- $this->pChartObject->drawLine($X2,$Y2,$X3,$Y2);
- $this->pChartObject->drawText($X3-2,$Y2,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- }
- }
- }
-
- /* Draw a ring chart */
- function draw2DRing($X,$Y,$Format="")
- {
- $OuterRadius = isset($Format["Radius"]) ? $Format["Radius"] : 60;
- $InnerRadius = isset($Format["Radius"]) ? $Format["Radius"] : 30;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 100;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL; //PIE_VALUE_PERCENTAGE
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 5;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = 0; } // count($Values)
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow )
- {
- $this->pChartObject->Shadow = FALSE;
-
- $ShadowFormat = $Format; $ShadowFormat["Shadow"] = TRUE;
- $this->draw2DRing($X+$this->pChartObject->ShadowX,$Y+$this->pChartObject->ShadowY,$ShadowFormat);
- }
-
- /* Draw the polygon pie elements */
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0; $ID = 0;
- foreach($Values as $Key => $Value)
- {
- if ( $Shadow )
- {
- $Settings = array("R"=>$this->pChartObject->ShadowR,"G"=>$this->pChartObject->ShadowG,"B"=>$this->pChartObject->ShadowB,"Alpha"=>$this->pChartObject->Shadowa);
- $BorderColor = $Settings;
- }
- else
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- if ( $Border )
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
- else
- $BorderColor = $Settings;
- }
-
- $Plots = ""; $Boundaries = ""; $AAPixels = "";
- $EndAngle = $Offset+($Value*$ScaleFactor); if ( $EndAngle > 360 ) { $EndAngle = 360; }
- for($i=$Offset;$i<=$EndAngle;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $OuterRadius + $Y;
-
- if ( !isset($Boundaries[0]["X1"]) ) { $Boundaries[0]["X1"] = $Xc; $Boundaries[0]["Y1"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[1]["X1"] = $Xc; $Boundaries[1]["Y1"] = $Yc;
- $Lasti = $EndAngle;
-
- for($i=$EndAngle;$i>=$Offset;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius-1) + $Y;
-
- if ( !isset($Boundaries[1]["X2"]) ) { $Boundaries[1]["X2"] = $Xc; $Boundaries[1]["Y2"] = $Yc; }
- $AAPixels[] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * $InnerRadius + $X;
- $Yc = sin(($i-90)*PI/180) * $InnerRadius + $Y;
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Plots[] = $Xc; $Plots[] = $Yc;
- }
- $Boundaries[0]["X2"] = $Xc; $Boundaries[0]["Y2"] = $Yc;
-
- /* Draw the polygon */
- $this->pChartObject->drawPolygon($Plots,$Settings);
- if ( $RecordImageMap && !$Shadow ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$Key],$Value); }
-
- /* Smooth the edges using AA */
- foreach($AAPixels as $iKey => $Pos ) { $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$BorderColor); }
- $this->pChartObject->drawLine($Boundaries[0]["X1"],$Boundaries[0]["Y1"],$Boundaries[0]["X2"],$Boundaries[0]["Y2"],$BorderColor);
- $this->pChartObject->drawLine($Boundaries[1]["X1"],$Boundaries[1]["Y1"],$Boundaries[1]["X2"],$Boundaries[1]["Y2"],$BorderColor);
-
- if ( $DrawLabels && !$Shadow )
- {
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * $OuterRadius + $X;
- $Yc = sin(($Angle-90)*PI/180) * $OuterRadius + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc,$Label,$Angle,$Settings,FALSE);
- }
-
- $Offset = $Lasti; $ID++;
- }
-
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- if ( $WriteValues && !$Shadow )
- {
- $Step = 360 / (2 * PI * $OuterRadius);
- $Offset = 0;
- foreach($Values as $Key => $Value)
- {
- $EndAngle = $Offset+($Value*$ScaleFactor);
- if ( $EndAngle > 360 ) { $EndAngle = 360; }
-
- $Angle = $Offset+($Value*$ScaleFactor)/2;
- if ( $ValuePosition == PIE_VALUE_OUTSIDE )
- {
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$ValuePadding) + $Y;
- if ( $Angle >=0 && $Angle <= 90 ) { $Align = TEXT_ALIGN_BOTTOMLEFT; }
- if ( $Angle > 90 && $Angle <= 180 ) { $Align = TEXT_ALIGN_TOPLEFT; }
- if ( $Angle > 180 && $Angle <= 270 ) { $Align = TEXT_ALIGN_TOPRIGHT; }
- if ( $Angle > 270 ) { $Align = TEXT_ALIGN_BOTTOMRIGHT; }
- }
- else
- {
- $Xc = cos(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * (($OuterRadius-$InnerRadius)/2+$InnerRadius) + $Y;
- $Align = TEXT_ALIGN_MIDDLEMIDDLE;
- }
-
- if ( $WriteValues == PIE_VALUE_PERCENTAGE )
- $Display = round(( 100 / $SerieSum ) * $Value)."%";
- elseif ( $WriteValues == PIE_VALUE_NATURAL )
- $Display = $Value.$ValueSuffix;
-
- $this->pChartObject->drawText($Xc,$Yc,$Display,array("Align"=>$Align,"R"=>$ValueR,"G"=>$ValueG,"B"=>$ValueB));
- $Offset = $EndAngle;
- }
- }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Draw a 3D ring chart */
- function draw3DRing($X,$Y,$Format="")
- {
- /* Rendering layout */
- $OuterRadius = isset($Format["OuterRadius"]) ? $Format["OuterRadius"] : 100;
- $InnerRadius = isset($Format["InnerRadius"]) ? $Format["InnerRadius"] : 30;
- $SkewFactor = isset($Format["SkewFactor"]) ? $Format["SkewFactor"] : .6;
- $SliceHeight = isset($Format["SliceHeight"]) ? $Format["SliceHeight"] : 10;
- $DataGapAngle = isset($Format["DataGapAngle"]) ? $Format["DataGapAngle"] : 10;
- $DataGapRadius = isset($Format["DataGapRadius"]) ? $Format["DataGapRadius"] : 10;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $Shadow = isset($Format["Shadow"]) ? $Format["Shadow"] : FALSE;
- $DrawLabels = isset($Format["DrawLabels"]) ? $Format["DrawLabels"] : FALSE;
- $LabelStacked = isset($Format["LabelStacked"]) ? $Format["LabelStacked"] : FALSE;
- $LabelColor = isset($Format["LabelColor"]) ? $Format["LabelColor"] : PIE_LABEL_COLOR_MANUAL;
- $LabelR = isset($Format["LabelR"]) ? $Format["LabelR"] : 0;
- $LabelG = isset($Format["LabelG"]) ? $Format["LabelG"] : 0;
- $LabelB = isset($Format["LabelB"]) ? $Format["LabelB"] : 0;
- $LabelAlpha = isset($Format["LabelAlpha"]) ? $Format["LabelAlpha"] : 100;
- $Cf = isset($Format["Cf"]) ? $Format["Cf"] : 20;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : NULL;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : $SliceHeight + 15;
- $ValuePosition = isset($Format["ValuePosition"]) ? $Format["ValuePosition"] : PIE_VALUE_OUTSIDE;
- $ValueSuffix = isset($Format["ValueSuffix"]) ? $Format["ValueSuffix"] : "";
- $ValueR = isset($Format["ValueR"]) ? $Format["ValueR"] : 255;
- $ValueG = isset($Format["ValueG"]) ? $Format["ValueG"] : 255;
- $ValueB = isset($Format["ValueB"]) ? $Format["ValueB"] : 255;
- $ValueAlpha = isset($Format["ValueAlpha"]) ? $Format["ValueAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Error correction for overlaying rounded corners */
- if ( $SkewFactor < .5 ) { $SkewFactor = .5; }
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- /* Do we have an abscissa serie defined? */
- if ( $Data["Abscissa"] == "" ) { return(PIE_NO_ABSCISSA); }
-
- /* Try to find the data serie */
- $DataSerie = "";
- foreach ($Data["Series"] as $SerieName => $SerieData)
- { if ( $SerieName != $Data["Abscissa"]) { $DataSerie = $SerieName; } }
-
- /* Do we have data to compute? */
- if ( $DataSerie == "" ) { return(PIE_NO_DATASERIE); }
-
- /* Remove unused data */
- list($Data,$Palette) = $this->clean0Values($Data,$Palette,$DataSerie,$Data["Abscissa"]);
-
- /* Compute the pie sum */
- $SerieSum = $this->pDataObject->getSum($DataSerie);
-
- /* Do we have data to draw? */
- if ( $SerieSum == 0 ) { return(PIE_SUMISNULL); }
-
- /* Dump the real number of data to draw */
- $Values = "";
- foreach ($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- { if ($Value != 0) { $Values[] = $Value; } }
-
- /* Compute the wasted angular space between series */
- if (count($Values)==1) { $WastedAngular = 0; } else { $WastedAngular = count($Values) * $DataGapAngle; }
-
- /* Compute the scale */
- $ScaleFactor = (360 - $WastedAngular) / $SerieSum;
-
- $RestoreShadow = $this->pChartObject->Shadow;
- if ( $this->pChartObject->Shadow ) { $this->pChartObject->Shadow = FALSE; }
-
- /* Draw the polygon ring elements */
- $Offset = 360; $ID = count($Values)-1;
- $Values = array_reverse($Values);
- $Slice = 0; $Slices = ""; $SliceColors = ""; $Visible = ""; $SliceAngle = "";
- foreach($Values as $Key => $Value)
- {
- if ( !isset($Palette[$ID]["R"]) ) { $Color = $this->pChartObject->getRandomColor(); $Palette[$ID] = $Color; $this->pDataObject->savePalette($ID,$Color); }
- $Settings = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);
-
- $SliceColors[$Slice] = $Settings;
-
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $StartAngle > 180 ) { $Visible[$Slice]["Start"] = TRUE; } else { $Visible[$Slice]["Start"] = TRUE; }
- if ( $EndAngle < 180 ) { $Visible[$Slice]["End"] = FALSE; } else { $Visible[$Slice]["End"] = TRUE; }
-
- $Step = (360 / (2 * PI * $OuterRadius))/2;
- $OutX1 = VOID; $OutY1 = VOID;
- for($i=$Offset;$i>=$EndAngle;$i=$i-$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-2)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
- $this->pChartObject->drawAntialiasPixel($Xc,$Yc,$Settings);
-
- if ( $OutX1 == VOID ) { $OutX1 = $Xc; $OutY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $OutX2 = $Xc; $OutY2 = $Yc;
-
- $Slices[$Slice]["Angle"][] = VOID;
- $Lasti = $i;
-
- $Step = (360 / (2 * PI * $InnerRadius))/2;
- $InX1 = VOID; $InY1 = VOID;
- for($i=$EndAngle;$i<=$Offset;$i=$i+$Step)
- {
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius-1)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- $Xc = cos(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius) + $X;
- $Yc = sin(($i-90)*PI/180) * ($InnerRadius+$DataGapRadius)*$SkewFactor + $Y;
- $Slices[$Slice]["AA"][] = array($Xc,$Yc);
-
- if ( $InX1 == VOID ) { $InX1 = $Xc; $InY1 = $Yc; }
-
- if ( $i<90 ) { $Yc++; }
- if ( $i>90 && $i<180 ) { $Xc++; }
- if ( $i>180 && $i<270 ) { $Xc++; }
- if ( $i>=270 ) { $Xc++; $Yc++; }
-
- $Slices[$Slice]["BottomPoly"][] = floor($Xc); $Slices[$Slice]["BottomPoly"][] = floor($Yc);
- $Slices[$Slice]["TopPoly"][] = floor($Xc); $Slices[$Slice]["TopPoly"][] = floor($Yc)-$SliceHeight;
- $Slices[$Slice]["Angle"][] = $i;
- }
- $InX2 = $Xc; $InY2 = $Yc;
-
- $Slices[$Slice]["InX1"] = $InX1; $Slices[$Slice]["InY1"] = $InY1;
- $Slices[$Slice]["InX2"] = $InX2; $Slices[$Slice]["InY2"] = $InY2;
- $Slices[$Slice]["OutX1"] = $OutX1; $Slices[$Slice]["OutY1"] = $OutY1;
- $Slices[$Slice]["OutX2"] = $OutX2; $Slices[$Slice]["OutY2"] = $OutY2;
-
- $Offset = $Lasti - $DataGapAngle; $ID--; $Slice++;
- }
-
- /* Draw the bottom pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $this->pChartObject->drawPolygon($Plots["BottomPoly"],$Settings);
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1],$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["OutX2"],$Plots["OutY2"],$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["OutX1"],$Plots["OutY1"],$Settings);
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
- /* Draw the vertical edges (semi-visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $StartAngle >= 270 || $StartAngle <= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"],$Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"],$Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Settings);
- }
-
- /* Draw the inner vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Inner )
- {
- if (( $Angle < 90 || $Angle > 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $InnerPlotsA[] = $Xo; $InnerPlotsA[] = $Yo;
- $InnerPlotsB[] = $Xo; $InnerPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
-
- if ( $InnerPlotsA != "" )
- { $InnerPlots = array_merge($InnerPlotsA,$this->arrayReverse($InnerPlotsB)); $this->pChartObject->drawPolygon($InnerPlots,$Settings); }
- }
-
-
- /* Draw the splice top and left poly */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*1.5; $Settings["G"] = $Settings["G"]+$Cf*1.5; $Settings["B"] = $Settings["B"]+$Cf*1.5;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle < 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"];
- $Points[] = $Plots["InX2"];
- $Points[] = $Plots["InY2"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"]-$SliceHeight;
- $Points[] = $Plots["OutX1"];
- $Points[] = $Plots["OutY1"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
-
- if ( $EndAngle > 180 )
- {
- $Points = "";
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"];
- $Points[] = $Plots["InX1"];
- $Points[] = $Plots["InY1"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"]-$SliceHeight;
- $Points[] = $Plots["OutX2"];
- $Points[] = $Plots["OutY2"];
-
- $this->pChartObject->drawPolygon($Points,$Settings);
- }
- }
-
-
- /* Draw the vertical edges (visible) */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $StartAngle = $Plots["Angle"][0];
- foreach($Plots["Angle"] as $Key =>$Angle) { if ($Angle == VOID) { $EndAngle = $Plots["Angle"][$Key-1]; } }
-
- if ( $StartAngle <= 270 && $StartAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX1"],$Plots["OutY1"],$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- if ( $EndAngle <= 270 && $EndAngle >= 90 )
- $this->pChartObject->drawLine($Plots["OutX2"],$Plots["OutY2"],$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- }
-
-
- /* Draw the outer vertical slices */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf; $Settings["G"] = $Settings["G"]+$Cf; $Settings["B"] = $Settings["B"]+$Cf;
-
- $Outer = TRUE; $Inner = FALSE;
- $OuterPlotsA = ""; $OuterPlotsB = ""; $InnerPlotsA = ""; $InnerPlotsB = "";
- foreach($Plots["Angle"] as $ID => $Angle)
- {
- if ( $Angle == VOID )
- { $Outer = FALSE; $Inner = TRUE; }
- elseif( $Outer )
- {
- if ( ( $Angle > 90 && $Angle < 270 ) && isset($Plots["BottomPoly"][$ID*2]) )
- {
- $Xo = $Plots["BottomPoly"][$ID*2];
- $Yo = $Plots["BottomPoly"][$ID*2+1];
-
- $OuterPlotsA[] = $Xo; $OuterPlotsA[] = $Yo;
- $OuterPlotsB[] = $Xo; $OuterPlotsB[] = $Yo-$SliceHeight;
- }
- }
- }
- if ( $OuterPlotsA != "" )
- { $OuterPlots = array_merge($OuterPlotsA,$this->arrayReverse($OuterPlotsB)); $this->pChartObject->drawPolygon($OuterPlots,$Settings); }
- }
-
- $Slices = array_reverse($Slices);
- $SliceColors = array_reverse($SliceColors);
-
-
- /* Draw the top pie splice */
- foreach($Slices as $SliceID => $Plots)
- {
- $Settings = $SliceColors[$SliceID]; $Settings["NoBorder"] = TRUE;
- $Settings["R"] = $Settings["R"]+$Cf*2; $Settings["G"] = $Settings["G"]+$Cf*2; $Settings["B"] = $Settings["B"]+$Cf*2;
-
- $this->pChartObject->drawPolygon($Plots["TopPoly"],$Settings);
-
-//print_r($Data["Series"][$Data["Abscissa"]]["Data"]);
-//exit();
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("POLY",$this->arraySerialize($Plots["TopPoly"]),$this->pChartObject->toHTMLColor($Settings["R"],$Settings["G"],$Settings["B"]),$Data["Series"][$Data["Abscissa"]]["Data"][$SliceID],$Data["Series"][$DataSerie]["Data"][count($Slices)-$SliceID-1]); }
-
- foreach($Plots["AA"] as $Key => $Pos)
- $this->pChartObject->drawAntialiasPixel($Pos[0],$Pos[1]-$SliceHeight,$Settings);
-
- $this->pChartObject->drawLine($Plots["InX1"],$Plots["InY1"]-$SliceHeight,$Plots["OutX2"],$Plots["OutY2"]-$SliceHeight,$Settings);
- $this->pChartObject->drawLine($Plots["InX2"],$Plots["InY2"]-$SliceHeight,$Plots["OutX1"],$Plots["OutY1"]-$SliceHeight,$Settings);
- }
-
- if ( $DrawLabels )
- {
- $Offset = 360;
- foreach($Values as $Key => $Value)
- {
- $StartAngle = $Offset;
- $EndAngle = $Offset-($Value*$ScaleFactor); if ( $EndAngle < 0 ) { $EndAngle = 0; }
-
- if ( $LabelColor == PIE_LABEL_COLOR_AUTO )
- { $Settings = array("FillR"=>$Palette[$ID]["R"],"FillG"=>$Palette[$ID]["G"],"FillB"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"]);}
- else
- { $Settings = array("FillR"=>$LabelR,"FillG"=>$LabelG,"FillB"=>$LabelB,"Alpha"=>$LabelAlpha); }
-
- $Angle = ($EndAngle - $Offset)/2 + $Offset;
- $Xc = cos(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius) + $X;
- $Yc = sin(($Angle-90)*PI/180) * ($OuterRadius+$DataGapRadius)*$SkewFactor + $Y;
-
- $Label = $Data["Series"][$Data["Abscissa"]]["Data"][$Key];
-
- if ( $LabelStacked )
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,TRUE,$X,$Y,$OuterRadius);
- else
- $this->writePieLabel($Xc,$Yc-$SliceHeight,$Label,$Angle,$Settings,FALSE);
-
- $Offset = $EndAngle - $DataGapAngle; $ID--; $Slice++;
- }
- }
- if ( $DrawLabels && $LabelStacked ) { $this->writeShiftedLabels(); }
-
- $this->pChartObject->Shadow = $RestoreShadow;
-
- return(PIE_RENDERED);
- }
-
- /* Serialize an array */
- function arraySerialize($Data)
- {
- $Result = "";
- foreach($Data as $Key => $Value)
- { if ($Result == "") { $Result = floor($Value); } else { $Result = $Result.",".floor($Value); } }
-
- return($Result);
- }
-
- /* Reverse an array */
- function arrayReverse($Plots)
- {
- $Result = "";
-
- for($i=count($Plots)-1;$i>=0;$i=$i-2)
- { $Result[] = $Plots[$i-1]; $Result[] = $Plots[$i]; }
-
- return($Result);
- }
-
- /* Remove unused series & values */
- function clean0Values($Data,$Palette,$DataSerie,$AbscissaSerie)
- {
- $NewPalette = ""; $NewData = ""; $NewAbscissa = "";
-
- /* Remove unused series */
- foreach($Data["Series"] as $SerieName => $SerieSettings)
- { if ( $SerieName != $DataSerie && $SerieName != $AbscissaSerie ) { unset($Data["Series"][$SerieName]); } }
-
- /* Remove NULL values */
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ($Value != 0 )
- {
- $NewData[] = $Value;
- $NewAbscissa[] = $Data["Series"][$AbscissaSerie]["Data"][$Key];
- if ( isset($Palette[$Key]) ) { $NewPalette[] = $Palette[$Key]; }
- }
- }
- $Data["Series"][$DataSerie]["Data"] = $NewData;
- $Data["Series"][$AbscissaSerie]["Data"] = $NewAbscissa;
-
- return(array($Data,$NewPalette));
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pRadar.class.php b/notFinishedCode/web/class/pRadar.class.php
deleted file mode 100644
index 6235c99..0000000
--- a/notFinishedCode/web/class/pRadar.class.php
+++ /dev/null
@@ -1,669 +0,0 @@
-<?php
- /*
- pRadar - class to draw radar charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SEGMENT_HEIGHT_AUTO" , 690001);
-
- define("RADAR_LAYOUT_STAR" , 690011);
- define("RADAR_LAYOUT_CIRCLE" , 690012);
-
- define("RADAR_LABELS_ROTATED" , 690021);
- define("RADAR_LABELS_HORIZONTAL" , 690022);
-
- /* pRadar class definition */
- class pRadar
- {
- var $pChartObject;
-
- /* Class creator */
- function pRadar()
- { }
-
- /* Draw a radar chart */
- function drawRadar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : 0;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["AxisFontName"]) ? $Format["AxisFontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["AxisFontSize"]) ? $Format["AxisFontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $Layout = isset($Format["Layout"]) ? $Format["Layout"] : RADAR_LAYOUT_STAR;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $SkipLabels = isset($Format["SkipLabels"]) ? $Format["SkipLabels"] : 1;
- $LabelMiddle = isset($Format["LabelMiddle"]) ? $Format["LabelMiddle"] : FALSE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : TRUE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : 40;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
- if ( $LabelMiddle && $SkipLabels == 1 )
- { $Axisoffset = (360/$Points)/2; }
- elseif ( $LabelMiddle && $SkipLabels != 1 )
- { $Axisoffset = (360/($Points/$SkipLabels))/2; }
- elseif ( !$LabelMiddle )
- { $Axisoffset = 0; }
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $PointArray = "";
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * $EdgeHeight + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $PointArray = "";
-
- for($i=0;$i<=360;$i=$i+(360/$Points))
- {
- $PointArray[] = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $PointArray[] = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- $Object->drawPolygon($PointArray,$Color);
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- $ColorDotted = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha*.8, "Ticks"=>2);
- if ( $Layout == RADAR_LAYOUT_STAR )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX1 = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad($i+$AxisRotation+(360/$Points))) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $Object->drawLine($EdgeX1,$EdgeY1,$EdgeX2,$EdgeY2,$Color);
- }
- }
- }
- elseif ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $Label = $j * $SegmentHeight;
-
- if ( $Layout == RADAR_LAYOUT_CIRCLE )
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- }
- elseif ( $Layout == RADAR_LAYOUT_STAR )
- {
- $EdgeX1 = cos(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $EdgeX2 = cos(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY2 = sin(deg2rad((360 / $Points) + $AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
-
- $EdgeX1 = ($EdgeX2 - $EdgeX1)/2 + $EdgeX1;
- $EdgeY1 = ($EdgeY2 - $EdgeY1)/2 + $EdgeY1;
- }
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<360;$i=$i+(360/$Points))
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- if ($ID % $SkipLabels == 0)
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color); }
- else
- { $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$ColorDotted); }
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation+$Axisoffset)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
-
- if ( $LabelSerie != "" )
- { $Label = isset($Data["Series"][$LabelSerie]["Data"][$ID]) ? $Data["Series"][$LabelSerie]["Data"][$ID] : ""; }
- else
- $Label = $ID;
-
- if ($ID % $SkipLabels == 0)
- {
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-($i+$AxisRotation+$Axisoffset))-90,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataS)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataS["Data"] as $Key => $Value)
- {
- $Angle = (360/$Points) * $Key;
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- $Plot[$ID][] = array($X,$Y,$Value);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataS["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]." = ".$Value); }
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
-
-
-
- /* Draw a radar chart */
- function drawPolar($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $AxisR = isset($Format["AxisR"]) ? $Format["AxisR"] : 60;
- $AxisG = isset($Format["AxisG"]) ? $Format["AxisG"] : 60;
- $AxisB = isset($Format["AxisB"]) ? $Format["AxisB"] : 60;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 50;
- $AxisRotation = isset($Format["AxisRotation"]) ? $Format["AxisRotation"] : -90;
- $DrawTicks = isset($Format["DrawTicks"]) ? $Format["DrawTicks"] : TRUE;
- $TicksLength = isset($Format["TicksLength"]) ? $Format["TicksLength"] : 2;
- $DrawAxisValues = isset($Format["DrawAxisValues"]) ? $Format["DrawAxisValues"] : TRUE;
- $AxisBoxRounded = isset($Format["AxisBoxRounded"]) ? $Format["AxisBoxRounded"] : TRUE;
- $AxisFontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $AxisFontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $WriteValues = isset($Format["WriteValues"]) ? $Format["WriteValues"] : FALSE;
- $WriteValuesInBubble = isset($Format["WriteValuesInBubble"]) ? $Format["WriteValuesInBubble"] : TRUE;
- $ValueFontName = isset($Format["ValueFontName"]) ? $Format["ValueFontName"] : $this->pChartObject->FontName;
- $ValueFontSize = isset($Format["ValueFontSize"]) ? $Format["ValueFontSize"] : $this->pChartObject->FontSize;
- $ValuePadding = isset($Format["ValuePadding"]) ? $Format["ValuePadding"] : 4;
- $OuterBubbleRadius = isset($Format["OuterBubbleRadius"]) ? $Format["OuterBubbleRadius"] : 2;
- $OuterBubbleR = isset($Format["OuterBubbleR"]) ? $Format["OuterBubbleR"] : VOID;
- $OuterBubbleG = isset($Format["OuterBubbleG"]) ? $Format["OuterBubbleG"] : VOID;
- $OuterBubbleB = isset($Format["OuterBubbleB"]) ? $Format["OuterBubbleB"] : VOID;
- $OuterBubbleAlpha = isset($Format["OuterBubbleAlpha"]) ? $Format["OuterBubbleAlpha"] : 100;
- $InnerBubbleR = isset($Format["InnerBubbleR"]) ? $Format["InnerBubbleR"] : 255;
- $InnerBubbleG = isset($Format["InnerBubbleG"]) ? $Format["InnerBubbleG"] : 255;
- $InnerBubbleB = isset($Format["InnerBubbleB"]) ? $Format["InnerBubbleB"] : 255;
- $InnerBubbleAlpha = isset($Format["InnerBubbleAlpha"]) ? $Format["InnerBubbleAlpha"] : 100;
- $DrawBackground = isset($Format["DrawBackground"]) ? $Format["DrawBackground"] : TRUE;
- $BackgroundR = isset($Format["BackgroundR"]) ? $Format["BackgroundR"] : 255;
- $BackgroundG = isset($Format["BackgroundG"]) ? $Format["BackgroundG"] : 255;
- $BackgroundB = isset($Format["BackgroundB"]) ? $Format["BackgroundB"] : 255;
- $BackgroundAlpha = isset($Format["BackgroundAlpha"]) ? $Format["BackgroundAlpha"] : 50;
- $BackgroundGradient= isset($Format["BackgroundGradient"]) ? $Format["BackgroundGradient"] : NULL;
- $AxisSteps = isset($Format["AxisSteps"]) ? $Format["AxisSteps"] : 20;
- $SegmentHeight = isset($Format["SegmentHeight"]) ? $Format["SegmentHeight"] : SEGMENT_HEIGHT_AUTO;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 4;
- $WriteLabels = isset($Format["WriteLabels"]) ? $Format["WriteLabels"] : TRUE;
- $LabelsBackground = isset($Format["LabelsBackground"]) ? $Format["LabelsBackground"] : TRUE;
- $LabelsBGR = isset($Format["LabelsBGR"]) ? $Format["LabelsBGR"] : 255;
- $LabelsBGG = isset($Format["LabelsBGR"]) ? $Format["LabelsBGG"] : 255;
- $LabelsBGB = isset($Format["LabelsBGR"]) ? $Format["LabelsBGB"] : 255;
- $LabelsBGAlpha = isset($Format["LabelsBGAlpha"]) ? $Format["LabelsBGAlpha"] : 50;
- $LabelPos = isset($Format["LabelPos"]) ? $Format["LabelPos"] : RADAR_LABELS_ROTATED;
- $LabelPadding = isset($Format["LabelPadding"]) ? $Format["LabelPadding"] : 4;
- $DrawPoints = isset($Format["DrawPoints"]) ? $Format["DrawPoints"] : TRUE;
- $PointRadius = isset($Format["PointRadius"]) ? $Format["PointRadius"] : 4;
- $PointSurrounding = isset($Format["PointRadius"]) ? $Format["PointRadius"] : -30;
- $DrawLines = isset($Format["DrawLines"]) ? $Format["DrawLines"] : TRUE;
- $LineLoopStart = isset($Format["LineLoopStart"]) ? $Format["LineLoopStart"] : FALSE;
- $DrawPoly = isset($Format["DrawPoly"]) ? $Format["DrawPoly"] : FALSE;
- $PolyAlpha = isset($Format["PolyAlpha"]) ? $Format["PolyAlpha"] : NULL;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
-
- if ( $AxisBoxRounded ) { $DrawAxisValues = TRUE; }
-
- /* Cancel default tick length if ticks not enabled */
- if ( $DrawTicks == FALSE ) { $TicksLength = 0; }
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- /* Catch the number of required axis */
- $LabelSerie = $Data["Abscissa"];
- if ( $LabelSerie != "" )
- { $Points = count($Data["Series"][$LabelSerie]["Data"]); }
- else
- {
- $Points = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- { if ( count($DataArray["Data"]) > $Points ) { $Points = count($DataArray["Data"]); } }
- }
-
- /* Draw the axis */
- $CenterX = ($X2-$X1)/2 + $X1;
- $CenterY = ($Y2-$Y1)/2 + $Y1;
-
- $EdgeHeight = min(($X2-$X1)/2,($Y2-$Y1)/2);
- if ( $WriteLabels )
- $EdgeHeight = $EdgeHeight - $FontSize - $LabelPadding - $TicksLength;
-
- /* Determine the scale if set to automatic */
- if ( $SegmentHeight == SEGMENT_HEIGHT_AUTO)
- {
- $Max = 0;
- foreach($Data["Series"] as $SerieName => $DataArray)
- {
- if ( $SerieName != $LabelSerie )
- {
- if ( max($DataArray["Data"]) > $Max ) { $Max = max($DataArray["Data"]); }
- }
- }
- $MaxSegments = $EdgeHeight/20;
- $Scale = $Object->computeScale(0,$Max,$MaxSegments,array(1,2,5));
-
- $Segments = $Scale["Rows"];
- $SegmentHeight = $Scale["RowHeight"];
- }
-
-
- /* Background processing */
- if ( $DrawBackground )
- {
- $RestoreShadow = $Object->Shadow;
- $Object->Shadow = FALSE;
-
- if ($BackgroundGradient == NULL)
- {
- $Color = array("R"=>$BackgroundR,"G"=>$BackgroundG,"B"=>$BackgroundB,"Alpha"=>$BackgroundAlpha);
- $Object->drawFilledCircle($CenterX,$CenterY,$EdgeHeight,$Color);
- }
- else
- {
- $GradientROffset = ($BackgroundGradient["EndR"] - $BackgroundGradient["StartR"]) / $Segments;
- $GradientGOffset = ($BackgroundGradient["EndG"] - $BackgroundGradient["StartG"]) / $Segments;
- $GradientBOffset = ($BackgroundGradient["EndB"] - $BackgroundGradient["StartB"]) / $Segments;
- $GradientAlphaOffset = ($BackgroundGradient["EndAlpha"] - $BackgroundGradient["StartAlpha"]) / $Segments;
-
- for($j=$Segments;$j>=1;$j--)
- {
- $Color = array("R"=>$BackgroundGradient["StartR"]+$GradientROffset*$j,"G"=>$BackgroundGradient["StartG"]+$GradientGOffset*$j,"B"=>$BackgroundGradient["StartB"]+$GradientBOffset*$j,"Alpha"=>$BackgroundGradient["StartAlpha"]+$GradientAlphaOffset*$j);
- $Object->drawFilledCircle($CenterX,$CenterY,($EdgeHeight/$Segments)*$j,$Color);
- }
- }
- $Object->Shadow = $RestoreShadow;
- }
-
- /* Axis to axis lines */
- $Color = array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha);
- for($j=1;$j<=$Segments;$j++)
- {
- $Radius = ($EdgeHeight/$Segments)*$j;
- $Object->drawCircle($CenterX,$CenterY,$Radius,$Radius,$Color);
- }
-
- if ( $DrawAxisValues )
- {
- if ( $LabelsBackground )
- $Options = array("DrawBox"=>TRUE, "Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"BoxR"=>$LabelsBGR,"BoxG"=>$LabelsBGG,"BoxB"=>$LabelsBGB,"BoxAlpha"=>$LabelsBGAlpha);
- else
- $Options = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE);
-
- if ( $AxisBoxRounded ) { $Options["BoxRounded"] = TRUE; }
-
- $Options["FontName"] = $AxisFontName;
- $Options["FontSize"] = $AxisFontSize;
-
- $Angle = 360 / ($Points*2);
- for($j=1;$j<=$Segments;$j++)
- {
- $EdgeX1 = cos(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterX;
- $EdgeY1 = sin(deg2rad($Angle+$AxisRotation)) * ($EdgeHeight/$Segments)*$j + $CenterY;
- $Label = $j*$SegmentHeight;
-
- $Object->drawText($EdgeX1,$EdgeY1,$Label,$Options);
- }
- }
-
- /* Axis lines */
- $ID = 0;
- for($i=0;$i<=359;$i=$i+$AxisSteps)
- {
- $EdgeX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterX;
- $EdgeY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$TicksLength) + $CenterY;
-
- $Object->drawLine($CenterX,$CenterY,$EdgeX,$EdgeY,$Color);
-
- if ( $WriteLabels )
- {
- $LabelX = cos(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterX;
- $LabelY = sin(deg2rad($i+$AxisRotation)) * ($EdgeHeight+$LabelPadding+$TicksLength) + $CenterY;
- $Label = $i."°";
-
- if ( $LabelPos == RADAR_LABELS_ROTATED )
- $Object->drawText($LabelX,$LabelY,$Label,array("Angle"=>(360-$i),"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- else
- {
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMLEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT)); }
- if ( (floor($LabelX) > floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPLEFT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) < floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) == floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_MIDDLERIGHT)); }
- if ( (floor($LabelX) < floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPRIGHT)); }
- if ( (floor($LabelX) == floor($CenterX)) && (floor($LabelY) > floor($CenterY)) ) { $Object->drawText($LabelX,$LabelY,$Label,array("Align"=>TEXT_ALIGN_TOPMIDDLE)); }
- }
- }
- $ID++;
- }
-
- /* Compute the plots position */
- $ID = 0; $Plot = "";
- foreach($Data["Series"] as $SerieName => $DataSet)
- {
- if ( $SerieName != $LabelSerie )
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
- foreach($DataSet["Data"] as $Key => $Value)
- {
- $Angle = $Data["Series"][$LabelSerie]["Data"][$Key];
- $Length = ($EdgeHeight/($Segments*$SegmentHeight))*$Value;
-
- $X = cos(deg2rad($Angle+$AxisRotation)) * $Length + $CenterX;
- $Y = sin(deg2rad($Angle+$AxisRotation)) * $Length + $CenterY;
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PointRadius),$this->pChartObject->toHTMLColor($Palette[$ID]["R"],$Palette[$ID]["G"],$Palette[$ID]["B"]),$DataSet["Description"],$Data["Series"][$LabelSerie]["Data"][$Key]."&deg = ".$Value); }
-
- $Plot[$ID][] = array($X,$Y,$Value);
- }
- $ID++;
- }
- }
-
- /* Draw all that stuff! */
- foreach($Plot as $ID => $Points)
- {
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Draw the polygons */
- if ( $DrawPoly )
- {
- if ($PolyAlpha != NULL)
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$PolyAlpha,"Surrounding"=>$PointSurrounding);
-
- $PointsArray = "";
- for($i=0; $i<count($Points);$i++)
- { $PointsArray[] = $Points[$i][0]; $PointsArray[] = $Points[$i][1]; }
-
- $Object->drawPolygon($PointsArray,$Color);
- }
-
- $Color = array("R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"],"Alpha"=>$Palette[$ID]["Alpha"],"Surrounding"=>$PointSurrounding);
-
- /* Bubble and labels settings */
- $TextSettings = array("Align"=>TEXT_ALIGN_MIDDLEMIDDLE,"FontName"=>$ValueFontName,"FontSize"=>$ValueFontSize,"R"=>$Palette[$ID]["R"],"G"=>$Palette[$ID]["G"],"B"=>$Palette[$ID]["B"]);
- $InnerColor = array("R"=>$InnerBubbleR,"G"=>$InnerBubbleG,"B"=>$InnerBubbleB,"Alpha"=>$InnerBubbleAlpha);
- if ( $OuterBubbleR != VOID )
- $OuterColor = array("R"=>$OuterBubbleR,"G"=>$OuterBubbleG,"B"=>$OuterBubbleB,"Alpha"=>$OuterBubbleAlpha);
- else
- $OuterColor = array("R"=>$Palette[$ID]["R"]+20,"G"=>$Palette[$ID]["G"]+20,"B"=>$Palette[$ID]["B"]+20,"Alpha"=>$Palette[$ID]["Alpha"]);
-
- /* Loop to the starting points if asked */
- if ( $LineLoopStart && $DrawLines )
- $Object->drawLine($Points[count($Points)-1][0],$Points[count($Points)-1][1],$Points[0][0],$Points[0][1],$Color);
-
- /* Draw the lines & points */
- for($i=0; $i<count($Points);$i++)
- {
- if ( $DrawLines && $i < count($Points)-1)
- $Object->drawLine($Points[$i][0],$Points[$i][1],$Points[$i+1][0],$Points[$i+1][1],$Color);
-
- if ( $DrawPoints )
- $Object->drawFilledCircle($Points[$i][0],$Points[$i][1],$PointRadius,$Color);
-
- if ( $WriteValuesInBubble && $WriteValues )
- {
- $TxtPos = $this->pChartObject->getTextBox($Points[$i][0],$Points[$i][1],$ValueFontName,$ValueFontSize,0,$Points[$i][2]);
- $Radius = floor(($TxtPos[1]["X"] - $TxtPos[0]["X"] + $ValuePadding*2)/2);
-
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius+$OuterBubbleRadius,$OuterColor);
- $this->pChartObject->drawFilledCircle($Points[$i][0],$Points[$i][1],$Radius,$InnerColor);
- }
-
- if ( $WriteValues )
- $this->pChartObject->drawText($Points[$i][0]-1,$Points[$i][1]-1,$Points[$i][2],$TextSettings);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pScatter.class.php b/notFinishedCode/web/class/pScatter.class.php
deleted file mode 100644
index 55ef1c7..0000000
--- a/notFinishedCode/web/class/pScatter.class.php
+++ /dev/null
@@ -1,954 +0,0 @@
-<?php
- /*
- pScatter - class to draw scatter charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("SCATTER_MISSING_X_SERIE" , 190001);
- define("SCATTER_MISSING_Y_SERIE" , 190002);
-
- /* pScatter class definition */
- class pScatter
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pScatter($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Prepare the scale */
- function drawScatterScale($Format="")
- {
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : SCALE_MODE_FLOATING;
- $Floating = isset($Format["Floating"]) ? $Format["Floating"] : FALSE;
- $XLabelsRotation = isset($Format["XLabelsRotation"]) ? $Format["XLabelsRotation"] : 90;
- $MinDivHeight = isset($Format["MinDivHeight"]) ? $Format["MinDivHeight"] : 20;
- $Factors = isset($Format["Factors"]) ? $Format["Factors"] : array(1,2,5);
- $ManualScale = isset($Format["ManualScale"]) ? $Format["ManualScale"] : array("0"=>array("Min"=>-100,"Max"=>100));
- $XMargin = isset($Format["XMargin"]) ? $Format["XMargin"] : 0;
- $YMargin = isset($Format["YMargin"]) ? $Format["YMargin"] : 0;
- $ScaleSpacing = isset($Format["ScaleSpacing"]) ? $Format["ScaleSpacing"] : 15;
- $InnerTickWidth = isset($Format["InnerTickWidth"]) ? $Format["InnerTickWidth"] : 2;
- $OuterTickWidth = isset($Format["OuterTickWidth"]) ? $Format["OuterTickWidth"] : 2;
- $DrawXLines = isset($Format["DrawXLines"]) ? $Format["DrawXLines"] : ALL;
- $DrawYLines = isset($Format["DrawYLines"]) ? $Format["DrawYLines"] : ALL;
- $GridTicks = isset($Format["GridTicks"]) ? $Format["GridTicks"] : 4;
- $GridR = isset($Format["GridR"]) ? $Format["GridR"] : 255;
- $GridG = isset($Format["GridG"]) ? $Format["GridG"] : 255;
- $GridB = isset($Format["GridB"]) ? $Format["GridB"] : 255;
- $GridAlpha = isset($Format["GridAlpha"]) ? $Format["GridAlpha"] : 40;
- $AxisRo = isset($Format["AxisR"]) ? $Format["AxisR"] : 0;
- $AxisGo = isset($Format["AxisG"]) ? $Format["AxisG"] : 0;
- $AxisBo = isset($Format["AxisB"]) ? $Format["AxisB"] : 0;
- $AxisAlpha = isset($Format["AxisAlpha"]) ? $Format["AxisAlpha"] : 100;
- $TickRo = isset($Format["TickR"]) ? $Format["TickR"] : 0;
- $TickGo = isset($Format["TickG"]) ? $Format["TickG"] : 0;
- $TickBo = isset($Format["TickB"]) ? $Format["TickB"] : 0;
- $TickAlpha = isset($Format["TickAlpha"]) ? $Format["TickAlpha"] : 100;
- $DrawSubTicks = isset($Format["DrawSubTicks"]) ? $Format["DrawSubTicks"] : FALSE;
- $InnerSubTickWidth = isset($Format["InnerSubTickWidth"]) ? $Format["InnerSubTickWidth"] : 0;
- $OuterSubTickWidth = isset($Format["OuterSubTickWidth"]) ? $Format["OuterSubTickWidth"] : 2;
- $SubTickR = isset($Format["SubTickR"]) ? $Format["SubTickR"] : 255;
- $SubTickG = isset($Format["SubTickG"]) ? $Format["SubTickG"] : 0;
- $SubTickB = isset($Format["SubTickB"]) ? $Format["SubTickB"] : 0;
- $SubTickAlpha = isset($Format["SubTickAlpha"]) ? $Format["SubTickAlpha"] : 100;
- $XReleasePercent = isset($Format["XReleasePercent"]) ? $Format["XReleasePercent"] : 1;
- $DrawArrows = isset($Format["DrawArrows"]) ? $Format["DrawArrows"] : FALSE;
- $ArrowSize = isset($Format["ArrowSize"]) ? $Format["ArrowSize"] : 8;
- $CycleBackground = isset($Format["CycleBackground"]) ? $Format["CycleBackground"] : FALSE;
- $BackgroundR1 = isset($Format["BackgroundR1"]) ? $Format["BackgroundR1"] : 255;
- $BackgroundG1 = isset($Format["BackgroundG1"]) ? $Format["BackgroundG1"] : 255;
- $BackgroundB1 = isset($Format["BackgroundB1"]) ? $Format["BackgroundB1"] : 255;
- $BackgroundAlpha1 = isset($Format["BackgroundAlpha1"]) ? $Format["BackgroundAlpha1"] : 10;
- $BackgroundR2 = isset($Format["BackgroundR2"]) ? $Format["BackgroundR2"] : 230;
- $BackgroundG2 = isset($Format["BackgroundG2"]) ? $Format["BackgroundG2"] : 230;
- $BackgroundB2 = isset($Format["BackgroundB2"]) ? $Format["BackgroundB2"] : 230;
- $BackgroundAlpha2 = isset($Format["BackgroundAlpha2"]) ? $Format["BackgroundAlpha2"] : 10;
-
- /* Check if we have at least both one X and Y axis */
- $GotXAxis = FALSE; $GotYAxis = FALSE;
- foreach($this->pDataObject->Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X ) { $GotXAxis = TRUE; }
- if ( $AxisSettings["Identity"] == AXIS_Y ) { $GotYAxis = TRUE; }
- }
- if ( !$GotXAxis ) { return(SCATTER_MISSING_X_SERIE); }
- if ( !$GotYAxis ) { return(SCATTER_MISSING_Y_SERIE); }
-
- /* Skip a NOTICE event in case of an empty array */
- if ( $DrawYLines == NONE ) { $DrawYLines = array("zarma"=>"31"); }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( $AxisSettings["Identity"] == AXIS_X)
- { $Width = $this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1 - $XMargin*2; }
- else
- { $Width = $this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1 - $YMargin*2; }
-
- $AxisMin = ABSOLUTE_MAX; $AxisMax = OUT_OF_SIGHT;
- if ( $Mode == SCALE_MODE_FLOATING )
- {
- foreach($Data["Series"] as $SerieID => $SerieParameter)
- {
- if ( $SerieParameter["Axis"] == $AxisID && $Data["Series"][$SerieID]["isDrawable"] )
- {
- $AxisMax = max($AxisMax,$Data["Series"][$SerieID]["Max"]);
- $AxisMin = min($AxisMin,$Data["Series"][$SerieID]["Min"]);
- }
- }
- $AutoMargin = (($AxisMax-$AxisMin)/100)*$XReleasePercent;
-
- $Data["Axis"][$AxisID]["Min"] = $AxisMin-$AutoMargin; $Data["Axis"][$AxisID]["Max"] = $AxisMax+$AutoMargin;
- }
- elseif ( $Mode == SCALE_MODE_MANUAL )
- {
- if ( isset($ManualScale[$AxisID]["Min"]) && isset($ManualScale[$AxisID]["Max"]) )
- {
- $Data["Axis"][$AxisID]["Min"] = $ManualScale[$AxisID]["Min"];
- $Data["Axis"][$AxisID]["Max"] = $ManualScale[$AxisID]["Max"];
- }
- else
- { echo "Manual scale boundaries not set."; exit(); }
- }
-
- /* Full manual scale */
- if ( isset($ManualScale[$AxisID]["Rows"]) && isset($ManualScale[$AxisID]["RowHeight"]) )
- $Scale = array("Rows"=>$ManualScale[$AxisID]["Rows"],"RowHeight"=>$ManualScale[$AxisID]["RowHeight"],"XMin"=>$ManualScale[$AxisID]["Min"],"XMax"=>$ManualScale[$AxisID]["Max"]);
- else
- {
- $MaxDivs = floor($Width/$MinDivHeight);
- $Scale = $this->pChartObject->computeScale($Data["Axis"][$AxisID]["Min"],$Data["Axis"][$AxisID]["Max"],$MaxDivs,$Factors,$AxisID);
- }
-
- $Data["Axis"][$AxisID]["Margin"] = $AxisSettings["Identity"] == AXIS_X ? $XMargin : $YMargin;
- $Data["Axis"][$AxisID]["ScaleMin"] = $Scale["XMin"];
- $Data["Axis"][$AxisID]["ScaleMax"] = $Scale["XMax"];
- $Data["Axis"][$AxisID]["Rows"] = $Scale["Rows"];
- $Data["Axis"][$AxisID]["RowHeight"] = $Scale["RowHeight"];
-
- if ( isset($Scale["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = $Scale["Format"]; }
-
- if ( !isset($Data["Axis"][$AxisID]["Display"]) ) { $Data["Axis"][$AxisID]["Display"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Format"]) ) { $Data["Axis"][$AxisID]["Format"] = NULL; }
- if ( !isset($Data["Axis"][$AxisID]["Unit"]) ) { $Data["Axis"][$AxisID]["Unit"] = NULL; }
- }
-
- /* Get the default font color */
- $FontColorRo = $this->pChartObject->FontColorR; $FontColorGo = $this->pChartObject->FontColorG; $FontColorBo = $this->pChartObject->FontColorB;
-
- /* Set the original boundaries */
- $AxisPos["L"] = $this->pChartObject->GraphAreaX1; $AxisPos["R"] = $this->pChartObject->GraphAreaX2; $AxisPos["T"] = $this->pChartObject->GraphAreaY1; $AxisPos["B"] = $this->pChartObject->GraphAreaY2;
-
- foreach($Data["Axis"] as $AxisID => $AxisSettings)
- {
- if ( isset($AxisSettings["Color"]) )
- {
- $AxisR = $AxisSettings["Color"]["R"]; $AxisG = $AxisSettings["Color"]["G"]; $AxisB = $AxisSettings["Color"]["B"];
- $TickR = $AxisSettings["Color"]["R"]; $TickG = $AxisSettings["Color"]["G"]; $TickB = $AxisSettings["Color"]["B"];
- $this->pChartObject->setFontProperties(array("R"=>$AxisSettings["Color"]["R"],"G"=>$AxisSettings["Color"]["G"],"B"=>$AxisSettings["Color"]["B"]));
- }
- else
- {
- $AxisR = $AxisRo; $AxisG = $AxisGo; $AxisB = $AxisBo;
- $TickR = $TickRo; $TickG = $TickGo; $TickB = $TickBo;
- $this->pChartObject->setFontProperties(array("R"=>$FontColorRo,"G"=>$FontColorGo,"B"=>$FontColorBo));
- }
-
- $LastValue = "w00t"; $ID = 1;
- if ( $AxisSettings["Identity"] == AXIS_X )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_BOTTOM )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $XLabelsRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["B"],$this->pChartObject->GraphAreaX2,$AxisPos["B"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["B"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["B"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxBottom = $AxisPos["B"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["B"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$InnerSubTickWidth,$XPos+$SubTicksSize,$YPos+$OuterSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$InnerTickWidth,$XPos,$YPos+$OuterTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos+$OuterTickWidth+$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBottom = $YPos+2+$OuterTickWidth+2+($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MaxBottom = max($MaxBottom,$TxtBottom);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MaxBottom+2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_TOPMIDDLE));
- $MaxBottom = $Bounds[0]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y2"] = $MaxBottom + $this->pChartObject->FontSize;
- }
-
- $AxisPos["B"] = $MaxBottom + $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_TOP )
- {
- if ( $XLabelsRotation == 0 ) { $LabelAlign = TEXT_ALIGN_BOTTOMMIDDLE; $LabelOffset = 2; }
- if ( $XLabelsRotation > 0 && $XLabelsRotation < 190 ) { $LabelAlign = TEXT_ALIGN_MIDDLELEFT; $LabelOffset = 2; }
- if ( $XLabelsRotation == 180 ) { $LabelAlign = TEXT_ALIGN_TOPMIDDLE; $LabelOffset = 5; }
- if ( $XLabelsRotation > 180 && $SLabelxRotation < 360 ) { $LabelAlign = TEXT_ALIGN_MIDDLERIGHT; $LabelOffset = 5; }
-
- if ( $Floating )
- { $FloatingOffset = $YMargin; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1,$AxisPos["T"],$this->pChartObject->GraphAreaX2,$AxisPos["T"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($this->pChartObject->GraphAreaX2-$AxisSettings["Margin"],$AxisPos["T"],$this->pChartObject->GraphAreaX2+($ArrowSize*2),$AxisPos["T"],array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Width = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $AxisSettings["Margin"]*2;
- $Step = $Width / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinTop = $AxisPos["T"];
- $LastX = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $XPos = $this->pChartObject->GraphAreaX1 + $AxisSettings["Margin"] + $Step*$i;
- $YPos = $AxisPos["T"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastX != NULL && $CycleBackground && ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) )) { $this->pChartObject->drawFilledRectangle($LastX,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,$BGColor); }
-
- if ( $DrawXLines == ALL || in_array($AxisID,$DrawXLines) ) { $this->pChartObject->drawLine($XPos,$this->pChartObject->GraphAreaY1+$FloatingOffset,$XPos,$this->pChartObject->GraphAreaY2-$FloatingOffset,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos+$SubTicksSize,$YPos-$OuterSubTickWidth,$XPos+$SubTicksSize,$YPos+$InnerSubTickWidth,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos,$YPos-$OuterTickWidth,$XPos,$YPos+$InnerTickWidth,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos,$YPos-$OuterTickWidth-$LabelOffset,$Value,array("Angle"=>$XLabelsRotation,"Align"=>$LabelAlign));
- $TxtBox = $YPos-$OuterTickWidth-4-($Bounds[0]["Y"]-$Bounds[2]["Y"]);
- $MinTop = min($MinTop,$TxtBox);
-
- $LastX = $XPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $YPos = $MinTop-2;
- $XPos = $this->pChartObject->GraphAreaX1+($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
- $MinTop = $Bounds[2]["Y"];
-
- $this->pDataObject->Data["GraphArea"]["Y1"] = $MinTop;
- }
-
- $AxisPos["T"] = $MinTop - $ScaleSpacing;
- }
- }
- elseif ( $AxisSettings["Identity"] == AXIS_Y )
- {
- if ( $AxisSettings["Position"] == AXIS_POSITION_LEFT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["L"],$this->pChartObject->GraphAreaY1,$AxisPos["L"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["L"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["L"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MinLeft = $AxisPos["L"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["L"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$OuterSubTickWidth,$YPos-$SubTicksSize,$XPos+$InnerSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$OuterTickWidth,$YPos,$XPos+$InnerTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos-$OuterTickWidth-2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLERIGHT));
- $TxtLeft = $XPos-$OuterTickWidth-2-($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MinLeft = min($MinLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MinLeft-2;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>90));
- $MinLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X1"] = $MinLeft;
- }
-
- $AxisPos["L"] = $MinLeft - $ScaleSpacing;
- }
- elseif ( $AxisSettings["Position"] == AXIS_POSITION_RIGHT )
- {
-
- if ( $Floating )
- { $FloatingOffset = $XMargin; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY2-$AxisSettings["Margin"],array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
- else
- { $FloatingOffset = 0; $this->pChartObject->drawLine($AxisPos["R"],$this->pChartObject->GraphAreaY1,$AxisPos["R"],$this->pChartObject->GraphAreaY2,array("R"=>$AxisR,"G"=>$AxisG,"B"=>$AxisB,"Alpha"=>$AxisAlpha)); }
-
- if ( $DrawArrows ) { $this->pChartObject->drawArrow($AxisPos["R"],$this->pChartObject->GraphAreaY1+$AxisSettings["Margin"],$AxisPos["R"],$this->pChartObject->GraphAreaY1-($ArrowSize*2),array("FillR"=>$AxisR,"FillG"=>$AxisG,"FillB"=>$AxisB,"Size"=>$ArrowSize)); }
-
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $AxisSettings["Margin"]*2;
- $Step = $Height / $AxisSettings["Rows"]; $SubTicksSize = $Step /2; $MaxLeft = $AxisPos["R"];
- $LastY = NULL;
- for($i=0;$i<=$AxisSettings["Rows"];$i++)
- {
- $YPos = $this->pChartObject->GraphAreaY2 - $AxisSettings["Margin"] - $Step*$i;
- $XPos = $AxisPos["R"];
- $Value = $this->pChartObject->scaleFormat($AxisSettings["ScaleMin"] + $AxisSettings["RowHeight"]*$i,$AxisSettings["Display"],$AxisSettings["Format"],$AxisSettings["Unit"]);
-
- if ( $i%2 == 1 ) { $BGColor = array("R"=>$BackgroundR1,"G"=>$BackgroundG1,"B"=>$BackgroundB1,"Alpha"=>$BackgroundAlpha1); } else { $BGColor = array("R"=>$BackgroundR2,"G"=>$BackgroundG2,"B"=>$BackgroundB2,"Alpha"=>$BackgroundAlpha2); }
- if ( $LastY != NULL && $CycleBackground && ( $DrawYLines == ALL || in_array($AxisID,$DrawYLines) )) { $this->pChartObject->drawFilledRectangle($this->pChartObject->GraphAreaX1+$FloatingOffset,$LastY,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,$BGColor); }
-
- if ( ($YPos != $this->pChartObject->GraphAreaY1 && $YPos != $this->pChartObject->GraphAreaY2) && ($DrawYLines == ALL || in_array($AxisID,$DrawYLines)) ) { $this->pChartObject->drawLine($this->pChartObject->GraphAreaX1+$FloatingOffset,$YPos,$this->pChartObject->GraphAreaX2-$FloatingOffset,$YPos,array("R"=>$GridR,"G"=>$GridG,"B"=>$GridB,"Alpha"=>$GridAlpha,"Ticks"=>$GridTicks)); }
-
- if ( $DrawSubTicks && $i != $AxisSettings["Rows"] )
- $this->pChartObject->drawLine($XPos-$InnerSubTickWidth,$YPos-$SubTicksSize,$XPos+$OuterSubTickWidth,$YPos-$SubTicksSize,array("R"=>$SubTickR,"G"=>$SubTickG,"B"=>$SubTickB,"Alpha"=>$SubTickAlpha));
-
- $this->pChartObject->drawLine($XPos-$InnerTickWidth,$YPos,$XPos+$OuterTickWidth,$YPos,array("R"=>$TickR,"G"=>$TickG,"B"=>$TickB,"Alpha"=>$TickAlpha));
- $Bounds = $this->pChartObject->drawText($XPos+$OuterTickWidth+2,$YPos,$Value,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- $TxtLeft = $XPos+$OuterTickWidth+2+($Bounds[1]["X"]-$Bounds[0]["X"]);
- $MaxLeft = max($MaxLeft,$TxtLeft);
-
- $LastY = $YPos;
- }
-
- if ( isset($AxisSettings["Name"]) )
- {
- $XPos = $MaxLeft+6;
- $YPos = $this->pChartObject->GraphAreaY1+($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1)/2;
- $Bounds = $this->pChartObject->drawText($XPos,$YPos,$AxisSettings["Name"],array("Align"=>TEXT_ALIGN_BOTTOMMIDDLE,"Angle"=>270));
- $MaxLeft = $Bounds[2]["X"];
-
- $this->pDataObject->Data["GraphArea"]["X2"] = $MaxLeft + $this->pChartObject->FontSize;
- }
-
- $AxisPos["R"] = $MaxLeft + $ScaleSpacing;
- }
- }
- }
-
- $this->pDataObject->saveAxisConfig($Data["Axis"]);
- }
-
- /* Draw a scatter plot chart */
- function drawScatterPlotChart($Format=NULL)
- {
- $PlotSize = isset($Format["PlotSize"]) ? $Format["PlotSize"] : 3;
- $PlotBorder = isset($Format["PlotBorder"]) ? $Format["PlotBorder"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 250;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 250;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 250;
- $BorderAlpha = isset($Format["BorderAlpha"]) ? $Format["BorderAlpha"] : 30;
- $BorderSize = isset($Format["BorderSize"]) ? $Format["BorderSize"] : 1;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- $BorderColor = array("R"=>$BorderR,"G"=>$BorderG,"B"=>$BorderB,"Alpha"=>$BorderAlpha);
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- if ( isset($Series["Picture"]) && $Series["Picture"] != "" )
- { $Picture = $Series["Picture"]; list($PicWidth,$PicHeight,$PicType) = $this->pChartObject->getPicInfo($Picture); }
- else
- { $Picture = NULL; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
-
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".floor($PlotSize+$BorderSize),$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
-
- if( isset($Series["Shape"]) )
- { $this->pChartObject->drawShape($X,$Y,$Series["Shape"],$PlotSize,$PlotBorder,$BorderSize,$Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"],$Series["Color"]["Alpha"],$BorderR,$BorderG,$BorderB,$BorderAlpha); }
- elseif ( $Picture == NULL )
- {
- if ( $PlotBorder ) { $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize+$BorderSize,$BorderColor); }
- $this->pChartObject->drawFilledCircle($X,$Y,$PlotSize,$Color);
- }
- else
- { $this->pChartObject->drawFromPicture($PicType,$Picture,$X-$PicWidth/2,$Y-$PicHeight/2); }
- }
- }
- }
- }
- }
-
- /* Draw a scatter line chart */
- function drawScatterLineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- /* Parse all the series to draw */
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $Color["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $Color["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID && $LastX != VOID && $LastY != VOID)
- $this->pChartObject->drawLine($LastX,$LastY,$X,$Y,$Color);
-
- $LastX = $X; $LastY = $Y;
- }
- }
- }
- }
-
- /* Draw a scatter spline chart */
- function drawScatterSplineChart($Format=NULL)
- {
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : NULL;
- $ImageMapPlotSize = isset($Format["ImageMapPlotSize"]) ? $Format["ImageMapPlotSize"] : 10;
- $ImageMapPrecision = isset($Format["ImageMapPrecision"]) ? $Format["ImageMapPrecision"] : 2;
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
- $Ticks = $Series["Ticks"];
- $Weight = $Series["Weight"];
-
- if ( $ImageMapTitle == NULL ) { $Description = $Data["Series"][$Series["X"]]["Description"]." / ".$Data["Series"][$Series["Y"]]["Description"]; } else { $Description = $ImageMapTitle; }
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- $SplineSettings = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- if ( $Ticks != 0 ) { $SplineSettings["Ticks"] = $Ticks; }
- if ( $Weight != 0 ) { $SplineSettings["Weight"] = $Weight; }
-
- $LastX = VOID; $LastY = VOID; $WayPoints = ""; $Forces = "";
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
- $Force = $this->pChartObject->getLength($LastX,$LastY,$X,$Y)/5;
-
- if ( $X != VOID && $Y != VOID )
- {
- $RealValue = round($Data["Series"][$Series["X"]]["Data"][$Key],2)." / ".round($Data["Series"][$Series["Y"]]["Data"][$Key],2);
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("CIRCLE",floor($X).",".floor($Y).",".$ImageMapPlotSize,$this->pChartObject->toHTMLColor($Series["Color"]["R"],$Series["Color"]["G"],$Series["Color"]["B"]),$Description,$RealValue); }
- }
-
- if ( $X != VOID && $Y != VOID )
- { $WayPoints[] = array($X,$Y); $Forces[] = $Force; }
-
- if ( $Y == VOID || $X == VOID )
- { $SplineSettings["Forces"] = $Forces; $this->pChartObject->drawSpline($WayPoints,$SplineSettings); $WayPoints = ""; $Forces = "";}
-
- $LastX = $X; $LastY = $Y;
- }
- $SplineSettings["Forces"] = $Forces;
- $this->pChartObject->drawSpline($WayPoints,$SplineSettings);
- }
- }
- }
-
- /* Return the scaled plot position */
- function getPosArray($Values,$AxisID)
- {
- $Data = $this->pDataObject->getData();
-
- if ( !is_array($Values) ) { $Values = array($Values); }
-
- if ( $Data["Axis"][$AxisID]["Identity"] == AXIS_X )
- {
- $Height = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaX1 + $Data["Axis"][$AxisID]["Margin"] + ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- else
- {
- $Height = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) - $Data["Axis"][$AxisID]["Margin"]*2;
- $ScaleHeight = $Data["Axis"][$AxisID]["ScaleMax"] - $Data["Axis"][$AxisID]["ScaleMin"];
- $Step = $Height / $ScaleHeight;
-
- $Result = "";
- foreach($Values as $Key => $Value)
- {
- if ( $Value == VOID )
- $Result[] = VOID;
- else
- $Result[] = $this->pChartObject->GraphAreaY2 - $Data["Axis"][$AxisID]["Margin"] - ($Step * ($Value-$Data["Axis"][$AxisID]["ScaleMin"]));
- }
-
- if ( count($Result) == 1 ) { return($Result[0]); } else { return($Result); }
- }
- }
-
- /* Draw the legend of the active series */
- function drawScatterLegend($X,$Y,$Format="")
- {
- $Family = isset($Format["Family"]) ? $Format["Family"] : LEGEND_FAMILY_BOX;
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $FontR = isset($Format["FontR"]) ? $Format["FontR"] : $this->pChartObject->FontColorR;
- $FontG = isset($Format["FontG"]) ? $Format["FontG"] : $this->pChartObject->FontColorG;
- $FontB = isset($Format["FontB"]) ? $Format["FontB"] : $this->pChartObject->FontColorB;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 5;
- $BoxHeight = isset($Format["BoxHeight"]) ? $Format["BoxHeight"] : 5;
- $IconAreaWidth = isset($Format["IconAreaWidth"]) ? $Format["IconAreaWidth"] : $BoxWidth;
- $IconAreaHeight = isset($Format["IconAreaHeight"]) ? $Format["IconAreaHeight"] : $BoxHeight;
- $XSpacing = isset($Format["XSpacing"]) ? $Format["XSpacing"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $R = isset($Format["R"]) ? $Format["R"] : 200;
- $G = isset($Format["G"]) ? $Format["G"] : 200;
- $B = isset($Format["B"]) ? $Format["B"] : 200;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 255;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 255;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 255;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$IconAreaHeight) < $TopOffset ) { $Boundaries["B"] = $vY+$IconAreaHeight+$TopOffset; }
-
- if ( $Style == LEGEND_ROUND )
- $this->pChartObject->drawRoundedFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
- elseif ( $Style == LEGEND_BOX )
- $this->pChartObject->drawFilledRectangle($Boundaries["L"]-$Margin,$Boundaries["T"]-$Margin,$Boundaries["R"]+$Margin,$Boundaries["B"]+$Margin,array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"BorderR"=>$BorderR,"BorderG"=>$BorderG,"BorderB"=>$BorderB));
-
- $RestoreShadow = $this->pChartObject->Shadow; $this->Shadow = FALSE;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $R = $Series["Color"]["R"]; $G = $Series["Color"]["G"]; $B = $Series["Color"]["B"];
- $Ticks = $Series["Ticks"]; $Weight = $Series["Weight"];
-
- if ( isset($Series["Picture"]) )
- {
- $Picture = $Series["Picture"];
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Picture);
- $PicX = $X+$IconAreaWidth/2; $PicY = $Y+$IconAreaHeight/2;
-
- $this->pChartObject->drawFromPNG($PicX-$PicWidth/2,$PicY-$PicHeight/2,$Picture);
- }
- else
- {
- if ( $Family == LEGEND_FAMILY_BOX )
- {
- if ( $BoxWidth != $IconAreaWidth ) { $XOffset = floor(($IconAreaWidth-$BoxWidth)/2); } else { $XOffset = 0; }
- if ( $BoxHeight != $IconAreaHeight ) { $YOffset = floor(($IconAreaHeight-$BoxHeight)/2); } else { $YOffset = 0; }
-
- $this->pChartObject->drawFilledRectangle($X+1+$XOffset,$Y+1+$YOffset,$X+$BoxWidth+$XOffset+1,$Y+$BoxHeight+1+$YOffset,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledRectangle($X+$XOffset,$Y+$YOffset,$X+$BoxWidth+$XOffset,$Y+$BoxHeight+$YOffset,array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X+1+$IconAreaWidth/2,$Y+1+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- $this->pChartObject->drawFilledCircle($X+$IconAreaWidth/2,$Y+$IconAreaHeight/2,min($IconAreaHeight/2,$IconAreaWidth/2),array("R"=>$R,"G"=>$G,"B"=>$B,"Surrounding"=>20));
- }
- elseif ( $Family == LEGEND_FAMILY_LINE )
- {
- $this->pChartObject->drawLine($X+1,$Y+1+$IconAreaHeight/2,$X+1+$IconAreaWidth,$Y+1+$IconAreaHeight/2,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>20,"Ticks"=>$Ticks,"Weight"=>$Weight));
- $this->pChartObject->drawLine($X,$Y+$IconAreaHeight/2,$X+$IconAreaWidth,$Y+$IconAreaHeight/2,array("R"=>$R,"G"=>$G,"B"=>$B,"Ticks"=>$Ticks,"Weight"=>$Weight));
- }
- }
-
- if ( $Mode == LEGEND_VERTICAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- foreach($Lines as $Key => $Value)
- $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
-
- $Y=$Y+max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->drawText($X+$IconAreaWidth+4,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$Value,array("R"=>$FontR,"G"=>$FontG,"B"=>$FontB,"Align"=>TEXT_ALIGN_MIDDLELEFT));
- $Width[] = $BoxArray[1]["X"];
- }
- $X=max($Width)+2+$XStep;
- }
- }
- }
-
- $this->Shadow = $RestoreShadow;
- }
-
- /* Get the legend box size */
- function getScatterLegendSize($Format="")
- {
- $FontName = isset($Format["FontName"]) ? $Format["FontName"] : $this->pChartObject->FontName;
- $FontSize = isset($Format["FontSize"]) ? $Format["FontSize"] : $this->pChartObject->FontSize;
- $BoxSize = isset($Format["BoxSize"]) ? $Format["BoxSize"] : 5;
- $Margin = isset($Format["Margin"]) ? $Format["Margin"] : 5;
- $Style = isset($Format["Style"]) ? $Format["Style"] : LEGEND_ROUND;
- $Mode = isset($Format["Mode"]) ? $Format["Mode"] : LEGEND_VERTICAL;
-
- $YStep = max($this->pChartObject->FontSize,$BoxSize) + 5;
- $XStep = $BoxSize + 5;
-
- $X=100; $Y=100;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE && isset($Series["Picture"]))
- {
- list($PicWidth,$PicHeight) = $this->pChartObject->getPicInfo($Series["Picture"]);
- if ( $IconAreaWidth < $PicWidth ) { $IconAreaWidth = $PicWidth; }
- if ( $IconAreaHeight < $PicHeight ) { $IconAreaHeight = $PicHeight; }
- }
- }
-
- $YStep = max($this->pChartObject->FontSize,$IconAreaHeight) + 5;
- $XStep = $IconAreaWidth + 5;
- $XStep = $XSpacing;
-
- $Boundaries = ""; $Boundaries["L"] = $X; $Boundaries["T"] = $Y; $Boundaries["R"] = 0; $Boundaries["B"] = 0; $vY = $Y; $vX = $X;
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- if ( $Mode == LEGEND_VERTICAL )
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+4,$vY+$IconAreaHeight/2,$FontName,$FontSize,0,$Series["Description"]);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Lines = preg_split("/\n/",$Series["Description"]);
- $vY = $vY + max($this->pChartObject->FontSize*count($Lines),$IconAreaHeight) + 5;
- }
- elseif ( $Mode == LEGEND_HORIZONTAL )
- {
- $Lines = preg_split("/\n/",$Series["Description"]);
- $Width = "";
- foreach($Lines as $Key => $Value)
- {
- $BoxArray = $this->pChartObject->getTextBox($vX+$IconAreaWidth+6,$Y+$IconAreaHeight/2+(($this->pChartObject->FontSize+3)*$Key),$FontName,$FontSize,0,$Value);
-
- if ( $Boundaries["T"] > $BoxArray[2]["Y"]+$IconAreaHeight/2 ) { $Boundaries["T"] = $BoxArray[2]["Y"]+$IconAreaHeight/2; }
- if ( $Boundaries["R"] < $BoxArray[1]["X"]+2 ) { $Boundaries["R"] = $BoxArray[1]["X"]+2; }
- if ( $Boundaries["B"] < $BoxArray[1]["Y"]+2+$IconAreaHeight/2 ) { $Boundaries["B"] = $BoxArray[1]["Y"]+2+$IconAreaHeight/2; }
-
- $Width[] = $BoxArray[1]["X"];
- }
-
- $vX=max($Width)+$XStep;
- }
- }
- }
- $vY=$vY-$YStep; $vX=$vX-$XStep;
-
- $TopOffset = $Y - $Boundaries["T"];
- if ( $Boundaries["B"]-($vY+$BoxSize) < $TopOffset ) { $Boundaries["B"] = $vY+$BoxSize+$TopOffset; }
-
- $Width = ($Boundaries["R"]+$Margin) - ($Boundaries["L"]-$Margin);
- $Height = ($Boundaries["B"]+$Margin) - ($Boundaries["T"]-$Margin);
-
- return(array("Width"=>$Width,"Height"=>$Height));
- }
-
- /* Draw the line of best fit */
- function drawScatterBestFit($Format="")
- {
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 0;
-
- $Data = $this->pDataObject->getData();
-
- foreach($Data["ScatterSeries"] as $Key => $Series)
- {
- if ( $Series["isDrawable"] == TRUE )
- {
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $Color = array("R"=>$Series["Color"]["R"],"G"=>$Series["Color"]["G"],"B"=>$Series["Color"]["B"],"Alpha"=>$Series["Color"]["Alpha"]);
- $Color["Ticks"] = $Ticks;
-
- $PosArrayX = $Data["Series"][$Series["X"]]["Data"];
- $PosArrayY = $Data["Series"][$Series["Y"]]["Data"];
-
- $Sxy = 0; $Sx = 0; $Sy = 0; $Sxx = 0;
- foreach($PosArrayX as $Key => $Value)
- {
- $X = $Value; $Y = $PosArrayY[$Key];
-
- $Sxy = $Sxy + $X*$Y;
- $Sx = $Sx + $X;
- $Sy = $Sy + $Y;
- $Sxx = $Sxx + $X*$X;
- }
-
- $n = count($PosArrayX);
-
- if ((($n*$Sxx) == ($Sx*$Sx)))
- {
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $X2 = $X1;
- $Y1 = $this->pChartObject->GraphAreaY1;
- $Y2 = $this->pChartObject->GraphAreaY2;
- }
- else
- {
- $M = (($n*$Sxy)-($Sx*$Sy)) / (($n*$Sxx)-($Sx*$Sx));
- $B = (($Sy)-($M*$Sx))/($n);
-
- $X1 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMin"],$SerieXAxis);
- $Y1 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMin"] + $B,$SerieYAxis);
- $X2 = $this->getPosArray($Data["Axis"][$SerieXAxis]["ScaleMax"],$SerieXAxis);
- $Y2 = $this->getPosArray($M * $Data["Axis"][$SerieXAxis]["ScaleMax"] + $B,$SerieYAxis);
-
- $RealM = -($Y2-$Y1)/($X2-$X1);
-
- if ( $Y1 < $this->pChartObject->GraphAreaY1 ) { $X1 = $X1 + ($this->pChartObject->GraphAreaY1-$Y1/$RealM); $Y1 = $this->pChartObject->GraphAreaY1; }
- if ( $Y1 > $this->pChartObject->GraphAreaY2 ) { $X1 = $X1 + ($Y1-$this->pChartObject->GraphAreaY2)/$RealM; $Y1 = $this->pChartObject->GraphAreaY2; }
- if ( $Y2 < $this->pChartObject->GraphAreaY1 ) { $X2 = $X2 - ($this->pChartObject->GraphAreaY1-$Y2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY1; }
- if ( $Y2 > $this->pChartObject->GraphAreaY2 ) { $X2 = $X2 - ($Y2-$this->pChartObject->GraphAreaY2)/$RealM; $Y2 = $this->pChartObject->GraphAreaY2; }
- }
-
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
-
- function writeScatterLabel($ScatterSerieID,$Points,$Format="")
- {
- $OverrideTitle = isset($Format["OverrideTitle"]) ? $Format["OverrideTitle"] : NULL;
- $DrawPoint = isset($Format["DrawPoint"]) ? $Format["DrawPoint"] : LABEL_POINT_BOX;
- $Decimals = isset($Format["Decimals"]) ? $Format["Decimals"] : NULL;
-
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( !is_array($Points) ) { $Point = $Points; $Points = ""; $Points[0] = $Point; }
-
- if ( !isset($Data["ScatterSeries"][$ScatterSerieID]) )
- return(0);
-
- $Series = $Data["ScatterSeries"][$ScatterSerieID];
- $SerieX = $Series["X"]; $SerieValuesX = $Data["Series"][$SerieX]["Data"]; $SerieXAxis = $Data["Series"][$SerieX]["Axis"];
- $SerieY = $Series["Y"]; $SerieValuesY = $Data["Series"][$SerieY]["Data"]; $SerieYAxis = $Data["Series"][$SerieY]["Axis"];
-
- $PosArrayX = $this->getPosArray($SerieValuesX,$SerieXAxis);
- if ( !is_array($PosArrayX) ) { $Value = $PosArrayX; $PosArrayX = ""; $PosArrayX[0] = $Value; }
- $PosArrayY = $this->getPosArray($SerieValuesY,$SerieYAxis);
- if ( !is_array($PosArrayY) ) { $Value = $PosArrayY; $PosArrayY = ""; $PosArrayY[0] = $Value; }
-
- foreach($Points as $Key => $Point)
- {
- if ( isset($PosArrayX[$Point]) && isset($PosArrayY[$Point]) )
- {
- $X = floor($PosArrayX[$Point]);
- $Y = floor($PosArrayY[$Point]);
-
- if ( $DrawPoint == LABEL_POINT_CIRCLE )
- $this->pChartObject->drawFilledCircle($X,$Y,3,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
- elseif ( $DrawPoint == LABEL_POINT_BOX )
- $this->pChartObject->drawFilledRectangle($X-2,$Y-2,$X+2,$Y+2,array("R"=>255,"G"=>255,"B"=>255,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0));
-
- $Serie = "";
- $Serie["R"] = $Series["Color"]["R"];
- $Serie["G"] = $Series["Color"]["G"];
- $Serie["B"] = $Series["Color"]["B"];
- $Serie["Alpha"] = $Series["Color"]["Alpha"];
-
- $XAxisMode = $Data["Axis"][$SerieXAxis]["Display"];
- $XAxisFormat = $Data["Axis"][$SerieXAxis]["Format"];
- $XAxisUnit = $Data["Axis"][$SerieXAxis]["Unit"];
- if ( $Decimals == NULL ) { $XValue = $SerieValuesX[$Point]; } else { $XValue = round($SerieValuesX[$Point],$Decimals); }
- $XValue = $this->pChartObject->scaleFormat($XValue,$XAxisMode,$XAxisFormat,$XAxisUnit);
-
- $YAxisMode = $Data["Axis"][$SerieYAxis]["Display"];
- $YAxisFormat = $Data["Axis"][$SerieYAxis]["Format"];
- $YAxisUnit = $Data["Axis"][$SerieYAxis]["Unit"];
- if ( $Decimals == NULL ) { $YValue = $SerieValuesY[$Point]; } else { $YValue = round($SerieValuesY[$Point],$Decimals); }
- $YValue = $this->pChartObject->scaleFormat($YValue,$YAxisMode,$YAxisFormat,$YAxisUnit);
-
- $Caption = $XValue." / ".$YValue;
-
- if ( isset($Series["Description"]) )
- $Description = $Series["Description"];
- else
- $Description = "No description";
-
- $Series = "";
- $Series[] = array("Format"=>$Serie,"Caption"=>$Caption);
-
- $this->pChartObject->drawLabelBox($X,$Y-3,$Description,$Series,$Format);
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pSplit.class.php b/notFinishedCode/web/class/pSplit.class.php
deleted file mode 100644
index 0a62c3d..0000000
--- a/notFinishedCode/web/class/pSplit.class.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
- /*
- pSplit - class to draw spline splitted charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("TEXT_POS_TOP" , 690001);
- define("TEXT_POS_RIGHT" , 690002);
-
- /* pSplit class definition */
- class pSplit
- {
- var $pChartObject;
-
- /* Class creator */
- function pSplit()
- { }
-
- /* Create the encoded string */
- function drawSplitPath($Object,$Values,$Format="")
- {
- $this->pChartObject = $Object;
-
- $Spacing = isset($Format["Spacing"]) ? $Format["Spacing"] : 20;
- $TextPadding = isset($Format["TextPadding"]) ? $Format["TextPadding"] : 2;
- $TextPos = isset($Format["TextPos"]) ? $Format["TextPos"] : TEXT_POS_TOP;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : NULL;
- $Force = isset($Format["Force"]) ? $Format["Force"] : 70;
- $Segments = isset($Format["Segments"]) ? $Format["Segments"] : 15;
- $FontSize = $Object->FontSize;
- $X1 = $Object->GraphAreaX1;
- $Y1 = $Object->GraphAreaY1;
- $X2 = $Object->GraphAreaX2;
- $Y2 = $Object->GraphAreaY2;
-
- /* Data Processing */
- $Data = $Values->getData();
- $Palette = $Values->getPalette();
-
- $LabelSerie = $Data["Abscissa"];
- $DataSerie = "";
-
- foreach($Data["Series"] as $SerieName => $Value)
- { if ( $SerieName != $LabelSerie && $DataSerie == "" ) { $DataSerie = $SerieName; } }
-
- $DataSerieSum = array_sum($Data["Series"][$DataSerie]["Data"]);
- $DataSerieCount = count($Data["Series"][$DataSerie]["Data"]);
-
- /* Scale Processing */
- if ( $TextPos == TEXT_POS_RIGHT )
- $YScale = (($Y2-$Y1) - (($DataSerieCount+1)*$Spacing)) / $DataSerieSum;
- else
- $YScale = (($Y2-$Y1) - ($DataSerieCount*$Spacing)) / $DataSerieSum;
- $LeftHeight = $DataSerieSum * $YScale;
-
- /* Re-compute graph width depending of the text mode choosen */
- if ( $TextPos == TEXT_POS_RIGHT )
- {
- $MaxWidth = 0;
- foreach($Data["Series"][$LabelSerie]["Data"] as $Key => $Label)
- {
- $Boundardies = $Object->getTextBox(0,0,$Object->FontName,$Object->FontSize,0,$Label);
- if ( $Boundardies[1]["X"] > $MaxWidth ) { $MaxWidth = $Boundardies[1]["X"] + $TextPadding*2; }
- }
- $X2 = $X2 - $MaxWidth;
- }
-
- /* Drawing */
- $LeftY = ((($Y2-$Y1) / 2) + $Y1) - ($LeftHeight/2);
- $RightY = $Y1;
- $VectorX = (($X2-$X1) / 2);
-
- foreach($Data["Series"][$DataSerie]["Data"] as $Key => $Value)
- {
- if ( isset($Data["Series"][$LabelSerie]["Data"][$Key]) )
- $Label = $Data["Series"][$LabelSerie]["Data"][$Key];
- else
- $Label = "-";
-
- $LeftY1 = $LeftY;
- $LeftY2 = $LeftY + $Value * $YScale;
-
- $RightY1 = $RightY + $Spacing;
- $RightY2 = $RightY + $Spacing + $Value * $YScale;;
-
- $Settings = array("R"=>$Palette[$Key]["R"],"G"=>$Palette[$Key]["G"],"B"=>$Palette[$Key]["B"],"Alpha"=>$Palette[$Key]["Alpha"],"NoDraw"=>TRUE,"Segments"=>$Segments,"Surrounding"=>$Surrounding);
-
- $PolyGon = "";
-
- $Angle = $Object->getAngle($X2,$RightY1,$X1,$LeftY1);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 + $X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY1-$LeftY1)/2 + $LeftY1;
-
- $Points = $Object->drawBezier($X1,$LeftY1,$X2,$RightY1,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
-
- $Angle = $Object->getAngle($X2,$RightY2,$X1,$LeftY2);
- $VectorX1 = cos(deg2rad($Angle+90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY1 = sin(deg2rad($Angle+90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
- $VectorX2 = cos(deg2rad($Angle-90)) * $Force + ($X2-$X1)/2 +$X1;
- $VectorY2 = sin(deg2rad($Angle-90)) * $Force + ($RightY2-$LeftY2)/2 + $LeftY2;
-
- $Points = $Object->drawBezier($X1,$LeftY2,$X2,$RightY2,$VectorX1,$VectorY1,$VectorX2,$VectorY2,$Settings);
- $Points = array_reverse($Points);
- foreach($Points as $Key => $Pos) { $PolyGon[] = $Pos["X"]; $PolyGon[] = $Pos["Y"]; }
-
- $Object->drawPolygon($PolyGon,$Settings);
-
- if ( $TextPos == TEXT_POS_RIGHT )
- $Object->drawText($X2+$TextPadding,($RightY2-$RightY1)/2+$RightY1,$Label,array("Align"=>TEXT_ALIGN_MIDDLELEFT));
- else
- $Object->drawText($X2,$RightY1-$TextPadding,$Label,array("Align"=>TEXT_ALIGN_BOTTOMRIGHT));
-
- $LeftY = $LeftY2;
- $RightY = $RightY2;
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pSpring.class.php b/notFinishedCode/web/class/pSpring.class.php
deleted file mode 100644
index fcfc8f2..0000000
--- a/notFinishedCode/web/class/pSpring.class.php
+++ /dev/null
@@ -1,868 +0,0 @@
-<?php
- /*
- pSpring - class to draw spring graphs
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("NODE_TYPE_FREE" , 690001);
- define("NODE_TYPE_CENTRAL" , 690002);
-
- define("NODE_SHAPE_CIRCLE" , 690011);
- define("NODE_SHAPE_TRIANGLE" , 690012);
- define("NODE_SHAPE_SQUARE" , 690013);
-
- define("ALGORITHM_RANDOM" , 690021);
- define("ALGORITHM_WEIGHTED" , 690022);
- define("ALGORITHM_CIRCULAR" , 690023);
- define("ALGORITHM_CENTRAL" , 690024);
-
- define("LABEL_CLASSIC" , 690031);
- define("LABEL_LIGHT" , 690032);
-
- /* pSpring class definition */
- class pSpring
- {
- var $History;
- var $pChartObject;
- var $Data;
- var $Links;
- var $X1;
- var $Y1;
- var $X2;
- var $Y2;
- var $AutoComputeFreeZone;
- var $Labels;
-
- /* Class creator */
- function pSpring()
- {
- /* Initialise data arrays */
- $this->Data = "";
- $this->Links = "";
-
- /* Set nodes defaults */
- $this->Default["R"] = 255;
- $this->Default["G"] = 255;
- $this->Default["B"] = 255;
- $this->Default["Alpha"] = 100;
- $this->Default["BorderR"] = 0;
- $this->Default["BorderG"] = 0;
- $this->Default["BorderB"] = 0;
- $this->Default["BorderAlpha"] = 100;
- $this->Default["Surrounding"] = NULL;
- $this->Default["BackgroundR"] = 255;
- $this->Default["BackgroundG"] = 255;
- $this->Default["BackgroundB"] = 255;
- $this->Default["BackgroundAlpha"] = 0;
- $this->Default["Force"] = 1;
- $this->Default["NodeType"] = NODE_TYPE_FREE;
- $this->Default["Size"] = 5;
- $this->Default["Shape"] = NODE_SHAPE_CIRCLE;
- $this->Default["FreeZone"] = 40;
- $this->Default["LinkR"] = 0;
- $this->Default["LinkG"] = 0;
- $this->Default["LinkB"] = 0;
- $this->Default["LinkAlpha"] = 0;
-
- $this->Labels["Type"] = LABEL_CLASSIC;
- $this->Labels["R"] = 0;
- $this->Labels["G"] = 0;
- $this->Labels["B"] = 0;
- $this->Labels["Alpha"] = 100;
-
- $this->AutoComputeFreeZone = FALSE;
- }
-
- /* Set default links options */
- function setLinkDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["LinkR"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["LinkG"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["LinkB"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["LinkAlpha"] = $Settings["Alpha"]; }
- }
-
- /* Set default links options */
- function setLabelsSettings($Settings="")
- {
- if ( isset($Settings["Type"]) ) { $this->Labels["Type"] = $Settings["Type"]; }
- if ( isset($Settings["R"]) ) { $this->Labels["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Labels["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Labels["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Labels["Alpha"] = $Settings["Alpha"]; }
- }
-
- /* Auto compute the FreeZone size based on the number of connections */
- function autoFreeZone()
- {
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- { $this->Data[$Key]["FreeZone"] = count($Settings["Connections"])*10 + 20; }
- else
- { $this->Data[$Key]["FreeZone"] = 20; }
- }
-
- }
-
- /* Set link properties */
- function linkProperties($FromNode,$ToNode,$Settings)
- {
- if ( !isset($this->Data[$FromNode]) ) { return(0); }
- if ( !isset($this->Data[$ToNode]) ) { return(0); }
-
- $R = isset($Settings["R"]) ? $Settings["R"] : 0;
- $G = isset($Settings["G"]) ? $Settings["G"] : 0;
- $B = isset($Settings["B"]) ? $Settings["B"] : 0;
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : 100;
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : NULL;
- $Ticks = isset($Settings["Ticks"]) ? $Settings["Ticks"] : NULL;
-
- $this->Links[$FromNode][$ToNode]["R"] = $R; $this->Links[$ToNode][$FromNode]["R"] = $R;
- $this->Links[$FromNode][$ToNode]["G"] = $G; $this->Links[$ToNode][$FromNode]["G"] = $G;
- $this->Links[$FromNode][$ToNode]["B"] = $B; $this->Links[$ToNode][$FromNode]["B"] = $B;
- $this->Links[$FromNode][$ToNode]["Alpha"] = $Alpha; $this->Links[$ToNode][$FromNode]["Alpha"] = $Alpha;
- $this->Links[$FromNode][$ToNode]["Name"] = $Name; $this->Links[$ToNode][$FromNode]["Name"] = $Name;
- $this->Links[$FromNode][$ToNode]["Ticks"] = $Ticks; $this->Links[$ToNode][$FromNode]["Ticks"] = $Ticks;
- }
-
- function setNodeDefaults($Settings="")
- {
- if ( isset($Settings["R"]) ) { $this->Default["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Default["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Default["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Default["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Default["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Default["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Default["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Default["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Default["Surrounding"] = $Settings["Surrounding"]; }
- if ( isset($Settings["BackgroundR"]) ) { $this->Default["BackgroundR"] = $Settings["BackgroundR"]; }
- if ( isset($Settings["BackgroundG"]) ) { $this->Default["BackgroundG"] = $Settings["BackgroundG"]; }
- if ( isset($Settings["BackgroundB"]) ) { $this->Default["BackgroundB"] = $Settings["BackgroundB"]; }
- if ( isset($Settings["BackgroundAlpha"]) ) { $this->Default["BackgroundAlpha"] = $Settings["BackgroundAlpha"]; }
- if ( isset($Settings["NodeType"]) ) { $this->Default["NodeType"] = $Settings["NodeType"]; }
- if ( isset($Settings["Size"]) ) { $this->Default["Size"] = $Settings["Size"]; }
- if ( isset($Settings["Shape"]) ) { $this->Default["Shape"] = $Settings["Shape"]; }
- if ( isset($Settings["FreeZone"]) ) { $this->Default["FreeZone"] = $Settings["FreeZone"]; }
- }
-
- /* Add a node */
- function addNode($NodeID,$Settings="")
- {
- /* if the node already exists, ignore */
- if (isset($this->Data[$NodeID])) { return(0); }
-
- $Name = isset($Settings["Name"]) ? $Settings["Name"] : "Node ".$NodeID;
- $Connections = isset($Settings["Connections"]) ? $Settings["Connections"] : NULL;
-
- $R = isset($Settings["R"]) ? $Settings["R"] : $this->Default["R"];
- $G = isset($Settings["G"]) ? $Settings["G"] : $this->Default["G"];
- $B = isset($Settings["B"]) ? $Settings["B"] : $this->Default["B"];
- $Alpha = isset($Settings["Alpha"]) ? $Settings["Alpha"] : $this->Default["Alpha"];
- $BorderR = isset($Settings["BorderR"]) ? $Settings["BorderR"] : $this->Default["BorderR"];
- $BorderG = isset($Settings["BorderG"]) ? $Settings["BorderG"] : $this->Default["BorderG"];
- $BorderB = isset($Settings["BorderB"]) ? $Settings["BorderB"] : $this->Default["BorderB"];
- $BorderAlpha = isset($Settings["BorderAlpha"]) ? $Settings["BorderAlpha"] : $this->Default["BorderAlpha"];
- $Surrounding = isset($Settings["Surrounding"]) ? $Settings["Surrounding"] : $this->Default["Surrounding"];
- $BackgroundR = isset($Settings["BackgroundR"]) ? $Settings["BackgroundR"] : $this->Default["BackgroundR"];
- $BackgroundG = isset($Settings["BackgroundG"]) ? $Settings["BackgroundG"] : $this->Default["BackgroundG"];
- $BackgroundB = isset($Settings["BackgroundB"]) ? $Settings["BackgroundB"] : $this->Default["BackgroundB"];
- $BackgroundAlpha = isset($Settings["BackgroundAlpha"]) ? $Settings["BackgroundAlpha"] : $this->Default["BackgroundAlpha"];
- $Force = isset($Settings["Force"]) ? $Settings["Force"] : $this->Default["Force"];
- $NodeType = isset($Settings["NodeType"]) ? $Settings["NodeType"] : $this->Default["NodeType"];
- $Size = isset($Settings["Size"]) ? $Settings["Size"] : $this->Default["Size"];
- $Shape = isset($Settings["Shape"]) ? $Settings["Shape"] : $this->Default["Shape"];
- $FreeZone = isset($Settings["FreeZone"]) ? $Settings["FreeZone"] : $this->Default["FreeZone"];
-
- if ( $Surrounding != NULL ) { $BorderR = $R + $Surrounding; $BorderG = $G + $Surrounding; $BorderB = $B + $Surrounding; }
-
- $this->Data[$NodeID]["R"] = $R; $this->Data[$NodeID]["G"] = $G; $this->Data[$NodeID]["B"] = $B; $this->Data[$NodeID]["Alpha"] = $Alpha;
- $this->Data[$NodeID]["BorderR"] = $BorderR; $this->Data[$NodeID]["BorderG"] = $BorderG; $this->Data[$NodeID]["BorderB"] = $BorderB; $this->Data[$NodeID]["BorderAlpha"] = $BorderAlpha;
- $this->Data[$NodeID]["BackgroundR"] = $BackgroundR; $this->Data[$NodeID]["BackgroundG"] = $BackgroundG; $this->Data[$NodeID]["BackgroundB"] = $BackgroundB; $this->Data[$NodeID]["BackgroundAlpha"] = $BackgroundAlpha;
- $this->Data[$NodeID]["Name"] = $Name;
- $this->Data[$NodeID]["Force"] = $Force;
- $this->Data[$NodeID]["Type"] = $NodeType;
- $this->Data[$NodeID]["Size"] = $Size;
- $this->Data[$NodeID]["Shape"] = $Shape;
- $this->Data[$NodeID]["FreeZone"] = $FreeZone;
- if ( $Connections != NULL )
- {
- if ( is_array($Connections ) )
- {
- foreach($Connections as $Key => $Value)
- $this->Data[$NodeID]["Connections"][] = $Value;
- }
- else
- $this->Data[$NodeID]["Connections"][] = $Connections;
- }
- }
-
- /* Set color attribute for a list of nodes */
- function setNodesColor($Nodes,$Settings="")
- {
- if ( is_array($Nodes) )
- {
- foreach ($Nodes as $Key => $NodeID)
- {
- if (isset($this->Data[$NodeID]) )
- {
- if ( isset($Settings["R"]) ) { $this->Data[$NodeID]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$NodeID]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$NodeID]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$NodeID]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$NodeID]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$NodeID]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$NodeID]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$NodeID]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$NodeID]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
- }
- else
- {
- if ( isset($Settings["R"]) ) { $this->Data[$Nodes]["R"] = $Settings["R"]; }
- if ( isset($Settings["G"]) ) { $this->Data[$Nodes]["G"] = $Settings["G"]; }
- if ( isset($Settings["B"]) ) { $this->Data[$Nodes]["B"] = $Settings["B"]; }
- if ( isset($Settings["Alpha"]) ) { $this->Data[$Nodes]["Alpha"] = $Settings["Alpha"]; }
- if ( isset($Settings["BorderR"]) ) { $this->Data[$Nodes]["BorderR"] = $Settings["BorderR"]; }
- if ( isset($Settings["BorderG"]) ) { $this->Data[$Nodes]["BorderG"] = $Settings["BorderG"]; }
- if ( isset($Settings["BorderB"]) ) { $this->Data[$Nodes]["BorderB"] = $Settings["BorderB"]; }
- if ( isset($Settings["BorderAlpha"]) ) { $this->Data[$Nodes]["BorderAlpha"] = $Settings["BorderAlpha"]; }
- if ( isset($Settings["Surrounding"]) ) { $this->Data[$Nodes]["BorderR"] = $this->Data[$NodeID]["R"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderG"] = $this->Data[$NodeID]["G"] + $Settings["Surrounding"]; $this->Data[$NodeID]["BorderB"] = $this->Data[$NodeID]["B"] + $Settings["Surrounding"]; }
- }
- }
-
- /* Returns all the nodes details */
- function dumpNodes()
- { return($this->Data); }
-
- /* Check if a connection exists and create it if required */
- function checkConnection($SourceID, $TargetID)
- {
- if ( isset($this->Data[$SourceID]["Connections"]) )
- {
- foreach ($this->Data[$SourceID]["Connections"] as $Key => $ConnectionID)
- { if ( $TargetID == $ConnectionID ) { return(TRUE); } }
- }
- $this->Data[$SourceID]["Connections"][] = $TargetID;
- }
- /* Get the median linked nodes position */
- function getMedianOffset($Key,$X,$Y)
- {
- $Cpt = 1;
- if ( isset($this->Data[$Key]["Connections"]) )
- {
- foreach($this->Data[$Key]["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]["X"]) && isset($this->Data[$NodeID]["Y"]) )
- {
- $X = $X + $this->Data[$NodeID]["X"];
- $Y = $Y + $this->Data[$NodeID]["Y"];
- $Cpt++;
- }
- }
- }
- return(array("X"=>$X/$Cpt,"Y"=>$Y/$Cpt));
- }
-
- /* Return the ID of the attached partner with the biggest weight */
- function getBiggestPartner($Key)
- {
- if ( !isset($this->Data[$Key]["Connections"]) ) { return(""); }
-
- $MaxWeight = 0; $Result = "";
- foreach($this->Data[$Key]["Connections"] as $Key => $PeerID)
- {
- if ( $this->Data[$PeerID]["Weight"] > $MaxWeight )
- { $MaxWeight = $this->Data[$PeerID]["Weight"]; $Result = $PeerID; }
- }
- return($Result);
- }
-
- /* Do the initial node positions computing pass */
- function firstPass($Algorithm)
- {
- $CenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $CenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Check connections reciprocity */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $ConnectionID)
- $this->checkConnection($ConnectionID,$Key);
- }
- }
-
- if ( $this->AutoComputeFreeZone ) { $this->autoFreeZone(); }
-
- /* Get the max number of connections */
- $MaxConnections = 0;
- foreach($this->Data as $Key => $Settings)
- { if ( isset($Settings["Connections"]) ) { if ( $MaxConnections < count($Settings["Connections"] ) ) { $MaxConnections = count($Settings["Connections"]); } } }
-
- if ( $Algorithm == ALGORITHM_WEIGHTED )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $this->Data[$Key]["X"] = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $this->Data[$Key]["Y"] = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CENTRAL )
- {
- /* Put a weight on each nodes */
- foreach($this->Data as $Key => $Settings)
- {
- if ( isset($Settings["Connections"]) )
- $this->Data[$Key]["Weight"] = count($Settings["Connections"]);
- else
- $this->Data[$Key]["Weight"] = 0;
- }
-
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $BiggestPartner = $this->getBiggestPartner($Key);
- if ( $BiggestPartner != "" )
- {
- $Ring = $this->Data[$BiggestPartner]["FreeZone"];
- $Weight = $this->Data[$BiggestPartner]["Weight"];
- $AngleDivision = 360 / $this->Data[$BiggestPartner]["Weight"];
- $Done = FALSE; $Tries = 0;
- while (!$Done && $Tries <= $Weight*2)
- {
- $Tries++;
- $Angle = floor(rand(0,$Weight)*$AngleDivision);
- if ( !isset($this->Data[$BiggestPartner]["Angular"][$Angle]) || !isset($this->Data[$BiggestPartner]["Angular"]) )
- {
- $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle;
- $Done = TRUE;
- }
- }
- if ( !$Done )
- { $Angle = rand(0,360); $this->Data[$BiggestPartner]["Angular"][$Angle] = $Angle; }
-
- $X = cos(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["X"];
- $Y = sin(deg2rad($Angle)) * ($Ring) + $this->Data[$BiggestPartner]["Y"];
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_CIRCULAR )
- {
- $MaxConnections = $MaxConnections + 1;
- for($i=$MaxConnections;$i>=0;$i--)
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- if ( isset($Settings["Connections"]) )
- { $Connections = count($Settings["Connections"]); }
- else
- { $Connections = 0; }
-
- if ( $Connections == $i )
- {
- $Ring = $MaxConnections - $Connections;
- $Angle = rand(0,360);
-
- $X = cos(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterX;
- $Y = sin(deg2rad($Angle)) * ($Ring*$this->RingSize) + $CenterY;
-
- $MedianOffset = $this->getMedianOffset($Key,$X,$Y);
-
- $this->Data[$Key]["X"] = $MedianOffset["X"];
- $this->Data[$Key]["Y"] = $MedianOffset["Y"];
- }
- }
- }
- }
- }
- elseif ( $Algorithm == ALGORITHM_RANDOM )
- {
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] == NODE_TYPE_FREE )
- {
- $this->Data[$Key]["X"] = $CenterX + rand(-20,20);
- $this->Data[$Key]["Y"] = $CenterY + rand(-20,20);
- }
- if ( $Settings["Type"] == NODE_TYPE_CENTRAL ) { $this->Data[$Key]["X"] = $CenterX; $this->Data[$Key]["Y"] = $CenterY; }
- }
- }
- }
-
- /* Compute one pass */
- function doPass()
- {
- /* Compute vectors */
- foreach($this->Data as $Key => $Settings)
- {
- if ( $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- unset($this->Data[$Key]["Vectors"]);
-
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- /* Repulsion vectors */
- foreach($this->Data as $Key2 => $Settings2)
- {
- if ( $Key != $Key2 )
- {
- $X2 = $this->Data[$Key2]["X"];
- $Y2 = $this->Data[$Key2]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2) + 180;
-
- /* Nodes too close, repulsion occurs */
- if ( $Distance < $FreeZone )
- {
- $Force = log(pow(2,$FreeZone-$Distance));
- if ( $Force > 1 )
- { $this->Data[$Key]["Vectors"][] = array("Type"=>"R","Angle"=>$Angle % 360,"Force"=>$Force); }
- }
- }
- }
-
- /* Attraction vectors */
- if ( isset($Settings["Connections"]) )
- {
- foreach($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $FreeZone = $this->Data[$Key2]["FreeZone"];
-
- $Distance = $this->getDistance($X1,$Y1,$X2,$Y2);
- $Angle = $this->getAngle($X1,$Y1,$X2,$Y2);
-
- if ( $Distance > $FreeZone )
- $Force = log(($Distance-$FreeZone)+1);
- else
- { $Force = log(($FreeZone-$Distance)+1); ($Angle = $Angle + 180); }
-
- if ( $Force > 1 )
- $this->Data[$Key]["Vectors"][] = array("Type"=>"A","Angle"=>$Angle % 360,"Force"=>$Force);
- }
- }
- }
- }
- }
-
- /* Move the nodes accoding to the vectors */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
-
- $X = cos(deg2rad($Angle)) * $Force * $Factor + $X;
- $Y = sin(deg2rad($Angle)) * $Force * $Factor + $Y;
- }
- }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
- }
-
- function lastPass()
- {
- /* Put everything inside the graph area */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $this->X1 ) { $X = $this->X1; }
- if ( $X > $this->X2 ) { $X = $this->X2; }
- if ( $Y < $this->Y1 ) { $Y = $this->Y1; }
- if ( $Y > $this->Y2 ) { $Y = $this->Y2; }
-
- $this->Data[$Key]["X"] = $X;
- $this->Data[$Key]["Y"] = $Y;
- }
-
- /* Dump all links */
- $Links = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- $Links[] = array("X1"=>$X1,"Y1"=>$Y1,"X2"=>$X2,"Y2"=>$Y2,"Source"=>$Settings["Name"],"Destination"=>$this->Data[$NodeID]["Name"]);
- }
- }
- }
- }
-
- /* Check collisions */
- $Conflicts = 0;
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( isset($this->Data[$NodeID]) )
- {
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
-
- foreach($Links as $IDLinks => $Link)
- {
- $X3 = $Link["X1"]; $Y3 = $Link["Y1"]; $X4 = $Link["X2"]; $Y4 = $Link["Y2"];
-
- if ( !($X1 == $X3 && $X2 == $X4 && $Y1 == $Y3 && $Y2 == $Y4 ) )
- {
- if ( $this->intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4) )
- {
- if ( $Link["Source"] != $Settings["Name"] && $Link["Source"] != $this->Data[$NodeID]["Name"] && $Link["Destination"] != $Settings["Name"] && $Link["Destination"] != $this->Data[$NodeID]["Name"] )
- { $Conflicts++; }
- }
- }
- }
- }
- }
- }
- }
- return($Conflicts/2);
- }
-
- /* Center the graph */
- function center()
- {
- /* Determine the real center */
- $TargetCenterX = ($this->X2 - $this->X1) / 2 + $this->X1;
- $TargetCenterY = ($this->Y2 - $this->Y1) / 2 + $this->Y1;
-
- /* Get current boundaries */
- $XMin = $this->X2; $XMax = $this->X1;
- $YMin = $this->Y2; $YMax = $this->Y1;
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( $X < $XMin) { $XMin = $X; }
- if ( $X > $XMax) { $XMax = $X; }
- if ( $Y < $YMin) { $YMin = $Y; }
- if ( $Y > $YMax) { $YMax = $Y; }
- }
- $CurrentCenterX = ($XMax - $XMin) / 2 + $XMin;
- $CurrentCenterY = ($YMax - $YMin) / 2 + $YMin;
-
- /* Compute the offset to apply */
- $XOffset = $TargetCenterX - $CurrentCenterX;
- $YOffset = $TargetCenterY - $CurrentCenterY;
-
- /* Correct the points position */
- foreach($this->Data as $Key => $Settings)
- {
- $this->Data[$Key]["X"] = $Settings["X"] + $XOffset;
- $this->Data[$Key]["Y"] = $Settings["Y"] + $YOffset;
- }
- }
-
- /* Create the encoded string */
- function drawSpring($Object,$Settings="")
- {
- $this->pChartObject = $Object;
-
- $Pass = isset($Settings["Pass"]) ? $Settings["Pass"] : 50;
- $Retries = isset($Settings["Retry"]) ? $Settings["Retry"] : 10;
- $this->MagneticForceA = isset($Settings["MagneticForceA"]) ? $Settings["MagneticForceA"] : 1.5;
- $this->MagneticForceR = isset($Settings["MagneticForceR"]) ? $Settings["MagneticForceR"] : 2;
- $this->RingSize = isset($Settings["RingSize"]) ? $Settings["RingSize"] : 40;
- $DrawVectors = isset($Settings["DrawVectors"]) ? $Settings["DrawVectors"] : FALSE;
- $DrawQuietZone = isset($Settings["DrawQuietZone"]) ? $Settings["DrawQuietZone"] : FALSE;
- $CenterGraph = isset($Settings["CenterGraph"]) ? $Settings["CenterGraph"] : TRUE;
- $TextPadding = isset($Settings["TextPadding"]) ? $Settings["TextPadding"] : 4;
- $Algorithm = isset($Settings["Algorithm"]) ? $Settings["Algorithm"] : ALGORITHM_WEIGHTED;
-
- $FontSize = $Object->FontSize;
- $this->X1 = $Object->GraphAreaX1;
- $this->Y1 = $Object->GraphAreaY1;
- $this->X2 = $Object->GraphAreaX2;
- $this->Y2 = $Object->GraphAreaY2;
-
- $Conflicts = 1; $Jobs = 0; $this->History["MinimumConflicts"] = -1;
- while ($Conflicts != 0 && $Jobs < $Retries )
- {
- $Jobs++;
-
- /* Compute the initial settings */
- $this->firstPass($Algorithm);
-
- /* Apply the vectors */
- if ( $Pass > 0 )
- {
- for ($i=0; $i<=$Pass; $i++) { $this->doPass(); }
- }
-
- $Conflicts = $this->lastPass();
- if ( $this->History["MinimumConflicts"] == -1 || $Conflicts < $this->History["MinimumConflicts"] )
- { $this->History["MinimumConflicts"] = $Conflicts; $this->History["Result"] = $this->Data; }
- }
-
- $Conflicts = $this->History["MinimumConflicts"];
- $this->Data = $this->History["Result"];
-
- if ( $CenterGraph ) { $this->center(); }
-
- /* Draw the connections */
- $Drawn = "";
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
-
- if ( isset($Settings["Connections"]) )
- {
- foreach ($Settings["Connections"] as $ID => $NodeID)
- {
- if ( !isset($Drawn[$Key]) ) { $Drawn[$Key] = ""; }
- if ( !isset($Drawn[$NodeID]) ) { $Drawn[$NodeID] = ""; }
-
- if ( isset($this->Data[$NodeID]) && !isset($Drawn[$Key][$NodeID]) && !isset($Drawn[$NodeID][$Key]) )
- {
- $Color = array("R"=>$this->Default["LinkR"],"G"=>$this->Default["LinkG"],"B"=>$this->Default["LinkB"],"Alpha"=>$this->Default["Alpha"]);
-
- if ( $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["R"]) )
- { $Color = array("R"=>$this->Links[$Key][$NodeID]["R"],"G"=>$this->Links[$Key][$NodeID]["G"],"B"=>$this->Links[$Key][$NodeID]["B"],"Alpha"=>$this->Links[$Key][$NodeID]["Alpha"]); }
-
- if ( isset($this->Links[$Key][$NodeID]["Ticks"]) )
- { $Color["Ticks"] = $this->Links[$Key][$NodeID]["Ticks"]; }
- }
-
- $X2 = $this->Data[$NodeID]["X"];
- $Y2 = $this->Data[$NodeID]["Y"];
- $this->pChartObject->drawLine($X,$Y,$X2,$Y2,$Color);
- $Drawn[$Key][$NodeID] = TRUE;
-
- if ( isset($this->Links) && $this->Links != "" )
- {
- if ( isset($this->Links[$Key][$NodeID]["Name"]) || isset($this->Links[$NodeID][$Key]["Name"]) )
- {
- $Name = isset($this->Links[$Key][$NodeID]["Name"]) ? $this->Links[$Key][$NodeID]["Name"] : $this->Links[$NodeID][$Key]["Name"];
- $TxtX = ($X2 - $X)/2 + $X;
- $TxtY = ($Y2 - $Y)/2 + $Y;
-
- if ( $X <= $X2 )
- $Angle = (360-$this->getAngle($X,$Y,$X2,$Y2)) % 360;
- else
- $Angle = (360-$this->getAngle($X2,$Y2,$X,$Y)) % 360;
-
- $Settings = $Color;
- $Settings["Angle"] = $Angle;
- $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE;
- $this->pChartObject->drawText($TxtX,$TxtY,$Name,$Settings);
- }
- }
- }
- }
- }
- }
-
- /* Draw the quiet zones */
- if ( $DrawQuietZone )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $FreeZone = $Settings["FreeZone"];
-
- $this->pChartObject->drawFilledCircle($X,$Y,$FreeZone,array("R"=>0,"G"=>0,"B"=>0,"Alpha"=>2));
- }
- }
-
-
- /* Draw the nodes */
- foreach($this->Data as $Key => $Settings)
- {
- $X = $Settings["X"];
- $Y = $Settings["Y"];
- $Name = $Settings["Name"];
- $FreeZone = $Settings["FreeZone"];
- $Shape = $Settings["Shape"];
- $Size = $Settings["Size"];
-
- $Color = array("R"=>$Settings["R"],"G"=>$Settings["G"],"B"=>$Settings["B"],"Alpha"=>$Settings["Alpha"],"BorderR"=>$Settings["BorderR"],"BorderG"=>$Settings["BorderG"],"BorderB"=>$Settings["BorderB"],"BorderApha"=>$Settings["BorderAlpha"]);
-
- if ( $Shape == NODE_SHAPE_CIRCLE )
- {
- $this->pChartObject->drawFilledCircle($X,$Y,$Size,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_TRIANGLE )
- {
- $Points = "";
- $Points[] = cos(deg2rad(270)) * $Size + $X; $Points[] = sin(deg2rad(270)) * $Size + $Y;
- $Points[] = cos(deg2rad(45)) * $Size + $X; $Points[] = sin(deg2rad(45)) * $Size + $Y;
- $Points[] = cos(deg2rad(135)) * $Size + $X; $Points[] = sin(deg2rad(135)) * $Size + $Y;
- $this->pChartObject->drawPolygon($Points,$Color);
- }
- elseif ( $Shape == NODE_SHAPE_SQUARE )
- {
- $Offset = $Size/2; $Size = $Size / 2;
- $this->pChartObject->drawFilledRectangle($X-$Offset,$Y-$Offset,$X+$Offset,$Y+$Offset,$Color);
- }
-
- if ( $Name != "" )
- {
- $LabelOptions = array("R"=>$this->Labels["R"],"G"=>$this->Labels["G"],"B"=>$this->Labels["B"],"Alpha"=>$this->Labels["Alpha"]);
-
- if ( $this->Labels["Type"] == LABEL_LIGHT )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_BOTTOMLEFT;
- $this->pChartObject->drawText($X,$Y,$Name,$LabelOptions);
- }
- elseif ( $this->Labels["Type"] == LABEL_CLASSIC )
- {
- $LabelOptions["Align"] = TEXT_ALIGN_TOPMIDDLE;
- $LabelOptions["DrawBox"] = TRUE;
- $LabelOptions["BoxAlpha"] = 50;
- $LabelOptions["BorderOffset"] = 4;
- $LabelOptions["RoundedRadius"] = 3;
- $LabelOptions["BoxRounded"] = TRUE;
- $LabelOptions["NoShadow"] = TRUE;
-
- $this->pChartObject->drawText($X,$Y+$Size+$TextPadding,$Name,$LabelOptions);
- }
- }
- }
-
- /* Draw the vectors */
- if ( $DrawVectors )
- {
- foreach($this->Data as $Key => $Settings)
- {
- $X1 = $Settings["X"];
- $Y1 = $Settings["Y"];
-
- if ( isset($Settings["Vectors"]) && $Settings["Type"] != NODE_TYPE_CENTRAL )
- {
- foreach($Settings["Vectors"] as $ID => $Vector)
- {
- $Type = $Vector["Type"];
- $Force = $Vector["Force"];
- $Angle = $Vector["Angle"];
- $Factor = $Type == "A" ? $this->MagneticForceA : $this->MagneticForceR;
- $Color = $Type == "A" ? array("FillR"=>255,"FillG"=>0,"FillB"=>0) : array("FillR"=>0,"FillG"=>255,"FillB"=>0);
-
- $X2 = cos(deg2rad($Angle)) * $Force * $Factor + $X1;
- $Y2 = sin(deg2rad($Angle)) * $Force * $Factor + $Y1;
-
- $this->pChartObject->drawArrow($X1,$Y1,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- return(array("Pass"=>$Jobs,"Conflicts"=>$Conflicts));
- }
-
- /* Return the distance between two points */
- function getDistance($X1,$Y1,$X2,$Y2)
- { return (sqrt(($X2-$X1)*($X2-$X1)+($Y2-$Y1)*($Y2-$Y1))); }
-
- /* Return the angle made by a line and the X axis */
- function getAngle($X1,$Y1,$X2,$Y2)
- {
- $Opposite = $Y2 - $Y1; $Adjacent = $X2 - $X1;$Angle = rad2deg(atan2($Opposite,$Adjacent));
- if ($Angle > 0) { return($Angle); } else { return(360-abs($Angle)); }
- }
-
- function intersect($X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4)
- {
- $A = (($X3 * $Y4 - $X4 * $Y3) * ($X1 - $X2) - ($X1 * $Y2 - $X2 * $Y1) * ($X3 - $X4));
- $B = (($Y1 - $Y2) * ($X3 - $X4) - ($Y3 - $Y4) * ($X1 - $X2));
-
- if ( $B == 0 ) { return(FALSE); }
- $Xi = $A / $B;
-
- $C = ($X1 - $X2);
- if ( $C == 0 ) { return(FALSE); }
- $Yi = $Xi * (($Y1 - $Y2)/$C) + (($X1 * $Y2 - $X2 * $Y1)/$C);
-
- if ( $Xi >= min($X1,$X2) && $Xi >= min($X3,$X4) && $Xi <= max($X1,$X2) && $Xi <= max($X3,$X4))
- {
- if ( $Yi >= min($Y1,$Y2) && $Yi >= min($Y3,$Y4) && $Yi <= max($Y1,$Y2) && $Yi <= max($Y3,$Y4))
- { return(TRUE); }
- }
-
- return(FALSE);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pStock.class.php b/notFinishedCode/web/class/pStock.class.php
deleted file mode 100644
index 7f9dbfb..0000000
--- a/notFinishedCode/web/class/pStock.class.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
- /*
- pStock - class to draw stock charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("STOCK_MISSING_SERIE" , 180001);
-
- /* pStock class definition */
- class pStock
- {
- var $pChartObject;
- var $pDataObject;
-
- /* Class creator */
- function pStock($pChartObject,$pDataObject)
- {
- $this->pChartObject = $pChartObject;
- $this->pDataObject = $pDataObject;
- }
-
- /* Draw a stock chart */
- function drawStockChart($Format="")
- {
- $SerieOpen = isset($Format["SerieOpen"]) ? $Format["SerieOpen"] : "Open";
- $SerieClose = isset($Format["SerieClose"]) ? $Format["SerieClose"] : "Close";
- $SerieMin = isset($Format["SerieMin"]) ? $Format["SerieMin"] : "Min";
- $SerieMax = isset($Format["SerieMax"]) ? $Format["SerieMax"] : "Max";
- $SerieMedian = isset($Format["SerieMedian"]) ? $Format["SerieMedian"] : NULL;
- $LineWidth = isset($Format["LineWidth"]) ? $Format["LineWidth"] : 1;
- $LineR = isset($Format["LineR"]) ? $Format["LineR"] : 0;
- $LineG = isset($Format["LineG"]) ? $Format["LineG"] : 0;
- $LineB = isset($Format["LineB"]) ? $Format["LineB"] : 0;
- $LineAlpha = isset($Format["LineAlpha"]) ? $Format["LineAlpha"] : 100;
- $ExtremityWidth = isset($Format["ExtremityWidth"]) ? $Format["ExtremityWidth"] : 1;
- $ExtremityLength = isset($Format["ExtremityLength"]) ? $Format["ExtremityLength"] : 3;
- $ExtremityR = isset($Format["ExtremityR"]) ? $Format["ExtremityR"] : 0;
- $ExtremityG = isset($Format["ExtremityG"]) ? $Format["ExtremityG"] : 0;
- $ExtremityB = isset($Format["ExtremityB"]) ? $Format["ExtremityB"] : 0;
- $ExtremityAlpha = isset($Format["ExtremityAlpha"]) ? $Format["ExtremityAlpha"] : 100;
- $BoxWidth = isset($Format["BoxWidth"]) ? $Format["BoxWidth"] : 8;
- $BoxUpR = isset($Format["BoxUpR"]) ? $Format["BoxUpR"] : 188;
- $BoxUpG = isset($Format["BoxUpG"]) ? $Format["BoxUpG"] : 224;
- $BoxUpB = isset($Format["BoxUpB"]) ? $Format["BoxUpB"] : 46;
- $BoxUpAlpha = isset($Format["BoxUpAlpha"]) ? $Format["BoxUpAlpha"] : 100;
- $BoxUpSurrounding = isset($Format["BoxUpSurrounding"]) ? $Format["BoxUpSurrounding"] : NULL;
- $BoxUpBorderR = isset($Format["BoxUpBorderR"]) ? $Format["BoxUpBorderR"] : $BoxUpR-20;
- $BoxUpBorderG = isset($Format["BoxUpBorderG"]) ? $Format["BoxUpBorderG"] : $BoxUpG-20;
- $BoxUpBorderB = isset($Format["BoxUpBorderB"]) ? $Format["BoxUpBorderB"] : $BoxUpB-20;
- $BoxUpBorderAlpha = isset($Format["BoxUpBorderAlpha"]) ? $Format["BoxUpBorderAlpha"] : 100;
- $BoxDownR = isset($Format["BoxDownR"]) ? $Format["BoxDownR"] : 224;
- $BoxDownG = isset($Format["BoxDownG"]) ? $Format["BoxDownG"] : 100;
- $BoxDownB = isset($Format["BoxDownB"]) ? $Format["BoxDownB"] : 46;
- $BoxDownAlpha = isset($Format["BoxDownAlpha"]) ? $Format["BoxDownAlpha"] : 100;
- $BoxDownSurrounding= isset($Format["BoxDownSurrounding"]) ? $Format["BoxDownSurrounding"] : NULL;
- $BoxDownBorderR = isset($Format["BoxDownBorderR"]) ? $Format["BoxDownBorderR"] : $BoxDownR-20;
- $BoxDownBorderG = isset($Format["BoxDownBorderG"]) ? $Format["BoxDownBorderG"] : $BoxDownG-20;
- $BoxDownBorderB = isset($Format["BoxDownBorderB"]) ? $Format["BoxDownBorderB"] : $BoxDownB-20;
- $BoxDownBorderAlpha= isset($Format["BoxDownBorderAlpha"]) ? $Format["BoxDownBorderAlpha"] : 100;
- $ShadowOnBoxesOnly = isset($Format["ShadowOnBoxesOnly"]) ? $Format["ShadowOnBoxesOnly"] : TRUE;
- $MedianR = isset($Format["MedianR"]) ? $Format["MedianR"] : 255;
- $MedianG = isset($Format["MedianG"]) ? $Format["MedianG"] : 0;
- $MedianB = isset($Format["MedianB"]) ? $Format["MedianB"] : 0;
- $MedianAlpha = isset($Format["MedianAlpha"]) ? $Format["MedianAlpha"] : 100;
- $RecordImageMap = isset($Format["RecordImageMap"]) ? $Format["RecordImageMap"] : FALSE;
- $ImageMapTitle = isset($Format["ImageMapTitle"]) ? $Format["ImageMapTitle"] : "Stock Chart";
-
-
- /* Data Processing */
- $Data = $this->pDataObject->getData();
- $Palette = $this->pDataObject->getPalette();
-
- if ( $BoxUpSurrounding != NULL ) { $BoxUpBorderR = $BoxUpR + $BoxUpSurrounding; $BoxUpBorderG = $BoxUpG + $BoxUpSurrounding; $BoxUpBorderB = $BoxUpB + $BoxUpSurrounding; }
- if ( $BoxDownSurrounding != NULL ) { $BoxDownBorderR = $BoxDownR + $BoxDownSurrounding; $BoxDownBorderG = $BoxDownG + $BoxDownSurrounding; $BoxDownBorderB = $BoxDownB + $BoxDownSurrounding; }
-
- if ( $LineWidth != 1 ) { $LineOffset = $LineWidth / 2; }
- $BoxOffset = $BoxWidth / 2;
-
- $Data = $this->pChartObject->DataSet->getData();
- list($XMargin,$XDivs) = $this->pChartObject->scaleGetXSettings();
-
- if ( !isset($Data["Series"][$SerieOpen]) || !isset($Data["Series"][$SerieClose]) || !isset($Data["Series"][$SerieMin]) || !isset($Data["Series"][$SerieMax]) )
- return(STOCK_MISSING_SERIE);
-
- $Plots = "";
- foreach($Data["Series"][$SerieOpen]["Data"] as $Key => $Value)
- {
- $Point = "";
- if ( isset($Data["Series"][$SerieClose]["Data"][$Key]) || isset($Data["Series"][$SerieMin]["Data"][$Key]) || isset($Data["Series"][$SerieMax]["Data"][$Key]) )
- $Point = array($Value,$Data["Series"][$SerieClose]["Data"][$Key],$Data["Series"][$SerieMin]["Data"][$Key],$Data["Series"][$SerieMax]["Data"][$Key]);
- if ( $SerieMedian != NULL && isset($Data["Series"][$SerieMedian]["Data"][$Key]) )
- $Point[] = $Data["Series"][$SerieMedian]["Data"][$Key];
-
- $Plots[] = $Point;
- }
-
- $AxisID = $Data["Series"][$SerieOpen]["Axis"];
- $Mode = $Data["Axis"][$AxisID]["Display"];
- $Format = $Data["Axis"][$AxisID]["Format"];
- $Unit = $Data["Axis"][$AxisID]["Unit"];
-
- $YZero = $this->pChartObject->scaleComputeY(0,array("AxisID"=>$AxisID));
- $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs;
-
- $X = $this->pChartObject->GraphAreaX1 + $XMargin;
- $Y = $this->pChartObject->GraphAreaY1 + $XMargin;
-
- $LineSettings = array("R"=>$LineR,"G"=>$LineG,"B"=>$LineB,"Alpha"=>$LineAlpha);
- $ExtremitySettings = array("R"=>$ExtremityR,"G"=>$ExtremityG,"B"=>$ExtremityB,"Alpha"=>$ExtremityAlpha);
- $BoxUpSettings = array("R"=>$BoxUpR,"G"=>$BoxUpG,"B"=>$BoxUpB,"Alpha"=>$BoxUpAlpha,"BorderR"=>$BoxUpBorderR,"BorderG"=>$BoxUpBorderG,"BorderB"=>$BoxUpBorderB,"BorderAlpha"=>$BoxUpBorderAlpha);
- $BoxDownSettings = array("R"=>$BoxDownR,"G"=>$BoxDownG,"B"=>$BoxDownB,"Alpha"=>$BoxDownAlpha,"BorderR"=>$BoxDownBorderR,"BorderG"=>$BoxDownBorderG,"BorderB"=>$BoxDownBorderB,"BorderAlpha"=>$BoxDownBorderAlpha);
- $MedianSettings = array("R"=>$MedianR,"G"=>$MedianG,"B"=>$MedianB,"Alpha"=>$MedianAlpha);
-
- foreach($Plots as $Key =>$Points)
- {
- $PosArray = $this->pChartObject->scaleComputeY($Points,array("AxisID"=>$AxisID));
-
- $Values = "Open :".$Data["Series"][$SerieOpen]["Data"][$Key]."<BR>Close : ".$Data["Series"][$SerieClose]["Data"][$Key]."<BR>Min : ".$Data["Series"][$SerieMin]["Data"][$Key]."<BR>Max : ".$Data["Series"][$SerieMax]["Data"][$Key]."<BR>";
- if ( $SerieMedian != NULL ) { $Values = $Values."Median : ".$Data["Series"][$SerieMedian]["Data"][$Key]."<BR>"; }
- if ( $PosArray[0] > $PosArray[1] ) { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxUpR,$BoxUpG,$BoxUpB); } else { $ImageMapColor = $this->pChartObject->toHTMLColor($BoxDownR,$BoxDownG,$BoxDownB); }
-
- if ( $Data["Orientation"] == SCALE_POS_LEFTRIGHT )
- {
- if ( $YZero > $this->pChartObject->GraphAreaY2-1 ) { $YZero = $this->pChartObject->GraphAreaY2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaY1+1 ) { $YZero = $this->pChartObject->GraphAreaY1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaX2-$this->pChartObject->GraphAreaX1-$XMargin*2)/$XDivs; }
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($X,$PosArray[2],$X,$PosArray[3],$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$LineOffset,$PosArray[2],$X+$LineOffset,$PosArray[3],$LineSettings);
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2],$ExtremitySettings);
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3],$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]).",".floor($X+$ExtremityLength).",".floor($PosArray[3]),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[2],$X+$ExtremityLength,$PosArray[2]-$ExtremityWidth,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($X-$ExtremityLength,$PosArray[3],$X+$ExtremityLength,$PosArray[3]+$ExtremityWidth,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($X-$ExtremityLength).",".floor($PosArray[2]-$ExtremityWidth).",".floor($X+$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] > $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($X-$BoxOffset,$PosArray[0],$X+$BoxOffset,$PosArray[1],$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($X-$ExtremityLength,$PosArray[4],$X+$ExtremityLength,$PosArray[4],$MedianSettings);
-
- $X = $X + $XStep;
- }
- elseif ( $Data["Orientation"] == SCALE_POS_TOPBOTTOM )
- {
- if ( $YZero > $this->pChartObject->GraphAreaX2-1 ) { $YZero = $this->pChartObject->GraphAreaX2-1; }
- if ( $YZero < $this->pChartObject->GraphAreaX1+1 ) { $YZero = $this->pChartObject->GraphAreaX1+1; }
-
- if ( $XDivs == 0 ) { $XStep = 0; } else { $XStep = ($this->pChartObject->GraphAreaY2-$this->pChartObject->GraphAreaY1-$XMargin*2)/$XDivs; }
-
- if ( $LineWidth == 1 )
- $this->pChartObject->drawLine($PosArray[2],$Y,$PosArray[3],$Y,$LineSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$LineOffset,$PosArray[3],$Y+$LineOffset,$LineSettings);
-
- if ( $ShadowOnBoxesOnly ) { $RestoreShadow = $this->pChartObject->Shadow; $this->pChartObject->Shadow = FALSE; }
-
- if ( $ExtremityWidth == 1 )
- {
- $this->pChartObject->drawLine($PosArray[2],$Y-$ExtremityLength,$PosArray[2],$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawLine($PosArray[3],$Y-$ExtremityLength,$PosArray[3],$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
- else
- {
- $this->pChartObject->drawFilledRectangle($PosArray[2],$Y-$ExtremityLength,$PosArray[2]-$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
- $this->pChartObject->drawFilledRectangle($PosArray[3],$Y-$ExtremityLength,$PosArray[3]+$ExtremityWidth,$Y+$ExtremityLength,$ExtremitySettings);
-
- if ( $RecordImageMap ) { $this->pChartObject->addToImageMap("RECT",floor($PosArray[2]-$ExtremityWidth).",".floor($Y-$ExtremityLength).",".floor($PosArray[3]+$ExtremityWidth).",".floor($Y+$ExtremityLength),$ImageMapColor,$ImageMapTitle,$Values); }
- }
-
- if ( $ShadowOnBoxesOnly ) { $this->pChartObject->Shadow = $RestoreShadow; }
-
- if ( $PosArray[0] < $PosArray[1] )
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxUpSettings);
- else
- $this->pChartObject->drawFilledRectangle($PosArray[0],$Y-$BoxOffset,$PosArray[1],$Y+$BoxOffset,$BoxDownSettings);
-
- if ( isset($PosArray[4]) )
- $this->pChartObject->drawLine($PosArray[4],$Y-$ExtremityLength,$PosArray[4],$Y+$ExtremityLength,$MedianSettings);
-
- $Y = $Y + $XStep;
- }
- }
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/class/pSurface.class.php b/notFinishedCode/web/class/pSurface.class.php
deleted file mode 100644
index f887ac0..0000000
--- a/notFinishedCode/web/class/pSurface.class.php
+++ /dev/null
@@ -1,315 +0,0 @@
-<?php
- /*
- pSurface - class to draw surface charts
-
- Version : 2.1.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 03/08/11
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- define("UNKNOWN" , 0.123456789);
- define("IGNORED" , -1);
-
- define("LABEL_POSITION_LEFT" , 880001);
- define("LABEL_POSITION_RIGHT" , 880002);
- define("LABEL_POSITION_TOP" , 880003);
- define("LABEL_POSITION_BOTTOM" , 880004);
-
- /* pStock class definition */
- class pSurface
- {
- var $pChartObject;
- var $GridSizeX;
- var $GridSizeY;
- var $Points;
-
- /* Class creator */
- function pSurface($pChartObject)
- {
- $this->pChartObject = $pChartObject;
- $this->GridSize = 10;
- $this->Points = "";
- }
-
- /* Define the grid size and initialise the 2D matrix */
- function setGrid($XSize=10,$YSize=10)
- {
- for($X=0; $X<=$XSize; $X++) { for($Y=0; $Y<=$YSize; $Y++) { $this->Points[$X][$Y]=UNKNOWN; } }
-
- $this->GridSizeX = $XSize;
- $this->GridSizeY = $YSize;
- }
-
- /* Add a point on the grid */
- function addPoint($X,$Y,$Value,$Force=TRUE)
- {
- if ( $X < 0 || $X >$this->GridSizeX ) { return(0); }
- if ( $Y < 0 || $Y >$this->GridSizeY ) { return(0); }
-
- if ( $this->Points[$X][$Y] == UNKNOWN || $Force )
- $this->Points[$X][$Y] = $Value;
- elseif ( $this->Points[$X][$Y] == UNKNOWN )
- $this->Points[$X][$Y] = $Value;
- else
- $this->Points[$X][$Y] = ($this->Points[$X][$Y] + $Value)/2;
- }
-
- /* Write the X labels */
- function writeXLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_TOP;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_TOP )
- {
- $YPos = $this->pChartObject->GraphAreaY1 - $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_BOTTOMMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- }
- elseif ( $Position == LABEL_POSITION_BOTTOM )
- {
- $YPos = $this->pChartObject->GraphAreaY2 + $Padding;
- if ($Angle == 0 ) { $Settings["Align"] = TEXT_ALIGN_TOPMIDDLE; }
- if ($Angle != 0 ) { $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- }
- else
- return(-1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- $XPos = floor($X0+$X*$XSize + $XSize/2);
-
- if( $Labels == NULL || !isset($Labels[$X]) )
- $Value = $X+$CountOffset;
- else
- $Value = $Labels[$X];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Write the Y labels */
- function writeYLabels($Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : $this->pChartObject->FontColorR;
- $G = isset($Format["G"]) ? $Format["G"] : $this->pChartObject->FontColorG;
- $B = isset($Format["B"]) ? $Format["B"] : $this->pChartObject->FontColorB;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : $this->pChartObject->FontColorA;
- $Angle = isset($Format["Angle"]) ? $Format["Angle"] : 0;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 5;
- $Position = isset($Format["Position"]) ? $Format["Position"] : LABEL_POSITION_LEFT;
- $Labels = isset($Format["Labels"]) ? $Format["Labels"] : NULL;
- $CountOffset = isset($Format["CountOffset"]) ? $Format["CountOffset"] : 0;
-
- if ( $Labels != NULL && !is_array($Labels) ) { $Label = $Labels; $Labels = ""; $Labels[] = $Label; }
-
- $Y0 = $this->pChartObject->GraphAreaY1;
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Settings = array("Angle"=>$Angle,"R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Position == LABEL_POSITION_LEFT )
- { $XPos = $this->pChartObject->GraphAreaX1 - $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLERIGHT; }
- elseif ( $Position == LABEL_POSITION_RIGHT )
- { $XPos = $this->pChartObject->GraphAreaX2 + $Padding; $Settings["Align"] = TEXT_ALIGN_MIDDLELEFT; }
- else
- return(-1);
-
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $YPos = floor($Y0+$Y*$YSize + $YSize/2);
-
- if( $Labels == NULL || !isset($Labels[$Y]) )
- $Value = $Y+$CountOffset;
- else
- $Value = $Labels[$Y];
-
- $this->pChartObject->drawText($XPos,$YPos,$Value,$Settings);
- }
- }
-
- /* Draw the area arround the specified Threshold */
- function drawContour($Threshold,$Format="")
- {
- $R = isset($Format["R"]) ? $Format["R"] : 0;
- $G = isset($Format["G"]) ? $Format["G"] : 0;
- $B = isset($Format["B"]) ? $Format["B"] : 0;
- $Alpha = isset($Format["Alpha"]) ? $Format["Alpha"] : 100;
- $Ticks = isset($Format["Ticks"]) ? $Format["Ticks"] : 3;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 0;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- $Color = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha,"Ticks"=>$Ticks);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED && $Value >= $Threshold)
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $X > 0 && $this->Points[$X-1][$Y] != UNKNOWN && $this->Points[$X-1][$Y] != IGNORED && $this->Points[$X-1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X1,$Y2,$Color);
- if ( $Y > 0 && $this->Points[$X][$Y-1] != UNKNOWN && $this->Points[$X][$Y-1] != IGNORED && $this->Points[$X][$Y-1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y1,$X2,$Y1,$Color);
- if ( $X < $this->GridSizeX && $this->Points[$X+1][$Y] != UNKNOWN && $this->Points[$X+1][$Y] != IGNORED && $this->Points[$X+1][$Y] < $Threshold)
- $this->pChartObject->drawLine($X2,$Y1,$X2,$Y2,$Color);
- if ( $Y < $this->GridSizeY && $this->Points[$X][$Y+1] != UNKNOWN && $this->Points[$X][$Y+1] != IGNORED && $this->Points[$X][$Y+1] < $Threshold)
- $this->pChartObject->drawLine($X1,$Y2,$X2,$Y2,$Color);
- }
- }
- }
- }
-
- /* Draw the surface chart */
- function drawSurface($Format="")
- {
- $Palette = isset($Format["Palette"]) ? $Format["Palette"] : NULL;
- $ShadeR1 = isset($Format["ShadeR1"]) ? $Format["ShadeR1"] : 77;
- $ShadeG1 = isset($Format["ShadeG1"]) ? $Format["ShadeG1"] : 205;
- $ShadeB1 = isset($Format["ShadeB1"]) ? $Format["ShadeB1"] : 21;
- $ShadeA1 = isset($Format["ShadeA1"]) ? $Format["ShadeA1"] : 40;
- $ShadeR2 = isset($Format["ShadeR2"]) ? $Format["ShadeR2"] : 227;
- $ShadeG2 = isset($Format["ShadeG2"]) ? $Format["ShadeG2"] : 135;
- $ShadeB2 = isset($Format["ShadeB2"]) ? $Format["ShadeB2"] : 61;
- $ShadeA2 = isset($Format["ShadeA2"]) ? $Format["ShadeA2"] : 100;
- $Border = isset($Format["Border"]) ? $Format["Border"] : FALSE;
- $BorderR = isset($Format["BorderR"]) ? $Format["BorderR"] : 0;
- $BorderG = isset($Format["BorderG"]) ? $Format["BorderG"] : 0;
- $BorderB = isset($Format["BorderB"]) ? $Format["BorderB"] : 0;
- $Surrounding = isset($Format["Surrounding"]) ? $Format["Surrounding"] : -1;
- $Padding = isset($Format["Padding"]) ? $Format["Padding"] : 1;
-
- $X0 = $this->pChartObject->GraphAreaX1;
- $Y0 = $this->pChartObject->GraphAreaY1;
- $XSize = ($this->pChartObject->GraphAreaX2 - $this->pChartObject->GraphAreaX1) / ($this->GridSizeX+1);
- $YSize = ($this->pChartObject->GraphAreaY2 - $this->pChartObject->GraphAreaY1) / ($this->GridSizeY+1);
-
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- $Value = $this->Points[$X][$Y];
-
- if ( $Value != UNKNOWN && $Value != IGNORED )
- {
- $X1 = floor($X0+$X*$XSize)+$Padding;
- $Y1 = floor($Y0+$Y*$YSize)+$Padding;
- $X2 = floor($X0+$X*$XSize+$XSize);
- $Y2 = floor($Y0+$Y*$YSize+$YSize);
-
- if ( $Palette != NULL )
- {
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["R"]) ) { $R = $Palette[$Value]["R"]; } else { $R = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["G"]) ) { $G = $Palette[$Value]["G"]; } else { $G = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["B"]) ) { $B = $Palette[$Value]["B"]; } else { $B = 0; }
- if ( isset($Palette[$Value]) && isset($Palette[$Value]["Alpha"]) ) { $Alpha = $Palette[$Value]["Alpha"]; } else { $Alpha = 1000; }
- }
- else
- {
- $R = (($ShadeR2-$ShadeR1)/100)*$Value + $ShadeR1;
- $G = (($ShadeG2-$ShadeG1)/100)*$Value + $ShadeG1;
- $B = (($ShadeB2-$ShadeB1)/100)*$Value + $ShadeB1;
- $Alpha = (($ShadeA2-$ShadeA1)/100)*$Value + $ShadeA1;
- }
-
- $Settings = array("R"=>$R,"G"=>$G,"B"=>$B,"Alpha"=>$Alpha);
- if ( $Border ) { $Settings["BorderR"] = $BorderR; $Settings["BorderG"] = $BorderG; $Settings["BorderB"] = $BorderB; }
- if ( $Surrounding != -1 ) { $Settings["BorderR"] = $R+$Surrounding; $Settings["BorderG"] = $G+$Surrounding; $Settings["BorderB"] = $B+$Surrounding; }
-
- $this->pChartObject->drawFilledRectangle($X1,$Y1,$X2-1,$Y2-1,$Settings);
- }
- }
- }
- }
-
- /* Compute the missing points */
- function computeMissing()
- {
- $Missing = "";
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] == UNKNOWN )
- $Missing[] = $X.",".$Y;
- }
- }
- shuffle($Missing);
-
- foreach($Missing as $Key => $Pos)
- {
- $Pos = preg_split("/,/",$Pos);
- $X = $Pos[0];
- $Y = $Pos[1];
-
- if ( $this->Points[$X][$Y] == UNKNOWN )
- {
- $NearestNeighbor = $this->getNearestNeighbor($X,$Y);
-
- $Value = 0; $Points = 0;
- for($Xi=$X-$NearestNeighbor;$Xi<=$X+$NearestNeighbor;$Xi++)
- {
- for($Yi=$Y-$NearestNeighbor;$Yi<=$Y+$NearestNeighbor;$Yi++)
- {
- if ($Xi >=0 && $Yi >= 0 && $Xi <= $this->GridSizeX && $Yi <= $this->GridSizeY && $this->Points[$Xi][$Yi] != UNKNOWN && $this->Points[$Xi][$Yi] != IGNORED)
- {
- $Value = $Value + $this->Points[$Xi][$Yi]; $Points++;
- }
- }
- }
-
- if ( $Points != 0 ) { $this->Points[$X][$Y] = $Value / $Points; }
- }
- }
- }
-
- /* Return the nearest Neighbor distance of a point */
- function getNearestNeighbor($Xp,$Yp)
- {
- $Nearest = UNKNOWN;
- for($X=0;$X<=$this->GridSizeX;$X++)
- {
- for($Y=0;$Y<=$this->GridSizeY;$Y++)
- {
- if ( $this->Points[$X][$Y] != UNKNOWN && $this->Points[$X][$Y] != IGNORED )
- {
- $DistanceX = max($Xp,$X)-min($Xp,$X);
- $DistanceY = max($Yp,$Y)-min($Yp,$Y);
- $Distance = max($DistanceX,$DistanceY);
- if ( $Distance < $Nearest || $Nearest == UNKNOWN ) { $Nearest = $Distance; }
- }
- }
- }
- return($Nearest);
- }
- }
-?> \ No newline at end of file
diff --git a/notFinishedCode/web/css/Critical.png b/notFinishedCode/web/css/Critical.png
deleted file mode 100644
index e025d19..0000000
--- a/notFinishedCode/web/css/Critical.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/Help.png b/notFinishedCode/web/css/Help.png
deleted file mode 100644
index 42a8f7c..0000000
--- a/notFinishedCode/web/css/Help.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/Info.png b/notFinishedCode/web/css/Info.png
deleted file mode 100644
index 5a7a2c3..0000000
--- a/notFinishedCode/web/css/Info.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/Warning.png b/notFinishedCode/web/css/Warning.png
deleted file mode 100644
index 0af654e..0000000
--- a/notFinishedCode/web/css/Warning.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/chk_off.png b/notFinishedCode/web/css/chk_off.png
deleted file mode 100755
index 1514d51..0000000
--- a/notFinishedCode/web/css/chk_off.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/chk_on.png b/notFinishedCode/web/css/chk_on.png
deleted file mode 100755
index a9925a0..0000000
--- a/notFinishedCode/web/css/chk_on.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/formCSS.css b/notFinishedCode/web/css/formCSS.css
deleted file mode 100644
index f94bd72..0000000
--- a/notFinishedCode/web/css/formCSS.css
+++ /dev/null
@@ -1,46 +0,0 @@
-/* fancyform styles edited by Refik Hadzialic*/
-html
-{
-font-family:Arial,Helvetica,sans-serif;
-}
-.form label
-{
-display:block;
-padding:0.0em;
-padding-left:22px;
-/*background-position:9px center;*/
-background-repeat:no-repeat;
-/*border:1px solid #252525;*/
-clear:both;cursor:pointer;
-
-font-family:Arial,Helvetica,sans-serif;
-font-style:normal;
-font-size:15px;
-}
-
-.checked
-{
-background-color:#fff;
-background-image:url(chk_on.png);
-}
-
-.unchecked
-{
-background-color:#fff;
-background-image:url(chk_off.png);
-}
-
-.leftcol
-{
-float:left;
-clear:left;
-width:30%;
-}
-
-.rightcol
-{
-float:left;
-clear:right;
-width:50%;
-}
-
diff --git a/notFinishedCode/web/css/info_rhombus.png b/notFinishedCode/web/css/info_rhombus.png
deleted file mode 100644
index 036733e..0000000
--- a/notFinishedCode/web/css/info_rhombus.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/information.png b/notFinishedCode/web/css/information.png
deleted file mode 100644
index 93c67f2..0000000
--- a/notFinishedCode/web/css/information.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/link.gif b/notFinishedCode/web/css/link.gif
deleted file mode 100644
index daada04..0000000
--- a/notFinishedCode/web/css/link.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/css/tableCSS.css b/notFinishedCode/web/css/tableCSS.css
deleted file mode 100644
index 2a7f54d..0000000
--- a/notFinishedCode/web/css/tableCSS.css
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -------------------------------------------------------
-Author: Vitaly Friedman but edited by Refik Hadzialic
-Theme: Green Life - A Fresh, Warm and Readable Table
-URL: http://www.alvit.de/vf
--------------------------------------------------------
-*/
-
- html {
- height: 100%;
- }
- #main {
- float: left;
- width: 350px;
- }
- #sidebar
- {
- float: left;
- width: 700px;
- }
- #footer
- {
- position: absolute;
- bottom: 1px;
- padding-top: 0px;
- padding-right: 220px;
- padding-left: 350px;
- border: 1px solid black;
- }
- body {
- background-color: #F0F0F0;
- font-family: verdana, verdana, ariel;
- height: 100%;
- }
-
- a.pChart
- {
- text-decoration: none;
- color: #6A6A6A;
- }
-
- table {
- font: 11px verdana,verdana, arial;
- margin: 0;
- padding: 0;
- border-collapse: collapse;
- text-align: left;
- color: #333;
- line-height: 19px;
- }
-
- caption {
- font-size: 14px;
- font-weight: bold;
- margin-bottom: 20px;
- text-align: left;
- text-transform: uppercase;
- }
-
- td {
- margin: 0;
- padding: 20px 10px;
- border: 1px dotted #f5f5f5;
- }
-
-
- th {
- font-weight: normal;
- text-transform: uppercase;
- }
-
- thead tr th {
- background-color: #575757;
- padding: 20px 10px;
- color: #fff;
- font-weight: bold;
- border-right: 2px solid #333;
- text-transform: uppercase;
- text-align:center;
- }
-
- tfoot tr th, tfoot tr td {
- background-color: transparent;
- padding: 20px 10px;
- color: #ccc;
- border-top: 1px solid #ccc;
- }
-
- tbody tr th {
- padding: 20px 10px;
- border-bottom: 1px dotted #fafafa;
- }
-
- tr {
- background-color: #FBFDF6;
- }
- tr.odd {
- background-color: #EDF7DC;
- }
-
- tr:hover {
- }
-
- tr:hover td, tr:hover td a, tr:hover th a {
- color: #a10000;
- }
-
- td:hover {
- }
-
- tr:hover th a:hover {
- background-color: #F7FBEF;
- border-bottom: 2px solid #86C200;
- }
-
- table a {
- color: #608117;
- background-image: none;
- text-decoration: none;
- border-bottom: 1px dotted #8A8F95;
- padding: 2px;
- padding-right: 12px; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:hover {
- color: #BBC4CD;
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(link.gif) no-repeat 100% 50%;
- }
-
- table a:visited {
- text-decoration: none;
- border-bottom: 1px dotted #333;
- text-decoration: none;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
-
- table a:visited:hover {
- background-image: none;
- text-decoration: none;
- border-bottom: 3px solid #333;
- padding: 2px;
- padding-right: 12px; color: #A2A2A2; background: transparent url(visitedLink.gif) no-repeat 100% 50%;
- }
diff --git a/notFinishedCode/web/css/tooltip.css b/notFinishedCode/web/css/tooltip.css
deleted file mode 100644
index 3a50734..0000000
--- a/notFinishedCode/web/css/tooltip.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.tooltip {
- border-bottom: 1px dotted #000000; color: #000000; outline: none;
- cursor: help; text-decoration: none;
- position: relative;
- }
- .tooltip span {
- margin-left: -999em;
- position: absolute;
- }
- .tooltip:hover span {
- border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
- font-family: Calibri, Tahoma, Geneva, sans-serif;
- position: absolute; left: 1em; top: 2em; z-index: 99;
- margin-left: 0; width: 250px;
- }
- .tooltip:hover img {
- border: 0; margin: -10px 0 0 -55px;
- float: left; position: absolute;
- }
- .tooltip:hover em {
- font-family: Candara, Tahoma, Geneva, sans-serif; font-size: 1.2em; font-weight: bold;
- display: block; padding: 0.2em 0 0.6em 0;
- }
- .classic { padding: 0.8em 1em; }
- .custom { padding: 0.5em 0.8em 0.8em 2em; }
- * html a:hover { background: transparent; }
- .classic {background: #f8ff88; border: 1px solid #FFAD33; }
- .critical { background: #f8ff88; border: 1px solid #FF3334; }
- .help { background: #f8ff88; border: 1px solid #2BB0D7; }
- .info { background: #f8ff88; border: 1px solid #2BB0D7; }
- .warning { background: #f8ff88; border: 1px solid #FFAD33; }
-
diff --git a/notFinishedCode/web/css/visitedLink.gif b/notFinishedCode/web/css/visitedLink.gif
deleted file mode 100644
index f7f1867..0000000
--- a/notFinishedCode/web/css/visitedLink.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/dbClass.py b/notFinishedCode/web/dbClass.py
deleted file mode 100755
index fa04565..0000000
--- a/notFinishedCode/web/dbClass.py
+++ /dev/null
@@ -1,367 +0,0 @@
-import MySQLdb
-import string
-
-class DBMySQLConnection:
- def __init__(self, username, password, host, dbname):
- #initialize at the start all the user parameters
- self.usern = username
- self.passw = password
- self.host = host
- self.db = dbname
- self.connectionCreated = 0
- self.tasksList = list()
- self.lockSet = 0
- global debugMode
- debugMode = 0
-
- def connectDB(self):
- try:
- #try the connection
- self.datBaseConn=MySQLdb.connect(self.host,self.usern, self.passw,self.db)
- self.datBaseConn.paramstyle = 'format'
- self.cur = self.datBaseConn.cursor() #make the cursor, used for sending queries
- self.connectionCreated = 1 #use it as an indicator that the connection was created
- return 1
-
- except MySQLdb.Error, e:
- #if we have an error then try to catch it
- error=str(e)
- if error[1:5] == '1045':
- #wrong username or password
- return 0
- elif error[1:5] == '2002':
- #can't connect to mysql, mysql shutdown or wrong host
- return 2
- else:
- if debugMode == 1:
- print error
- return 3
-
- def closeDBConn(self):
- #close the connection to the database here
- if self.connectionCreated == 1:
- try:
- #close the cursor and then the connection to the DB
- self.cur.close()
- self.datBaseConn.close()
- return 1
- except MySQLdb.Error, e:
- #in case of an error
- if debugMode == 1:
- error = str(e)
- print error
- return 3
- else:
- #I never really had a connection
- return 0
-
- def anyTasksToDo(self):
- #see are there any jobs to be executed and make a list out of it
- if self.connectionCreated == 1:
- try:
- self.cur.execute("SELECT * FROM TempTaskTable")
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- columns.append(str(0))
- self.tasksList.append(columns)
- return 1
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def cleanTasksList(self):
- if self.connectionCreated == 1:
- del self.tasksList[:]
- return 1
- else:
- return 0
-
- def removeTaskFromList(self, taskID):
- #remove only one task from the task list
- if self.connectionCreated == 1:
- for index in range(len(self.tasksList)):
- item = self.tasksList[index]
- if item[0] == str(taskID):
- #self.tasksList.remove(index)
- #print 'found it'
- del self.tasksList[index]
- return 1 #deleted taskID
-
- return 2 #didn't find that taskID
- else:
- return 0
-
- def deviceAddress(self,deviceName):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT `deviceIP`,`number` FROM DeviceAddressTable where `deviceName`=%s", deviceName)
- #self.cur.execute()
- output = self.cur.fetchall() #get the mysql response
- #parse the output from the mysql by creating a list
- #with lists where each attribue(column) gets independent
- #element of the list
-
-
-
-# for record in output:
-# columns = list()
-# for entry in record:
-# columns.append(str(entry))
-# columns.append(str(0))
-# self.tasksList.append(columns)
-
-
-
-
- deviceAddr = ''
- for record in output:
- columns = list()
- for entry in record:
- columns.append(str(entry))
- deviceAddr = columns
-
- return deviceAddr
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1146':
- return 2 #the table doesn't exist
- if debugMode == 1:
- print str(e)
- return 3 #some error happened
- else:
- return 0 #I am not connected
-
- def updateTaskResult(self, taskID, status):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE TaskTable SET status=%i WHERE taskID=%i"%(int(status), int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #update successful
- else:
- return 4 #taskID doesn't exist
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def updatePingResult(self, taskNo, sipServer, sipGate, sipLoc, gsmBox1, gsmBox2):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("UPDATE PingResultTable SET sipServer=%i, sipGate=%i, sipLoc=%i, gsmBox1=%i, gsmBox2=%i WHERE taskNo=%i"%(int(sipServer), int(sipGate), int(sipLoc), int(gsmBox1), int(gsmBox2), int(taskNo)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 0:
- return 1 #ping table updated
- else:
- return 4 #the taskNo didn't exist
-
-
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def deleteTempTask(self, taskID):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("DELETE FROM TempTaskTable WHERE taskID=%i"%(int(taskID)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
-
- if successful == 1:
- return 1 #deleted it
- else:
- return 4 #that taskID didn't exist or something else
- except MySQLdb.Error, e:
- if debugMode == 1:
- print str(e)
- return 3
-
- else:
- return 0
-
- def addResult(self, taskID, result):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("INSERT INTO ResultTable(taskID, result) VALUES ('%i', '%i')"%(int(taskID), int(result)))
- output = self.cur.fetchone()
-
- if debugMode == 1:
- print output
- if successful == 1:
- return 1 #successfully added the result
- else:
- return 4 #hmmm
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
-
- def insertTaskIn2(self, fromDevice, toDevice, taskNo):
- if self.connectionCreated == 1:
- try:
- #I used here a transaction since I want the mysql to execute a few commands and tell me was it successful rather than to execute some and there happens a mistake and one part is updated and the other isn't
- newQuery = "START TRANSACTION; INSERT INTO `TaskTable` (`taskNo`, `from`, `to`, `status`) VALUES ('" + str(taskNo) + "', '" + str(fromDevice) + "', '" + str(toDevice) +"', '0'); SELECT @taskID := LAST_INSERT_ID(); INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES (@taskID, '" + str(taskNo) + "', '" + str(fromDevice) + "', '"+ str(toDevice) + "'); COMMIT;"
-
-
- successful = self.cur.execute(newQuery)
- output = self.cur.fetchone()
-
-
- #without closing the cursos we get a MySQL error, the mistake is an internal mistak of the MySQLdb python library
- # self.cur.close()
- # self.cur = self.datBaseConn.cursor()
-
- while self.cur.nextset() is not None: pass
-
- newQuery1 = 'SELECT taskID FROM `TempTaskTable` ORDER BY taskID DESC LIMIT 1';
- successful1 = self.cur.execute(newQuery1)
- record = self.cur.fetchone()
-
- columns = list()
- for entry in record:
- columns.append(str(entry))
-
- columns.append(str(taskNo))
- columns.append(str(fromDevice))
- columns.append(str(toDevice))
- columns.append(str(0))
- self.tasksList.append(columns)
-
- return 1
-
- if debugMode == 1:
- print output
-
- except MySQLdb.Error, e:
- error = str(e)
- if debugMode == 1:
- print str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- return 3
- else:
- return 0
-
-
- def searchTaskList(self, fromDevice, toDevice):
- if self.connectionCreated == 1:
- for item in self.tasksList:
- taskID = item[0]
- taskNo = item[1]
- callFrom = item[2]
- callTo = item [3]
- if callFrom == fromDevice and callTo == toDevice:
- return 1 #that task was found
- return 2 #that task wasn't found
- else:
- return 0
-
- def lockMutex(self, seconds):
- if self.connectionCreated == 1:
- try:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #resource is free which means software is not started yet
- successful = self.cur.execute("SELECT GET_LOCK('SoftwareStarted', %i)"%(int(seconds)))
-
- output1 = self.cur.fetchone()
- if output1[0] == 1:
- #I got the lock now
- self.lockSet = 1
- return 1
- elif output1[0] == 0:
- return 7 #if the attempt timed out (for example, because another client has previously locked the name)
- else:
- return 6 # if an error occurred (such as running out of memory or the thread was killed with
- elif output[0] ==0:
- return 4 #software is already running and somebody has allocated the mutex
- else:
- #means some not so good bug
- return 5 # if an error occurs (such as an incorrect argument).
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
-
- def releaseMutex(self):
- if self.connectionCreated == 1:
- try:
- if self.lockSet == 1:
- successful = self.cur.execute("SELECT IS_FREE_LOCK('SoftwareStarted')")
- output = self.cur.fetchone()
- if output[0] == 1:
- #the lock seems to be free
- self.lockSet = 0
- return 4
-
- elif output[0] == 0:
-
- #try to release the lock
- successful = self.cur.execute("SELECT RELEASE_LOCK('SoftwareStarted')")
- output1 = self.cur.fetchone()
- self.lockSet = 0
- if output1[0] == 1:
- #the lock was released successfully
- return 1
-
- elif output1[0] == 0:
- # if the lock was not established by this thread (in which case the lock is not released)
- return 5
- else:
- # and NULL if the named lock did not exist. The lock does not exist if it was never obtained by a call to GET_LOCK() or if it has previously been released.
- return 6
- else:
- #some serious problem
- #and NULL if an error occurs (such as an incorrect argument).
- return 5
-
- else:
- return 7 #the lock wasn't set
-
- except MySQLdb.Error, e:
- error = str(e)
- if error[1:5] == '1062':
- return 2 #duplicate entry for the key
- if debugMode == 1:
- print str(e)
- return 3
- else:
- return 0
diff --git a/notFinishedCode/web/delayedLoading.js b/notFinishedCode/web/delayedLoading.js
deleted file mode 100644
index b76bbe3..0000000
--- a/notFinishedCode/web/delayedLoading.js
+++ /dev/null
@@ -1,228 +0,0 @@
- /*
- delayedLoader - JS to delay out of sight pictures rendering
-
- Version : 2.0.2
- Made by : Jean-Damien POGOLOTTI
- Last Update : 10/12/10
-
- This file can be distributed under the license you can find at :
-
- http://www.pchart.net/license
-
- You can find the whole class documentation on the pChart web site.
- */
-
- var PictureCache = new Array();
- var PictureCount = 0;
- var WaitPicture = "wait.gif";
- var DivClassName = "pChart";
- var DefaultWidth = 70;
- var DefaultHeight = 230;
- var DefaultAlt = "pChart rendered picture";
-
-
- /* Do the DOM document processing */
- function loaderInit()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- /* Enumerate the tags */
- Links = document.getElementsByTagName("a");
- for (i = 0; i < Links.length; i++)
- {
- className = Links[i].className;
-
- if ( className == DivClassName )
- {
- ObjectWidth = Links[i].getAttribute("data-pchart-width");
- ObjectHeight = Links[i].getAttribute("data-pchart-height");
- ObjectID = Links[i].id;
- ObjectTop = Links[i].offsetTop;
- ObjectURL = Links[i].href;
- ObjectAlt = Links[i].getAttribute("data-pchart-alt");
-
- if ( ObjectWidth == null ) { ObjectWidth = DefaultWidth; }
- if ( ObjectHeight == null ) { ObjectHeight = DefaultHeight; }
- if ( ObjectAlt == null ) { ObjectAlt = DefaultAlt; }
-
- if (ObjectID == "") { ObjectID = "pChart-"+i; Links[i].id = ObjectID; }
-
- PictureCache[PictureCount] = new Array();
- PictureCache[PictureCount][0] = ObjectID;
- PictureCache[PictureCount][1] = ObjectTop;
- PictureCache[PictureCount][2] = ObjectURL;
- PictureCache[PictureCount][3] = ObjectAlt;
- PictureCache[PictureCount][4] = ObjectWidth;
- PictureCache[PictureCount][5] = ObjectHeight;
-
- PictureCount++;
- }
- }
-
- /* Replace the <A> tags by <DIV> ones and attach the loader */
- for(i=0;i<PictureCount;i++)
- {
- ATag = document.getElementById(PictureCache[i][0]);
- DivTag = document.createElement("div");
- DivID = "pChart-Div"+i; PictureCache[i][0] = DivID;
-
- DivTag.setAttribute("id", DivID);
- DivTag.style.width = PictureCache[i][4];
- DivTag.style.height = PictureCache[i][5];
- DivTag.style.backgroundColor = "#E0E0E0";
-
- DivTag2 = ATag.parentNode.replaceChild(DivTag, ATag);
-
- DivTop = DivTag.offsetTop;
- PictureCache[i][1] = DivTop;
-
- changeOpac(50, i);
- changeContent("<img src='"+WaitPicture+"' width=24 height=24 alt=''/>",i);
-
- if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); }
- }
- }
-
- /* Replace the contents of the delayed loading DIV */
- function changeContent(html, id)
- { DivID = PictureCache[id][0]; document.getElementById(DivID).innerHTML = html; }
-
- /* Trigger the picture rendering when the pChart DIV became visible */
- function triggerVisible(PictureID)
- {
- if ( !PictureCache[PictureID][6] == true )
- {
- PictureCache[PictureID][6] = true;
- ajaxRender(PictureCache[PictureID][2],PictureID);
- }
- }
-
- /* Catch the navigator window scrolling event */
- function scrollEvent()
- {
- WindowSize = getWindowSize();
- WindowHeight = WindowSize[1];
- Offset = getScrollXY();
- HeightOffset = Offset[1];
-
- for(i=0;i<=PictureCount-1;i++) { if ( HeightOffset + WindowHeight > PictureCache[i][1] ) { triggerVisible(i); } }
- }
-
- /* Cross browser X/Y window offset gatherer */
- function getScrollXY()
- {
- var scrOfX = 0, scrOfY = 0;
-
- if( typeof( window.pageYOffset ) == 'number' )
- { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; }
- else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
- { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; }
- else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
- { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; }
-
- return [ scrOfX, scrOfY ];
- }
-
- /* Cross browser X/Y window size gatherer */
- function getWindowSize()
- {
- var myWidth = 0, myHeight = 0;
-
- if( typeof( window.innerWidth ) == 'number' )
- { myWidth = window.innerWidth; myHeight = window.innerHeight; }
- else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
- { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
- else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
- { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
-
- return [ myWidth, myHeight ];
- }
-
- /* Cross browser alpha transparency changer */
- function changeOpac(opacity, id)
- {
- DivID = PictureCache[id][0];
-
- var object = document.getElementById(DivID).style;
- object.opacity = (opacity / 100);
- object.MozOpacity = (opacity / 100);
- object.KhtmlOpacity = (opacity / 100);
- object.filter = "alpha(opacity=" + opacity + ")";
- }
-
- /* Shade in-out function */
- function opacity(id, opacStart, opacEnd, millisec)
- {
- var speed = Math.round(millisec / 100);
- var timer = 0;
-
- if(opacStart > opacEnd)
- {
- for(i = opacStart; i >= opacEnd; i--)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- else if(opacStart < opacEnd)
- {
- for(i = opacStart; i <= opacEnd; i++)
- {
- setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
- timer++;
- }
- }
- }
-
- /* Start the loader */
- function StartFade(PictureID)
- {
- Loader = new Image();
- URL = PictureCache[PictureID][2];
- Loader.src = URL;
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* check the picture loading status */
- function CheckLoadingStatus(PictureID)
- {
- DivID = PictureCache[PictureID][0];
- URL = PictureCache[PictureID][2];
- Alt = PictureCache[PictureID][3];
-
- if ( Loader.complete == true )
- {
- changeOpac(0, PictureID);
- HTMLResult = "<center><img src='" + URL + "' alt='"+Alt+"'/></center>";
- document.getElementById(DivID).innerHTML = HTMLResult;
-
- opacity(PictureID,0,100,100);
- }
- else
- setTimeout("CheckLoadingStatus("+PictureID+")", 200);
- }
-
- /* Compute the pChart picture in background */
- function ajaxRender(URL,PictureID)
- {
- var xmlhttp=false;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
- @end @*/
-
- if (!xmlhttp && typeof XMLHttpRequest!='undefined')
- { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false; } }
-
- if (!xmlhttp && window.createRequest)
- { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp=false; } }
-
- xmlhttp.open("GET", URL,true);
-
- xmlhttp.onreadystatechange=function()
- { if (xmlhttp.readyState==4) { StartFade(PictureID); } }
- xmlhttp.send(null)
- }
diff --git a/notFinishedCode/web/example.drawFilledCircle.php b/notFinishedCode/web/example.drawFilledCircle.php
deleted file mode 100644
index cbf0a22..0000000
--- a/notFinishedCode/web/example.drawFilledCircle.php
+++ /dev/null
@@ -1,275 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("class/pData.class.php");
-
- include("class/pDraw.class.php");
- include("class/pImage.class.php");
-
- //test case php defined for defining the colors and what's OK and what's wrong!
- include 'testCase.php';
-
- //Triangle function used for defining a triangle, used later to draw a triangle polygon!
- function Triangle($x,$y)
- {
- $Bx = $x - 7;
- $By = $y + 18;
- $Cx = $x + 7;
- $Cy = $y + 18;
- return array($x,$y,$Bx,$By,$Cx,$Cy);
- }
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array(66,100,50,39,28),"Hits");
- $MyData->setAxisName(0,"Network operability");
- $MyData->addPoints(array("GSM University","GSM External","SIP","University SIP","Landline"),"Networks");
- $MyData->setSerieDescription("Networks","Networks");
- $MyData->setAbscissa("Networks");
-
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,430,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
-// $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,430,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,429,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Network Test Results - UNI FREIBURG",array("R"=>255,"G"=>255,"B"=>255));
-
-
-
- //CONNECTIONS
- /* BTS PICTURE INTERNAL CONNECTIONS */
- $myPicture->drawLine(80,170,185,230,$BTS1PING); //BTS1 PING
- $myPicture->drawLine(75,225,185,225,$BTS2PING); //BTS2 PING
- $myPicture->drawLine(75,288,185,220,$BTS2PING); //BTS3 PING
- /*GSMBOX LINES */
- $myPicture->drawLine(181,65,299,150); //BTS3 PING
- $myPicture->drawLine(250,65,308,150); //BTS3 PING
- $myPicture->drawLine(347,65,309,150); //BTS3 PING
- $myPicture->drawLine(410,70,316,150); //BTS3 PING
-
- //Arrow for GSM-Box
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(303,209,303,161,$arrowSettings);
-
- //Arrow for Landline
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(313,210,393,171,$arrowSettings);
-
- //Arrow for University telephone network
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(303,298,303,239,$arrowSettings);
-
- //SIP
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(316,220,393,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(346,218,"SIP",$TextSettings);
-
- //IAX
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(192,220,297,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(235,218,"IAX",$TextSettings);
- //######################################
-
- //BTS1
- $Points = Triangle(74,155);
- $myPicture->drawPolygon($Points, $BTS1COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,169,"nanoBTS0",$TextSettings);
- //##################################
-
- //BTS2
- $Points = Triangle(74,215);
- $myPicture->drawPolygon($Points, $BTS2COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,229,"nanoBTS1",$TextSettings);
- //###################################
-
- //BTS3
- $Points = Triangle(74,275);
- $myPicture->drawPolygon($Points, $BTS3COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,289,"nanoBTS3",$TextSettings);
- //###################################
-
-
-
- //LsfKs-Asterisk
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(295,210,$LSFKSCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(270,257," LsfKs-Asterisk",$TextSettings);
- //###############################
-
-
- //Open BSC
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,210,$GSMINTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(155,275," OpenBSC \r\n LCR \r\n Asterisk",$TextSettings);
- //###############################
-
-
- //E-plus
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,50,$GSMEECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(171,40,"E-Plus",$TextSettings);
- //###############################
-
-
- //Vodaphone
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(231,50,$GSMEVCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(218,40,"Vodafone",$TextSettings);
- //###############################
-
-
- //T-mobile
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(336,50,$GSMETCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(330,40,"T-Mobile",$TextSettings);
- //###############################
-
-
- //O2
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(396,50,$GSMEOCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(404,40,"02",$TextSettings);
- //###############################
-
-
- //GSMBOX
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(293,140,$GSMEXTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,157,"GSM-Box",$TextSettings);
- //###############################
-
-
- //LANDLINE
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,147,$LANDLINECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(388,137,"Landline",$TextSettings);
- //###############################
-
-
- //University SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(283,297,$UNISIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,365,"University telephone network",$TextSettings);
- //###############################
-
-
- //SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,208,$SIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(399,256,"SIP",$TextSettings);
- //###############################
-
-
-
- //A BIT OF STATISTICS
- /* Draw the chart scale */
- $myPicture->setGraphArea(520,50,685,220);
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
-
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
-
- //DATE AND TEST NUMBER
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>9);
- $myPicture->drawText(460,425,"Task #:32432 07.09.2011 21:19:00",$TextSettings);
-
-
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("example.drawFilledCircle.png");
-?>
diff --git a/notFinishedCode/web/fonts/Bedizen.ttf b/notFinishedCode/web/fonts/Bedizen.ttf
deleted file mode 100644
index d115733..0000000
--- a/notFinishedCode/web/fonts/Bedizen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/Forgotte.ttf b/notFinishedCode/web/fonts/Forgotte.ttf
deleted file mode 100644
index a2f7f4a..0000000
--- a/notFinishedCode/web/fonts/Forgotte.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/GeosansLight.ttf b/notFinishedCode/web/fonts/GeosansLight.ttf
deleted file mode 100644
index 055932a..0000000
--- a/notFinishedCode/web/fonts/GeosansLight.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/MankSans.ttf b/notFinishedCode/web/fonts/MankSans.ttf
deleted file mode 100644
index a6146a9..0000000
--- a/notFinishedCode/web/fonts/MankSans.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/Silkscreen.ttf b/notFinishedCode/web/fonts/Silkscreen.ttf
deleted file mode 100644
index ae4425d..0000000
--- a/notFinishedCode/web/fonts/Silkscreen.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/advent_light.ttf b/notFinishedCode/web/fonts/advent_light.ttf
deleted file mode 100644
index 514030a..0000000
--- a/notFinishedCode/web/fonts/advent_light.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/calibri.ttf b/notFinishedCode/web/fonts/calibri.ttf
deleted file mode 100644
index 8b6e3c9..0000000
--- a/notFinishedCode/web/fonts/calibri.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/pf_arma_five.ttf b/notFinishedCode/web/fonts/pf_arma_five.ttf
deleted file mode 100644
index db04ec3..0000000
--- a/notFinishedCode/web/fonts/pf_arma_five.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/fonts/verdana.ttf b/notFinishedCode/web/fonts/verdana.ttf
deleted file mode 100644
index 5a059d2..0000000
--- a/notFinishedCode/web/fonts/verdana.ttf
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/blackberry_dunno.png b/notFinishedCode/web/icons/blackberry_dunno.png
deleted file mode 100644
index 4ee9ee0..0000000
--- a/notFinishedCode/web/icons/blackberry_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/blackberry_fail.png b/notFinishedCode/web/icons/blackberry_fail.png
deleted file mode 100644
index 650d942..0000000
--- a/notFinishedCode/web/icons/blackberry_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/blackberry_work.png b/notFinishedCode/web/icons/blackberry_work.png
deleted file mode 100644
index 3fe1d09..0000000
--- a/notFinishedCode/web/icons/blackberry_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/box_dunno.png b/notFinishedCode/web/icons/box_dunno.png
deleted file mode 100644
index 744ec7a..0000000
--- a/notFinishedCode/web/icons/box_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/box_fail.png b/notFinishedCode/web/icons/box_fail.png
deleted file mode 100644
index 3398e05..0000000
--- a/notFinishedCode/web/icons/box_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/box_work.png b/notFinishedCode/web/icons/box_work.png
deleted file mode 100644
index 666fced..0000000
--- a/notFinishedCode/web/icons/box_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/server_dunno.png b/notFinishedCode/web/icons/server_dunno.png
deleted file mode 100644
index 588514e..0000000
--- a/notFinishedCode/web/icons/server_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/server_fail.png b/notFinishedCode/web/icons/server_fail.png
deleted file mode 100644
index a699864..0000000
--- a/notFinishedCode/web/icons/server_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/server_work.png b/notFinishedCode/web/icons/server_work.png
deleted file mode 100644
index 210979f..0000000
--- a/notFinishedCode/web/icons/server_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/sip_dunno.png b/notFinishedCode/web/icons/sip_dunno.png
deleted file mode 100644
index e494a61..0000000
--- a/notFinishedCode/web/icons/sip_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/sip_fail.png b/notFinishedCode/web/icons/sip_fail.png
deleted file mode 100644
index 02d7029..0000000
--- a/notFinishedCode/web/icons/sip_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/sip_work.png b/notFinishedCode/web/icons/sip_work.png
deleted file mode 100644
index 5774487..0000000
--- a/notFinishedCode/web/icons/sip_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/telephone_dunno.png b/notFinishedCode/web/icons/telephone_dunno.png
deleted file mode 100644
index 2ac9dd6..0000000
--- a/notFinishedCode/web/icons/telephone_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/telephone_fail.png b/notFinishedCode/web/icons/telephone_fail.png
deleted file mode 100644
index 222050d..0000000
--- a/notFinishedCode/web/icons/telephone_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/telephone_work.png b/notFinishedCode/web/icons/telephone_work.png
deleted file mode 100644
index 5086dd2..0000000
--- a/notFinishedCode/web/icons/telephone_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/uni-network_dunno.png b/notFinishedCode/web/icons/uni-network_dunno.png
deleted file mode 100644
index 7d99f0e..0000000
--- a/notFinishedCode/web/icons/uni-network_dunno.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/uni-network_fail.png b/notFinishedCode/web/icons/uni-network_fail.png
deleted file mode 100644
index 3da0a70..0000000
--- a/notFinishedCode/web/icons/uni-network_fail.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/icons/uni-network_work.png b/notFinishedCode/web/icons/uni-network_work.png
deleted file mode 100644
index fdc7989..0000000
--- a/notFinishedCode/web/icons/uni-network_work.png
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/insertData.php b/notFinishedCode/web/insertData.php
deleted file mode 100644
index fe77587..0000000
--- a/notFinishedCode/web/insertData.php
+++ /dev/null
@@ -1,81 +0,0 @@
-<?
-/*
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-*/
-function getNewTaskNo()
-{
- $sql = "SELECT MAX(taskNo) FROM TaskTable"; //the SQL command to find the max value in taskNo
- $execute = mysql_query($sql); //execute the command
- $result = mysql_result($execute,0);
-
- if ($result == NULL)
- {
- // there is no single job in the table
- return 1;
- }
- else
- {
- //increment the new taskNo
- return $result + 1;
- }
-}
-
-function insertTask($taskNo, $from, $to)
-{
- $trans = "START TRANSACTION;";
- $execute = mysql_query($trans);
-
- if ($execute!=1)
- {
- return 3; //could not start transaction
- }
-
- $sql = "INSERT INTO `TaskTable` (`taskNo`, `from`, `to`) VALUES($taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TaskTable
-
- if ($execute == 1) //I added to the DB the task!
- {
- $sql = "SELECT @taskID := LAST_INSERT_ID()"; //find the last taskId
- $execute = mysql_query($sql);
- $taskId = mysql_result($execute,0); //I have the last taskId which I will use to insert it into TempTaskTable
-
- $sql = "INSERT INTO `TempTaskTable` (`taskID`, `taskNo`, `from`, `to`) VALUES($taskId, $taskNo, '$from', '$to')";
- $execute = mysql_query($sql); //insert new task into the TempTaskTable
-
- if ($execute == 1)
- {
- $trans = "COMMIT;"; //command to end the transaction
- $execute = mysql_query($trans);//finish the transaction
-
- if ($execute == 1)
- {
- return 1; //task was successfuly added to both tables, TaskTable and TempTaskTable
- }
- else
- {
- return 0; //nothing was added to the tables
- }
- }
- else
- {
- return 2; //the task is in the TaskTable but not in TempTaskTable
- }
- }
- else
- {
- return 0; //nothing was added to the table, some error occured
- }
-}
- //include 'post.php';
-?>
diff --git a/notFinishedCode/web/loader.gif b/notFinishedCode/web/loader.gif
deleted file mode 100644
index 240d4e1..0000000
--- a/notFinishedCode/web/loader.gif
+++ /dev/null
Binary files differ
diff --git a/notFinishedCode/web/mutex1.php b/notFinishedCode/web/mutex1.php
deleted file mode 100644
index 7d7c14a..0000000
--- a/notFinishedCode/web/mutex1.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
-include 'insertData.php'; //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
- include 'post.php'; // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
-
- if($taskAmount!=0)
- {
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
-
- exec("/usr/bin/python /var/www/server1.py > /dev/null2>&1 &"); //start the software in background and don't wait for any output
- sleep(1); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
-
- fwrite($fp, "START TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
- //test finished successfully
- $GSMRZ1 = 0;
- $GSMRZ2 = 10;
- $GSMRZ3 = 10;
-
- $SIP = 4;
- $UNISIP = -1;
- $LANDLINE = 0;
- $LSFKS = 1;
-
- $GSMEE = 10;
- $GSMEV = 10;
- $GSMET = -10;
- $GSMEO = 10;
-
- $SIPP = 0;
- $LANDLINEP = 0;
- $UNISIPP = 1;
- $NANOBTS1P = 1;
- $NANOBTS2P = 1;
- /////////// end of test!
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer">Number of tasks: '.$taskAmount.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- echo '<tr>
- <th scope = "row" id = "r100"> SIP</th>
- <th scope = "row" id = "r100">GSM1 </th>
- <td> '. $received . ' </td>
- <td> 200</td>
- </tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/notFinishedCode/web/mutexFunctions.php b/notFinishedCode/web/mutexFunctions.php
deleted file mode 100644
index af45610..0000000
--- a/notFinishedCode/web/mutexFunctions.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?
-//Mutex functions
-function Lock($lockName,$seconds)
-{
- $sql = "SELECT GET_LOCK('$lockName', $seconds);";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function IsLocked($lockName)
-{
- $sql = "SELECT IS_FREE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-
-function ReleaseLock($lockName)
-{
- $sql = "SELECT RELEASE_LOCK('$lockName');";
- $res = mysql_query($sql);
- if (!$res)
- {
- die('Could not query:' . mysql_error());
- }
- return mysql_result($res,0);
-}
-//End of mutex functions
-?>
diff --git a/notFinishedCode/web/networkResult.php b/notFinishedCode/web/networkResult.php
deleted file mode 100644
index 512fe86..0000000
--- a/notFinishedCode/web/networkResult.php
+++ /dev/null
@@ -1,307 +0,0 @@
-<?php
- /* CAT:Drawing */
-
- /* pChart library inclusions */
- include("class/pData.class.php");
-
- include("class/pDraw.class.php");
- include("class/pImage.class.php");
-
- include("class/pSurface.class.php");
- //test case php defined for defining the colors and what's OK and what's wrong!
- include 'testCase.php';
-
- //Triangle function used for defining a triangle, used later to draw a triangle polygon!
- function Triangle($x,$y)
- {
- $Bx = $x - 7;
- $By = $y + 18;
- $Cx = $x + 7;
- $Cy = $y + 18;
- return array($x,$y,$Bx,$By,$Cx,$Cy);
- }
-
- /* Create and populate the pData object */
- $MyData = new pData();
- $MyData->addPoints(array($GSMINTPercent,$GSMEXTPercent,$SIPPercent,$UNISIPPercent,$LANDLINEPercent),"Hits");
- $MyData->setAxisName(0,"Network operability");
- $MyData->addPoints(array("GSM University","GSM External","SIP","Uni.Tel.network","Landline"),"Networks");
- $MyData->setSerieDescription("Networks","Networks");
- $MyData->setAbscissa("Networks");
-
-
- /* Create the pChart object */
- $myPicture = new pImage(700,430,$MyData);
-
- /* Draw the background */
- $Settings = array("R"=>170, "G"=>183, "B"=>87, "Dash"=>1, "DashR"=>190, "DashG"=>203, "DashB"=>107);
-// $myPicture->drawFilledRectangle(0,0,700,230,$Settings);
-
- /* Overlay with a gradient */
- $Settings = array("StartR"=>219, "StartG"=>231, "StartB"=>139, "EndR"=>1, "EndG"=>138, "EndB"=>68, "Alpha"=>50);
- $myPicture->drawGradientArea(0,0,700,430,DIRECTION_VERTICAL,$Settings);
- $myPicture->drawGradientArea(0,0,700,20,DIRECTION_VERTICAL,array("StartR"=>0,"StartG"=>0,"StartB"=>0,"EndR"=>50,"EndG"=>50,"EndB"=>50,"Alpha"=>80));
-
- /* Add a border to the picture */
- $myPicture->drawRectangle(0,0,699,429,array("R"=>0,"G"=>0,"B"=>0));
-
- /* Write the picture title */
- $myPicture->setFontProperties(array("FontName"=>"fonts/Silkscreen.ttf","FontSize"=>6));
- $myPicture->drawText(10,13,"Network Test Results - UNI FREIBURG",array("R"=>255,"G"=>255,"B"=>255));
-
-
-
- //CONNECTIONS
- /* BTS PICTURE INTERNAL CONNECTIONS */
- $myPicture->drawLine(80,170,185,230,$BTS1PING); //BTS1 PING
- $myPicture->drawLine(75,225,185,225,$BTS2PING); //BTS2 PING
- $myPicture->drawLine(75,288,185,220,$BTS2PING); //BTS3 PING
- /*GSMBOX LINES */
- $myPicture->drawLine(181,65,299,150); //BTS3 PING
- $myPicture->drawLine(250,65,308,150); //BTS3 PING
- $myPicture->drawLine(347,65,309,150); //BTS3 PING
- $myPicture->drawLine(410,70,316,150); //BTS3 PING
-
- //Arrow for GSM-Box
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(303,209,303,161,$arrowSettings);
-
- //Arrow for Landline
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1);
- $myPicture->drawArrow(313,210,393,171,$arrowSettings);
-
- //Arrow for University telephone network
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(303,298,303,239,$arrowSettings);
-
- //SIP
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(316,220,393,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(346,218,"SIP",$TextSettings);
-
- //IAX
- $arrowSettings = array("FillR"=>2.5,"FillG"=>2.5,"FillB"=>2.5,"Ticks"=>1, "TwoHeads"=>TRUE);
- $myPicture->drawArrow(192,220,297,220,$arrowSettings);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(235,218,"IAX",$TextSettings);
- //######################################
-
- //BTS1
- $Points = Triangle(74,155);
- $myPicture->drawPolygon($Points, $BTS1COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,169,"nanoBTS0",$TextSettings);
- //##################################
-
- //BTS2
- $Points = Triangle(74,215);
- $myPicture->drawPolygon($Points, $BTS2COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,229,"nanoBTS1",$TextSettings);
- //###################################
-
- //BTS3
- $Points = Triangle(74,275);
- $myPicture->drawPolygon($Points, $BTS3COL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(10,289,"nanoBTS3",$TextSettings);
- //###################################
-
-
-
- //LsfKs-Asterisk
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(295,210,$LSFKSCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(270,257," LsfKs-Asterisk",$TextSettings);
- //###############################
-
-
- //Open BSC
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,210,$GSMINTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(155,275," OpenBSC \r\n LCR \r\n Asterisk",$TextSettings);
- //###############################
-
-
- //E-plus
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(171,50,$GSMEECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(171,40,"E-Plus",$TextSettings);
- //###############################
-
-
- //Vodaphone
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(231,50,$GSMEVCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(218,40,"Vodafone",$TextSettings);
- //###############################
-
-
- //T-mobile
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(336,50,$GSMETCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(330,40,"T-Mobile",$TextSettings);
- //###############################
-
-
- //O2
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(396,50,$GSMEOCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(404,40,"02",$TextSettings);
- //###############################
-
-
- //GSMBOX
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(293,140,$GSMEXTCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,157,"GSM-Box",$TextSettings);
- //###############################
-
-
- //LANDLINE
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,147,$LANDLINECOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(388,137,"Landline",$TextSettings);
- //###############################
-
-
- //University SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(283,297,$UNISIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(238,365,"University telephone network",$TextSettings);
- //###############################
-
-
- //SIP
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>20));
- /* Draw a PNG object */
- $myPicture->drawFromPNG(393,208,$SIPCOL);
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("DrawBox"=>TRUE,"BoxRounded"=>TRUE,"R"=>0,"G"=>0,"B"=>0,"Angle"=>0,"FontSize"=>7);
- $myPicture->drawText(399,256,"SIP",$TextSettings);
- //###############################
-
- //PING RESULTS
- //START ############################################
- $myPicture->setGraphArea(530,280,660,290);
-
- // Create the surface object
- $mySurface = new pSurface($myPicture);
-
- // Set the grid size
- $mySurface->setGrid(4,0);
-
- $mySurface->writeXLabels(array("Angle"=>45,"Labels"=>array("SIP","Landline","Uni. Telephone","nanoBTS 1","nanoBTS 2")));
- $mySurface->writeYLabels(array("Labels"=>array("Ping")));
-
- $Palette = array(1=>array("R"=>0,"G"=>255,"B"=>0, "Alpha"=>40),
- 0=>array("R"=>255,"G"=>0,"B"=>1, "Alpha"=>40));
-
- $mySurface->addPoint(0,0,$SIPP);
- $mySurface->addPoint(1,0,$LANDLINEP);
- $mySurface->addPoint(2,0,$UNISIPP);
- $mySurface->addPoint(3,0,$NANOBTS1P);
- $mySurface->addPoint(4,0,$NANOBTS2P);
-
- // Draw the surface chart
- $mySurface->drawSurface(array("Border"=>TRUE,"Surrounding"=>40,"Palette"=>$Palette));
-
-
- //A BIT OF STATISTICS
- /* Draw the chart scale */
- $myPicture->setGraphArea(520,50,685,220);
- $AxisBoundaries = array(0=>array("Min"=>0,"Max"=>100));
-
- $myPicture->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"Pos"=>SCALE_POS_TOPBOTTOM,"Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$AxisBoundaries));
-
- /* Turn on shadow computing */
- $myPicture->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
-
- /* Create the per bar palette */
- $Palette = array("0"=>array("R"=>188,"G"=>224,"B"=>46,"Alpha"=>100),
- "1"=>array("R"=>224,"G"=>100,"B"=>46,"Alpha"=>100),
- "2"=>array("R"=>224,"G"=>214,"B"=>46,"Alpha"=>100),
- "3"=>array("R"=>46,"G"=>151,"B"=>224,"Alpha"=>100),
- "4"=>array("R"=>224,"G"=>176,"B"=>46,"Alpha"=>100));
-
-
-/* $Palette = array("1"=>array("R"=>91,"G"=>184,"B"=>202,"Alpha"=>100),
- "2"=>array("R"=>166,"G"=>218,"B"=>215,"Alpha"=>100),
- "3"=>array("R"=>223,"G"=>227,"B"=>203,"Alpha"=>100),
- "0"=>array("R"=>114,"G"=>176,"B"=>180,"Alpha"=>100),
- "4"=>array("R"=>241,"G"=>233,"B"=>214,"Alpha"=>100));
-*/
- /* Draw the chart */
- $myPicture->drawBarChart(array("DisplayPos"=>LABEL_POS_INSIDE,"DisplayValues"=>TRUE,"Rounded"=>TRUE,"Surrounding"=>30,"OverrideColors"=>$Palette));
- //############################################STATISTICS
-
- //DATE AND TEST NUMBER
- /* Write some text */
- $myPicture->setFontProperties(array("FontName"=>"fonts/verdana.ttf","FontSize"=>7));
- $TextSettings = array("BoxRounded"=>TRUE,"R"=>255,"G"=>255,"B"=>255,"Angle"=>0,"FontSize"=>9);
- $myPicture->drawText(460,425,"Task #:32432 07.09.2011 21:19:00",$TextSettings);
- //###########################################################
-
-
-
- /* Render the picture (choose the best way) */
- $myPicture->autoOutput("example.drawFilledCircle.png");
-?>
diff --git a/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php b/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
deleted file mode 100644
index 0b5be2b..0000000
--- a/notFinishedCode/web/newModiefiedFilesOnServer/mutexTry.php
+++ /dev/null
@@ -1,349 +0,0 @@
-<html>
-<head>
-<script src='delayedLoading.js' type="text/javascript"></script>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Network test live results!</title>
-<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
-</head>
-<body background = "Images/BackGround.jpg" onscroll="scrollEvent();" onload="loaderInit();">
-<div>
-<?php
-
-//Connection stuff
-//DB
-$dbhost = 'localhost';
-$dbuser = 'root';
-$dbpass = 'randompasswordSQL';
-
-//Socket
-$port = 34500;
-$ip = 'localhost';
-
-$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
-
-$dbname = 'gsmselftesting';
-mysql_select_db($dbname);
-//End of connection stuff
-include 'mutexFunctions.php'; //mutex functions, isfree, lock and release
-include 'insertData.php'; //insert task functions
-
-$nameOfLock = 'Webpage';
-$timeToKeepTheMutex = 360;
-
-$locking = isLocked($nameOfLock);//Check if the webpage is already open
-
-if ($locking == '1') //1 means nobody is on the website
-{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
- if ($lockMe == '1') //1 means a successful lock
- {
-
- include 'post.php'; // read posted data and add them to the database
-// echo 'WE had errors: '. $errorAdding;
- //stuff to do here
- //check if the software is running!
- $softwareLock = 'SoftwareStarted';
-
- //$taskAmount= 1
- if($taskAmount != 0)
- {
- $softwareRunning = isLocked($softwareLock);
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(2500);
- fclose($startApp);
- }
-
- //exec("/usr/bin/python /var/www/tricode/gsmselftest2.py > /dev/null 2>&1 &"); //start the software in background and don't wait for any output
- sleep(6); //sleep half second till the software starts
- //the software should be running already and set the lock, now we test it and then connect to it!
-
- $softwareRunning1 = isLocked($softwareLock);
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
-
- fwrite($fp, "START TEST");
-
- //fwrite($fp, "SMART TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- //test finished successfully
-
- $GSMRZ1 = 0;
- $GSMRZ2 = 0;
- $GSMRZ3 = 0;
-
- $SIP = 0;
- $UNISIP = 0;
- $LANDLINE = 0;
- $LSFKS = 0;
-
- $GSMEE = 0;
- $GSMEV = 0;
- $GSMET = 0;
- $GSMEO = 0;
-
- $SIPP = 2;
- $LANDLINEP = 2;
- $UNISIPP = 2;
- $NANOBTS1P = 2;
- $NANOBTS2P = 2;
- /////////// end of test!
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
-
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P&TASKID=$taskNo' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer"><font size ="2" face="Century Gothic" color="white"> Number of tasks: '.$taskAmount.'<br> Number of tasks tried to add to the DB but had an error: '. $errorAdding .'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- $received = str_replace("\n",'',$received);
- $dataForTable = explode("|", $received);
- $callFrom = strtoupper($dataForTable[1]);
- $callTo = strtoupper($dataForTable[2]);
- $testStatus = strtoupper($dataForTable[3]);
- //ADD HERE THE TEST CASES BUT MAKE IT INSIDE OF A FILE (e.q. include 'testing.php'); HERE I PUT IT ONLY FOR EXAMPLE PURPOSES!
-
- if($callFrom == 'SIP' || $callTo == 'SIP')
- {
- if($testStatus == '200')
- {
- $SIP = 1;
- $SIPP = 1;
- $LSFKS = 1;
-
- }
- }
- if($callFrom == 'GSMRZ1' || $callTo == 'GSMRZ1')
- {
- if($testStatus == '200')
- {
- $GSMRZ1 = 1;
- }
- if($testStatus != '200' && $GSMRZ1<1)
- {
- $GSMRZ1 = -1;
- }
- }
- if($callFrom == 'GSMRZ2' || $callTo == 'GSMRZ2')
- {
- if($testStatus == '200')
- {
- $GSMRZ2 = 1;
- $NANOBTS1P = 1;
- }
- if($testStatus != '200' && $GSMRZ2<1)
- {
- $GSMRZ2 = -1;
- $NANOBTS1P = 0;
- }
-
- }
- if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
- {
- if($testStatus == '200')
- {
- $GSMRZ3 = 1;
- $NANOBTS2P = 1;
- }
- if($testStatus != '200' && $GSMRZ3 < 1)
- {
- $GSMRZ3 = -1;
- $NANOBTS2P = 0;
- }
- }
- if($callFrom == 'GSMEXT.O2' || $callTo == 'GSMEXT.O2')
- {
- if($testStatus == '200')
- {
- $GSMEO = 1;
- $LSFKS = 1;
- }
- if($testStatus != '200' && $GSMEO < 1)
- {
- $GSMEO = -1;
- }
- }
- if($callFrom == 'GSMEXT.VODA' || $callTo == 'GSMEXT.VODA')
- {
- if($testStatus == '200')
- {
- $GSMEV = 1;
- $LSFKS = 1;
- }
- if($testStatus != '200' && $GSMEV < 1)
- {
- $GSMEV = -1;
- }
- }
- if($callFrom == 'GSMEXT.EPLUS' || $callTo == 'GSMEXT.EPLUS')
- {
- if($testStatus == '200')
- {
- $GSMEE = 1;
- $LSFKS = 1;
- }
- if($testStatus != '200' && $GSMEE < 1)
- {
- $GSMEE = -1;
- }
- }
- if($callFrom == 'GSMEXT.TM' || $callTo == 'GSMEXT.TM')
- {
- if($testStatus == '200')
- {
- $GSMET = 1;
- $LSFKS = 1;
- }
- if($testStatus != '200' && $GSMET < 1)
- {
- $GSMET = -1;
- }
- }
- if($callFrom == 'LANDLINE' || $callTo == 'LANDLINE')
- {
- if($testStatus == '200')
- {
- $LANDLINEP = 1;
- $LANDLINE = 1;
- $LSFKS = 1;
- }
- if($testStatus != '200' && $LANDLINE<1)
- {
- $LANDLINE = -1;
- }
- }
- if($callFrom == 'UNISIP' || $callTo == 'UNISIP')
- {
- if($testStatus == '200')
- {
- $UNISIPP = 1;
- $UNISIP = 1;
-
- }
- if($testStatus != '200' && $UNISIP<1)
- {
- $UNISIP = -1;
- }
- }
- //END OF TEST CASE EXAMPLE
- echo '<tr>
- <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
- <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
- <td> ' . $dataForTable[4] . ' </td>
- <td>' . $dataForTable[3] . '</td>
- </tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
-
- //$release = ReleaseLock($nameOfLock);
- //echo $release . "<br>";
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
- // # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
-}
-elseif ($locking == '0') //0 means somebody is already on the web site
-{
- echo 'Somebody is using the web site already!' . "<br>";
-}
-else
-{
- echo 'We have some serious error here';
-}
-?>
-</div>
-</body>
-</html>
-
diff --git a/notFinishedCode/web/post.php b/notFinishedCode/web/post.php
deleted file mode 100644
index 56d0c24..0000000
--- a/notFinishedCode/web/post.php
+++ /dev/null
@@ -1,470 +0,0 @@
-<?
-$sipgsmrz1 = $_REQUEST["sip_gsmrz1"]; //SIP to GSMRZ1
-$sipgsmrz2 = $_REQUEST["sip_gsmrz2"]; //SIP to GSMRZ2
-$sipgsmrz3 = $_REQUEST["sip_gsmrz3"]; //SIP to GSMRZ3
-
-$sipland = $_REQUEST["sip_landln"]; //SIP to landline
-$sipuniv = $_REQUEST["sip_sipuniv"]; //SIP to University
-
-$gsmrzsip1 = $_REQUEST["gsmrz1_sip"]; //GSMRZ1 to SIP
-$gsmrzsip2 = $_REQUEST["gsmrz2_sip"]; //GSMRZ2 to SIP
-$gsmrzsip3 = $_REQUEST["gsmrz3_sip"]; //GSMRZ3 to SIP
-
-
-$gsm2gsm12 = $_REQUEST["gsmrz1_gsmrz2"]; //GSMRZ1 to GSMRZ2
-$gsm2gsm13 = $_REQUEST["gsmrz1_gsmrz3"]; //GSMRZ1 to GSMRZ3
-$gsm2gsm23 = $_REQUEST["gsmrz2_gsmrz3"]; //GSMRZ2 to GSMRZ3
-
-$landsip = $_REQUEST["landline_sip"]; //Landline to SIP
-
-$landgsmrz1 = $_REQUEST["landline_gsmrz1"]; //Landline to GSMRZ1
-$landgsmrz2 = $_REQUEST["landline_gsmrz2"]; //Landline to GSMRZ1
-$landgsmrz3 = $_REQUEST["landline_gsmrz3"]; //Landline to GSMRZ1
-
-//Add allso for external GSM
-$gsmrz1gsmee = $_REQUEST["gsmrz1_gsmee"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmev = $_REQUEST["gsmrz1_gsmev"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmet = $_REQUEST["gsmrz1_gsmet"]; //GSMRZ1 to E-Plus
-$gsmrz1gsmeo = $_REQUEST["gsmrz1_gsmeo"]; //GSMRZ1 to E-Plus
-
-
-$gsmrz2gsmee = $_REQUEST["gsmrz2_gsmee"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmev = $_REQUEST["gsmrz2_gsmev"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmet = $_REQUEST["gsmrz2_gsmet"]; //GSMRZ2 to E-Plus
-$gsmrz2gsmeo = $_REQUEST["gsmrz2_gsmeo"]; //GSMRZ2 to E-Plus
-
-
-$gsmrz3gsmee = $_REQUEST["gsmrz3_gsmee"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmev = $_REQUEST["gsmrz3_gsmev"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmet = $_REQUEST["gsmrz3_gsmet"]; //GSMRZ3 to E-Plus
-$gsmrz3gsmeo = $_REQUEST["gsmrz3_gsmeo"]; //GSMRZ3 to E-Plus
-
-
-$unisipgsmee = $_REQUEST["unisip_gsmee"]; //GSMRZ3 to E-Plus
-$unisipgsmev = $_REQUEST["unisip_gsmev"]; //GSMRZ3 to E-Plus
-$unisipgsmet = $_REQUEST["unisip_gsmet"]; //GSMRZ3 to E-Plus
-$unisipgsmeo = $_REQUEST["unisip_gsmeo"]; //GSMRZ3 to E-Plus
-//############################################################
-$taskNo = getNewTaskNo();
-$errorAdding = 0;
-$taskAmount = 0;
-
-/*function insertTask($me,$mb,$md)
-{
- echo $me.$mb.$md;
- return 1;
-}*/
-
-if($sipgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrzsip3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipland == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','landline');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($sipuniv == 'on')
-{
- $taskAdded = insertTask($taskNo,'sip','unisip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm12 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm13 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsm2gsm23 == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landsip == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','sip');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz1 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ1');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz2 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($landgsmrz3 == 'on')
-{
- $taskAdded = insertTask($taskNo,'landline','GSMRZ3');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz1gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz1gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ1','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz2gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz2gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ2','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-if($gsmrz3gsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($gsmrz3gsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'GSMRZ3','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-
-
-
-if($unisipgsmee == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Eplus');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmev == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Voda');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmet == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.Tm');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-if($unisipgsmeo == 'on')
-{
- $taskAdded = insertTask($taskNo,'unisip','GSMExt.O2');
- if($taskAdded != 1)
- {
- $errorAdding = 1;
- }
- if($taskAdded == 1)
- {
- $taskAmount++;
- }
-}
-
-?>
diff --git a/notFinishedCode/web/server1.py b/notFinishedCode/web/server1.py
deleted file mode 100644
index 42cc376..0000000
--- a/notFinishedCode/web/server1.py
+++ /dev/null
@@ -1,81 +0,0 @@
-import ServerClassSoftware
-import random
-from time import sleep
-import dbClass
-import sys
-
-##########
-#from Tkinter import *
-
-#root = Tk()
-#root.title('Message')
-#Message(root, text="Text Text Text Text Text Text Text Text Text Text "
-# "Text Text Text Text Text Text Text Text Text Text Text Text Text "
-# "Text Text Text Text Text Text Text Text Text Text Text Text Text "
-# "Text Text Text Text Text Text Text Text Text Text Text Text Text "
-# "Text Text Text Text Text Text Text Text Text Text Text Text Text "
-# "Text Text Text Text .", bg='royalblue',
-# fg='ivory', relief=GROOVE).pack(padx=10, pady=10)
-#root.mainloop()
-##########
-
-user = 'root'
-passw = 'randompasswordSQL'
-host = 'localhost'
-dbname = 'gsmselftesting'
-
-xy = dbClass.DBMySQLConnection(user, passw, host, dbname)
-print "connected to the DB ", xy.connectDB()
-print 'mutex says' , xy.lockMutex(100)
-
-server = ServerClassSoftware.ServerHandlerSoftware(34500) #define the port
-tried = server.openSocket(2)
-
-def closeFunction(dbConn,serverSocket):
- print 'Release the mutex: ' + str(dbConn.releaseMutex())
- print 'Close the DB Connection: ' + str(dbConn.closeDBConn())
- del dbConn
- del serverSocket
- sys.exit()
-
-
-if tried == 'TIMEOUT':
- closeFunction(xy,server)
-
-test = server.receiveData(2)
-if test == 'TIMEOUT':
- closeFunction(xy,server)
-
-print test
-if test == 'START TEST':
- server.sendData('CONFIRM\n')
- print 'TEST STARTED'
-rndNum = random.randint(3,7)
-for x in range(0,rndNum):
- sleep(5)
- print x
- if server.sendData('SOME TEST WAS OK ' + str(x) + chr(10)) == 1:
- print 'data sent successfully'
-
- test = server.receiveData(2)
- if test == 'TIMEOUT':
- closeFunction(xy,server)
- print test
- if test == 'CONTINUE':
- print 'continue test'
-
-if server.connected == 1:
- server.sendData('TEST DONE\n')
-test = server.receiveData(2)
-if test == 'TIMEOUT':
- closeFunction(xy,server)
-
-if test == 'DISCONNECT':
- close = server.closeConnection()
- if close == 1:
- print 'Closed connection successfully'
-
-print 'release mutex says ', xy.releaseMutex()
-print xy.closeDBConn()
-del xy
-del server
diff --git a/notFinishedCode/web/socket2.php b/notFinishedCode/web/socket2.php
deleted file mode 100644
index 475063a..0000000
--- a/notFinishedCode/web/socket2.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?
- $ip = "localhost";
- $port = 34500;
- exec("/usr/bin/python /var/www/server1.py > /dev/null 2>&1 &");
-// echo $result . '<br>';
-// echo str_repeat("\n",7024);
-// flush();
-
- sleep(2);
-
- $fp = fsockopen($ip, $port, $errno, $error, 5);
-
- if (!$fp)
- {
- printf('ERROR');
- }
- else
- {
- socket_set_timeout( $fp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($fp, "START TEST"); //send command to start the tests
-
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128);
- if ($received == "CONFIRM\n")
- {
- //echo 'CONFIRM CONNECTION <br>';
- echo '<table summary = "Submitted table designs">
- <caption> Table concept for our results </caption>
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
- }
- elseif ($received == "TEST DONE\n")
- {
- echo '</tbody></table>';
- //echo 'DISCONNECT <br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT');
- break;
- }
- else
- {
- echo '<tr>
-<th scope = "row" id = "r100"> SIP</th>
-<th scope = "row" id = "r100">GSM1 </th>
-<td> '. $received . ' </td>
-<td> 200</td>
-</tr>';
- //echo $received . '<br>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE");
- }
- }
- }
- fclose($fp);
- }
-?>
diff --git a/notFinishedCode/web/startTest.php b/notFinishedCode/web/startTest.php
deleted file mode 100644
index 01c7267..0000000
--- a/notFinishedCode/web/startTest.php
+++ /dev/null
@@ -1,438 +0,0 @@
-<html>
-<head>
-<!--ADD HERE ALL THE NEEDED META DATA -->
-<title>Uni-Freiburg Network test</title>
-<link rel="stylesheet" href="css/formCSS.css" type="text/css" media="screen">
-<link rel="stylesheet" href="css/tooltip.css" type="text/css" media="screen">
-</head>
-
-<body>
-<div>
-Please select the type of the test you would like to perform or manually choose your tests! Then please press the submit button!
-</div>
-<div>
-<form>
- <a class="tooltip" href="#">
- <input type=button value="Simple test" onClick="simpleTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Simple test</em>
- Press simple test if you want to test the network for</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Smart test" onClick="smartTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Smart test</em>
- This is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Full test" onClick="fullTest()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Full test</em>
- Press full test if you want to test every part of the university network. To execute this test the highest amount of time will be required, however this test produces the highest amount of information!</span>
- </a>
-
- <a class="tooltip" href="#">
- <input type=button value="Deselect all values" onClick="deselectAll()">
- <span class="custom warning">
- <img src="css/Info.png" alt="Warning" height="48" width="48" />
- <em>Deselect all</em>
- Press deselect all if you want to deselect all the values you have selected to be executed for the test!</span>
- </a>
-</form>
-</div>
-<div class='section form'>
-<form name="testForm" form action="mutex1.php" method="POST">
- <div class='leftcol'>
- <label><input type="checkbox" name='sip_gsmrz1'> SIP to RZ-GSM 1</label>
- <label><input type="checkbox" name="sip_gsmrz2"> SIP to RZ-GSM 2</label>
- <label><input type="checkbox" name="sip_gsmrz3"> SIP to RZ-GSM 3</label>
-
- <label><input type="checkbox" name="sip_landln"> SIP to Landline</label>
- <label><input type="checkbox" name="sip_sipuniv"> SIP to Uni.telephone</label>
-
-
- <label><input type="checkbox" name="gsmrz1_sip"> RZ-GSM 1 to SIP</label>
- <label><input type="checkbox" name="gsmrz2_sip"> RZ-GSM 2 to SIP</label>
- <label><input type="checkbox" name="gsmrz3_sip"> RZ-GSM 3 to SIP</label>
-
- <label><input type="checkbox" name="gsmrz1_gsmrz2"> RZ-GSM 1 to RZ-GSM 2</label>
- <label><input type="checkbox" name="gsmrz1_gsmrz3"> RZ-GSM 1 to RZ-GSM 3</label>
- <label><input type="checkbox" name="gsmrz2_gsmrz3"> RZ-GSM 2 to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="landline_sip"> Landline to SIP </label>
-
- <label><input type="checkbox" name="landline_gsmrz1"> Landline to RZ-GSM 1</label>
- <label><input type="checkbox" name="landline_gsmrz2"> Landline to RZ-GSM 2</label>
- <label><input type="checkbox" name="landline_gsmrz3"> Landline to RZ-GSM 3</label>
-
-
- <label><input type="checkbox" name="gsmrz1_gsmee"> RZ-GSM 1 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz1_gsmev"> RZ-GSM 1 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz1_gsmet"> RZ-GSM 1 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz1_gsmeo"> RZ-GSM 1 to O2</label>
-
- <label><input type="checkbox" name="gsmrz2_gsmee"> RZ-GSM 2 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz2_gsmev"> RZ-GSM 2 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz2_gsmet"> RZ-GSM 2 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz2_gsmeo"> RZ-GSM 2 to O2</label>
-
- <label><input type="checkbox" name="gsmrz3_gsmee"> RZ-GSM 3 to E-Plus</label>
- <label><input type="checkbox" name="gsmrz3_gsmev"> RZ-GSM 3 to Vodaphone</label>
- <label><input type="checkbox" name="gsmrz3_gsmet"> RZ-GSM 3 to T-Mobile</label>
- <label><input type="checkbox" name="gsmrz3_gsmeo"> RZ-GSM 3 to O2</label>
-
-
- <label><input type="checkbox" name="unisip_gsmee"> Uni.telephone to E-Plus</label>
- <label><input type="checkbox" name="unisip_gsmev"> Uni.telephone to Vodaphone</label>
- <label><input type="checkbox" name="unisip_gsmet"> Uni.telephone to T-Mobile</label>
- <label><input type="checkbox" name="unisip_gsmeo"> Uni.telephone to O2</label>
-
-
-
-
- <input type=SUBMIT value="Submit">
-
- </div>
-</form>
-</div>
-
-<script type="text/javascript" src="mootools.js"></script>
-<script type="text/javascript" src="moocheck.js"></script>
-<script type = "text/javascript">
-function simpleTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the simple test should do!
-}
-
-function fullTest()
-{
- document.testForm.sip_gsmrz1.checked=true
- document.testForm.sip_gsmrz2.checked=true
- document.testForm.sip_gsmrz3.checked=true
-
- document.testForm.sip_landln.checked=true
- document.testForm.sip_sipuniv.checked=true
-
- document.testForm.gsmrz1_gsmrz2.checked=true
- document.testForm.gsmrz1_gsmrz3.checked=true
- document.testForm.gsmrz2_gsmrz3.checked=true
-
- document.testForm.gsmrz1_sip.checked=true
- document.testForm.gsmrz2_sip.checked=true
- document.testForm.gsmrz3_sip.checked=true
-
- document.testForm.landline_sip.checked=true
-
- document.testForm.landline_gsmrz1.checked=true
- document.testForm.landline_gsmrz2.checked=true
- document.testForm.landline_gsmrz3.checked=true
-
- document.testForm.gsmrz1_gsmee.checked=true
- document.testForm.gsmrz1_gsmev.checked=true
- document.testForm.gsmrz1_gsmet.checked=true
- document.testForm.gsmrz1_gsmeo.checked=true
-
- document.testForm.gsmrz2_gsmee.checked=true
- document.testForm.gsmrz2_gsmev.checked=true
- document.testForm.gsmrz2_gsmet.checked=true
- document.testForm.gsmrz2_gsmeo.checked=true
-
- document.testForm.gsmrz3_gsmee.checked=true
- document.testForm.gsmrz3_gsmev.checked=true
- document.testForm.gsmrz3_gsmet.checked=true
- document.testForm.gsmrz3_gsmeo.checked=true
-
- document.testForm.unisip_gsmee.checked=true
- document.testForm.unisip_gsmev.checked=true
- document.testForm.unisip_gsmet.checked=true
- document.testForm.unisip_gsmeo.checked=true
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-
-function smartTest()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
- //add here what the smart test should do
-}
-
-function deselectAll()
-{
- document.testForm.sip_gsmrz1.checked=false
- document.testForm.sip_gsmrz2.checked=false
- document.testForm.sip_gsmrz3.checked=false
-
- document.testForm.sip_landln.checked=false
- document.testForm.sip_sipuniv.checked=false
-
- document.testForm.gsmrz1_gsmrz2.checked=false
- document.testForm.gsmrz1_gsmrz3.checked=false
- document.testForm.gsmrz2_gsmrz3.checked=false
-
- document.testForm.gsmrz1_sip.checked=false
- document.testForm.gsmrz2_sip.checked=false
- document.testForm.gsmrz3_sip.checked=false
-
- document.testForm.landline_sip.checked=false
-
- document.testForm.landline_gsmrz1.checked=false
- document.testForm.landline_gsmrz2.checked=false
- document.testForm.landline_gsmrz3.checked=false
-
- document.testForm.gsmrz1_gsmee.checked=false
- document.testForm.gsmrz1_gsmev.checked=false
- document.testForm.gsmrz1_gsmet.checked=false
- document.testForm.gsmrz1_gsmeo.checked=false
-
- document.testForm.gsmrz2_gsmee.checked=false
- document.testForm.gsmrz2_gsmev.checked=false
- document.testForm.gsmrz2_gsmet.checked=false
- document.testForm.gsmrz2_gsmeo.checked=false
-
- document.testForm.gsmrz3_gsmee.checked=false
- document.testForm.gsmrz3_gsmev.checked=false
- document.testForm.gsmrz3_gsmet.checked=false
- document.testForm.gsmrz3_gsmeo.checked=false
-
-
- document.testForm.unisip_gsmee.checked=false
- document.testForm.unisip_gsmev.checked=false
- document.testForm.unisip_gsmet.checked=false
- document.testForm.unisip_gsmeo.checked=false
-
- FancyForm.update(document.testForm.sip_gsmrz1.getParent())
- FancyForm.update(document.testForm.sip_gsmrz2.getParent())
- FancyForm.update(document.testForm.sip_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.sip_landln.getParent())
- FancyForm.update(document.testForm.sip_sipuniv.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_sip.getParent())
- FancyForm.update(document.testForm.gsmrz2_sip.getParent())
- FancyForm.update(document.testForm.gsmrz3_sip.getParent())
-
- FancyForm.update(document.testForm.gsmrz1_gsmrz2.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmrz3.getParent())
-
- FancyForm.update(document.testForm.landline_sip.getParent())
- FancyForm.update(document.testForm.landline_gsmrz1.getParent())
- FancyForm.update(document.testForm.landline_gsmrz2.getParent())
- FancyForm.update(document.testForm.landline_gsmrz3.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz1_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz2_gsmeo.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmee.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmev.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmet.getParent())
- FancyForm.update(document.testForm.gsmrz3_gsmeo.getParent())
- FancyForm.update(document.testForm.unisip_gsmee.getParent())
- FancyForm.update(document.testForm.unisip_gsmev.getParent())
- FancyForm.update(document.testForm.unisip_gsmet.getParent())
- FancyForm.update(document.testForm.unisip_gsmeo.getParent())
-
-}
-</script>
-</body>
-</html>
diff --git a/notFinishedCode/web/testCase.php b/notFinishedCode/web/testCase.php
deleted file mode 100644
index 88de683..0000000
--- a/notFinishedCode/web/testCase.php
+++ /dev/null
@@ -1,200 +0,0 @@
-<?
- //color definitions
- $colorDunno = array("R"=>216,"G"=>166,"B"=>14,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorFail = array("R"=>255, "G"=>25, "B"=>25,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
- $colorWork = array("R"=>150,"G"=>215,"B"=>121,"BorderR"=>0,"BorderG"=>0,"BorderB"=>0);
-
-
-$GSMRZ1 = $_GET['RZ1'];
-$GSMRZ2 = $_GET['RZ2'];
-$GSMRZ3 = $_GET['RZ3'];
-
-$SIP = $_GET['S'];
-$UNISIP = $_GET['US'];
-$LANDLINE = $_GET['LL'];
-$LSFKS = $_GET['LS'];
-
-$GSMEE = $_GET['EE'];
-$GSMEV = $_GET['EV'];
-$GSMET = $_GET['ET'];
-$GSMEO = $_GET['EO'];
-
-
-$SIPP = $_GET['SP'];
-$LANDLINEP = $_GET['SGP'];
-$UNISIPP = $_GET['USP'];
-$NANOBTS1P = $_GET['NBP1'];
-$NANOBTS2P = $_GET['NBP2'];
-/*
-$GSMRZ1 = 0;
-$GSMRZ2 = -10;
-$GSMRZ3 = 10;
-
-$SIP = 4;
-$UNISIP = 0;
-$LANDLINE = 1;
-$LSFKS = 1;
-
-$GSMEE = 10;
-$GSMEV = 10;
-$GSMET = -10;
-$GSMEO = 10;
-*/
-$GSMEXTCOL = 'icons/box_dunno.png';
-$GSMINTCOL = "icons/server_dunno.png";
-$LSFKSCOL = "icons/server_dunno.png";
-
-$SIPCOL = 'icons/sip_dunno';
-$UNISIPCOL = 'icons/uni-network_dunno.png';
-$LANDLINECOL = 'icons/telephone_dunno.png';
-
-$BTS1COL = $colorDunno;
-$BTS2COL = $colorDunno;
-$BTS3COL = $colorDunno;
-
-$GSMEECOL = 'icons/blackberry_dunno.png';
-$GSMEVCOL = 'icons/blackberry_dunno.png';
-$GSMETCOL = 'icons/blackberry_dunno.png';
-$GSMEOCOL = 'icons/blackberry_dunno.png';
-
-
-$BTS1PING = array("R"=>255,"G"=>0,"B"=>0); //put here the color :)
-$BTS1PING["Ticks"]=2;
-$BTS1PING["Weight"]=0;
-
-$BTS2PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS2PING["Ticks"]=2;
-$BTS2PING["Weight"]=0;
-
-$BTS3PING = array("R"=>255,"G"=>0,"B"=>0);
-$BTS3PING["Ticks"]=2;
-$BTS3PING["Weight"]=0;
-
-if ($GSMRZ1 > 0 || $GSMRZ2 > 0 || $GSMRZ3 > 0)
-{
- $GSMINTCOL = 'icons/server_work.png';
-}
-elseif($GSMRZ1 < 0 || $GSMRZ2 < 0 || $GSMRZ3 < 0)
-{
- $GSMINTCOL = 'icons/server_fail.png';
-}
-
-if($LANDLINE>0)
-{
- $LANDLINECOL = 'icons/telephone_work.png';
-}
-elseif($LANDLINE<0)
-{
- $LANDLINECOL = 'icons/telephone_fail.png';
-}
-
-if($LSFKS>0)
-{
- $LSFKSCOL = 'icons/server_work.png';
-}
-elseif($LSFKS<0)
-{
- $LSFKSCOL = 'icons/server_fail.png';
-}
-
-if($SIP>0)
-{
- $SIPCOL = 'icons/sip_work.png';
-}
-elseif($SIP<0)
-{
- $SIPCOL = 'icons/sip_fail.png';
-}
-
-if($UNISIP > 0)
-{
- $UNISIPCOL = 'icons/uni-network_work.png';
-}
-elseif($UNISIP < 0)
-{
- $UNISIPCOL = 'icons/uni-network_fail.png';
-}
-
-if($GSMEE > 0 || $GSMEV > 0 || $GSMET > 0 || $GSMEO > 0)
-{
- $GSMEXTCOL = 'icons/box_work.png';
-}
-elseif($GSMEE < 0 || $GSMEV < 0 || $GSMET < 0 || $GSMEO < 0)
-{
- $GSMEXTCOL = 'icons/box_fail.png';
-}
-
-if($GSMRZ1 > 0)
-{
- $BTS1COL = $colorWork;
-}
-elseif($GSMRZ1 < 0)
-{
- $BTS1COL = $colorFail;
-}
-
-if($GSMRZ2 > 0)
-{
- $BTS2COL = $colorWork;
-}
-elseif($GSMRZ2 < 0)
-{
- $BTS2COL = $colorFail;
-}
-
-if($GSMRZ3 > 0)
-{
- $BTS3COL = $colorWork;
-}
-elseif($GSMRZ3 < 0)
-{
- $BTS3COL = $colorFail;
-}
-
-if($GSMEE > 0)
-{
- $GSMEECOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEE < 0)
-{
- $GSMEECOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEV > 0)
-{
- $GSMEVCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEV < 0)
-{
- $GSMEVCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMET > 0)
-{
- $GSMETCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMET < 0)
-{
- $GSMETCOL = 'icons/blackberry_fail.png';
-}
-
-if($GSMEO > 0)
-{
- $GSMEOCOL = 'icons/blackberry_work.png';
-}
-elseif($GSMEO < 0)
-{
- $GSMEOCOL = 'icons/blackberry_fail.png';
-}
-
-//NETWORK OPERABILITY
-$GSMINTPercent = rand(1,100);
-$GSMEXTPercent = rand(1,100);
-$SIPPercent = rand(1,100);
-$UNISIPPercent = rand(1,100);
-$LANDLINEPercent = rand(1,100);
-
-//print_r($GSMINTCOL);
-// add here to set the color for each node after the test ;)
-// setNode(0,$SIPCOL) or something as that :)
-?>
diff --git a/notFinishedCode/web/wait.gif b/notFinishedCode/web/wait.gif
deleted file mode 100644
index 1c72ebb..0000000
--- a/notFinishedCode/web/wait.gif
+++ /dev/null
Binary files differ